Show HN: Astra – 一个新的 js2exe 编译器
Astra 是一个 js-to-exe 编译器,旨在快速、可靠且易于使用。它主要用于编译服务器和 CLIs,而非 Electron 应用。Astra 编译后的 exe 文件通常较小(约 70-80MB),支持 ESM,并提供自定义 exe 元数据、内置压缩等功能。它使用 esbuild 进行构建,提供良好的开发者体验。目前仅支持 Windows,macOS 和 Linux 版本正在开发中。用户可以通过 npm、yarn 或 pnpm 全局安装或在项目中安装使用,并使用 `astra build` 命令进行编译。
🚀 快速、可靠、易用的 js-to-exe 编译器。
Astra
🚀 快速、可靠、易用的 js-to-exe 编译器。
为什么选择 Astra?
Astra 可能是 npm 上最好的编译器。
平均 exe 文件大小约为 70-80MB(取决于您的代码),因此它比大多数编译器更轻。
它的目标是编译服务器(如 express, fastify)或 CLIs (如 commander),所以它不是 electron 的替代品。
目前,它只编译 Windows 应用程序(macOS 和 Linux 版本正在开发中)。
功能特性
- 卓越的 DX (开发者体验) - 借助 signale, inquirer 和 chalk,Astra 提供了出色的开发者体验。
- 快速的构建时间 - 由 esbuild 驱动,Astra 确保尽可能快的编译速度。
- 增强的 ECMAScript 支持 - Astra 支持编译基于 ESM 的应用程序,并针对 Node.js SEA 中的限制提供了解决方法。
- 独立的执行文件 - 生成包含所有依赖项的单个
.exe
或二进制文件。 - 自定义你的 exe - 修改生成的执行文件的元数据(图标、名称、版本等)。
- 内置压缩 - 减小最终执行文件的大小。
贡献
🤝 欢迎提交 pull requests! 每一项贡献都会被审查和赞赏 - 即使是很小的修复。
入门指南
使用 Yarn 或 npm 全局安装 Astra:
# npm
npm i -g astra-cli
# yarn
yarn global add astra-cli
# pnpm
pnpm add -g astra-cli
# 仅针对单个项目
# npm
npm i --save-dev astra-cli
# yarn
yarn add --dev astra-cli
# pnpm
pnpm add -D astra-cli
然后,编译您的 JavaScript/TypeScript 项目:
astra build src/index.js
要了解更多选项,请运行:
astra --help
工作原理
- 代码使用 esbuild 进行 lint 和打包,
- 然后 Astra 生成一个 blob,该 blob 将被注入到 node.exe 二进制文件中,
- 接下来,Astra 编辑二进制文件的元数据(添加图标、版权),
- 最后,postject 将 blob 注入到最终的可执行文件中。
许可证
Astra 使用 MIT 许可证。
用 ❤️ 由 QwertyCodeQC 制作
关于
🚀 快速、可靠、易用的 js-to-exe 编译器。