From 4d1a53199b17ee081e8b2d21d379f1cc9d4ba2e2 Mon Sep 17 00:00:00 2001 From: Miki Date: Wed, 22 Feb 2023 13:18:35 -0800 Subject: [PATCH] Relax Node.js version to `^14.20.1` and bump `.nvmrc` to `v14.21.3` (#3463) (#3479) * `engines.node` is relaxed from `14.20.1` to `^14.20.1`: yarn and OSD will allow versions 14.20.1 or greater, but less than 15, to be used but do not impose upgrading to avoid being a breaking change. Users will be able to install any version of Node.js that satisfies `^14.20.1`, moving ahead without waiting for a change in OSD when new versions are released. * `.nvmrc` is bumped to the latest security patch: `14.21.3` Signed-off-by: Miki --- .node-version | 2 +- .nvmrc | 2 +- CHANGELOG.md | 2 ++ package.json | 2 +- src/dev/node_versions_must_match.test.ts | 4 +++- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.node-version b/.node-version index 285152276014..f46d5e394243 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -14.20.1 +14.21.3 diff --git a/.nvmrc b/.nvmrc index 285152276014..f46d5e394243 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -14.20.1 +14.21.3 diff --git a/CHANGELOG.md b/CHANGELOG.md index 18d6aaef74d7..d005ac91caa2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,8 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Bumps `re2` and `supertest` ([3018](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/3018)) - Introduce @opensearch-project/opensearch@^2.1.0, aliased as @opensearch-project/opensearch-next ([#3469](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/3469)) +- Relax the Node.js requirement to `^14.20.1` ([3463](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/3463)) +- Bump the version of Node.js installed by `nvm` to `14.21.3` ([3463](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/3463)) ### 🪛 Refactoring diff --git a/package.json b/package.json index 3dc858939d6f..8fc2adcd3f69 100644 --- a/package.json +++ b/package.json @@ -468,7 +468,7 @@ "zlib": "^1.0.5" }, "engines": { - "node": "14.20.1", + "node": "^14.20.1", "yarn": "^1.21.1" } } diff --git a/src/dev/node_versions_must_match.test.ts b/src/dev/node_versions_must_match.test.ts index 7ddaa54b121c..c97557072078 100644 --- a/src/dev/node_versions_must_match.test.ts +++ b/src/dev/node_versions_must_match.test.ts @@ -29,11 +29,13 @@ */ import fs from 'fs'; +import semver from 'semver'; import { engines } from '../../package.json'; import { promisify } from 'util'; const readFile = promisify(fs.readFile); import expect from '@osd/expect'; +// ToDo: `.node-version` seems to exist for no good reason; find out if we can get rid of it and this test. describe('All configs should use a single version of Node', () => { it('should compare .node-version and .nvmrc', async () => { const [nodeVersion, nvmrc] = await Promise.all([ @@ -48,6 +50,6 @@ describe('All configs should use a single version of Node', () => { const nodeVersion = await readFile('./.node-version', { encoding: 'utf-8', }); - expect(nodeVersion.trim()).to.be(engines.node); + expect(semver.satisfies(nodeVersion.trim(), engines.node)).to.be(true); }); });