@absolutejs/absolute 0.20.0-beta.71 → 0.20.0-beta.73
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/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/cli/{add-jy0b6kdf.js → add-kt4qx8sh.js} +5 -5
- package/dist/cli/{compile-4mkh7bst.js → compile-bra4g79g.js} +1 -1
- package/dist/cli/{dev-rbvkxpj7.js → dev-p7s1ej32.js} +224 -1
- package/dist/cli/{doctor-gzhf7nr9.js → doctor-a8afwvf9.js} +1 -1
- package/dist/cli/{generate-j3y5qt2d.js → generate-zy3d9bce.js} +4 -4
- package/dist/cli/{htmx-nmpbk3wn.js → htmx-63kt9qj1.js} +2 -2
- package/dist/cli/{index-jg7m4zpy.js → index-1wgc9e0v.js} +1 -1
- package/dist/cli/{index-6sv0rf9w.js → index-6tnpbjc7.js} +4 -0
- package/dist/cli/{index-2j5d7vt5.js → index-mxmg15c5.js} +2 -2
- package/dist/cli/{index-ybq18wst.js → index-pa3hmzj7.js} +1 -1
- package/dist/cli/index-v1k46q3x.js +11 -0
- package/dist/cli/{index-g5rwcntp.js → index-wspj2mq3.js} +2 -2
- package/dist/cli/index.js +11 -11
- package/dist/cli/{mobile-g6xn9270.js → mobile-a0myydjp.js} +1 -1
- package/dist/cli/{remove-paz2qmx4.js → remove-pwfv4wsd.js} +4 -4
- package/dist/cli/{start-cwy0b5z2.js → start-3nqytx1c.js} +1 -1
- package/dist/cli/typecheck-1yj1wfhw.js +1134 -0
- package/dist/dev/importCostPreload.js +206 -0
- package/dist/dev/importCostReport.js +730 -0
- package/dist/dev/serverBootstrap.js +60 -11
- package/dist/index.js +19 -1
- package/dist/index.js.map +4 -4
- package/dist/src/dev/earlyListener.d.ts +32 -0
- package/dist/src/dev/importCost/deferability.d.ts +11 -0
- package/dist/src/dev/importCost/dominators.d.ts +37 -0
- package/dist/src/dev/importCost/format.d.ts +29 -0
- package/dist/src/dev/importCost/instrument.d.ts +5 -0
- package/dist/src/dev/importCost/moduleGraph.d.ts +13 -0
- package/dist/src/dev/importCost/recorder.d.ts +37 -0
- package/dist/src/dev/importCost/report.d.ts +3 -0
- package/dist/src/dev/importCost/scope.d.ts +10 -0
- package/dist/src/dev/importCost/selfTimes.d.ts +17 -0
- package/dist/src/dev/importCostPreload.d.ts +1 -0
- package/dist/src/dev/importCostReport.d.ts +1 -0
- package/dist/types/globals.d.ts +15 -0
- package/package.json +7 -7
- package/dist/cli/index-fr9x2c4m.js +0 -5
- package/dist/cli/typecheck-j0ytazsm.js +0 -302
|
@@ -33,13 +33,20 @@ var init_bootLifecycle = __esm(() => {
|
|
|
33
33
|
var exports_earlyListener = {};
|
|
34
34
|
__export(exports_earlyListener, {
|
|
35
35
|
BOOT_STATUS_HEADER: () => BOOT_STATUS_HEADER,
|
|
36
|
+
PARENT_HANDOFF_MARKER: () => PARENT_HANDOFF_MARKER,
|
|
37
|
+
PARENT_LISTENER_ENV: () => PARENT_LISTENER_ENV,
|
|
36
38
|
bootStatusSnapshot: () => bootStatusSnapshot,
|
|
37
39
|
buildingResponse: () => buildingResponse,
|
|
38
40
|
installEarlyListenerServeGuard: () => installEarlyListenerServeGuard,
|
|
41
|
+
installParentPortHandoffGuard: () => installParentPortHandoffGuard,
|
|
42
|
+
parentListenerSupported: () => parentListenerSupported,
|
|
43
|
+
parentOwnsDevPort: () => parentOwnsDevPort,
|
|
39
44
|
releaseEarlyListener: () => releaseEarlyListener,
|
|
45
|
+
signalParentPortHandoff: () => signalParentPortHandoff,
|
|
40
46
|
startEarlyListener: () => startEarlyListener
|
|
41
47
|
});
|
|
42
|
-
|
|
48
|
+
import { writeSync } from "fs";
|
|
49
|
+
var HTTP_SERVICE_UNAVAILABLE = 503, RETRY_AFTER_SECONDS = 2, BIND_RETRY_INTERVAL_MS = 250, BIND_RETRY_LIMIT = 40, POLL_INTERVAL_MS, NOSCRIPT_REFRESH_SECONDS = 10, BOOT_STATUS_HEADER = "X-Absolute-Boot", PARENT_HANDOFF_MARKER = "absolute:listening", PARENT_LISTENER_ENV = "ABSOLUTE_PARENT_LISTENER", PARENT_HANDOFF_FD = 3, bindingPlaceholder = false, escapeHtml = (value) => value.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll('"', """), bootStatusSnapshot = (startedAt) => {
|
|
43
50
|
const elapsedMs = Math.max(0, Date.now() - startedAt);
|
|
44
51
|
return {
|
|
45
52
|
elapsedMs,
|
|
@@ -128,7 +135,23 @@ setTimeout(poll,${POLL_INTERVAL_MS});
|
|
|
128
135
|
if (Reflect.set(Bun, "serve", guardedServe)) {
|
|
129
136
|
globalThis.__absoluteEarlyListenerServeGuard = true;
|
|
130
137
|
}
|
|
131
|
-
},
|
|
138
|
+
}, installParentPortHandoffGuard = (port) => {
|
|
139
|
+
if (globalThis.__absoluteParentPortHandoffGuard)
|
|
140
|
+
return;
|
|
141
|
+
const originalServe = Bun.serve;
|
|
142
|
+
const guardedServe = (serveOptions) => {
|
|
143
|
+
if (Number(serveOptions.port) !== port) {
|
|
144
|
+
return originalServe.call(Bun, serveOptions);
|
|
145
|
+
}
|
|
146
|
+
Reflect.set(serveOptions, "reusePort", true);
|
|
147
|
+
const server = originalServe.call(Bun, serveOptions);
|
|
148
|
+
signalParentPortHandoff(port);
|
|
149
|
+
return server;
|
|
150
|
+
};
|
|
151
|
+
if (Reflect.set(Bun, "serve", guardedServe)) {
|
|
152
|
+
globalThis.__absoluteParentPortHandoffGuard = true;
|
|
153
|
+
}
|
|
154
|
+
}, parentListenerSupported = () => process.platform !== "win32", parentOwnsDevPort = () => process.env[PARENT_LISTENER_ENV] === "1", releaseEarlyListener = () => {
|
|
132
155
|
const listener = globalThis.__absoluteEarlyListener;
|
|
133
156
|
if (!listener)
|
|
134
157
|
return false;
|
|
@@ -136,6 +159,14 @@ setTimeout(poll,${POLL_INTERVAL_MS});
|
|
|
136
159
|
listener.release();
|
|
137
160
|
globalThis.__absoluteEarlyListener = undefined;
|
|
138
161
|
return hadServer;
|
|
162
|
+
}, signalParentPortHandoff = (port) => {
|
|
163
|
+
if (globalThis.__absoluteParentHandoffSignalled)
|
|
164
|
+
return;
|
|
165
|
+
globalThis.__absoluteParentHandoffSignalled = true;
|
|
166
|
+
try {
|
|
167
|
+
writeSync(PARENT_HANDOFF_FD, `${PARENT_HANDOFF_MARKER} ${port}
|
|
168
|
+
`);
|
|
169
|
+
} catch {}
|
|
139
170
|
}, startEarlyListener = (options) => {
|
|
140
171
|
const startedAt = Date.now();
|
|
141
172
|
let server = null;
|
|
@@ -152,6 +183,7 @@ setTimeout(poll,${POLL_INTERVAL_MS});
|
|
|
152
183
|
hostname: options.host,
|
|
153
184
|
port: options.port,
|
|
154
185
|
fetch: (request) => buildingResponse(request, startedAt),
|
|
186
|
+
...options.reusePort ? { reusePort: true } : {},
|
|
155
187
|
...options.tls ? { tls: options.tls } : {}
|
|
156
188
|
});
|
|
157
189
|
} catch {
|
|
@@ -637,7 +669,12 @@ if (!globalThis.__absoluteEntryCleanupRegistered) {
|
|
|
637
669
|
});
|
|
638
670
|
}
|
|
639
671
|
if (!isHotReevaluation && !globalThis.__absoluteBunServer && process.env.ABSOLUTE_EARLY_LISTEN !== "0") {
|
|
640
|
-
const {
|
|
672
|
+
const {
|
|
673
|
+
installEarlyListenerServeGuard: installEarlyListenerServeGuard2,
|
|
674
|
+
installParentPortHandoffGuard: installParentPortHandoffGuard2,
|
|
675
|
+
parentOwnsDevPort: parentOwnsDevPort2,
|
|
676
|
+
startEarlyListener: startEarlyListener2
|
|
677
|
+
} = await Promise.resolve().then(() => (init_earlyListener(), exports_earlyListener));
|
|
641
678
|
const earlyHost = process.env.ABSOLUTE_HOST ?? process.env.HOST ?? "localhost";
|
|
642
679
|
const earlyPort = Number(process.env.ABSOLUTE_PORT ?? process.env.PORT ?? DEFAULT_PORT);
|
|
643
680
|
const loadEarlyTls = async () => {
|
|
@@ -653,16 +690,21 @@ if (!isHotReevaluation && !globalThis.__absoluteBunServer && process.env.ABSOLUT
|
|
|
653
690
|
}
|
|
654
691
|
};
|
|
655
692
|
if (Number.isInteger(earlyPort) && earlyPort > 0) {
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
693
|
+
if (parentOwnsDevPort2()) {
|
|
694
|
+
installParentPortHandoffGuard2(earlyPort);
|
|
695
|
+
markBoot("parent listener adopted");
|
|
696
|
+
} else {
|
|
697
|
+
startEarlyListener2({
|
|
698
|
+
host: earlyHost,
|
|
699
|
+
port: earlyPort,
|
|
700
|
+
tls: await loadEarlyTls()
|
|
701
|
+
});
|
|
702
|
+
installEarlyListenerServeGuard2(earlyPort);
|
|
703
|
+
markBoot("early listener bound");
|
|
704
|
+
}
|
|
663
705
|
}
|
|
664
706
|
}
|
|
665
|
-
if (!isHotReevaluation && true && process.env.ABSOLUTE_DEV_PREBUILD !== "0") {
|
|
707
|
+
if (!isHotReevaluation && true && process.env.ABSOLUTE_DEV_PREBUILD !== "0" && process.env.ABSOLUTE_DEV_IMPORT_COST !== "1") {
|
|
666
708
|
const compiledRuntime = join2(import.meta.dir, "..", "index.js");
|
|
667
709
|
const runtimeEntry = existsSync2(compiledRuntime) ? compiledRuntime : join2(import.meta.dir, "..", "index.ts");
|
|
668
710
|
markBoot("prebuild import issued");
|
|
@@ -673,6 +715,13 @@ if (!isHotReevaluation && true && process.env.ABSOLUTE_DEV_PREBUILD !== "0") {
|
|
|
673
715
|
console.error(`[dev] boot prebuild failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
674
716
|
});
|
|
675
717
|
}
|
|
718
|
+
var importCostRecorder = globalThis.__absoluteImportCost;
|
|
719
|
+
if (importCostRecorder !== undefined) {
|
|
720
|
+
importCostRecorder.entryModule = bootstrapCopy;
|
|
721
|
+
importCostRecorder.entryOriginalModule = entryPath;
|
|
722
|
+
importCostRecorder.rootModule = import.meta.path;
|
|
723
|
+
}
|
|
676
724
|
markBoot("server entry import start");
|
|
677
725
|
await import(bootstrapCopy);
|
|
678
726
|
markBoot("server entry import done");
|
|
727
|
+
await globalThis.__absoluteImportCostReport?.();
|
package/dist/index.js
CHANGED
|
@@ -36698,8 +36698,13 @@ var loadDevCert = (hosts = []) => {
|
|
|
36698
36698
|
// src/dev/earlyListener.ts
|
|
36699
36699
|
init_constants();
|
|
36700
36700
|
init_bootLifecycle();
|
|
36701
|
+
import { writeSync } from "fs";
|
|
36701
36702
|
var RETRY_AFTER_SECONDS = 2;
|
|
36702
36703
|
var POLL_INTERVAL_MS2 = RETRY_AFTER_SECONDS * MILLISECONDS_IN_A_SECOND;
|
|
36704
|
+
var PARENT_HANDOFF_MARKER = "absolute:listening";
|
|
36705
|
+
var PARENT_LISTENER_ENV = "ABSOLUTE_PARENT_LISTENER";
|
|
36706
|
+
var PARENT_HANDOFF_FD = 3;
|
|
36707
|
+
var parentOwnsDevPort = () => process.env[PARENT_LISTENER_ENV] === "1";
|
|
36703
36708
|
var releaseEarlyListener = () => {
|
|
36704
36709
|
const listener = globalThis.__absoluteEarlyListener;
|
|
36705
36710
|
if (!listener)
|
|
@@ -36709,6 +36714,15 @@ var releaseEarlyListener = () => {
|
|
|
36709
36714
|
globalThis.__absoluteEarlyListener = undefined;
|
|
36710
36715
|
return hadServer;
|
|
36711
36716
|
};
|
|
36717
|
+
var signalParentPortHandoff = (port) => {
|
|
36718
|
+
if (globalThis.__absoluteParentHandoffSignalled)
|
|
36719
|
+
return;
|
|
36720
|
+
globalThis.__absoluteParentHandoffSignalled = true;
|
|
36721
|
+
try {
|
|
36722
|
+
writeSync(PARENT_HANDOFF_FD, `${PARENT_HANDOFF_MARKER} ${port}
|
|
36723
|
+
`);
|
|
36724
|
+
} catch {}
|
|
36725
|
+
};
|
|
36712
36726
|
|
|
36713
36727
|
// src/utils/instanceRegistry.ts
|
|
36714
36728
|
import {
|
|
@@ -36878,11 +36892,13 @@ var networking = (app) => {
|
|
|
36878
36892
|
return app;
|
|
36879
36893
|
}
|
|
36880
36894
|
releaseEarlyListener();
|
|
36895
|
+
const parentHandoff = parentOwnsDevPort();
|
|
36881
36896
|
markBoot("listen() called");
|
|
36882
36897
|
const listened = app.listen({
|
|
36883
36898
|
hostname: host2,
|
|
36884
36899
|
idleTimeout: httpIdleTimeout,
|
|
36885
36900
|
port,
|
|
36901
|
+
...parentHandoff ? { reusePort: true } : {},
|
|
36886
36902
|
...tls ? {
|
|
36887
36903
|
tls: {
|
|
36888
36904
|
cert: tls.cert,
|
|
@@ -36891,6 +36907,8 @@ var networking = (app) => {
|
|
|
36891
36907
|
} : {}
|
|
36892
36908
|
}, () => {
|
|
36893
36909
|
markBoot("server listening");
|
|
36910
|
+
if (parentHandoff)
|
|
36911
|
+
signalParentPortHandoff(Number(port));
|
|
36894
36912
|
selfRegisterInstance();
|
|
36895
36913
|
runDeferredBootTasks();
|
|
36896
36914
|
if (visibility === "internal" || managedByWorkspace) {
|
|
@@ -43466,5 +43484,5 @@ export {
|
|
|
43466
43484
|
wrapPageHandlerWithStreamingSlots
|
|
43467
43485
|
};
|
|
43468
43486
|
|
|
43469
|
-
//# debugId=
|
|
43487
|
+
//# debugId=26428A74DF256E4764756E2164756E21
|
|
43470
43488
|
//# sourceMappingURL=index.js.map
|