为Typescript编写自定义ESlint规则时如何隔离构造函数参数

时间:2021-07-26 12:39:33

标签: typescript eslint customization abstract-syntax-tree

我的目标是使用 eslint 中的“快速修复”按字母顺序对构造函数参数进行排序(我正在尝试编写此自定义规则以实现此目的)

现在我只想“隔离”构造函数参数,并在将鼠标悬停在它们上方时让 eslint 显示波浪线和我的 message,但我不知道如何通过查看此处示例代码的 AST: https://astexplorer.net/#/gist/dc0def03c26658b1bfa5d8743f9a9f91/70365c30bee24bbec8289744ef4d33cf42268cb8

我选择哪一个?以及如何确保它只检查构造函数中的那些?

//example code used in AST explorer      
constructor(
        private _appService: AppService,
        private _authService: AuthService,
        private _formBuilder: FormBuilder,
        private _manageScenarioService: ManageScenarioService,
      ) {}

这是我到目前为止所拥有的:问题在于它突出显示了所有标识符,而不仅仅是构造函数中的标识符

 import { Rule } from 'eslint';
    export function diSortRule(context: Rule.RuleContext): Rule.RuleListener {
      return {
        Identifier(node) {
          context.report({
            node,
            message: 'this pops up here',
          });
        },
      };
    }

任何帮助将不胜感激!

0 个答案:

没有答案