From a3f8f5b0d67bf0d90d06368e303e6166f4f861bb Mon Sep 17 00:00:00 2001 From: jjangga0214 Date: Sat, 10 Sep 2022 21:51:54 +0900 Subject: [PATCH] feat: support new config system --- configs/all.mjs | 7 +++++++ configs/jsx-runtime.mjs | 9 +++++++++ configs/recommended.mjs | 22 ++++++++++++++++++++++ index.mjs | 5 +++++ package.json | 10 ++++++++++ 5 files changed, 53 insertions(+) create mode 100644 configs/all.mjs create mode 100644 configs/jsx-runtime.mjs create mode 100644 configs/recommended.mjs create mode 100644 index.mjs diff --git a/configs/all.mjs b/configs/all.mjs new file mode 100644 index 0000000000..ee2db0f720 --- /dev/null +++ b/configs/all.mjs @@ -0,0 +1,7 @@ +import recommended from './recommended.mjs' +import legacy from '../index.js' + +export default { + ...recommended, + rules: legacy.configs.all.rules +}; diff --git a/configs/jsx-runtime.mjs b/configs/jsx-runtime.mjs new file mode 100644 index 0000000000..f4b664e14f --- /dev/null +++ b/configs/jsx-runtime.mjs @@ -0,0 +1,9 @@ +import recommended from './recommended.mjs' + +export default { + ...recommended, + rules: { + 'react/react-in-jsx-scope': 0, + 'react/jsx-uses-react': 0, + }, +}; diff --git a/configs/recommended.mjs b/configs/recommended.mjs new file mode 100644 index 0000000000..9bd3e6fb5a --- /dev/null +++ b/configs/recommended.mjs @@ -0,0 +1,22 @@ +import react from '../index.mjs' +import legacy from '../index.js' +import globals from 'globals' + +export default { + files: ['**/*.{js,jsx,ts,tsx}'], + globals: { + ...globals.browser, + ...globals.serviceworker + }, + plugins: { + react + }, + languageOptions: { + parserOptions: { + ecmaFeatures: { + jsx: true, + } + }, + }, + rules: legacy.configs.recommended.rules +}; diff --git a/index.mjs b/index.mjs new file mode 100644 index 0000000000..32a95a5e25 --- /dev/null +++ b/index.mjs @@ -0,0 +1,5 @@ +import { deprecatedRules, rules } from './index.js' + +export default { + deprecatedRules, rules +} diff --git a/package.json b/package.json index a95d085b43..111d5fdc03 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,15 @@ "author": "Yannick Croissant ", "description": "React specific linting rules for ESLint", "main": "index.js", + "exports": { + ".": { + "import": "./index.mjs", + "require": "./index.js" + }, + "./all": "./configs/all.mjs", + "./jsx-runtime": "./configs/jsx-runtime.mjs", + "./recommended": "./configs/recommended.mjs" + }, "scripts": { "prepack": "npmignore --auto --commentLines=autogenerated", "prelint": "npm run lint:docs", @@ -29,6 +38,7 @@ "array.prototype.flatmap": "^1.3.0", "doctrine": "^2.1.0", "estraverse": "^5.3.0", + "globals": "^13.17.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", "object.entries": "^1.1.5",