Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

astracompiler/cli

Open more actions menu

Repository files navigation

Astra

🚀 Fast, reliable and easy-to-use js-to-exe compiler.

Docs | npm | GitHub

NPM Downloads NPM Version GitHub Actions Workflow Status
Netlify status GitHub Repo stars

Why Astra?

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)

Features

  • 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.

Compared to others

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 Astra Repo stars Pkg Repo stars Nexe Repo stars
Difficulty 🟢 Easy 🟡 Medium 🟡 Medium
Maintained ❌ (Archived) 🟡 Low activity
TypeScript Support ❌ (requires manual building) ❌ (requires manual building)

Contributing

🤝 I welcome pull requests! Every contribution will be reviewed and appreciated - even small fixes.

Getting Started

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

How it works?

  1. Code is checked and bundled with esbuild,
  2. Then astra is generating blob which will be injected into node.exe binary,
  3. Next astra is editing metadata of your binary (adding icon, copyright),
  4. And finally postject injects blob into final executable.

License

Astra is licensed under the MIT License.


Made with ❤️ by QwertyCodeQC

About

🚀 Fast, reliable and easy-to-use js-to-exe compiler.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.