From 3451236daddc96effcc88a933f263df916b13418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20De=20Boey?= Date: Mon, 31 Jul 2023 04:19:13 +0200 Subject: [PATCH] feat: support ESLint 8.x (#92) --- .github/workflows/ci.yml | 10 +- docs/README.md | 2 +- package.json | 4 +- tests/lib/rules/no-unused-disable.js | 302 +++++++++++++++++---------- 4 files changed, 196 insertions(+), 122 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9a00490..a0ba656 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,19 +41,23 @@ jobs: ๐Ÿงช Test (Node@${{ matrix.node }} - ESLint@${{ matrix.eslint }} - ${{ matrix.os }}) strategy: + fail-fast: false matrix: - eslint: [7] + eslint: [8] node: [12.22.0, 12, 14.17.0, 14, 16.0.0, 16, 18.0.0, 18, 20] os: [ubuntu-latest] include: # On other platforms - os: windows-latest - eslint: 7 + eslint: 8 node: 18 - os: macos-latest - eslint: 7 + eslint: 8 node: 18 # On old ESLint versions + - eslint: 7 + node: 18 + os: ubuntu-latest - eslint: 6 node: 18 os: ubuntu-latest diff --git a/docs/README.md b/docs/README.md index 3fc269e..5063a83 100644 --- a/docs/README.md +++ b/docs/README.md @@ -27,7 +27,7 @@ npm install --save-dev eslint @eslint-community/eslint-plugin-eslint-comments ::: tip Requirements - Node.js `^12.22.0 || ^14.17.0 || >=16.0.0` -- ESLint `^6.0.0 || ^7.0.0` +- ESLint `^6.0.0 || ^7.0.0 || ^8.0.0` ::: ## ๐Ÿ“– Usage diff --git a/package.json b/package.json index 3fc24fe..3d8f717 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "lib" ], "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "dependencies": { "escape-string-regexp": "^4.0.0", @@ -23,7 +23,7 @@ "@types/node": "^14.18.54", "@vuepress/plugin-pwa": "^1.9.9", "cross-spawn": "^7.0.3", - "eslint": "^7.32.0", + "eslint": "^8.46.0", "eslint4b": "^7.32.0", "fs-extra": "^10.1.0", "mocha": "^9.2.2", diff --git a/tests/lib/rules/no-unused-disable.js b/tests/lib/rules/no-unused-disable.js index 86ca225..d62fbe2 100644 --- a/tests/lib/rules/no-unused-disable.js +++ b/tests/lib/rules/no-unused-disable.js @@ -257,48 +257,71 @@ var a = b /*eslint-disable-line no-undef*/`, { code: `/*eslint no-undef:off, no-unused-vars:off*/ var a = b //eslint-disable-line no-undef,no-unused-vars`, - errors: [ - { - message: - "'no-undef' rule is disabled but never reported.", - line: 2, - column: 33, - endLine: 2, - endColumn: 41, - suggestions: [], - }, - { - message: - "'no-unused-vars' rule is disabled but never reported.", - line: 2, - column: 42, - endLine: 2, - endColumn: 56, - suggestions: [], - }, - ], + errors: semver.satisfies(Linter.version, ">=8.0.0") + ? [ + { + message: + "'no-undef' rule is disabled but never reported.", + line: 2, + column: 33, + endLine: 2, + endColumn: 41, + suggestions: [], + }, + ] + : [ + { + message: + "'no-undef' rule is disabled but never reported.", + line: 2, + column: 33, + endLine: 2, + endColumn: 41, + suggestions: [], + }, + { + message: + "'no-unused-vars' rule is disabled but never reported.", + line: 2, + column: 42, + endLine: 2, + endColumn: 56, + suggestions: [], + }, + ], }, { code: `/*eslint no-undef:off, no-unused-vars:off*/ var a = b /*eslint-disable-line no-undef,no-unused-vars*/`, - errors: [ - { - message: - "'no-undef' rule is disabled but never reported.", - line: 2, - column: 33, - endLine: 2, - endColumn: 41, - }, - { - message: - "'no-unused-vars' rule is disabled but never reported.", - line: 2, - column: 42, - endLine: 2, - endColumn: 56, - }, - ], + errors: semver.satisfies(Linter.version, ">=8.0.0") + ? [ + { + message: + "'no-undef' rule is disabled but never reported.", + line: 2, + column: 33, + endLine: 2, + endColumn: 41, + }, + ] + : [ + { + message: + "'no-undef' rule is disabled but never reported.", + line: 2, + column: 33, + endLine: 2, + endColumn: 41, + }, + { + message: + "'no-unused-vars' rule is disabled but never reported.", + line: 2, + column: 42, + endLine: 2, + endColumn: 56, + }, + ], }, { code: `/*eslint no-undef:off*/ @@ -382,49 +405,72 @@ var a = b`, code: `/*eslint no-undef:off, no-unused-vars:off*/ //eslint-disable-next-line no-undef,no-unused-vars var a = b`, - errors: [ - { - message: - "'no-undef' rule is disabled but never reported.", - line: 2, - column: 28, - endLine: 2, - endColumn: 36, - suggestions: [], - }, - { - message: - "'no-unused-vars' rule is disabled but never reported.", - line: 2, - column: 37, - endLine: 2, - endColumn: 51, - suggestions: [], - }, - ], + errors: semver.satisfies(Linter.version, ">=8.0.0") + ? [ + { + message: + "'no-undef' rule is disabled but never reported.", + line: 2, + column: 28, + endLine: 2, + endColumn: 36, + suggestions: [], + }, + ] + : [ + { + message: + "'no-undef' rule is disabled but never reported.", + line: 2, + column: 28, + endLine: 2, + endColumn: 36, + suggestions: [], + }, + { + message: + "'no-unused-vars' rule is disabled but never reported.", + line: 2, + column: 37, + endLine: 2, + endColumn: 51, + suggestions: [], + }, + ], }, { code: `/*eslint no-undef:off, no-unused-vars:off*/ /*eslint-disable-next-line no-undef,no-unused-vars*/ var a = b`, - errors: [ - { - message: - "'no-undef' rule is disabled but never reported.", - line: 2, - column: 28, - endLine: 2, - endColumn: 36, - }, - { - message: - "'no-unused-vars' rule is disabled but never reported.", - line: 2, - column: 37, - endLine: 2, - endColumn: 51, - }, - ], + errors: semver.satisfies(Linter.version, ">=8.0.0") + ? [ + { + message: + "'no-undef' rule is disabled but never reported.", + line: 2, + column: 28, + endLine: 2, + endColumn: 36, + }, + ] + : [ + { + message: + "'no-undef' rule is disabled but never reported.", + line: 2, + column: 28, + endLine: 2, + endColumn: 36, + }, + { + message: + "'no-unused-vars' rule is disabled but never reported.", + line: 2, + column: 37, + endLine: 2, + endColumn: 51, + }, + ], }, { code: `/*eslint no-undef:off*/ @@ -478,26 +524,38 @@ var a = b`, code: `/*eslint no-undef:off, no-unused-vars:off*/ /*eslint-disable no-undef,no-unused-vars*/ var a = b`, - errors: [ - { - message: - "'no-undef' rule is disabled but never reported.", - line: 2, - column: 18, - endLine: 2, - endColumn: 26, - suggestions: [], - }, - { - message: - "'no-unused-vars' rule is disabled but never reported.", - line: 2, - column: 27, - endLine: 2, - endColumn: 41, - suggestions: [], - }, - ], + errors: semver.satisfies(Linter.version, ">=8.0.0") + ? [ + { + message: + "'no-undef' rule is disabled but never reported.", + line: 2, + column: 18, + endLine: 2, + endColumn: 26, + suggestions: [], + }, + ] + : [ + { + message: + "'no-undef' rule is disabled but never reported.", + line: 2, + column: 18, + endLine: 2, + endColumn: 26, + suggestions: [], + }, + { + message: + "'no-unused-vars' rule is disabled but never reported.", + line: 2, + column: 27, + endLine: 2, + endColumn: 41, + suggestions: [], + }, + ], }, { code: `/*eslint no-undef:off*/ @@ -554,26 +612,38 @@ var a = b /*eslint-disable no-undef,no-unused-vars*/ var a = b /*eslint-enable*/`, - errors: [ - { - message: - "'no-undef' rule is disabled but never reported.", - line: 2, - column: 18, - endLine: 2, - endColumn: 26, - suggestions: [], - }, - { - message: - "'no-unused-vars' rule is disabled but never reported.", - line: 2, - column: 27, - endLine: 2, - endColumn: 41, - suggestions: [], - }, - ], + errors: semver.satisfies(Linter.version, ">=8.0.0") + ? [ + { + message: + "'no-undef' rule is disabled but never reported.", + line: 2, + column: 18, + endLine: 2, + endColumn: 26, + suggestions: [], + }, + ] + : [ + { + message: + "'no-undef' rule is disabled but never reported.", + line: 2, + column: 18, + endLine: 2, + endColumn: 26, + suggestions: [], + }, + { + message: + "'no-unused-vars' rule is disabled but never reported.", + line: 2, + column: 27, + endLine: 2, + endColumn: 41, + suggestions: [], + }, + ], }, { code: `/*eslint no-undef:error*/