π Fast, reliable and easy-to-use js-to-exe compiler.
Astra is (probably) the best compiler available on npm.
Average exe is ~70-80MB (depends on your code) so it's lighter than most compilers
Using upx you can go down up to ~30MB
It's aiming to compile servers (express, fastify) or CLIs (commander) so it's not replacement of electron.
For now it only compiles windows applications. (working on macOS and linux)
- Different than the others - Astra is a new approach to compiling JavaScript/TypeScript applications. It uses a different method than other compilers like pkg or nexe.
- Compile newest versions of Node.js - Astra supports the latest Node.js versions.
- Fast build time - Powered by esbuild, Astra ensures the fastest possible compilation speed.
- Improved support for ECMAScript - Astra supports compiling ESM-based applications, with workarounds for limitations in Node.js SEA.
- Delightful DX - With signale, inquirer and chalk, Astra provides a great developer experience.
-
Standalone Executable - Generates a single
.exe
or binary file that includes all dependencies. - Make exe your own - Modify metadata (icon, name, version, etc.) of the generated executable.
- Future-proof - Made with trusted constantly evolving tools.
π€ I welcome pull requests! Every contribution will be reviewed and appreciated - even small fixes.
Install Astra globally using Yarn or npm:
# npm
npm i -g astra-cli
# yarn (classic)
yarn global add astra-cli
# pnpm
pnpm add -g astra-cli
# for one project only
# npm
npm i --save-dev astra-cli
# yarn
yarn add --dev astra-cli
# pnpm
pnpm add -D astra-cli
Then, compile your JavaScript/TypeScript project:
astra build src/index.js
For more options, run:
astra --help
- Code is linted and bundled with esbuild,
- Then astra is generating blob which will be injected into node.exe binary,
- Next astra is editing metadata of your binary (adding icon, copyright),
- And finally postject injects blob into final executable.
Astra is licensed under the MIT License.
Made with β€οΈ by QwertyCodeQC