Importing an Existing Project
Import an existing Electron project to use Electron Forge.
If you already have an Electron project and want to try out Electron Forge, you can either use Forge's import script or manually install Forge yourself.
These steps will get you set up with a basic build pipeline that can create Squirrel.Windows (Windows), Zip (macOS), and deb (Linux) installers when running
electron-forge make
.Importing an existing Electron app into the Electron Forge workflow can be done automatically using Forge's
import
command.Yarn 1
npm 6
npm 7
cd my-app
yarn add --dev @electron-forge/cli
yarn electron-forge import
cd my-app
npm install --save-dev @electron-forge/cli
npx electron-forge import
cd my-app
npm install --save-dev @electron-forge/cli
npm exec --package=@electron-forge/cli -c "electron-forge import"
This script will set up Forge to package and
If you're already using other Electron tooling, it will try to automatically migrate the settings as much as possible, but some of it may need to be migrated manually.
If the import script does not work for some reason, you can also install Forge manually. To get identical behavior to the script, follow the steps below.
First, install Forge's CLI and the target Makers as devDependencies in your project.
Yarn 1
npm
cd my-app
yarn add --dev @electron-forge/cli @electron-forge/maker-squirrel @electron-forge/maker-deb @electron-forge/maker-zip
cd my-app
npm install --save-dev @electron-forge/cli @electron-forge/maker-squirrel @electron-forge/maker-deb @electron-forge/maker-zip
To start using Forge, add a few command scripts to your package.json file:
package.json
{
// ...
"scripts": {
"start": "electron-forge start",
"package": "electron-forge package",
"make": "electron-forge make"
}
// ...
}
package.json
{
// ...
"config": {
"forge": {
"packagerConfig": {},
"makers": [
{
"name": "@electron-forge/maker-squirrel",
"config": {
"name": "electron_quick_start"
}
},
{
"name": "@electron-forge/maker-zip",
"platforms": [
"darwin"
]
},
{
"name": "@electron-forge/maker-deb",
"config": {}
},
{
"name": "@electron-forge/maker-rpm",
"config": {}
}
]
}
}
// ...
}
In the above object, we configure each Maker that we installed into the
makers
array. We also create an empty packagerConfig
object that you should edit to your app's needs.When distributing a Squirrel.Windows app, we recommend installing
electron-squirrel-startup
as a runtime dependency to handle Squirrel events.Yarn
npm
cd my-app
yarn add electron-squirrel-startup
cd my-app
npm install electron-squirrel-startup
Then, add the following snippet as early as possible in the main process execution (before the
app.ready
event).main.js
if (require('electron-squirrel-startup')) app.quit();
Last modified 7mo ago