From 5fededb16da81db88b56db663466d968471df973 Mon Sep 17 00:00:00 2001 From: Luke Karrys Date: Mon, 19 Sep 2022 15:31:44 -0700 Subject: [PATCH 1/2] fix: workspace can use only latest ci version of root --- lib/config.js | 10 +++++++--- test/apply/engines.js | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/lib/config.js b/lib/config.js index e5871f49..837a454d 100644 --- a/lib/config.js +++ b/lib/config.js @@ -216,9 +216,13 @@ const getFullConfig = async ({ } if (pkgConfig.ciVersions) { - const versions = pkgConfig.ciVersions - const defaultVersions = defaultConfig.ciVersions - const parsed = parseCIVersions(versions === 'latest' ? defaultVersions.slice(-1) : versions) + let versions = pkgConfig.ciVersions + if (versions === 'latest') { + const defaultVersions = [rootPkgConfig, defaultConfig].find(c => Array.isArray(c.ciVersions)) + versions = defaultVersions.ciVersions.slice(-1) + } + + const parsed = parseCIVersions(versions) derived.ciVersions = parsed.targets derived.engines = pkgConfig.engines || parsed.engines } diff --git a/test/apply/engines.js b/test/apply/engines.js index 2dab6b72..b8fb823f 100644 --- a/test/apply/engines.js +++ b/test/apply/engines.js @@ -33,3 +33,37 @@ t.test('latest ci versions', async (t) => { const pkg = await s.readJson('package.json') t.equal(pkg.engines.node, '>=18.0.0') }) + +t.test('latest ci versions in workspace', async (t) => { + const s = await setup(t, { + package: { + templateOSS: { + content: 'content', + ciVersions: ['12.x', '14.x', '16.x'], + }, + }, + workspaces: { + a: { + templateOSS: { + ciVersions: 'latest', + }, + }, + }, + testdir: { + content: { + 'source.json': '{ "node": {{{ json engines }}} }', + 'index.js': `module.exports={ + rootRepo:{add:{'target.json':'source.json'}}, + workspaceRepo:{add:{'target-{{ pkgNameFs }}.json':'source.json'}} + }`, + }, + }, + }) + await s.apply() + + const root = await s.readJson('target.json') + const workspace = await s.readJson('target-a.json') + + t.equal(root.node, '^12.0.0 || ^14.0.0 || >=16.0.0') + t.equal(workspace.node, '>=16.0.0') +}) From dd944ab5df88159fcefe43f4bcdc37e90177c377 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 22:43:18 +0000 Subject: [PATCH 2/2] chore: release 4.3.2 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 6 ++++++ package.json | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 2276f3d2..ba69c9cf 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.3.1" + ".": "4.3.2" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 57d8c630..30e64ee5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [4.3.2](https://github.com/npm/template-oss/compare/v4.3.1...v4.3.2) (2022-09-19) + +### Bug Fixes + +* [`5fededb`](https://github.com/npm/template-oss/commit/5fededb16da81db88b56db663466d968471df973) [#207](https://github.com/npm/template-oss/pull/207) workspace can use only latest ci version of root (@lukekarrys) + ## [4.3.1](https://github.com/npm/template-oss/compare/v4.3.0...v4.3.1) (2022-09-19) ### Bug Fixes diff --git a/package.json b/package.json index acbdb204..af8702f5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@npmcli/template-oss", - "version": "4.3.1", + "version": "4.3.2", "description": "templated files used in npm CLI team oss projects", "main": "lib/content/index.js", "bin": {