# go-fAST JavaScript 语法树库

> 一个用 Go 编写的库，用于解析、遍历、转换和重新生成 JavaScript 抽象语法树，README 将其定位于代码分析以及混淆与反混淆。其解析器基于 goja 的解析代码，自动生成的 SWC 式访问者 API 支持深度优先地改写和克隆节点，解析器（resolver）跟踪作用域与绑定，ext 包提供删除节点、判断副作用和推断取值的辅助函数，代码生成器则从语法树输出 JavaScript。文档称它是比 Babel 更轻、更快的替代品，并刻意省去了父节点、兄弟节点和引用映射以及自动化的修改辅助功能。

- 类型：工具
- 目标：网站
- 类别：网站分析工具
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-03
- 原始资源：<https://github.com/T14Raptor/go-fAST>
- 一手来源：<https://github.com/T14Raptor/go-fAST/blob/379695448820483158b38ed4e6860d347fc5fccc/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/go-fast-js-ast/>
- 记录 JSON：<https://awesomerea.org/resources/go-fast-js-ast/record.json>
- 英文版：[English](https://awesomerea.org/resources/go-fast-js-ast/index.md)

## 使用条件与局限

- 审阅时最新标签为 v0.1.0，创建于 2026-07-02，Go 模块代理以小写模块路径 github.com/t14raptor/go-fast 提供该版本；GitHub 上没有发布版。所审阅的 master 分支 2026-10-04 提交比该标签多 11 个提交，包括解析器、作用域解析器和代码生成器的修复，以及新的 PreserveParens 解析选项。
- go.mod 要求 Go 1.24，只依赖 nukilabs/ftoa 和 nukilabs/unicodeid。单元测试覆盖解析器、代码生成器、作用域解析器和语句辅助函数，但唯一的 CI 工作流只检查自动生成的 union、visitor 和 clone 文件是否最新，并不运行这些测试。使用指南和示例访问者（如展开逗号序列表达式、拆分变量声明）位于项目的 GitBook 文档站点。
- 它是一个库而非现成的反混淆工具：使用者需针对所需的转换自行编写访问者，并自备待分析的 JavaScript。README 未说明它能解析哪些 ECMAScript 版本。
- 采用 MIT 许可证（版权 2024 T14Raptor）；README 致谢 goja 提供解析代码、SWC 提供访问者 API 设计。

## 一手来源

1. <https://github.com/T14Raptor/go-fAST/blob/379695448820483158b38ed4e6860d347fc5fccc/README.md>
2. <https://github.com/T14Raptor/go-fAST/blob/379695448820483158b38ed4e6860d347fc5fccc/go.mod>
3. <https://github.com/T14Raptor/go-fAST/blob/379695448820483158b38ed4e6860d347fc5fccc/.github/workflows/verify-generated.yml>
4. <https://github.com/T14Raptor/go-fAST/tree/379695448820483158b38ed4e6860d347fc5fccc/ast/ext>
5. <https://github.com/T14Raptor/go-fAST/blob/379695448820483158b38ed4e6860d347fc5fccc/parser/parser.go>
6. <https://github.com/T14Raptor/go-fAST/blob/379695448820483158b38ed4e6860d347fc5fccc/LICENSE>
7. <https://github.com/T14Raptor/go-fAST/releases/tag/v0.1.0>
8. <https://proxy.golang.org/github.com/t14raptor/go-fast/@v/v0.1.0.info>
9. <https://gofast.disasm.dev/>

## 同分区更多条目：网站

- [Hetty HTTP 安全研究工具包](https://awesomerea.org/zh/resources/hetty/index.md) · 工具
- [debundle JavaScript 打包文件拆包工具](https://awesomerea.org/zh/resources/debundle/index.md) · 工具
- [JStillery JavaScript 部分求值反混淆工具](https://awesomerea.org/zh/resources/jstillery/index.md) · 工具
- [box.js 恶意 JavaScript 分析工具](https://awesomerea.org/zh/resources/box-js/index.md) · 工具
- [breakinggood 网站采集与重建工具](https://awesomerea.org/zh/resources/breakinggood/index.md) · 工具
- [Facebook BitMap Codec 参数编解码工具](https://awesomerea.org/zh/resources/facebookcodec/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
