electron/docs/tutorial
Samuel Attard ac031bf8de
feat: I guess it's esm (#37535)
* fix: allow ESM loads from within ASAR files

* fix: ensure that ESM entry points finish loading before app ready

* fix: allow loading ESM entrypoints via default_app

* fix: allow ESM loading for renderer preloads

* docs: document current known limitations of esm

* chore: add patches to support blending esm handlers

* refactor: use SetDefersLoading instead of JoinAppCode in renderers

Blink has it's own event loop so pumping the uv loop in the renderer is not enough, luckily in blink we can suspend the loading of the frame while we do additional work.

* chore: add patch to expose SetDefersLoading

* fix: use fileURLToPath instead of pathname

* chore: update per PR feedback

* fix: fs.exists/existsSync should never throw

* fix: convert path to file url before importing

* fix: oops

* fix: oops

* Update docs/tutorial/esm-limitations.md

Co-authored-by: Jeremy Rose <jeremya@chromium.org>

* windows...

* windows...

* chore: update patches

* spec: fix tests and document empty body edge case

* Apply suggestions from code review

Co-authored-by: Daniel Scalzi <d_scalzi@yahoo.com>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>

* spec: add tests for esm

* spec: windows

* chore: update per PR feedback

* chore: update patches

* Update shell/common/node_bindings.h

Co-authored-by: Jeremy Rose <jeremya@chromium.org>

* chore: update patches

* rebase

* use cjs loader by default for preload scripts

* chore: fix lint

* chore: update patches

* chore: update patches

* chore: fix patches

* build: debug depshash

* ?

* Revert "build: debug depshash"

This reverts commit 0de82523fb93f475226356b37418ce4b69acdcdf.

* chore: allow electron as builtin protocol in esm loader

* Revert "Revert "build: debug depshash""

This reverts commit ff86b1243ca6d05c9b3b38e0a6d717fb380343a4.

* chore: fix esm doc

* chore: update node patches

---------

Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: electron-patch-conflict-fixer[bot] <83340002+electron-patch-conflict-fixer[bot]@users.noreply.github.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Daniel Scalzi <d_scalzi@yahoo.com>
2023-08-30 17:38:07 -07:00
..
accessibility.md fix: AXManualAccessibility showing failure (#38102) 2023-04-26 19:41:56 +02:00
application-debugging.md feat: bring --enable-logging functionality in line with Chromium (#25089) 2021-06-17 14:17:25 -07:00
application-distribution.md chore: disallow shortcut reference links in docs Markdown (#36860) 2023-01-16 10:22:49 +01:00
asar-archives.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
asar-integrity.md docs: update @electron/fuses code examples (#39175) 2023-07-24 12:33:26 +02:00
automated-testing.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
boilerplates-and-clis.md docs: update github.com links (#37958) 2023-04-15 21:20:59 -07:00
code-signing.md chore: type check JS in docs (#38423) 2023-06-05 16:26:26 +09:00
context-isolation.md chore: update @electron/lint-roller and improve doc type checks (#39262) 2023-07-31 10:39:01 +02:00
dark-mode.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
debugging-main-process.md docs: add native c++ windows debugging method (#26286) 2020-11-06 16:55:55 -08:00
debugging-vscode.md docs: use relative links within docs (#29651) 2021-06-14 14:02:23 -05:00
devices.md feat: add USB protected classes handler (#38263) 2023-05-30 12:35:25 -04:00
devtools-extension.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
distribution-overview.md docs: add forge-overview.md (#35473) 2022-09-21 16:49:22 -04:00
electron-timelines.md docs: update timelines for E27 (#39493) 2023-08-15 12:57:48 -05:00
electron-versioning.md chore: enforce consistent Markdown style for strong and emphasis (#37787) 2023-04-03 13:20:10 +02:00
esm-limitations.md feat: I guess it's esm (#37535) 2023-08-30 17:38:07 -07:00
examples.md chore: disallow shortcut reference links in docs Markdown (#36860) 2023-01-16 10:22:49 +01:00
forge-overview.md docs: mention alternative tooling (#39337) 2023-08-24 12:03:30 +02:00
fuses.md docs: update @electron/fuses code examples (#39175) 2023-07-24 12:33:26 +02:00
in-app-purchases.md chore: switch to gender neutral terms (#33532) 2022-04-06 17:19:32 -04:00
installation.md chore: type check JS in docs (#38423) 2023-06-05 16:26:26 +09:00
introduction.md docs: update external links (#39421) 2023-08-10 11:55:52 +02:00
ipc.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
keyboard-shortcuts.md chore: type check JS in docs (#38423) 2023-06-05 16:26:26 +09:00
launch-app-from-url-in-another-app.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
linux-desktop-actions.md docs: remove platform notices from tutorial titles (#32937) 2022-03-03 09:56:00 -08:00
mac-app-store-submission-guide.md docs: update github.com links (#37958) 2023-04-15 21:20:59 -07:00
macos-dock.md chore: fix lint:js-in-markdown script (#38260) 2023-05-15 09:58:35 +02:00
message-ports.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
multithreading.md chore: type check JS in docs (#38423) 2023-06-05 16:26:26 +09:00
native-file-drag-drop.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
notifications.md chore: fix lint:js-in-markdown script (#38260) 2023-05-15 09:58:35 +02:00
offscreen-rendering.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
online-offline-events.md docs: update to the use of arrow functions in line with the style guide (#30194) 2021-08-02 10:57:37 +09:00
performance.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
process-model.md chore: type check JS in docs (#38423) 2023-06-05 16:26:26 +09:00
progress-bar.md docs: remove platform notices from tutorial titles (#32937) 2022-03-03 09:56:00 -08:00
quick-start.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
recent-documents.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
repl.md docs: update REPL guide (#28943) 2021-05-04 17:17:04 +09:00
represented-file.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
sandbox.md feat: support node: prefixed requires in sandboxed renderer preloads (#38567) 2023-06-10 14:36:16 -04:00
security.md chore: type check JS in docs (#38423) 2023-06-05 16:26:26 +09:00
snapcraft.md chore: type check JS in docs (#38423) 2023-06-05 16:26:26 +09:00
spellchecker.md chore: type check JS in docs (#38423) 2023-06-05 16:26:26 +09:00
support.md docs: consolidate info docs (#32964) 2022-02-28 11:46:52 -08:00
testing-on-headless-ci.md docs: add link to Travis CI headless page (#38990) 2023-07-10 16:45:18 -04:00
tray.md chore: type check JS in docs (#38423) 2023-06-05 16:26:26 +09:00
tutorial-1-prerequisites.md docs: remove reference to electron/releases (#37164) 2023-02-08 15:27:09 +01:00
tutorial-2-first-app.md chore: type check JS in docs (#38423) 2023-06-05 16:26:26 +09:00
tutorial-3-preload.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
tutorial-4-adding-features.md chore: disallow shortcut reference links in docs Markdown (#36860) 2023-01-16 10:22:49 +01:00
tutorial-5-packaging.md chore: fix lint:js-in-markdown script (#38260) 2023-05-15 09:58:35 +02:00
tutorial-6-publishing-updating.md docs: update external links (#39421) 2023-08-10 11:55:52 +02:00
updates.md chore: type check JS in docs (#38423) 2023-06-05 16:26:26 +09:00
using-native-node-modules.md docs: update references to @electron/rebuild (#37757) 2023-03-31 11:36:59 +02:00
using-pepper-flash-plugin.md docs: uniformize tutorial titles (#30527) 2021-08-16 14:12:34 +02:00
web-embeds.md docs: uniformize tutorial titles (#30527) 2021-08-16 14:12:34 +02:00
window-customization.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00
windows-arm.md docs: update docs.microsoft.com links to learn.microsoft.com (#37707) 2023-03-29 12:16:44 +02:00
windows-store-guide.md docs: update external links (#39421) 2023-08-10 11:55:52 +02:00
windows-taskbar.md docs: use node: imports for node core modules (#39681) 2023-08-30 11:55:23 -04:00