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

寻求检测TypeScript --erasableSyntaxOnly禁用语法的ESLint规则

TypeScript 5.8 --erasableSyntaxOnly的ESLint预检测方案

现成ESLint规则情况

目前@typescript-eslint官方插件里没有专门针对--erasableSyntaxOnly的内置规则,第三方插件也暂无广泛流行的对应实现。

通过no-restricted-syntax实现的方案

完全可以用no-restricted-syntax规则自定义检测逻辑,具体配置如下:

核心配置代码

在你的ESLint配置文件(如.eslintrc.json)中添加:

{
  "rules": {
    "no-restricted-syntax": [
      "warn",
      // 检测enum声明
      {
        "selector": "TSEnumDeclaration",
        "message": "enum语法将在--erasableSyntaxOnly模式下报错,请逐步移除"
      },
      // 检测类的参数属性
      {
        "selector": "ClassProperty[parameterProperty=true]",
        "message": "类参数属性将在--erasableSyntaxOnly模式下报错,请逐步移除"
      }
    ]
  }
}

配置说明

  • TSEnumDeclaration:TypeScript AST中对应enum定义的节点选择器,可精准匹配所有enum声明
  • ClassProperty[parameterProperty=true]:匹配类中通过构造函数参数直接定义的属性(例如class Foo { constructor(public bar: string) {} }这类写法)

配置完成后,ESLint会在代码出现上述语法时抛出警告,你可以在日常迭代中逐步修复问题,待所有代码调整完成后再启用--erasableSyntaxOnly标识。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 09:55:58