Webpacker::Electron
Webpacker::Electron makes it easy to reuse your webpack-based JavaScript application files within an Electron app.
Installation
Add this line to your application's Gemfile
:
gem 'webpacker-electron'
And then execute:
bundle
Or install it yourself as:
bundle add webpacker-electron
Finally, run the following to install Webpacker::Electron:
bundle exec rails webpacker:install:electron
This command will create the following files:
config/electron-builder.yml
: Configuration file forelectron-builder
.config/webpack/electron/main/development.js
: Configuration file for Electron's main process (in development mode).config/webpack/electron/main/production.js
: Configuration file for Electron's main process (in production mode).config/webpack/electron/renderer/development.js
: Configuration file for Electron's renderer process (in development mode).config/webpack/electron/renderer/production.js
: Configuration file for Electron's renderer process (in production mode).lib/javascript/babel.js
: Babel configuration specific for Electron's main process.public/electron.html
: Template for the renderer process, for both webpack dev server and production build.src/packs/electron/main.js
: JavaScript pack for Electron's main process.src/packs/electron/renderer.js
: JavaScript pack for Electron's renderer process.
It also updates the following files:
.gitignore
: Ignorespublic/dist
andpublic/packs-electron
.config/webpack/environment.js
: Ignore Electron's related packs.
It also installs the following packages:
@babel/register
dotenv
dotenv-webpack
electron
electron-builder
electron-devtools-installer
electron-notarize
electron-debug
electron-log
electron-updater
concurrently
cross-env
Usage
Once installed, you can start your JavaScript app in Rails as an Electron app with the following command:
bundle exec rails webpacker:start:electron
This task will run a webpack dev server for the renderer pack. Also, it will run rails webpacker:start:electron:main
to start the actual Electron app.
Package the Electron app
To package the JavaScript application into an Electron app, run the following:
rails webpacker:package:electron
First, it will compile the main and renderer packs for Electron, and then it will put the resulting output in an Electron app using electron-builder
.
The app will be generated in public/dist
.
Contributing
Contribution directions go here.
License
The gem is available as open source under the terms of the MIT License.