58 lines
1.6 KiB
JavaScript
58 lines
1.6 KiB
JavaScript
module.exports = {
|
|
parser: '@typescript-eslint/parser',
|
|
parserOptions: {
|
|
ecmaVersion: 2018,
|
|
sourceType: 'module',
|
|
},
|
|
env: {
|
|
browser: true,
|
|
es6: true,
|
|
node: true,
|
|
},
|
|
globals: {
|
|
Atomics: 'readonly',
|
|
SharedArrayBuffer: 'readonly',
|
|
document: 'readonly',
|
|
navigator: 'readonly',
|
|
window: 'readonly',
|
|
},
|
|
extends: [
|
|
'eslint:recommended',
|
|
'plugin:@typescript-eslint/eslint-recommended',
|
|
'plugin:@typescript-eslint/recommended',
|
|
'plugin:json/recommended',
|
|
'plugin:promise/recommended',
|
|
'plugin:import/errors',
|
|
'plugin:import/warnings',
|
|
'plugin:import/typescript',
|
|
'plugin:node/recommended',
|
|
'plugin:sonarjs/recommended',
|
|
'plugin:jest/recommended',
|
|
'plugin:jest/style',
|
|
'prettier',
|
|
],
|
|
plugins: ['@typescript-eslint', 'json', 'promise', 'import', 'node', 'sonarjs', 'jest', 'optimize-regex'],
|
|
rules: {
|
|
// Enable
|
|
'optimize-regex/optimize-regex': 'error',
|
|
// Hack: For some reason we need pass again the extensions
|
|
'node/no-missing-import': [
|
|
'error',
|
|
{
|
|
tryExtensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
|
|
},
|
|
],
|
|
// Disable
|
|
// https://github.com/benmosher/eslint-plugin-import/issues/1446
|
|
'import/named': 'off',
|
|
// We don't need this since we are using transpilation
|
|
'node/no-unsupported-features/es-syntax': 'off',
|
|
'no-process-exit': 'off',
|
|
// Too verbose
|
|
'sonarjs/no-duplicate-string': 'off',
|
|
// Too verbose
|
|
'sonarjs/cognitive-complexity': 'off',
|
|
// Too verbose
|
|
'sonarjs/no-nested-template-literals': 'off',
|
|
},
|
|
};
|