AST Explorer - A web tool to explore the ASTs generated by parsers.
Feel free to add more languages and parsers via PR!
@babel/parser
alpha.The input code and options are stored in the URL as a hash fragment,
which is the string following the #
symbol
and is not transmitted to the server.
const code = 'code'
const parserId = 'acorn'
const optionsString = JSON.stringify({
ecmaVersion: 'latest',
sourceType: 'module',
})
const serialized = utoa(
// utoa, or compress() if want to compress the data
JSON.stringify({
c: code,
p: parserId,
o: optionsString,
}),
)
const url = `https://ast-explorer.dev/#${serialized}`
// no compress
function utoa(data: string): string {
return btoa(unescape(encodeURIComponent(data)))
}
// compress is optional
import { strFromU8, strToU8, unzlibSync, zlibSync } from 'fflate'
function compress(data: string) {
const buffer = strToU8(data)
const zipped = zlibSync(buffer, { level: 9 })
const binary = strFromU8(zipped, true)
return btoa(binary)
}
To contribute to the project, see Contribution Guide.
AGPL-3.0 License Β© 2023-PRESENT δΈε²ζΊε