Experimental wasm package for the oxc parser, with full TypeScript typings support.
This package is built with different wasm-pack's target builds:
wasm-pack build --target web
for bundler (webpack / vite) consumption.wasm-pack build --target nodejs
for node.jsAnd exports the files as
"main": "./node/oxc_parser_wasm.js", "browser": "./web/oxc_parser_wasm.js", "types": "./node/oxc_parser_wasm.d.ts",
Check out oxc-parser for an alternative in Node.js which performs the same function, but using native code via NAPI bindings (slightly faster).
Source code: https://github.com/oxc-project/oxc/tree/main/wasm/parser
import { parseSync } from '@oxc-parser/wasm'; const code = 'let foo'; const result = parseSync(code, { sourceFilename: 'test.ts' }); console.log(result.program);
import { initSync, parseSync } from '@oxc-parser/wasm'; initSync(); const code = 'let foo'; const result = parseSync(code, { sourceFilename: 'test.ts' }); console.log(result.program);
The AST returned conforms to the ESTree spec for JS syntax.
For TypeScript code, the AST is broadly aligned with typescript-eslint's format, though there may be some differences.
wasm-pack build --target web
is used for the wasm build.
You may need something like https://github.com/nshen/vite-plugin-wasm-pack to get it working with vite, otherwise vite will load the wasm file as a HTML file causing a CompileError: WebAssembly.instantiate(): expected magic word
error.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4