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