如何将数据传递给自定义ESLint规则?

问题描述 投票:0回答:1

我编写了一个自定义 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

javascript eslint eslintrc typescript-eslint prettier-eslint
1个回答
0
投票

是的,可以使用 Node.js 环境变量

process.env
包括您手动设置的环境变量:

EXAMPLE=abc123 npx eslint Test.js
// in your rule file
console.log(process.env.EXAMPLE);

您还可以考虑使用 ESLint 配置中设置的规则选项。这些也可以使用环境变量进行设置。

(如果您使用的是 Windows bash 提示符,请参阅

cross-env
来设置
EXAMPLE=abc123

© www.soinside.com 2019 - 2024. All rights reserved.