diff --git a/package.json b/package.json index 4724840..c80c15d 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "typescript": "~5.4.5" }, "devDependencies": { - "@exercism/eslint-config-tooling": "^0.4.0", + "@exercism/eslint-config-tooling": "^0.6.0", "@tsconfig/node18": "^18.2.0", "@types/jest": "^29.5.2", "@types/node": "^20.2.5", diff --git a/yarn.lock b/yarn.lock index a35d60d..93375c4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1792,6 +1792,13 @@ __metadata: languageName: node linkType: hard +"@eslint/js@npm:^9.8.0": + version: 9.8.0 + resolution: "@eslint/js@npm:9.8.0" + checksum: 8b6e809127edea3bf5b5b3c01ae75290afe5044f950642445a50cb4b86c153ad1512fc417d3cb7b79eb7cd0ce06acd858946b6497ea912750aa54de609064f63 + languageName: node + linkType: hard + "@exercism/babel-preset-javascript@npm:^0.4.0": version: 0.4.0 resolution: "@exercism/babel-preset-javascript@npm:0.4.0" @@ -1804,18 +1811,20 @@ __metadata: languageName: node linkType: hard -"@exercism/eslint-config-tooling@npm:^0.4.0": - version: 0.4.0 - resolution: "@exercism/eslint-config-tooling@npm:0.4.0" +"@exercism/eslint-config-tooling@npm:^0.6.0": + version: 0.6.0 + resolution: "@exercism/eslint-config-tooling@npm:0.6.0" + dependencies: + "@eslint/js": ^9.8.0 + "@stylistic/eslint-plugin-ts": ^2.6.1 + eslint-config-prettier: ^9.1.0 + eslint-plugin-jest: ^28.8.0 + globals: ^15.9.0 + typescript-eslint: ^8.0.1 peerDependencies: - "@babel/core": ">= 7.15.0" - "@typescript-eslint/eslint-plugin": ^5.10.2 - "@typescript-eslint/parser": ^5.10.2 - eslint: ">= 8.0" - eslint-config-prettier: ^8.3.0 - eslint-plugin-import: ^2.25.4 - typescript: ">= 4.5" - checksum: 40235181e82f3883e0622b93071839e5f65e79f0559a1bf8ac24b6df3a7000038741988fbd44cc73079800c2281a9fa1cfd1f77ecdda5d00f842df0a639656c3 + eslint: ">= 9.8" + typescript: ">= 5.5" + checksum: 2d485619f956734588432512b5b35d1b630fb2cc3d0123c2cec844f0160a9054d2954a03fb5605fb835e5f771cfdea943dce72749aa6c70a9e04554f8dac6483 languageName: node linkType: hard @@ -1828,7 +1837,7 @@ __metadata: "@babel/preset-env": ^7.22.5 "@babel/preset-typescript": ^7.22.5 "@exercism/babel-preset-javascript": ^0.4.0 - "@exercism/eslint-config-tooling": ^0.4.0 + "@exercism/eslint-config-tooling": ^0.6.0 "@exercism/static-analysis": ^0.12.0 "@tsconfig/node18": ^18.2.0 "@types/jest": ^29.5.2 @@ -2398,6 +2407,33 @@ __metadata: languageName: node linkType: hard +"@stylistic/eslint-plugin-js@npm:2.6.2": + version: 2.6.2 + resolution: "@stylistic/eslint-plugin-js@npm:2.6.2" + dependencies: + "@types/eslint": ^9.6.0 + acorn: ^8.12.1 + eslint-visitor-keys: ^4.0.0 + espree: ^10.1.0 + peerDependencies: + eslint: ">=8.40.0" + checksum: 1f0539e2ff7edcdc7314cf03f366b40804a56583d918f405ccd6894116d7928a94afa5ce0d065672a0d95b42d261e90afda66b4771f0fd6f6f8a6b3b042ad9e4 + languageName: node + linkType: hard + +"@stylistic/eslint-plugin-ts@npm:^2.6.1": + version: 2.6.2 + resolution: "@stylistic/eslint-plugin-ts@npm:2.6.2" + dependencies: + "@stylistic/eslint-plugin-js": 2.6.2 + "@types/eslint": ^9.6.0 + "@typescript-eslint/utils": ^8.0.0 + peerDependencies: + eslint: ">=8.40.0" + checksum: a940e02c9f128ac843c4b4525ebb34628a9fa07bf37daf5a3a7e410566691b6ae2d6347f90ad3680b4df18a8b7c92a16c1c588cf09723dc2e31bacb46ea1d790 + languageName: node + linkType: hard + "@tootallnate/once@npm:2": version: 2.0.0 resolution: "@tootallnate/once@npm:2.0.0" @@ -2453,6 +2489,23 @@ __metadata: languageName: node linkType: hard +"@types/eslint@npm:^9.6.0": + version: 9.6.0 + resolution: "@types/eslint@npm:9.6.0" + dependencies: + "@types/estree": "*" + "@types/json-schema": "*" + checksum: 7be4b1d24f3df30b28e9cbaac6a5fa14ec1ceca7c173d9605c0ec6e0d1dcdba0452d326dd695dd980f5c14b42aa09fe41675c4f09ffc82db4f466588d3f837cb + languageName: node + linkType: hard + +"@types/estree@npm:*": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: dd8b5bed28e6213b7acd0fb665a84e693554d850b0df423ac8076cc3ad5823a6bc26b0251d080bdc545af83179ede51dd3f6fa78cad2c46ed1f29624ddf3e41a + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.3": version: 4.1.5 resolution: "@types/graceful-fs@npm:4.1.5" @@ -2497,7 +2550,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.15": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 97ed0cb44d4070aecea772b7b2e2ed971e10c81ec87dd4ecc160322ffa55ff330dace1793489540e3e318d90942064bb697cc0f8989391797792d919737b3b98 @@ -2571,6 +2624,29 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/eslint-plugin@npm:8.0.1": + version: 8.0.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.0.1" + dependencies: + "@eslint-community/regexpp": ^4.10.0 + "@typescript-eslint/scope-manager": 8.0.1 + "@typescript-eslint/type-utils": 8.0.1 + "@typescript-eslint/utils": 8.0.1 + "@typescript-eslint/visitor-keys": 8.0.1 + graphemer: ^1.4.0 + ignore: ^5.3.1 + natural-compare: ^1.4.0 + ts-api-utils: ^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: 4cfda0664df61b6cca5a2bf68cb9149cd858641e09fdcb12c13f1e4277baf951320a2fd06cc7a7ac6f09331200e8f64ad189be4b7efdd480e8b375c503dc9fc9 + languageName: node + linkType: hard + "@typescript-eslint/eslint-plugin@npm:^7.8.0": version: 7.8.0 resolution: "@typescript-eslint/eslint-plugin@npm:7.8.0" @@ -2596,6 +2672,24 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/parser@npm:8.0.1": + version: 8.0.1 + resolution: "@typescript-eslint/parser@npm:8.0.1" + dependencies: + "@typescript-eslint/scope-manager": 8.0.1 + "@typescript-eslint/types": 8.0.1 + "@typescript-eslint/typescript-estree": 8.0.1 + "@typescript-eslint/visitor-keys": 8.0.1 + debug: ^4.3.4 + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: e4bee9930eb72d11538dda7b3ea524a1e2db693d3b1ae48e52191b01817420580094e196257f4abcecb5b3e89e2e246dcad1931cc83c0c2c5afd48b80e34b3ad + languageName: node + linkType: hard + "@typescript-eslint/parser@npm:^7.8.0": version: 7.8.0 resolution: "@typescript-eslint/parser@npm:7.8.0" @@ -2634,6 +2728,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.0.1": + version: 8.0.1 + resolution: "@typescript-eslint/scope-manager@npm:8.0.1" + dependencies: + "@typescript-eslint/types": 8.0.1 + "@typescript-eslint/visitor-keys": 8.0.1 + checksum: 870d50e056ca88f20357c6d6a7058c26911c30775fa9f8976abae3c4a51c7cac6baad16bffa69c514ed364467a8de6c4599545981406b34d53ca2b2150039dd0 + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:7.8.0": version: 7.8.0 resolution: "@typescript-eslint/type-utils@npm:7.8.0" @@ -2651,6 +2755,21 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/type-utils@npm:8.0.1": + version: 8.0.1 + resolution: "@typescript-eslint/type-utils@npm:8.0.1" + dependencies: + "@typescript-eslint/typescript-estree": 8.0.1 + "@typescript-eslint/utils": 8.0.1 + debug: ^4.3.4 + ts-api-utils: ^1.3.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: e9f3c90d6c9ae19663b0850fcbf635112c3c312c621044a944c82a3b9d602a5604d48231f0b62a4a149bcb3221dc7405237687b4f74a1b9ae14b476dd1c03237 + languageName: node + linkType: hard + "@typescript-eslint/types@npm:5.59.9": version: 5.59.9 resolution: "@typescript-eslint/types@npm:5.59.9" @@ -2665,6 +2784,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:8.0.1": + version: 8.0.1 + resolution: "@typescript-eslint/types@npm:8.0.1" + checksum: 371ede013f25d8ffe79649e9e784bf02c342a67ddd920083580aa61fea248d47ca8ea5f9a5fe668ff30d4bb897e0787485affd480502c65185451bdbbc80ff0d + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:5.59.9": version: 5.59.9 resolution: "@typescript-eslint/typescript-estree@npm:5.59.9" @@ -2702,6 +2828,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:8.0.1": + version: 8.0.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.0.1" + dependencies: + "@typescript-eslint/types": 8.0.1 + "@typescript-eslint/visitor-keys": 8.0.1 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + minimatch: ^9.0.4 + semver: ^7.6.0 + ts-api-utils: ^1.3.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 5511bb5f51e0df578c1476cbaaf704e6c3b53059e25c7e9dcb6d0c449b4b41a3a2f07bac50f9efd75a50390a9a56e9de228f041f6e0df75fdde25b2937c131cd + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:7.8.0": version: 7.8.0 resolution: "@typescript-eslint/utils@npm:7.8.0" @@ -2719,6 +2864,20 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:8.0.1, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/utils@npm:^8.0.0": + version: 8.0.1 + resolution: "@typescript-eslint/utils@npm:8.0.1" + dependencies: + "@eslint-community/eslint-utils": ^4.4.0 + "@typescript-eslint/scope-manager": 8.0.1 + "@typescript-eslint/types": 8.0.1 + "@typescript-eslint/typescript-estree": 8.0.1 + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + checksum: c5142b87b890c5b72a8f4f62a04635d8b62edfc474c74eb52983cafd51b7f3689fd872a68a61066f02a9a643bcabef1e837a6b36093ca45d20596b04caeffb08 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:^5.10.0": version: 5.59.9 resolution: "@typescript-eslint/utils@npm:5.59.9" @@ -2757,6 +2916,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:8.0.1": + version: 8.0.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.0.1" + dependencies: + "@typescript-eslint/types": 8.0.1 + eslint-visitor-keys: ^3.4.3 + checksum: b4a6550a427573950a5ff3b054019e7250e2e959841176770c8fd2d475ae62e4dc7b01a1c7318dbc33219e89af9b062057587206cf4339727fee1082ef2f59f4 + languageName: node + linkType: hard + "abbrev@npm:^1.0.0": version: 1.1.1 resolution: "abbrev@npm:1.1.1" @@ -2782,6 +2951,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.12.0, acorn@npm:^8.12.1": + version: 8.12.1 + resolution: "acorn@npm:8.12.1" + bin: + acorn: bin/acorn + checksum: 677880034aee5bdf7434cc2d25b641d7bedb0b5ef47868a78dadabedccf58e1c5457526d9d8249cd253f2df087e081c3fe7d903b448d8e19e5131a3065b83c07 + languageName: node + linkType: hard + "agent-base@npm:6, agent-base@npm:^6.0.2": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -3920,6 +4098,17 @@ __metadata: languageName: node linkType: hard +"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: 9229b768c879f500ee54ca05925f31b0c0bafff3d9f5521f98ff05127356de78c81deb9365c86a5ec4efa990cb72b74df8612ae15965b14136044c73e1f6a907 + languageName: node + linkType: hard + "eslint-import-resolver-node@npm:^0.3.7": version: 0.3.7 resolution: "eslint-import-resolver-node@npm:0.3.7" @@ -3988,6 +4177,24 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-jest@npm:^28.8.0": + version: 28.8.0 + resolution: "eslint-plugin-jest@npm:28.8.0" + dependencies: + "@typescript-eslint/utils": ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependencies: + "@typescript-eslint/eslint-plugin": ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + jest: "*" + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + jest: + optional: true + checksum: c3b39fbb8a1f3843bd6a5d05215e3c896d439fcb1a9959a1e892184c95da33ad2edd37b1c3a76199803ef78b5e6a9cdc0e67f1ac90405461619fe2d3b8d5a278 + languageName: node + linkType: hard + "eslint-scope@npm:^5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" @@ -4084,6 +4291,17 @@ __metadata: languageName: node linkType: hard +"espree@npm:^10.1.0": + version: 10.1.0 + resolution: "espree@npm:10.1.0" + dependencies: + acorn: ^8.12.0 + acorn-jsx: ^5.3.2 + eslint-visitor-keys: ^4.0.0 + checksum: a4708ab987f6c03734b8738b1588e9f31b2e305e869ca4677c60d82294eb05f7099b6687eb39eeb0913bb2d49bdf0bd0f31c511599ea7ee171281f871a9c897e + languageName: node + linkType: hard + "esprima@npm:^4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" @@ -4541,6 +4759,13 @@ __metadata: languageName: node linkType: hard +"globals@npm:^15.9.0": + version: 15.9.0 + resolution: "globals@npm:15.9.0" + checksum: 32c4470ffcc26db3ddbc579ddf968b74c26462d1a268039980c2fa2e107090fd442a7a7445d953dc4ee874f68846e713066c5a8e63d146fd9349cd1fc5a6f63d + languageName: node + linkType: hard + "globalthis@npm:^1.0.3": version: 1.0.3 resolution: "globalthis@npm:1.0.3" @@ -7475,6 +7700,20 @@ __metadata: languageName: node linkType: hard +"typescript-eslint@npm:^8.0.1": + version: 8.0.1 + resolution: "typescript-eslint@npm:8.0.1" + dependencies: + "@typescript-eslint/eslint-plugin": 8.0.1 + "@typescript-eslint/parser": 8.0.1 + "@typescript-eslint/utils": 8.0.1 + peerDependenciesMeta: + typescript: + optional: true + checksum: 97d2a85c780edf747bd5771d0efd6afcee0bc0e599fb6d80a5b6633bfbee9d5e83ff37056e2c06f70e2af3699c82ab9363ae5cf00b06537199d24416dd94a964 + languageName: node + linkType: hard + "typescript@npm:~5.4.5": version: 5.4.5 resolution: "typescript@npm:5.4.5"