// @ts-check import payloadEsLintConfig from '@payloadcms/eslint-config' export const defaultESLintIgnores = [ '**/.temp', '**/.*', // ignore all dotfiles '**/.git', '**/.hg', '**/.pnp.*', '**/.svn', '**/playwright.config.ts', '**/vitest.config.js', '**/tsconfig.tsbuildinfo', '**/README.md', '**/eslint.config.js', '**/payload-types.ts', '**/dist/', '**/.yarn/', '**/build/', '**/node_modules/', '**/temp/', '**/dev/**', // Ignore dev demo directory ] export default [ { ignores: defaultESLintIgnores, }, ...payloadEsLintConfig, { rules: { 'no-restricted-exports': 'off', // Disable all perfectionist rules 'perfectionist/sort-array-includes': 'off', 'perfectionist/sort-classes': 'off', 'perfectionist/sort-enums': 'off', 'perfectionist/sort-exports': 'off', 'perfectionist/sort-imports': 'off', 'perfectionist/sort-interfaces': 'off', 'perfectionist/sort-jsx-props': 'off', 'perfectionist/sort-maps': 'off', 'perfectionist/sort-named-exports': 'off', 'perfectionist/sort-named-imports': 'off', 'perfectionist/sort-object-types': 'off', 'perfectionist/sort-objects': 'off', 'perfectionist/sort-sets': 'off', 'perfectionist/sort-switch-case': 'off', 'perfectionist/sort-union-types': 'off', 'perfectionist/sort-variable-declarations': 'off', 'perfectionist/sort-intersection-types': 'off', }, }, { languageOptions: { parserOptions: { sourceType: 'module', ecmaVersion: 'latest', projectService: { maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING: 40, allowDefaultProject: ['scripts/*.ts', '*.js', '*.mjs', '*.spec.ts', '*.d.ts'], }, // projectService: true, tsconfigRootDir: import.meta.dirname, }, }, }, ]