我编写了一个自定义 ESLint 规则,如下所示:
//------------------------------------------------------------------------------
// Rule Definition
//------------------------------------------------------------------------------
module.exports = {
meta: {
type: "suggestion",
docs: {
description: "Test Description",
category: "Common",
recommended: true,
url: ""
},
fixable: "code",
schema: [] // no options
},
create: function (context) {
return {
ClassDeclaration(node) {
var data = ""// I want to pass value here from CMD
if (node.id.name === data)
{
context.report({
node: node,
message: "ESLint rule triggered"
});
}
}
}
}
}
我正在 CMD 中使用以下命令为 Test.js 文件运行 ESLint。
npx eslint Test.js
有没有办法可以在执行 eslint 命令时将数据从 CMD 传递到规则? 我想将一个值传递给来自的变量“data
”是的,可以使用 Node.js 环境变量。
process.env
包括您手动设置的环境变量:
EXAMPLE=abc123 npx eslint Test.js
// in your rule file
console.log(process.env.EXAMPLE);
您还可以考虑使用 ESLint 配置中设置的规则选项。这些也可以使用环境变量进行设置。
来设置cross-env
)EXAMPLE=abc123