Skip to content

smupapp/electron-installer-dmg

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

electron-installer-dmg

CI status npm Code coverage

Create DMG installers for your electron apps using appdmg.

Requirements

This module requires using macOS and Node 12 (LTS) 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.
  --debug              Enable debug messages.
  --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, callback)

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.

overwrite - Boolean Overwrite an existing DMG file if if already exists.

debug - Boolean Enable debug message output.

out - String The directory to put the DMG into. [Default: process.cwd()].

iconSize - Number How big to make the icon for the app in the DMG. [Default: 80].

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].

Must be one of the following:

  • UDRW ➡️ read/write image
  • UDRO ➡️ read-only image
  • UDCO ➡️ ADC-compressed image
  • UDZO ➡️ zlib-compressed image
  • UDBZ ➡️ bzip2-compressed image
  • ULFO ➡️ 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

Packages

No packages published

Languages

  • JavaScript 100.0%