V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
cvooc
V2EX  ›  问与答

eslint 为什么不支持自动修复删除空的代码块? 同时为何解析出的 ast 树中找不到 else 关键字的节点?

  •  
  •   cvooc · Sep 1, 2022 · 1159 views
    This topic created in 1334 days ago, the information mentioned may be changed or developed.

    因为需要通过 fix 对现有代码进行调整修复, 迫于形势我开始写自定义 eslint 规则了 orz

    现在遇到一个问题, 自动修复后会产生空 else 代码块, 同时解析出来的 ast 树中又没有 else 关键字的节点

    我注意到 eslint 目前所有的检测空代码块的规则都不支持 fix, 只能手动删除, 是自动删除存在什么缺陷吗?

    有没有暴力的方法可以移除 else 关键字? 只要管用就好,后续我 review 一遍, 也比手动几百个文件一个一个删除要来的好些

    // fix 直接移除 node.alternate 会遗留 一个 else 关键字
    if (this.$checkResoponse(res)) {
      return data
    } else 
    
    // 而若只移除错误代码有会残留一个空的 else{}
    if (this.$checkResoponse(res)) {
      return data
    } else {
      
    }
    
    2 replies    2022-09-01 15:56:58 +08:00
    cvooc
        2
    cvooc  
    OP
       Sep 1, 2022
    @coolzjy #1 感谢感谢, 这个可行 非常完美
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2997 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 15:11 · PVG 23:11 · LAX 08:11 · JFK 11:11
    ♥ Do have faith in what you're doing.