From 616c516af667834d9928932ad72bb0a00d76c24c Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Tue, 24 Sep 2024 07:30:45 -0400 Subject: [PATCH 01/12] Update eslint config file --- .eslintrc.js => eslint.config.mjs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) rename .eslintrc.js => eslint.config.mjs (97%) diff --git a/.eslintrc.js b/eslint.config.mjs similarity index 97% rename from .eslintrc.js rename to eslint.config.mjs index f71ff43b3e..5fd13c7a5f 100644 --- a/.eslintrc.js +++ b/eslint.config.mjs @@ -1,5 +1,6 @@ -module.exports = { - root: true, +import typescript from 'typescript-eslint'; + +const config = typescript.config({ extends: ['@metamask/eslint-config', '@metamask/eslint-config-nodejs'], ignorePatterns: [ '!.eslintrc.js', @@ -38,7 +39,6 @@ module.exports = { files: ['*.ts'], extends: ['@metamask/eslint-config-typescript'], parserOptions: { - tsconfigRootDir: __dirname, project: ['./tsconfig.packages.json'], }, rules: { @@ -125,4 +125,6 @@ module.exports = { mode: 'typescript', }, }, -}; +}); + +export default config; From 322706cf6b2dc6094ae3dd0bafb19e535aa558b3 Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Tue, 24 Sep 2024 07:30:54 -0400 Subject: [PATCH 02/12] Update eslint packages --- package.json | 23 +- yarn.lock | 1242 ++++++++++++++++++++++---------------------------- 2 files changed, 568 insertions(+), 697 deletions(-) diff --git a/package.json b/package.json index 195f56ffcf..e59a36e7ef 100644 --- a/package.json +++ b/package.json @@ -51,10 +51,10 @@ "@babel/preset-typescript": "^7.23.3", "@lavamoat/allow-scripts": "^3.0.4", "@metamask/create-release-branch": "^3.0.0", - "@metamask/eslint-config": "^12.2.0", - "@metamask/eslint-config-jest": "^12.1.0", - "@metamask/eslint-config-nodejs": "^12.1.0", - "@metamask/eslint-config-typescript": "^12.1.0", + "@metamask/eslint-config": "github:MetaMask/eslint-config#head=mrtenz/eslint-9&workspace=@metamask/eslint-config", + "@metamask/eslint-config-jest": "github:MetaMask/eslint-config#head=mrtenz/eslint-9&workspace=@metamask/eslint-config-jest", + "@metamask/eslint-config-nodejs": "github:MetaMask/eslint-config#head=mrtenz/eslint-9&workspace=@metamask/eslint-config-nodejs", + "@metamask/eslint-config-typescript": "github:MetaMask/eslint-config#head=mrtenz/eslint-9&workspace=@metamask/eslint-config-typescript", "@metamask/eth-block-tracker": "^10.0.0", "@metamask/eth-json-rpc-provider": "^4.1.4", "@metamask/json-rpc-engine": "^9.0.3", @@ -69,29 +69,30 @@ "@yarnpkg/types": "^4.0.0", "babel-jest": "^27.5.1", "depcheck": "^1.4.7", - "eslint": "^8.44.0", - "eslint-config-prettier": "^8.5.0", + "eslint": "^9.11.0", + "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^2.5.0", "eslint-interactive": "^10.8.0", - "eslint-plugin-import": "2.26.0", + "eslint-plugin-import-x": "^4.3.0", "eslint-plugin-jest": "^27.1.5", - "eslint-plugin-jsdoc": "^39.9.1", + "eslint-plugin-jsdoc": "^50.2.4", "eslint-plugin-n": "^15.7.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-promise": "^7.1.0", "execa": "^5.0.0", "isomorphic-fetch": "^3.0.0", "jest": "^27.5.1", "jest-silent-reporter": "^0.5.0", "lodash": "^4.17.21", "nock": "^13.3.1", - "prettier": "^2.7.1", + "prettier": "^3.3.3", "prettier-plugin-packagejson": "^2.4.5", "rimraf": "^5.0.5", "semver": "^7.6.3", "simple-git-hooks": "^2.8.0", "ts-node": "^10.9.1", "typescript": "~5.2.2", + "typescript-eslint": "^8.7.0", "yargs": "^17.7.2" }, "packageManager": "yarn@4.2.2", diff --git a/yarn.lock b/yarn.lock index 0b245bcaa9..8a8ab9250e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -585,18 +585,18 @@ __metadata: languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:~0.36.1": - version: 0.36.1 - resolution: "@es-joy/jsdoccomment@npm:0.36.1" +"@es-joy/jsdoccomment@npm:~0.48.0": + version: 0.48.0 + resolution: "@es-joy/jsdoccomment@npm:0.48.0" dependencies: - comment-parser: "npm:1.3.1" - esquery: "npm:^1.4.0" - jsdoc-type-pratt-parser: "npm:~3.1.0" - checksum: 10/0701c6aa187614269e0b67aed7932a9376d00a765a9521b61e019cb37cfdddf861a5822a55ce6dba30c19f533f7b7d0aad83e4e53e3b0b330aa64f77c67fcc57 + comment-parser: "npm:1.4.1" + esquery: "npm:^1.6.0" + jsdoc-type-pratt-parser: "npm:~4.1.0" + checksum: 10/28fc48521cc020a570d4cc0c1dde9e370a68bb5bebb7ca0049e2d7090f373ea4ccb685adb0123da0783c47672822b49bc849bc4a1a27d4758ab1bc18a9c8500a languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0": +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" dependencies: @@ -607,6 +607,13 @@ __metadata: languageName: node linkType: hard +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.11.0": + version: 4.11.1 + resolution: "@eslint-community/regexpp@npm:4.11.1" + checksum: 10/934b6d3588c7f16b18d41efec4fdb89616c440b7e3256b8cb92cfd31ae12908600f2b986d6c1e61a84cbc10256b1dd3448cd1eec79904bd67ac365d0f1aba2e2 + languageName: node + linkType: hard + "@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.6.1": version: 4.11.0 resolution: "@eslint-community/regexpp@npm:4.11.0" @@ -614,6 +621,24 @@ __metadata: languageName: node linkType: hard +"@eslint/config-array@npm:^0.18.0": + version: 0.18.0 + resolution: "@eslint/config-array@npm:0.18.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.4" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10/60ccad1eb4806710b085cd739568ec7afd289ee5af6ca0383f0876f9fe375559ef525f7b3f86bdb3f961493de952f2cf3ab4aa4a6ccaef0ae3cd688267cabcb3 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.6.0": + version: 0.6.0 + resolution: "@eslint/core@npm:0.6.0" + checksum: 10/ec5cce168c8773fbd60c5a505563c6cf24398b3e1fa352929878d63129e0dd5b134d3232be2f2c49e8124a965d03359b38962aa0dcf7dfaf50746059d2a2f798 + languageName: node + linkType: hard + "@eslint/eslintrc@npm:^2.1.4": version: 2.1.4 resolution: "@eslint/eslintrc@npm:2.1.4" @@ -631,6 +656,23 @@ __metadata: languageName: node linkType: hard +"@eslint/eslintrc@npm:^3.1.0": + version: 3.1.0 + resolution: "@eslint/eslintrc@npm:3.1.0" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10/02bf892d1397e1029209dea685e9f4f87baf643315df2a632b5f121ec7e8548a3b34f428a007234fa82772218fa8a3ac2d10328637b9ce63b7f8344035b74db3 + languageName: node + linkType: hard + "@eslint/js@npm:8.57.0": version: 8.57.0 resolution: "@eslint/js@npm:8.57.0" @@ -638,6 +680,29 @@ __metadata: languageName: node linkType: hard +"@eslint/js@npm:9.11.1, @eslint/js@npm:^9.11.0": + version: 9.11.1 + resolution: "@eslint/js@npm:9.11.1" + checksum: 10/77b9c744bdf24e2ca1f99f671139767d6c31cb10d732cf22a85ef28f1f95f2a621cf204f572fd9fee67da6193ff2597a5d236cef3b557b07624230b622612339 + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/object-schema@npm:2.1.4" + checksum: 10/221e8d9f281c605948cd6e030874aacce83fe097f8f9c1964787037bccf08e82b7aa9eff1850a30fffac43f1d76555727ec22a2af479d91e268e89d1e035131e + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.2.0": + version: 0.2.0 + resolution: "@eslint/plugin-kit@npm:0.2.0" + dependencies: + levn: "npm:^0.4.1" + checksum: 10/ebb363174397341dea47dc35fc206e24328083e4f0fa1c539687dbb7f94bef77e43faa12867d032e6eea5ac980ea8fbb6b1d844186e422d327c04088041b99f3 + languageName: node + linkType: hard + "@ethereumjs/common@npm:^3.2.0": version: 3.2.0 resolution: "@ethereumjs/common@npm:3.2.0" @@ -1554,6 +1619,13 @@ __metadata: languageName: node linkType: hard +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.0 + resolution: "@humanwhocodes/retry@npm:0.3.0" + checksum: 10/e574bab58680867414e225c9002e9a97eb396f85871c180fbb1a9bcdf9ded4b4de0b327f7d0c43b775873362b7c92956d4b322e8bc4b90be56077524341f04b2 + languageName: node + linkType: hard + "@inquirer/confirm@npm:^0.0.14-alpha.0": version: 0.0.14-alpha.0 resolution: "@inquirer/confirm@npm:0.0.14-alpha.0" @@ -2361,10 +2433,10 @@ __metadata: "@babel/preset-typescript": "npm:^7.23.3" "@lavamoat/allow-scripts": "npm:^3.0.4" "@metamask/create-release-branch": "npm:^3.0.0" - "@metamask/eslint-config": "npm:^12.2.0" - "@metamask/eslint-config-jest": "npm:^12.1.0" - "@metamask/eslint-config-nodejs": "npm:^12.1.0" - "@metamask/eslint-config-typescript": "npm:^12.1.0" + "@metamask/eslint-config": "github:MetaMask/eslint-config#head=mrtenz/eslint-9&workspace=@metamask/eslint-config" + "@metamask/eslint-config-jest": "github:MetaMask/eslint-config#head=mrtenz/eslint-9&workspace=@metamask/eslint-config-jest" + "@metamask/eslint-config-nodejs": "github:MetaMask/eslint-config#head=mrtenz/eslint-9&workspace=@metamask/eslint-config-nodejs" + "@metamask/eslint-config-typescript": "github:MetaMask/eslint-config#head=mrtenz/eslint-9&workspace=@metamask/eslint-config-typescript" "@metamask/eth-block-tracker": "npm:^10.0.0" "@metamask/eth-json-rpc-provider": "npm:^4.1.4" "@metamask/json-rpc-engine": "npm:^9.0.3" @@ -2379,29 +2451,30 @@ __metadata: "@yarnpkg/types": "npm:^4.0.0" babel-jest: "npm:^27.5.1" depcheck: "npm:^1.4.7" - eslint: "npm:^8.44.0" - eslint-config-prettier: "npm:^8.5.0" + eslint: "npm:^9.11.0" + eslint-config-prettier: "npm:^9.1.0" eslint-import-resolver-typescript: "npm:^2.5.0" eslint-interactive: "npm:^10.8.0" - eslint-plugin-import: "npm:2.26.0" + eslint-plugin-import-x: "npm:^4.3.0" eslint-plugin-jest: "npm:^27.1.5" - eslint-plugin-jsdoc: "npm:^39.9.1" + eslint-plugin-jsdoc: "npm:^50.2.4" eslint-plugin-n: "npm:^15.7.0" - eslint-plugin-prettier: "npm:^4.2.1" - eslint-plugin-promise: "npm:^6.1.1" + eslint-plugin-prettier: "npm:^5.2.1" + eslint-plugin-promise: "npm:^7.1.0" execa: "npm:^5.0.0" isomorphic-fetch: "npm:^3.0.0" jest: "npm:^27.5.1" jest-silent-reporter: "npm:^0.5.0" lodash: "npm:^4.17.21" nock: "npm:^13.3.1" - prettier: "npm:^2.7.1" + prettier: "npm:^3.3.3" prettier-plugin-packagejson: "npm:^2.4.5" rimraf: "npm:^5.0.5" semver: "npm:^7.6.3" simple-git-hooks: "npm:^2.8.0" ts-node: "npm:^10.9.1" typescript: "npm:~5.2.2" + typescript-eslint: "npm:^8.7.0" yargs: "npm:^17.7.2" languageName: unknown linkType: soft @@ -2451,53 +2524,66 @@ __metadata: languageName: unknown linkType: soft -"@metamask/eslint-config-jest@npm:^12.1.0": - version: 12.1.0 - resolution: "@metamask/eslint-config-jest@npm:12.1.0" +"@metamask/eslint-config-jest@github:MetaMask/eslint-config#head=mrtenz/eslint-9&workspace=@metamask/eslint-config-jest": + version: 13.0.0 + resolution: "@metamask/eslint-config-jest@https://github.com/MetaMask/eslint-config.git#workspace=%40metamask%2Feslint-config-jest&commit=34f7c67b7071335ca2f930ad01eb18103bd3ea0b" + dependencies: + "@eslint/js": "npm:^9.11.0" + globals: "npm:^15.9.0" peerDependencies: - "@metamask/eslint-config": ^12.0.0 - eslint: ^8.27.0 - eslint-plugin-jest: ^27.1.5 - checksum: 10/98f60234412051d429237dbf32b147a648a0e3b6adacafda24999ec9eb8096155c8000c62204415100c97980cc3bfe0a0fe19e4c318b8bb529eaf57e9f96e680 + "@metamask/eslint-config": ^13.0.0 + eslint: ^9.11.0 + eslint-plugin-jest: ^28.8.3 + checksum: 10/ed31b6d8d66257184cae53b5f3bd7861caed2c4e2bb84858bd0672394c7345049f6528de4dda618ea675a7beea16b64d9374e0f636a33b1acba4c18f7a9ec36c languageName: node linkType: hard -"@metamask/eslint-config-nodejs@npm:^12.1.0": - version: 12.1.0 - resolution: "@metamask/eslint-config-nodejs@npm:12.1.0" +"@metamask/eslint-config-nodejs@github:MetaMask/eslint-config#head=mrtenz/eslint-9&workspace=@metamask/eslint-config-nodejs": + version: 13.0.0 + resolution: "@metamask/eslint-config-nodejs@https://github.com/MetaMask/eslint-config.git#workspace=%40metamask%2Feslint-config-nodejs&commit=34f7c67b7071335ca2f930ad01eb18103bd3ea0b" + dependencies: + "@eslint/js": "npm:^9.11.0" + globals: "npm:^15.9.0" peerDependencies: - "@metamask/eslint-config": ^12.0.0 - eslint: ^8.27.0 - eslint-plugin-n: ^15.7.0 - checksum: 10/ad8d4b545420a14917d9dc4505ab8e3c07c559c35c67f07062eb3e9e86620d0660aa82500662ea9f23152b978417ee9fdebc47e6b39f8cb72e811b7e561e792f + "@metamask/eslint-config": ^13.0.0 + eslint: ^9.11.0 + eslint-plugin-n: ^17.10.3 + checksum: 10/fd572b337673761fb7e5bfdf7a29b59bade4f2337dd7275d72a01cbae1ad1cf221a01d14571e3b811df9f32ba2fad74a555f832630a82a8c5c0dd93a0bab0bc1 languageName: node linkType: hard -"@metamask/eslint-config-typescript@npm:^12.1.0": - version: 12.1.0 - resolution: "@metamask/eslint-config-typescript@npm:12.1.0" +"@metamask/eslint-config-typescript@github:MetaMask/eslint-config#head=mrtenz/eslint-9&workspace=@metamask/eslint-config-typescript": + version: 13.0.0 + resolution: "@metamask/eslint-config-typescript@https://github.com/MetaMask/eslint-config.git#workspace=%40metamask%2Feslint-config-typescript&commit=34f7c67b7071335ca2f930ad01eb18103bd3ea0b" + dependencies: + "@eslint/js": "npm:^9.11.0" peerDependencies: - "@metamask/eslint-config": ^12.0.0 - "@typescript-eslint/eslint-plugin": ^5.42.1 - "@typescript-eslint/parser": ^5.42.1 - eslint: ^8.27.0 - typescript: ~4.8.4 || ~5.0 || ~5.1 - checksum: 10/3159b08d94a751e5639db6253e3bfb6cc7bc5633ad07c43099288e65e5ed25d9f7533968045fedaf4e2a852d0c0fec14290f0f274aa0544a7411cc60deb97aba + "@metamask/eslint-config": ^13.0.0 + eslint: ^9.11.0 + eslint-import-resolver-typescript: ^3.6.3 + eslint-plugin-import-x: ^4.3.0 + eslint-plugin-jsdoc: ^50.2.4 + typescript: ">=4.8.4 <5.6" + typescript-eslint: ^8.6.0 + checksum: 10/dad6657b70122ac63cb943df4d78e04b00d01e22fa63dc4dda36128540fe71948be99a4695cfbb1a82c2ea27dc6d2fdce0f0b906fbaac6889b585c435459df9e languageName: node linkType: hard -"@metamask/eslint-config@npm:^12.2.0": - version: 12.2.0 - resolution: "@metamask/eslint-config@npm:12.2.0" +"@metamask/eslint-config@github:MetaMask/eslint-config#head=mrtenz/eslint-9&workspace=@metamask/eslint-config": + version: 13.0.0 + resolution: "@metamask/eslint-config@https://github.com/MetaMask/eslint-config.git#workspace=%40metamask%2Feslint-config&commit=34f7c67b7071335ca2f930ad01eb18103bd3ea0b" + dependencies: + "@eslint/js": "npm:^9.11.0" + globals: "npm:^15.9.0" peerDependencies: - eslint: ^8.27.0 - eslint-config-prettier: ^8.5.0 - eslint-plugin-import: ~2.26.0 - eslint-plugin-jsdoc: ^39.6.2 || ^41 || ^43.0.7 - eslint-plugin-prettier: ^4.2.1 - eslint-plugin-promise: ^6.1.1 - prettier: ^2.7.1 - checksum: 10/6edbf4c2fce34ba8ccd873938501744d69cd13c02047655df596ab551f1aaa390513b8df855145d04c7fed6b5d91b9cfd0ce96ee082abf838292df761f50c520 + eslint: ^9.11.0 + eslint-config-prettier: ^9.1.0 + eslint-plugin-import-x: ^4.3.0 + eslint-plugin-jsdoc: ^50.2.4 + eslint-plugin-prettier: ^5.2.1 + eslint-plugin-promise: ^7.1.0 + prettier: ^3.3.3 + checksum: 10/85f5e2c4bf33c2f61e84c8e3dc995de8c6a15f38dca560e1dd8210cb87b39191f98e39e5a65cfafc805d68aeeba3b4c9776dafa3549c42daaea100cabc1f0845 languageName: node linkType: hard @@ -4296,6 +4382,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:^1.0.6": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 10/9d35d475095199c23e05b431bcdd1f6fec7380612aed068b14b2a08aa70494de8a9026765a5a91b1073f636fb0368f6d8973f518a31391d519e20c59388ed88d + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.2": version: 4.1.9 resolution: "@types/graceful-fs@npm:4.1.9" @@ -4359,7 +4452,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7 @@ -4544,6 +4637,29 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/eslint-plugin@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.7.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:8.7.0" + "@typescript-eslint/type-utils": "npm:8.7.0" + "@typescript-eslint/utils": "npm:8.7.0" + "@typescript-eslint/visitor-keys": "npm:8.7.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.3.1" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/5bc774b1da4e1cd19c5ffd731c655c53035fd81ff06a95c2f2c54ab62c401879f886da3e1a1235505341e8172b2841c6edc78b4565a261105ab32d83bf5b8ab1 + languageName: node + linkType: hard + "@typescript-eslint/eslint-plugin@npm:^5.62.0": version: 5.62.0 resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" @@ -4568,6 +4684,24 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/parser@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/parser@npm:8.7.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:8.7.0" + "@typescript-eslint/types": "npm:8.7.0" + "@typescript-eslint/typescript-estree": "npm:8.7.0" + "@typescript-eslint/visitor-keys": "npm:8.7.0" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/896ac60f8426f9e5c23198c89555f6f88f7957c5b16bb7b966dac45c5f5e7076c1a050bcee2e0eddff88055b9c0d7bdfaef9c64889e3bdf3356d20356b0daa04 + languageName: node + linkType: hard + "@typescript-eslint/parser@npm:^5.62.0": version: 5.62.0 resolution: "@typescript-eslint/parser@npm:5.62.0" @@ -4595,6 +4729,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/scope-manager@npm:8.7.0" + dependencies: + "@typescript-eslint/types": "npm:8.7.0" + "@typescript-eslint/visitor-keys": "npm:8.7.0" + checksum: 10/6a6aae28437f6cd78f82dd1359658593fcc8f6d0da966b4d128b14db3a307b6094d22515a79c222055a31bf9b73b73799acf18fbf48c0da16e8f408fcc10464c + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/type-utils@npm:5.62.0" @@ -4612,6 +4756,21 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/type-utils@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/type-utils@npm:8.7.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:8.7.0" + "@typescript-eslint/utils": "npm:8.7.0" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/dba4520dd3dce35b765640f9633100bd29d2092478cb467e89bde51dc23fb19f7395e87f4486b898315aab081263003cbc78f03f0f40079602713aafc2f2a6a5 + languageName: node + linkType: hard + "@typescript-eslint/types@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/types@npm:5.62.0" @@ -4619,6 +4778,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/types@npm:8.7.0" + checksum: 10/9adbe4efdcb00735af5144a161d6bb2f79a952a9701820920ad33adba02032d65d5b601087e953c2918f7efa548abbcd9289f83ec6299f66941d7c585886792e + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" @@ -4637,6 +4803,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.7.0" + dependencies: + "@typescript-eslint/types": "npm:8.7.0" + "@typescript-eslint/visitor-keys": "npm:8.7.0" + debug: "npm:^4.3.4" + fast-glob: "npm:^3.3.2" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/c4f7e3c18c8382b72800681c37c87726b02a96cf6831be37d2d2f9c26267016a9dd7af4e08184b96376a9aebdc5c344c6c378c86821c374fe10a9e45aca1b33d + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:5.62.0, @typescript-eslint/utils@npm:^5.10.0": version: 5.62.0 resolution: "@typescript-eslint/utils@npm:5.62.0" @@ -4655,6 +4840,20 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:8.7.0, @typescript-eslint/utils@npm:^8.1.0": + version: 8.7.0 + resolution: "@typescript-eslint/utils@npm:8.7.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:8.7.0" + "@typescript-eslint/types": "npm:8.7.0" + "@typescript-eslint/typescript-estree": "npm:8.7.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + checksum: 10/81674503fb5ea32ff5de8f1a29fecbcfa947025e7609e861ac8e32cd13326fc050c4fa5044e1a877f05e7e1264c42b9c72a7fd09c4a41d0ac2cf1c49259abf03 + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" @@ -4665,6 +4864,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.7.0" + dependencies: + "@typescript-eslint/types": "npm:8.7.0" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10/189ea297ff4da53aea92f31de57aed164550c51ac7cf663007c997c4f0f75a82097e35568e3a0fbcced290cb4c12ab7d3afd99e93eb37c930d7f6d6bbfd6ed98 + languageName: node + linkType: hard + "@ungap/structured-clone@npm:^1.2.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" @@ -4819,7 +5028,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.11.0, acorn@npm:^8.2.4, acorn@npm:^8.4.1, acorn@npm:^8.9.0": +"acorn@npm:^8.11.0, acorn@npm:^8.12.0, acorn@npm:^8.2.4, acorn@npm:^8.4.1, acorn@npm:^8.9.0": version: 8.12.1 resolution: "acorn@npm:8.12.1" bin: @@ -4998,6 +5207,13 @@ __metadata: languageName: node linkType: hard +"are-docs-informative@npm:^0.0.2": + version: 0.0.2 + resolution: "are-docs-informative@npm:0.0.2" + checksum: 10/12cdae51a4bb369832ef1a35840604247d4ed0cbc8392f2519988d170f92c3f8c60e465844f41acba1ec3062d0edb2e9133fca38cb9c1214309153d50a25fa29 + languageName: node + linkType: hard + "arg@npm:^4.1.0": version: 4.1.3 resolution: "arg@npm:4.1.3" @@ -5021,16 +5237,6 @@ __metadata: languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "array-buffer-byte-length@npm:1.0.1" - dependencies: - call-bind: "npm:^1.0.5" - is-array-buffer: "npm:^3.0.4" - checksum: 10/53524e08f40867f6a9f35318fafe467c32e45e9c682ba67b11943e167344d2febc0f6977a17e699b05699e805c3e8f073d876f8bbf1b559ed494ad2cd0fae09e - languageName: node - linkType: hard - "array-differ@npm:^3.0.0": version: 3.0.0 resolution: "array-differ@npm:3.0.0" @@ -5038,20 +5244,6 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.4": - version: 3.1.8 - resolution: "array-includes@npm:3.1.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - is-string: "npm:^1.0.7" - checksum: 10/290b206c9451f181fb2b1f79a3bf1c0b66bb259791290ffbada760c79b284eef6f5ae2aeb4bcff450ebc9690edd25732c4c73a3c2b340fcc0f4563aed83bf488 - languageName: node - linkType: hard - "array-union@npm:^2.1.0": version: 2.1.0 resolution: "array-union@npm:2.1.0" @@ -5059,34 +5251,6 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.2.5": - version: 1.3.2 - resolution: "array.prototype.flat@npm:1.3.2" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 10/d9d2f6f27584de92ec7995bc931103e6de722cd2498bdbfc4cba814fc3e52f056050a93be883018811f7c0a35875f5056584a0e940603a5e5934f0279896aebe - languageName: node - linkType: hard - -"arraybuffer.prototype.slice@npm:^1.0.3": - version: 1.0.3 - resolution: "arraybuffer.prototype.slice@npm:1.0.3" - dependencies: - array-buffer-byte-length: "npm:^1.0.1" - call-bind: "npm:^1.0.5" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.22.3" - es-errors: "npm:^1.2.1" - get-intrinsic: "npm:^1.2.3" - is-array-buffer: "npm:^3.0.4" - is-shared-array-buffer: "npm:^1.0.2" - checksum: 10/0221f16c1e3ec7b67da870ee0e1f12b825b5f9189835392b59a22990f715827561a4f4cd5330dc7507de272d8df821be6cd4b0cb569babf5ea4be70e365a2f3d - languageName: node - linkType: hard - "arrify@npm:^2.0.1": version: 2.0.1 resolution: "arrify@npm:2.0.1" @@ -5561,7 +5725,7 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.7": version: 1.0.7 resolution: "call-bind@npm:1.0.7" dependencies: @@ -5845,10 +6009,10 @@ __metadata: languageName: node linkType: hard -"comment-parser@npm:1.3.1": - version: 1.3.1 - resolution: "comment-parser@npm:1.3.1" - checksum: 10/d533b527539472a4431f282afa406acd74f792728223984114e1ba10a417c06df91f2364e8aee41a78e9c92243c3bcc57b1ddc9a2a77342326ddb942b56d5060 +"comment-parser@npm:1.4.1": + version: 1.4.1 + resolution: "comment-parser@npm:1.4.1" + checksum: 10/16a3260b5e77819ebd9c99b0b65c7d6723b1ff73487bac9ce2d8f016a2847dd689e8663b88e1fad1444bbea89847c42f785708ac86a2c55f614f7095249bbf6b languageName: node linkType: hard @@ -6055,39 +6219,6 @@ __metadata: languageName: node linkType: hard -"data-view-buffer@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-buffer@npm:1.0.1" - dependencies: - call-bind: "npm:^1.0.6" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10/5919a39a18ee919573336158fd162fdf8ada1bc23a139f28543fd45fac48e0ea4a3ad3bfde91de124d4106e65c4a7525f6a84c20ba0797ec890a77a96d13a82a - languageName: node - linkType: hard - -"data-view-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-byte-length@npm:1.0.1" - dependencies: - call-bind: "npm:^1.0.7" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10/f33c65e58d8d0432ad79761f2e8a579818d724b5dc6dc4e700489b762d963ab30873c0f1c37d8f2ed12ef51c706d1195f64422856d25f067457aeec50cc40aac - languageName: node - linkType: hard - -"data-view-byte-offset@npm:^1.0.0": - version: 1.0.0 - resolution: "data-view-byte-offset@npm:1.0.0" - dependencies: - call-bind: "npm:^1.0.6" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10/96f34f151bf02affb7b9f98762fb7aca1dd5f4553cb57b80bce750ca609c15d33ca659568ef1d422f7e35680736cbccb893a3d4b012760c758c1446bbdc4c6db - languageName: node - linkType: hard - "debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": version: 4.3.6 resolution: "debug@npm:4.3.6" @@ -6100,15 +6231,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:^2.6.9": - version: 2.6.9 - resolution: "debug@npm:2.6.9" - dependencies: - ms: "npm:2.0.0" - checksum: 10/e07005f2b40e04f1bd14a3dd20520e9c4f25f60224cb006ce9d6781732c917964e9ec029fc7f1a151083cd929025ad5133814d4dc624a9aaf020effe4914ed14 - languageName: node - linkType: hard - "debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" @@ -6118,6 +6240,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.3.6": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10/71168908b9a78227ab29d5d25fe03c5867750e31ce24bf2c44a86efc5af041758bb56569b0a3d48a9b5344c00a24a777e6f4100ed6dfd9534a42c1dde285125a + languageName: node + linkType: hard + "decimal.js@npm:^10.2.1": version: 10.4.3 resolution: "decimal.js@npm:10.4.3" @@ -6173,7 +6307,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -6303,15 +6437,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^2.1.0": - version: 2.1.0 - resolution: "doctrine@npm:2.1.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10/555684f77e791b17173ea86e2eea45ef26c22219cb64670669c4f4bebd26dbc95cd90ec1f4159e9349a6bb9eb892ce4dde8cd0139e77bedd8bf4518238618474 - languageName: node - linkType: hard - "doctrine@npm:^3.0.0": version: 3.0.0 resolution: "doctrine@npm:3.0.0" @@ -6429,60 +6554,6 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2": - version: 1.23.3 - resolution: "es-abstract@npm:1.23.3" - dependencies: - array-buffer-byte-length: "npm:^1.0.1" - arraybuffer.prototype.slice: "npm:^1.0.3" - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" - data-view-buffer: "npm:^1.0.1" - data-view-byte-length: "npm:^1.0.1" - data-view-byte-offset: "npm:^1.0.0" - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" - es-set-tostringtag: "npm:^2.0.3" - es-to-primitive: "npm:^1.2.1" - function.prototype.name: "npm:^1.1.6" - get-intrinsic: "npm:^1.2.4" - get-symbol-description: "npm:^1.0.2" - globalthis: "npm:^1.0.3" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.3" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.2" - internal-slot: "npm:^1.0.7" - is-array-buffer: "npm:^3.0.4" - is-callable: "npm:^1.2.7" - is-data-view: "npm:^1.0.1" - is-negative-zero: "npm:^2.0.3" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.3" - is-string: "npm:^1.0.7" - is-typed-array: "npm:^1.1.13" - is-weakref: "npm:^1.0.2" - object-inspect: "npm:^1.13.1" - object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.5" - regexp.prototype.flags: "npm:^1.5.2" - safe-array-concat: "npm:^1.1.2" - safe-regex-test: "npm:^1.0.3" - string.prototype.trim: "npm:^1.2.9" - string.prototype.trimend: "npm:^1.0.8" - string.prototype.trimstart: "npm:^1.0.8" - typed-array-buffer: "npm:^1.0.2" - typed-array-byte-length: "npm:^1.0.1" - typed-array-byte-offset: "npm:^1.0.2" - typed-array-length: "npm:^1.0.6" - unbox-primitive: "npm:^1.0.2" - which-typed-array: "npm:^1.1.15" - checksum: 10/2da795a6a1ac5fc2c452799a409acc2e3692e06dc6440440b076908617188899caa562154d77263e3053bcd9389a07baa978ab10ac3b46acc399bd0c77be04cb - languageName: node - linkType: hard - "es-define-property@npm:^1.0.0": version: 1.0.0 resolution: "es-define-property@npm:1.0.0" @@ -6492,50 +6563,17 @@ __metadata: languageName: node linkType: hard -"es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": +"es-errors@npm:^1.3.0": version: 1.3.0 resolution: "es-errors@npm:1.3.0" checksum: 10/96e65d640156f91b707517e8cdc454dd7d47c32833aa3e85d79f24f9eb7ea85f39b63e36216ef0114996581969b59fe609a94e30316b08f5f4df1d44134cf8d5 languageName: node linkType: hard -"es-object-atoms@npm:^1.0.0": - version: 1.0.0 - resolution: "es-object-atoms@npm:1.0.0" - dependencies: - es-errors: "npm:^1.3.0" - checksum: 10/f8910cf477e53c0615f685c5c96210591841850871b81924fcf256bfbaa68c254457d994a4308c60d15b20805e7f61ce6abc669375e01a5349391a8c1767584f - languageName: node - linkType: hard - -"es-set-tostringtag@npm:^2.0.3": - version: 2.0.3 - resolution: "es-set-tostringtag@npm:2.0.3" - dependencies: - get-intrinsic: "npm:^1.2.4" - has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.1" - checksum: 10/7227fa48a41c0ce83e0377b11130d324ac797390688135b8da5c28994c0165be8b252e15cd1de41e1325e5a5412511586960213e88f9ab4a5e7d028895db5129 - languageName: node - linkType: hard - -"es-shim-unscopables@npm:^1.0.0": - version: 1.0.2 - resolution: "es-shim-unscopables@npm:1.0.2" - dependencies: - hasown: "npm:^2.0.0" - checksum: 10/6d3bf91f658a27cc7217cd32b407a0d714393a84d125ad576319b9e83a893bea165cf41270c29e9ceaa56d3cf41608945d7e2a2c31fd51c0009b0c31402b91c7 - languageName: node - linkType: hard - -"es-to-primitive@npm:^1.2.1": - version: 1.2.1 - resolution: "es-to-primitive@npm:1.2.1" - dependencies: - is-callable: "npm:^1.1.4" - is-date-object: "npm:^1.0.1" - is-symbol: "npm:^1.0.2" - checksum: 10/74aeeefe2714cf99bb40cab7ce3012d74e1e2c1bd60d0a913b467b269edde6e176ca644b5ba03a5b865fb044a29bca05671cd445c85ca2cdc2de155d7fc8fe9b +"es-module-lexer@npm:^1.5.3": + version: 1.5.4 + resolution: "es-module-lexer@npm:1.5.4" + checksum: 10/f29c7c97a58eb17640dcbd71bd6ef754ad4f58f95c3073894573d29dae2cad43ecd2060d97ed5b866dfb7804d5590fb7de1d2c5339a5fceae8bd60b580387fc5 languageName: node linkType: hard @@ -6592,14 +6630,14 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^8.5.0": - version: 8.10.0 - resolution: "eslint-config-prettier@npm:8.10.0" +"eslint-config-prettier@npm:^9.1.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 10/0a51ab1417cbf80fabcf7a406960a142663539c8140fdb0a187b78f3d708b9d137a62a4bc4e689150e290b667750ddabd1740a516623b0cb4adb6cc1962cfe2c + checksum: 10/411e3b3b1c7aa04e3e0f20d561271b3b909014956c4dba51c878bf1a23dbb8c800a3be235c46c4732c70827276e540b6eed4636d9b09b444fd0a8e07f0fcd830 languageName: node linkType: hard @@ -6613,7 +6651,7 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.6": +"eslint-import-resolver-node@npm:^0.3.9": version: 0.3.9 resolution: "eslint-import-resolver-node@npm:0.3.9" dependencies: @@ -6665,18 +6703,6 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.7.3": - version: 2.8.2 - resolution: "eslint-module-utils@npm:2.8.2" - dependencies: - debug: "npm:^3.2.7" - peerDependenciesMeta: - eslint: - optional: true - checksum: 10/d86a8c674717258ff599a82506b9b03626143a6c2d71b0b9ddb1afde4df0cbb9417340dc93c46398294a59c76cb7f3de911fa0199973dcdf4ffc3f8ecad09741 - languageName: node - linkType: hard - "eslint-plugin-es@npm:^4.1.0": version: 4.1.0 resolution: "eslint-plugin-es@npm:4.1.0" @@ -6689,26 +6715,23 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:2.26.0": - version: 2.26.0 - resolution: "eslint-plugin-import@npm:2.26.0" +"eslint-plugin-import-x@npm:^4.3.0": + version: 4.3.0 + resolution: "eslint-plugin-import-x@npm:4.3.0" dependencies: - array-includes: "npm:^3.1.4" - array.prototype.flat: "npm:^1.2.5" - debug: "npm:^2.6.9" - doctrine: "npm:^2.1.0" - eslint-import-resolver-node: "npm:^0.3.6" - eslint-module-utils: "npm:^2.7.3" - has: "npm:^1.0.3" - is-core-module: "npm:^2.8.1" + "@typescript-eslint/utils": "npm:^8.1.0" + debug: "npm:^4.3.4" + doctrine: "npm:^3.0.0" + eslint-import-resolver-node: "npm:^0.3.9" + get-tsconfig: "npm:^4.7.3" is-glob: "npm:^4.0.3" - minimatch: "npm:^3.1.2" - object.values: "npm:^1.1.5" - resolve: "npm:^1.22.0" - tsconfig-paths: "npm:^3.14.1" + minimatch: "npm:^9.0.3" + semver: "npm:^7.6.3" + stable-hash: "npm:^0.0.4" + tslib: "npm:^2.6.3" peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 10/80322d0414c6d6b6f8ddb77a87ede733d7af8536461cbc977e0da9a9e7bd976aa588488a5f310383b914111f496c0a259d2752f402e5880b16ecc48aca89b29e + eslint: ^8.57.0 || ^9.0.0 + checksum: 10/ca59029c2167abe46f6ae0b2cc25b54531fc7018a9529d0a9483af38efdd9d27382fc843502a98141dd4d3bf3e7bfaa1a556b4e179865c8891d5854ab627936f languageName: node linkType: hard @@ -6730,20 +6753,24 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^39.9.1": - version: 39.9.1 - resolution: "eslint-plugin-jsdoc@npm:39.9.1" +"eslint-plugin-jsdoc@npm:^50.2.4": + version: 50.2.4 + resolution: "eslint-plugin-jsdoc@npm:50.2.4" dependencies: - "@es-joy/jsdoccomment": "npm:~0.36.1" - comment-parser: "npm:1.3.1" - debug: "npm:^4.3.4" + "@es-joy/jsdoccomment": "npm:~0.48.0" + are-docs-informative: "npm:^0.0.2" + comment-parser: "npm:1.4.1" + debug: "npm:^4.3.6" escape-string-regexp: "npm:^4.0.0" - esquery: "npm:^1.4.0" - semver: "npm:^7.3.8" - spdx-expression-parse: "npm:^3.0.1" + espree: "npm:^10.1.0" + esquery: "npm:^1.6.0" + parse-imports: "npm:^2.1.1" + semver: "npm:^7.6.3" + spdx-expression-parse: "npm:^4.0.0" + synckit: "npm:^0.9.1" peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - checksum: 10/8c2bebd301847cd1b74bc0b62269ef25d8d15ea178bfcb7cee959633b5e6fc8d92d9228b502eb4d29c2db6742412f635e8b918a3660c3cd0ad90a66d6eb98936 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 10/0e1c9830ce47805f1b90ba754c94288d5c091920a25edf4c1a2796dba2cb0388195b86997c1ebadaafaf98691da5a563e258c80fa495de7354c6e4e599a46902 languageName: node linkType: hard @@ -6765,27 +6792,32 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^4.2.1": - version: 4.2.1 - resolution: "eslint-plugin-prettier@npm:4.2.1" +"eslint-plugin-prettier@npm:^5.2.1": + version: 5.2.1 + resolution: "eslint-plugin-prettier@npm:5.2.1" dependencies: prettier-linter-helpers: "npm:^1.0.0" + synckit: "npm:^0.9.1" peerDependencies: - eslint: ">=7.28.0" - prettier: ">=2.0.0" + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" peerDependenciesMeta: + "@types/eslint": + optional: true eslint-config-prettier: optional: true - checksum: 10/d387f85dd1bfcb6bc6b794845fee6afb9ebb2375653de6bcde6e615892fb97f85121a7c012a4651b181fc09953bdf54c9bc70cab7ad297019d89ae87dd007e28 + checksum: 10/10ddf68215237e327af09a47adab4c63f3885fda4fb28c4c42d1fc5f47d8a0cc45df6484799360ff1417a0aa3c77c3aaac49d7e9dfd145557b17e2d7ecc2a27c languageName: node linkType: hard -"eslint-plugin-promise@npm:^6.1.1": - version: 6.6.0 - resolution: "eslint-plugin-promise@npm:6.6.0" +"eslint-plugin-promise@npm:^7.1.0": + version: 7.1.0 + resolution: "eslint-plugin-promise@npm:7.1.0" peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - checksum: 10/c2b5604efd7e1390c132fcbf06cb2f072c956ffa65c14a991cb74ba1e2327357797239cb5b9b292d5e4010301bb897bd85a6273d7873fb157edc46aa2d95cbd9 + checksum: 10/ae2c6245d45beac99d55a7ca0b517c04d995238af1bce6c4bb4bfc9be03d8dd7f3ceb9d383822e78a043817664e3c1341486e89ac82955f3cd9c88fa3e17951b languageName: node linkType: hard @@ -6809,6 +6841,16 @@ __metadata: languageName: node linkType: hard +"eslint-scope@npm:^8.0.2": + version: 8.0.2 + resolution: "eslint-scope@npm:8.0.2" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10/d17c2e1ff4d3a98911414a954531078db912e2747d6da8ea4cafd16d0526e32086c676ce9aeaffb3ca0ff695fc951ac3169d7f08a0b42962db683dff126cc95b + languageName: node + linkType: hard + "eslint-utils@npm:^2.0.0": version: 2.1.0 resolution: "eslint-utils@npm:2.1.0" @@ -6850,6 +6892,13 @@ __metadata: languageName: node linkType: hard +"eslint-visitor-keys@npm:^4.0.0": + version: 4.0.0 + resolution: "eslint-visitor-keys@npm:4.0.0" + checksum: 10/c7617166e6291a15ce2982b5c4b9cdfb6409f5c14562712d12e2584480cdf18609694b21d7dad35b02df0fa2cd037505048ded54d2f405c64f600949564eb334 + languageName: node + linkType: hard + "eslint@npm:^8.44.0": version: 8.57.0 resolution: "eslint@npm:8.57.0" @@ -6898,7 +6947,70 @@ __metadata: languageName: node linkType: hard -"espree@npm:^9.6.0, espree@npm:^9.6.1": +"eslint@npm:^9.11.0": + version: 9.11.1 + resolution: "eslint@npm:9.11.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.11.0" + "@eslint/config-array": "npm:^0.18.0" + "@eslint/core": "npm:^0.6.0" + "@eslint/eslintrc": "npm:^3.1.0" + "@eslint/js": "npm:9.11.1" + "@eslint/plugin-kit": "npm:^0.2.0" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@humanwhocodes/retry": "npm:^0.3.0" + "@nodelib/fs.walk": "npm:^1.2.8" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.2" + debug: "npm:^4.3.2" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^8.0.2" + eslint-visitor-keys: "npm:^4.0.0" + espree: "npm:^10.1.0" + esquery: "npm:^1.5.0" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^8.0.0" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + is-path-inside: "npm:^3.0.3" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + strip-ansi: "npm:^6.0.1" + text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true + bin: + eslint: bin/eslint.js + checksum: 10/38de03a51044a5f708c93302cff5e860355447d424f1a21fa67f5b2f0541d092d3f3807c0242820d9795553a3f1165db51769e9a042816334d05c86f015fdfef + languageName: node + linkType: hard + +"espree@npm:^10.0.1, espree@npm:^10.1.0": + version: 10.1.0 + resolution: "espree@npm:10.1.0" + dependencies: + acorn: "npm:^8.12.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.0.0" + checksum: 10/a673aa39a19a51763d92272f8f3772ae3d4b10624740bb72d5f273b631b43f1a5a32b385c1da6ae6bc10be05a5913bc4679ebd22a09c7b336a745204834806ea + languageName: node + linkType: hard + +"espree@npm:^9.6.0, espree@npm:^9.6.1": version: 9.6.1 resolution: "espree@npm:9.6.1" dependencies: @@ -6919,7 +7031,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.0, esquery@npm:^1.4.2": +"esquery@npm:^1.4.2, esquery@npm:^1.5.0, esquery@npm:^1.6.0": version: 1.6.0 resolution: "esquery@npm:1.6.0" dependencies: @@ -7249,7 +7361,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -7351,6 +7463,15 @@ __metadata: languageName: node linkType: hard +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" + dependencies: + flat-cache: "npm:^4.0.0" + checksum: 10/afe55c4de4e0d226a23c1eae62a7219aafb390859122608a89fa4df6addf55c7fd3f1a2da6f5b41e7cdff496e4cf28bbd215d53eab5c817afa96d2b40c81bfb0 + languageName: node + linkType: hard + "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -7458,6 +7579,16 @@ __metadata: languageName: node linkType: hard +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + checksum: 10/58ce851d9045fffc7871ce2bd718bc485ad7e777bf748c054904b87c351ff1080c2c11da00788d78738bfb51b71e4d5ea12d13b98eb36e3358851ffe495b62dc + languageName: node + linkType: hard + "flatted@npm:^3.2.9": version: 3.3.1 resolution: "flatted@npm:3.3.1" @@ -7574,25 +7705,6 @@ __metadata: languageName: node linkType: hard -"function.prototype.name@npm:^1.1.6": - version: 1.1.6 - resolution: "function.prototype.name@npm:1.1.6" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - functions-have-names: "npm:^1.2.3" - checksum: 10/4d40be44d4609942e4e90c4fff77a811fa936f4985d92d2abfcf44f673ba344e2962bf223a33101f79c1a056465f36f09b072b9c289d7660ca554a12491cd5a2 - languageName: node - linkType: hard - -"functions-have-names@npm:^1.2.3": - version: 1.2.3 - resolution: "functions-have-names@npm:1.2.3" - checksum: 10/0ddfd3ed1066a55984aaecebf5419fbd9344a5c38dd120ffb0739fac4496758dcf371297440528b115e4367fc46e3abc86a2cc0ff44612181b175ae967a11a05 - languageName: node - linkType: hard - "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -7607,7 +7719,7 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": +"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.4": version: 1.2.4 resolution: "get-intrinsic@npm:1.2.4" dependencies: @@ -7655,14 +7767,12 @@ __metadata: languageName: node linkType: hard -"get-symbol-description@npm:^1.0.2": - version: 1.0.2 - resolution: "get-symbol-description@npm:1.0.2" +"get-tsconfig@npm:^4.7.3": + version: 4.8.1 + resolution: "get-tsconfig@npm:4.8.1" dependencies: - call-bind: "npm:^1.0.5" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - checksum: 10/e1cb53bc211f9dbe9691a4f97a46837a553c4e7caadd0488dc24ac694db8a390b93edd412b48dcdd0b4bbb4c595de1709effc75fc87c0839deedc6968f5bd973 + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10/3fb5a8ad57b9633eaea085d81661e9e5c9f78b35d8f8689eaf8b8b45a2a3ebf3b3422266d4d7df765e308cc1e6231648d114803ab3d018332e29916f2c1de036 languageName: node linkType: hard @@ -7770,13 +7880,17 @@ __metadata: languageName: node linkType: hard -"globalthis@npm:^1.0.3": - version: 1.0.4 - resolution: "globalthis@npm:1.0.4" - dependencies: - define-properties: "npm:^1.2.1" - gopd: "npm:^1.0.1" - checksum: 10/1f1fd078fb2f7296306ef9dd51019491044ccf17a59ed49d375b576ca108ff37e47f3d29aead7add40763574a992f16a5367dd1e2173b8634ef18556ab719ac4 +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10/03939c8af95c6df5014b137cac83aa909090c3a3985caef06ee9a5a669790877af8698ab38007e4c0186873adc14c0b13764acc754b16a754c216cc56aa5f021 + languageName: node + linkType: hard + +"globals@npm:^15.9.0": + version: 15.9.0 + resolution: "globals@npm:15.9.0" + checksum: 10/19bca70131c5d3e0d4171deed0f8ae16adda19f18d39b67421056f1eaa160b4433c3ffc8eb69b8b19adebbbdad4834d8a0494c5fe1ae295f0f769a5c0331d794 languageName: node linkType: hard @@ -7830,13 +7944,6 @@ __metadata: languageName: node linkType: hard -"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": - version: 1.0.2 - resolution: "has-bigints@npm:1.0.2" - checksum: 10/4e0426c900af034d12db14abfece02ce7dbf53f2022d28af1a97913ff4c07adb8799476d57dc44fbca0e07d1dbda2a042c2928b1f33d3f09c15de0640a7fb81b - languageName: node - linkType: hard - "has-flag@npm:^3.0.0": version: 3.0.0 resolution: "has-flag@npm:3.0.0" @@ -7860,14 +7967,14 @@ __metadata: languageName: node linkType: hard -"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": +"has-proto@npm:^1.0.1": version: 1.0.3 resolution: "has-proto@npm:1.0.3" checksum: 10/0b67c2c94e3bea37db3e412e3c41f79d59259875e636ba471e94c009cdfb1fa82bf045deeffafc7dbb9c148e36cae6b467055aaa5d9fad4316e11b41e3ba551a languageName: node linkType: hard -"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": +"has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" checksum: 10/464f97a8202a7690dadd026e6d73b1ceeddd60fe6acfd06151106f050303eaa75855aaa94969df8015c11ff7c505f196114d22f7386b4a471038da5874cf5e9b @@ -7883,13 +7990,6 @@ __metadata: languageName: node linkType: hard -"has@npm:^1.0.3": - version: 1.0.4 - resolution: "has@npm:1.0.4" - checksum: 10/c245f332fe78c7b6b8753857240ac12b3286f995f656a33c77e0f5baab7d0157e6ddb1c34940ffd2bffc51f75ede50cd8b29ff65c13e336376aca8cf3df58043 - languageName: node - linkType: hard - "hash-base@npm:^3.0.0": version: 3.1.0 resolution: "hash-base@npm:3.1.0" @@ -7911,7 +8011,7 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": +"hasown@npm:^2.0.0, hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" dependencies: @@ -8087,7 +8187,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4": +"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10/cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98 @@ -8175,17 +8275,6 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.7": - version: 1.0.7 - resolution: "internal-slot@npm:1.0.7" - dependencies: - es-errors: "npm:^1.3.0" - hasown: "npm:^2.0.0" - side-channel: "npm:^1.0.4" - checksum: 10/3e66720508831153ecf37d13def9f6856f9f2960989ec8a0a0476c98f887fca9eff0163127466485cb825c900c2d6fc601aa9117b7783b90ffce23a71ea5d053 - languageName: node - linkType: hard - "ip-address@npm:^9.0.5": version: 9.0.5 resolution: "ip-address@npm:9.0.5" @@ -8206,16 +8295,6 @@ __metadata: languageName: node linkType: hard -"is-array-buffer@npm:^3.0.4": - version: 3.0.4 - resolution: "is-array-buffer@npm:3.0.4" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.1" - checksum: 10/34a26213d981d58b30724ef37a1e0682f4040d580fa9ff58fdfdd3cefcb2287921718c63971c1c404951e7b747c50fdc7caf6e867e951353fa71b369c04c969b - languageName: node - linkType: hard - "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -8223,26 +8302,7 @@ __metadata: languageName: node linkType: hard -"is-bigint@npm:^1.0.1": - version: 1.0.4 - resolution: "is-bigint@npm:1.0.4" - dependencies: - has-bigints: "npm:^1.0.1" - checksum: 10/cc981cf0564c503aaccc1e5f39e994ae16ae2d1a8fcd14721f14ad431809071f39ec568cfceef901cff408045f1a6d6bac90d1b43eeb0b8e3bc34c8eb1bdb4c4 - languageName: node - linkType: hard - -"is-boolean-object@npm:^1.1.0": - version: 1.1.2 - resolution: "is-boolean-object@npm:1.1.2" - dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10/ba794223b56a49a9f185e945eeeb6b7833b8ea52a335cec087d08196cf27b538940001615d3bb976511287cefe94e5907d55f00bb49580533f9ca9b4515fcc2e - languageName: node - linkType: hard - -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": +"is-callable@npm:^1.1.3": version: 1.2.7 resolution: "is-callable@npm:1.2.7" checksum: 10/48a9297fb92c99e9df48706241a189da362bff3003354aea4048bd5f7b2eb0d823cd16d0a383cece3d76166ba16d85d9659165ac6fcce1ac12e6c649d66dbdb9 @@ -8260,7 +8320,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.8.1": +"is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.0, is-core-module@npm:^2.13.0": version: 2.15.1 resolution: "is-core-module@npm:2.15.1" dependencies: @@ -8269,24 +8329,6 @@ __metadata: languageName: node linkType: hard -"is-data-view@npm:^1.0.1": - version: 1.0.1 - resolution: "is-data-view@npm:1.0.1" - dependencies: - is-typed-array: "npm:^1.1.13" - checksum: 10/4ba4562ac2b2ec005fefe48269d6bd0152785458cd253c746154ffb8a8ab506a29d0cfb3b74af87513843776a88e4981ae25c89457bf640a33748eab1a7216b5 - languageName: node - linkType: hard - -"is-date-object@npm:^1.0.1": - version: 1.0.5 - resolution: "is-date-object@npm:1.0.5" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10/cc80b3a4b42238fa0d358b9a6230dae40548b349e64a477cb7c5eff9b176ba194c11f8321daaf6dd157e44073e9b7fd01f87db1f14952a88d5657acdcd3a56e2 - languageName: node - linkType: hard - "is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -8374,22 +8416,6 @@ __metadata: languageName: node linkType: hard -"is-negative-zero@npm:^2.0.3": - version: 2.0.3 - resolution: "is-negative-zero@npm:2.0.3" - checksum: 10/8fe5cffd8d4fb2ec7b49d657e1691889778d037494c6f40f4d1a524cadd658b4b53ad7b6b73a59bcb4b143ae9a3d15829af864b2c0f9d65ac1e678c4c80f17e5 - languageName: node - linkType: hard - -"is-number-object@npm:^1.0.4": - version: 1.0.7 - resolution: "is-number-object@npm:1.0.7" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10/8700dcf7f602e0a9625830541345b8615d04953655acbf5c6d379c58eb1af1465e71227e95d501343346e1d49b6f2d53cbc166b1fc686a7ec19151272df582f9 - languageName: node - linkType: hard - "is-number@npm:^7.0.0": version: 7.0.0 resolution: "is-number@npm:7.0.0" @@ -8418,25 +8444,6 @@ __metadata: languageName: node linkType: hard -"is-regex@npm:^1.1.4": - version: 1.1.4 - resolution: "is-regex@npm:1.1.4" - dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10/36d9174d16d520b489a5e9001d7d8d8624103b387be300c50f860d9414556d0485d74a612fdafc6ebbd5c89213d947dcc6b6bff6b2312093f71ea03cbb19e564 - languageName: node - linkType: hard - -"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": - version: 1.0.3 - resolution: "is-shared-array-buffer@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.7" - checksum: 10/bc5402900dc62b96ebb2548bf5b0a0bcfacc2db122236fe3ab3b3e3c884293a0d5eb777e73f059bcbf8dc8563bb65eae972fee0fb97e38a9ae27c8678f62bcfe - languageName: node - linkType: hard - "is-stream@npm:^2.0.0": version: 2.0.1 resolution: "is-stream@npm:2.0.1" @@ -8451,25 +8458,7 @@ __metadata: languageName: node linkType: hard -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10/2bc292fe927493fb6dfc3338c099c3efdc41f635727c6ebccf704aeb2a27bca7acb9ce6fd34d103db78692b10b22111a8891de26e12bfa1c5e11e263c99d1fef - languageName: node - linkType: hard - -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": - version: 1.0.4 - resolution: "is-symbol@npm:1.0.4" - dependencies: - has-symbols: "npm:^1.0.2" - checksum: 10/a47dd899a84322528b71318a89db25c7ecdec73197182dad291df15ffea501e17e3c92c8de0bfb50e63402747399981a687b31c519971b1fa1a27413612be929 - languageName: node - linkType: hard - -"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.3": +"is-typed-array@npm:^1.1.3": version: 1.1.13 resolution: "is-typed-array@npm:1.1.13" dependencies: @@ -8492,15 +8481,6 @@ __metadata: languageName: node linkType: hard -"is-weakref@npm:^1.0.2": - version: 1.0.2 - resolution: "is-weakref@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - checksum: 10/0023fd0e4bdf9c338438ffbe1eed7ebbbff7e7e18fb7cdc227caaf9d4bd024a2dcdf6a8c9f40c92192022eac8391243bb9e66cccebecbf6fe1d8a366108f8513 - languageName: node - linkType: hard - "is-windows@npm:^1.0.1": version: 1.0.2 resolution: "is-windows@npm:1.0.2" @@ -8515,13 +8495,6 @@ __metadata: languageName: node linkType: hard -"isarray@npm:^2.0.5": - version: 2.0.5 - resolution: "isarray@npm:2.0.5" - checksum: 10/1d8bc7911e13bb9f105b1b3e0b396c787a9e63046af0b8fe0ab1414488ab06b2b099b87a2d8a9e31d21c9a6fad773c7fc8b257c4880f2d957274479d28ca3414 - languageName: node - linkType: hard - "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -9280,10 +9253,10 @@ __metadata: languageName: node linkType: hard -"jsdoc-type-pratt-parser@npm:~3.1.0": - version: 3.1.0 - resolution: "jsdoc-type-pratt-parser@npm:3.1.0" - checksum: 10/973e86fdbc4af15fa5057c62b1ba314db08e2daf8205fd1b7ae2860598b3acbd937bbba01737c0d473f4354f4c1ea85e231f468569ff25bed5d82125642eb38e +"jsdoc-type-pratt-parser@npm:~4.1.0": + version: 4.1.0 + resolution: "jsdoc-type-pratt-parser@npm:4.1.0" + checksum: 10/30d88f95f6cbb4a1aa6d4b0d0ae46eb1096e606235ecaf9bab7a3ed5da860516b5d1cd967182765002f292c627526db918f3e56d34637bcf810e6ef84d403f3f languageName: node linkType: hard @@ -9454,7 +9427,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.3": +"keyv@npm:^4.5.3, keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -9814,7 +9787,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -9923,13 +9896,6 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.0.0": - version: 2.0.0 - resolution: "ms@npm:2.0.0" - checksum: 10/0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 - languageName: node - linkType: hard - "ms@npm:2.1.2": version: 2.1.2 resolution: "ms@npm:2.1.2" @@ -9937,7 +9903,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:^2.1.1": +"ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10/aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -10221,7 +10187,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": +"object.assign@npm:^4.1.4": version: 4.1.5 resolution: "object.assign@npm:4.1.5" dependencies: @@ -10233,17 +10199,6 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.5": - version: 1.2.0 - resolution: "object.values@npm:1.2.0" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10/db2e498019c354428c5dd30d02980d920ac365b155fce4dcf63eb9433f98ccf0f72624309e182ce7cc227c95e45d474e1d483418e60de2293dd23fa3ebe34903 - languageName: node - linkType: hard - "once@npm:^1.3.0, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -10402,6 +10357,16 @@ __metadata: languageName: node linkType: hard +"parse-imports@npm:^2.1.1": + version: 2.2.1 + resolution: "parse-imports@npm:2.2.1" + dependencies: + es-module-lexer: "npm:^1.5.3" + slashes: "npm:^3.0.12" + checksum: 10/db1d98077587d23bfa1f136abae158ea08e1e588d0260dfc0769092be86b842c798ae47466742b1d9bc106d3430cebbd9730fc34872a2c0e72b9ff720986e82e + languageName: node + linkType: hard + "parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -10620,7 +10585,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^2.7.1, prettier@npm:^2.8.8": +"prettier@npm:^2.8.8": version: 2.8.8 resolution: "prettier@npm:2.8.8" bin: @@ -10629,6 +10594,15 @@ __metadata: languageName: node linkType: hard +"prettier@npm:^3.3.3": + version: 3.3.3 + resolution: "prettier@npm:3.3.3" + bin: + prettier: bin/prettier.cjs + checksum: 10/5beac1f30b5b40162532b8e2f7c3a4eb650910a2695e9c8512a62ffdc09dae93190c29db9107fa7f26d1b6c71aad3628ecb9b5de1ecb0911191099be109434d7 + languageName: node + linkType: hard + "pretty-format@npm:^27.0.0, pretty-format@npm:^27.5.1": version: 27.5.1 resolution: "pretty-format@npm:27.5.1" @@ -10873,18 +10847,6 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.2": - version: 1.5.2 - resolution: "regexp.prototype.flags@npm:1.5.2" - dependencies: - call-bind: "npm:^1.0.6" - define-properties: "npm:^1.2.1" - es-errors: "npm:^1.3.0" - set-function-name: "npm:^2.0.1" - checksum: 10/9fffc01da9c4e12670ff95bc5204364615fcc12d86fc30642765af908675678ebb0780883c874b2dbd184505fb52fa603d80073ecf69f461ce7f56b15d10be9c - languageName: node - linkType: hard - "regexpp@npm:^3.0.0": version: 3.2.0 resolution: "regexpp@npm:3.2.0" @@ -10960,6 +10922,13 @@ __metadata: languageName: node linkType: hard +"resolve-pkg-maps@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-pkg-maps@npm:1.0.0" + checksum: 10/0763150adf303040c304009231314d1e84c6e5ebfa2d82b7d94e96a6e82bacd1dcc0b58ae257315f3c8adb89a91d8d0f12928241cba2df1680fbe6f60bf99b0e + languageName: node + linkType: hard + "resolve.exports@npm:^1.1.0": version: 1.1.1 resolution: "resolve.exports@npm:1.1.1" @@ -11092,18 +11061,6 @@ __metadata: languageName: node linkType: hard -"safe-array-concat@npm:^1.1.2": - version: 1.1.2 - resolution: "safe-array-concat@npm:1.1.2" - dependencies: - call-bind: "npm:^1.0.7" - get-intrinsic: "npm:^1.2.4" - has-symbols: "npm:^1.0.3" - isarray: "npm:^2.0.5" - checksum: 10/a54f8040d7cb696a1ee38d19cc71ab3cfb654b9b81bae00c6459618cfad8214ece7e6666592f9c925aafef43d0a20c5e6fbb3413a2b618e1ce9d516a2e6dcfc5 - languageName: node - linkType: hard - "safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" @@ -11118,17 +11075,6 @@ __metadata: languageName: node linkType: hard -"safe-regex-test@npm:^1.0.3": - version: 1.0.3 - resolution: "safe-regex-test@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.6" - es-errors: "npm:^1.3.0" - is-regex: "npm:^1.1.4" - checksum: 10/b04de61114b10274d92e25b6de7ccb5de07f11ea15637ff636de4b5190c0f5cd8823fe586dde718504cf78055437d70fd8804976894df502fcf5a210c970afb3 - languageName: node - linkType: hard - "safe-stable-stringify@npm:^2.4.3": version: 2.5.0 resolution: "safe-stable-stringify@npm:2.5.0" @@ -11219,18 +11165,6 @@ __metadata: languageName: node linkType: hard -"set-function-name@npm:^2.0.1": - version: 2.0.2 - resolution: "set-function-name@npm:2.0.2" - dependencies: - define-data-property: "npm:^1.1.4" - es-errors: "npm:^1.3.0" - functions-have-names: "npm:^1.2.3" - has-property-descriptors: "npm:^1.0.2" - checksum: 10/c7614154a53ebf8c0428a6c40a3b0b47dac30587c1a19703d1b75f003803f73cdfa6a93474a9ba678fa565ef5fbddc2fae79bca03b7d22ab5fd5163dbe571a74 - languageName: node - linkType: hard - "set-immediate-shim@npm:^1.0.1": version: 1.0.1 resolution: "set-immediate-shim@npm:1.0.1" @@ -11285,7 +11219,7 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": +"side-channel@npm:^1.0.6": version: 1.0.6 resolution: "side-channel@npm:1.0.6" dependencies: @@ -11376,6 +11310,13 @@ __metadata: languageName: node linkType: hard +"slashes@npm:^3.0.12": + version: 3.0.12 + resolution: "slashes@npm:3.0.12" + checksum: 10/c221d73765013db64f3eaf49dacc6b99a5d5477e63720c1bb71d1af647965dda23ab100ca1eb622e080f11ffe68e1e0a233b7b908073260bed4ec819ff1d3e42 + languageName: node + linkType: hard + "slice-ansi@npm:^4.0.0": version: 4.0.0 resolution: "slice-ansi@npm:4.0.0" @@ -11488,7 +11429,7 @@ __metadata: languageName: node linkType: hard -"spdx-expression-parse@npm:^3.0.0, spdx-expression-parse@npm:^3.0.1": +"spdx-expression-parse@npm:^3.0.0": version: 3.0.1 resolution: "spdx-expression-parse@npm:3.0.1" dependencies: @@ -11498,6 +11439,16 @@ __metadata: languageName: node linkType: hard +"spdx-expression-parse@npm:^4.0.0": + version: 4.0.0 + resolution: "spdx-expression-parse@npm:4.0.0" + dependencies: + spdx-exceptions: "npm:^2.1.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 10/936be681fbf5edeec3a79c023136479f70d6edb3fd3875089ac86cd324c6c8c81add47399edead296d1d0af17ae5ce88c7f88885eb150b62c2ff6e535841ca6a + languageName: node + linkType: hard + "spdx-license-ids@npm:^3.0.0": version: 3.0.20 resolution: "spdx-license-ids@npm:3.0.20" @@ -11528,6 +11479,13 @@ __metadata: languageName: node linkType: hard +"stable-hash@npm:^0.0.4": + version: 0.0.4 + resolution: "stable-hash@npm:0.0.4" + checksum: 10/21c039d21c1cb739cf8342561753a5e007cb95ea682ccd452e76310bbb9c6987a89de8eda023e320b019f3e4691aabda75079cdbb7dadf7ab9013e931f2f23cd + languageName: node + linkType: hard + "stack-utils@npm:^2.0.3": version: 2.0.6 resolution: "stack-utils@npm:2.0.6" @@ -11593,40 +11551,6 @@ __metadata: languageName: node linkType: hard -"string.prototype.trim@npm:^1.2.9": - version: 1.2.9 - resolution: "string.prototype.trim@npm:1.2.9" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.0" - es-object-atoms: "npm:^1.0.0" - checksum: 10/b2170903de6a2fb5a49bb8850052144e04b67329d49f1343cdc6a87cb24fb4e4b8ad00d3e273a399b8a3d8c32c89775d93a8f43cb42fbff303f25382079fb58a - languageName: node - linkType: hard - -"string.prototype.trimend@npm:^1.0.8": - version: 1.0.8 - resolution: "string.prototype.trimend@npm:1.0.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10/c2e862ae724f95771da9ea17c27559d4eeced9208b9c20f69bbfcd1b9bc92375adf8af63a103194dba17c4cc4a5cb08842d929f415ff9d89c062d44689c8761b - languageName: node - linkType: hard - -"string.prototype.trimstart@npm:^1.0.8": - version: 1.0.8 - resolution: "string.prototype.trimstart@npm:1.0.8" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10/160167dfbd68e6f7cb9f51a16074eebfce1571656fc31d40c3738ca9e30e35496f2c046fe57b6ad49f65f238a152be8c86fd9a2dd58682b5eba39dad995b3674 - languageName: node - linkType: hard - "string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -11756,7 +11680,7 @@ __metadata: languageName: node linkType: hard -"synckit@npm:0.9.1": +"synckit@npm:0.9.1, synckit@npm:^0.9.1": version: 0.9.1 resolution: "synckit@npm:0.9.1" dependencies: @@ -11909,6 +11833,15 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^1.3.0": + version: 1.3.0 + resolution: "ts-api-utils@npm:1.3.0" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10/3ee44faa24410cd649b5c864e068d438aa437ef64e9e4a66a41646a6d3024d3097a695eeb3fb26ee364705d3cb9653a65756d009e6a53badb6066a5f447bf7ed + languageName: node + linkType: hard + "ts-jest@npm:^27.1.4": version: 27.1.5 resolution: "ts-jest@npm:27.1.5" @@ -12006,7 +11939,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.6.2": +"tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.6.3": version: 2.7.0 resolution: "tslib@npm:2.7.0" checksum: 10/9a5b47ddac65874fa011c20ff76db69f97cf90c78cff5934799ab8894a5342db2d17b4e7613a087046bc1d133d21547ddff87ac558abeec31ffa929c88b7fce6 @@ -12089,58 +12022,6 @@ __metadata: languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-buffer@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.7" - es-errors: "npm:^1.3.0" - is-typed-array: "npm:^1.1.13" - checksum: 10/02ffc185d29c6df07968272b15d5319a1610817916ec8d4cd670ded5d1efe72901541ff2202fcc622730d8a549c76e198a2f74e312eabbfb712ed907d45cbb0b - languageName: node - linkType: hard - -"typed-array-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "typed-array-byte-length@npm:1.0.1" - dependencies: - call-bind: "npm:^1.0.7" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - checksum: 10/e4a38329736fe6a73b52a09222d4a9e8de14caaa4ff6ad8e55217f6705b017d9815b7284c85065b3b8a7704e226ccff1372a72b78c2a5b6b71b7bf662308c903 - languageName: node - linkType: hard - -"typed-array-byte-offset@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-byte-offset@npm:1.0.2" - dependencies: - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - checksum: 10/ac26d720ebb2aacbc45e231347c359e6649f52e0cfe0e76e62005912f8030d68e4cb7b725b1754e8fdd48e433cb68df5a8620a3e420ad1457d666e8b29bf9150 - languageName: node - linkType: hard - -"typed-array-length@npm:^1.0.6": - version: 1.0.6 - resolution: "typed-array-length@npm:1.0.6" - dependencies: - call-bind: "npm:^1.0.7" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - possible-typed-array-names: "npm:^1.0.0" - checksum: 10/05e96cf4ff836743ebfc593d86133b8c30e83172cb5d16c56814d7bacfed57ce97e87ada9c4b2156d9aaa59f75cdef01c25bd9081c7826e0b869afbefc3e8c39 - languageName: node - linkType: hard - "typedarray-to-buffer@npm:^3.1.5": version: 3.1.5 resolution: "typedarray-to-buffer@npm:3.1.5" @@ -12182,6 +12063,20 @@ __metadata: languageName: node linkType: hard +"typescript-eslint@npm:^8.7.0": + version: 8.7.0 + resolution: "typescript-eslint@npm:8.7.0" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.7.0" + "@typescript-eslint/parser": "npm:8.7.0" + "@typescript-eslint/utils": "npm:8.7.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/03db77621e24727cbc3c89a6ee5c87e6e407eb314da56561845248f07886f291c3533caa99fe22cfa262c02f588cd109c0f13a397769eead4e3c92ca62c39aec + languageName: node + linkType: hard + "typescript@npm:~5.2.2": version: 5.2.2 resolution: "typescript@npm:5.2.2" @@ -12202,18 +12097,6 @@ __metadata: languageName: node linkType: hard -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - has-bigints: "npm:^1.0.2" - has-symbols: "npm:^1.0.3" - which-boxed-primitive: "npm:^1.0.2" - checksum: 10/06e1ee41c1095e37281cb71a975cb3350f7cb470a0665d2576f02cc9564f623bd90cfc0183693b8a7fdf2d242963dcc3010b509fa3ac683f540c765c0f3e7e43 - languageName: node - linkType: hard - "undici-types@npm:~6.19.2": version: 6.19.8 resolution: "undici-types@npm:6.19.8" @@ -12531,20 +12414,7 @@ __metadata: languageName: node linkType: hard -"which-boxed-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "which-boxed-primitive@npm:1.0.2" - dependencies: - is-bigint: "npm:^1.0.1" - is-boolean-object: "npm:^1.1.0" - is-number-object: "npm:^1.0.4" - is-string: "npm:^1.0.5" - is-symbol: "npm:^1.0.3" - checksum: 10/9c7ca7855255f25ac47f4ce8b59c4cc33629e713fd7a165c9d77a2bb47bf3d9655a5664660c70337a3221cf96742f3589fae15a3a33639908d33e29aa2941efb - languageName: node - linkType: hard - -"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.2": +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.2": version: 1.1.15 resolution: "which-typed-array@npm:1.1.15" dependencies: From dad59c210f1e1dfe43e13a44f77bd4a65bd1573f Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Tue, 24 Sep 2024 07:31:01 -0400 Subject: [PATCH 03/12] Update lint workflow --- .github/workflows/lint-build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index b5c0fc8c1b..3565b40408 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -53,7 +53,7 @@ jobs: node-version: ${{ matrix.node-version }} cache: yarn - run: yarn --immutable - - run: yarn lint + - run: yarn eslint - name: Require clean working directory shell: bash run: | From 566464124e9c175246c785259f3b498431fdb862 Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Tue, 24 Sep 2024 12:21:32 -0400 Subject: [PATCH 04/12] Refactor eslint config to fit new `FlatConfig` schema --- eslint.config.mjs | 160 +++++++++++++++++++++++----------------------- 1 file changed, 81 insertions(+), 79 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 5fd13c7a5f..f30ec3f55f 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,8 +1,12 @@ -import typescript from 'typescript-eslint'; +import base from '@metamask/eslint-config'; +import nodejs from '@metamask/eslint-config-nodejs'; +import jest from '@metamask/eslint-config-jest'; +import typescript from '@metamask/eslint-config-typescript'; +import tseslint from 'typescript-eslint'; -const config = typescript.config({ - extends: ['@metamask/eslint-config', '@metamask/eslint-config-nodejs'], - ignorePatterns: [ +const config = tseslint.config({ + extends: [...base, ...nodejs], + ignores: [ '!.eslintrc.js', '!jest.config.js', 'node_modules', @@ -12,81 +16,6 @@ const config = typescript.config({ 'merged-packages', 'scripts/create-package/package-template', ], - overrides: [ - { - files: ['*.test.{ts,js}', '**/tests/**/*.{ts,js}'], - extends: ['@metamask/eslint-config-jest'], - }, - { - // These files are test helpers, not tests. We still use the Jest ESLint - // config here to ensure that ESLint expects a test-like environment, but - // various rules meant just to apply to tests have been disabled. - files: ['**/tests/**/*.{ts,js}', '!*.test.{ts,js}'], - rules: { - 'jest/no-export': 'off', - 'jest/require-top-level-describe': 'off', - 'jest/no-if': 'off', - }, - }, - { - files: ['*.js', '*.cjs'], - parserOptions: { - sourceType: 'script', - ecmaVersion: '2020', - }, - }, - { - files: ['*.ts'], - extends: ['@metamask/eslint-config-typescript'], - parserOptions: { - project: ['./tsconfig.packages.json'], - }, - rules: { - // Enable rules that are disabled in `@metamask/eslint-config-typescript` - '@typescript-eslint/no-explicit-any': 'error', - - // TODO: auto-fix breaks stuff - '@typescript-eslint/promise-function-async': 'off', - - // TODO: re-enable most of these rules - '@typescript-eslint/no-unnecessary-type-assertion': 'off', - '@typescript-eslint/unbound-method': 'off', - '@typescript-eslint/prefer-enum-initializers': 'off', - '@typescript-eslint/prefer-nullish-coalescing': 'off', - '@typescript-eslint/prefer-optional-chain': 'off', - '@typescript-eslint/prefer-reduce-type-parameter': 'off', - 'no-restricted-syntax': 'off', - 'no-restricted-globals': 'off', - }, - }, - { - files: ['tests/setupAfterEnv/matchers.ts'], - parserOptions: { - sourceType: 'script', - }, - }, - { - files: ['*.d.ts'], - rules: { - '@typescript-eslint/naming-convention': 'warn', - 'import/unambiguous': 'off', - }, - }, - { - files: ['scripts/*.ts'], - rules: { - // All scripts will have shebangs. - 'n/shebang': 'off', - }, - }, - { - files: ['**/jest.environment.js'], - rules: { - // These files run under Node, and thus `require(...)` is expected. - 'n/global-require': 'off', - }, - }, - ], rules: { // Left disabled because various properties throughough this repo are snake_case because the // names come from external sources or must comply with standards @@ -125,6 +54,79 @@ const config = typescript.config({ mode: 'typescript', }, }, +}, +{ + files: ['*.test.{ts,js}', '**/tests/**/*.{ts,js}'], + extends: jest, +}, +{ + // These files are test helpers, not tests. We still use the Jest ESLint + // config here to ensure that ESLint expects a test-like environment, but + // various rules meant just to apply to tests have been disabled. + files: ['**/tests/**/*.{ts,js}', '!*.test.{ts,js}'], + rules: { + 'jest/no-export': 'off', + 'jest/require-top-level-describe': 'off', + 'jest/no-if': 'off', + }, +}, +{ + files: ['*.js', '*.cjs'], + parserOptions: { + sourceType: 'script', + ecmaVersion: '2020', + }, +}, +{ + files: ['*.ts'], + extends: typescript, + parserOptions: { + project: ['./tsconfig.packages.json'], + }, + rules: { + // Enable rules that are disabled in `@metamask/eslint-config-typescript` + '@typescript-eslint/no-explicit-any': 'error', + + // TODO: auto-fix breaks stuff + '@typescript-eslint/promise-function-async': 'off', + + // TODO: re-enable most of these rules + '@typescript-eslint/no-unnecessary-type-assertion': 'off', + '@typescript-eslint/unbound-method': 'off', + '@typescript-eslint/prefer-enum-initializers': 'off', + '@typescript-eslint/prefer-nullish-coalescing': 'off', + '@typescript-eslint/prefer-optional-chain': 'off', + '@typescript-eslint/prefer-reduce-type-parameter': 'off', + 'no-restricted-syntax': 'off', + 'no-restricted-globals': 'off', + }, +}, +{ + files: ['tests/setupAfterEnv/matchers.ts'], + parserOptions: { + sourceType: 'script', + }, +}, +{ + files: ['*.d.ts'], + rules: { + '@typescript-eslint/naming-convention': 'warn', + 'import/unambiguous': 'off', + }, +}, +{ + files: ['scripts/*.ts'], + rules: { + // All scripts will have shebangs. + 'n/shebang': 'off', + }, +}, +{ + files: ['**/jest.environment.js'], + rules: { + // These files run under Node, and thus `require(...)` is expected. + 'n/global-require': 'off', + }, }); export default config; From c6946ad81e8f29a48252b3c1bbe1411c6b252ced Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Tue, 24 Sep 2024 12:21:57 -0400 Subject: [PATCH 05/12] Bump `eslint-import-resolver-typescript` to latest --- package.json | 2 +- yarn.lock | 126 +++++++++++++++++++++++++++------------------------ 2 files changed, 69 insertions(+), 59 deletions(-) diff --git a/package.json b/package.json index e59a36e7ef..f14683d832 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "depcheck": "^1.4.7", "eslint": "^9.11.0", "eslint-config-prettier": "^9.1.0", - "eslint-import-resolver-typescript": "^2.5.0", + "eslint-import-resolver-typescript": "^3.6.3", "eslint-interactive": "^10.8.0", "eslint-plugin-import-x": "^4.3.0", "eslint-plugin-jest": "^27.1.5", diff --git a/yarn.lock b/yarn.lock index 8a8ab9250e..c16f1e5255 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2453,7 +2453,7 @@ __metadata: depcheck: "npm:^1.4.7" eslint: "npm:^9.11.0" eslint-config-prettier: "npm:^9.1.0" - eslint-import-resolver-typescript: "npm:^2.5.0" + eslint-import-resolver-typescript: "npm:^3.6.3" eslint-interactive: "npm:^10.8.0" eslint-plugin-import-x: "npm:^4.3.0" eslint-plugin-jest: "npm:^27.1.5" @@ -3932,6 +3932,13 @@ __metadata: languageName: node linkType: hard +"@nolyfill/is-core-module@npm:1.0.39": + version: 1.0.39 + resolution: "@nolyfill/is-core-module@npm:1.0.39" + checksum: 10/0d6e098b871eca71d875651288e1f0fa770a63478b0b50479c99dc760c64175a56b5b04f58d5581bbcc6b552b8191ab415eada093d8df9597ab3423c8cac1815 + languageName: node + linkType: hard + "@npmcli/agent@npm:^2.0.0": version: 2.2.2 resolution: "@npmcli/agent@npm:2.2.2" @@ -4459,13 +4466,6 @@ __metadata: languageName: node linkType: hard -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: 10/4e5aed58cabb2bbf6f725da13421aa50a49abb6bc17bfab6c31b8774b073fa7b50d557c61f961a09a85f6056151190f8ac95f13f5b48136ba5841f7d4484ec56 - languageName: node - linkType: hard - "@types/lodash@npm:^4.14.191": version: 4.17.7 resolution: "@types/lodash@npm:4.17.7" @@ -6240,7 +6240,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.3.6": +"debug@npm:^4.3.5, debug@npm:^4.3.6": version: 4.3.7 resolution: "debug@npm:4.3.7" dependencies: @@ -6514,6 +6514,16 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^5.15.0": + version: 5.17.1 + resolution: "enhanced-resolve@npm:5.17.1" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: 10/e8e03cb7a4bf3c0250a89afbd29e5ec20e90ba5fcd026066232a0754864d7d0a393fa6fc0e5379314a6529165a1834b36731147080714459d98924520410d8f5 + languageName: node + linkType: hard + "enquirer@npm:^2.3.6": version: 2.4.1 resolution: "enquirer@npm:2.4.1" @@ -6662,19 +6672,28 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-typescript@npm:^2.5.0": - version: 2.7.1 - resolution: "eslint-import-resolver-typescript@npm:2.7.1" +"eslint-import-resolver-typescript@npm:^3.6.3": + version: 3.6.3 + resolution: "eslint-import-resolver-typescript@npm:3.6.3" dependencies: - debug: "npm:^4.3.4" - glob: "npm:^7.2.0" + "@nolyfill/is-core-module": "npm:1.0.39" + debug: "npm:^4.3.5" + enhanced-resolve: "npm:^5.15.0" + eslint-module-utils: "npm:^2.8.1" + fast-glob: "npm:^3.3.2" + get-tsconfig: "npm:^4.7.5" + is-bun-module: "npm:^1.0.2" is-glob: "npm:^4.0.3" - resolve: "npm:^1.22.0" - tsconfig-paths: "npm:^3.14.1" peerDependencies: eslint: "*" eslint-plugin-import: "*" - checksum: 10/4a688440395673492b2e28347ba2173542dcec0bc597065469191be213e30f65b316697a950abf492f4191365626fb13231080c6ca326044df087f57d163e6c6 + eslint-plugin-import-x: "*" + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + checksum: 10/5f9956dbbd0becc3d6c6cb945dad0e5e6f529cfd0f488d5688f3c59840cd7f4a44ab6aee0f54b5c4188134dab9a01cb63c1201767bde7fc330b7c1a14747f8ac languageName: node linkType: hard @@ -6703,6 +6722,18 @@ __metadata: languageName: node linkType: hard +"eslint-module-utils@npm:^2.8.1": + version: 2.11.1 + resolution: "eslint-module-utils@npm:2.11.1" + dependencies: + debug: "npm:^3.2.7" + peerDependenciesMeta: + eslint: + optional: true + checksum: 10/88285f758cc2d4a07410a5b765cc2858319075e12bedb65ae26459f1bc5a18c2b154f9026d4acb5049896c3815adb29087fd07b2b04d26beb59182bd6028b121 + languageName: node + linkType: hard + "eslint-plugin-es@npm:^4.1.0": version: 4.1.0 resolution: "eslint-plugin-es@npm:4.1.0" @@ -7767,7 +7798,7 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.7.3": +"get-tsconfig@npm:^4.7.3, get-tsconfig@npm:^4.7.5": version: 4.8.1 resolution: "get-tsconfig@npm:4.8.1" dependencies: @@ -7817,7 +7848,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.7, glob@npm:^7.2.0": +"glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.7": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -8302,6 +8333,15 @@ __metadata: languageName: node linkType: hard +"is-bun-module@npm:^1.0.2": + version: 1.2.1 + resolution: "is-bun-module@npm:1.2.1" + dependencies: + semver: "npm:^7.6.3" + checksum: 10/1c2cbcf1a76991add1b640d2d7fe09848e8697a76f96e1289dff44133a48c97f5dc601d4a66d3f3a86217a77178d72d33d10d0c9e14194e58e70ec8df3eae41a + languageName: node + linkType: hard + "is-callable@npm:^1.1.3": version: 1.2.7 resolution: "is-callable@npm:1.2.7" @@ -9383,17 +9423,6 @@ __metadata: languageName: node linkType: hard -"json5@npm:^1.0.2": - version: 1.0.2 - resolution: "json5@npm:1.0.2" - dependencies: - minimist: "npm:^1.2.0" - bin: - json5: lib/cli.js - checksum: 10/a78d812dbbd5642c4f637dd130954acfd231b074965871c3e28a5bbd571f099d623ecf9161f1960c4ddf68e0cc98dee8bebfdb94a71ad4551f85a1afc94b63f6 - languageName: node - linkType: hard - "jsonc-parser@npm:^3.2.0": version: 3.3.1 resolution: "jsonc-parser@npm:3.3.1" @@ -9796,13 +9825,6 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.6": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10/908491b6cc15a6c440ba5b22780a0ba89b9810e1aea684e253e43c4e3b8d56ec1dcdd7ea96dde119c29df59c936cde16062159eae4225c691e19c70b432b6e6f - languageName: node - linkType: hard - "minipass-collect@npm:^2.0.1": version: 2.0.1 resolution: "minipass-collect@npm:2.0.1" @@ -10936,7 +10958,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:1.22.8, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1, resolve@npm:^1.22.3, resolve@npm:^1.22.4": +"resolve@npm:1.22.8, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.3, resolve@npm:^1.22.4": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -10949,7 +10971,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": +"resolve@patch:resolve@npm%3A1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -11578,13 +11600,6 @@ __metadata: languageName: node linkType: hard -"strip-bom@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-bom@npm:3.0.0" - checksum: 10/8d50ff27b7ebe5ecc78f1fe1e00fcdff7af014e73cf724b46fb81ef889eeb1015fc5184b64e81a2efe002180f3ba431bdd77e300da5c6685d702780fbf0c8d5b - languageName: node - linkType: hard - "strip-bom@npm:^4.0.0": version: 4.0.0 resolution: "strip-bom@npm:4.0.0" @@ -11703,6 +11718,13 @@ __metadata: languageName: node linkType: hard +"tapable@npm:^2.2.0": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 10/1769336dd21481ae6347611ca5fca47add0962fd8e80466515032125eca0084a4f0ede11e65341b9c0018ef4e1cf1ad820adbb0fba7cc99865c6005734000b0a + languageName: node + linkType: hard + "tar-stream@npm:^3.1.7": version: 3.1.7 resolution: "tar-stream@npm:3.1.7" @@ -11913,18 +11935,6 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.14.1": - version: 3.15.0 - resolution: "tsconfig-paths@npm:3.15.0" - dependencies: - "@types/json5": "npm:^0.0.29" - json5: "npm:^1.0.2" - minimist: "npm:^1.2.6" - strip-bom: "npm:^3.0.0" - checksum: 10/2041beaedc6c271fc3bedd12e0da0cc553e65d030d4ff26044b771fac5752d0460944c0b5e680f670c2868c95c664a256cec960ae528888db6ded83524e33a14 - languageName: node - linkType: hard - "tslib@npm:2.4.0": version: 2.4.0 resolution: "tslib@npm:2.4.0" From 997db6fb7d9461872e97c90869bacf7f5cc22bee Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Tue, 24 Sep 2024 12:23:49 -0400 Subject: [PATCH 06/12] nest `parserOptions` under `languageOptions` --- eslint.config.mjs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index f30ec3f55f..5156da8a98 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -72,16 +72,20 @@ const config = tseslint.config({ }, { files: ['*.js', '*.cjs'], - parserOptions: { - sourceType: 'script', - ecmaVersion: '2020', + languageOptions: { + parserOptions: { + sourceType: 'script', + ecmaVersion: '2020', + }, }, }, { files: ['*.ts'], extends: typescript, - parserOptions: { - project: ['./tsconfig.packages.json'], + languageOptions: { + parserOptions: { + project: ['./tsconfig.packages.json'], + }, }, rules: { // Enable rules that are disabled in `@metamask/eslint-config-typescript` @@ -103,8 +107,10 @@ const config = tseslint.config({ }, { files: ['tests/setupAfterEnv/matchers.ts'], - parserOptions: { - sourceType: 'script', + languageOptions: { + parserOptions: { + sourceType: 'script', + }, }, }, { From b948fcc140cb27997304183134025c5513c13fa6 Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Tue, 24 Sep 2024 12:34:39 -0400 Subject: [PATCH 07/12] Bump `eslint-plugin-n` to latest --- package.json | 2 +- yarn.lock | 124 ++++++++++++++++++--------------------------------- 2 files changed, 44 insertions(+), 82 deletions(-) diff --git a/package.json b/package.json index f14683d832..6a1449d9dd 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "eslint-plugin-import-x": "^4.3.0", "eslint-plugin-jest": "^27.1.5", "eslint-plugin-jsdoc": "^50.2.4", - "eslint-plugin-n": "^15.7.0", + "eslint-plugin-n": "^17.10.3", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-promise": "^7.1.0", "execa": "^5.0.0", diff --git a/yarn.lock b/yarn.lock index c16f1e5255..16df2ef028 100644 --- a/yarn.lock +++ b/yarn.lock @@ -596,7 +596,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": +"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" dependencies: @@ -2458,7 +2458,7 @@ __metadata: eslint-plugin-import-x: "npm:^4.3.0" eslint-plugin-jest: "npm:^27.1.5" eslint-plugin-jsdoc: "npm:^50.2.4" - eslint-plugin-n: "npm:^15.7.0" + eslint-plugin-n: "npm:^17.10.3" eslint-plugin-prettier: "npm:^5.2.1" eslint-plugin-promise: "npm:^7.1.0" execa: "npm:^5.0.0" @@ -5696,15 +5696,6 @@ __metadata: languageName: node linkType: hard -"builtins@npm:^5.0.1": - version: 5.1.0 - resolution: "builtins@npm:5.1.0" - dependencies: - semver: "npm:^7.0.0" - checksum: 10/60aa9969f69656bf6eab82cd74b23ab805f112ae46a54b912bccc1533875760f2d2ce95e0a7d13144e35ada9f0386f17ed4961908bc9434b5a5e21375b1902b2 - languageName: node - linkType: hard - "cacache@npm:^18.0.0": version: 18.0.4 resolution: "cacache@npm:18.0.4" @@ -6514,7 +6505,7 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.15.0": +"enhanced-resolve@npm:^5.15.0, enhanced-resolve@npm:^5.17.0": version: 5.17.1 resolution: "enhanced-resolve@npm:5.17.1" dependencies: @@ -6640,6 +6631,17 @@ __metadata: languageName: node linkType: hard +"eslint-compat-utils@npm:^0.5.1": + version: 0.5.1 + resolution: "eslint-compat-utils@npm:0.5.1" + dependencies: + semver: "npm:^7.5.4" + peerDependencies: + eslint: ">=6.0.0" + checksum: 10/ac65ac1c6107cf19f63f5fc17cea361c9cb1336be7356f23dbb0fac10979974b4622e13e950be43cbf431801f2c07f7dab448573181ccf6edc0b86d5b5304511 + languageName: node + linkType: hard + "eslint-config-prettier@npm:^9.1.0": version: 9.1.0 resolution: "eslint-config-prettier@npm:9.1.0" @@ -6734,15 +6736,16 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-es@npm:^4.1.0": - version: 4.1.0 - resolution: "eslint-plugin-es@npm:4.1.0" +"eslint-plugin-es-x@npm:^7.5.0": + version: 7.8.0 + resolution: "eslint-plugin-es-x@npm:7.8.0" dependencies: - eslint-utils: "npm:^2.0.0" - regexpp: "npm:^3.0.0" + "@eslint-community/eslint-utils": "npm:^4.1.2" + "@eslint-community/regexpp": "npm:^4.11.0" + eslint-compat-utils: "npm:^0.5.1" peerDependencies: - eslint: ">=4.19.1" - checksum: 10/431c7a6296f6f44d94acfb65c8d00fdd2c1c187d8aa97e1eab1d6780e9ed6cf6b62007fd403509ed5ec788a75cf41c8f1e3174cc16f5cc08b9ea266dc92de68e + eslint: ">=8" + checksum: 10/1df8d52c4fadc06854ce801af05b05f2642aa2deb918fb7d37738596eabd70b7f21a22b150b78ec9104bac6a1b6b4fb796adea2364ede91b01d20964849ce5f7 languageName: node linkType: hard @@ -6805,21 +6808,21 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-n@npm:^15.7.0": - version: 15.7.0 - resolution: "eslint-plugin-n@npm:15.7.0" +"eslint-plugin-n@npm:^17.10.3": + version: 17.10.3 + resolution: "eslint-plugin-n@npm:17.10.3" dependencies: - builtins: "npm:^5.0.1" - eslint-plugin-es: "npm:^4.1.0" - eslint-utils: "npm:^3.0.0" - ignore: "npm:^5.1.1" - is-core-module: "npm:^2.11.0" - minimatch: "npm:^3.1.2" - resolve: "npm:^1.22.1" - semver: "npm:^7.3.8" + "@eslint-community/eslint-utils": "npm:^4.4.0" + enhanced-resolve: "npm:^5.17.0" + eslint-plugin-es-x: "npm:^7.5.0" + get-tsconfig: "npm:^4.7.0" + globals: "npm:^15.8.0" + ignore: "npm:^5.2.4" + minimatch: "npm:^9.0.5" + semver: "npm:^7.5.3" peerDependencies: - eslint: ">=7.0.0" - checksum: 10/c759f90ca802a6323b5ddab30ec83004bdd1cd620e2a2ff09078f3f5a732b0784e3e12b7cb3374d8464dcc178c7c8cc457c775d81e18c9b4543b5fe4c5995dd0 + eslint: ">=8.23.0" + checksum: 10/5e54e1494878f8b4605e721dc95ad26874f01691a6aac8aea7359ad396e3b8c7953c85e6d9d93b842eeb4b65eda29f4aaa29d58940db93994127aa72a707fe7a languageName: node linkType: hard @@ -6882,40 +6885,6 @@ __metadata: languageName: node linkType: hard -"eslint-utils@npm:^2.0.0": - version: 2.1.0 - resolution: "eslint-utils@npm:2.1.0" - dependencies: - eslint-visitor-keys: "npm:^1.1.0" - checksum: 10/a7e43a5154a16a90c021cabeb160c3668cccbcf6474ccb2a7d7762698582398f3b938c5330909b858ef7c21182edfc9786dbf89ed7b294f51b7659a378bf7cec - languageName: node - linkType: hard - -"eslint-utils@npm:^3.0.0": - version: 3.0.0 - resolution: "eslint-utils@npm:3.0.0" - dependencies: - eslint-visitor-keys: "npm:^2.0.0" - peerDependencies: - eslint: ">=5" - checksum: 10/7675260a6b220c70f13e4cdbf077e93cad0dfb388429a27d6c0b584b2b20dca24594508e8bdb00a460a5764bd364a5018e20c2b8b1d70f82bcc3fdc30692a4d2 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^1.1.0": - version: 1.3.0 - resolution: "eslint-visitor-keys@npm:1.3.0" - checksum: 10/595ab230e0fcb52f86ba0986a9a473b9fcae120f3729b43f1157f88f27f8addb1e545c4e3d444185f2980e281ca15be5ada6f65b4599eec227cf30e41233b762 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^2.0.0": - version: 2.1.0 - resolution: "eslint-visitor-keys@npm:2.1.0" - checksum: 10/db4547eef5039122d518fa307e938ceb8589da5f6e8f5222efaf14dd62f748ce82e2d2becd3ff9412a50350b726bda95dbea8515a471074547daefa58aee8735 - languageName: node - linkType: hard - "eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" @@ -7798,7 +7767,7 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.7.3, get-tsconfig@npm:^4.7.5": +"get-tsconfig@npm:^4.7.0, get-tsconfig@npm:^4.7.3, get-tsconfig@npm:^4.7.5": version: 4.8.1 resolution: "get-tsconfig@npm:4.8.1" dependencies: @@ -7918,7 +7887,7 @@ __metadata: languageName: node linkType: hard -"globals@npm:^15.9.0": +"globals@npm:^15.8.0, globals@npm:^15.9.0": version: 15.9.0 resolution: "globals@npm:15.9.0" checksum: 10/19bca70131c5d3e0d4171deed0f8ae16adda19f18d39b67421056f1eaa160b4433c3ffc8eb69b8b19adebbbdad4834d8a0494c5fe1ae295f0f769a5c0331d794 @@ -8218,7 +8187,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1": +"ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10/cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98 @@ -8360,7 +8329,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.0, is-core-module@npm:^2.13.0": +"is-core-module@npm:^2.12.0, is-core-module@npm:^2.13.0": version: 2.15.1 resolution: "is-core-module@npm:2.15.1" dependencies: @@ -9816,7 +9785,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -10869,13 +10838,6 @@ __metadata: languageName: node linkType: hard -"regexpp@npm:^3.0.0": - version: 3.2.0 - resolution: "regexpp@npm:3.2.0" - checksum: 10/3310010895a906873262f4b494fc99bcef1e71ef6720a0532c5999ca586498cbd4a284c8e3c2423f9d1d37512fd08d6064b7564e0e59508cf938f76dd15ace84 - languageName: node - linkType: hard - "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -10958,7 +10920,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:1.22.8, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.3, resolve@npm:^1.22.4": +"resolve@npm:1.22.8, resolve@npm:^1.20.0, resolve@npm:^1.22.3, resolve@npm:^1.22.4": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -10971,7 +10933,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": +"resolve@patch:resolve@npm%3A1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -11146,7 +11108,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.x, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.2, 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.0, semver@npm:^7.6.3": +"semver@npm:7.x, semver@npm:^7.1.1, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: From 88d26aeb9f3c1cc9e23e98d73a08aeb2a56f43aa Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Tue, 24 Sep 2024 12:35:10 -0400 Subject: [PATCH 08/12] n plugin rules require `extends: nodejs` --- eslint.config.mjs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eslint.config.mjs b/eslint.config.mjs index 5156da8a98..029ede62e5 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -122,6 +122,7 @@ const config = tseslint.config({ }, { files: ['scripts/*.ts'], + extends: nodejs, rules: { // All scripts will have shebangs. 'n/shebang': 'off', @@ -129,6 +130,7 @@ const config = tseslint.config({ }, { files: ['**/jest.environment.js'], + extends: nodejs, rules: { // These files run under Node, and thus `require(...)` is expected. 'n/global-require': 'off', From c7d9e9d62afb56f3ef02a7f744372156d98570e8 Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Tue, 24 Sep 2024 12:50:02 -0400 Subject: [PATCH 09/12] Globally apply `ignores` patterns - if an ignores key is used without any other keys in the configuration object, then the patterns act as global ignores. > https://eslint.org/docs/latest/use/configure/ignore#ignoring-files --- eslint.config.mjs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 029ede62e5..d58b29dd77 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -5,17 +5,21 @@ import typescript from '@metamask/eslint-config-typescript'; import tseslint from 'typescript-eslint'; const config = tseslint.config({ - extends: [...base, ...nodejs], ignores: [ - '!.eslintrc.js', + '!.eslint.config.mjs', '!jest.config.js', - 'node_modules', - '**/dist', - '**/docs', - '**/coverage', - 'merged-packages', - 'scripts/create-package/package-template', + 'yarn.lock', + '**/*.d.ts', + '**/**.map', + '**/dist/**', + '**/docs/**', + '**/coverage/**', + 'merged-packages/**', + 'scripts/create-package/package-template/**', ], +}, +{ + extends: [...base, ...nodejs], rules: { // Left disabled because various properties throughough this repo are snake_case because the // names come from external sources or must comply with standards From 792cf473563c4ff715d4d8c02cbc8b2506b2a290 Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Tue, 24 Sep 2024 13:06:24 -0400 Subject: [PATCH 10/12] Fix typescript `languageOptions` --- eslint.config.mjs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index d58b29dd77..b14799f026 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -88,7 +88,9 @@ const config = tseslint.config({ extends: typescript, languageOptions: { parserOptions: { - project: ['./tsconfig.packages.json'], + sourceType: 'module', + tsconfigRootDir: import.meta.dirname, + project: ['./packages/*/tsconfig.json'], }, }, rules: { @@ -127,6 +129,12 @@ const config = tseslint.config({ { files: ['scripts/*.ts'], extends: nodejs, + languageOptions: { + parserOptions: { + sourceType: 'module', + project: ['./scripts/*/tsconfig.json'], + }, + }, rules: { // All scripts will have shebangs. 'n/shebang': 'off', From 86311e792063439e751ec500792391148a29fb0f Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Tue, 24 Sep 2024 13:14:09 -0400 Subject: [PATCH 11/12] Edit ignore patterns --- eslint.config.mjs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index b14799f026..ef33c45e59 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -9,12 +9,18 @@ const config = tseslint.config({ '!.eslint.config.mjs', '!jest.config.js', 'yarn.lock', - '**/*.d.ts', '**/**.map', + '**/**.tsbuildinfo', + '**/*.json', + '**/*.md', + '**/LICENSE', + '**/*.sh', + '**/.DS_Store', '**/dist/**', '**/docs/**', '**/coverage/**', 'merged-packages/**', + '.yarn/**', 'scripts/create-package/package-template/**', ], }, From d00968a7e06871e6dddb3523af353fc4afa9bc93 Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Tue, 24 Sep 2024 15:30:09 -0400 Subject: [PATCH 12/12] stash --- eslint.config.mjs | 58 +++++++----- package.json | 6 +- yarn.lock | 233 ++++++++++++++++++++++++++++------------------ 3 files changed, 179 insertions(+), 118 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index ef33c45e59..b0cb770956 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -67,13 +67,44 @@ const config = tseslint.config({ }, { files: ['*.test.{ts,js}', '**/tests/**/*.{ts,js}'], - extends: jest, + extends: [...jest, ...typescript], + languageOptions: { + sourceType: 'module', + }, +}, +{ + files: ['*.d.ts'], + rules: { + '@typescript-eslint/naming-convention': 'warn', + 'import/unambiguous': 'off', + }, +}, +{ + files: ['scripts/*.ts'], + extends: nodejs, + languageOptions: { + sourceType: 'module', + parserOptions: { + project: ['./scripts/*/tsconfig.json'], + }, + }, + rules: { + // All scripts will have shebangs. + 'n/shebang': 'off', + }, }, { // These files are test helpers, not tests. We still use the Jest ESLint // config here to ensure that ESLint expects a test-like environment, but // various rules meant just to apply to tests have been disabled. files: ['**/tests/**/*.{ts,js}', '!*.test.{ts,js}'], + languageOptions: { + sourceType: 'module', + parserOptions: { + tsconfigRootDir: import.meta.dirname, + project: ['./packages/*/tsconfig.json'], + }, + }, rules: { 'jest/no-export': 'off', 'jest/require-top-level-describe': 'off', @@ -85,7 +116,7 @@ const config = tseslint.config({ languageOptions: { parserOptions: { sourceType: 'script', - ecmaVersion: '2020', + ecmaVersion: 2020, }, }, }, @@ -93,8 +124,8 @@ const config = tseslint.config({ files: ['*.ts'], extends: typescript, languageOptions: { + sourceType: 'module', parserOptions: { - sourceType: 'module', tsconfigRootDir: import.meta.dirname, project: ['./packages/*/tsconfig.json'], }, @@ -119,32 +150,11 @@ const config = tseslint.config({ }, { files: ['tests/setupAfterEnv/matchers.ts'], - languageOptions: { - parserOptions: { - sourceType: 'script', - }, - }, -}, -{ - files: ['*.d.ts'], - rules: { - '@typescript-eslint/naming-convention': 'warn', - 'import/unambiguous': 'off', - }, -}, -{ - files: ['scripts/*.ts'], - extends: nodejs, languageOptions: { parserOptions: { sourceType: 'module', - project: ['./scripts/*/tsconfig.json'], }, }, - rules: { - // All scripts will have shebangs. - 'n/shebang': 'off', - }, }, { files: ['**/jest.environment.js'], diff --git a/package.json b/package.json index 6a1449d9dd..9e38f85aba 100644 --- a/package.json +++ b/package.json @@ -64,10 +64,10 @@ "@types/lodash": "^4.14.191", "@types/node": "^16.18.54", "@types/semver": "^7", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", + "@typescript-eslint/eslint-plugin": "^8.7.0", + "@typescript-eslint/parser": "^8.7.0", "@yarnpkg/types": "^4.0.0", - "babel-jest": "^27.5.1", + "babel-jest": "^29.7.0", "depcheck": "^1.4.7", "eslint": "^9.11.0", "eslint-config-prettier": "^9.1.0", diff --git a/yarn.lock b/yarn.lock index 16df2ef028..d5da5c2444 100644 --- a/yarn.lock +++ b/yarn.lock @@ -48,7 +48,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.1.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.5, @babel/core@npm:^7.7.2, @babel/core@npm:^7.8.0": +"@babel/core@npm:^7.1.0, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.5, @babel/core@npm:^7.7.2, @babel/core@npm:^7.8.0": version: 7.25.2 resolution: "@babel/core@npm:7.25.2" dependencies: @@ -614,7 +614,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.6.1": +"@eslint-community/regexpp@npm:^4.6.1": version: 4.11.0 resolution: "@eslint-community/regexpp@npm:4.11.0" checksum: 10/f053f371c281ba173fe6ee16dbc4fe544c84870d58035ccca08dba7f6ce1830d895ce3237a0db89ba37616524775dca82f1c502066b58e2d5712d7f87f5ba17c @@ -1904,6 +1904,29 @@ __metadata: languageName: node linkType: hard +"@jest/transform@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/transform@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + babel-plugin-istanbul: "npm:^6.1.1" + chalk: "npm:^4.0.0" + convert-source-map: "npm:^2.0.0" + fast-json-stable-stringify: "npm:^2.1.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pirates: "npm:^4.0.4" + slash: "npm:^3.0.0" + write-file-atomic: "npm:^4.0.2" + checksum: 10/30f42293545ab037d5799c81d3e12515790bb58513d37f788ce32d53326d0d72ebf5b40f989e6896739aa50a5f77be44686e510966370d58511d5ad2637c68c1 + languageName: node + linkType: hard + "@jest/types@npm:^26.6.2": version: 26.6.2 resolution: "@jest/types@npm:26.6.2" @@ -1986,7 +2009,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": +"@jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -2446,10 +2469,10 @@ __metadata: "@types/lodash": "npm:^4.14.191" "@types/node": "npm:^16.18.54" "@types/semver": "npm:^7" - "@typescript-eslint/eslint-plugin": "npm:^5.62.0" - "@typescript-eslint/parser": "npm:^5.62.0" + "@typescript-eslint/eslint-plugin": "npm:^8.7.0" + "@typescript-eslint/parser": "npm:^8.7.0" "@yarnpkg/types": "npm:^4.0.0" - babel-jest: "npm:^27.5.1" + babel-jest: "npm:^29.7.0" depcheck: "npm:^1.4.7" eslint: "npm:^9.11.0" eslint-config-prettier: "npm:^9.1.0" @@ -4396,7 +4419,7 @@ __metadata: languageName: node linkType: hard -"@types/graceful-fs@npm:^4.1.2": +"@types/graceful-fs@npm:^4.1.2, @types/graceful-fs@npm:^4.1.3": version: 4.1.9 resolution: "@types/graceful-fs@npm:4.1.9" dependencies: @@ -4637,7 +4660,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.7.0": +"@typescript-eslint/eslint-plugin@npm:8.7.0, @typescript-eslint/eslint-plugin@npm:^8.7.0": version: 8.7.0 resolution: "@typescript-eslint/eslint-plugin@npm:8.7.0" dependencies: @@ -4660,31 +4683,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" - dependencies: - "@eslint-community/regexpp": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:5.62.0" - "@typescript-eslint/type-utils": "npm:5.62.0" - "@typescript-eslint/utils": "npm:5.62.0" - debug: "npm:^4.3.4" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.0" - natural-compare-lite: "npm:^1.4.0" - semver: "npm:^7.3.7" - tsutils: "npm:^3.21.0" - peerDependencies: - "@typescript-eslint/parser": ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/9cc8319c6fd8a21938f5b69476974a7e778c283a55ef9fad183c850995b9adcb0087d57cea7b2ac6b9449570eee983aad39491d14cdd2e52d6b4b0485e7b2482 - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:8.7.0": +"@typescript-eslint/parser@npm:8.7.0, @typescript-eslint/parser@npm:^8.7.0": version: 8.7.0 resolution: "@typescript-eslint/parser@npm:8.7.0" dependencies: @@ -4702,23 +4701,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/parser@npm:^5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/parser@npm:5.62.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:5.62.0" - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/typescript-estree": "npm:5.62.0" - debug: "npm:^4.3.4" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/b6ca629d8f4e6283ff124501731cc886703eb4ce2c7d38b3e4110322ea21452b9d9392faf25be6bd72f54b89de7ffc72a40d9b159083ac54345a3d04b4fa5394 - languageName: node - linkType: hard - "@typescript-eslint/scope-manager@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/scope-manager@npm:5.62.0" @@ -4739,23 +4721,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/type-utils@npm:5.62.0" - dependencies: - "@typescript-eslint/typescript-estree": "npm:5.62.0" - "@typescript-eslint/utils": "npm:5.62.0" - debug: "npm:^4.3.4" - tsutils: "npm:^3.21.0" - peerDependencies: - eslint: "*" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/f9a4398d6d2aae09e3e765eff04cf4ab364376a87868031ac5c6a64c9bbb555cb1a7f99b07b3d1017e7422725b5f0bbee537f13b82ab2d930f161c987b3dece0 - languageName: node - linkType: hard - "@typescript-eslint/type-utils@npm:8.7.0": version: 8.7.0 resolution: "@typescript-eslint/type-utils@npm:8.7.0" @@ -4822,7 +4787,21 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.62.0, @typescript-eslint/utils@npm:^5.10.0": +"@typescript-eslint/utils@npm:8.7.0, @typescript-eslint/utils@npm:^8.1.0": + version: 8.7.0 + resolution: "@typescript-eslint/utils@npm:8.7.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:8.7.0" + "@typescript-eslint/types": "npm:8.7.0" + "@typescript-eslint/typescript-estree": "npm:8.7.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + checksum: 10/81674503fb5ea32ff5de8f1a29fecbcfa947025e7609e861ac8e32cd13326fc050c4fa5044e1a877f05e7e1264c42b9c72a7fd09c4a41d0ac2cf1c49259abf03 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:^5.10.0": version: 5.62.0 resolution: "@typescript-eslint/utils@npm:5.62.0" dependencies: @@ -4840,20 +4819,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.7.0, @typescript-eslint/utils@npm:^8.1.0": - version: 8.7.0 - resolution: "@typescript-eslint/utils@npm:8.7.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.7.0" - "@typescript-eslint/types": "npm:8.7.0" - "@typescript-eslint/typescript-estree": "npm:8.7.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - checksum: 10/81674503fb5ea32ff5de8f1a29fecbcfa947025e7609e861ac8e32cd13326fc050c4fa5044e1a877f05e7e1264c42b9c72a7fd09c4a41d0ac2cf1c49259abf03 - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" @@ -5348,6 +5313,23 @@ __metadata: languageName: node linkType: hard +"babel-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "babel-jest@npm:29.7.0" + dependencies: + "@jest/transform": "npm:^29.7.0" + "@types/babel__core": "npm:^7.1.14" + babel-plugin-istanbul: "npm:^6.1.1" + babel-preset-jest: "npm:^29.6.3" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + slash: "npm:^3.0.0" + peerDependencies: + "@babel/core": ^7.8.0 + checksum: 10/8a0953bd813b3a8926008f7351611055548869e9a53dd36d6e7e96679001f71e65fd7dbfe253265c3ba6a4e630dc7c845cf3e78b17d758ef1880313ce8fba258 + languageName: node + linkType: hard + "babel-plugin-istanbul@npm:^6.1.1": version: 6.1.1 resolution: "babel-plugin-istanbul@npm:6.1.1" @@ -5373,6 +5355,18 @@ __metadata: languageName: node linkType: hard +"babel-plugin-jest-hoist@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-plugin-jest-hoist@npm:29.6.3" + dependencies: + "@babel/template": "npm:^7.3.3" + "@babel/types": "npm:^7.3.3" + "@types/babel__core": "npm:^7.1.14" + "@types/babel__traverse": "npm:^7.0.6" + checksum: 10/9bfa86ec4170bd805ab8ca5001ae50d8afcb30554d236ba4a7ffc156c1a92452e220e4acbd98daefc12bf0216fccd092d0a2efed49e7e384ec59e0597a926d65 + languageName: node + linkType: hard + "babel-preset-current-node-syntax@npm:^1.0.0": version: 1.1.0 resolution: "babel-preset-current-node-syntax@npm:1.1.0" @@ -5410,6 +5404,18 @@ __metadata: languageName: node linkType: hard +"babel-preset-jest@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-preset-jest@npm:29.6.3" + dependencies: + babel-plugin-jest-hoist: "npm:^29.6.3" + babel-preset-current-node-syntax: "npm:^1.0.0" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/aa4ff2a8a728d9d698ed521e3461a109a1e66202b13d3494e41eea30729a5e7cc03b3a2d56c594423a135429c37bf63a9fa8b0b9ce275298be3095a88c69f6fb + languageName: node + linkType: hard + "babel-runtime@npm:^6.26.0": version: 6.26.0 resolution: "babel-runtime@npm:6.26.0" @@ -8808,6 +8814,29 @@ __metadata: languageName: node linkType: hard +"jest-haste-map@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-haste-map@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/graceful-fs": "npm:^4.1.3" + "@types/node": "npm:*" + anymatch: "npm:^3.0.3" + fb-watchman: "npm:^2.0.0" + fsevents: "npm:^2.3.2" + graceful-fs: "npm:^4.2.9" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + walker: "npm:^1.0.8" + dependenciesMeta: + fsevents: + optional: true + checksum: 10/8531b42003581cb18a69a2774e68c456fb5a5c3280b1b9b77475af9e346b6a457250f9d756bfeeae2fe6cbc9ef28434c205edab9390ee970a919baddfa08bb85 + languageName: node + linkType: hard + "jest-it-up@npm:^2.0.2": version: 2.2.0 resolution: "jest-it-up@npm:2.2.0" @@ -8943,6 +8972,13 @@ __metadata: languageName: node linkType: hard +"jest-regex-util@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-regex-util@npm:29.6.3" + checksum: 10/0518beeb9bf1228261695e54f0feaad3606df26a19764bc19541e0fc6e2a3737191904607fb72f3f2ce85d9c16b28df79b7b1ec9443aa08c3ef0e9efda6f8f2a + languageName: node + linkType: hard + "jest-resolve-dependencies@npm:^27.5.1": version: 27.5.1 resolution: "jest-resolve-dependencies@npm:27.5.1" @@ -9172,6 +9208,18 @@ __metadata: languageName: node linkType: hard +"jest-worker@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-worker@npm:29.7.0" + dependencies: + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^8.0.0" + checksum: 10/364cbaef00d8a2729fc760227ad34b5e60829e0869bd84976bdfbd8c0d0f9c2f22677b3e6dd8afa76ed174765351cd12bae3d4530c62eefb3791055127ca9745 + languageName: node + linkType: hard + "jest@npm:^27.5.1": version: 27.5.1 resolution: "jest@npm:27.5.1" @@ -9937,13 +9985,6 @@ __metadata: languageName: node linkType: hard -"natural-compare-lite@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare-lite@npm:1.4.0" - checksum: 10/5222ac3986a2b78dd6069ac62cbb52a7bf8ffc90d972ab76dfe7b01892485d229530ed20d0c62e79a6b363a663b273db3bde195a1358ce9e5f779d4453887225 - languageName: node - linkType: hard - "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -11215,7 +11256,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3": +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: 10/a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 @@ -12262,7 +12303,7 @@ __metadata: languageName: node linkType: hard -"walker@npm:^1.0.7": +"walker@npm:^1.0.7, walker@npm:^1.0.8": version: 1.0.8 resolution: "walker@npm:1.0.8" dependencies: @@ -12500,6 +12541,16 @@ __metadata: languageName: node linkType: hard +"write-file-atomic@npm:^4.0.2": + version: 4.0.2 + resolution: "write-file-atomic@npm:4.0.2" + dependencies: + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^3.0.7" + checksum: 10/3be1f5508a46c190619d5386b1ac8f3af3dbe951ed0f7b0b4a0961eed6fc626bd84b50cf4be768dabc0a05b672f5d0c5ee7f42daa557b14415d18c3a13c7d246 + languageName: node + linkType: hard + "write-file-atomic@npm:^5.0.0": version: 5.0.1 resolution: "write-file-atomic@npm:5.0.1"