Amaro
Amaro 是 @swc/wasm-typescript
的封装器,后者是 SWC TypeScript 解析器的 WebAssembly 移植版。
目前它作为 Node.js 的内部组件用于类型剥离,但将来用户可能可以单独升级它。
这个包的主要目标是为 TypeScript 解析器提供一个稳定的 API,因为原始的 API 不稳定且可能发生变化。
Amaro 在意大利语中意为"苦涩"。它指的是阿马罗山,这个包就是在其山坡上构思的。
如何安装
要安装 Amaro,请运行:
npm install amaro
如何使用
默认情况下,Amaro 导出一个执行类型剥离的 transformSync
函数。
通过将移除的类型替换为空格来保留堆栈跟踪。
const amaro = require('amaro');
const { code } = amaro.transformSync("const foo: string = 'bar';", { mode: "strip-only" });
console.log(code); // "const foo = 'bar';"
加载器
可以将 Amaro 用作外部加载器来执行 TypeScript 文件。 这允许安装的 Amaro 覆盖 Node.js 使用的 Amaro 版本。
node --experimental-strip-types --import="amaro/register" script.ts
如何更新 SWC
要更新 SWC 版本,请运行:
./tools/update-swc.sh
git add deps
git commit -m "chore: update swc to vX.Y.Z"
更新 Rust 源代码后,我们必须构建 wasm。 要构建 wasm,需要安装 Docker。
node ./tools/build-wasm.js
git add lib
git commit -m "chore: build wasm from swc vX.Y.Z"
TypeScript 版本
支持的 TypeScript 版本是 5.5.4。
许可证 (MIT)
请查看 LICENSE.md
。