Switch to ESLint projectService

See e4ae667f95 (diff-9601a8f6c734c2001be34a2361f76946d19a39a709b5e8c624a2a5a0aade05f2)
This commit is contained in:
Fabio Niephaus
2025-11-03 10:58:22 +01:00
committed by Fabio Niephaus
parent dc8a7ea391
commit cfa19cdd20
5 changed files with 31 additions and 52 deletions

View File

@@ -9,13 +9,9 @@ import _import from 'eslint-plugin-import'
import jest from 'eslint-plugin-jest' import jest from 'eslint-plugin-jest'
import prettier from 'eslint-plugin-prettier' import prettier from 'eslint-plugin-prettier'
import globals from 'globals' import globals from 'globals'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
const compat = new FlatCompat({ const compat = new FlatCompat({
baseDirectory: __dirname, baseDirectory: import.meta.dirname,
recommendedConfig: js.configs.recommended, recommendedConfig: js.configs.recommended,
allConfig: js.configs.all allConfig: js.configs.all
}) })
@@ -52,8 +48,18 @@ export default [
sourceType: 'module', sourceType: 'module',
parserOptions: { parserOptions: {
project: ['tsconfig.eslint.json'], projectService: {
tsconfigRootDir: __dirname allowDefaultProject: [
'__fixtures__/*.ts',
'__tests__/*.ts',
'eslint.config.mjs',
'jest.config.js',
'rollup.cleanup.config.ts',
'rollup.main.config.ts'
],
maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING: 32
},
tsconfigRootDir: import.meta.dirname
} }
}, },
@@ -61,7 +67,7 @@ export default [
'import/resolver': { 'import/resolver': {
typescript: { typescript: {
alwaysTryTypes: true, alwaysTryTypes: true,
project: 'tsconfig.eslint.json' project: 'tsconfig.json'
} }
} }
}, },

View File

@@ -20,7 +20,7 @@ export default {
'^.+\\.ts$': [ '^.+\\.ts$': [
'ts-jest', 'ts-jest',
{ {
tsconfig: 'tsconfig.eslint.json', tsconfig: 'tsconfig.json',
useESM: true useESM: true
} }
] ]

View File

@@ -1,23 +0,0 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"declaration": false,
"declarationMap": false,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"lib": ["ES2022"],
"module": "NodeNext",
"moduleResolution": "NodeNext",
"newLine": "lf",
"noImplicitAny": true,
"noUnusedLocals": true,
"noUnusedParameters": false,
"pretty": true,
"resolveJsonModule": true,
"sourceMap": false,
"strict": true,
"strictNullChecks": true,
"target": "ES2022"
}
}

View File

@@ -1,18 +0,0 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "./tsconfig.base.json",
"compilerOptions": {
"allowJs": true,
"noEmit": true
},
"exclude": ["dist", "node_modules"],
"include": [
"__fixtures__",
"__tests__",
"src",
"eslint.config.mjs",
"jest.config.js",
"rollup.cleanup.config.ts",
"rollup.main.config.ts"
]
}

View File

@@ -1,11 +1,25 @@
{ {
"$schema": "https://json.schemastore.org/tsconfig", "$schema": "https://json.schemastore.org/tsconfig",
"extends": "./tsconfig.base.json",
"compilerOptions": { "compilerOptions": {
"allowSyntheticDefaultImports": true,
"declaration": false,
"declarationMap": false,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"isolatedModules": true, "isolatedModules": true,
"lib": ["ES2022"],
"module": "NodeNext", "module": "NodeNext",
"moduleResolution": "NodeNext", "moduleResolution": "NodeNext",
"outDir": "./dist" "newLine": "lf",
"noImplicitAny": true,
"noUnusedLocals": true,
"noUnusedParameters": false,
"outDir": "./dist",
"pretty": true,
"resolveJsonModule": true,
"strict": true,
"strictNullChecks": true,
"target": "ES2022"
}, },
"exclude": ["__fixtures__", "__tests__", "coverage", "dist", "node_modules"], "exclude": ["__fixtures__", "__tests__", "coverage", "dist", "node_modules"],
"include": ["src"] "include": ["src"]