# go-fAST

> Go library for parsing, traversing, transforming and regenerating JavaScript abstract syntax trees, which its README presents for code analysis, obfuscation and deobfuscation. Its parser builds on goja's parsing code, a generated SWC-style visitor API supports depth-first rewriting and cloning of nodes, a resolver tracks scopes and bindings, the ext package adds node-removal, side-effect and value-inference helpers, and a generator prints JavaScript from the tree. The documentation calls it a lightweight, faster alternative to Babel that deliberately omits parent, sibling and reference maps and automated mutation helpers.

- Type: Tool
- Targets: Website
- Category: Website analysis tools
- Relationship: Foundation tool
- Sources reviewed: 2026-10-27
- Added to the catalog: 2026-11-03
- Original resource: <https://github.com/T14Raptor/go-fAST>
- Primary source: <https://github.com/T14Raptor/go-fAST/blob/379695448820483158b38ed4e6860d347fc5fccc/README.md>
- Catalog page: <https://awesomerea.org/resources/go-fast-js-ast/>
- Record JSON: <https://awesomerea.org/resources/go-fast-js-ast/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/go-fast-js-ast/index.md)

## Requirements & limits

- Latest tag at review: v0.1.0, created 2026-07-02 and served by the Go module proxy under the lowercase module path github.com/t14raptor/go-fast; there are no GitHub releases. The reviewed master commit of 2026-10-04 is 11 commits ahead of that tag, with parser, resolver and generator fixes and a new PreserveParens parse option.
- go.mod requires Go 1.24 and depends only on nukilabs/ftoa and nukilabs/unicodeid. Unit tests cover the parser, generator, resolver and statement helpers, but the only CI workflow checks that the generated union, visitor and clone files are up to date and does not run them. Guides and example visitors, such as unrolling sequence expressions and expanding variable declarations, are on the project's GitBook documentation site.
- It is a library rather than a ready-made deobfuscator: users write their own visitors for the transformations they need and supply the JavaScript they analyze. The README does not state which ECMAScript versions it parses.
- MIT (copyright 2024 T14Raptor); the README credits goja for parsing code and SWC for the visitor API design.

## Primary sources

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/>

## More in Websites

- [Hetty](https://awesomerea.org/resources/hetty/index.md) · Tool
- [debundle](https://awesomerea.org/resources/debundle/index.md) · Tool
- [JStillery](https://awesomerea.org/resources/jstillery/index.md) · Tool
- [box.js](https://awesomerea.org/resources/box-js/index.md) · Tool
- [breakinggood](https://awesomerea.org/resources/breakinggood/index.md) · Tool
- [Facebook BitMap Codec](https://awesomerea.org/resources/facebookcodec/index.md) · Tool

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
