Node 20 support
Description
Node.js 18 will reach EOL in April 2025.
This PR includes the necessary changes for Booster to run with the latest LTS release of Node.js (20), considering that Azure Functions has a GA support level for Node.js 20.
Changes
- Update dependencies to work with Node.js 20.
- Apply small changes to the Azure provider infrastructure package due to changes in the Terraform CDK.
- Add an
upgrade-v3.mddoc listing breaking changes when upgrading from 2.x to 3.x.
Checks
- [x] Project Builds
- [x] Project passes tests and checks
- [x] Updated documentation accordingly
/integration sha=047bf5a353965251172eba59bc5a3fc9e0b71947
PR Summary
-
Adding a new support script A new file named
install-run-rush-pnpm.jshas been added to help in the consistent installation of currently used npm package manager. -
Improving existing scripts Scripts
install-run-rush.jsandinstall-run-rushx.jshave been updated, likely to support the efficient use of project dependencies. -
Update to project specific package.json files Extensive updates have been made across various components of the project including
application-tester,cli,framework-common-helpers,framework-core,framework-integration-tests,framework-provider-aws-infrastructure,framework-provider-aws,framework-provider-azure-infrastructure,framework-provider-azure,framework-provider-local-infrastructure,framework-provider-local,framework-types,metadata-booster, and thetools/eslint-config. These changes indicate that package dependencies are updated or modified possibly to keep up with new features and patches provided by those dependencies. -
Modification in project template & demo Updates have been made to project files
cli/src/templates/project/package-json.ts,cli/test/fixtures/mock_project/package.json,framework-integration-tests/integration/fixtures/cart-demo/package.jsonto replicate the new standards and changes in the project components' package.json files. -
Update on Azure's Gateway infrastructure script An update has been made to file
framework-provider-azure-infrastructure/src/infrastructure/synth/gateway/terraform-application-gateway.ts, indicating a change in how Azure's gateway infrastructure is managed or utilized. -
Configuration update The
rush.jsonfile, which is one of the most project's important configuration files, has been updated. This change hints at an adjustment in project standards or workflows. -
Website package handling Manifest files -
website/package-lock.jsonandwebsite/package.jsonfor the website part of the project have also been updated.
Note: The versions of Node.js specified in the engines field have been upgraded from "node": ">=18.0.0 <19.0.0" to "node": ">=20.0.0 <21.0.0". This is an upgrade to a later version of Node.js, implying better performance and access to new Node.js features.
:x: Oh no! Integration tests have failed
/integration sha=1338b5dba5bf9b755b6ab77494eeb43c832f28e9
/integration sha=a07e9562ad2be72c4ce58ecc4a2ac57f27f081d2)
:white_check_mark: Integration tests have finished successfully!
:x: Oh no! Integration tests have failed
:x: Oh no! Integration tests have failed
/integration sha=a07e9562ad2be72c4ce58ecc4a2ac57f27f081d2
:x: Oh no! Integration tests have failed
/integration sha=ff18868
:x: Oh no! Integration tests have failed
/integration sha=c6a3c42
:x: Oh no! Integration tests have failed
/integration sha=c6a3c42
:x: Oh no! Integration tests have failed
/integration sha=285d512b201258380a6fcb1f2f99d0466ee1fc77
:x: Oh no! Integration tests have failed
/integration sha=9239fd03d6d22929c0d169b4768b8ad24ab81c62
:white_check_mark: Integration tests have finished successfully!