π 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. (I'm 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.
Name | astra | pkg | nexe |
---|---|---|---|
Latest supported version | Node 24 | Node 18 | Node 14 |
Supports ESM | β | β | β |
Built-in metadata edit | β | β | β |
Output size | ~75MB | ~90MB | ~90MB |
Bundles code | β | β | β |
Building Speed | β‘ Fast | β‘β‘ Very Fast | β‘β‘ Very Fast |
Stars | |||
Difficulty | π’ Easy | π‘ Medium | π‘ Medium |
Maintained | β | β (Archived) | π‘ Low activity |
TypeScript Support | β | β (requires manual building) | β (requires manual building) |
π€ 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 checked 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