Awesome
electron-installer-dmg
Create DMG installers for your electron apps using appdmg.
Requirements
This module requires using macOS and Node 16 or above.
Installation
For use in npm scripts:
npm i electron-installer-dmg --save-dev
For use from cli:
npm i electron-installer-dmg -g
Usage
Usage: electron-installer-dmg <path/to/.app> <appname>
Create DMG installers for your electron apps.
Usage:
electron-installer-dmg ./FooBar-darwin-x64/FooBar.app FooBar
Options:
--out=<path> The directory to put the DMG into. [Default: `process.cwd()`].
--icon=<path> Path to the icon file that will be the app icon in the DMG window.
--icon-size=<px> How big to make the icon for the app in the DMG. [Default: `80`].
--background=<path> Path to a PNG image to use as the background of the DMG. [Size: 658 x 498]
--title=<string> The title of the produced DMG, which will be shown when mounted.
--overwrite Overwrite any existing DMG.
-h --help Show this screen.
--version Show version.
API
const { createDMG } = require('electron-installer-dmg');
async function buildDMG() {
await createDMG({
appPath: '/path/to/app.app',
name: 'MyApp'
});
}
createDMG(opts)
opts
appPath
- String - Required
The .app
directory generated by electron-packager.
name
- String - Required
The application name.
title
- String
The title of the produced DMG, which will be shown when mounted.
background
- String
Path to the background for the DMG window. Background image should be of size 658 × 498.
icon
- String
Path to the icon to use for the app in the DMG window.
iconSize
- Number
How big to make the icon for the app in the DMG. [Default: 80
].
overwrite
- Boolean
Overwrite an existing DMG file if if already exists.
out
- String
The directory to put the DMG into. [Default: process.cwd()
].
contents
- Array or Function that returns an Array of objects.
The content that will appear in the window when user opens the .dmg
file.
[Default: Array of two icons, application and application destination folder].
Array example:
[ { x: 448, y: 344, type: 'link', path: '/Applications'},
{ x: 192, y: 344, type: 'file', path: '/path/to/application.app'} ]
Function example (more flexible for getting useful options used in creating a DMG):
function (opts) {
return [ { x: 448, y: 344, type: 'link', path: '/Applications'},
{ x: 192, y: 344, type: 'file', path: opts.appPath} ];
}
format
- String
Disk image format. [Default: UDZO
].
UDRW
:arrow_right: read/write imageUDRO
:arrow_right: read-only imageUDCO
:arrow_right: ADC-compressed imageUDZO
:arrow_right: zlib-compressed imageUDBZ
:arrow_right: bzip2-compressed imageULFO
:arrow_right: lzfse-compressed image (macOS 10.11+ only)
additionalDMGOptions
- Object
Additional options to pass through to appdmg
You can use this to set additional features like background-color
and
code-sign
. See the docs of the appdmg
module for all possible options.
License
Apache 2.0