ESLint's no-restricted-syntax
rule
ESLint's no-restricted-syntax
uses selectors to query an AST and this can be used to restrict certain syntax from being used.
Use a AST Explorer to view the resulting AST of the JavaScript code you want to query.
This rule disallows the use of MyLibrary.myFunction()
:
{
"rules": {
"no-restricted-syntax": [
"error",
{
"selector": "MemberExpression[property.name='myFunction'][object.name='MyLibrary']",
"message": "'MyLibrary.myFunction()' is depreciated. Please use MyOtherLibrary.myNewFunction()"
}
]
}
}
This rule disallows the use of MyLibrary().myFunction()
:
{
"rules": {
"no-restricted-syntax": [
"error",
{
"selector": "[property.name='myFunction'] CallExpression[callee.name='MyLibrary']",
"message": "'MyLibrary().myFunction()' is depreciated. Please use MyOtherLibrary.myNewFunction()"
}
]
}
}