ITADN

v4.7.0 throws a TypeError with xo 1.2.3 and ESLint 9.x

#309ClosedXhmikosR 创建于 2026-03-02
released
X
XhmikosRcommented
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 条评论