Skip to content

Commit cfc8646

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

10 files changed

+99
-21
lines changed

README.md

+17
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ 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
42+
4143
```json
4244
{
4345
"parserOptions": {
@@ -52,6 +54,21 @@ Here's an example ESLint configuration that:
5254
}
5355
```
5456

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

5774
<!-- 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)