eslint.config.ts•1.32 kB
import tseslint from 'typescript-eslint';
import gitignore from 'eslint-config-flat-gitignore';
// eslint-disable-next-line @typescript-eslint/no-deprecated
export default tseslint.config(
gitignore(),
...tseslint.configs.strictTypeChecked,
...tseslint.configs.stylisticTypeChecked,
{
languageOptions: {
parserOptions: {
projectService: {
allowDefaultProject: ['*.config.ts'],
},
tsconfigRootDir: import.meta.dirname as string,
},
},
rules: {
'@typescript-eslint/no-unused-vars': [
'error',
{
argsIgnorePattern: '^_',
varsIgnorePattern: '^_',
caughtErrorsIgnorePattern: '^_',
},
],
'@typescript-eslint/consistent-type-definitions': ['error', 'type'],
'@typescript-eslint/no-explicit-any': 'error',
'@typescript-eslint/no-unsafe-assignment': 'error',
'@typescript-eslint/no-unsafe-member-access': 'error',
'@typescript-eslint/no-unsafe-call': 'error',
'@typescript-eslint/no-unsafe-return': 'error',
'@typescript-eslint/no-unsafe-argument': 'error',
},
},
{
files: ['**/*.test.ts'],
rules: {
// https://github.com/vitest-dev/eslint-plugin-vitest/issues/591
'@typescript-eslint/unbound-method': 'off',
}
}
);