diff --git a/.gitignore b/.gitignore index 3c3629e..d5f19d8 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ node_modules +package-lock.json diff --git a/configs/javascript.js b/configs/javascript.js index ddb777e..027aa12 100644 --- a/configs/javascript.js +++ b/configs/javascript.js @@ -1,4 +1,3 @@ -import { fixupPluginRules } from '@eslint/compat'; import stylisticEslint from '@stylistic/eslint-plugin'; import _import from 'eslint-plugin-import'; @@ -76,8 +75,8 @@ const jsRules = { export default { plugins: { - '@stylistic': fixupPluginRules(stylisticEslint), - import: fixupPluginRules(_import), + '@stylistic': stylisticEslint, + import: _import, }, settings: { /** @see https://github.com/import-js/eslint-plugin-import/issues/2556#issuecomment-1419518561 */ diff --git a/configs/recommended.js b/configs/recommended.js index 697f0a3..60a69cc 100644 --- a/configs/recommended.js +++ b/configs/recommended.js @@ -1,29 +1,11 @@ -import path from 'node:path'; -import { fileURLToPath } from 'node:url'; -import { fixupConfigRules } from '@eslint/compat'; -import { FlatCompat } from '@eslint/eslintrc'; import js from '@eslint/js'; +import typescriptEslint from '@typescript-eslint/eslint-plugin'; import javascript from './javascript.js'; import typescript from './typescript.js'; -const __filename = fileURLToPath(import.meta.url); -const __dirname = path.dirname(__filename); -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, - allConfig: js.configs.all, -}); - export default [ - ...fixupConfigRules(compat.extends( - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - // TODO: 有効にすると .ts ファイルで import したときに - // parserPath or languageOptions.parser is required! - // と出るので以下を無効化しておく - // 'plugin:import/recommended', - 'plugin:import/typescript', - )), + js.configs.recommended, + ...typescriptEslint.configs['flat/recommended'], { files: ['**/*.js', '**/*.cjs', '**/*.mjs', '**/*.jsx'], ...javascript, diff --git a/configs/typescript.js b/configs/typescript.js index 9edadf8..2339293 100644 --- a/configs/typescript.js +++ b/configs/typescript.js @@ -1,7 +1,6 @@ import typescriptEslint from '@typescript-eslint/eslint-plugin'; import stylisticEslint from '@stylistic/eslint-plugin'; import tsParser from '@typescript-eslint/parser'; -import { fixupPluginRules } from '@eslint/compat'; import _import from 'eslint-plugin-import'; import javascript from './javascript.js'; @@ -47,9 +46,9 @@ const tsRules = { export default { plugins: { - '@typescript-eslint': fixupPluginRules(typescriptEslint), - '@stylistic': fixupPluginRules(stylisticEslint), - import: fixupPluginRules(_import), + '@typescript-eslint': typescriptEslint, + '@stylistic': stylisticEslint, + import: _import, }, languageOptions: { parser: tsParser, diff --git a/package.json b/package.json index a9452cc..119320d 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,6 @@ "misskey" ], "peerDependencies": { - "@eslint/compat": ">= 1", "@eslint/js": ">= 9", "@stylistic/eslint-plugin": ">= 5", "@typescript-eslint/eslint-plugin": ">= 8", @@ -31,7 +30,6 @@ "globals": ">= 16" }, "devDependencies": { - "@eslint/compat": "^1.4.1", "@eslint/js": "^9.39.0", "@stylistic/eslint-plugin": "^5.5.0", "@types/node": "^24.9.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a295899..d7344ef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,6 @@ importers: .: devDependencies: - '@eslint/compat': - specifier: ^1.4.1 - version: 1.4.1(eslint@9.39.0) '@eslint/js': specifier: ^9.39.0 version: 9.39.0 @@ -48,15 +45,6 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@1.4.1': - resolution: {integrity: sha512-cfO82V9zxxGBxcQDr1lfaYB7wykTa0b00mGa36FrJl7iTFd0Z2cHfEYuxcBRP/iNijCsWsEkA+jzT8hGYmv33w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.40 || 9 - peerDependenciesMeta: - eslint: - optional: true - '@eslint/config-array@0.21.1': resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1029,12 +1017,6 @@ snapshots: '@eslint-community/regexpp@4.12.2': {} - '@eslint/compat@1.4.1(eslint@9.39.0)': - dependencies: - '@eslint/core': 0.17.0 - optionalDependencies: - eslint: 9.39.0 - '@eslint/config-array@0.21.1': dependencies: '@eslint/object-schema': 2.1.7