diff options
author | Elizabeth Hunt <me@liz.coffee> | 2025-07-27 17:03:10 -0700 |
---|---|---|
committer | Elizabeth Hunt <me@liz.coffee> | 2025-07-27 18:30:30 -0700 |
commit | 9970036d203ba2d0a46b35ba6fad21d49441cdd4 (patch) | |
tree | a585d13933bf4149dcb07e28526063d071453105 /eslint.config.js | |
download | pengueno-9970036d203ba2d0a46b35ba6fad21d49441cdd4.tar.gz pengueno-9970036d203ba2d0a46b35ba6fad21d49441cdd4.zip |
hai
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..3821c14 --- /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, + }, +}); |