Skip to content

Latest commit

 

History

History
67 lines (48 loc) · 1.96 KB

README.md

File metadata and controls

67 lines (48 loc) · 1.96 KB

@crabnebula/packager

Executable packager, bundler and updater. A cli tool and library to generate installers or app bundles for your executables. It also comes with useful addons:

Supported packages:

  • macOS
    • DMG (.dmg)
    • Bundle (.app)
  • Linux
    • Debian package (.deb)
    • AppImage (.AppImage)
    • Pacman (.tar.gz and PKGBUILD)
  • Windows
    • NSIS (.exe)
    • MSI using WiX Toolset (.msi)

CLI

The packager is distributed on NPM as a CLI, you can install it:

# pnpm
pnpm add -D @crabnebula/packager
# yarn
yarn add -D @crabnebula/packager
# npm
npm i -D @crabnebula/packager

You then need to configure your app so the CLI can recognize it. Configuration can be done in Packager.toml or packager.json in your project or packager key in packager.json Once, you are done configuring your app, run:

# pnpm
pnpm packager
# yarn
yarn packager
# npm
npx packager

Configuration

By default, the packager reads its configuration from Packager.toml or packager.json if it exists, and from packager.json key in packager.json, You can also specify a custom configuration using the -c/--config cli argument.

For a full list of configuration options, see https://docs.rs/cargo-packager/latest/cargo_packager/config/struct.Config.html.

You could also use the schema file from GitHub to validate your configuration or have auto completions in your IDE.

Building your application before packaging

By default, the packager doesn't build your application, so if your app requires a compilation step, the packager has an option to specify a shell command to be executed before packaing your app, beforePackagingCommand.

Library

The packager is also a library that you can import and integrate into your tooling.

Licenses

MIT or MIT/Apache 2.0 where applicable.