You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在自定义ESLint规则中访问TypeScript Interface的AST节点?

自定义ESLint规则:直接访问interface节点及遍历异常问题

需求目标

创建自定义ESLint规则,禁止在class、function、interface、type这类父结构中包含发布标签(@alpha、@beta、@internal)

当前实现情况

  • 处理class和function时,可通过ClassDeclaration/ClassExpression、FunctionDeclaration/FunctionExpression这些AST节点类型直接遍历处理
  • 目前只能通过全局作用域的Program节点来处理interface,想请教是否有直接访问interface类型节点的方法
  • 已为ClassExpression、ClassDeclaration和interface编写多套测试用例,当前规则的create(context)方法代码如下:
create(context) { 
  return { 
    ClassDeclaration(node) { classErrorLoggerHelper(node, context) }, 
    ClassExpression(node) { classExpressionErrorLoggerHelper(node, context) }, 
    Program(node) { programErrorLoggerHelper(node, context) } 
  }; 
},

遇到的问题

处理class相关逻辑时,测试套件不仅会返回ClassDeclaration节点,还会返回Program对象,影响规则执行逻辑


内容的提问来源于stack exchange,提问作者whoaji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 01:23:20