Command line tool for building, testing and publishing modern Electron applications
Bozon is a simple, easy to use tool that unifies the existing build tools for Electron development. Simplify building, compiling, running, testing, and packaging your Electron applications.
Bozon uses Webpack to bundle source code for main and renderer processes as well as preload script. It adds webpack.config.js file to your project so that you can further configure webpack, add new rules, loaders etc. Jest along with Spectron are used to run your unit and feature tests within real Electron application. For packaging and publishing applications bozon uses electron-builder under the hood.
npm install -g bozon
Bozon tool should be installed globally in order to be used for all your electron apps.
Then generate your new project:
bozon new [name]
This will create a new directory [name]
produce the following file structure:
--skip-install
option if you want to skip running npm install
|--config/
|--resources/
|--src/
| |--main/
| | |--index.js
| |--preload/
| | |--index.js
| |--renderer/git
| | |--index.html
| | |--images/
| | |--stylesheets/
| | |--javascripts/
| | | |--index.js
|--test/
|--package.json
bozon start
This will compile Application source code to ./builds/development
directory and run your application from it.
Bozon provides a way to define environment specific and platform specific configuration options. These multiple config files are being merged into one single config
object during build. This config
object is accessible via CONFIG
variable in main
process files of your application, so that you can use it in your code.
|--config/
| |--settings.json
| |--environments/
| | |--development.json
| | |--production.json
| | |--test.json
| |--platforms/
| | |--mac.json
| | |--linux.json
| | |--windows.json
Bozon is using Jest and Spectron for testing Electron applications. Both unit and integration tests should go to ./test
directory. Simply execute for running tests:
bozon test
Packaging Electron application is done by electron-builder using settings in defined in package.json
under build
section.Application source code is being compiled to ./builds/production/
directory, and packaged versions for different platforms go to ./packages
directory.
bozon package [mac|windows|linux]
MIT © Alex Chaplinsky