Skip to content

Commit 250267e

Browse files
authored
fix: error in eslint v9 (#126)
* fix: error in eslint v9 * Create metal-dodos-know.md * fix
1 parent a9f91f5 commit 250267e

File tree

14 files changed

+57
-14
lines changed

14 files changed

+57
-14
lines changed

.changeset/metal-dodos-know.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"eslint-config-vue-preset": patch
3+
---
4+
5+
fix: error in eslint v9

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
package-lock=false
2+
force=true

eslint/all/fallback.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ module.exports = {
88
"vue/no-console": "error",
99
"vue/no-constant-condition": "error",
1010
"vue/no-empty-pattern": "error",
11+
"vue/no-implicit-coercion": "error",
1112
"vue/no-irregular-whitespace": "error",
1213
"vue/no-loss-of-precision": "error",
1314
"vue/no-restricted-syntax": "error",

lib/eslint-all.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
"use strict";
22

3-
const { Linter } = require("eslint");
3+
const { loadAllCoreRules } = require("./load-all-core-rules");
44

5-
const builtInRules = new Linter().getRules();
5+
const builtInRules = loadAllCoreRules();
66
const rules = {};
77
for (const [ruleId, rule] of builtInRules) {
88
if (!rule.meta.deprecated) {

lib/eslint-recommended.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
"use strict";
22

3-
const { Linter } = require("eslint");
3+
const { loadAllCoreRules } = require("./load-all-core-rules");
44

5-
const builtInRules = new Linter().getRules();
5+
const builtInRules = loadAllCoreRules();
66
const rules = {};
77
for (const [ruleId, rule] of builtInRules) {
88
if (rule.meta.docs.recommended && !rule.meta.deprecated) {

lib/load-all-core-rules.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
"use strict";
2+
3+
module.exports = {
4+
loadAllCoreRules,
5+
};
6+
7+
/** @type { Map<string, RuleModule> | null } */
8+
let coreRuleMap = null;
9+
10+
function loadAllCoreRules() {
11+
const eslint = require("eslint");
12+
try {
13+
const map = coreRuleMap || (coreRuleMap = new eslint.Linter().getRules());
14+
return map;
15+
} catch {
16+
// getRules() is no longer available in flat config.
17+
}
18+
19+
const { builtinRules } = require("eslint/use-at-your-own-risk");
20+
return /** @type {any} */ (builtinRules || null);
21+
}

package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"build": "node scripts/build-fallback-configs.js && npm run lint-fix",
1111
"lint": "eslint .",
1212
"lint-fix": "eslint . --fix",
13-
"upgrade": "npm i -D eslint@latest eslint-plugin-vue@latest eslint-config-airbnb@latest eslint-config-standard@latest eslint-config-google@latest eslint-plugin-vue-libs@latest --legacy-peer-deps",
13+
"upgrade": "npm i -D eslint-plugin-vue@latest eslint-config-airbnb@latest eslint-config-standard@latest eslint-config-google@latest eslint-plugin-vue-libs@latest --legacy-peer-deps",
1414
"check-unsupport-rules": "node scripts/check-unsupport-rules"
1515
},
1616
"repository": {
@@ -41,7 +41,7 @@
4141
"@ota-meshi/eslint-plugin": "^0.15.0",
4242
"@svitejs/changesets-changelog-github-compact": "^1.1.0",
4343
"@vue/eslint-config-standard": "^8.0.0",
44-
"eslint": "^8.57.0",
44+
"eslint": "^8.57.1",
4545
"eslint-config-airbnb": "^19.0.4",
4646
"eslint-config-google": "^0.14.0",
4747
"eslint-config-prettier": "^9.0.0",
@@ -58,13 +58,14 @@
5858
"eslint-plugin-react-hooks": "^4.0.2",
5959
"eslint-plugin-regexp": "^2.0.0",
6060
"eslint-plugin-standard": "^5.0.0",
61-
"eslint-plugin-vue": "^9.23.0",
61+
"eslint-plugin-vue": "^10.1.0",
6262
"eslint-plugin-vue-libs": "^4.0.0",
6363
"fs-extra": "^11.0.0",
6464
"glob": "^10.0.0",
6565
"mocha": "^10.0.0",
6666
"nyc": "^15.0.0",
67-
"prettier": "^2.4.1"
67+
"prettier": "^2.4.1",
68+
"vue-eslint-parser": "^10.1.3"
6869
},
6970
"publishConfig": {
7071
"access": "public"

vue/recommended-e/fallback.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,10 @@ module.exports = {
8686
"vue/v-on-style": "error",
8787
"vue/v-slot-style": "error",
8888
"vue/attributes-order": "error",
89-
"vue/component-tags-order": "error",
89+
"vue/block-order": "error",
9090
"vue/no-lone-template": "error",
9191
"vue/no-multiple-slot-args": "error",
92+
"vue/no-required-prop-with-default": "error",
9293
"vue/no-v-html": "error",
9394
"vue/order-in-components": "error",
9495
"vue/this-in-template": "error",

vue/recommended-e/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ const resolveExtendsRules = require("../../lib/resolve-extends-rules");
66
module.exports = loadModule(
77
"eslint-plugin-vue",
88
(result) => {
9-
const baseConfig = result.configs.recommended;
9+
const baseConfig =
10+
result.configs["vue2-recommended"] || result.configs.recommended;
1011

1112
const rules = Object.assign(
1213
resolveExtendsRules(baseConfig),

vue/strongly-recommended-e/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ const resolveExtendsRules = require("../../lib/resolve-extends-rules");
66
module.exports = loadModule(
77
"eslint-plugin-vue",
88
(result) => {
9-
const baseConfig = result.configs["strongly-recommended"];
9+
const baseConfig =
10+
result.configs["vue2-strongly-recommended"] ||
11+
result.configs["strongly-recommended"];
1012

1113
const rules = Object.assign(
1214
resolveExtendsRules(baseConfig),

0 commit comments

Comments
 (0)