From 112ecc9906fb0db30ead9e05a9b93f2b39a4a1b2 Mon Sep 17 00:00:00 2001 From: Leo Hui Date: Sun, 1 Sep 2019 15:17:14 +0800 Subject: [PATCH] feat: update react, typescript rules (#23) --- .eslintignore | 5 +++-- packages/eslint-config/overrides/index.js | 3 ++- packages/eslint-config/plugins/babel.js | 2 +- packages/eslint-config/plugins/import.js | 1 + packages/eslint-config/plugins/markdown.js | 1 + packages/eslint-config/plugins/react-hooks.js | 1 + packages/eslint-config/plugins/react.js | 9 +++++++-- packages/eslint-config/plugins/typescript.js | 10 +++++++++- 8 files changed, 25 insertions(+), 7 deletions(-) diff --git a/.eslintignore b/.eslintignore index 847b9b3..2cd55c5 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,5 +1,6 @@ -# by default, .eslintrc will ignored -!.eslintrc.js +# by default, dotfile will ignored by eslint +# we unignore them to be linted +!.* # build assets should not lint dist/ diff --git a/packages/eslint-config/overrides/index.js b/packages/eslint-config/overrides/index.js index ca24e95..9aba4c2 100644 --- a/packages/eslint-config/overrides/index.js +++ b/packages/eslint-config/overrides/index.js @@ -6,8 +6,9 @@ module.exports = { react: require('./react'), mdx: require('./mdx'), recommended: [ - require('./typescript'), require('./babel'), + require('./typescript'), + require('./react'), require('./jest'), require('./mdx'), ], diff --git a/packages/eslint-config/plugins/babel.js b/packages/eslint-config/plugins/babel.js index 5868cc0..be560c2 100644 --- a/packages/eslint-config/plugins/babel.js +++ b/packages/eslint-config/plugins/babel.js @@ -1,4 +1,4 @@ -// eslint-plugin-babel has no recommend config +// https://github.com/babel/eslint-plugin-babel module.exports = { extends: ['prettier/babel'], parser: 'babel-eslint', diff --git a/packages/eslint-config/plugins/import.js b/packages/eslint-config/plugins/import.js index 02a149c..6bbd6f1 100644 --- a/packages/eslint-config/plugins/import.js +++ b/packages/eslint-config/plugins/import.js @@ -1,3 +1,4 @@ +// https://github.com/benmosher/eslint-plugin-import module.exports = { plugins: ['import'], rules: { diff --git a/packages/eslint-config/plugins/markdown.js b/packages/eslint-config/plugins/markdown.js index c42175c..cdf7235 100644 --- a/packages/eslint-config/plugins/markdown.js +++ b/packages/eslint-config/plugins/markdown.js @@ -1,3 +1,4 @@ +// https://github.com/rx-ts/eslint-mdx/tree/master/packages/eslint-plugin-mdx module.exports = { extends: ['plugin:mdx/recommended'], overrides: [ diff --git a/packages/eslint-config/plugins/react-hooks.js b/packages/eslint-config/plugins/react-hooks.js index 15bb590..83611ee 100644 --- a/packages/eslint-config/plugins/react-hooks.js +++ b/packages/eslint-config/plugins/react-hooks.js @@ -1,3 +1,4 @@ +// https://www.npmjs.com/package/eslint-plugin-react-hooks module.exports = { plugins: ['react-hooks'], rules: { diff --git a/packages/eslint-config/plugins/react.js b/packages/eslint-config/plugins/react.js index 236aa1a..2b46362 100644 --- a/packages/eslint-config/plugins/react.js +++ b/packages/eslint-config/plugins/react.js @@ -1,5 +1,10 @@ +// https://github.com/yannickcr/eslint-plugin-react#recommended module.exports = { - extends: ['prettier/react'], - plugins: ['react'], + extends: ['plugin:react/recommended', 'prettier/react'], rules: {}, + settings: { + react: { + version: 'detect', + }, + }, }; diff --git a/packages/eslint-config/plugins/typescript.js b/packages/eslint-config/plugins/typescript.js index aae8bc0..bd0fa5b 100644 --- a/packages/eslint-config/plugins/typescript.js +++ b/packages/eslint-config/plugins/typescript.js @@ -13,7 +13,9 @@ module.exports = { 'plugin:import/typescript', 'prettier/@typescript-eslint', ], - rules: {}, + rules: { + '@typescript-eslint/explicit-function-return-type': 0, + }, parserOptions: { project: fs.existsSync(ESLINT_TSCONFIG) ? ESLINT_TSCONFIG @@ -21,4 +23,10 @@ module.exports = { ? BASE_TSCONFIG : require.resolve('@mjolnir/tsconfig'), }, + settings: { + // shared settings for eslint-plugin-node + node: { + tryExtensions: ['.js', '.jsx', '.json', '.ts', '.tsx'], + }, + }, };