exe 3.2.0
Install from the command line:
Learn more about npm packages
$ npm install @angablue/exe@3.2.0
Install via package.json:
"@angablue/exe": "3.2.0"
About this version
Build a portable binary for Windows systems using Node's SEA. This project serves to and aid in automating bundling your source code with @vercel/ncc
and modifying the executable properties post build with resedit-js
.
🏠 Homepage
Install this package and save to devDependencies
using your package manager of choice.
npm i -D @angablue/exe
v20.0.0
or newer. For older versions of Node (v12.0.0
or newer), please use the version v2.1.3
of this package
npm i -D @angablue/exe@2.1.3
Please note that the older version of this package is no longer maintained. Refer to the previous documentation here.
Point to a JSON configuration file to build your executable:
npx exe config-exe.json
Create a JSON configuration file with the following options:
{
"entry": "index.js",
"out": "My Cool App.exe",
"skipBundle": false,
"version": "package:version",
"icon": "icon.ico",
"executionLevel": "asInvoker",
"properties": {
"FileDescription": "My Cool App",
"ProductName": "My Cool App",
"LegalCopyright": "Copyright package:author.name",
"OriginalFilename": "package:name"
}
}
// build.js
const exe = require("@angablue/exe");
const build = exe({
entry: "./index.js",
out: "./build/My Cool App.exe",
});
build.then(() => console.log("Build completed!"));
@angablue/exe
has first-class TypeScript support. You can use it in your TypeScript projects without any additional configuration.
Specify more arguments and completely customise the resultant executable.
// build.js
const exe = require("@angablue/exe");
const build = exe({
entry: "./index.js",
out: "./build/My Cool App.exe",
skipBundle: false,
version: "2.4.2",
icon: "./assets/icon.ico", // Application icons must be in .ico format
executionLevel: "asInvoker",
properties: {
FileDescription: "My Cool App",
ProductName: "My Cool App",
LegalCopyright: "AngaBlue https://anga.blue",
OriginalFilename: "My Cool App.exe",
},
});
build.then(() => console.log("Build completed!"));
Option | Description | Required | Default Value | Example Value | Possible Values |
---|---|---|---|---|---|
entry |
Path to the entry file of the application. | Yes | N/A | './index.js' |
Any valid file path to a .js /.ts script. |
out |
Path for the output executable file. | Yes | N/A | './build/My Cool App.exe' |
Any valid file path (ending with .exe ). |
skipBundle |
Skip the bundling process and use provided entry file as is. | No | false |
true |
Boolean |
version |
Version of the application. | No | None | '2.4.2' |
Semantic version string. e.g. major.minor.patch
|
icon |
Path to the application's icon in .ico format. | No | Node.js icon | './assets/icon.ico' |
Any valid file path to a .ico icon. |
executionLevel |
Execution level for the application. | No | 'asInvoker' |
'asInvoker' |
asInvoker , highestAvailable , requireAdministrator
|
properties |
Metadata for the executable file. | No | None | { FileDescription: 'My Cool App', ... } |
Key-value pairs as shown in example. |
-
FileDescription
: Description of the executable. -
ProductName
: Name of the product. -
LegalCopyright
: Copyright details with the URL. -
OriginalFilename
: Name of the original file.
Give a ⭐️ if this project helped you!
Copyright © AngaBlue.
This project is LGPL--3.0--or--later licensed.