MCPcopy
hub / github.com/electron/forge

github.com/electron/forge @v7.11.2 sqlite

repository ↗ · DeepWiki ↗ · release v7.11.2 ↗
565 symbols 1,632 edges 275 files 40 documented · 7%
README

Electron Forge

CI Discord npm version license status

[!IMPORTANT] We're currently beginning feature development for the next major version of Electron Forge, which is being done in the next branch. To try out experimental pre-releases, install the @alpha dist-tag of the @electron-forge/* packages via npm. For more details, see issue https://github.com/electron/forge/issues/4082.

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


Getting Started

Pre-requisites:

  • Node 16.4.0 or higher
  • Git

You can initialize an Electron Forge project with the create-electron-app CLI tool.

npx create-electron-app@latest my-new-app

# then
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.

Extension points exported contracts — how you extend this code

IForgePluginInterface (Interface)
(no doc) [2 implementers]
packages/utils/types/src/index.ts
PartialPackageManifest (Interface)
(no doc)
tools/gen-ts-glue.ts
SyncContext (Interface)
(no doc)
tools/sync-readmes.ts
Package (Interface)
(no doc)
tools/utils.ts
StaticArtifact (Interface)
(no doc)
packages/publisher/base-static/src/PublisherStatic.ts
LocalElectronPluginConfig (Interface)
(no doc)
packages/plugin/local-electron/src/Config.ts
CodeSignOptions (Interface)
(no doc)
packages/maker/dmg/src/Config.ts
ImportOptions (Interface)
(no doc)
packages/api/core/src/api/import.ts

Core symbols most depended-on inside this repo

childTrace
called by 34
packages/utils/tracer/src/index.ts
copyTemplateFile
called by 33
packages/template/base/src/BaseTemplate.ts
log
called by 28
packages/utils/web-multi-logger/src/Tab.ts
getRendererConfig
called by 24
packages/plugin/webpack/src/WebpackConfig.ts
init
called by 22
packages/utils/types/src/index.ts
resolvePackageManager
called by 17
packages/utils/core-utils/src/package-manager.ts
installDependencies
called by 16
packages/api/core/src/util/install-dependencies.ts
delayTraceTillSignal
called by 15
packages/utils/tracer/src/index.ts

Shape

Function 196
Method 165
Class 122
Interface 77
Enum 5

Languages

TypeScript100%

Modules by API surface

packages/plugin/webpack/src/WebpackConfig.ts22 symbols
packages/utils/types/src/index.ts21 symbols
tools/update-dependencies.js16 symbols
packages/maker/base/src/Maker.ts14 symbols
tools/doc-plugin/src/index.tsx12 symbols
packages/publisher/electron-release-server/src/PublisherERS.ts12 symbols
packages/utils/core-utils/src/electron-version.ts11 symbols
packages/plugin/vite/src/VitePlugin.ts11 symbols
packages/api/core/src/util/forge-config.ts10 symbols
packages/utils/web-multi-logger/static/main.js9 symbols
packages/template/base/src/BaseTemplate.ts9 symbols
packages/plugin/webpack/src/WebpackPlugin.ts9 symbols

Dependencies from manifests, versioned

@aws-sdk/client-s33.654.0 · 1×
@aws-sdk/lib-storage3.654.0 · 1×
@aws-sdk/types3.654.0 · 1×
@electron-forge/cli6.0.0 · 1×
@electron-forge/corefile:../../../../../ · 1×
@electron-forge/core-utilsworkspace:* · 1×
@electron-forge/maker-appxworkspace:* · 1×
@electron-forge/maker-baseworkspace:* · 1×
@electron-forge/maker-debworkspace:* · 1×
@electron-forge/maker-dmgworkspace:* · 1×
@electron-forge/maker-flatpakworkspace:* · 1×
@electron-forge/maker-msixfile:../../../../../ · 1×

For agents

$ claude mcp add forge \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact