5b18cc46bc
* chore: bump chromium in DEPS to 129.0.6623.0
* chore: update mas_avoid_private_macos_api_usage.patch.patch
remove the changes to media/audio/mac/audio_manager_mac.cc,
since upstream has also made this change now.
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5738654
* chore: update fix_disable_scope_reuse_associated_dchecks.patch
We had been removing a couple of `DCHECK`. Upstream changed their
code to limit when these `DCHECK`s get called, so let's see if our
change is still needed.
Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5739076
* chore: e patches all
* Bump the Chrome macOS deployment target to 11.0
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5734361
BREAKING CHANGE: Bump the Chrome macOS deployment target to 11.0
* src: stop using deprecated fields of `v8::FastApiCallbackOptions`
Xref: d0000b118d
Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5741336
Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5741199
* fixup! chore: update fix_disable_scope_reuse_associated_dchecks.patch
chore: re-disable DCHECKs
yep, it is still needed
* refactor use non-deprecated variant of openApplicationAtURL
old version is deprecated now in macOS 11
Xref: https://developer.apple.com/documentation/appkit/nsworkspace/1534810-launchapplicationaturl
Xref: https://developer.apple.com/documentation/appkit/nsworkspace/3172700-openapplicationaturl
* chore: bump chromium in DEPS to 129.0.6626.0
* chore: e patches all
* chore: disable NSUserNotification deprecation errors
* chore: disable NSWindowStyleMaskTexturedBackground deprecation errors
Xref: https://github.com/electron/electron/issues/43125
* chore: disable deprecation errors in platform_util_mac.mm
* chore: disable launchApplication deprecation errors
* chore: bump chromium in DEPS to 129.0.6630.0
* chore: update refactor_expose_file_system_access_blocklist.patch
apply patch manually due to context shear
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5745444
* chore: update deps_add_v8_object_setinternalfieldfornodecore.patch
no manual changes. patch applied with fuzz 1 (offset -5 lines)
* chore: e patches all
* fix: add clang_x64_v8_arm64/snapshot_blob.bin to the zip manifest
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5746173
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
115 lines
5.2 KiB
Markdown
115 lines
5.2 KiB
Markdown
[![Electron Logo](https://electronjs.org/images/electron-logo.svg)](https://electronjs.org)
|
|
|
|
[![GitHub Actions Build Status](https://github.com/electron/electron/actions/workflows/build.yml/badge.svg)](https://github.com/electron/electron/actions/workflows/build.yml)
|
|
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/4lggi9dpjc1qob7k/branch/main?svg=true)](https://ci.appveyor.com/project/electron-bot/electron-ljo26/branch/main)
|
|
[![Electron Discord Invite](https://img.shields.io/discord/745037351163527189?color=%237289DA&label=chat&logo=discord&logoColor=white)](https://discord.gg/electronjs)
|
|
|
|
:memo: Available Translations: 🇨🇳 🇧🇷 🇪🇸 🇯🇵 🇷🇺 🇫🇷 🇺🇸 🇩🇪.
|
|
View these docs in other languages on our [Crowdin](https://crowdin.com/project/electron) project.
|
|
|
|
The Electron framework lets you write cross-platform desktop applications
|
|
using JavaScript, HTML and CSS. It is based on [Node.js](https://nodejs.org/) and
|
|
[Chromium](https://www.chromium.org) and is used by the
|
|
[Visual Studio Code](https://github.com/Microsoft/vscode/) and many other [apps](https://electronjs.org/apps).
|
|
|
|
Follow [@electronjs](https://twitter.com/electronjs) on Twitter for important
|
|
announcements.
|
|
|
|
This project adheres to the Contributor Covenant
|
|
[code of conduct](https://github.com/electron/electron/tree/main/CODE_OF_CONDUCT.md).
|
|
By participating, you are expected to uphold this code. Please report unacceptable
|
|
behavior to [coc@electronjs.org](mailto:coc@electronjs.org).
|
|
|
|
## Installation
|
|
|
|
To install prebuilt Electron binaries, use [`npm`](https://docs.npmjs.com/).
|
|
The preferred method is to install Electron as a development dependency in your
|
|
app:
|
|
|
|
```sh
|
|
npm install electron --save-dev
|
|
```
|
|
|
|
For more installation options and troubleshooting tips, see
|
|
[installation](docs/tutorial/installation.md). For info on how to manage Electron versions in your apps, see
|
|
[Electron versioning](docs/tutorial/electron-versioning.md).
|
|
|
|
## Platform support
|
|
|
|
Each Electron release provides binaries for macOS, Windows, and Linux.
|
|
|
|
* macOS (Big Sur and up): Electron provides 64-bit Intel and Apple Silicon / ARM binaries for macOS.
|
|
* Windows (Windows 10 and up): Electron provides `ia32` (`x86`), `x64` (`amd64`), and `arm64` binaries for Windows. Windows on ARM support was added in Electron 5.0.8. Support for Windows 7, 8 and 8.1 was [removed in Electron 23, in line with Chromium's Windows deprecation policy](https://www.electronjs.org/blog/windows-7-to-8-1-deprecation-notice).
|
|
* Linux: The prebuilt binaries of Electron are built on Ubuntu 20.04. They have also been verified to work on:
|
|
* Ubuntu 18.04 and newer
|
|
* Fedora 32 and newer
|
|
* Debian 10 and newer
|
|
|
|
## Quick start & Electron Fiddle
|
|
|
|
Use [`Electron Fiddle`](https://github.com/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](https://github.com/electron/electron-quick-start)
|
|
repository to see a minimal Electron app in action:
|
|
|
|
```sh
|
|
git clone https://github.com/electron/electron-quick-start
|
|
cd electron-quick-start
|
|
npm install
|
|
npm start
|
|
```
|
|
|
|
## Resources for learning Electron
|
|
|
|
* [electronjs.org/docs](https://electronjs.org/docs) - All of Electron's documentation
|
|
* [electron/fiddle](https://github.com/electron/fiddle) - A tool to build, run, and package small Electron experiments
|
|
* [electron/electron-quick-start](https://github.com/electron/electron-quick-start) - A very basic starter Electron app
|
|
* [electronjs.org/community#boilerplates](https://electronjs.org/community#boilerplates) - Sample starter apps created by the community
|
|
|
|
## 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:
|
|
|
|
```javascript
|
|
const electron = require('electron')
|
|
const proc = require('node:child_process')
|
|
|
|
// will print something similar to /Users/maf/.../Electron
|
|
console.log(electron)
|
|
|
|
// spawn Electron
|
|
const child = proc.spawn(electron)
|
|
```
|
|
|
|
### Mirrors
|
|
|
|
* [China](https://npmmirror.com/mirrors/electron/)
|
|
|
|
See the [Advanced Installation Instructions](https://www.electronjs.org/docs/latest/tutorial/installation#mirror) to learn how to use a custom mirror.
|
|
|
|
## Documentation translations
|
|
|
|
We crowdsource translations for our documentation via [Crowdin](https://crowdin.com/project/electron).
|
|
We currently accept translations for Chinese (Simplified), French, German, Japanese, Portuguese,
|
|
Russian, and Spanish.
|
|
|
|
## Contributing
|
|
|
|
If you are interested in reporting/fixing issues and contributing directly to the code base, please see [CONTRIBUTING.md](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 on the [Community page](https://www.electronjs.org/community).
|
|
|
|
## License
|
|
|
|
[MIT](https://github.com/electron/electron/blob/main/LICENSE)
|
|
|
|
When using Electron logos, make sure to follow [OpenJS Foundation Trademark Policy](https://trademark-policy.openjsf.org/).
|