rerumaccusamus
Version:
The meta-framework suite designed from scratch for frontend-focused modern web development.
62 lines (61 loc) • 4.08 kB
JavaScript
module.exports = {
overrides: [
{
files: ['*.ts', '*.d.ts', '*.tsx'],
extends: ['./ts'],
parserOptions: {
ecmaFeatures: { jsx: true },
// don't set tsconfigRootDir, using the path relative to the cwd
project: ['./tsconfig.json'],
},
rules: {
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/await-thenable.md
'@typescript-eslint/await-thenable': 'error',
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-for-in-array.md
'@typescript-eslint/no-for-in-array': 'error',
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-implied-eval.md
'no-implied-eval': 'off',
'@typescript-eslint/no-implied-eval': 'error',
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-misused-promises.md
'@typescript-eslint/no-misused-promises': [
'error',
{ checksVoidReturn: false },
],
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unnecessary-type-assertion.md
'@typescript-eslint/no-unnecessary-type-assertion': 'error',
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/restrict-template-expressions.md
'@typescript-eslint/restrict-template-expressions': [
'error',
{ allowNumber: true, allowAny: true },
],
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-base-to-string.md
'@typescript-eslint/no-base-to-string': 'error',
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.md
'@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error',
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unnecessary-qualifier.md
'@typescript-eslint/no-unnecessary-qualifier': 'error',
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin//docs/rules/no-unnecessary-type-arguments.md
'@typescript-eslint/no-unnecessary-type-arguments': 'error',
// https://github.com/typescript-eslint/typescript-eslint/pull/294
'@typescript-eslint/prefer-includes': 'error',
// https://github.com/typescript-eslint/typescript-eslint/pull/289
'@typescript-eslint/prefer-string-starts-ends-with': 'error',
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-regexp-exec.md
'@typescript-eslint/prefer-regexp-exec': 'error',
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/prefer-readonly.md
'@typescript-eslint/prefer-readonly': 'error',
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/switch-exhaustiveness-check.md
'@typescript-eslint/switch-exhaustiveness-check': 'error',
// https://github.com/typescript-eslint/typescript-eslint/blob/55eb0cfac20ccbc2e954083dd554dbcfcbed64fb/packages/eslint-plugin/docs/rules/return-await.md
'no-return-await': 'off',
'@typescript-eslint/return-await': 'error',
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/dot-notation.md
'dot-notation': 'off',
'@typescript-eslint/dot-notation': ['error', { allowKeywords: true }],
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-throw-literal.md
'no-throw-literal': 'off',
'@typescript-eslint/no-throw-literal': 'error',
},
},
],
};