import eslint from '@eslint/js';
import tseslint from '@typescript-eslint/eslint-plugin';
import typescript from '@typescript-eslint/parser';
import prettier from 'eslint-config-prettier';
import globals from 'globals';
export default [
{
ignores: ["**/build/**", "**/node_modules/**"]
},
eslint.configs.recommended,
{
files: ['**/*.ts'],
languageOptions: {
parser: typescript,
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: './tsconfig.json'
},
globals: {
...globals.node
}
},
plugins: {
'@typescript-eslint': tseslint
},
rules: {
...tseslint.configs['strict-type-checked'].rules,
...tseslint.configs['stylistic-type-checked'].rules,
"@typescript-eslint/explicit-module-boundary-types": "error",
// TypeScript compiler already has `useUnknownInCatchVariables` enabled
'@typescript-eslint/use-unknown-in-catch-callback-variable': 'off'
}
},
prettier
];