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.', }, ], }, ], }, }, ];