From 922be1c4168d377624cb98ec8328d2bc05bffce2 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 24 Oct 2023 13:59:42 +0200 Subject: [PATCH] V13: Add support for Node.js 20 (#15022) * update versionSpec to nodejs 20 and avoid specifying minor and patch versions to improve Azure Pipelines stability * update engines and package lock files * update helpful displayNames for npm builds * add retry to counter nodejs.org timeouts add retryCountOnTaskFailure as suggested on https://developercommunity.visualstudio.com/t/NodeTool0-task-to-install-nodejs-fails/10455454 --- build/azure-pipelines.yml | 13 ++++++++----- src/Umbraco.Web.UI.Client/.nvmrc | 2 +- src/Umbraco.Web.UI.Client/package-lock.json | 4 ++-- src/Umbraco.Web.UI.Client/package.json | 4 ++-- src/Umbraco.Web.UI.Login/.nvmrc | 1 + src/Umbraco.Web.UI.Login/package-lock.json | 4 ++-- src/Umbraco.Web.UI.Login/package.json | 8 ++++---- 7 files changed, 20 insertions(+), 16 deletions(-) create mode 100644 src/Umbraco.Web.UI.Login/.nvmrc diff --git a/build/azure-pipelines.yml b/build/azure-pipelines.yml index 6c8c2aab50..6cc18affbf 100644 --- a/build/azure-pipelines.yml +++ b/build/azure-pipelines.yml @@ -43,7 +43,7 @@ parameters: default: ' ' variables: - nodeVersion: 18.16.x + nodeVersion: 20 dotnetVersion: 8.x dotnetIncludePreviewVersions: true solution: umbraco.sln @@ -69,6 +69,7 @@ stages: steps: - task: NodeTool@0 displayName: Use Node.js $(nodeVersion) + retryCountOnTaskFailure: 3 inputs: versionSpec: $(nodeVersion) - task: Cache@2 @@ -81,22 +82,22 @@ stages: path: $(npm_config_cache) - script: npm ci --no-fund --no-audit --prefer-offline workingDirectory: src/Umbraco.Web.UI.Client - displayName: Run npm ci + displayName: Run npm ci (Backoffice) - task: gulp@0 - displayName: Run gulp build + displayName: Run gulp build (Backoffice) inputs: gulpFile: src/Umbraco.Web.UI.Client/gulpfile.js targets: coreBuild workingDirectory: src/Umbraco.Web.UI.Client - task: npm@1 - displayName: Run npm ci + displayName: Run npm ci (Login) inputs: command: custom workingDir: src/Umbraco.Web.UI.Login verbose: false customCommand: ci - task: npm@1 - displayName: Run npm build + displayName: Run npm build (Login) inputs: command: custom workingDir: src/Umbraco.Web.UI.Login @@ -190,6 +191,7 @@ stages: steps: - task: NodeTool@0 displayName: Use Node.js 10.15.x + retryCountOnTaskFailure: 3 inputs: versionSpec: 10.15.x # Won't work with higher versions - script: | @@ -430,6 +432,7 @@ stages: path: $(Build.SourcesDirectory)/tests/Umbraco.Tests.AcceptanceTest/misc/nupkg - task: NodeTool@0 displayName: Use Node.js $(nodeVersion) + retryCountOnTaskFailure: 3 inputs: versionSpec: $(nodeVersion) - task: Cache@2 diff --git a/src/Umbraco.Web.UI.Client/.nvmrc b/src/Umbraco.Web.UI.Client/.nvmrc index b492b08635..fa69d015bd 100644 --- a/src/Umbraco.Web.UI.Client/.nvmrc +++ b/src/Umbraco.Web.UI.Client/.nvmrc @@ -1 +1 @@ -18.16 +20.8 diff --git a/src/Umbraco.Web.UI.Client/package-lock.json b/src/Umbraco.Web.UI.Client/package-lock.json index 90b31f6e17..aa65c3e335 100644 --- a/src/Umbraco.Web.UI.Client/package-lock.json +++ b/src/Umbraco.Web.UI.Client/package-lock.json @@ -80,8 +80,8 @@ "run-sequence": "2.2.1" }, "engines": { - "node": ">=18.16", - "npm": ">=9.5" + "node": ">=20.8", + "npm": ">=10.1" } }, "node_modules/@aashutoshrathi/word-wrap": { diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json index b728f388d6..82c0d66b70 100644 --- a/src/Umbraco.Web.UI.Client/package.json +++ b/src/Umbraco.Web.UI.Client/package.json @@ -14,8 +14,8 @@ "lint": "eslint src" }, "engines": { - "node": ">=18.16", - "npm": ">=9.5" + "node": ">=20.8", + "npm": ">=10.1" }, "dependencies": { "@microsoft/signalr": "7.0.12", diff --git a/src/Umbraco.Web.UI.Login/.nvmrc b/src/Umbraco.Web.UI.Login/.nvmrc new file mode 100644 index 0000000000..fa69d015bd --- /dev/null +++ b/src/Umbraco.Web.UI.Login/.nvmrc @@ -0,0 +1 @@ +20.8 diff --git a/src/Umbraco.Web.UI.Login/package-lock.json b/src/Umbraco.Web.UI.Login/package-lock.json index 4cc2b6773c..ea0b8cd21e 100644 --- a/src/Umbraco.Web.UI.Login/package-lock.json +++ b/src/Umbraco.Web.UI.Login/package-lock.json @@ -17,8 +17,8 @@ "vite": "^4.4.11" }, "engines": { - "node": ">=18.16", - "npm": ">=9.5" + "node": ">=20.8", + "npm": ">=10.1" } }, "node_modules/@esbuild/android-arm": { diff --git a/src/Umbraco.Web.UI.Login/package.json b/src/Umbraco.Web.UI.Login/package.json index c5fdbf6a25..58a033f605 100644 --- a/src/Umbraco.Web.UI.Login/package.json +++ b/src/Umbraco.Web.UI.Login/package.json @@ -8,10 +8,10 @@ "watch": "tsc && vite build --watch", "preview": "vite preview" }, - "engines": { - "node": ">=18.16", - "npm": ">=9.5" - }, + "engines": { + "node": ">=20.8", + "npm": ">=10.1" + }, "dependencies": { "@umbraco-ui/uui": "^1.4.0", "@umbraco-ui/uui-css": "^1.4.0",