require('@rushstack/eslint-patch/modern-module-resolution'); module.exports = { parser: '@typescript-eslint/parser', parserOptions: { sourceType: 'module', tsconfigRootDir: __dirname, }, plugins: ['@typescript-eslint/eslint-plugin'], extends: [ 'eslint:recommended', 'plugin:@typescript-eslint/recommended', ], root: true, env: { node: true, es2022: true, }, rules: { '@typescript-eslint/interface-name-prefix': 'off', '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', '@typescript-eslint/no-explicit-any': 'off', indent: ['error', 'tab', { 'SwitchCase': 1 }], 'linebreak-style': [ 'error', 'unix', ], quotes: [ 'error', 'single', ], semi: [ 'error', 'always', ], 'eol-last': [ 'error', 'always', ], 'object-curly-spacing': [ 'error', 'always', ], 'default-case': 'error', 'comma-dangle': [ 'error', 'always-multiline', ], 'no-case-declarations': 'off', camelcase: 'off', 'keyword-spacing': 'error', 'spaced-comment': [ 'error', 'always', ], 'no-var': 'error', eqeqeq: 'error', 'no-eq-null': 'error', 'arrow-parens': [ 'error', 'always', ], 'no-tabs': 'off', 'space-before-function-paren': 'off', }, };