Breaking Changes
- The
testWithSpectron
function requires you pass thespectron
module as it's first arg, allowing you to specify the version of spectron to be used. You will need to install spectron as adevDependency
- Jest tests must be run with
testEnvironment
set tonode
, see the examples for more details - Node integration is disabled by default
A few major deps were upgraded:
- teser-webpack-plugin ^1.1.0 -> ^2.0.0
- webpack-chain ^5.0.0 -> ^6.0.0
- execa: ^1.0.0 -> ^4.0.0
- electron-builder: ^21.2.0 -> 22.2.0
These upgrades may cause breaking changes depending on your specific application.
The internal tests are now run on vue cli v4, and it is recommended that you update your app to vue cli v4 as well.
Fixes and Features
- Support electron v7 (+ v8 and v9), #555
- nodeIntegration is now optional (and disabled by default), #610
- electron-builder will now work on macos catalina, #617
- You can now use the proper spectron version, #467
- Removed fonts duplication in build, #694
- You can now bundle preload files with webpack (docs), #613
Migrating a v1.x Project:
- Run
(yarn add | npm install) -D vue-cli-plugin-electron-builder@latest
to install the 2.0 version of the plugin. - In your
background.(js|ts)
, replacenodeIntegration:true
with:
// Use pluginOptions.nodeIntegration, leave this alone
// See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info
nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION
- If your app requires
nodeIntegration
, enable it invue.config.js
:
module.exports = {
pluginOptions: {
electronBuilder: {
nodeIntegration: true
}
}
}
- If you used the
testWithSpectron
function, install the proper version of spectron according to the version map, and pass the spectron import at the first argument of all of yourtestWithSpectron
calls. See the docs for more details. - If you used jest, set the test environment to node in each electron test file. See the docs for more details.