Content-Length: 340718 | pFad | http://github.com/electron/electron/commit/c170130a70b21dd4534ae97e7fc9b5119b7d2f42

1C module: use synchronous hooks for preparsing in import(cjs) · electron/electron@c170130 · GitHub
Skip to content

Commit c170130

Browse files
authored
module: use synchronous hooks for preparsing in import(cjs)
nodejs/node#55698
1 parent 185b80f commit c170130

File tree

2 files changed

+6
-15
lines changed

2 files changed

+6
-15
lines changed

patches/node/fix_expose_the_built-in_electron_module_via_the_esm_loader.patch

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,16 +73,16 @@ diff --git a/lib/internal/modules/esm/translators.js b/lib/internal/modules/esm/
7373
index a587246e329b41f33a3fdfe5ef92910915911611..1b94d923b6d83cc7806d793497a4f9f978c5938c 100644
7474
--- a/lib/internal/modules/esm/translators.js
7575
+++ b/lib/internal/modules/esm/translators.js
76-
@@ -182,7 +182,7 @@ function createCJSModuleWrap(url, source, isMain, loadCJS = loadCJSModule) {
76+
@@ -186,7 +186,7 @@ function createCJSModuleWrap(url, source, isMain, format, loadCJS = loadCJSModul
7777

78-
const { exportNames, module } = cjsPreparseModuleExports(filename, source);
78+
const { exportNames, module } = cjsPreparseModuleExports(filename, source, isMain, format);
7979
cjsCache.set(url, module);
8080
- const namesWithDefault = exportNames.has('default') ?
8181
+ const namesWithDefault = filename === 'electron' ? ['default', ...Object.keys(module.exports)] : exportNames.has('default') ?
8282
[...exportNames] : ['default', ...exportNames];
8383

8484
if (isMain) {
85-
@@ -204,8 +204,8 @@ function createCJSModuleWrap(url, source, isMain, loadCJS = loadCJSModule) {
85+
@@ -208,8 +208,8 @@ function createCJSModuleWrap(url, source, isMain, format, loadCJS = loadCJSModul
8686
({ exports } = module);
8787
}
8888
for (const exportName of exportNames) {
@@ -93,8 +93,8 @@ index a587246e329b41f33a3fdfe5ef92910915911611..1b94d923b6d83cc7806d793497a4f9f9
9393
continue;
9494
}
9595
// We might trigger a getter -> dont fail.
96-
@@ -239,6 +239,10 @@ translators.set('require-commonjs', (url, source, isMain) => {
97-
return createCJSModuleWrap(url, source);
96+
@@ -243,6 +243,10 @@ translators.set('require-commonjs', (url, source, isMain) => {
97+
return createCJSModuleWrap(url, source, isMain, 'commonjs');
9898
});
9999

100100
+translators.set('electron', () => {

patches/node/fix_lazyload_fs_in_esm_loaders_to_apply_asar_patches.patch

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ index 1b94d923b6d83cc7806d793497a4f9f978c5938c..0caba80bb213e0edfb1f834250f895cc
6969
const assert = require('internal/assert');
7070
-const { readFileSync } = require('fs');
7171
+const fs = require('fs');
72-
const { dirname, extname, isAbsolute } = require('path');
72+
const { dirname, extname } = require('path');
7373
const {
7474
assertBufferSource,
7575
@@ -268,7 +268,7 @@ translators.set('commonjs', function commonjsStrategy(url, source, isMain) {
@@ -81,12 +81,3 @@ index 1b94d923b6d83cc7806d793497a4f9f978c5938c..0caba80bb213e0edfb1f834250f895cc
8181
} catch {
8282
// Continue regardless of error.
8383
}
84-
@@ -335,7 +335,7 @@ function cjsPreparseModuleExports(filename, source) {
85-
isAbsolute(resolved)) {
86-
// TODO: this should be calling the `load` hook chain to get the source
87-
// (and fallback to reading the FS only if the source is nullish).
88-
- const source = readFileSync(resolved, 'utf-8');
89-
+ const source = fs.readFileSync(resolved, 'utf-8');
90-
const { exportNames: reexportNames } = cjsPreparseModuleExports(resolved, source);
91-
for (const name of reexportNames) {
92-
exportNames.add(name);

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/electron/electron/commit/c170130a70b21dd4534ae97e7fc9b5119b7d2f42

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy