diff options
Diffstat (limited to 'language-web/.eslintrc.js')
-rw-r--r-- | language-web/.eslintrc.js | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/language-web/.eslintrc.js b/language-web/.eslintrc.js index 0e4dd5e3..b27feb0e 100644 --- a/language-web/.eslintrc.js +++ b/language-web/.eslintrc.js | |||
@@ -1,9 +1,40 @@ | |||
1 | // Loosely based on | ||
2 | // https://github.com/iamturns/create-exposed-app/blob/f14e435b8ce179c89cce3eea89e56202153a53da/.eslintrc.js | ||
1 | module.exports = { | 3 | module.exports = { |
2 | plugins: [ | 4 | plugins: [ |
3 | 'sonarjs', | 5 | '@typescript-eslint', |
4 | ], | 6 | ], |
5 | extends: [ | 7 | extends: [ |
6 | './.eslintrc.ci.js', | 8 | 'airbnb', |
7 | 'plugin:sonarjs/recommended', | 9 | 'airbnb-typescript', |
10 | 'airbnb/hooks', | ||
11 | 'plugin:@typescript-eslint/recommended', | ||
12 | 'plugin:@typescript-eslint/recommended-requiring-type-checking', | ||
13 | ], | ||
14 | parserOptions: { | ||
15 | project: './tsconfig.json', | ||
16 | }, | ||
17 | rules: { | ||
18 | // https://basarat.gitbooks.io/typescript/docs/tips/defaultIsBad.html | ||
19 | 'import/prefer-default-export': 'off', | ||
20 | 'import/no-default-export': 'error', | ||
21 | // propTypes are for runtime validation, but we rely on TypeScript for build-time validation: | ||
22 | // https://github.com/yannickcr/eslint-plugin-react/issues/2275#issuecomment-492003857 | ||
23 | 'react/prop-types': 'off', | ||
24 | // Make sure switches are exhaustive: https://stackoverflow.com/a/60166264 | ||
25 | 'default-case': 'off', | ||
26 | '@typescript-eslint/switch-exhaustiveness-check': 'error', | ||
27 | // https://github.com/airbnb/javascript/pull/2501 | ||
28 | 'react/function-component-definition': ['error', { | ||
29 | namedComponents: 'function-expression', | ||
30 | namedComponents: 'function-declaration', | ||
31 | }], | ||
32 | }, | ||
33 | env: { | ||
34 | browser: true, | ||
35 | }, | ||
36 | ignorePatterns: [ | ||
37 | '*.js', | ||
38 | 'build/**/*', | ||
8 | ], | 39 | ], |
9 | }; | 40 | }; |