2023 年,我借助 AI 把两百多行 beautifier.js 嵌入 Go、通过 goja 执行,快速做出了 soulteary/nginx-formatter。三年后,为了让它在 CI 中更可靠,我用原生 Go 的 Lexer、Parser、AST 和 Printer 重写了格式化内核。本文记录 v2.0.0 到 v2.2.0 的三步重构:替换内核、支持单文件、用 Cobra 拆出 format、serve、version 子命令,并复盘转义丢失、单引号 JSON、Lua RawBlock 等历史问题的处理结果。 阅读全文