Scaffold, Run, Test and Package Electron application with ease
Bozon is a single tool for handling different tasks being performed by multiple packages, which is used for building desktop applications with Electron. Simplify building, compiling, running, testing, and packaging your application.
- Electron - build cross platform desktop apps with web technologies
- Webpack - building and packaging source code for renderer process done with webpack
- electron-builder - package and distribute your Electron app
- spectron - Easily test your Electron apps using ChromeDriver and WebdriverIO
npm install -g bozonBozon 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:
- Use
--skip-installoption if you want to skip runningnpm install
|--config/
|--resources/
|--src/
| |--main/
| | |--index.js
| |--renderer/
| | |--images/
| | |--stylesheets/
| | |--index.js
| | |--index.html
|--test/
|--package.json
bozon startThis 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 spectron and mocha spec runner for testing Electron applications. Both unit and integration tests should go to ./test directory. Simply execute for running tests:
bozon testPackaging 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