我们当前使用的平台刚刚从专有的基于 ECMAScript 的语言转移到 Javascript。
在专有语言中,除了原生 JS 数组之外,我们还可以使用 Arraylist 类。现在我们已经完全转向原生 JS,每当有人尝试使用 Arraylist 时,我希望生成一个 ESLINT 警告。
我在 Eslint 中阅读了有关“无限制语法”规则的内容,并尝试在我的代码中为如下调用创建规则
require( 'dw/util/ArrayList' )
我想出了下面的语法,但这不起作用。我什至尝试了 arguments[0].value
而不是 arguments.value
"no-restricted-syntax": [
"warn",
{
"selector": "CallExpression[callee.name='require'][arguments.value='dw/util/ArrayList']",
"message": "Please use native JS Array"
}
]
我用了ESLint Parser Demo检查如下所示的语法树
{
"type": "Program",
"start": 0,
"end": 30,
"body": [
{
"type": "ExpressionStatement",
"start": 0,
"end": 30,
"expression": {
"type": "CallExpression",
"start": 0,
"end": 30,
"callee": {
"type": "Identifier",
"start": 0,
"end": 7,
"name": "require"
},
"arguments": [
{
"type": "Literal",
"start": 9,
"end": 28,
"value": "dw/util/ArrayList",
"raw": "'dw/util/ArrayList'"
}
]
}
}
],
"sourceType": "module"
}
有人可以帮我正确的语法吗?
最佳答案
正确的语法应该是:
[arguments.0.value='dw/util/ArrayList']
关于javascript - 埃斯林特 : no-restricted-syntax for specific require function calls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44875315/