Binarium - Build node binaries with zero config
Zero-configuration node library and CLI for building executables for all platforms and architectures.
Index
📖 Description
Package your Node.js project into an executable that can be run even on devices without Node.js installed.
The construction of the binary allows compilation on arm
and x64
architecture.
If you compile on an x64
system it will not create the binaries for arm
, but if you compile on arm
it will create the binaries for both architectures.
This library works thanks to ncc, pkg and esbuild, which facilitate this process.
Using binarium is simple and will work in most cases, but that may not be the case. If so, we recommend using other alternatives such as pkg.
🔑 Installation
npm install binarium
pnpm add binarium
yarn add binarium
📈 usage
Node example
import { build } from 'binarium'
await build( {
input : 'src/cli.js',
name : 'app-name',
} )
CLI example
binarium --input=src/server.js --name=app-name
Options
All of these options are available with the binarium
command by adding the suffix --
and followed by an =
and its value.
type BuilderParams = {
input: string,
name?: string,
outDir?: string,
onlyOs?: boolean
type?: 'all'|'cjs'|'bin'
config?: string
}
Config File
For more advanced configuration you can use a configuration file.
Supported formats are: .mjs, .js, .json, .yml, .yaml, .toml, .tml
.
In the configuration file you can define your build options and configure advanced options of the build itself using the options
key.
The options
configuration is only recommended for cases that require a more advanced configuration.
Example
binarium --config=binarium.config.js
import { defineConfig } from 'binarium'
export default defineConfig( {
name : 'my-app-name',
onlyOs : true,
options : { esbuild: { tsconfig: './tsconfig.builder.json' } },
} )
👨💻 Development
binarium is an open-source project and its development is open to anyone who wants to participate.
☕ Donate
Help us to develop more interesting things.
📜 License
This software is licensed with GPL-3.0.
🐦 About us
PigeonPosse is a ✨ code development collective ✨ focused on creating practical and interesting tools that help developers and users enjoy a more agile and comfortable experience. Our projects cover various programming sectors and we do not have a thematic limitation in terms of projects.
Collaborators