import tseslint from '@typescript-eslint/eslint-plugin'
import parser from '@typescript-eslint/parser'
export default [
{
files: ['**/*.ts'],
languageOptions: {
parser,
parserOptions: {
ecmaVersion: 2022,
sourceType: 'module'
},
globals: {
console: 'readonly',
process: 'readonly',
Buffer: 'readonly',
__dirname: 'readonly',
__filename: 'readonly'
}
},
plugins: {
'@typescript-eslint': tseslint
},
rules: {
'no-console': 'off',
'semi': ['error', 'never'],
'quotes': ['error', 'single', { avoidEscape: true }],
'indent': ['error', 2, { SwitchCase: 1 }],
'comma-dangle': ['error', 'never'],
'space-before-function-paren': ['error', 'always'],
'object-curly-spacing': ['error', 'always'],
'array-bracket-spacing': ['error', 'never'],
'computed-property-spacing': ['error', 'never'],
'keyword-spacing': ['error', { before: true, after: true }],
'no-multiple-empty-lines': ['error', { max: 1, maxEOF: 0 }],
'eol-last': ['error', 'always'],
'no-trailing-spaces': 'error'
}
},
{
ignores: ['node_modules/**', 'dist/**', 'build/**', 'coverage/**']
}
]