@reforged/maker-appimage
v4.0.4
Published
An AppImage maker implementation for the Electron Forge.
Downloads
11,140
Maintainers
Readme
@reforged/maker-appimage
An unofficial AppImage target maker for the Electron Forge. Designed to manage tasks asynchroniously and synchronize the tasks only when it is required for them to finish. A part of the Reforged project.
Usage:
Please refer to Electron Forge documentation if you don't know about general Electron Forge configuration.
The maker itself should work out-of-the-box (i.e. you don't have to pass any
options to it, you only need to add it to Forge config so it will be used),
although it is recommended to at least provide the path of the icon and
categories
for best end-user experience. An example relevant part of Electron
Forge's configuration for this maker may look like this:
import { MakerAppImage } from "@reforged/maker-appimage";
/* (...) */
const forgeConfig = {
/* (...) */
makers: [
/* (...) */
new MakerAppImage({
options: {
// Package name.
name: "example-app",
// Executable name.
bin: "app",
// Human-friendly name of the application.
productName: "Example Electron Application",
// `GenericName` in generated `.desktop` file.
genericName: "Example application",
// Path to application's icon.
icon: "/path/to/icon.png",
// Desktop file to be used instead of the configuration above.
desktopFile: "/path/to/example-app.desktop",
// Release of `AppImage/AppImageKit`, either number or "continuous".
AppImageKitRelease: "continuous",
// Support parsing Arch Linux '*_flags.conf' file.
flagsFile: "true"
}
})
]
}
Environment variables:
As proposed in #4 and originally documented in #4 (comment),
@reforged/maker-appimage
supports environment variables inspired on
@electron/get
to use different mirror or CDN providing the files originally
published on GitHub as part of AppImage/AppImageKit
releases:
APPIMAGEKIT_MIRROR
– contains base URL from which files are going to be downloaded; it should contain protocol and common path on which files are hosted. Currently, placeholders are resolved here, but this might be a subject to change (this means using them is unsafe from the point of library consumers).APPIMAGEKIT_CUSTOM_DIR
– should contain optional name of the directory in which files should be placed; currently, all placeholders are resolved here, yet this might be a subject to change – it is guaranteed for{{ version }}
to be applicable here.APPIMAGEKIT_CUSTOM_FILENAME
– should contain a filename template, used for resolving to one of the files which are going to be downloaded by maker; all placeholders are applicable here and{{ filename }}
has to be provided.
Placeholders
{{ version }}
– resolves to AppImageKit version tag, e.g.13
.{{ filename }}
– resolves to any generic part of the name of files (as seen in AppImageKit releases) that are necessary to craft an AppImage, e.g.runtime
orAppRun
.{{ arch }}
– resolves to AppImage target architecture, e.g.x86_64
.{{ node.arch }}
– resolves to Node.js target architecture, e.g.x64
.