diff options
Diffstat (limited to 'eslint.config.mjs')
| -rw-r--r-- | eslint.config.mjs | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..650b994 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,62 @@ +import github from 'eslint-plugin-github' +import jest from 'eslint-plugin-jest' + +const githubConfigs = github.getFlatConfigs() + +export default [ + { + ignores: ['**/node_modules/**', '**/lib/**', '**/dist/**'] + }, + githubConfigs.recommended, + ...githubConfigs.typescript, + { + files: ['**/*.ts'], + languageOptions: { + parserOptions: { + project: './tsconfig.json' + } + }, + rules: { + 'eslint-comments/no-use': 'off', + 'import/no-namespace': 'off', + 'no-unused-vars': 'off', + '@typescript-eslint/no-unused-vars': 'error', + '@typescript-eslint/explicit-member-accessibility': [ + 'error', + {accessibility: 'no-public'} + ], + '@typescript-eslint/no-require-imports': 'error', + '@typescript-eslint/array-type': 'error', + '@typescript-eslint/await-thenable': 'error', + camelcase: 'off', + '@typescript-eslint/explicit-function-return-type': [ + 'error', + {allowExpressions: true} + ], + '@typescript-eslint/no-array-constructor': 'error', + '@typescript-eslint/no-explicit-any': 'error', + '@typescript-eslint/no-extraneous-class': 'error', + '@typescript-eslint/no-floating-promises': 'error', + '@typescript-eslint/no-for-in-array': 'error', + '@typescript-eslint/no-inferrable-types': 'error', + '@typescript-eslint/no-misused-new': 'error', + '@typescript-eslint/no-namespace': 'error', + '@typescript-eslint/no-non-null-assertion': 'warn', + '@typescript-eslint/no-unnecessary-qualifier': 'error', + '@typescript-eslint/no-unnecessary-type-assertion': 'error', + '@typescript-eslint/no-useless-constructor': 'error', + '@typescript-eslint/prefer-for-of': 'warn', + '@typescript-eslint/prefer-function-type': 'warn', + '@typescript-eslint/prefer-includes': 'error', + '@typescript-eslint/prefer-string-starts-ends-with': 'error', + '@typescript-eslint/promise-function-async': 'error', + '@typescript-eslint/require-array-sort-compare': 'error', + '@typescript-eslint/restrict-plus-operands': 'error', + '@typescript-eslint/unbound-method': 'error' + } + }, + { + files: ['__test__/**/*.ts'], + ...jest.configs['flat/recommended'] + } +] |
