diff --git a/eslint.config.mjs b/eslint.config.mjs index a29f06e..2a22c31 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,7 +1,9 @@ import js from "@eslint/js"; +import tseslint from "typescript-eslint"; export default [ js.configs.recommended, + ...tseslint.configs.recommended, { files: ["**/*.ts", "**/*.tsx"], languageOptions: { @@ -9,7 +11,8 @@ export default [ sourceType: "module", }, rules: { - "no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }], + "no-unused-vars": "off", + "@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }], }, }, { diff --git a/package.json b/package.json index 9c68b10..b8b0df4 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "prettier": "^3.6.2", "storybook": "8.6.14", "typescript": "^5.9.3", + "typescript-eslint": "^8.57.0", "vitest": "^3.2.4" } } diff --git a/yarn.lock b/yarn.lock index bd5a10e..962eeeb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -797,7 +797,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.8.0": +"@eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": version: 4.9.1 resolution: "@eslint-community/eslint-utils@npm:4.9.1" dependencies: @@ -808,7 +808,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.12.1": +"@eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.12.2": version: 4.12.2 resolution: "@eslint-community/regexpp@npm:4.12.2" checksum: 10c0/fddcbc66851b308478d04e302a4d771d6917a0b3740dc351513c0da9ca2eab8a1adf99f5e0aa7ab8b13fa0df005c81adeee7e63a92f3effd7d367a163b721c2d @@ -949,6 +949,7 @@ __metadata: prettier: "npm:^3.6.2" storybook: "npm:8.6.14" typescript: "npm:^5.9.3" + typescript-eslint: "npm:^8.57.0" vitest: "npm:^3.2.4" languageName: unknown linkType: soft @@ -2299,6 +2300,141 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/eslint-plugin@npm:8.57.0": + version: 8.57.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.57.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.12.2" + "@typescript-eslint/scope-manager": "npm:8.57.0" + "@typescript-eslint/type-utils": "npm:8.57.0" + "@typescript-eslint/utils": "npm:8.57.0" + "@typescript-eslint/visitor-keys": "npm:8.57.0" + ignore: "npm:^7.0.5" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^2.4.0" + peerDependencies: + "@typescript-eslint/parser": ^8.57.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/600033b98dd96e11bb0e22ff77dcaa0f9e9135b60046267059296ce8c8870dfabcddf40d5c8b62415eb3e2133e77a1fb1ac08dca42b859533dd85fbba1f220f7 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:8.57.0": + version: 8.57.0 + resolution: "@typescript-eslint/parser@npm:8.57.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:8.57.0" + "@typescript-eslint/types": "npm:8.57.0" + "@typescript-eslint/typescript-estree": "npm:8.57.0" + "@typescript-eslint/visitor-keys": "npm:8.57.0" + debug: "npm:^4.4.3" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/c224e0802cdc42ad7c79553018d6572370eff6539b3cb92220e44da3931dfe7e94a11fcea7d30d9c9366e76d50488c8c9d59002ba52dd6818fdc598280f7990c + languageName: node + linkType: hard + +"@typescript-eslint/project-service@npm:8.57.0": + version: 8.57.0 + resolution: "@typescript-eslint/project-service@npm:8.57.0" + dependencies: + "@typescript-eslint/tsconfig-utils": "npm:^8.57.0" + "@typescript-eslint/types": "npm:^8.57.0" + debug: "npm:^4.4.3" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/f97c25ad9c39957fc58fba21dbc8ce928d3889f95b0ecc93b477da3ce9bb6057bf866cac8114c0c93c455f68d0fb5b0042dc4771e436f07cd9c975bc61f3221f + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:8.57.0": + version: 8.57.0 + resolution: "@typescript-eslint/scope-manager@npm:8.57.0" + dependencies: + "@typescript-eslint/types": "npm:8.57.0" + "@typescript-eslint/visitor-keys": "npm:8.57.0" + checksum: 10c0/a3e1243044f4634a36308f0d027db97ef686ed88cb93183feee1ba0a6de4eaa8824bb63b79075241c0a275d989d5f2641a6341cc785a6c688ee6f0d05c07d723 + languageName: node + linkType: hard + +"@typescript-eslint/tsconfig-utils@npm:8.57.0, @typescript-eslint/tsconfig-utils@npm:^8.57.0": + version: 8.57.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.57.0" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/d63f4de1a9d39c208b05a93df838318ff48af0a6ae561395d1860a8fd1fc552d47cc08065c445e084fb67bfac1c5a477183213477ed2bca688b9409cbeda3965 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:8.57.0": + version: 8.57.0 + resolution: "@typescript-eslint/type-utils@npm:8.57.0" + dependencies: + "@typescript-eslint/types": "npm:8.57.0" + "@typescript-eslint/typescript-estree": "npm:8.57.0" + "@typescript-eslint/utils": "npm:8.57.0" + debug: "npm:^4.4.3" + ts-api-utils: "npm:^2.4.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/55fd3b6b71d76602cead51fe3ea246eb908e2614bbe092fae26d9320f73c2f107e82d28e2cf509b61ea5f29d5b1fa32046bef0823cea63105bc35c15319e95ec + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:8.57.0, @typescript-eslint/types@npm:^8.57.0": + version: 8.57.0 + resolution: "@typescript-eslint/types@npm:8.57.0" + checksum: 10c0/69eb21a9a550f17ce9445b7bfab9099d6a43fa33f79506df966793077d73423dad7612f33a7efb1e09f4403a889ba6b7a44987cf3e6fea0e63a373022226bc68 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:8.57.0": + version: 8.57.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.57.0" + dependencies: + "@typescript-eslint/project-service": "npm:8.57.0" + "@typescript-eslint/tsconfig-utils": "npm:8.57.0" + "@typescript-eslint/types": "npm:8.57.0" + "@typescript-eslint/visitor-keys": "npm:8.57.0" + debug: "npm:^4.4.3" + minimatch: "npm:^10.2.2" + semver: "npm:^7.7.3" + tinyglobby: "npm:^0.2.15" + ts-api-utils: "npm:^2.4.0" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/2b72ff255b6711d529496bcae38869e3809b15761252809743d80d01e3efa5a62ebaafc24b96b16a245a8d0bd307958a3e9ab31434d03a87acedbdd5e01c18be + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:8.57.0": + version: 8.57.0 + resolution: "@typescript-eslint/utils@npm:8.57.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.9.1" + "@typescript-eslint/scope-manager": "npm:8.57.0" + "@typescript-eslint/types": "npm:8.57.0" + "@typescript-eslint/typescript-estree": "npm:8.57.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/d2c5803a7eaae71ce4cf1435fdc0ab0243e8924647b39bc823e42bc7604f6e01cdcb101eaf9c0eec91fe1bd272e5533041b8a40017679b164be11f32242f292b + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:8.57.0": + version: 8.57.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.57.0" + dependencies: + "@typescript-eslint/types": "npm:8.57.0" + eslint-visitor-keys: "npm:^5.0.0" + checksum: 10c0/4e585126b7b10f04c8d52166a473b715038793c87c7b7a1dbd0f577b017896db8545d6ea13bd191c12cf951dfdac23884b3e9bf0bb6f44afea38ae9eae5d7a6a + languageName: node + linkType: hard + "@videojs/http-streaming@npm:^3.17.2, @videojs/http-streaming@npm:^3.17.4": version: 3.17.4 resolution: "@videojs/http-streaming@npm:3.17.4" @@ -3107,7 +3243,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0, debug@npm:^4.4.1": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0, debug@npm:^4.4.1, debug@npm:^4.4.3": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -3540,6 +3676,13 @@ __metadata: languageName: node linkType: hard +"eslint-visitor-keys@npm:^5.0.0": + version: 5.0.1 + resolution: "eslint-visitor-keys@npm:5.0.1" + checksum: 10c0/16190bdf2cbae40a1109384c94450c526a79b0b9c3cb21e544256ed85ac48a4b84db66b74a6561d20fe6ab77447f150d711c2ad5ad74df4fcc133736bce99678 + languageName: node + linkType: hard + "eslint@npm:^9.37.0": version: 9.39.3 resolution: "eslint@npm:9.39.3" @@ -4061,6 +4204,13 @@ __metadata: languageName: node linkType: hard +"ignore@npm:^7.0.5": + version: 7.0.5 + resolution: "ignore@npm:7.0.5" + checksum: 10c0/ae00db89fe873064a093b8999fe4cc284b13ef2a178636211842cceb650b9c3e390d3339191acb145d81ed5379d2074840cf0c33a20bdbd6f32821f79eb4ad5d + languageName: node + linkType: hard + "immutable@npm:^5.0.2": version: 5.1.5 resolution: "immutable@npm:5.1.5" @@ -6045,7 +6195,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.6.2": +"semver@npm:^7.3.5, semver@npm:^7.6.2, semver@npm:^7.7.3": version: 7.7.4 resolution: "semver@npm:7.7.4" bin: @@ -6463,6 +6613,15 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^2.4.0": + version: 2.4.0 + resolution: "ts-api-utils@npm:2.4.0" + peerDependencies: + typescript: ">=4.8.4" + checksum: 10c0/ed185861aef4e7124366a3f6561113557a57504267d4d452a51e0ba516a9b6e713b56b4aeaab9fa13de9db9ab755c65c8c13a777dba9133c214632cb7b65c083 + languageName: node + linkType: hard + "ts-dedent@npm:^2.0.0, ts-dedent@npm:^2.2.0": version: 2.2.0 resolution: "ts-dedent@npm:2.2.0" @@ -6546,6 +6705,21 @@ __metadata: languageName: node linkType: hard +"typescript-eslint@npm:^8.57.0": + version: 8.57.0 + resolution: "typescript-eslint@npm:8.57.0" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.57.0" + "@typescript-eslint/parser": "npm:8.57.0" + "@typescript-eslint/typescript-estree": "npm:8.57.0" + "@typescript-eslint/utils": "npm:8.57.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/5491c6dff2bc3f2914d60326490316b3f92e022756017da8b36cbb9d4d94fc781b642a3a033ca3add2ff26ee7a95798baedc5f55598cd21ce706bae5b7731632 + languageName: node + linkType: hard + "typescript@npm:5.9.3, typescript@npm:^5.9.3": version: 5.9.3 resolution: "typescript@npm:5.9.3"