diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 16f7d053..65db845b 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -29,7 +29,7 @@ updates: # devDependencies - # locked to "^20.0.0" to align with our minimum node version in package.json/engines + # locked to align with our minimum node version in package.json/engines - dependency-name: "@types/node" # locked to "^8", since newer versions include breaking changes diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 2fd7209d..8a0b1600 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -17,11 +17,11 @@ jobs: steps: - uses: actions/checkout@v6 - - name: Setup Node 20 + - name: Setup Node 22 uses: actions/setup-node@v6 with: cache: "npm" - node-version: 20 + node-version: 22 - name: Install deps run: | diff --git a/ChangeLog.md b/ChangeLog.md index d8e9f6fd..2e89bf1e 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -2,6 +2,7 @@ ## 04/24/2026 4.0.4 +- Requires Node 22 or higher - Remove unused runtime dependency `@azure/ms-rest-js` - Remove dead code under `lib/templates` (`httpTemplate.ts`, `markdownHttpTemplate.ts`, `yamlHttpTemplate.ts`) and the unused `lib/models/responseWrapper.ts` diff --git a/eng/templates/stages/oav.yml b/eng/templates/stages/oav.yml index 0906cef3..97f13e3a 100644 --- a/eng/templates/stages/oav.yml +++ b/eng/templates/stages/oav.yml @@ -20,10 +20,10 @@ extends: - checkout: self submodules: true - - task: NodeTool@0 + - task: UseNode@1 inputs: - versionSpec: "20.x" - displayName: "Use Node 20" + version: "22.x" + displayName: "Use Node 22" - task: Npm@1 displayName: "npm ci" diff --git a/package-lock.json b/package-lock.json index ba637e46..f69ae256 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,7 +45,7 @@ "@types/json-schema-traverse": "^0.4.0", "@types/lodash": "^4.17.20", "@types/mustache": "^4.1.2", - "@types/node": "^20.0.0", + "@types/node": "^22.19.17", "@types/toposort": "^2.0.3", "@types/yargs": "^11.1.2", "@typescript-eslint/eslint-plugin": "^8.44.1", @@ -63,7 +63,7 @@ "typescript": "~5.9.2" }, "engines": { - "node": ">=20.0.0" + "node": ">=22.0.0" } }, "node_modules/@apidevtools/json-schema-ref-parser": { @@ -2079,9 +2079,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.19.25", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.25.tgz", - "integrity": "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==", + "version": "22.19.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.17.tgz", + "integrity": "sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==", "license": "MIT", "dependencies": { "undici-types": "~6.21.0" diff --git a/package.json b/package.json index 99359a52..be32dba7 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@types/json-schema-traverse": "^0.4.0", "@types/lodash": "^4.17.20", "@types/mustache": "^4.1.2", - "@types/node": "^20.0.0", + "@types/node": "^22.19.17", "@types/toposort": "^2.0.3", "@types/yargs": "^11.1.2", "@typescript-eslint/eslint-plugin": "^8.44.1", @@ -116,7 +116,7 @@ "li": "npm install @ts-common/local-install --no-save && local-install" }, "engines": { - "node": ">=20.0.0" + "node": ">=22.0.0" }, "jest-junit": { "output": "test-results.xml"