目前,我对使用外部变量的模板文字的有效性进行了基本检查,这是这样一个文本的最小示例:
const query = `
action {
...variable
}
${variable}`
这只是一个极小的例子,我所做的准确检查也不重要,重点是--在我的规则中,变量的定义中也有一些东西要检查,所以我想知道是否可以在我的自定义ESLint规则运行中用${variable}来代替它的实际值。如果不是,我将求助于代码重构和简单的计数方法,但是我想知道我的自定义ESLint规则是否有一种“查看”内部内容的方法。
尝试使用一种更基本的方法,为变量计算不同的名称,尽管在代码中的某些地方可能存在不匹配,因此它不会涵盖我希望规则检查的所有情况。此外,还遍历了一些ESLint规则和文档的代码,但是没有看到与我现在的类似的情况,而是用变量来代替它们的值。也许我就是找不到他们。
发布于 2022-11-28 06:06:44
一般情况下,不。如果不执行代码,就不能用它的值替换variable
。但是,对于某些程序子集(例如,variable
被定义为const
,初始化为另一个字符串),您可以在规则中进行一些静态分析。graphql eslint插件会做类似的事情。
https://stackoverflow.com/questions/74599658
复制相似问题