@lyrod-cli/cli v2.0.4
CLI for electron and @angular/cli 
A solution to package a ready for distribution Electron app built with @angular/cli and in TypeScript as a monorepo. Currently supports Windows (.exe, nsis), MacOS (.app, .dmg), Linux (.deb, .rpm), Archives (.zip, .7z, .tar.gz), more platforms will follows.
Installation
yarn add --dev @lyrod-cli/cliIf you want to create a new project using the cli
yarn global add @lyrod-cli/cli
lyrod-cli create my-app # will create a my-app directorySetup
A complete example repo will come later.
Specify the
lyrod-cliconfiguration in thepackage.jsonas follows:{ "lyrod-cli": { "config": { "directories": { "angularApp": "./packages/angular", "electronApp": "./packages/electron", "resources": "./out/resources", "make": "./out/make/installer", "packaged": "./out/make/package" }, "assets": { "./packages/electron/package.json": "./package.json", "./yarn.lock": "./yarn.lock" }, "win32": { "icon": "./packages/electron/app.ico", "requestedExecutionLevel": "requireAdministrator" }, "linux": { "icon": "./packages/electron/app.png" }, "mac": { "icon": "./packages/electron/app.icns", "darkMode": false, "minimumSystemVersion": "10.9", "dmg": { "background": "", "backgroundColor": "#fff", "icon": "./packages/electron/app.icns", "iconSize": 80, "iconTextSize": 12, "title": "My App" }, "identity": false }, "guid": "com.mycompany.my-app", "appId": "com.mycompany.my-app", "productName": "My App" } } }Create a .ico/.icns file as your app icon.
Add the scripts key to the monorepo
package.json:{ "scripts": { "package": "lyrod-cli package" } }Add the scripts key to your electron's
package.json:{ "scripts": { "build": "tsc" } }
Commands
lyrod-cli --helpPackage the application
Usage
lyrod-cli package --help--no-clean: Removes the clean process where output folders is cleaned before build
--no-package: Removes the package process into a electron package
--no-build: Removes the build process
--make: Activate the installer process
--platform: Specify the platform to package (linux, win32 or darwin). Default current platform.
--target: Specify the target to build (dmg, nsis, deb, rpm, 7z, zip, tar.gz).
--arch: Specify the arch (x64 or ia32).
Configuration
directories
angularApp, string: path relative to your monorepo package.json where the @angular/cli project is located
electronApp, string: path relative to your monorepo package.json where your electron app is located
resources, string: output path of the build process
make, string: output path of the installer
packaged, string: output path of the electron package
assets
key-value object containing all files that needs to be added into the output resources folder.
The key, string must be the path of the file relative to your monorepo package.json.
The value, string must be the path where the file will go, relative to the output resources folder.
win32
icon, string: Path, relative to your monorepo package.json, of your .ico file
requestedExecutionLevel, 'requireAdministrator' | 'asInvoker' | 'highestAvailable', optional: .exe required elevation.
guid, string - appId, string
The application id. Used as Application User Model ID for Windows.
productName, string
The name of the app. Will be used to name the executable file
Example: "productName": "My App" will produces My App.exe
linux
icon, string: Path, relative to your monorepo package.json, or your .png file
mac
icon, string: path to the .app icon relative to package.json monorepo
darkMode, boolean: if your app supports mojave's dark mode
minimumSystemVersion, string: Minimum MacOSX version
identity, false | string: false to disable signing process, string KeyChain Developer ID Application: Identity name
mac.dmg
background, string: Path of .png relative to package.json monorepo. Don't use it with backgroundColor
backgroundColor, string: CSS color of the dmg. Don't use it with background
icon, string: path to the .dmg icon relative to package.json monorepo
iconSize, number: Size of all the icons inside the dmg
iconTextSize, number: Size of all the icon texts inside the dmg
title, string: The title of the produced dmg, which will be shown when mounted (volume name).