Copy, uglify, minify and package Electron projects.
- Copies application repository to a temporary location.
- Uglifies JavaScript and CSS files.
- Installs npm dependencies in a temporary location.
- Updates build version in package.json.
- Packages the application using electron-packager.
npm install electron-compiler
electron-compiler <path-to-app>
Compiler options are read from an electron_compiler.json file in the application's repository.
{
"verifyConfig": true | false, // Whether to verify configuration before starting build. (Default: true)
"archiveOutput" true | false, // Whether to archive electron packager output for Windows and Linux. (Default: true)
"platforms": [], // Array or platforms to compile for. Supported options: win32, linux, darwin
"uglifyList": [], // Array of paths to uglify. JavaScript and CSS files are supported.
"ignoreList": [], // Array of files to ignore.
"versionString": // Object containing electron packager settings for Windows build.
{
"CompanyName": "Company",
"FileDescription": "Application description.",
"OriginalFilename": "Filename.exe",
"ProductName": "Product",
"InternalName": "Internal Name"
}
}
The compiler output of each platform from electron-packager is saved to .\releases.
- Packaging - electron-packager
- File system - fs-extra
- JSON beautifying - js-beautify
- JavaScript uglifying - babel
- CSS minifaction - minifier
- Removing empty directories - remove-empty-directories
- User prompts - prompt
- Archiving - zip-folder
- Log colours - colors
- Package info - pkginfo