bozon
bozon
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.
Features
- Scaffolding - Generate ready to use project structure for your new Electron application.
- Running - Run your electron application with Hot Reload in development environment.
- Testing - Build Application for test env and run feature tests for your Electron application.
- Packaging - Build, package and publish your Electron app for Mac, Windows and Linux platforms.
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.
Installation
npm install -g bozon
Bozon tool should be installed globally in order to be used for all your electron apps.
Scaffolding
Then generate your new project:
bozon new [name]
This will create a new directory [name]
produce the following file structure:
- Use
--skip-install
option if you want to skip runningnpm install
|--config/
|--resources/
|--src/
| |--main/
| | |--index.js
| |--preload/
| | |--index.js
| |--renderer/git
| | |--index.html
| | |--images/
| | |--stylesheets/
| | |--javascripts/
| | | |--index.js
|--test/
|--package.json
Starting an application
bozon start
This will compile Application source code to ./builds/development
directory and run your application from it.
Configuration
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
Testing
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 application
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]
License
MIT © Alex Chaplinsky