aboutsummaryrefslogtreecommitdiffstats
path: root/language-web/.eslintrc.ci.js
diff options
context:
space:
mode:
Diffstat (limited to 'language-web/.eslintrc.ci.js')
-rw-r--r--language-web/.eslintrc.ci.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/language-web/.eslintrc.ci.js b/language-web/.eslintrc.ci.js
new file mode 100644
index 00000000..b4c83bb8
--- /dev/null
+++ b/language-web/.eslintrc.ci.js
@@ -0,0 +1,33 @@
1// Loosely based on
2// https://github.com/iamturns/create-exposed-app/blob/f14e435b8ce179c89cce3eea89e56202153a53da/.eslintrc.js
3module.exports = {
4 plugins: [
5 '@typescript-eslint',
6 ],
7 extends: [
8 'airbnb',
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 },
28 ignorePatterns: [
29 '*.js',
30 'build/**/*',
31 'src/main/js/xtext/**/*',
32 ],
33};