| import blitzPlugin from '@blitz/eslint-plugin'; |
| import { jsFileExtensions } from '@blitz/eslint-plugin/dist/configs/javascript.js'; |
| import { getNamingConventionRule, tsFileExtensions } from '@blitz/eslint-plugin/dist/configs/typescript.js'; |
|
|
| export default [ |
| { |
| ignores: ['**/dist', '**/node_modules', '**/.wrangler', '**/bolt/build', '**/.history'], |
| }, |
| ...blitzPlugin.configs.recommended(), |
| { |
| rules: { |
| '@blitz/catch-error-name': 'off', |
| '@typescript-eslint/no-this-alias': 'off', |
| '@typescript-eslint/no-empty-object-type': 'off', |
| '@blitz/comment-syntax': 'off', |
| '@blitz/block-scope-case': 'off', |
| 'array-bracket-spacing': ['error', 'never'], |
| 'object-curly-newline': ['error', { consistent: true }], |
| 'keyword-spacing': ['error', { before: true, after: true }], |
| 'consistent-return': 'error', |
| semi: ['error', 'always'], |
| curly: ['error'], |
| 'no-eval': ['error'], |
| 'linebreak-style': ['error', 'unix'], |
| 'arrow-spacing': ['error', { before: true, after: true }], |
| }, |
| }, |
| { |
| files: ['**/*.tsx'], |
| rules: { |
| ...getNamingConventionRule({}, true), |
| }, |
| }, |
| { |
| files: ['**/*.d.ts'], |
| rules: { |
| '@typescript-eslint/no-empty-object-type': 'off', |
| }, |
| }, |
| { |
| files: [...tsFileExtensions, ...jsFileExtensions, '**/*.tsx'], |
| ignores: ['functions/*'], |
| rules: { |
| 'no-restricted-imports': [ |
| 'error', |
| { |
| patterns: [ |
| { |
| group: ['../'], |
| message: "Relative imports are not allowed. Please use '~/' instead.", |
| }, |
| ], |
| }, |
| ], |
| }, |
| }, |
| ]; |
|
|