electron/spec
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 0de82523fb.

* chore: allow electron as builtin protocol in esm loader

* Revert "Revert "build: debug depshash""

This reverts commit ff86b1243c.

* 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
..
fixtures feat: I guess it's esm (#37535) 2023-08-30 17:38:07 -07:00
lib test: helper to expect deprecation warnings (#39405) 2023-08-09 11:01:52 +02:00
ts-smoke chore: remove deprecated `ipcRenderer.sendTo()` (#39087) 2023-08-28 10:29:27 -04:00
.eslintrc.json build: rename spec/.eslintrc -> spec/.eslintrc.json (#38838) 2023-06-19 14:19:11 +02:00
.gitignore test: drop now-empty remote runner (#35343) 2022-08-16 15:23:13 -04:00
ambient.d.ts test: drop now-empty remote runner (#35343) 2022-08-16 15:23:13 -04:00
api-app-spec.ts refactor: use more appropriate array methods (#39321) 2023-08-02 19:43:45 +02:00
api-auto-updater-spec.ts refactor: use optional catch binding (#39232) 2023-07-27 10:53:45 -04:00
api-autoupdater-darwin-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
api-browser-view-spec.ts fix: ensure `BrowserView` bounds are always relative to window (#39605) 2023-08-23 09:55:31 -04:00
api-browser-window-spec.ts fix: ensure windows respect fullscreenability with different resizability values (#39620) 2023-08-24 16:54:08 -04:00
api-clipboard-spec.ts fix: use nested run loop in clipboard.readImage (#39466) 2023-08-14 10:35:37 +02:00
api-content-tracing-spec.ts refactor: use `Date.now()` instead of `+new Date()` (#38901) 2023-07-18 10:58:02 +02:00
api-context-bridge-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
api-crash-reporter-spec.ts refactor: use optional catch binding (#39232) 2023-07-27 10:53:45 -04:00
api-debugger-spec.ts refactor: use optional catch binding (#39232) 2023-07-27 10:53:45 -04:00
api-desktop-capturer-spec.ts refactor: use `for-of` instead of `for` simple array iteration (#39338) 2023-08-07 11:30:15 +02:00
api-dialog-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
api-global-shortcut-spec.ts refactor: move spec helpers to spec/lib (#37010) 2023-01-25 13:01:25 -08:00
api-in-app-purchase-spec.ts feat: added username to IAP purchaseProduct method (#35902) 2022-12-12 10:11:48 -08:00
api-ipc-main-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
api-ipc-renderer-spec.ts chore: remove deprecated `ipcRenderer.sendTo()` (#39087) 2023-08-28 10:29:27 -04:00
api-ipc-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
api-media-handler-spec.ts fix: instantiate tab video tracks from BrowserCaptureMediaStreamTrack (#39074) 2023-08-23 10:49:24 +02:00
api-menu-item-spec.ts test: migrate to helpers & disabled tests list (#37513) 2023-04-04 09:48:51 -04:00
api-menu-spec.ts refactor: replace .indexOf() with .includes() (#39195) 2023-07-24 12:32:54 +02:00
api-native-image-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
api-native-theme-spec.ts chore: document deprecated systemPreferences APIs (#39343) 2023-08-14 11:34:04 +02:00
api-net-log-spec.ts refactor: use optional catch binding (#39232) 2023-07-27 10:53:45 -04:00
api-net-spec.ts refactor: replace Object.prototype.hasOwnProperty() with Object.hasOwn() (#38929) 2023-06-27 16:57:33 -04:00
api-notification-dbus-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
api-notification-spec.ts fix: set prototype names on `gin::Constructible` classes (#39006) 2023-07-10 11:49:20 +02:00
api-power-monitor-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
api-power-save-blocker-spec.ts test: drop now-empty remote runner (#35343) 2022-08-16 15:23:13 -04:00
api-process-spec.ts refactor: use optional catch binding (#39232) 2023-07-27 10:53:45 -04:00
api-protocol-spec.ts refactor: use optional catch binding (#39232) 2023-07-27 10:53:45 -04:00
api-safe-storage-spec.ts feat: expose safestorage backend information on linux (#38873) 2023-07-13 11:14:33 +02:00
api-screen-spec.ts test: migrate to helpers & disabled tests list (#37513) 2023-04-04 09:48:51 -04:00
api-service-workers-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
api-session-spec.ts feat: allow headers to be sent with `webContents.downloadURL()` (#39455) 2023-08-17 14:17:55 +02:00
api-shell-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
api-subframe-spec.ts refactor: use `for-of` instead of `for` simple array iteration (#39338) 2023-08-07 11:30:15 +02:00
api-system-preferences-spec.ts test: use as const to remove some usages of as any (#39475) 2023-08-15 10:24:32 +09:00
api-touch-bar-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
api-tray-spec.ts fix: set prototype names on `gin::Constructible` classes (#39006) 2023-07-10 11:49:20 +02:00
api-utility-process-spec.ts feat: support dns-result-order Node.js cli flag (#39376) 2023-08-15 12:19:45 +02:00
api-view-spec.ts refactor: move spec helpers to spec/lib (#37010) 2023-01-25 13:01:25 -08:00
api-web-contents-spec.ts fix: promise resolved to early when browser initiated in-page navigation v2 (#39597) 2023-08-28 12:37:28 -04:00
api-web-contents-view-spec.ts test: use `await` to call "closeWindow" (#38166) 2023-05-04 07:14:46 +09:00
api-web-frame-main-spec.ts refactor: use types for once() return values in spec (#38872) 2023-06-22 14:38:52 -04:00
api-web-frame-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
api-web-request-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
asar-spec.ts refactor: replace Object.prototype.hasOwnProperty() with Object.hasOwn() (#38929) 2023-06-27 16:57:33 -04:00
autofill-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
chromium-spec.ts refactor: generate 'chrome:// pages' specs to remove duplicate code (#39684) 2023-08-30 11:07:41 -04:00
crash-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
deprecate-spec.ts test: drop now-empty remote runner (#35343) 2022-08-16 15:23:13 -04:00
disabled-tests.json fix: `pageVisibility` state when `backgroundThrottling` disabled (#39223) 2023-07-28 10:48:25 +02:00
esm-spec.ts feat: I guess it's esm (#37535) 2023-08-30 17:38:07 -07:00
extensions-spec.ts feat: support `chrome.scripting` extension APIs (#39395) 2023-08-28 10:39:28 -04:00
get-files.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
guest-window-manager-spec.ts refactor: use types for once() return values in spec (#38872) 2023-06-22 14:38:52 -04:00
index.js test: add some environment variables for controlling tests (#39149) 2023-07-19 16:54:08 +02:00
logging-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
modules-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
node-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
package.json feat: allow generating accessible pdf with `printToPDF` (#39563) 2023-08-24 11:01:59 -04:00
parse-features-string-spec.ts test: rename & split internal module tests (#37318) 2023-02-17 10:14:40 +01:00
pipe-transport.ts test: drop now-empty remote runner (#35343) 2022-08-16 15:23:13 -04:00
process-binding-spec.ts test: rename & split internal module tests (#37318) 2023-02-17 10:14:40 +01:00
release-notes-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
security-warnings-spec.ts refactor: replace .indexOf() with .includes() (#39195) 2023-07-24 12:32:54 +02:00
spellchecker-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
types-spec.ts chore: update node types version (#36924) 2023-01-18 14:46:27 +01:00
version-bump-spec.ts test: re-enable tests that aren't broken & remove old test (#38251) 2023-05-16 14:30:25 +02:00
visibility-state-spec.ts refactor: use node scheme imports in spec (#38487) 2023-06-15 10:42:27 -04:00
webview-spec.ts chore: bump chromium to 117.0.5913.0 (main) (#39172) 2023-07-31 10:47:32 -07:00
yarn.lock feat: allow generating accessible pdf with `printToPDF` (#39563) 2023-08-24 11:01:59 -04:00