Crates.io | jundler |
lib.rs | jundler |
version | 0.2.5 |
source | src |
created_at | 2024-06-25 23:12:57.224151 |
updated_at | 2024-07-07 04:31:54.987816 |
description | The JavaScript executable bundler for Node.js projects |
homepage | |
repository | https://github.com/cogsandsquigs/jundler |
max_upload_size | |
id | 1283952 |
size | 170,525 |
The JavaScript executable bundler for Node.js projects.
Jundler is a tool that bundles your Node.js project into a single executable file. It uses the new Single Executable Application API to bundle your project, which can then be run on any platform without needing to install Node.js or any dependencies.
Jundler, unlike other executable bundlers (like pkg, boxednode, or js2bin), uses the latest Single Executable Application API. And, unlike other bundlers, Jundler is written in Rust, which makes it faster and more efficient!
For more features, see the FAQ.
npm
and npx
. Note that you do not need to have node
installed, as Jundler will download a local copy matching your OS, architecture, and desired version.cargo
to install from crates.io
.Jundler will automatically bundle your JavaScript files into a single standalone file. You will need to both a sea-config.json
file and the ubiquitous package.json
file in the root of your project.
To use Jundler, simply run the following command in your terminal:
jundler <path-to-nodejs-project>
Run jundler --help
for more information on how to use Jundler.
Because both Jundler and the Single Executable Application API are new and changing rapidly, things can break overnight. If something breaks, please open an issue on the Jundler GitHub repository and I'll get back to you when feasable.
This is a known issue with the Single Executable Application API, as it does not support import
or require
. Jundler automagically fixes this by bundling your project with ESBuild, which will automatically convert all import
statements to require
statements. If you're still having issues, please open an issue on the Jundler GitHub repository.
[!NOTE] To manually tell Jundler to bundle your project use the
--bundle
/-b
flag.jundler <path-to-nodejs-project> --bundle
Yup. Jundler will automagically detect typescript --- ESBuild does the rest!
[!NOTE] If Jundler is having issues with your TypeScript project, try running
jundler <path-to-nodejs-project> --bundle
to bundle your project manually.
node-gyp
. What happened?This is a known issue with the Single Executable Application API. Jundler can't fix this for you (yet!), as it involves packaging the binary in such a way that the dependent API can use it as if it was installed on raw Node.js. If you're having issues with node-gyp
or node-pre-gyp
, please open an issue on the Jundler GitHub repository.
Yes! Just specify the OS and architecture you want to build using the -o
and -a
flags respectively.
Yes, so long as you're on a macOS machine yourself. Jundler will automatically codesign your executable without any additional input from you!
[!WARNING] If you're building for macOS on a different platform, the binary will have to be manually signed on a macOS machine. Jundler should give you a warning about this.
Not yet, but since windows doesn't require codesigning for binaries to run (it will just give you a warning), this should be fine for now. All Windows binaries need to be manually signed on a Windows machine after being built.
Because it sounded funny and I liked it. :p
npm
/npx
to be installed)