diff --git a/eslint.ts.config.base.mjs b/eslint.ts.config.base.mjs index 07e55f83..2af98f40 100644 --- a/eslint.ts.config.base.mjs +++ b/eslint.ts.config.base.mjs @@ -2,34 +2,34 @@ import eslint from '@eslint/js'; import tseslint from 'typescript-eslint'; import eslintConfigPrettier from 'eslint-config-prettier'; -export default (tsconfigRootDir) => [ +export default (tsconfigRootDir, files = ['**/*.ts'], project = true) => [ { - files: ['**/*.ts'], + files, ...eslint.configs.recommended, }, ...tseslint.configs.recommendedTypeChecked.map((config) => ({ - files: ['**/*.ts'], + files, ...config, })), ...tseslint.configs.stylisticTypeChecked.map((config) => ({ - files: ['**/*.ts'], + files, ...config, })), { - files: ['**/*.ts'], + files, languageOptions: { parserOptions: { - project: true, + project, tsconfigRootDir, }, }, }, { - files: ['**/*.ts'], + files, ...eslintConfigPrettier, }, { - files: ['**/*.ts'], + files, rules: { '@typescript-eslint/no-unsafe-return': 'off', '@typescript-eslint/no-unsafe-assignment': 'off', diff --git a/eslint.ts.jest.config.base.mjs b/eslint.ts.jest.config.base.mjs index cd81bc09..8f2bc0f7 100644 --- a/eslint.ts.jest.config.base.mjs +++ b/eslint.ts.jest.config.base.mjs @@ -3,7 +3,7 @@ import tseslint from 'typescript-eslint'; import jest from 'eslint-plugin-jest'; import eslintConfigPrettier from 'eslint-config-prettier'; -export default (files, tsconfigRootDir, tsconfigFile) => [ +export default (files, tsconfigRootDir, project) => [ { files, ...eslint.configs.recommended, @@ -20,7 +20,7 @@ export default (files, tsconfigRootDir, tsconfigFile) => [ files, languageOptions: { parserOptions: { - project: [tsconfigFile], + project, tsconfigRootDir, }, }, diff --git a/packages/d3-state-visualizer/.eslintignore b/packages/d3-state-visualizer/.eslintignore deleted file mode 100644 index be897dba..00000000 --- a/packages/d3-state-visualizer/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -examples -lib diff --git a/packages/d3-state-visualizer/.eslintrc.cjs b/packages/d3-state-visualizer/.eslintrc.cjs deleted file mode 100644 index 6435f877..00000000 --- a/packages/d3-state-visualizer/.eslintrc.cjs +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - extends: '../../eslintrc.js.base.json', - overrides: [ - { - files: ['*.ts'], - extends: '../../eslintrc.ts.base.json', - parserOptions: { - tsconfigRootDir: __dirname, - project: true, - }, - }, - ], -}; diff --git a/packages/d3-state-visualizer/eslint.config.js b/packages/d3-state-visualizer/eslint.config.js new file mode 100644 index 00000000..542c8b7c --- /dev/null +++ b/packages/d3-state-visualizer/eslint.config.js @@ -0,0 +1,10 @@ +import eslintJs from '../../eslint.js.config.base.mjs'; +import eslintTs from '../../eslint.ts.config.base.mjs'; + +export default [ + ...eslintJs, + ...eslintTs(import.meta.dirname), + { + ignores: ['examples', 'lib'], + }, +]; diff --git a/packages/d3-state-visualizer/examples/tree/.eslintignore b/packages/d3-state-visualizer/examples/tree/.eslintignore deleted file mode 100644 index 1521c8b7..00000000 --- a/packages/d3-state-visualizer/examples/tree/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/packages/d3-state-visualizer/examples/tree/.eslintrc.js b/packages/d3-state-visualizer/examples/tree/.eslintrc.js deleted file mode 100644 index 8c163509..00000000 --- a/packages/d3-state-visualizer/examples/tree/.eslintrc.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = { - extends: '../../../../eslintrc.ts.base.json', - parserOptions: { - tsconfigRootDir: __dirname, - project: true, - }, - overrides: [ - { - files: ['webpack.config.ts'], - extends: '../../../../eslintrc.ts.base.json', - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.webpack.json'], - }, - }, - ], -}; diff --git a/packages/d3-state-visualizer/examples/tree/eslint.config.mjs b/packages/d3-state-visualizer/examples/tree/eslint.config.mjs new file mode 100644 index 00000000..9f6f0310 --- /dev/null +++ b/packages/d3-state-visualizer/examples/tree/eslint.config.mjs @@ -0,0 +1,15 @@ +import eslintJs from '../../../../eslint.js.config.base.mjs'; +import eslintTs from '../../../../eslint.ts.config.base.mjs'; + +export default [ + ...eslintJs, + ...eslintTs(import.meta.dirname), + ...eslintTs( + import.meta.dirname, + ['webpack.config.ts'], + ['./tsconfig.webpack.json'], + ), + { + ignores: ['dist'], + }, +]; diff --git a/packages/d3-state-visualizer/examples/tree/package.json b/packages/d3-state-visualizer/examples/tree/package.json index b3c4384a..dd14c0f2 100644 --- a/packages/d3-state-visualizer/examples/tree/package.json +++ b/packages/d3-state-visualizer/examples/tree/package.json @@ -21,7 +21,7 @@ "scripts": { "start": "cross-env TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack serve --open", "build": "cross-env TS_NODE_PROJECT=\"tsconfig.webpack.json\" webpack", - "lint": "eslint . --ext .ts", + "lint": "eslint .", "type-check": "tsc --noEmit" }, "dependencies": { @@ -33,12 +33,8 @@ "@babel/preset-env": "^7.25.3", "@babel/preset-typescript": "^7.24.7", "@types/node": "^20.14.14", - "@typescript-eslint/eslint-plugin": "^8.0.1", - "@typescript-eslint/parser": "^8.0.1", "babel-loader": "^9.1.3", "cross-env": "^7.0.3", - "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", "fork-ts-checker-webpack-plugin": "^9.0.2", "html-webpack-plugin": "^5.6.0", "ts-node": "^10.9.2", diff --git a/packages/d3-state-visualizer/package.json b/packages/d3-state-visualizer/package.json index 2ff98cf1..907cd42f 100644 --- a/packages/d3-state-visualizer/package.json +++ b/packages/d3-state-visualizer/package.json @@ -31,7 +31,7 @@ "scripts": { "build": "tsc", "clean": "rimraf lib", - "lint": "eslint . --ext .ts", + "lint": "eslint .", "type-check": "tsc --noEmit", "prepack": "pnpm run clean && pnpm run build", "prepublish": "pnpm run lint" @@ -46,10 +46,6 @@ }, "devDependencies": { "@types/ramda": "^0.30.1", - "@typescript-eslint/eslint-plugin": "^8.0.1", - "@typescript-eslint/parser": "^8.0.1", - "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", "rimraf": "^6.0.1", "typescript": "~5.5.4" } diff --git a/packages/map2tree/eslint.config.js b/packages/map2tree/eslint.config.js index a35dbdd5..f8215c17 100644 --- a/packages/map2tree/eslint.config.js +++ b/packages/map2tree/eslint.config.js @@ -5,11 +5,9 @@ import eslintTsJest from '../../eslint.ts.jest.config.base.mjs'; export default [ ...eslintJs, ...eslintTs(import.meta.dirname), - ...eslintTsJest( - ['test/**/*.ts'], - import.meta.dirname, + ...eslintTsJest(['test/**/*.ts'], import.meta.dirname, [ './tsconfig.test.json', - ), + ]), { ignores: ['lib'], }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 676c0929..27199bad 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -256,18 +256,6 @@ importers: '@types/ramda': specifier: ^0.30.1 version: 0.30.1 - '@typescript-eslint/eslint-plugin': - specifier: ^8.0.1 - version: 8.0.1(@typescript-eslint/parser@8.0.1)(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/parser': - specifier: ^8.0.1 - version: 8.0.1(eslint@8.57.0)(typescript@5.5.4) - eslint: - specifier: ^8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) rimraf: specifier: ^6.0.1 version: 6.0.1 @@ -296,24 +284,12 @@ importers: '@types/node': specifier: ^20.14.14 version: 20.14.14 - '@typescript-eslint/eslint-plugin': - specifier: ^8.0.1 - version: 8.0.1(@typescript-eslint/parser@8.0.1)(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/parser': - specifier: ^8.0.1 - version: 8.0.1(eslint@8.57.0)(typescript@5.5.4) babel-loader: specifier: ^9.1.3 version: 9.1.3(@babel/core@7.25.2)(webpack@5.93.0) cross-env: specifier: ^7.0.3 version: 7.0.3 - eslint: - specifier: ^8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) fork-ts-checker-webpack-plugin: specifier: ^9.0.2 version: 9.0.2(typescript@5.5.4)(webpack@5.93.0)