socket-function 0.105.0 → 0.106.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/require/require.ts +18 -10
package/package.json
CHANGED
package/require/require.ts
CHANGED
|
@@ -171,7 +171,7 @@ export function requireMain() {
|
|
|
171
171
|
}} */
|
|
172
172
|
let serializedModules: { [id: string]: SerializedModule | undefined } = Object.create(null);
|
|
173
173
|
|
|
174
|
-
type ModuleType = {
|
|
174
|
+
type ModuleType = NodeJS.Module & {
|
|
175
175
|
id: string;
|
|
176
176
|
filename: string;
|
|
177
177
|
exports: unknown;
|
|
@@ -181,10 +181,12 @@ export function requireMain() {
|
|
|
181
181
|
loaded: boolean;
|
|
182
182
|
isPreloading: boolean;
|
|
183
183
|
evalStartTime: number;
|
|
184
|
-
evalEndTime: number;
|
|
184
|
+
evalEndTime: number | undefined;
|
|
185
|
+
evaluateStarted: boolean;
|
|
185
186
|
source: string;
|
|
186
187
|
allowclient: boolean;
|
|
187
188
|
size: number;
|
|
189
|
+
import: (request: string, asyncIsFine?: boolean) => unknown;
|
|
188
190
|
};
|
|
189
191
|
|
|
190
192
|
let moduleCache: { [id: string]: ModuleType } = Object.create(null);
|
|
@@ -660,9 +662,9 @@ export function requireMain() {
|
|
|
660
662
|
|
|
661
663
|
let currentModuleEvaluationStack: string[] = [];
|
|
662
664
|
// See https://nodejs.org/api/modules.html
|
|
663
|
-
function getModule(resolvedId: string, preload?: "preload") {
|
|
665
|
+
function getModule(resolvedId: string, preload?: "preload"): ModuleType {
|
|
664
666
|
if (resolvedId === "") {
|
|
665
|
-
return {};
|
|
667
|
+
return {} as ModuleType;
|
|
666
668
|
}
|
|
667
669
|
if (resolvedId in moduleCache) {
|
|
668
670
|
let module = moduleCache[resolvedId];
|
|
@@ -685,16 +687,17 @@ export function requireMain() {
|
|
|
685
687
|
console.warn(`Failed to find module ${resolvedId}. The server should have given an error about this.`, serializedModules);
|
|
686
688
|
}
|
|
687
689
|
|
|
688
|
-
let module = Object.create(null);
|
|
690
|
+
let module = Object.create(null) as ModuleType;
|
|
689
691
|
moduleCache[resolvedId] = module;
|
|
690
692
|
module.id = resolvedId;
|
|
691
|
-
module.filename = serializedModule?.filename;
|
|
693
|
+
module.filename = serializedModule?.filename || "";
|
|
692
694
|
module.exports = {};
|
|
693
|
-
|
|
695
|
+
// Default default of exports to the exports itself
|
|
696
|
+
(module.exports as any).default = module.exports;
|
|
694
697
|
module.children = [];
|
|
695
698
|
for (let key in serializedModule?.flags || {}) {
|
|
696
699
|
if (key === "loaded") continue;
|
|
697
|
-
module[key] = true;
|
|
700
|
+
(module as any)[key] = true;
|
|
698
701
|
}
|
|
699
702
|
|
|
700
703
|
module.load = load;
|
|
@@ -717,10 +720,11 @@ export function requireMain() {
|
|
|
717
720
|
const serializedModule = serializedModules[resolvedId];
|
|
718
721
|
if (!serializedModule) return;
|
|
719
722
|
if (!module.loaded) {
|
|
723
|
+
module.evaluateStarted = false;
|
|
720
724
|
if (alreadyHave) {
|
|
721
725
|
delete alreadyHave.seqNums[serializedModule.seqNum];
|
|
722
726
|
}
|
|
723
|
-
// NOTE: There is almost never
|
|
727
|
+
// NOTE: There is almost never a way to recover from module downloading errors, so just don't catch them
|
|
724
728
|
return Promise.resolve()
|
|
725
729
|
.then(() => rootRequire(resolvedId, true))
|
|
726
730
|
.then(async () => {
|
|
@@ -729,8 +733,11 @@ export function requireMain() {
|
|
|
729
733
|
});
|
|
730
734
|
}
|
|
731
735
|
|
|
736
|
+
// Skip double loads
|
|
737
|
+
if (module.evaluateStarted) return;
|
|
738
|
+
|
|
732
739
|
module.requires = serializedModule.requests;
|
|
733
|
-
module.require = createRequire(module, serializedModule);
|
|
740
|
+
module.require = createRequire(module, serializedModule) as any;
|
|
734
741
|
// TODO: Once typescript supports dynamic import, map import() to importDynamic, so it
|
|
735
742
|
// uses our import function, instead of the built in one.
|
|
736
743
|
// (As apparently we can't just override import on a per module basis, because
|
|
@@ -763,6 +770,7 @@ export function requireMain() {
|
|
|
763
770
|
let time = Date.now();
|
|
764
771
|
currentModuleEvaluationStack.push(module.filename);
|
|
765
772
|
try {
|
|
773
|
+
module.evaluateStarted = true;
|
|
766
774
|
module.isPreloading = true;
|
|
767
775
|
module.evalStartTime = nextTime();
|
|
768
776
|
module.evalEndTime = undefined;
|