electron/README.md
Charles Kerr 5b18cc46bc
chore: bump chromium to 129.0.6630.0 (main) (#43087)
* 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>
2024-08-02 09:02:11 -05:00

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/).