An async WASI Preview 3 analyzer plugin for JavaScript, JSX, TypeScript, and
TSX. It extracts English source messages from literal tagged templates such as
t\Save changes`and returns AST-local anchors through thetfm:plugin@0.2.0` contract.
Interpolation follows @nitra/tfm: each static template segment is an
independent source message. For example, t\Hello ${name} !`extracts"Hello "and" !"; the runtime inserts name` between their translations.
cargo test
cargo build --release --target wasm32-wasip2
wasm-tools validate target/wasm32-wasip2/release/tfm_plugin_javascript.wasmThe parser uses the pure-Rust OXC crates. It has no C grammar dependency and does not require a WASI SDK sysroot.
The Rust target is wasm32-wasip2. The exported tfm:plugin@0.2.0 world is
async P3 WIT/component ABI through wit-bindgen 0.60.0; these are separate
compatibility layers.
The plugin receives source text from the host and has no filesystem, network, environment, Git, LSP, or LLM capability.
The WIT contract is vendored from tfm ABI
v0.2.0. A release process must update it only together with a reviewed ABI
version change.