electron/patches/node/feat_initialize_asar_support.patch
electron-roller[bot] f4ee3c1b2a
chore: bump node to v20.11.0 (main) (#40941)
* chore: bump node in DEPS to v20.11.0

* module: bootstrap module loaders in shadow realm

https://github.com/nodejs/node/pull/48655

* src: add commit hash shorthand in zlib version

https://github.com/nodejs/node/pull/50158

* v8,tools: expose necessary V8 defines

https://github.com/nodejs/node/pull/50820

* esm: do not call getSource when format is commonjs

https://github.com/nodejs/node/pull/50465

* esm: fallback to readFileSync when source is nullish

https://github.com/nodejs/node/pull/50825

* vm: allow dynamic import with a referrer realm

https://github.com/nodejs/node/pull/50360

* test: skip test-diagnostics-channel-memory-leak.js

https://github.com/nodejs/node/pull/50327

* esm: do not call getSource when format is commonjs

https://github.com/nodejs/node/pull/50465

* lib: fix assert throwing different error messages in ESM and CJS

https://github.com/nodejs/node/pull/50634

* src: fix compatility with upcoming V8 12.1 APIs

https://github.com/nodejs/node/pull/50709

* deps: update base64 to 0.5.1

https://github.com/nodejs/node/pull/50629

* src: avoid silent coercion to signed/unsigned int

https://github.com/nodejs/node/pull/50663

* src: fix compatility with upcoming V8 12.1 APIs

https://github.com/nodejs/node/pull/50709

* chore: fix patch indices

* chore: update patches

* test: disable TLS cipher test

This can't be enabled owing to BoringSSL incompatibilities.

https://github.com/nodejs/node/pull/50186

* fix: check for Buffer and global definition in shadow realm

https://github.com/nodejs/node/pull/51239

* test: disable parallel/test-shadow-realm-custom-loader

Incompatible with our asar logic, resulting in the following failure:

> Failed to CompileAndCall electron script: electron/js2c/asar_bundle

* chore: remove deleted parallel/test-crypto-modp1-error test

* test: make test-node-output-v8-warning generic

https://github.com/nodejs/node/pull/50421

* chore: fixup ModuleWrap patch

* test: match wpt/streams/transferable/transform-stream-members.any.js to upstream

* fix: sandbox is not enabled on arm

* chore: disable v8 sandbox on ia32/arm

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
2024-01-18 16:16:45 -05:00

37 lines
1.3 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.vohr@gmail.com>
Date: Thu, 13 Sep 2018 08:56:07 -0700
Subject: feat: initialize asar support
This patch initializes asar support in Node.js.
diff --git a/lib/internal/process/pre_execution.js b/lib/internal/process/pre_execution.js
index 9142fed75e9050fcc17c01208e82f1bc57923fcd..fc8f61ee6d30cf18951ec7a5eb5f09a9583a85ae 100644
--- a/lib/internal/process/pre_execution.js
+++ b/lib/internal/process/pre_execution.js
@@ -87,6 +87,7 @@ function prepareShadowRealmExecution() {
});
}
+let processLinkedBinding = process._linkedBinding;
function prepareExecution(options) {
const { expandArgv1, initializeModules, isMainThread } = options;
@@ -193,12 +194,17 @@ function setupUserModules(forceDefaultLoader = false) {
}
// Need to be done after --require setup.
initializeFrozenIntrinsics();
+ setupAsarSupport();
}
function refreshRuntimeOptions() {
refreshOptions();
}
+function setupAsarSupport() {
+ processLinkedBinding('electron_common_asar').initAsarSupport(require);
+}
+
/**
* Patch the process object with legacy properties and normalizations.
* Replace `process.argv[0]` with `process.execPath`, preserving the original `argv[0]` value as `process.argv0`.