From 354928c2d059bd1d889146284a411ec3831d2c28 Mon Sep 17 00:00:00 2001 From: Salah-Eddine Saakoun Date: Thu, 3 Sep 2026 15:05:35 +0200 Subject: [PATCH 1/2] chore: align deps and tsconfig with core monorepo Brings the runtime dependency ranges up to what core already resolves, and matches core's tsconfig where it differs. Deps bumped to core's ranges: @metamask/scure-bip39 ^2.0.3 -> ^2.1.1 @metamask/superstruct ^3.1.0 -> ^3.4.1 @noble/hashes ^1.3.1 -> ^1.8.0 @scure/base ^1.1.3 -> ^1.2.6 semver ^7.5.4 -> ^7.6.3 tsconfig: adds isolatedModules, switches module/moduleResolution from nodenext to Node16, and normalises lib/target casing, all to match tsconfig.base.json in core. The four strict flags core does not set (exactOptionalPropertyTypes, forceConsistentCasingInFileNames, noErrorTruncation, noUncheckedIndexedAccess) are kept, as the migration guide asks. @ethereumjs/tx is held back deliberately. Core is on ^5.4.0 and that is a major bump, so it gets its own PR. --- CHANGELOG.md | 8 ++++++++ package.json | 10 +++++----- tsconfig.json | 9 +++++---- yarn.lock | 47 +++++++++++++++++++++++++++++++++++------------ 4 files changed, 53 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index db8f785c2..705e503df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- Bump `@metamask/scure-bip39` from `^2.0.3` to `^2.1.1` ([#311](https://github.com/MetaMask/utils/pull/311)) +- Bump `@metamask/superstruct` from `^3.1.0` to `^3.4.1` ([#311](https://github.com/MetaMask/utils/pull/311)) +- Bump `@noble/hashes` from `^1.3.1` to `^1.8.0` ([#311](https://github.com/MetaMask/utils/pull/311)) +- Bump `@scure/base` from `^1.1.3` to `^1.2.6` ([#311](https://github.com/MetaMask/utils/pull/311)) +- Bump `semver` from `^7.5.4` to `^7.6.3` ([#311](https://github.com/MetaMask/utils/pull/311)) + ## [11.12.0] ### Added diff --git a/package.json b/package.json index 1206bd23c..bbd396ac7 100644 --- a/package.json +++ b/package.json @@ -62,16 +62,16 @@ }, "dependencies": { "@ethereumjs/tx": "^4.2.0", - "@metamask/scure-bip39": "^2.0.3", - "@metamask/superstruct": "^3.1.0", - "@noble/hashes": "^1.3.1", - "@scure/base": "^1.1.3", + "@metamask/scure-bip39": "^2.1.1", + "@metamask/superstruct": "^3.4.1", + "@noble/hashes": "^1.8.0", + "@scure/base": "^1.2.6", "@types/debug": "^4.1.7", "@types/lodash": "^4.17.20", "debug": "^4.3.4", "lodash": "^4.17.21", "pony-cause": "^2.1.10", - "semver": "^7.5.4", + "semver": "^7.6.3", "uuid": "^9.0.1" }, "devDependencies": { diff --git a/tsconfig.json b/tsconfig.json index 01e09f861..c38d8f82c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,14 +3,15 @@ "esModuleInterop": true, "exactOptionalPropertyTypes": true, "forceConsistentCasingInFileNames": true, - "lib": ["ES2020", "dom"], - "module": "nodenext", - "moduleResolution": "nodenext", + "isolatedModules": true, + "lib": ["ES2020", "DOM"], + "module": "Node16", + "moduleResolution": "Node16", "noEmit": true, "noErrorTruncation": true, "noUncheckedIndexedAccess": true, "strict": true, - "target": "es2020" + "target": "ES2020" }, "exclude": ["./dist/**/*"] } diff --git a/yarn.lock b/yarn.lock index 621cc84c7..e4b9093b2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1070,7 +1070,7 @@ __metadata: languageName: node linkType: hard -"@metamask/scure-bip39@npm:^2.0.3": +"@metamask/scure-bip39@npm:^2.1.1": version: 2.1.1 resolution: "@metamask/scure-bip39@npm:2.1.1" dependencies: @@ -1080,10 +1080,10 @@ __metadata: languageName: node linkType: hard -"@metamask/superstruct@npm:^3.1.0": - version: 3.1.0 - resolution: "@metamask/superstruct@npm:3.1.0" - checksum: 10/5066fe228d5f11da387606d7f9545de2b473ab5a9e0f1bb8aea2f52d3e2c9d25e427151acde61f4a2de80a07a9871fe9505ad06abca6a61b7c3b54ed5c403b01 +"@metamask/superstruct@npm:^3.4.1": + version: 3.4.1 + resolution: "@metamask/superstruct@npm:3.4.1" + checksum: 10/d37b5662dc9bbe0d99e06eb951167fa745829ae3abfa103423e9d8c05e8712f1451376f8479d484722e1e1c1d881732da1efddccaca8868b530a786264b903b5 languageName: node linkType: hard @@ -1099,10 +1099,10 @@ __metadata: "@metamask/eslint-config-jest": "npm:^12.0.0" "@metamask/eslint-config-nodejs": "npm:^12.0.0" "@metamask/eslint-config-typescript": "npm:^12.0.0" - "@metamask/scure-bip39": "npm:^2.0.3" - "@metamask/superstruct": "npm:^3.1.0" - "@noble/hashes": "npm:^1.3.1" - "@scure/base": "npm:^1.1.3" + "@metamask/scure-bip39": "npm:^2.1.1" + "@metamask/superstruct": "npm:^3.4.1" + "@noble/hashes": "npm:^1.8.0" + "@scure/base": "npm:^1.2.6" "@ts-bridge/cli": "npm:^0.1.2" "@ts-bridge/shims": "npm:^0.1.1" "@types/debug": "npm:^4.1.7" @@ -1130,7 +1130,7 @@ __metadata: pony-cause: "npm:^2.1.10" prettier: "npm:^2.7.1" prettier-plugin-packagejson: "npm:^2.3.0" - semver: "npm:^7.5.4" + semver: "npm:^7.6.3" stdio-mock: "npm:^1.2.0" ts-jest: "npm:^29.0.3" ts-node: "npm:^10.7.0" @@ -1158,7 +1158,14 @@ __metadata: languageName: node linkType: hard -"@noble/hashes@npm:^1.3.1, @noble/hashes@npm:~1.3.0, @noble/hashes@npm:~1.3.1, @noble/hashes@npm:~1.3.2": +"@noble/hashes@npm:^1.8.0": + version: 1.8.0 + resolution: "@noble/hashes@npm:1.8.0" + checksum: 10/474b7f56bc6fb2d5b3a42132561e221b0ea4f91e590f4655312ca13667840896b34195e2b53b7f097ec080a1fdd3b58d902c2a8d0fbdf51d2e238b53808a177e + languageName: node + linkType: hard + +"@noble/hashes@npm:~1.3.0, @noble/hashes@npm:~1.3.1, @noble/hashes@npm:~1.3.2": version: 1.3.3 resolution: "@noble/hashes@npm:1.3.3" checksum: 10/1025ddde4d24630e95c0818e63d2d54ee131b980fe113312d17ed7468bc18f54486ac86c907685759f8a7e13c2f9b9e83ec7b67d1cc20836f36b5e4a65bb102d @@ -1315,7 +1322,14 @@ __metadata: languageName: node linkType: hard -"@scure/base@npm:^1.1.3, @scure/base@npm:~1.1.0, @scure/base@npm:~1.1.3": +"@scure/base@npm:^1.2.6": + version: 1.2.6 + resolution: "@scure/base@npm:1.2.6" + checksum: 10/c1a7bd5e0b0c8f94c36fbc220f4a67cc832b00e2d2065c7d8a404ed81ab1c94c5443def6d361a70fc382db3496e9487fb9941728f0584782b274c18a4bed4187 + languageName: node + linkType: hard + +"@scure/base@npm:~1.1.0, @scure/base@npm:~1.1.3": version: 1.1.9 resolution: "@scure/base@npm:1.1.9" checksum: 10/f0ab7f687bbcdee2a01377fe3cd808bf63977999672751295b6a92625d5322f4754a96d40f6bd579bc367aad48ecf8a4e6d0390e70296e6ded1076f52adb16bb @@ -6794,6 +6808,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.6.3": + version: 7.8.5 + resolution: "semver@npm:7.8.5" + bin: + semver: bin/semver.js + checksum: 10/9b01d2ff11e6e4a4539b7ca3c5f280c8704cb397a28504469f2ed4f00ad2194748d756647362a9712fff30984d15772ab7f083108c2fb508e2096ae9e708f22c + languageName: node + linkType: hard + "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" From 1d97e55b38f8d5df0f7634598e2e5620116399be Mon Sep 17 00:00:00 2001 From: Salah-Eddine Saakoun Date: Thu, 3 Sep 2026 19:23:55 +0200 Subject: [PATCH 2/2] fix: bump TypeScript to ~5.3.3 and dedupe lockfile Fixes two CI failures on this branch. Compatibility test: adding isolatedModules flips ts-jest onto its transpileModule path, and newer ts-jest reads ts.JSDocParsingMode.ParseAll, which only exists from TypeScript 5.3. The regular Test jobs did not catch it because the committed lockfile pins ts-jest 29.0.3, which predates that code. The compatibility job deletes the lockfile and resolves ts-jest 29.4.12, so it hit the missing enum and every suite failed to run. Bumping TypeScript to ~5.3.3 (core's version, and already on the alignment list) resolves it. Verified by reproducing the job locally: fresh resolve gives ts-jest 29.4.12 plus typescript 5.3.3, and all 23 suites pass. Lint: yarn dedupe --check flagged 9 semver entries after the semver bump. Ran yarn dedupe. --- package.json | 2 +- yarn.lock | 35 +++++++++++++---------------------- 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/package.json b/package.json index bbd396ac7..948ccc399 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,7 @@ "ts-node": "^10.7.0", "tsd": "^0.29.0", "typedoc": "^0.23.15", - "typescript": "~5.0.4", + "typescript": "~5.3.3", "web3": "^4.16.0" }, "packageManager": "yarn@4.16.0", diff --git a/yarn.lock b/yarn.lock index e4b9093b2..efce66022 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1136,7 +1136,7 @@ __metadata: ts-node: "npm:^10.7.0" tsd: "npm:^0.29.0" typedoc: "npm:^0.23.15" - typescript: "npm:~5.0.4" + typescript: "npm:~5.3.3" uuid: "npm:^9.0.1" web3: "npm:^4.16.0" languageName: unknown @@ -6790,12 +6790,12 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.x, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4": - version: 7.6.2 - resolution: "semver@npm:7.6.2" +"semver@npm:7.x, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.3": + version: 7.8.5 + resolution: "semver@npm:7.8.5" bin: semver: bin/semver.js - checksum: 10/296b17d027f57a87ef645e9c725bff4865a38dfc9caf29b26aa084b85820972fbe7372caea1ba6857162fa990702c6d9c1d82297cecb72d56c78ab29070d2ca2 + checksum: 10/9b01d2ff11e6e4a4539b7ca3c5f280c8704cb397a28504469f2ed4f00ad2194748d756647362a9712fff30984d15772ab7f083108c2fb508e2096ae9e708f22c languageName: node linkType: hard @@ -6808,15 +6808,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.6.3": - version: 7.8.5 - resolution: "semver@npm:7.8.5" - bin: - semver: bin/semver.js - checksum: 10/9b01d2ff11e6e4a4539b7ca3c5f280c8704cb397a28504469f2ed4f00ad2194748d756647362a9712fff30984d15772ab7f083108c2fb508e2096ae9e708f22c - languageName: node - linkType: hard - "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -7588,23 +7579,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:~5.0.4": - version: 5.0.4 - resolution: "typescript@npm:5.0.4" +"typescript@npm:~5.3.3": + version: 5.3.3 + resolution: "typescript@npm:5.3.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/e5c3adff09a138c0e27d13b5bb2b106ca17a162ffa945d66161669c265c65436309c5817358a2af1abb69d07440d358f8c1ed7cbb63a2c8680e19b9c268fe4ef + checksum: 10/6e4e6a14a50c222b3d14d4ea2f729e79f972fa536ac1522b91202a9a65af3605c2928c4a790a4a50aa13694d461c479ba92cedaeb1e7b190aadaa4e4b96b8e18 languageName: node linkType: hard -"typescript@patch:typescript@npm%3A~5.0.4#optional!builtin": - version: 5.0.4 - resolution: "typescript@patch:typescript@npm%3A5.0.4#optional!builtin::version=5.0.4&hash=b5f058" +"typescript@patch:typescript@npm%3A~5.3.3#optional!builtin": + version: 5.3.3 + resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/b1b62606c7ec75efe9edc61e195d9e69f0440cac1bcd111dfa864f839255f0d9a7b79869f2823559c608826fc0c9894d2917ae4063e0aa06f5d0784a35170497 + checksum: 10/c93786fcc9a70718ba1e3819bab56064ead5817004d1b8186f8ca66165f3a2d0100fee91fa64c840dcd45f994ca5d615d8e1f566d39a7470fc1e014dbb4cf15d languageName: node linkType: hard