Skip to content

Commit bbaf218

Browse files
feat: update eslint-plugin-node + update configs (#24)
* feat: update `eslint-plugin-node` + update configs BREAKING CHANGE: `+node`, `es5`, `es2015`, `es2016`, `es2017`, `es2018`, `es2019`, `es2020`, `es2021` & `es2022` configs now have extra rules from `eslint-plugin-node` * chore: fix ESLint errors
1 parent b08d8b6 commit bbaf218

19 files changed

+44
-28
lines changed

.eslintrc.yml

+15
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,18 @@ root: true
22
extends:
33
- plugin:@eslint-community/mysticatea/es2015
44
- plugin:@eslint-community/mysticatea/+eslint-plugin
5+
6+
overrides:
7+
- files: ["lib/utils.js", "scripts/*.js"]
8+
rules:
9+
"@eslint-community/mysticatea/node/no-sync": off
10+
11+
- files:
12+
[
13+
"lib/configs.js",
14+
"lib/foreign-rules/ts.js",
15+
"lib/processors.js",
16+
"lib/rules.js",
17+
]
18+
rules:
19+
"@eslint-community/mysticatea/node/global-require": off

lib/configs/+node.js

+11
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ module.exports = {
4646
require: "readonly",
4747
},
4848
rules: {
49+
"@eslint-community/mysticatea/node/callback-return": "error",
4950
"@eslint-community/mysticatea/node/exports-style": [
5051
"error",
5152
"module.exports",
@@ -55,13 +56,23 @@ module.exports = {
5556
"always",
5657
{ ".js": "never", ".ts": "never", ".tsx": "never" },
5758
],
59+
"@eslint-community/mysticatea/node/global-require": "error",
60+
"@eslint-community/mysticatea/node/handle-callback-err": "error",
5861
"@eslint-community/mysticatea/node/no-callback-literal": "off",
5962
"@eslint-community/mysticatea/node/no-deprecated-api": "error",
6063
"@eslint-community/mysticatea/node/no-exports-assign": "error",
6164
"@eslint-community/mysticatea/node/no-extraneous-import": "error",
6265
"@eslint-community/mysticatea/node/no-extraneous-require": "error",
6366
"@eslint-community/mysticatea/node/no-missing-import": "error",
6467
"@eslint-community/mysticatea/node/no-missing-require": "error",
68+
"@eslint-community/mysticatea/node/no-mixed-requires": "error",
69+
"@eslint-community/mysticatea/node/no-new-require": "error",
70+
"@eslint-community/mysticatea/node/no-path-concat": "error",
71+
"@eslint-community/mysticatea/node/no-process-env": "error",
72+
"@eslint-community/mysticatea/node/no-process-exit": "error",
73+
"@eslint-community/mysticatea/node/no-restricted-import": "error",
74+
"@eslint-community/mysticatea/node/no-restricted-require": "error",
75+
"@eslint-community/mysticatea/node/no-sync": "error",
6576
"@eslint-community/mysticatea/node/no-unpublished-bin": "error",
6677
"@eslint-community/mysticatea/node/no-unpublished-import": "error",
6778
"@eslint-community/mysticatea/node/no-unpublished-require": "error",

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"@typescript-eslint/parser": "^5.40.0",
1818
"eslint-plugin-eslint-comments": "^3.2.0",
1919
"eslint-plugin-eslint-plugin": "^4.4.1",
20-
"eslint-plugin-node": "^10.0.0",
20+
"eslint-plugin-node": "^11.1.0",
2121
"eslint-plugin-prettier": "^3.4.1",
2222
"eslint-plugin-vue": "^6.2.2",
2323
"prettier": "^2.7.1",

tests/lib/configs/_rules.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const {
99
ConfigArrayFactory,
1010
} = require("eslint/lib/cli-engine/config-array-factory")
1111
const Validator = require("eslint/lib/shared/config-validator")
12+
const { rules: removedRules } = require("eslint/conf/replacements.json")
1213
const {
1314
rules: PluginRulesIndex,
1415
} = require("@eslint-community/eslint-plugin-mysticatea")
@@ -27,9 +28,7 @@ const deprecatedRuleNames = new Set(
2728
.filter(([, rule]) => rule && rule.meta && rule.meta.deprecated)
2829
.map(([ruleId]) => ruleId)
2930
)
30-
const removedRuleNames = new Set(
31-
Object.keys(require("eslint/conf/replacements.json").rules)
32-
)
31+
const removedRuleNames = new Set(Object.keys(removedRules))
3332

3433
const configFactory = new ConfigArrayFactory()
3534

tests/lib/configs/browser.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
*/
66
"use strict"
77

8+
const config = require("../../../lib/configs/+browser")
89
const Rules = require("./_rules")
910

1011
describe("'+browser.js'", () => {
11-
const config = require("../../../lib/configs/+browser")
12-
1312
it("should be a valid config.", () => {
1413
Rules.validateConfig(config, "+browser.js")
1514
})

tests/lib/configs/es2015.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"use strict"
77

88
const assert = require("assert")
9+
const config = require("../../../lib/configs/es2015")
910
const Rules = require("./_rules")
1011

1112
/**
@@ -22,7 +23,6 @@ function isES6Rule(ruleId) {
2223
}
2324

2425
describe("'es2015.js'", () => {
25-
const config = require("../../../lib/configs/es2015")
2626
const configuredRules = Rules.getRulesOfConfig(config, "es2015")
2727
const existingRules = Rules.getCoreRuleNames()
2828

tests/lib/configs/es2016.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
*/
66
"use strict"
77

8+
const config = require("../../../lib/configs/es2016")
89
const Rules = require("./_rules")
910

1011
describe("'es2016.js'", () => {
11-
const config = require("../../../lib/configs/es2016")
12-
1312
it("should be a valid config.", () => {
1413
Rules.validateConfig(config, "es2016.js")
1514
})

tests/lib/configs/es2017.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
*/
66
"use strict"
77

8+
const config = require("../../../lib/configs/es2017")
89
const Rules = require("./_rules")
910

1011
describe("'es2017.js'", () => {
11-
const config = require("../../../lib/configs/es2017")
12-
1312
it("should be a valid config.", () => {
1413
Rules.validateConfig(config, "es2017.js")
1514
})

tests/lib/configs/es2018.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
*/
66
"use strict"
77

8+
const config = require("../../../lib/configs/es2018")
89
const Rules = require("./_rules")
910

1011
describe("'es2018.js'", () => {
11-
const config = require("../../../lib/configs/es2018")
12-
1312
it("should be a valid config.", () => {
1413
Rules.validateConfig(config, "es2018.js")
1514
})

tests/lib/configs/es2019.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@
44
*/
55
"use strict"
66

7+
const config = require("../../../lib/configs/es2019")
78
const Rules = require("./_rules")
89

910
describe("'es2019.js'", () => {
10-
const config = require("../../../lib/configs/es2019")
11-
1211
it("should be a valid config.", () => {
1312
Rules.validateConfig(config, "es2019.js")
1413
})

tests/lib/configs/es2020.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@
44
*/
55
"use strict"
66

7+
const config = require("../../../lib/configs/es2020")
78
const Rules = require("./_rules")
89

910
describe("'es2020.js'", () => {
10-
const config = require("../../../lib/configs/es2020")
11-
1211
it("should be a valid config.", () => {
1312
Rules.validateConfig(config, "es2020.js")
1413
})

tests/lib/configs/es5.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"use strict"
77

88
const assert = require("assert")
9+
const config = require("../../../lib/configs/es5")
910
const Rules = require("./_rules")
1011

1112
/**
@@ -22,7 +23,6 @@ function isES6Rule(ruleId) {
2223
}
2324

2425
describe("'es5.js'", () => {
25-
const config = require("../../../lib/configs/es5")
2626
const configuredRules = Rules.getRulesOfConfig(config, "es5")
2727
const existingRules = [].concat(
2828
Rules.getCoreRuleNames(),

tests/lib/configs/eslint-plugin.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
"use strict"
77

88
const assert = require("assert")
9+
const config = require("../../../lib/configs/+eslint-plugin")
910
const Rules = require("./_rules")
1011

1112
describe("'+eslint-plugin.js'", () => {
12-
const config = require("../../../lib/configs/+eslint-plugin")
1313
const configuredRules = Rules.getRulesOfConfig(config, "+eslint-plugin")
1414
const existingRules = Rules.getPluginRuleNames("eslint-plugin")
1515

tests/lib/configs/mocha.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
*/
66
"use strict"
77

8+
const config = require("../../../lib/configs/_override-mocha")
89
const Rules = require("./_rules")
910

1011
describe("'mocha.js'", () => {
11-
const config = require("../../../lib/configs/_override-mocha")
12-
1312
it("should be a valid config.", () => {
1413
Rules.validateConfig(config, "mocha.js")
1514
})

tests/lib/configs/modules.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
*/
66
"use strict"
77

8+
const config = require("../../../lib/configs/+modules")
89
const Rules = require("./_rules")
910

1011
describe("'+modules.js'", () => {
11-
const config = require("../../../lib/configs/+modules")
12-
1312
it("should be a valid config.", () => {
1413
Rules.validateConfig(config, "+modules.js")
1514
})

tests/lib/configs/node.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
"use strict"
77

88
const assert = require("assert")
9+
const config = require("../../../lib/configs/+node")
910
const Rules = require("./_rules")
1011

1112
describe("'+node.js'", () => {
12-
const config = require("../../../lib/configs/+node")
1313
const configuredRules = Rules.getRulesOfConfig(config, "+node")
1414
const existingRules = Rules.getPluginRuleNames("node")
1515

tests/lib/configs/special.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
*/
66
"use strict"
77

8+
const config = require("../../../lib/configs/_override-special")
89
const Rules = require("./_rules")
910

1011
describe("'special.js'", () => {
11-
const config = require("../../../lib/configs/_override-special")
12-
1312
it("should be a valid config.", () => {
1413
Rules.validateConfig(config, "special.js")
1514
})

tests/lib/configs/ts.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
"use strict"
77

88
const assert = require("assert")
9+
const config = require("../../../lib/configs/_override-ts")
910
const Rules = require("./_rules")
1011

1112
describe("'ts.js'", () => {
12-
const config = require("../../../lib/configs/_override-ts")
1313
const configuredRules = Rules.getRulesOfConfig(config, "_override-ts")
1414
const existingRules = Rules.getPluginRuleNames("ts")
1515

tests/lib/configs/vue.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
"use strict"
77

88
const assert = require("assert")
9+
const config = require("../../../lib/configs/_override-vue")
910
const Rules = require("./_rules")
1011

1112
describe("'vue.js'", () => {
12-
const config = require("../../../lib/configs/_override-vue")
1313
const configuredRules = Rules.getRulesOfConfig(config, "_override-ts")
1414
const existingRules = Rules.getPluginRuleNames("vue")
1515

0 commit comments

Comments
 (0)