diff --git a/README.md b/README.md index f5628619a..06f9297e0 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ The Large and Complex Cases (LACC) project aims to deliver a secure, auditable, ### Prerequisites - [.NET 8 SDK](https://dotnet.microsoft.com/download) -- [Node.js (v20+)](https://nodejs.org/) +- [Node.js (v24+)](https://nodejs.org/) - [npm](https://www.npmjs.com/) - PowerShell (for local scripts) - PostgreSQL (see [Local Development Guide](doc/local-development.md) for setup details) diff --git a/devops-pipelines/api-postman-test.yml b/devops-pipelines/api-postman-test.yml index e0a5881c6..48783e33b 100644 --- a/devops-pipelines/api-postman-test.yml +++ b/devops-pipelines/api-postman-test.yml @@ -31,7 +31,7 @@ jobs: - task: UseNode@1 displayName: "Use Node.js" inputs: - version: "20.x" + version: "24.x" - script: | if command -v pwsh &> /dev/null; then diff --git a/devops-pipelines/lighthouse-test.yml b/devops-pipelines/lighthouse-test.yml index de76bf397..226ae2a17 100644 --- a/devops-pipelines/lighthouse-test.yml +++ b/devops-pipelines/lighthouse-test.yml @@ -11,7 +11,7 @@ variables: - group: lacc-automated-testing-${{ parameters.environment }} - group: lacc-backend-config-${{ parameters.environment }} - name: nodeVersion - value: "20.x" + value: "24.x" - name: workingDir value: "ui-spa" diff --git a/devops-pipelines/move-playwright-test.yml b/devops-pipelines/move-playwright-test.yml index c8165e592..fdd380bcb 100644 --- a/devops-pipelines/move-playwright-test.yml +++ b/devops-pipelines/move-playwright-test.yml @@ -1,6 +1,6 @@ schedules: - - cron: '0 1 * * Tue-Sat' - displayName: 'Weekday 1am UTC test' + - cron: "0 1 * * Tue-Sat" + displayName: "Weekday 1am UTC test" branches: include: - main @@ -27,7 +27,7 @@ jobs: - group: lacc-automated-testing-${{ parameters.environment }} - group: lacc-backend-config-${{ parameters.environment }} - name: nodeVersion - value: "20.x" + value: "24.x" - name: workingDir value: "$(System.DefaultWorkingDirectory)/e2e/pw" diff --git a/devops-pipelines/templates/e2e-playwright-test-job.yml b/devops-pipelines/templates/e2e-playwright-test-job.yml index 33024d501..80ac1d199 100644 --- a/devops-pipelines/templates/e2e-playwright-test-job.yml +++ b/devops-pipelines/templates/e2e-playwright-test-job.yml @@ -20,7 +20,7 @@ jobs: - group: lacc-automated-testing-${{ parameters.environment }} - group: lacc-backend-config-${{ parameters.environment }} - name: nodeVersion - value: "20.x" + value: "24.x" - name: workingDir value: "$(System.DefaultWorkingDirectory)/e2e/pw" - name: transferMaterialsV1 # Staging renders the v1 ("Shared Drive") transfer screen for the E2E user. diff --git a/devops-pipelines/templates/smoke-test-steps.yml b/devops-pipelines/templates/smoke-test-steps.yml index aae4ee709..e8fef80f2 100644 --- a/devops-pipelines/templates/smoke-test-steps.yml +++ b/devops-pipelines/templates/smoke-test-steps.yml @@ -10,7 +10,7 @@ steps: - task: UseNode@1 displayName: "Use Node.js" inputs: - version: "20.x" + version: "24.x" - script: | if command -v newman &> /dev/null; then diff --git a/devops-pipelines/templates/ui-build-and-deploy-stages.yml b/devops-pipelines/templates/ui-build-and-deploy-stages.yml index 4e66cbb65..c7f08d249 100644 --- a/devops-pipelines/templates/ui-build-and-deploy-stages.yml +++ b/devops-pipelines/templates/ui-build-and-deploy-stages.yml @@ -54,7 +54,7 @@ stages: variables: - group: lacc-ui-config-${{ parameters.environment }} - name: nodeVersion - value: "20.x" + value: "24.x" - name: workingDir value: ui-spa steps: @@ -125,7 +125,7 @@ stages: deployToSlotOrASE: ${{ parameters.deployToSlot }} slotName: ${{ parameters.slotName }} packageForLinux: "$(Pipeline.Workspace)/$(buildArtifact)" - RuntimeStack: "NODE|20-lts" + RuntimeStack: "NODE|24-lts" StartupCommand: "pm2 serve /home/site/wwwroot/ --no-daemon --spa" displayName: "Deploy app to ${{ parameters.environment }}" diff --git a/devops-pipelines/ui/ui-pr-build-and-test.yml b/devops-pipelines/ui/ui-pr-build-and-test.yml index d9ed39125..2813ec10d 100644 --- a/devops-pipelines/ui/ui-pr-build-and-test.yml +++ b/devops-pipelines/ui/ui-pr-build-and-test.yml @@ -12,7 +12,7 @@ pool: "LACC PreProd Pool" variables: - name: nodeVersion - value: "20.x" + value: "24.x" - name: workingDir value: ui-spa - name: covDir diff --git a/ui-spa/.npmrc b/ui-spa/.npmrc new file mode 100644 index 000000000..4fd021952 --- /dev/null +++ b/ui-spa/.npmrc @@ -0,0 +1 @@ +engine-strict=true \ No newline at end of file diff --git a/ui-spa/package.json b/ui-spa/package.json index c23cbe19f..29e7927d1 100644 --- a/ui-spa/package.json +++ b/ui-spa/package.json @@ -3,6 +3,10 @@ "private": true, "version": "0.0.0", "type": "module", + "engines": { + "node": "24.x", + "npm": "11.x" + }, "scripts": { "dev": "vite", "build": "tsc -b && vite build", @@ -88,4 +92,4 @@ "react": "^16.8.0 || ^17 || ^18 || ^19" } } -} +} \ No newline at end of file