diff --git a/eslint.config.mjs b/eslint.config.mjs index 6bec282..a19f548 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -20,7 +20,6 @@ export default tseslint.config( 'packages/eslint-plugin-typescript/src/configs/json.ts', 'packages/eslint-plugin-typescript/src/configs/package.ts', 'packages/eslint-plugin-typescript/src/configs/format.ts', - 'packages/eslint-plugin-typescript/src/configs/import.ts', 'packages/eslint-plugin-typescript/src/configs/rxjs.ts', 'packages/eslint-plugin-typescript/src/rules/package/*', 'packages/eslint-plugin-typescript/src/rules/ts-config/*', @@ -40,4 +39,9 @@ export default tseslint.config( }, }, }, + { + rules: { + 'import-x/no-named-as-default-member': 'off', + }, + }, ); diff --git a/package.json b/package.json index 9821ec0..f563846 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflight/eslint-plugin", - "version": "1.0.0-rc5", + "version": "1.0.0-rc6", "private": true, "volta": { "node": "20.12.2", @@ -41,7 +41,8 @@ "@vue/eslint-config-typescript": "14.0.0", "angular-eslint": "18.3.1", "eslint": "9.11.1", - "eslint-plugin-import": "2.29.1", + "eslint-import-resolver-typescript": "3.6.3", + "eslint-plugin-import-x": "4.3.1", "eslint-plugin-json-es": "1.6.0", "eslint-plugin-jsx-a11y": "6.8.0", "eslint-plugin-n": "17.10.3", diff --git a/packages/eslint-plugin-angular/README.md b/packages/eslint-plugin-angular/README.md index 3e7df3b..0bc97a6 100644 --- a/packages/eslint-plugin-angular/README.md +++ b/packages/eslint-plugin-angular/README.md @@ -33,7 +33,7 @@ The plugin provides 3 different configurations: - cloudflightAngularTypescriptConfig - Only contains rules for TS files -Now open your `eslint.config.mts` and add one of the configurations: +Now open your `eslint.config.mjs` and add one of the configurations: ```ts import { cloudflightAngularConfig } from '@cloudflight/eslint-plugin-angular'; @@ -54,6 +54,14 @@ export default [ tsconfigRootDir: import.meta.dirname, }, }, + settings: { + 'import-x/resolver': { + typescript: { + alwaysTryTypes: true, + project: ['tsconfig*(.*).json'], + }, + }, + }, }, ]; ``` diff --git a/packages/eslint-plugin-angular/package.json b/packages/eslint-plugin-angular/package.json index 7be16c0..5383bba 100644 --- a/packages/eslint-plugin-angular/package.json +++ b/packages/eslint-plugin-angular/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflight/eslint-plugin-angular", - "version": "1.0.0-rc5", + "version": "1.0.0-rc6", "description": "Cloudflight eslint-plugin & eslint-config for angular", "volta": { "extends": "../../package.json" diff --git a/packages/eslint-plugin-node/README.md b/packages/eslint-plugin-node/README.md index ac186ab..d2aaaf6 100644 --- a/packages/eslint-plugin-node/README.md +++ b/packages/eslint-plugin-node/README.md @@ -24,7 +24,7 @@ In your `package.json` add the following: } ``` -Now open your `eslint.config.mts` and add one of the configurations: +Now open your `eslint.config.mjs` and add one of the configurations: ```ts import { cloudflightNodeConfig } from '@cloudflight/eslint-plugin-node'; @@ -45,6 +45,14 @@ export default [ tsconfigRootDir: import.meta.dirname, }, }, + settings: { + 'import-x/resolver': { + typescript: { + alwaysTryTypes: true, + project: ['tsconfig*(.*).json'], + }, + }, + }, }, ]; ``` diff --git a/packages/eslint-plugin-node/package.json b/packages/eslint-plugin-node/package.json index 2bacb11..ccd3329 100644 --- a/packages/eslint-plugin-node/package.json +++ b/packages/eslint-plugin-node/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflight/eslint-plugin-node", - "version": "1.0.0-rc5", + "version": "1.0.0-rc6", "description": "Cloudflight eslint-plugin & eslint-config for node", "volta": { "extends": "../../package.json" diff --git a/packages/eslint-plugin-node/src/configs/import.ts b/packages/eslint-plugin-node/src/configs/import.ts new file mode 100644 index 0000000..bb4bafb --- /dev/null +++ b/packages/eslint-plugin-node/src/configs/import.ts @@ -0,0 +1,8 @@ +import {TSESLint} from '@typescript-eslint/utils'; + +const pluginPrefix = 'import-x'; + +export const importEslintRules: TSESLint.Linter.RulesRecord = { + // the node ecosystem loves to use default exports for some reason + [`${pluginPrefix}/no-named-as-default-member`]: 'off', +}; diff --git a/packages/eslint-plugin-node/src/index.ts b/packages/eslint-plugin-node/src/index.ts index 2e2f12d..49316e5 100644 --- a/packages/eslint-plugin-node/src/index.ts +++ b/packages/eslint-plugin-node/src/index.ts @@ -5,6 +5,7 @@ import pluginSecurity from 'eslint-plugin-security'; import pluginNode from 'eslint-plugin-n'; import {securityRules} from './configs/security'; import {nodeRules} from './configs/node'; +import {importEslintRules} from './configs/import'; export const cloudflightNodeConfig = tseslint.config( ...cloudflightTypescriptConfig, @@ -18,6 +19,7 @@ export const cloudflightNodeConfig = tseslint.config( rules: { ...nodeRules, ...securityRules, + ...importEslintRules, } }, ); diff --git a/packages/eslint-plugin-react/package.json b/packages/eslint-plugin-react/package.json index c4e7194..709e217 100644 --- a/packages/eslint-plugin-react/package.json +++ b/packages/eslint-plugin-react/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflight/eslint-plugin-react", - "version": "1.0.0-rc5", + "version": "1.0.0-rc6", "description": "Cloudflight eslint-plugin & eslint-config for React", "volta": { "extends": "../../package.json" diff --git a/packages/eslint-plugin-typescript/README.md b/packages/eslint-plugin-typescript/README.md index 42b94e4..2670135 100644 --- a/packages/eslint-plugin-typescript/README.md +++ b/packages/eslint-plugin-typescript/README.md @@ -24,7 +24,7 @@ In your `package.json` add the following: } ``` -Now open your `eslint.config.mts` and add one of the configurations: +Now open your `eslint.config.mjs` and add one of the configurations: ```ts import { cloudflightTypescriptConfig } from '@cloudflight/eslint-plugin-typescript'; @@ -45,6 +45,14 @@ export default [ tsconfigRootDir: import.meta.dirname, }, }, + settings: { + 'import-x/resolver': { + typescript: { + alwaysTryTypes: true, + project: ['tsconfig*(.*).json'], + }, + }, + }, }, ]; ``` diff --git a/packages/eslint-plugin-typescript/package.json b/packages/eslint-plugin-typescript/package.json index 5a908c1..8a96b4c 100644 --- a/packages/eslint-plugin-typescript/package.json +++ b/packages/eslint-plugin-typescript/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflight/eslint-plugin-typescript", - "version": "1.0.0-rc5", + "version": "1.0.0-rc6", "description": "Cloudflight eslint-plugin & eslint-config for typescript", "volta": { "extends": "../../package.json" @@ -30,6 +30,8 @@ "@eslint/js": "^9.11.1", "@typescript-eslint/eslint-plugin": "^8.8.0", "@typescript-eslint/parser": "^8.8.0", + "eslint-import-resolver-typescript": "3.6.3", + "eslint-plugin-import-x": "4.3.1", "typescript-eslint": "^8.8.0" }, "peerDependencies": { diff --git a/packages/eslint-plugin-typescript/src/configs/import.ts b/packages/eslint-plugin-typescript/src/configs/import.ts index 3b27d53..c2d0d88 100644 --- a/packages/eslint-plugin-typescript/src/configs/import.ts +++ b/packages/eslint-plugin-typescript/src/configs/import.ts @@ -1,6 +1,6 @@ import {TSESLint} from '@typescript-eslint/utils'; -const pluginPrefix = 'import'; +const pluginPrefix = 'import-x'; export const importEslintRules: TSESLint.Linter.RulesRecord = { [`${pluginPrefix}/first`]: ['error'], diff --git a/packages/eslint-plugin-typescript/src/index.ts b/packages/eslint-plugin-typescript/src/index.ts index f075794..cd94b38 100644 --- a/packages/eslint-plugin-typescript/src/index.ts +++ b/packages/eslint-plugin-typescript/src/index.ts @@ -1,11 +1,18 @@ import pluginJs from '@eslint/js'; import tseslint from 'typescript-eslint'; +import eslintPluginImportX from 'eslint-plugin-import-x'; +import * as tsParser from '@typescript-eslint/parser'; import {eslintRules} from './configs/eslint'; import {typescriptEslintRules, typescriptEslintRulesDisableTypeChecked} from './configs/typescript-eslint'; import {customRules} from './configs/custom'; import {cloudflightTypescriptPlugin} from './rules'; +import {importEslintRules} from './configs/import'; -export const cloudflightTypescriptConfig = tseslint.config( +/** + * @deprecated Use `cloudflightTypescriptConfig` instead + * This is only for internal use because eslint-plugin-import-x cannot work with vue-eslint-parser + */ +export const cloudflightTypescriptBaseConfig = tseslint.config( { files: ['**/*.{js,mjs,cjs,ts,mts,cts}'], plugins: { @@ -30,3 +37,23 @@ export const cloudflightTypescriptConfig = tseslint.config( } }, ); + +export const cloudflightTypescriptConfig = tseslint.config( + // eslint-disable-next-line @typescript-eslint/no-deprecated + ...cloudflightTypescriptBaseConfig, + { + files: ['**/*.{js,mjs,cjs,ts,mts,cts}'], + extends: [ + eslintPluginImportX.flatConfigs.recommended, + eslintPluginImportX.flatConfigs.typescript, + ], + languageOptions: { + parser: tsParser, + ecmaVersion: 'latest', + sourceType: 'module', + }, + rules: { + ...importEslintRules, + }, + } +); diff --git a/packages/eslint-plugin-vue/README.md b/packages/eslint-plugin-vue/README.md index dd37710..be5da06 100644 --- a/packages/eslint-plugin-vue/README.md +++ b/packages/eslint-plugin-vue/README.md @@ -24,7 +24,7 @@ In your `package.json` add the following: } ``` -Now open your `eslint.config.mts` and add one of the configurations: +Now open your `eslint.config.mjs` and add one of the configurations: ```ts import { cloudflightVueConfig } from '@cloudflight/eslint-plugin-vue'; @@ -45,6 +45,14 @@ export default [ tsconfigRootDir: import.meta.dirname, }, }, + settings: { + 'import-x/resolver': { + typescript: { + alwaysTryTypes: true, + project: ['tsconfig*(.*).json'], + }, + }, + }, }, ]; ``` diff --git a/packages/eslint-plugin-vue/package.json b/packages/eslint-plugin-vue/package.json index a8089e8..65ae1f9 100644 --- a/packages/eslint-plugin-vue/package.json +++ b/packages/eslint-plugin-vue/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflight/eslint-plugin-vue", - "version": "1.0.0-rc5", + "version": "1.0.0-rc6", "description": "Cloudflight eslint-plugin & eslint-config for vue", "volta": { "extends": "../../package.json" diff --git a/packages/eslint-plugin-vue/src/index.ts b/packages/eslint-plugin-vue/src/index.ts index dc694a9..c493692 100644 --- a/packages/eslint-plugin-vue/src/index.ts +++ b/packages/eslint-plugin-vue/src/index.ts @@ -1,5 +1,5 @@ import tseslint from 'typescript-eslint'; -import { cloudflightTypescriptConfig } from '@cloudflight/eslint-plugin-typescript'; +import { cloudflightTypescriptBaseConfig, cloudflightTypescriptConfig } from '@cloudflight/eslint-plugin-typescript'; import {TSESLint} from '@typescript-eslint/utils'; // @ts-expect-error .d.ts file for eslint-plugin-vue has been implemented but not released yet // if the following line fails to build after updating the version, simply remove this comment @@ -13,7 +13,8 @@ export const cloudflightVueConfig = tseslint.config( { files: ['**/*.vue'], extends: [ - ...cloudflightTypescriptConfig, + // eslint-disable-next-line @typescript-eslint/no-deprecated + ...cloudflightTypescriptBaseConfig, // .d.ts file for eslint-plugin-vue has been implemented but not released yet, if the // following line fails to build after updating the version, simply remove this comment // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/consistent-type-assertions diff --git a/yarn.lock b/yarn.lock index 37ede83..dea4cec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -564,6 +564,8 @@ __metadata: "@eslint/js": "npm:^9.11.1" "@typescript-eslint/eslint-plugin": "npm:^8.8.0" "@typescript-eslint/parser": "npm:^8.8.0" + eslint-import-resolver-typescript: "npm:3.6.3" + eslint-plugin-import-x: "npm:4.3.1" typescript: "npm:5.5.4" typescript-eslint: "npm:^8.8.0" peerDependencies: @@ -601,7 +603,8 @@ __metadata: "@vue/eslint-config-typescript": "npm:14.0.0" angular-eslint: "npm:18.3.1" eslint: "npm:9.11.1" - eslint-plugin-import: "npm:2.29.1" + eslint-import-resolver-typescript: "npm:3.6.3" + eslint-plugin-import-x: "npm:4.3.1" eslint-plugin-json-es: "npm:1.6.0" eslint-plugin-jsx-a11y: "npm:6.8.0" eslint-plugin-n: "npm:17.10.3" @@ -1078,6 +1081,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: 10c0/34ab85fdc2e0250879518841f74a30c276bca4f6c3e13526d2d1fe515e1adf6d46c25fcd5989d22ea056d76f7c39210945180b4859fc83b050e2da411aa86289 + languageName: node + linkType: hard + "@npmcli/fs@npm:^2.1.0": version: 2.1.2 resolution: "@npmcli/fs@npm:2.1.2" @@ -1292,13 +1302,6 @@ __metadata: languageName: node linkType: hard -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac - languageName: node - linkType: hard - "@types/node@npm:*, @types/node@npm:20.16.10": version: 20.16.10 resolution: "@types/node@npm:20.16.10" @@ -1410,6 +1413,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.8.1": + version: 8.8.1 + resolution: "@typescript-eslint/scope-manager@npm:8.8.1" + dependencies: + "@typescript-eslint/types": "npm:8.8.1" + "@typescript-eslint/visitor-keys": "npm:8.8.1" + checksum: 10c0/6f697baf087aedc3f0f228ff964fd108a9dd33fe4e5cc6c914be6367c324cee55629e099832668042bedfec8cdc72c6ef2ca960ee26966dbcc75753059a1352f + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:8.8.0": version: 8.8.0 resolution: "@typescript-eslint/type-utils@npm:8.8.0" @@ -1439,6 +1452,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:8.8.1": + version: 8.8.1 + resolution: "@typescript-eslint/types@npm:8.8.1" + checksum: 10c0/4b44857332a0b1bfafbeccb8be157f8266d9e226ac723f6af1272b9b670b49444423ddac733655163eb3b90e8c88393a68ab2d7f326f5775371eaf4b9ca31d7b + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:5.58.0": version: 5.58.0 resolution: "@typescript-eslint/typescript-estree@npm:5.58.0" @@ -1476,6 +1496,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:8.8.1": + version: 8.8.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.8.1" + dependencies: + "@typescript-eslint/types": "npm:8.8.1" + "@typescript-eslint/visitor-keys": "npm:8.8.1" + 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: 10c0/e3b9bc1e925c07833237044271cdc9bd8bdba3e2143dcfc5bf3bf481c89731b666a6fad25333a4b1980ac2f4c6f5e6e42c71206f73f3704e319f6b3b67463a6a + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:5.58.0": version: 5.58.0 resolution: "@typescript-eslint/utils@npm:5.58.0" @@ -1508,6 +1547,20 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:^8.1.0": + version: 8.8.1 + resolution: "@typescript-eslint/utils@npm:8.8.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:8.8.1" + "@typescript-eslint/types": "npm:8.8.1" + "@typescript-eslint/typescript-estree": "npm:8.8.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + checksum: 10c0/954a2e85ae56a3ebefb6e41fb33c59ffa886963860536e9729a35ecea55eefdc58858c7aa126048c4a61f4fd9997b4f7601e7884ed2b3e4e7a46c9e4617a9f29 + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:5.58.0": version: 5.58.0 resolution: "@typescript-eslint/visitor-keys@npm:5.58.0" @@ -1528,6 +1581,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:8.8.1": + version: 8.8.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.8.1" + dependencies: + "@typescript-eslint/types": "npm:8.8.1" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10c0/6f917090b61277bd443aa851c532c4a9cc91ad57aedf185c5dff0c530f158cce84ef815833bd8deffa87f0bbf7a9f1abd1e02e30af2463c4e7f27c0c08f59080 + languageName: node + linkType: hard + "@vue/eslint-config-typescript@npm:14.0.0, @vue/eslint-config-typescript@npm:^14.0.0": version: 14.0.0 resolution: "@vue/eslint-config-typescript@npm:14.0.0" @@ -1804,20 +1867,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.findlastindex@npm:^1.2.3": - version: 1.2.3 - resolution: "array.prototype.findlastindex@npm:1.2.3" - 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" - get-intrinsic: "npm:^1.2.1" - checksum: 10c0/2c5c4d3f07512d6729f728f6260a314c00f2eb0a243123092661fa1bc65dce90234c3b483b5f978396eccef6f69c50f0bea248448aaf9cdfcd1cedad6217acbb - languageName: node - linkType: hard - -"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": +"array.prototype.flat@npm:^1.3.1": version: 1.3.2 resolution: "array.prototype.flat@npm:1.3.2" dependencies: @@ -2467,7 +2517,7 @@ __metadata: 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.3, debug@npm:^4.3.4, debug@npm:~4.3.6": +"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.3, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:~4.3.6": version: 4.3.7 resolution: "debug@npm:4.3.7" dependencies: @@ -2603,6 +2653,15 @@ __metadata: languageName: node linkType: hard +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 + languageName: node + linkType: hard + "ejs@npm:^3.1.10": version: 3.1.10 resolution: "ejs@npm:3.1.10" @@ -2658,7 +2717,7 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.17.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: @@ -2885,15 +2944,40 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.8.0": - version: 2.8.0 - resolution: "eslint-module-utils@npm:2.8.0" +"eslint-import-resolver-typescript@npm:3.6.3": + version: 3.6.3 + resolution: "eslint-import-resolver-typescript@npm:3.6.3" + dependencies: + "@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" + peerDependencies: + eslint: "*" + eslint-plugin-import: "*" + eslint-plugin-import-x: "*" + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + checksum: 10c0/5933b00791b7b077725b9ba9a85327d2e2dc7c8944c18a868feb317a0bf0e1e77aed2254c9c5e24dcc49360d119331d2c15281837f4269592965ace380a75111 + languageName: node + linkType: hard + +"eslint-module-utils@npm:^2.8.1": + version: 2.12.0 + resolution: "eslint-module-utils@npm:2.12.0" dependencies: debug: "npm:^3.2.7" peerDependenciesMeta: eslint: optional: true - checksum: 10c0/c7a8d1a58d76ec8217a8fea49271ec8132d1b9390965a75f6a4ecbc9e5983d742195b46d2e4378231d2186801439fe1aa5700714b0bfd4eb17aac6e1b65309df + checksum: 10c0/4d8b46dcd525d71276f9be9ffac1d2be61c9d54cc53c992e6333cf957840dee09381842b1acbbb15fc6b255ebab99cd481c5007ab438e5455a14abe1a0468558 languageName: node linkType: hard @@ -2910,30 +2994,23 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:2.29.1": - version: 2.29.1 - resolution: "eslint-plugin-import@npm:2.29.1" +"eslint-plugin-import-x@npm:4.3.1": + version: 4.3.1 + resolution: "eslint-plugin-import-x@npm:4.3.1" dependencies: - array-includes: "npm:^3.1.7" - array.prototype.findlastindex: "npm:^1.2.3" - array.prototype.flat: "npm:^1.3.2" - array.prototype.flatmap: "npm:^1.3.2" - debug: "npm:^3.2.7" - doctrine: "npm:^2.1.0" + "@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" - eslint-module-utils: "npm:^2.8.0" - hasown: "npm:^2.0.0" - is-core-module: "npm:^2.13.1" + get-tsconfig: "npm:^4.7.3" is-glob: "npm:^4.0.3" - minimatch: "npm:^3.1.2" - object.fromentries: "npm:^2.0.7" - object.groupby: "npm:^1.0.1" - object.values: "npm:^1.1.7" - semver: "npm:^6.3.1" - tsconfig-paths: "npm:^3.15.0" + 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: 10c0/5f35dfbf4e8e67f741f396987de9504ad125c49f4144508a93282b4ea0127e052bde65ab6def1f31b6ace6d5d430be698333f75bdd7dca3bc14226c92a083196 + eslint: ^8.57.0 || ^9.0.0 + checksum: 10c0/47db6c6c90a5a3d2e4d3da36921a22e22042f9f3d4469a9d783d84658597e8fcbc88f71d7553c7a3f4c83ffad7a228fb3a85d4e9bf48361d5ea76bfb4a13df99 languageName: node linkType: hard @@ -3582,7 +3659,7 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.7.0": +"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: @@ -3987,6 +4064,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: 10c0/819e63cd4468265a3e89cdc241554e37aeb85e40375a56dd559c022f4395491273267a0f843274fda6cad1eac3b0f8dc6d9e06cc349e33e2bf45098761184736 + languageName: node + linkType: hard + "is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" @@ -3994,7 +4080,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1": +"is-core-module@npm:^2.13.0": version: 2.13.1 resolution: "is-core-module@npm:2.13.1" dependencies: @@ -4834,17 +4920,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: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f - languageName: node - linkType: hard - "json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" @@ -5154,7 +5229,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": +"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: @@ -5163,13 +5238,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: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - "minipass-collect@npm:^1.0.2": version: 1.0.2 resolution: "minipass-collect@npm:1.0.2" @@ -5423,18 +5491,6 @@ __metadata: languageName: node linkType: hard -"object.groupby@npm:^1.0.1": - version: 1.0.1 - resolution: "object.groupby@npm:1.0.1" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - get-intrinsic: "npm:^1.2.1" - checksum: 10c0/61e41fbf08cc04ed860363db9629eedeaa590fce243c0960e948fd7b11f78a9d4350065c339936d118a2dd8775d7259e26207340cc8ce688bec66cb615fec6fe - languageName: node - linkType: hard - "object.hasown@npm:^1.1.3": version: 1.1.3 resolution: "object.hasown@npm:1.1.3" @@ -6225,6 +6281,13 @@ __metadata: languageName: node linkType: hard +"stable-hash@npm:^0.0.4": + version: 0.0.4 + resolution: "stable-hash@npm:0.0.4" + checksum: 10c0/53d010d2a1b014fb60d398c095f43912c353b7b44774e55222bb26fd428bc75b73d7bdfcae509ce927c23ca9c5aff2dc1bc82f191d30e57a879550bc2952bdb0 + languageName: node + linkType: hard + "stack-utils@npm:^2.0.3": version: 2.0.6 resolution: "stack-utils@npm:2.0.6" @@ -6350,13 +6413,6 @@ __metadata: languageName: node linkType: hard -"strip-bom@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-bom@npm:3.0.0" - checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 - languageName: node - linkType: hard - "strip-bom@npm:^4.0.0": version: 4.0.0 resolution: "strip-bom@npm:4.0.0" @@ -6565,18 +6621,6 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.15.0": - 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: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 - languageName: node - linkType: hard - "tslib@npm:^1.8.1": version: 1.14.1 resolution: "tslib@npm:1.14.1" @@ -6591,6 +6635,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.6.3": + version: 2.7.0 + resolution: "tslib@npm:2.7.0" + checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 + languageName: node + linkType: hard + "tsutils-etc@npm:^1.4.1": version: 1.4.2 resolution: "tsutils-etc@npm:1.4.2"