diff options
Diffstat (limited to 'eslint.config.js')
-rw-r--r-- | eslint.config.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..a21d24b --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,48 @@ +// eslint.config.js +import tseslint from 'typescript-eslint'; +import prettierPlugin from 'eslint-plugin-prettier'; + +export default tseslint.config({ + ignores: ['dist/', 'node_modules/', '*.js', '*.d.ts'], + + extends: [ + tseslint.configs.recommended, + tseslint.configs.recommendedTypeChecked, + { + files: ['**/*.ts', '**/*.tsx'], + languageOptions: { + parser: tseslint.parser, + parserOptions: { + ecmaVersion: 2022, + sourceType: 'module', + project: './tsconfig.json', + }, + }, + plugins: { + prettier: prettierPlugin, + }, + rules: { + '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/no-non-null-assertion': 'warn', + '@typescript-eslint/prefer-nullish-coalescing': 'error', + '@typescript-eslint/prefer-optional-chain': 'error', + '@typescript-eslint/no-floating-promises': 'error', + 'no-console': 'warn', + 'prefer-const': 'error', + 'prettier/prettier': 'error', + }, + }, + ], + + languageOptions: { + ecmaVersion: 2022, + sourceType: 'module', + }, + + linterOptions: { + reportUnusedDisableDirectives: true, + }, +}); |