diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index 9d0dea48..b26f378f 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -89,7 +89,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [20.x, 22.x, 24.x] + node-version: [22.x, 24.x] outputs: child-workspace-package-names: ${{ steps.workspace-package-names.outputs.child-workspace-package-names }} child-workspace-package-directories: ${{ steps.workspace-package-names.outputs.child-workspace-package-directories }} @@ -216,7 +216,7 @@ jobs: needs: [prepare, build] strategy: matrix: - node-version: [20.x, 22.x] + node-version: [22.x, 24.x] package-name: ${{ fromJson(needs.prepare.outputs.child-workspace-package-names) }} package-directory: ${{ fromJson(needs.prepare.outputs.child-workspace-package-directories) }} steps: diff --git a/package.json b/package.json index d11c76d8..509bd36e 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "ws@7.4.6": "^7.5.10" }, "engines": { - "node": ">=20" + "node": "^22.14.0 || ^24" }, "packageManager": "yarn@4.17.1", "lavamoat": { diff --git a/packages/bitcoin-wallet-snap/package.json b/packages/bitcoin-wallet-snap/package.json index 76370bab..e7abec7f 100644 --- a/packages/bitcoin-wallet-snap/package.json +++ b/packages/bitcoin-wallet-snap/package.json @@ -74,6 +74,6 @@ "wif": "^5.0.0" }, "engines": { - "node": ">=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/bitcoin-wallet-snap/snap.manifest.json b/packages/bitcoin-wallet-snap/snap.manifest.json index e89c3a65..0bc152ed 100644 --- a/packages/bitcoin-wallet-snap/snap.manifest.json +++ b/packages/bitcoin-wallet-snap/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/internal-snaps.git" }, "source": { - "shasum": "Pd1NN2k0m87Txbpt+rzuEjoUWWynDerzz4qR4Wto+nc=", + "shasum": "Toy0lgo6eUTHc9W2Obj9JZNRm3uEJzkeD2E8NmG+W44=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/snap-networks-utils/package.json b/packages/snap-networks-utils/package.json index 5fc829e8..636a0a6a 100644 --- a/packages/snap-networks-utils/package.json +++ b/packages/snap-networks-utils/package.json @@ -94,6 +94,6 @@ "typescript": "~5.8.3" }, "engines": { - "node": ">=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/solana-wallet-snap/package.json b/packages/solana-wallet-snap/package.json index 0e579556..23611168 100644 --- a/packages/solana-wallet-snap/package.json +++ b/packages/solana-wallet-snap/package.json @@ -89,6 +89,6 @@ "typescript": "~5.8.3" }, "engines": { - "node": ">=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/solana-wallet-snap/snap.manifest.json b/packages/solana-wallet-snap/snap.manifest.json index 21ada2cb..b78f854a 100644 --- a/packages/solana-wallet-snap/snap.manifest.json +++ b/packages/solana-wallet-snap/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/internal-snaps.git" }, "source": { - "shasum": "3XId1IkqlIty92kiBLHbDxIv1RY8AnZiGvOiTOnTaJI=", + "shasum": "Szf70/ghTVTeyeEcPUPnHGKxE+tWaZBEZJuR4Kh+gks=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/stellar-wallet-snap/package.json b/packages/stellar-wallet-snap/package.json index 2d0f08c9..1ec585aa 100644 --- a/packages/stellar-wallet-snap/package.json +++ b/packages/stellar-wallet-snap/package.json @@ -72,6 +72,6 @@ "ts-jest": "^29.4.1" }, "engines": { - "node": ">=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/stellar-wallet-snap/snap.manifest.json b/packages/stellar-wallet-snap/snap.manifest.json index 0fb79b5d..81e9fa82 100644 --- a/packages/stellar-wallet-snap/snap.manifest.json +++ b/packages/stellar-wallet-snap/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/internal-snaps.git" }, "source": { - "shasum": "Cgwhcxj5mugH3EzB2dR6BDqtc2AnL+RSCkUEbjgAwic=", + "shasum": "df2jwrVqYLs741TWeyLYKABatgBkFCEDWJdwpnNwiXw=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/tron-wallet-snap/package.json b/packages/tron-wallet-snap/package.json index bf7ae212..e9749313 100644 --- a/packages/tron-wallet-snap/package.json +++ b/packages/tron-wallet-snap/package.json @@ -75,6 +75,6 @@ "typescript": "~5.8.3" }, "engines": { - "node": ">=20" + "node": "^22.14.0 || ^24" } } diff --git a/packages/tron-wallet-snap/snap.manifest.json b/packages/tron-wallet-snap/snap.manifest.json index feeaa72a..8e5f3d2c 100644 --- a/packages/tron-wallet-snap/snap.manifest.json +++ b/packages/tron-wallet-snap/snap.manifest.json @@ -7,7 +7,7 @@ "url": "https://github.com/MetaMask/internal-snaps.git" }, "source": { - "shasum": "iF+9rnAdk21FSl4s0l1iE9+oTvqg8mAy987x6FDUTvo=", + "shasum": "nbBLLJNTo42N6FSp8TuKDy1SlsTrBCYHXEvSk8dHIQA=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/tsconfig.base.json b/tsconfig.base.json index af0dfe8c..498f0516 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -15,10 +15,10 @@ "compilerOptions": { "esModuleInterop": true, "isolatedModules": true, - "lib": ["ES2020", "DOM"], + "lib": ["ES2023", "DOM"], "module": "Node16", "moduleResolution": "Node16", "strict": true, - "target": "ES2020" + "target": "ES2023" } } diff --git a/tsconfig.json b/tsconfig.json index 724f194e..1c91d592 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,7 +8,7 @@ "forceConsistentCasingInFileNames": true, "jsx": "react-jsx", "jsxImportSource": "@metamask/snaps-sdk", - "lib": ["ES2020"], + "lib": ["ES2023"], "noEmit": true, "noErrorTruncation": true, "noUncheckedIndexedAccess": true, diff --git a/tsconfig.scripts.json b/tsconfig.scripts.json index 52fbb82e..49878b4c 100644 --- a/tsconfig.scripts.json +++ b/tsconfig.scripts.json @@ -10,7 +10,7 @@ "baseUrl": "./", "exactOptionalPropertyTypes": true, "forceConsistentCasingInFileNames": true, - "lib": ["ES2020"], + "lib": ["ES2023"], "noEmit": true, "noErrorTruncation": true, "noUncheckedIndexedAccess": true diff --git a/yarn.config.cjs b/yarn.config.cjs index 2b1f9176..e4b0ed1a 100644 --- a/yarn.config.cjs +++ b/yarn.config.cjs @@ -286,8 +286,9 @@ module.exports = defineConfig({ expectWorkspaceField(workspace, 'packageManager', 'yarn@4.17.1'); } - // All packages must specify a minimum Node.js version of 20. - expectWorkspaceField(workspace, 'engines.node', '>=20'); + // All packages must specify Node.js ^22.14.0 or ^24 as their minimum + // supported version. + expectWorkspaceField(workspace, 'engines.node', '^22.14.0 || ^24'); // All non-root public packages should be published to the NPM registry; // all non-root private packages should not.