import github from 'eslint-plugin-github' import jest from 'eslint-plugin-jest' import prettier from 'eslint-plugin-prettier/recommended' const githubConfigs = github.getFlatConfigs() export default [ { ignores: ['**/node_modules/**', '**/lib/**', '**/dist/**'] }, githubConfigs.recommended, ...githubConfigs.typescript, prettier, { files: ['**/*.ts'], languageOptions: { parserOptions: { project: './tsconfig.eslint.json' } }, rules: { // Prettier 'prettier/prettier': ['error', {endOfLine: 'auto'}], // Disable rules that conflict with project style 'eslint-comments/no-use': 'off', 'github/no-then': 'off', 'github/filenames-match-regex': 'off', 'github/array-foreach': 'off', 'import/no-namespace': 'off', 'import/no-commonjs': 'off', 'import/named': 'off', 'import/no-unresolved': 'off', 'i18n-text/no-en': 'off', 'filenames/match-regex': 'off', 'no-shadow': 'off', 'no-unused-vars': 'off', 'no-undef': 'off', camelcase: 'off', // TypeScript rules '@typescript-eslint/no-unused-vars': 'off', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-shadow': 'off', '@typescript-eslint/array-type': 'off', '@typescript-eslint/no-require-imports': 'off' } }, { files: ['**/__tests__/**/*.ts'], ...jest.configs['flat/recommended'], rules: { ...jest.configs['flat/recommended'].rules, 'jest/expect-expect': 'off', 'jest/no-conditional-expect': 'off' } } ]