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