一款速度极快的 JavaScript、TypeScript、JSX 和 CSS 打包工具,提供 CLI、JS 和 Go 接口。
vercel-labs/scriptc
一个实验性的编译器,可将 TypeScript/JavaScript 编译为原生可执行文件或 WebAssembly,运行时无需 Node.js。
- Star
- 6,238
- Fork
- 191
- 未关闭 Issue
- 56
- 最近提交
- 1小时前
这是什么?
scriptc 可将 TypeScript 和 JavaScript 编译为原生可执行文件或 WebAssembly。它利用 TypeScript 编译器检查后的类型信息生成机器码,产物无需安装 Node.js 即可运行。程序导入的 npm 包也会随之编译进可执行文件。
项目目前处于实验阶段,仅支持 JavaScript、TypeScript 和 Node.js API 的一个子集。无法编译的代码会在构建时给出诊断信息,并在可能时提供改写建议。运行 `scriptc coverage` 可以在构建前查看已有程序有多少部分能够编译。
编译器可通过 npm 安装,支持 macOS、Linux 和 Windows。构建可执行文件需要链接器以及平台 SDK 或 sysroot。`node:http` 等受支持的 Node API 会编译到原生运行时中。
核心功能
- 01将 TypeScript 和 JavaScript 编译为原生可执行文件。
- 02支持编译为 WebAssembly(WASI 模块)。
- 03利用 TypeScript 类型信息生成机器码。
- 04将导入的 npm 包打包进输出的二进制文件。
- 05构建时对不支持的代码给出诊断信息。
- 06提供 coverage 命令,便于在构建前检查兼容性。
适用场景
- 将命令行工具打包为单个二进制文件,无需安装 Node.js 即可运行。
- 评估现有 TypeScript 程序有多少部分可以编译为原生代码。
- 将 TypeScript 构建为 WASI 模块,用于嵌入其他系统。
- 将基于 Node 风格 API 的小型 HTTP 服务打包为独立可执行文件。
标签
常见问题
- scriptc 是什么?
- 一个实验性的编译器,可将 TypeScript/JavaScript 编译为原生可执行文件或 WebAssembly,运行时无需 Node.js。 scriptc 可将 TypeScript 和 JavaScript 编译为原生可执行文件或 WebAssembly。它利用 TypeScript 编译器检查后的类型信息生成机器码,产物无需安装 Node.js 即可运行。程序导入的 npm 包也会随之编译进可执行文件。
- scriptc 可以免费使用吗?用的什么许可证?
- scriptc 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- scriptc 还在维护吗?
- 活跃维护中。scriptc 最近一次提交是在 2026年10月19日。
- scriptc 适合用来做什么?
- 将命令行工具打包为单个二进制文件,无需安装 Node.js 即可运行。 评估现有 TypeScript 程序有多少部分可以编译为原生代码。 将 TypeScript 构建为 WASI 模块,用于嵌入其他系统。 将基于 Node 风格 API 的小型 HTTP 服务打包为独立可执行文件。
- 在哪里获取 scriptc?
- 源代码和安装说明在 GitHub 上:https://github.com/vercel-labs/scriptc
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
统一管理 Claude Code、Codex 等多种编码智能体的桌面、移动端、网页与命令行工具,支持并行运行。
本地代理,让 Codex、Claude Code 等客户端接入任意 LLM 提供商。
将 JavaScript 代码转换为 SVG 流程图的库与命令行工具,支持抽象层级、代码块修饰和主题定制。
A CLI tool that opens a local GitHub-style web viewer for reviewing Git commit diffs, with comments you can copy as AI prompts.
Converts markdown into responsive, email-safe HTML that renders consistently across major email clients, with a plain-text part.