私有方法定义的 eslint 无限制语法选择器

eslint no-restricted-syntax selector for private methodDefinition

我在 TypeScript 项目上使用 eslint,并且在 no-restricted-syntax config 中有一些规则检查异步方法的命名,例如:

{
  "selector": "MethodDefinition[value.async=true][key.name!=/Async$/]",
  "message": "Async method name must end in 'Async'"
}

我正在搜索一些东西来验证私有函数命名。但是我找不到 select 或者 select all private MethodDefinition.

所以,我找到了我要搜索的内容。

我的答案在 this documentation AST Playground 部分。

The playground允许我查看所有在eslint中可用的节点信息。

然后我制定了自己的规则来测试私有函数命名(在我的例子中,名称必须以下划线开头):

{
  "selector": "MethodDefinition[accessibility=private][key.name!=/^_/]",
  "message": "Private function name must start with _"
}