I totally understand your point - Astra doesn’t do register allocation or full parsing, so strictly speaking, it’s not a compiler in the traditional sense.
I used the term "compiler" because for many developers, it’s strongly associated with "turning source code into a single binary."
That’s what Astra does at a practical level - even if it's technically just bundling and embedding into a node executable using SEA and postject.
This whole thread was uncalled for honestly. It takes source, it makes an exe, that meets the definition for compiler to me. Your pedantry is not useful.
Yes it's just esbuild and SEA BUT that's actually the point.
SEA is officialy supported by node.js and it constantly improves.
Remember pkg and nexe supports only the older versions of node.js (~14) and astra supports the latest ones.
So in a way, the "magic sauce" it that it doesn't try to do anything fancy.
I made astra beacuse i needed to compile js to exe for latest versions.
I wanted astra to be simple, built on official tools, and be future-proof.
Thanks for the feedback! I'm constantly working on the project. It's hard to do bc node sea is still an experimental feaurte and there's no much documentation about it, and i want to make it highest quality possible. And it's my first open-source project what's actually getting attention.
I would really appreciate any help with this project!
Thanks for the feedback! You're right - Astra is technically a bundler-to-executable tool, not a source-level compiler like Babel or TypeScript.
I called it a “compiler” in the sense that it transforms a JS project into a standalone .exe, similar to how tools like pkg or nexe are often described. That said, I’ll consider clarifying that in the description to avoid confusion. Appreciate the comment!
Sometimes the term "packager" is used instead of "bundler". Honestly though, "compiler" is the term most likely to cause any confusion. Even if one is not familiar with packagers/bundlers "js to exe ${unknown phrase}" still conveys things more clearly than "js to exe ${misleading phrase}".