docs: ensure all links are on a single line (#42235)
This commit is contained in:
parent
bb4374ee2c
commit
09fb892c6e
22 changed files with 78 additions and 92 deletions
|
@ -125,8 +125,8 @@ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||||
version 2.0, available at
|
version 2.0, available at
|
||||||
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
||||||
|
|
||||||
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
Community Impact Guidelines were inspired by
|
||||||
enforcement ladder](https://github.com/mozilla/diversity).
|
[Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/inclusion).
|
||||||
|
|
||||||
[homepage]: https://www.contributor-covenant.org
|
[homepage]: https://www.contributor-covenant.org
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ View these docs in other languages on our [Crowdin](https://crowdin.com/project/
|
||||||
|
|
||||||
The Electron framework lets you write cross-platform desktop applications
|
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
|
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
|
[Chromium](https://www.chromium.org) and is used by the
|
||||||
Code](https://github.com/Microsoft/vscode/) and many other [apps](https://electronjs.org/apps).
|
[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
|
Follow [@electronjs](https://twitter.com/electronjs) on Twitter for important
|
||||||
announcements.
|
announcements.
|
||||||
|
|
|
@ -1282,8 +1282,7 @@ Returns `Object`:
|
||||||
* `settings` Object
|
* `settings` Object
|
||||||
* `openAtLogin` boolean (optional) - `true` to open the app at login, `false` to remove
|
* `openAtLogin` boolean (optional) - `true` to open the app at login, `false` to remove
|
||||||
the app as a login item. Defaults to `false`.
|
the app as a login item. Defaults to `false`.
|
||||||
* `openAsHidden` boolean (optional) _macOS_ _Deprecated_ - `true` to open the app as hidden. Defaults to `false`. The user can edit this setting from the System Preferences so `app.getLoginItemSettings().wasOpenedAsHidden` should be checked when the app is opened to know the current value. This setting is not available on [MAS build
|
* `openAsHidden` boolean (optional) _macOS_ _Deprecated_ - `true` to open the app as hidden. Defaults to `false`. The user can edit this setting from the System Preferences so `app.getLoginItemSettings().wasOpenedAsHidden` should be checked when the app is opened to know the current value. This setting is not available on [MAS builds][mas-builds] or on macOS 13 and up.
|
||||||
s][mas-builds] or on macOS 13 and up.
|
|
||||||
* `type` string (optional) _macOS_ - The type of service to add as a login item. Defaults to `mainAppService`. Only available on macOS 13 and up.
|
* `type` string (optional) _macOS_ - The type of service to add as a login item. Defaults to `mainAppService`. Only available on macOS 13 and up.
|
||||||
* `mainAppService` - The primary application.
|
* `mainAppService` - The primary application.
|
||||||
* `agentService` - The property list name for a launch agent. The property list name must correspond to a property list in the app’s `Contents/Library/LaunchAgents` directory.
|
* `agentService` - The property list name for a launch agent. The property list name must correspond to a property list in the app’s `Contents/Library/LaunchAgents` directory.
|
||||||
|
|
|
@ -20,8 +20,9 @@ In addition, there are some subtle differences on each platform:
|
||||||
|
|
||||||
On macOS, the `autoUpdater` module is built upon [Squirrel.Mac][squirrel-mac],
|
On macOS, the `autoUpdater` module is built upon [Squirrel.Mac][squirrel-mac],
|
||||||
meaning you don't need any special setup to make it work. For server-side
|
meaning you don't need any special setup to make it work. For server-side
|
||||||
requirements, you can read [Server Support][server-support]. Note that [App
|
requirements, you can read [Server Support][server-support]. Note that
|
||||||
Transport Security](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW35) (ATS) applies to all requests made as part of the
|
[App Transport Security](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW35)
|
||||||
|
(ATS) applies to all requests made as part of the
|
||||||
update process. Apps that need to disable ATS can add the
|
update process. Apps that need to disable ATS can add the
|
||||||
`NSAllowsArbitraryLoads` key to their app's plist.
|
`NSAllowsArbitraryLoads` key to their app's plist.
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,8 @@ The `contentTracing` module has the following methods:
|
||||||
Returns `Promise<string[]>` - resolves with an array of category groups once all child processes have acknowledged the `getCategories` request
|
Returns `Promise<string[]>` - resolves with an array of category groups once all child processes have acknowledged the `getCategories` request
|
||||||
|
|
||||||
Get a set of category groups. The category groups can change as new code paths
|
Get a set of category groups. The category groups can change as new code paths
|
||||||
are reached. See also the [list of built-in tracing
|
are reached. See also the
|
||||||
categories](https://chromium.googlesource.com/chromium/src/+/main/base/trace_event/builtin_categories.h).
|
[list of built-in tracing categories](https://chromium.googlesource.com/chromium/src/+/main/base/trace_event/builtin_categories.h).
|
||||||
|
|
||||||
> **NOTE:** Electron adds a non-default tracing category called `"electron"`.
|
> **NOTE:** Electron adds a non-default tracing category called `"electron"`.
|
||||||
> This category can be used to capture Electron-specific tracing events.
|
> This category can be used to capture Electron-specific tracing events.
|
||||||
|
|
|
@ -145,16 +145,16 @@ debugging purposes.
|
||||||
Prints Chromium's internal logging to the console.
|
Prints Chromium's internal logging to the console.
|
||||||
|
|
||||||
Setting this variable is the same as passing `--enable-logging`
|
Setting this variable is the same as passing `--enable-logging`
|
||||||
on the command line. For more info, see `--enable-logging` in [command-line
|
on the command line. For more info, see `--enable-logging` in
|
||||||
switches](./command-line-switches.md#--enable-loggingfile).
|
[command-line switches](./command-line-switches.md#--enable-loggingfile).
|
||||||
|
|
||||||
### `ELECTRON_LOG_FILE`
|
### `ELECTRON_LOG_FILE`
|
||||||
|
|
||||||
Sets the file destination for Chromium's internal logging.
|
Sets the file destination for Chromium's internal logging.
|
||||||
|
|
||||||
Setting this variable is the same as passing `--log-file`
|
Setting this variable is the same as passing `--log-file`
|
||||||
on the command line. For more info, see `--log-file` in [command-line
|
on the command line. For more info, see `--log-file` in
|
||||||
switches](./command-line-switches.md#--log-filepath).
|
[command-line switches](./command-line-switches.md#--log-filepath).
|
||||||
|
|
||||||
### `ELECTRON_DEBUG_NOTIFICATIONS`
|
### `ELECTRON_DEBUG_NOTIFICATIONS`
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
# Chrome Extension Support
|
# Chrome Extension Support
|
||||||
|
|
||||||
Electron supports a subset of the [Chrome Extensions
|
Electron supports a subset of the [Chrome Extensions API][chrome-extensions-api-index],
|
||||||
API][chrome-extensions-api-index], primarily to support DevTools extensions and
|
primarily to support DevTools extensions and Chromium-internal extensions,
|
||||||
Chromium-internal extensions, but it also happens to support some other
|
but it also happens to support some other extension capabilities.
|
||||||
extension capabilities.
|
|
||||||
|
|
||||||
[chrome-extensions-api-index]: https://developer.chrome.com/extensions/api_index
|
[chrome-extensions-api-index]: https://developer.chrome.com/extensions/api_index
|
||||||
|
|
||||||
|
|
|
@ -82,8 +82,8 @@ Removes all listeners, or those of the specified `channel`.
|
||||||
* `...args` any[]
|
* `...args` any[]
|
||||||
|
|
||||||
Send an asynchronous message to the main process via `channel`, along with
|
Send an asynchronous message to the main process via `channel`, along with
|
||||||
arguments. Arguments will be serialized with the [Structured Clone
|
arguments. Arguments will be serialized with the [Structured Clone Algorithm][SCA],
|
||||||
Algorithm][SCA], just like [`window.postMessage`][], so prototype chains will not be
|
just like [`window.postMessage`][], so prototype chains will not be
|
||||||
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
|
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
|
||||||
throw an exception.
|
throw an exception.
|
||||||
|
|
||||||
|
@ -110,8 +110,8 @@ If you want to receive a single response from the main process, like the result
|
||||||
Returns `Promise<any>` - Resolves with the response from the main process.
|
Returns `Promise<any>` - Resolves with the response from the main process.
|
||||||
|
|
||||||
Send a message to the main process via `channel` and expect a result
|
Send a message to the main process via `channel` and expect a result
|
||||||
asynchronously. Arguments will be serialized with the [Structured Clone
|
asynchronously. Arguments will be serialized with the [Structured Clone Algorithm][SCA],
|
||||||
Algorithm][SCA], just like [`window.postMessage`][], so prototype chains will not be
|
just like [`window.postMessage`][], so prototype chains will not be
|
||||||
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
|
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
|
||||||
throw an exception.
|
throw an exception.
|
||||||
|
|
||||||
|
@ -160,8 +160,8 @@ If you do not need a response to the message, consider using [`ipcRenderer.send`
|
||||||
Returns `any` - The value sent back by the [`ipcMain`](./ipc-main.md) handler.
|
Returns `any` - The value sent back by the [`ipcMain`](./ipc-main.md) handler.
|
||||||
|
|
||||||
Send a message to the main process via `channel` and expect a result
|
Send a message to the main process via `channel` and expect a result
|
||||||
synchronously. Arguments will be serialized with the [Structured Clone
|
synchronously. Arguments will be serialized with the [Structured Clone Algorithm][SCA],
|
||||||
Algorithm][SCA], just like [`window.postMessage`][], so prototype chains will not be
|
just like [`window.postMessage`][], so prototype chains will not be
|
||||||
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
|
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
|
||||||
throw an exception.
|
throw an exception.
|
||||||
|
|
||||||
|
@ -208,8 +208,8 @@ ipcMain.on('port', (e, msg) => {
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
For more information on using `MessagePort` and `MessageChannel`, see the [MDN
|
For more information on using `MessagePort` and `MessageChannel`, see the
|
||||||
documentation](https://developer.mozilla.org/en-US/docs/Web/API/MessageChannel).
|
[MDN documentation](https://developer.mozilla.org/en-US/docs/Web/API/MessageChannel).
|
||||||
|
|
||||||
### `ipcRenderer.sendToHost(channel, ...args)`
|
### `ipcRenderer.sendToHost(channel, ...args)`
|
||||||
|
|
||||||
|
|
|
@ -86,9 +86,8 @@ async function example () {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
This method will issue requests from the [default
|
This method will issue requests from the [default session](session.md#sessiondefaultsession).
|
||||||
session](session.md#sessiondefaultsession). To send a `fetch` request from
|
To send a `fetch` request from another session, use [ses.fetch()](session.md#sesfetchinput-init).
|
||||||
another session, use [ses.fetch()](session.md#sesfetchinput-init).
|
|
||||||
|
|
||||||
See the MDN documentation for
|
See the MDN documentation for
|
||||||
[`fetch()`](https://developer.mozilla.org/en-US/docs/Web/API/fetch) for more
|
[`fetch()`](https://developer.mozilla.org/en-US/docs/Web/API/fetch) for more
|
||||||
|
@ -101,11 +100,10 @@ Limitations:
|
||||||
* The `.type` and `.url` values of the returned `Response` object are
|
* The `.type` and `.url` values of the returned `Response` object are
|
||||||
incorrect.
|
incorrect.
|
||||||
|
|
||||||
By default, requests made with `net.fetch` can be made to [custom
|
By default, requests made with `net.fetch` can be made to [custom protocols](protocol.md)
|
||||||
protocols](protocol.md) as well as `file:`, and will trigger
|
as well as `file:`, and will trigger [webRequest](web-request.md) handlers if present.
|
||||||
[webRequest](web-request.md) handlers if present. When the non-standard
|
When the non-standard `bypassCustomProtocolHandlers` option is set in RequestInit,
|
||||||
`bypassCustomProtocolHandlers` option is set in RequestInit, custom protocol
|
custom protocol handlers will not be called for this request. This allows forwarding an
|
||||||
handlers will not be called for this request. This allows forwarding an
|
|
||||||
intercepted request to the built-in handler. [webRequest](web-request.md)
|
intercepted request to the built-in handler. [webRequest](web-request.md)
|
||||||
handlers will still be triggered when bypassing custom protocols.
|
handlers will still be triggered when bypassing custom protocols.
|
||||||
|
|
||||||
|
@ -167,9 +165,8 @@ will be successful.
|
||||||
|
|
||||||
Returns [`Promise<ResolvedHost>`](structures/resolved-host.md) - Resolves with the resolved IP addresses for the `host`.
|
Returns [`Promise<ResolvedHost>`](structures/resolved-host.md) - Resolves with the resolved IP addresses for the `host`.
|
||||||
|
|
||||||
This method will resolve hosts from the [default
|
This method will resolve hosts from the [default session](session.md#sessiondefaultsession).
|
||||||
session](session.md#sessiondefaultsession). To resolve a host from
|
To resolve a host from another session, use [ses.resolveHost()](session.md#sesresolvehosthost-options).
|
||||||
another session, use [ses.resolveHost()](session.md#sesresolvehosthost-options).
|
|
||||||
|
|
||||||
## Properties
|
## Properties
|
||||||
|
|
||||||
|
|
|
@ -79,9 +79,8 @@ protocol.registerSchemesAsPrivileged([
|
||||||
])
|
])
|
||||||
```
|
```
|
||||||
|
|
||||||
A standard scheme adheres to what RFC 3986 calls [generic URI
|
A standard scheme adheres to what RFC 3986 calls [generic URI syntax](https://tools.ietf.org/html/rfc3986#section-3).
|
||||||
syntax](https://tools.ietf.org/html/rfc3986#section-3). For example `http` and
|
For example `http` and `https` are standard schemes, while `file` is not.
|
||||||
`https` are standard schemes, while `file` is not.
|
|
||||||
|
|
||||||
Registering a scheme as standard allows relative and absolute resources to
|
Registering a scheme as standard allows relative and absolute resources to
|
||||||
be resolved correctly when served. Otherwise the scheme will behave like the
|
be resolved correctly when served. Otherwise the scheme will behave like the
|
||||||
|
|
|
@ -729,11 +729,10 @@ Limitations:
|
||||||
* The `.type` and `.url` values of the returned `Response` object are
|
* The `.type` and `.url` values of the returned `Response` object are
|
||||||
incorrect.
|
incorrect.
|
||||||
|
|
||||||
By default, requests made with `net.fetch` can be made to [custom
|
By default, requests made with `net.fetch` can be made to [custom protocols](protocol.md)
|
||||||
protocols](protocol.md) as well as `file:`, and will trigger
|
as well as `file:`, and will trigger [webRequest](web-request.md) handlers if present.
|
||||||
[webRequest](web-request.md) handlers if present. When the non-standard
|
When the non-standard `bypassCustomProtocolHandlers` option is set in RequestInit,
|
||||||
`bypassCustomProtocolHandlers` option is set in RequestInit, custom protocol
|
custom protocol handlers will not be called for this request. This allows forwarding an
|
||||||
handlers will not be called for this request. This allows forwarding an
|
|
||||||
intercepted request to the built-in handler. [webRequest](web-request.md)
|
intercepted request to the built-in handler. [webRequest](web-request.md)
|
||||||
handlers will still be triggered when bypassing custom protocols.
|
handlers will still be triggered when bypassing custom protocols.
|
||||||
|
|
||||||
|
|
|
@ -617,8 +617,7 @@ Returns:
|
||||||
|
|
||||||
Emitted when failed to verify the `certificate` for `url`.
|
Emitted when failed to verify the `certificate` for `url`.
|
||||||
|
|
||||||
The usage is the same with [the `certificate-error` event of
|
The usage is the same with [the `certificate-error` event of `app`](app.md#event-certificate-error).
|
||||||
`app`](app.md#event-certificate-error).
|
|
||||||
|
|
||||||
#### Event: 'select-client-certificate'
|
#### Event: 'select-client-certificate'
|
||||||
|
|
||||||
|
@ -632,8 +631,7 @@ Returns:
|
||||||
|
|
||||||
Emitted when a client certificate is requested.
|
Emitted when a client certificate is requested.
|
||||||
|
|
||||||
The usage is the same with [the `select-client-certificate` event of
|
The usage is the same with [the `select-client-certificate` event of `app`](app.md#event-select-client-certificate).
|
||||||
`app`](app.md#event-select-client-certificate).
|
|
||||||
|
|
||||||
#### Event: 'login'
|
#### Event: 'login'
|
||||||
|
|
||||||
|
@ -1850,8 +1848,8 @@ Opens the developer tools for the service worker context.
|
||||||
* `...args` any[]
|
* `...args` any[]
|
||||||
|
|
||||||
Send an asynchronous message to the renderer process via `channel`, along with
|
Send an asynchronous message to the renderer process via `channel`, along with
|
||||||
arguments. Arguments will be serialized with the [Structured Clone
|
arguments. Arguments will be serialized with the [Structured Clone Algorithm][SCA],
|
||||||
Algorithm][SCA], just like [`postMessage`][], so prototype chains will not be
|
just like [`postMessage`][], so prototype chains will not be
|
||||||
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
|
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
|
||||||
throw an exception.
|
throw an exception.
|
||||||
|
|
||||||
|
|
|
@ -103,10 +103,9 @@ Returns `boolean` - Whether the reload was initiated successfully. Only results
|
||||||
* `...args` any[]
|
* `...args` any[]
|
||||||
|
|
||||||
Send an asynchronous message to the renderer process via `channel`, along with
|
Send an asynchronous message to the renderer process via `channel`, along with
|
||||||
arguments. Arguments will be serialized with the [Structured Clone
|
arguments. Arguments will be serialized with the [Structured Clone Algorithm][SCA],
|
||||||
Algorithm][SCA], just like [`postMessage`][], so prototype chains will not be
|
just like [`postMessage`][], so prototype chains will not be included.
|
||||||
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
|
Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will throw an exception.
|
||||||
throw an exception.
|
|
||||||
|
|
||||||
The renderer process can handle the message by listening to `channel` with the
|
The renderer process can handle the message by listening to `channel` with the
|
||||||
[`ipcRenderer`](ipc-renderer.md) module.
|
[`ipcRenderer`](ipc-renderer.md) module.
|
||||||
|
|
|
@ -716,8 +716,8 @@ document.getElementById('webview').addEventListener('new-window', () => {
|
||||||
### Deprecated: BrowserWindow `scroll-touch-*` events
|
### Deprecated: BrowserWindow `scroll-touch-*` events
|
||||||
|
|
||||||
The `scroll-touch-begin`, `scroll-touch-end` and `scroll-touch-edge` events on
|
The `scroll-touch-begin`, `scroll-touch-end` and `scroll-touch-edge` events on
|
||||||
BrowserWindow are deprecated. Instead, use the newly available [`input-event`
|
BrowserWindow are deprecated. Instead, use the newly available
|
||||||
event](api/web-contents.md#event-input-event) on WebContents.
|
[`input-event` event](api/web-contents.md#event-input-event) on WebContents.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
// Deprecated
|
// Deprecated
|
||||||
|
@ -742,8 +742,8 @@ win.webContents.on('input-event', (_, event) => {
|
||||||
### Behavior Changed: V8 Memory Cage enabled
|
### Behavior Changed: V8 Memory Cage enabled
|
||||||
|
|
||||||
The V8 memory cage has been enabled, which has implications for native modules
|
The V8 memory cage has been enabled, which has implications for native modules
|
||||||
which wrap non-V8 memory with `ArrayBuffer` or `Buffer`. See the [blog post
|
which wrap non-V8 memory with `ArrayBuffer` or `Buffer`. See the
|
||||||
about the V8 memory cage](https://www.electronjs.org/blog/v8-memory-cage) for
|
[blog post about the V8 memory cage](https://www.electronjs.org/blog/v8-memory-cage) for
|
||||||
more details.
|
more details.
|
||||||
|
|
||||||
### API Changed: `webContents.printToPDF()`
|
### API Changed: `webContents.printToPDF()`
|
||||||
|
@ -1345,8 +1345,7 @@ const w = new BrowserWindow({
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
We [recommend moving away from the remote
|
We [recommend moving away from the remote module](https://medium.com/@nornagon/electrons-remote-module-considered-harmful-70d69500f31).
|
||||||
module](https://medium.com/@nornagon/electrons-remote-module-considered-harmful-70d69500f31).
|
|
||||||
|
|
||||||
### `protocol.unregisterProtocol`
|
### `protocol.unregisterProtocol`
|
||||||
|
|
||||||
|
@ -1506,12 +1505,11 @@ You can see the original API proposal and reasoning [here](https://github.com/el
|
||||||
|
|
||||||
### Behavior Changed: Values sent over IPC are now serialized with Structured Clone Algorithm
|
### Behavior Changed: Values sent over IPC are now serialized with Structured Clone Algorithm
|
||||||
|
|
||||||
The algorithm used to serialize objects sent over IPC (through
|
The algorithm used to serialize objects sent over IPC (through `ipcRenderer.send`,
|
||||||
`ipcRenderer.send`, `ipcRenderer.sendSync`, `WebContents.send` and related
|
`ipcRenderer.sendSync`, `WebContents.send` and related methods) has been switched from a custom
|
||||||
methods) has been switched from a custom algorithm to V8's built-in [Structured
|
algorithm to V8's built-in [Structured Clone Algorithm][SCA], the same algorithm used to serialize
|
||||||
Clone Algorithm][SCA], the same algorithm used to serialize messages for
|
messages for `postMessage`. This brings about a 2x performance improvement for large messages,
|
||||||
`postMessage`. This brings about a 2x performance improvement for large
|
but also brings some breaking changes in behavior.
|
||||||
messages, but also brings some breaking changes in behavior.
|
|
||||||
|
|
||||||
* Sending Functions, Promises, WeakMaps, WeakSets, or objects containing any
|
* Sending Functions, Promises, WeakMaps, WeakSets, or objects containing any
|
||||||
such values, over IPC will now throw an exception, instead of silently
|
such values, over IPC will now throw an exception, instead of silently
|
||||||
|
@ -2018,8 +2016,8 @@ app.getGPUInfo('basic')
|
||||||
When building native modules for windows, the `win_delay_load_hook` variable in
|
When building native modules for windows, the `win_delay_load_hook` variable in
|
||||||
the module's `binding.gyp` must be true (which is the default). If this hook is
|
the module's `binding.gyp` must be true (which is the default). If this hook is
|
||||||
not present, then the native module will fail to load on Windows, with an error
|
not present, then the native module will fail to load on Windows, with an error
|
||||||
message like `Cannot find module`. See the [native module
|
message like `Cannot find module`.
|
||||||
guide](./tutorial/using-native-node-modules.md) for more.
|
See the [native module guide](./tutorial/using-native-node-modules.md) for more.
|
||||||
|
|
||||||
### Removed: IA32 Linux support
|
### Removed: IA32 Linux support
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,8 @@ You can run `npm run lint` to show any style issues detected by `cpplint` and
|
||||||
|
|
||||||
## C++ and Python
|
## C++ and Python
|
||||||
|
|
||||||
For C++ and Python, we follow Chromium's [Coding
|
For C++ and Python, we follow Chromium's
|
||||||
Style](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/styleguide/styleguide.md).
|
[Coding Style](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/styleguide/styleguide.md).
|
||||||
There is also a script `script/cpplint.py` to check whether all files conform.
|
There is also a script `script/cpplint.py` to check whether all files conform.
|
||||||
|
|
||||||
The Python version we are using now is Python 3.9.
|
The Python version we are using now is Python 3.9.
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
The source code of Electron is separated into a few parts, mostly
|
The source code of Electron is separated into a few parts, mostly
|
||||||
following Chromium on the separation conventions.
|
following Chromium on the separation conventions.
|
||||||
|
|
||||||
You may need to become familiar with [Chromium's multi-process
|
You may need to become familiar with
|
||||||
architecture](https://dev.chromium.org/developers/design-documents/multi-process-architecture)
|
[Chromium's multi-process architecture](https://dev.chromium.org/developers/design-documents/multi-process-architecture)
|
||||||
to understand the source code better.
|
to understand the source code better.
|
||||||
|
|
||||||
## Structure of Source Code
|
## Structure of Source Code
|
||||||
|
|
|
@ -26,8 +26,8 @@ of the most powerful utilities in any Electron Developer's tool belt.
|
||||||
## Main Process
|
## Main Process
|
||||||
|
|
||||||
Debugging the main process is a bit trickier, since you cannot open
|
Debugging the main process is a bit trickier, since you cannot open
|
||||||
developer tools for them. The Chromium Developer Tools can [be used
|
developer tools for them. The Chromium Developer Tools can
|
||||||
to debug Electron's main process][node-inspect] thanks to a closer collaboration
|
[be used to debug Electron's main process][node-inspect] thanks to a closer collaboration
|
||||||
between Google / Chrome and Node.js, but you might encounter oddities like
|
between Google / Chrome and Node.js, but you might encounter oddities like
|
||||||
`require` not being present in the console.
|
`require` not being present in the console.
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,8 @@ If you prefer the manual approach, there are 2 ways to distribute your applicati
|
||||||
|
|
||||||
### With prebuilt binaries
|
### With prebuilt binaries
|
||||||
|
|
||||||
To distribute your app manually, you need to download Electron's [prebuilt
|
To distribute your app manually, you need to download Electron's
|
||||||
binaries](https://github.com/electron/electron/releases). Next, the folder
|
[prebuilt binaries](https://github.com/electron/electron/releases). Next, the folder
|
||||||
containing your app should be named `app` and placed in Electron's resources
|
containing your app should be named `app` and placed in Electron's resources
|
||||||
directory as shown in the following examples.
|
directory as shown in the following examples.
|
||||||
|
|
||||||
|
|
|
@ -6,10 +6,9 @@ hide_title: false
|
||||||
---
|
---
|
||||||
|
|
||||||
After creating an [application distribution](application-distribution.md), the
|
After creating an [application distribution](application-distribution.md), the
|
||||||
app's source code are usually bundled into an [ASAR
|
app's source code are usually bundled into an [ASAR archive](https://github.com/electron/asar),
|
||||||
archive](https://github.com/electron/asar), which is a simple extensive archive
|
which is a simple extensive archive format designed for Electron apps. By bundling the app
|
||||||
format designed for Electron apps. By bundling the app we can mitigate issues
|
we can mitigate issues around long path names on Windows, speed up `require` and conceal your source
|
||||||
around long path names on Windows, speed up `require` and conceal your source
|
|
||||||
code from cursory inspection.
|
code from cursory inspection.
|
||||||
|
|
||||||
The bundled app runs in a virtual file system and most APIs would just work
|
The bundled app runs in a virtual file system and most APIs would just work
|
||||||
|
|
|
@ -55,8 +55,8 @@ If you're not using an integrated build pipeline like Forge, you
|
||||||
are likely using [`@electron/packager`][], which includes [`@electron/osx-sign`][] and
|
are likely using [`@electron/packager`][], which includes [`@electron/osx-sign`][] and
|
||||||
[`@electron/notarize`][].
|
[`@electron/notarize`][].
|
||||||
|
|
||||||
If you're using Packager's API, you can pass [in configuration that both signs
|
If you're using Packager's API, you can pass
|
||||||
and notarizes your application](https://electron.github.io/packager/main/modules.html).
|
[in configuration that both signs and notarizes your application](https://electron.github.io/packager/main/modules.html).
|
||||||
If the example below does not meet your needs, please see [`@electron/osx-sign`][] and
|
If the example below does not meet your needs, please see [`@electron/osx-sign`][] and
|
||||||
[`@electron/notarize`][] for the many possible configuration options.
|
[`@electron/notarize`][] for the many possible configuration options.
|
||||||
|
|
||||||
|
@ -129,9 +129,9 @@ be found in the [Electron Forge Code Signing Tutorial](https://www.electronforge
|
||||||
If you're not using an integrated build pipeline like Forge, you
|
If you're not using an integrated build pipeline like Forge, you
|
||||||
are likely using [`@electron/packager`][], which includes [`@electron/windows-sign`][].
|
are likely using [`@electron/packager`][], which includes [`@electron/windows-sign`][].
|
||||||
|
|
||||||
If you're using Packager's API, you can pass [in configuration that signs
|
If you're using Packager's API, you can pass
|
||||||
your application](https://electron.github.io/packager/main/modules.html). If the
|
[in configuration that signs your application](https://electron.github.io/packager/main/modules.html).
|
||||||
example below does not meet your needs, please see [`@electron/windows-sign`][]
|
If the example below does not meet your needs, please see [`@electron/windows-sign`][]
|
||||||
for the many possible configuration options.
|
for the many possible configuration options.
|
||||||
|
|
||||||
```js @ts-nocheck
|
```js @ts-nocheck
|
||||||
|
|
|
@ -130,9 +130,8 @@ this for you.
|
||||||
#### [Electron Forge](https://electronforge.io)
|
#### [Electron Forge](https://electronforge.io)
|
||||||
|
|
||||||
If you're using Electron Forge, adjust `packagerConfig` for macOS support, and the configuration for
|
If you're using Electron Forge, adjust `packagerConfig` for macOS support, and the configuration for
|
||||||
the appropriate Linux makers for Linux support, in your [Forge
|
the appropriate Linux makers for Linux support, in your [Forge configuration](https://www.electronforge.io/configuration)
|
||||||
configuration](https://www.electronforge.io/configuration) _(please note the following example only
|
_(please note the following example only shows the bare minimum needed to add the configuration changes)_:
|
||||||
shows the bare minimum needed to add the configuration changes)_:
|
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
|
|
|
@ -158,9 +158,8 @@ This module allows you to detect ahead of time whether or not the notification w
|
||||||
### Linux
|
### Linux
|
||||||
|
|
||||||
Notifications are sent using `libnotify`, which can show notifications on any
|
Notifications are sent using `libnotify`, which can show notifications on any
|
||||||
desktop environment that follows [Desktop Notifications
|
desktop environment that follows [Desktop Notifications Specification][notification-spec],
|
||||||
Specification][notification-spec], including Cinnamon, Enlightenment, Unity,
|
including Cinnamon, Enlightenment, Unity, GNOME, and KDE.
|
||||||
GNOME, and KDE.
|
|
||||||
|
|
||||||
[notification-spec]: https://developer-old.gnome.org/notification-spec/
|
[notification-spec]: https://developer-old.gnome.org/notification-spec/
|
||||||
[app-user-model-id]: https://learn.microsoft.com/en-us/windows/win32/shell/appids
|
[app-user-model-id]: https://learn.microsoft.com/en-us/windows/win32/shell/appids
|
||||||
|
|
Loading…
Add table
Reference in a new issue