Skip to content

Commit 776fb8a

Browse files
committed
feat: Support ESLint 8.x
BREAKING CHANGE: Requires Node@^12.22.0 || ^14.17.0 || >=16.0.0 BREAKING CHANGE: Requires ESLint@^8.x
1 parent addbfd5 commit 776fb8a

File tree

6 files changed

+20
-23
lines changed

6 files changed

+20
-23
lines changed

.github/workflows/CI.yml

+2-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
strategy:
1414
matrix:
1515
os: [ubuntu-latest]
16-
eslint: [7]
16+
eslint: ["^8.0.0-0"]
1717
node: [16]
1818
include:
1919
# On other platforms
@@ -26,10 +26,8 @@ jobs:
2626
os: ubuntu-latest
2727
- node: 12
2828
os: ubuntu-latest
29-
- node: 10
30-
os: ubuntu-latest
3129
# On the minimum supported ESLint/Node.js version
32-
- node: 10.12.0
30+
- node: 12.22.0
3331
os: ubuntu-latest
3432

3533
runs-on: ${{ matrix.os }}

package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33
"version": "13.0.0",
44
"description": "Additional ESLint rules.",
55
"engines": {
6-
"node": "^10.12.0 || >=12.0.0"
6+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
77
},
88
"main": "index.js",
99
"files": [
1010
"lib"
1111
],
1212
"peerDependencies": {
13-
"eslint": "^7.0.0"
13+
"eslint": "^8.0.0-0"
1414
},
1515
"dependencies": {
16-
"@eslint/eslintrc": "^0.4.3",
16+
"@eslint/eslintrc": "^1.0.0",
1717
"@typescript-eslint/eslint-plugin": "^4.29.2",
1818
"@typescript-eslint/parser": "^4.29.2",
1919
"eslint-plugin-eslint-comments": "^3.2.0",
@@ -27,7 +27,7 @@
2727
"devDependencies": {
2828
"@mysticatea/eslint-plugin": "file:.",
2929
"codecov": "^3.6.1",
30-
"eslint": "^7.32.0",
30+
"eslint": "^8.0.0-0",
3131
"fs-extra": "^8.1.0",
3232
"globals": "^12.1.1",
3333
"mocha": "^6.2.2",

scripts/generate-browser-globals.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
const fs = require("fs")
88
const path = require("path")
9-
const { CLIEngine } = require("eslint")
9+
const { ESLint } = require("eslint")
1010
const { browser: originalGlobals } = require("globals")
1111

1212
const targetFile = path.resolve(__dirname, "../lib/configs/_browser-globals.js")
@@ -33,7 +33,7 @@ for (const key of Object.keys(originalGlobals).sort()) {
3333
}
3434
}
3535

36-
const linter = new CLIEngine({ fix: true })
36+
const linter = new ESLint({ fix: true })
3737
const rawCode = `/**
3838
* DON'T EDIT THIS FILE WHICH WAS GENERATED BY './scripts/generate-browser-globals.js'.
3939
*/
@@ -42,7 +42,6 @@ const rawCode = `/**
4242
module.exports = ${JSON.stringify(globals, null, 4)}
4343
`
4444
const code =
45-
linter.executeOnText(rawCode, "_browser-globals.js").results[0].output ||
46-
rawCode
45+
linter.lintText(rawCode, "_browser-globals.js").results[0].output || rawCode
4746

4847
fs.writeFileSync(targetFile, code)

scripts/generate-configs.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
const fs = require("fs")
88
const path = require("path")
9-
const { CLIEngine } = require("eslint")
9+
const { ESLint } = require("eslint")
1010

1111
const targetFile = path.resolve(__dirname, "../lib/configs.js")
1212

@@ -28,6 +28,6 @@ ${fs
2828
`
2929
)
3030

31-
const linter = new CLIEngine({ fix: true })
32-
const result = linter.executeOnFiles([targetFile])
33-
CLIEngine.outputFixes(result)
31+
const linter = new ESLint({ fix: true })
32+
const result = linter.lintFiles([targetFile])
33+
ESLint.outputFixes(result)

scripts/generate-rules.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
const fs = require("fs")
88
const path = require("path")
9-
const { CLIEngine } = require("eslint")
9+
const { ESLint } = require("eslint")
1010

1111
const targetFile = path.resolve(__dirname, "../lib/rules.js")
1212

@@ -34,6 +34,6 @@ ${fs
3434
`
3535
)
3636

37-
const linter = new CLIEngine({ fix: true })
38-
const result = linter.executeOnFiles([targetFile])
39-
CLIEngine.outputFixes(result)
37+
const linter = new ESLint({ fix: true })
38+
const result = linter.lintFiles([targetFile])
39+
ESLint.outputFixes(result)

tests/lib/configs/_rules.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
const { Linter } = require("eslint")
88
const {
99
ConfigArrayFactory,
10-
} = require("@eslint/eslintrc/lib/config-array-factory")
11-
const Validator = require("eslint/lib/shared/config-validator")
10+
Legacy: { ConfigValidator },
11+
} = require("@eslint/eslintrc")
1212
const { rules: PluginRulesIndex } = require("@mysticatea/eslint-plugin")
1313
const { rules: removedRules } = require("eslint/conf/replacements.json")
1414

@@ -38,7 +38,7 @@ module.exports = {
3838
* @returns {void}
3939
*/
4040
validateConfig(config, source) {
41-
Validator.validate(config, source, ruleId => allRules.get(ruleId))
41+
ConfigValidator.validate(config, source, ruleId => allRules.get(ruleId))
4242

4343
/* istanbul ignore next */
4444
for (const ruleId of [].concat(

0 commit comments

Comments
 (0)