Skip to content

Commit 29a02d5

Browse files
committed
chore: move the configs to separate files
1 parent c446dd1 commit 29a02d5

10 files changed

+97
-21
lines changed

README.md

+15
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ Here's an example ESLint configuration that:
3838
* Enables the `recommended` configuration
3939
* Enables an optional/non-recommended rule
4040

41+
### <a name='eslintrc'></a>eslintrc
4142
```json
4243
{
4344
"parserOptions": {
@@ -52,6 +53,20 @@ Here's an example ESLint configuration that:
5253
}
5354
```
5455

56+
### <a name='flat'></a>`eslint.config.js`
57+
```js
58+
const eslintPluginRecommended = require("eslint-plugin-eslint-plugin/configs/recommended");
59+
module.exports = [
60+
eslintPluginRecommended,
61+
{
62+
languageOptions: {sourceType: "commonjs"},
63+
rules: {
64+
"eslint-plugin/require-meta-docs-description": "error",
65+
},
66+
},
67+
];
68+
```
69+
5570
## <a name='Rules'></a>Rules
5671

5772
<!-- begin auto-generated rules list -->

configs/all.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/**
2+
* @fileoverview the `all` config for `eslint.config.js`
3+
* @author 唯然<[email protected]>
4+
*/
5+
6+
'use strict';
7+
8+
const { configs, rules } = require('../lib/index.js');
9+
10+
module.exports = {
11+
plugins: { 'eslint-plugin': { rules } },
12+
rules: configs.all.rules,
13+
};

configs/index.js

-18
This file was deleted.

configs/recommended.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/**
2+
* @fileoverview the `recommended` config for `eslint.config.js`
3+
* @author 唯然<[email protected]>
4+
*/
5+
6+
'use strict';
7+
8+
const { configs, rules } = require('../lib/index.js');
9+
10+
module.exports = {
11+
plugins: { 'eslint-plugin': { rules } },
12+
rules: configs.recommended.rules,
13+
};

configs/rules-recommended.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/**
2+
* @fileoverview the `rules-recommended` config for `eslint.config.js`
3+
* @author 唯然<[email protected]>
4+
*/
5+
6+
'use strict';
7+
8+
const { configs, rules } = require('../lib/index.js');
9+
10+
module.exports = {
11+
plugins: { 'eslint-plugin': { rules } },
12+
rules: configs['rules-recommended'].rules,
13+
};

configs/rules.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/**
2+
* @fileoverview the `rules` config for `eslint.config.js`
3+
* @author 唯然<[email protected]>
4+
*/
5+
6+
'use strict';
7+
8+
const { configs, rules } = require('../lib/index.js');
9+
10+
module.exports = {
11+
plugins: { 'eslint-plugin': { rules } },
12+
rules: configs.rules.rules,
13+
};

configs/tests-recommended.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/**
2+
* @fileoverview the `tests-recommended` config for `eslint.config.js`
3+
* @author 唯然<[email protected]>
4+
*/
5+
6+
'use strict';
7+
8+
const { configs, rules } = require('../lib/index.js');
9+
10+
module.exports = {
11+
plugins: { 'eslint-plugin': { rules } },
12+
rules: configs['tests-recommended'].rules,
13+
};

configs/tests.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/**
2+
* @fileoverview the `tests` config for `eslint.config.js`
3+
* @author 唯然<[email protected]>
4+
*/
5+
6+
'use strict';
7+
8+
const { configs, rules } = require('../lib/index.js');
9+
10+
module.exports = {
11+
plugins: { 'eslint-plugin': { rules } },
12+
rules: configs.tests.rules,
13+
};

eslint.config.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const js = require('@eslint/js');
44
const { FlatCompat } = require('@eslint/eslintrc');
55
const globals = require('globals');
66
const markdown = require('eslint-plugin-markdown');
7-
const eslintPluginConfig = require('eslint-plugin-eslint-plugin/configs').all;
7+
const eslintPluginConfig = require('eslint-plugin-eslint-plugin/configs/all');
88

99
const compat = new FlatCompat({
1010
baseDirectory: __dirname,
@@ -48,8 +48,9 @@ module.exports = [
4848
{
4949
// Apply eslint-plugin rules to our own rules/tests (but not docs).
5050
files: ['lib/**/*.js', 'tests/**/*.js'],
51-
...eslintPluginConfig,
51+
plugins: eslintPluginConfig.plugins,
5252
rules: {
53+
...eslintPluginConfig.rules,
5354
'eslint-plugin/report-message-format': ['error', '^[^a-z].*.$'],
5455
'eslint-plugin/require-meta-docs-url': [
5556
'error',

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"main": "./lib/index.js",
77
"exports": {
88
".": "./lib/index.js",
9-
"./configs": "./configs/index.js",
9+
"./configs/*": "./configs/*.js",
1010
"./package.json": "./package.json"
1111
},
1212
"license": "MIT",

0 commit comments

Comments
 (0)