eslint.config.js•1.03 kB
// @ts-check
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import stylistic from '@stylistic/eslint-plugin';
export default tseslint.config(
{
ignores: ['**/node_modules/', 'dist/', 'build/']
},
eslint.configs.recommended,
...tseslint.configs.recommended,
{
plugins: {
'@stylistic': stylistic
},
rules: {
// TypeScript-specific rules
'@typescript-eslint/explicit-function-return-type': 'error',
'@typescript-eslint/no-explicit-any': 'warn',
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
// Style rules
'@stylistic/indent': ['error', 2],
'@stylistic/quotes': ['error', 'single'],
'@stylistic/semi': ['error', 'always'],
'@stylistic/comma-dangle': ['error', 'always-multiline'],
// General best practices
'no-console': 'warn',
'no-debugger': 'error',
'complexity': ['warn', 10],
'max-len': ['warn', { code: 120, ignoreComments: true }]
}
}
);