v4.7.0 throws a TypeError with xo 1.2.3 and ESLint 9.x
released
Hey, there.
It looks like v4.7.0 throws a TypeError, at least in my case:
```
C:\Users\xmr\Desktop\detective\node-filing-cabinet\node_modules\eslint\lib\eslint\eslint.js:175
? (meta.deprecated.replacedBy?.map(
^
TypeError: meta.deprecated.replacedBy?.map is not a function
```
After playing around with `overrides` I found out that `@eslint-community/eslint-plugin-eslint-comments@4.7.0` is to blame.
```
C:\Users\xmr\Desktop\detective\node-filing-cabinet>node -v
v24.14.0
C:\Users\xmr\Desktop\detective\node-filing-cabinet>npm ls @eslint-community/eslint-plugin-eslint-comments
filing-cabinet@5.2.0 C:\Users\xmr\Desktop\detective\node-filing-cabinet
`-- xo@1.2.3
`-- @eslint-community/eslint-plugin-eslint-comments@4.7.0
C:\Users\xmr\Desktop\detective\node-filing-cabinet>npm run lint
> filing-cabinet@5.2.0 lint
> xo
C:\Users\xmr\Desktop\detective\node-filing-cabinet\node_modules\eslint\lib\eslint\eslint.js:175
? (meta.deprecated.replacedBy?.map(
^
TypeError: meta.deprecated.replacedBy?.map is not a function
at getOrFindUsedDeprecatedRules (C:\Users\xmr\Desktop\detective\node-filing-cabinet\node_modules\eslint\lib\eslint\eslint.js:175:39)
at Object.get [as usedDeprecatedRules] (C:\Users\xmr\Desktop\detective\node-filing-cabinet\node_modules\eslint\lib\eslint\eslint.js:204:11)
at file:///C:/Users/xmr/Desktop/detective/node-filing-cabinet/node_modules/xo/dist/lib/xo.js:328:26
at Object.get [as usedDeprecatedRules] (file:///C:/Users/xmr/Desktop/detective/node-filing-cabinet/node_modules/define-lazy-prop/index.js:8:19)
at log (file:///C:/Users/xmr/Desktop/detective/node-filing-cabinet/node_modules/xo/dist/cli.js:144:78)
at file:///C:/Users/xmr/Desktop/detective/node-filing-cabinet/node_modules/xo/dist/cli.js:214:11
Node.js v24.14.0
```
With **v4.6.0** it works:
```json
"overrides": {
"@eslint-community/eslint-plugin-eslint-comments": "4.6.0"
},
```
```
C:\Users\xmr\Desktop\detective\node-filing-cabinet>npm i
added 1 package, removed 1 package, and audited 513 packages in 849ms
235 packages are looking for funding
run `npm fund` for details
7 vulnerabilities (5 low, 2 high)
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
C:\Users\xmr\Desktop\detective\node-filing-cabinet>npm run lint
> filing-cabinet@5.2.0 lint
> xo
index.js:226:1
‼ 226:1 Function tsLookup has a complexity of 23. Maximum allowed is 20. complexity
‼ 301:11 Blocks are nested too deeply (5). Maximum allowed is 4. max-depth
‼ 303:13 Blocks are nested too deeply (6). Maximum allowed is 4. max-depth
‼ 316:11 Blocks are nested too deeply (5). Maximum allowed is 4. max-depth
4 warnings
```
Basically this deps change triggers the TypeError in my case:
```diff
package-lock.json | 20 +++++++++++++++-----
package.json | 3 +++
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 05437a0..f49fc49 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -141,14 +141,14 @@
}
},
"node_modules/@eslint-community/eslint-plugin-eslint-comments": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-4.5.0.tgz",
- "integrity": "sha512-MAhuTKlr4y/CE3WYX26raZjy+I/kS2PLKSzvfmDCGrBLTFHOYwqROZdr4XwPgXwX3K9rjzMr4pSmUWGnzsUyMg==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-4.7.0.tgz",
+ "integrity": "sha512-wxyEBQOUAXp4HjnYWucQy7iq58RR1WXJhm6bjw+sGlMDEKJmzJVe2MLnd6iazmQFYGOxoUrw27EsJfpoqiI7tQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"escape-string-regexp": "^4.0.0",
- "ignore": "^5.2.4"
+ "ignore": "^7.0.5"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -157,7 +157,17 @@
"url": "https://opencollective.com/eslint"
},
"peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0"
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0"
+ }
+ },
+ "node_modules/@eslint-community/eslint-plugin-eslint-comments/node_modules/ignore": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
}
},
"node_modules/@eslint-community/eslint-utils": {
diff --git a/package.json b/package.json
index db2f126..50f2303 100644
--- a/package.json
+++ b/package.json
@@ -57,6 +57,9 @@
"tsconfig-paths": "^4.2.0",
"typescript": "^5.9.3"
},
+ "overrides": {
+ "@eslint-community/eslint-plugin-eslint-comments": "4.7.0"
+ },
"devDependencies": {
"c8": "^10.1.3",
"globals": "^16.5.0",
```
关闭于 2026-03-02 1 条评论