Skip to content

Commit

Permalink
Fix eslint in vscode (#1099)
Browse files Browse the repository at this point in the history
* chore: make eslint work with vscode

* chore: add jsx,tsx
  • Loading branch information
mcasimir committed Sep 10, 2021
1 parent 5e8ab45 commit c437255
Show file tree
Hide file tree
Showing 18 changed files with 180 additions and 57 deletions.
84 changes: 44 additions & 40 deletions config/eslintrc.base.js
@@ -1,49 +1,53 @@
const typescriptEslintEslintPlugin = require('@typescript-eslint/eslint-plugin');
const jsRules = {
'object-curly-spacing': [2, 'always'],
'no-empty-function': 0,
'valid-jsdoc': 0,
'react/sort-comp': 0, // does not seem work as expected with typescript
'mocha/no-skipped-tests': 1,
'mocha/no-exclusive-tests': 2,
'semi': [2, 'always'],
'no-console': [1, { allow: ['warn', 'error', 'info'] }],
'no-shadow': 0,
'no-use-before-define': 0,
'no-cond-assign': [2, 'except-parens']
}

// ovrerrides do not work with extends
const ruleOverridesForJs = Object.keys(typescriptEslintEslintPlugin.rules).reduce(
(overrides, rule) => ({ ...overrides, [`@typescript-eslint/${rule}`]: 0 }), {}
);
const tsRules = {
'@typescript-eslint/no-empty-function': 0,
'@typescript-eslint/no-use-before-define': 0,
'@typescript-eslint/no-explicit-any': 0,
'@typescript-eslint/no-var-requires': 0, // seems necessary to import less files
'@typescript-eslint/no-unused-vars': 2,
'@typescript-eslint/no-floating-promises': 2,
'@typescript-eslint/await-thenable': 2,
'@typescript-eslint/require-await': 2,
'@typescript-eslint/explicit-module-boundary-types': 0,
'@typescript-eslint/ban-types': 0,
'semi': 0,
'@typescript-eslint/semi': [2, 'always']
};

module.exports = {
plugins: ['mocha'],
parser: '@typescript-eslint/parser',
parserOptions: {
project: './tsconfig.lint.json'
},
extends: [
'eslint-config-mongodb-js/react',
'plugin:@typescript-eslint/recommended'
],
rules: {
'object-curly-spacing': [2, 'always'],
'no-empty-function': 0,
'valid-jsdoc': 0,
'react/sort-comp': 0, // does not seem work as expected with typescript
'@typescript-eslint/no-empty-function': 0,
'@typescript-eslint/no-use-before-define': 0,
'@typescript-eslint/no-explicit-any': 0,
'@typescript-eslint/no-var-requires': 0, // seems necessary to import less files
'@typescript-eslint/no-unused-vars': 2,
'@typescript-eslint/no-floating-promises': 2,
'@typescript-eslint/await-thenable': 2,
'@typescript-eslint/require-await': 2,
'@typescript-eslint/explicit-module-boundary-types': 0,
'@typescript-eslint/ban-types': 0,
'mocha/no-skipped-tests': 1,
'mocha/no-exclusive-tests': 2,
'semi': 0,
'@typescript-eslint/semi': [2, 'always'],
'no-console': [1, { allow: ['warn', 'error', 'info'] }],
'no-shadow': 0,
'no-use-before-define': 0,
'no-cond-assign': [2, 'except-parens']
},
overrides: [{
files: ['**/*.js'],
files: ['**/*.js', '**/*.jsx'],
extends: [
'eslint-config-mongodb-js/react'
],
rules: {
...jsRules
}
},
{
files: ['**/*.ts', '**/*.tsx'],
parser: '@typescript-eslint/parser',
extends: [
'eslint-config-mongodb-js/react',
'plugin:@typescript-eslint/recommended'
],
rules: {
...ruleOverridesForJs,
semi: [2, 'always']
...jsRules,
...tsRules
}
}]
};
9 changes: 8 additions & 1 deletion packages/async-rewriter2/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/autocomplete/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/browser-repl/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/browser-runtime-core/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/browser-runtime-electron/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/build/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/cli-repl/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/errors/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/history/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/i18n/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/node-runtime-worker-thread/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/service-provider-core/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/service-provider-server/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/shell-api/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/shell-evaluator/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/snippet-manager/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};
9 changes: 8 additions & 1 deletion packages/types/.eslintrc.js
@@ -1 +1,8 @@
module.exports = require('../../config/eslintrc.base');
module.exports = {
...require('../../config/eslintrc.base'),
root: true,
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.lint.json'
}
};

0 comments on commit c437255

Please sign in to comment.