:electron: A complete tool for building and publishing Electron applications
Перейти к файлу
Marks Polakovs fd1ed4b250
fix(template-vite): incorrectly bundling browser entrypoints (#3278)
2023-08-08 13:23:49 -07:00
.circleci ci: use electronjs/node orb (#3289) 2023-08-03 13:13:56 -07:00
.github ci: don't use pull_request_target with semantic PR title check (#3294) 2023-08-08 13:05:52 -07:00
.husky build: npm@9 removed the bin command (#3110) 2022-12-09 02:50:21 -08:00
.vscode build: add vscode config for better devxp (#3049) 2022-11-04 09:15:13 -07:00
ci build: migrate from github actions to circleci (#3188) 2023-06-05 13:41:55 -07:00
packages fix(template-vite): incorrectly bundling browser entrypoints (#3278) 2023-08-08 13:23:49 -07:00
tools fix(core): silent failures when linking forge dependencies in tests (#3219) 2023-04-26 14:28:35 -07:00
typings fix(plugin-webpack): better webpack-dev-server types (#2952) 2022-10-12 12:49:08 -07:00
.editorconfig chore(core): add *.ts to .editorconfig (#527) 2018-07-06 11:35:26 +10:00
.eslintignore refactor: use custom eslint config + prettier instead of airbnb config (#2520) 2021-09-12 10:44:30 -07:00
.eslintrc.json fix(all): disallow throwing literals (`@typescript-eslint/no-throw-literal`) (#3086) 2022-11-22 14:39:39 -08:00
.gitattributes chore: add `.gitattributes` file for proper handling of line endings (#3134) 2023-01-09 09:51:11 -08:00
.gitignore build: rename package.json to avoid dependabot scan (#3216) 2023-04-17 11:15:38 -07:00
.markdownlint.json build: lint Markdown (#3247) 2023-06-09 17:29:13 -07:00
.markdownlintignore build: lint Markdown (#3247) 2023-06-09 17:29:13 -07:00
.mocharc.js refactor: typescript projects & docs generation (#2804) 2022-05-03 10:29:31 -07:00
.npmignore chore: make type checking faster, type check entire repo at once 2018-10-24 16:24:27 +11:00
.prettierignore build: use a single top-level `tsc -b` for all packages (#3090) 2022-11-24 10:01:24 -08:00
CHANGELOG.md chore: update CHANGELOG.md 2022-11-14 15:17:36 -08:00
CNAME Create CNAME 2022-08-22 13:31:54 -07:00
CONTRIBUTING.md fix(core): silent failures when linking forge dependencies in tests (#3219) 2023-04-26 14:28:35 -07:00
LICENSE docs(LICENSE): add a license file 2016-12-03 23:55:46 +11:00
README.md docs: update README status badge (#3244) 2023-06-05 15:37:12 -07:00
SUPPORT.md feat!: upgrade electron-packager@17 (#2978) 2022-10-24 10:34:43 -07:00
lerna.json v6.2.1 2023-06-15 16:15:00 -07:00
nx.json build: migrate to lerna from bolt (#3058) 2022-11-14 11:12:29 -08:00
package.json build: lint JS in Markdown (#3251) 2023-06-15 14:24:38 -07:00
tsconfig.base.json build: use a single top-level `tsc -b` for all packages (#3090) 2022-11-24 10:01:24 -08:00
tsconfig.test.json refactor: typescript projects & docs generation (#2804) 2022-05-03 10:29:31 -07:00
yarn.lock build(deps): bump word-wrap from 1.2.3 to 1.2.4 (#3276) 2023-07-27 18:13:07 -07:00

README.md

Electron Forge

CircleCI Discord npm version license status

A complete tool for building modern Electron applications.

Electron Forge unifies the existing (and well maintained) build tools for Electron development into a simple, easy to use package so that anyone can jump right in to Electron development.


Website | Goals | Docs and Usage | Configuration | Support | Contributing | Changelog


Note: The major version bump between v5.0.0 and v6.0.0 contains major breaking API changes and improvements. If you are new to Forge, we highly recommend using the latest version. If using an older version of Forge, we recommend upgrading to v6.0.0 or later.


Getting Started

Pre-requisities:

  • Node 14.17.5 or higher
  • Git

If you have a more recent version of npm or yarn, you can use npx, or yarn create.

npx create-electron-app my-new-app
# or
yarn create electron-app my-new-app

# then
cd my-new-app
npm start

Alternatively (less recommended):

npm install -g @electron-forge/cli
electron-forge init my-new-app
cd my-new-app
npm start

For more information on creating a new project from a template, see our CLI documentation.

Docs and Usage

For Electron Forge documentation and usage you should check out our website: electronforge.io

Project Goals

  1. Starting with Electron should be as simple as a single command.
  2. Developers shouldn't have to worry about setting up build tooling, native module rebuilding, etc. Everything should "just work" for them out of the box.
  3. Everything from creating the project to packaging the project for release should be handled by one core dependency in a standard way while still offering users maximum choice and freedom.

With these goals in mind, under the hood this project uses, among others:

  • @electron/rebuild: Automatically recompiles native Node.js modules against the correct Electron version.
  • Electron Packager: Customizes and bundles your Electron app to get it ready for distribution.

Contributing

If you are interested in reporting/fixing issues and contributing directly to the code base, please see CONTRIBUTING.md for more information on what we're looking for and how to get started.

Community

Please report bugs or feature requests in our issue tracker. You can find help for debugging your Electron Forge on the Support page, and ask questions in the official Electron Discord server, where there is a dedicated channel for Electron Forge.