@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 reffer to Electron Forge documentation if you don't know about general Electron Forge configuration.
The maker itself should work out-of-the-box, althrough it is recommended to
at least provide the path of the icon and categories
. An example relevant part
of Electron Forge's configuration for this maker may look like this:
{
name: "@reforged/maker-appimage",
config: {
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"
}
}
}
You may also import MakerAppImageConfig
interface if you wish to verify
Electron Forge configuration with TypeScript (when declaring it outside of
package.json
in JS/TS file) and access JSDoc comments in your editor if it
supports them.
Enviroment variables:
As proposed in #4 and originaly documented in #4 (comment),
@reforged/maker-appimage
supports enviroment 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. -
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 generic name of file being part of AppImageKit distributables, 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
.