* chore: bump chromium in DEPS to 82.0.4076.1 * update patches * chore: bump chromium in DEPS to 82.0.4077.1 * update v8 patches * Remove deprecated wasm module type check https://chromium-review.googlesource.com/c/v8/v8/+/2033170 * chore: bump chromium in DEPS to 82.0.4078.0 * chore: bump chromium in DEPS to 82.0.4079.0 * chore: bump chromium in DEPS to 82.0.4080.0 * chore: bump chromium in DEPS to 82.0.4080.1 * chore: bump chromium in DEPS to 82.0.4081.2 * Update patches * chore: bump chromium in DEPS to 82.0.4082.1 * Remove cursor_types.h in favor of cursor_type.mojom https://chromium-review.googlesource.com/c/chromium/src/+/2052103 (cherry picked from commit3b6e4d4a1a) * Refactor extensions report in management disclosure page https://chromium-review.googlesource.com/c/chromium/src/+/2038774 (cherry picked from commitb2ae06307d) * Rename an old referrer policy value https://chromium-review.googlesource.com/c/chromium/src/+/2082856 (cherry picked from commit3cb8af2515) * Fixup compiler errors * Move GLHelper to gpu:: https://chromium-review.googlesource.com/c/chromium/src/+/2023282 (cherry picked from commitea8e347088) * [api] Remove deprecated wasm module type check https://chromium-review.googlesource.com/c/v8/v8/+/2033170 (cherry picked from commit937988e6ce) * Replace blink::WebCursorInfo with ui::Cursor https://chromium-review.googlesource.com/c/chromium/src/+/1997138 (cherry picked from commit3e348c4d59) * DownloadURLParameters: Remove NetworkIsolationKey parameter. https://chromium-review.googlesource.com/c/chromium/src/+/2050987 (cherry picked from commit9b4aae745e) * Convert FrameHostMsg_UpdateFaviconURL to mojo https://chromium-review.googlesource.com/c/chromium/src/+/2043181 (cherry picked from commit11b9c27eee) * Merge ui::ContextFactoryPrivate with ui::ContextFactory https://chromium-review.googlesource.com/c/chromium/src/+/2047728 (cherry picked from commit176876f243) * fix pdf viewer tests by binding more mojo things (cherry picked from commit74def418df) * chore: bump chromium in DEPS to 82.0.4083.1 * Update electron_swiftshader_binaries deps https://chromium-review.googlesource.com/c/chromium/src/+/2056931 (cherry picked from commit312f11129f) * Update patches * Use Promise with RequestPointerLock calls https://chromium-review.googlesource.com/c/chromium/src/+/2069199 (cherry picked from commit34350db4bd) * chore: bump chromium in DEPS to 82.0.4084.1 * Replace content::CursorInfo with ui::Cursor https://chromium-review.googlesource.com/c/chromium/src/+/1999201 (cherry picked from commit6b3b850692) * Convert MaterialDesignController to a true singleton. https://chromium-review.googlesource.com/c/chromium/src/+/2090877 (cherry picked from commit21ced9206d) * Drop WebContentsView::RenderViewCreated hook https://chromium-review.googlesource.com/c/chromium/src/+/2093535 (cherry picked from commit9ff4e65053) * Update patches * Splitting context_menu_params.h into separate browser VS common parts. https://chromium-review.googlesource.com/c/chromium/src/+/2097468 * Fix DCHECK on OnThemeChanged() https://chromium-review.googlesource.com/c/chromium/src/+/2090713 (cherry picked from commitfcec5f74d1) * chore: bump chromium in DEPS to 82.0.4085.1 * chore: bump chromium in DEPS to 82.0.4085.5 * chore: bump chromium in DEPS to 82.0.4085.7 * chore: bump chromium in DEPS to 82.0.4085.9 * Add debugging for TAB tests * update patches * fix: add patch to fix linux arm build (#22523) (cherry picked from commit479354e721) * chore: bump chromium in DEPS to 82.0.4085.10 * Check PointerLock requests for new options and update accordingly https://chromium-review.googlesource.com/c/chromium/src/+/2071788 * Update for changes from master roller review * FIXME: skip Menu.setApplicationMenu(null) test (cherry picked from commit305f167889) * Revert "Add debugging for TAB tests" This reverts commitaf393c1b0b. Co-authored-by: Jeremy Apthorp <jeremya@chromium.org> Co-authored-by: John Kleinschmidt <jkleinsc@github.com> Co-authored-by: deepak1556 <hop2deep@gmail.com> Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net> Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
📝 Available Translations: 🇨🇳 🇹🇼 🇧🇷 🇪🇸 🇰🇷 🇯🇵 🇷🇺 🇫🇷 🇹🇭 🇳🇱 🇹🇷 🇮🇩 🇺🇦 🇨🇿 🇮🇹 🇵🇱. View these docs in other languages at electron/i18n.
The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on Node.js and Chromium and is used by the Atom editor and many other apps.
Follow @ElectronJS on Twitter for important announcements.
This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to coc@electronjs.org.
Installation
To install prebuilt Electron binaries, use npm.
The preferred method is to install Electron as a development dependency in your
app:
npm install electron --save-dev [--save-exact]
The --save-exact flag is recommended for Electron prior to version 2, as it does not follow semantic
versioning. As of version 2.0.0, Electron follows semver, so you don't need --save-exact flag. For info on how to manage Electron versions in your apps, see
Electron versioning.
For more installation options and troubleshooting tips, see installation.
Quick start & Electron Fiddle
Use Electron Fiddle
to build, run, and package small Electron experiments, to see code examples for all of Electron's APIs, and
to try out different versions of Electron. It's designed to make the start of your journey with
Electron easier.
Alternatively, clone and run the electron/electron-quick-start repository to see a minimal Electron app in action:
git clone https://github.com/electron/electron-quick-start
cd electron-quick-start
npm install
npm start
Resources for learning Electron
- electronjs.org/docs - All of Electron's documentation
- electron/fiddle - A tool to build, run, and package small Electron experiments
- electron/electron-quick-start - A very basic starter Electron app
- electronjs.org/community#boilerplates - Sample starter apps created by the community
- electron/simple-samples - Small applications with ideas for taking them further
- electron/electron-api-demos - An Electron app that teaches you how to use Electron
- hokein/electron-sample-apps - Small demo apps for the various Electron APIs
Programmatic usage
Most people use Electron from the command line, but if you require electron inside
your Node app (not your Electron app) it will return the file path to the
binary. Use this to spawn Electron from Node scripts:
const electron = require('electron')
const proc = require('child_process')
// will print something similar to /Users/maf/.../Electron
console.log(electron)
// spawn Electron
const child = proc.spawn(electron)
Mirrors
Documentation Translations
Find documentation translations in electron/i18n.
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
Info on reporting bugs, getting help, finding third-party tools and sample apps, and more can be found in the support document.
License
When using the Electron or other GitHub logos, be sure to follow the GitHub logo guidelines.