eslint-plugin-security在检测Mongoose exec()方法时抛出类型错误



我使用Nodejs,Eslint ^7Mongoose ^5。我已经添加了eslint-plugin-security ^1推荐规则到我的.eslintrc.js如下:

parserOptions: {
ecmaVersion: 2021,
},
env: {
commonjs: true,
es6: true,
browser: false,
node: true,
},
plugins: ['security'],
extends: [
'plugin:security/recommended',
],

当我运行eslint时,我得到下面的TypeError:

Oops! Something went wrong! :(
ESLint: 7.30.0
TypeError: Cannot read property 'type' of undefined
Occurred while linting /app/api/src/Repository/AppLog.js:38
at MemberExpression (/app/api/node_modules/eslint-plugin-security/rules/detect-child-process.js:34:87)
at /app/api/node_modules/eslint/lib/linter/safe-emitter.js:45:58
at Array.forEach (<anonymous>)
at Object.emit (/app/api/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
at NodeEventGenerator.applySelector (/app/api/node_modules/eslint/lib/linter/node-event-generator.js:293:26)
at NodeEventGenerator.applySelectors (/app/api/node_modules/eslint/lib/linter/node-event-generator.js:322:22)
at NodeEventGenerator.enterNode (/app/api/node_modules/eslint/lib/linter/node-event-generator.js:336:14)
at CodePathAnalyzer.enterNode (/app/api/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js:711:23)
at /app/api/node_modules/eslint/lib/linter/linter.js:960:32
at Array.forEach (<anonymous>)

我检查了错误指向的行,但没有发现任何问题。

下面是我在/app/api/src/Repository/AppLog.js:38上的代码:

async list() {
return this.LogModel.find().exec();
}
当我删除eslint-plugin-security时,一切正常插件。我猜是库本身有问题。

有解决这个问题的办法吗?

这也是我的问题。我还在其存储库

上创建了一个问题。当eslint遇到与Node.js的child_process.exec()方法同名的代码中的Query.prototype.exec()时,会发生错误。

这个问题有一个可能的解决方案,我已经在这里描述了,但它仍然是开放的,我不知道如何解决它,另一个和/或更好的方法。

相关内容

  • 没有找到相关文章

最新更新