@absolutejs/absolute 0.20.0-beta.130 → 0.20.0-beta.132
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/CHANGELOG.md +28 -0
- package/changelog.json +52 -0
- package/dist/angular/browser.js +406 -396
- package/dist/angular/browser.js.map +4 -4
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -3
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -4
- package/dist/angular/index.js +560 -701
- package/dist/angular/index.js.map +5 -5
- package/dist/angular/server.js +197 -338
- package/dist/angular/server.js.map +5 -5
- package/dist/build/buildWorker.js +27 -35
- package/dist/build.js +3833 -5876
- package/dist/build.js.map +4 -4
- package/dist/cli/{add-9sa7e3vd.js → add-hvqeg5sz.js} +23 -25
- package/dist/cli/{analyze-c1sep5y9.js → analyze-c2x2aym5.js} +6 -7
- package/dist/cli/androidEmulatorController-j73a1br6.js +22 -0
- package/dist/cli/{androidNativeWatcher-dnp95nk2.js → androidNativeWatcher-ctbnsr1v.js} +11 -14
- package/dist/cli/{api-2hd8cahp.js → api-rk13rfd9.js} +11 -13
- package/dist/cli/{build-857rc1ds.js → build-20y4b6rj.js} +8 -9
- package/dist/cli/{buildDepVendor-8akhr8n8.js → buildDepVendor-axqvbbm6.js} +5 -170
- package/dist/cli/{compile-9by2vxy5.js → compile-nf4qsqyd.js} +45 -48
- package/dist/cli/config/client.js +8 -8
- package/dist/cli/config/server.js +5615 -5595
- package/dist/cli/config-3te1fbry.js +7 -0
- package/dist/cli/{db-8wweexdp.js → db-p8pc325y.js} +5 -13
- package/dist/cli/{dev-qg7fr16s.js → dev-6f0gry3y.js} +75 -77
- package/dist/cli/{devCert-avr89zf3.js → devCert-n33ep8pg.js} +0 -3
- package/dist/cli/{doctor-mbh9bk05.js → doctor-8rm8p4dm.js} +13 -14
- package/dist/cli/emulatorDoctor-cwa70kgt.js +17 -0
- package/dist/cli/emulatorInstaller-dx3fmm2m.js +14 -0
- package/dist/cli/env-2107nff1.js +11 -0
- package/dist/cli/eslint-zz0t0kfp.js +17 -0
- package/dist/cli/eslintChunked-wg10jj9m.js +12 -0
- package/dist/cli/expoDevController-s70fj7vf.js +16 -0
- package/dist/cli/{expoNativeWatcher-rmc95bak.js → expoNativeWatcher-aakp7xvj.js} +1 -5
- package/dist/cli/expoProject-zy02tbfg.js +10 -0
- package/dist/cli/{generate-069p0dk3.js → generate-nz4w03yz.js} +19 -21
- package/dist/cli/{heapDiff-87v24x7p.js → heapDiff-2etr2r26.js} +5 -6
- package/dist/cli/{htmx-5wh1jh75.js → htmx-0xcaqrny.js} +12 -14
- package/dist/cli/{index-sjvydg2r.js → index-1ff9q1vx.js} +7 -7
- package/dist/cli/{index-rqbk0b30.js → index-1qewxkgy.js} +26 -26
- package/dist/cli/{index-prwyfnn3.js → index-1x1vah31.js} +2 -2
- package/dist/cli/{index-ddakkws4.js → index-31j3beht.js} +13 -13
- package/dist/cli/{index-j2nw3edf.js → index-3gtnqd57.js} +5 -5
- package/dist/cli/{index-54q7pxcx.js → index-434b7j4a.js} +2 -32
- package/dist/cli/{index-w5vswatm.js → index-43a1vvb7.js} +6 -10
- package/dist/cli/{index-nxcwg9ma.js → index-5sjk7daj.js} +31 -31
- package/dist/cli/{index-6j1xaheg.js → index-73sk1ney.js} +5 -5
- package/dist/cli/{index-3x5wpx5d.js → index-8kdmmgvc.js} +2 -2
- package/dist/cli/{index-1ys3dnrs.js → index-8w2wazrk.js} +34 -34
- package/dist/cli/{index-wtfnv3n2.js → index-92hmw204.js} +3 -3
- package/dist/cli/{index-vdbn8brx.js → index-c3tqbpkq.js} +40 -41
- package/dist/cli/{index-mywsk201.js → index-fde3c297.js} +1 -1
- package/dist/cli/{index-wctgx65x.js → index-hfvxsgf4.js} +48 -31
- package/dist/cli/{index-255xs63d.js → index-j57pgg5m.js} +10 -10
- package/dist/cli/{index-5cgsrv62.js → index-jcjwsdqt.js} +13 -182
- package/dist/cli/{index-00wfffav.js → index-k4t9k1xk.js} +5 -5
- package/dist/cli/{index-yxgaf8j0.js → index-m1vntzf1.js} +7 -5
- package/dist/cli/{index-9r7n9dqp.js → index-ma1dw7x2.js} +1 -1
- package/dist/cli/index-pch0v1z6.js +60 -0
- package/dist/cli/{index-8nym68py.js → index-ppxed116.js} +1 -1
- package/dist/cli/{index-9kwmb3c0.js → index-qyxd5n9a.js} +3 -3
- package/dist/cli/{index-tn4crd40.js → index-r62705dc.js} +12 -12
- package/dist/cli/{index-hty8111z.js → index-r915cvqp.js} +17 -17
- package/dist/cli/{index-exdd5k1g.js → index-rrxeqrbn.js} +2 -2
- package/dist/cli/{index-keg69zm1.js → index-snbzdwb9.js} +5 -5
- package/dist/cli/{index-v26ze17p.js → index-thqwfzy8.js} +3 -3
- package/dist/cli/{index-0hr7c4qe.js → index-vdnmqkt8.js} +14 -18
- package/dist/cli/{index-vkkqe08e.js → index-vj2v38sq.js} +29 -29
- package/dist/cli/{index-erngp7a9.js → index-wy0yh4jj.js} +16 -16
- package/dist/cli/{index-1cypb2zn.js → index-xcr3r6a1.js} +8 -8
- package/dist/cli/index.js +44 -48
- package/dist/cli/{info-d74dr585.js → info-kx5510rq.js} +7 -7
- package/dist/cli/{inspect-23chj4nc.js → inspect-5dj06x0m.js} +18 -20
- package/dist/cli/{iosNativeWatcher-kggp7j9a.js → iosNativeWatcher-zx49pzej.js} +12 -16
- package/dist/cli/iosSimulatorController-haa1cc3p.js +23 -0
- package/dist/cli/{islands-wpqgmwh0.js → islands-z4adh55n.js} +8 -9
- package/dist/cli/{lintProof-wx3b6dzy.js → lintProof-qcwdvzcz.js} +12 -17
- package/dist/cli/{logs-bx2n5ey6.js → logs-3p2vrq5h.js} +8 -10
- package/dist/cli/{ls-kvmcmd2j.js → ls-nkspq73y.js} +13 -14
- package/dist/cli/{mem-apbk7bx4.js → mem-h3f497cr.js} +10 -14
- package/dist/cli/{migrate-p4rp5r6b.js → migrate-52bqqp08.js} +7 -8
- package/dist/cli/{mobile-43q3zmjf.js → mobile-m0cdh8cf.js} +572 -575
- package/dist/cli/nativeAuth-ysv0x5dy.js +27 -0
- package/dist/cli/patchedBun-m7vj5sks.js +9 -0
- package/dist/cli/prerender-mfnwsvyt.js +7 -0
- package/dist/cli/{prettier-vtk5yaw4.js → prettier-c1624g36.js} +2 -6
- package/dist/cli/{ps-8y28kzmb.js → ps-0jedm91n.js} +12 -16
- package/dist/cli/{psTui-8e96mwgz.js → psTui-tpr5nbmc.js} +28 -30
- package/dist/cli/remoteMacProtocol-v3ax0y0f.js +41 -0
- package/dist/cli/{remove-3fd1z2hx.js → remove-z0brj5nd.js} +16 -18
- package/dist/cli/{rewriteImports-d1gmaa68.js → rewriteImports-k6rjjmg1.js} +2 -100
- package/dist/cli/{routes-0xpanj8z.js → routes-ey0sw1eq.js} +7 -9
- package/dist/cli/start-3z3gtgm0.js +20 -0
- package/dist/cli/telemetry-3wnc06wa.js +9 -0
- package/dist/cli/{tunnelRelay-5at2v8w6.js → tunnelRelay-19ay0fxn.js} +3 -4
- package/dist/cli/{typecheck-yj9s13eb.js → typecheck-nmf6e7k7.js} +147 -149
- package/dist/cli/{workspace-m56sgfkc.js → workspace-yetzedke.js} +32 -36
- package/dist/client/chunks/{index-dk743xs6.js → index-8m2qq61n.js} +12 -8
- package/dist/client/chunks/{index-dk743xs6.js.map → index-8m2qq61n.js.map} +4 -3
- package/dist/client/chunks/{index-m35nbkdp.js → islands-rc28k5sx.js} +104 -42
- package/dist/client/chunks/islands-rc28k5sx.js.map +15 -0
- package/dist/client/chunks/{react-yq4ss9y4.js → react-dcvkaba2.js} +5 -7
- package/dist/client/chunks/{react-yq4ss9y4.js.map → react-dcvkaba2.js.map} +2 -2
- package/dist/client/chunks/{svelte-s0c964kb.js → svelte-4yfa5bxa.js} +2 -4
- package/dist/client/chunks/{svelte-s0c964kb.js.map → svelte-4yfa5bxa.js.map} +2 -2
- package/dist/client/chunks/{vue-rdskrnyg.js → vue-a84fzp3v.js} +2 -4
- package/dist/client/chunks/{vue-rdskrnyg.js.map → vue-a84fzp3v.js.map} +2 -2
- package/dist/client/index.js +42 -15
- package/dist/client/index.js.map +2 -2
- package/dist/client/prefetch.js +1 -3
- package/dist/client/prefetch.js.map +2 -2
- package/dist/core/streamingSlotRegistrar.js +1 -64
- package/dist/core/streamingSlotRegistrar.js.map +2 -2
- package/dist/core/streamingSlotRegistry.js +1 -64
- package/dist/core/streamingSlotRegistry.js.map +2 -2
- package/dist/dev/serverBootstrap.js +1802 -2018
- package/dist/index.js +5247 -8794
- package/dist/index.js.map +9 -20
- package/dist/islands/browser.js +13 -3
- package/dist/islands/browser.js.map +2 -2
- package/dist/islands/index.js +26 -142
- package/dist/islands/index.js.map +2 -2
- package/dist/mobile/browser.js +13 -3
- package/dist/mobile/browser.js.map +2 -2
- package/dist/mobile/index.js +1067 -2182
- package/dist/mobile/index.js.map +2 -2
- package/dist/mobile/remoteMacAgentEntry.js +156 -156
- package/dist/mobile/shellAuth.js +0 -16
- package/dist/mobile/shellBootstrap.js +734 -724
- package/dist/mobile/shellExpoAuth.js +4 -18
- package/dist/mobile/shellExpoDevices.js +0 -16
- package/dist/mobile/shellExpoSync.js +0 -16
- package/dist/mobile/shellSync.js +3 -19
- package/dist/mobile/shellUpdate.js +5 -21
- package/dist/mobile/uiPrimitives.js +0 -16
- package/dist/react/browser.js +15 -5
- package/dist/react/browser.js.map +2 -2
- package/dist/react/components/index.js +68 -58
- package/dist/react/components/index.js.map +4 -4
- package/dist/react/hooks/index.js +1 -63
- package/dist/react/hooks/index.js.map +2 -2
- package/dist/react/index.js +56 -195
- package/dist/react/index.js.map +5 -5
- package/dist/react/jsxDevRuntimeCompat.js +1 -64
- package/dist/react/jsxDevRuntimeCompat.js.map +2 -2
- package/dist/react/jsxRuntimeCompat.js +1 -64
- package/dist/react/jsxRuntimeCompat.js.map +2 -2
- package/dist/react/router/browser.js +1 -64
- package/dist/react/router/browser.js.map +2 -2
- package/dist/react/router/index.js +1 -64
- package/dist/react/router/index.js.map +2 -2
- package/dist/react/server.js +38 -51
- package/dist/react/server.js.map +5 -5
- package/dist/src/cli/config/server.d.ts +7 -129
- package/dist/src/cli/patchedBun.d.ts +14 -14
- package/dist/src/cli/serverBundleExternals.d.ts +17 -2
- package/dist/src/core/prepare.d.ts +149 -1805
- package/dist/src/core/requestContext.d.ts +1 -1
- package/dist/src/dev/requestInspector.d.ts +1 -1
- package/dist/src/mobile/associationFiles.d.ts +2 -2
- package/dist/src/mobile/compatibilityDispatcher.d.ts +1 -1
- package/dist/src/mobile/mobilePreview.d.ts +8 -130
- package/dist/src/mobile/updateServer.d.ts +2 -2
- package/dist/src/plugins/devtoolsJson.d.ts +2 -2
- package/dist/src/plugins/hmr.d.ts +2 -2
- package/dist/src/plugins/imageOptimizer.d.ts +2 -151
- package/dist/src/plugins/telemetryPlugin.d.ts +1 -19
- package/dist/svelte/browser.js +13 -3
- package/dist/svelte/browser.js.map +2 -2
- package/dist/svelte/index.js +66 -210
- package/dist/svelte/index.js.map +5 -5
- package/dist/svelte/server.js +51 -99
- package/dist/svelte/server.js.map +5 -5
- package/dist/types/globals.d.ts +0 -6
- package/dist/vue/browser.js +13 -3
- package/dist/vue/browser.js.map +2 -2
- package/dist/vue/components/Image.js +13 -3
- package/dist/vue/components/Image.js.map +2 -2
- package/dist/vue/components/index.js +62 -50
- package/dist/vue/components/index.js.map +4 -4
- package/dist/vue/index.js +1115 -1258
- package/dist/vue/index.js.map +10 -10
- package/dist/vue/server.js +42 -59
- package/dist/vue/server.js.map +5 -5
- package/package.json +9 -9
- package/dist/cli/androidEmulatorController-sj141e1c.js +0 -30
- package/dist/cli/config-rjeexvza.js +0 -8
- package/dist/cli/emulatorDoctor-gzarrsex.js +0 -18
- package/dist/cli/emulatorInstaller-pjw4ex6q.js +0 -15
- package/dist/cli/env-4f6f6z69.js +0 -14
- package/dist/cli/eslint-qfkxe89p.js +0 -20
- package/dist/cli/eslintChunked-7ef700pn.js +0 -21
- package/dist/cli/expoDevController-weywa74d.js +0 -26
- package/dist/cli/expoProject-w2pzjwnx.js +0 -11
- package/dist/cli/index-1rabqyq0.js +0 -7
- package/dist/cli/index-ar4gz15x.js +0 -60
- package/dist/cli/iosSimulatorController-xcxxfkzx.js +0 -34
- package/dist/cli/nativeAuth-zx4tsb1f.js +0 -38
- package/dist/cli/patchedBun-zjtrn2s4.js +0 -38
- package/dist/cli/prerender-yex2zwj3.js +0 -18
- package/dist/cli/remoteMacProtocol-r38jhg44.js +0 -69
- package/dist/cli/start-gzhrkhxe.js +0 -23
- package/dist/cli/telemetry-94rka1w2.js +0 -14
- package/dist/client/chunks/angularPatch-arh4sr68.js +0 -157
- package/dist/client/chunks/angularPatch-arh4sr68.js.map +0 -10
- package/dist/client/chunks/index-jrcwp722.js +0 -12
- package/dist/client/chunks/index-jrcwp722.js.map +0 -10
- package/dist/client/chunks/index-m35nbkdp.js.map +0 -12
- package/dist/client/chunks/index-qxjc7kc5.js +0 -12
- package/dist/client/chunks/index-qxjc7kc5.js.map +0 -9
- package/dist/client/chunks/islands-50dg63j9.js +0 -284
- package/dist/client/chunks/islands-50dg63j9.js.map +0 -14
- /package/dist/cli/{index-me8nczrw.js → index-039rh39e.js} +0 -0
- /package/dist/cli/{index-bw4ktfnz.js → index-1y5mmnwg.js} +0 -0
- /package/dist/cli/{index-5xfxd7xa.js → index-3wm8p7rg.js} +0 -0
- /package/dist/cli/{index-4rme31py.js → index-420h9hq7.js} +0 -0
- /package/dist/cli/{index-4rhxthsy.js → index-65kqn88a.js} +0 -0
- /package/dist/cli/{index-r8x3839e.js → index-71gchbzt.js} +0 -0
- /package/dist/cli/{index-s2tazax7.js → index-92g14j47.js} +0 -0
- /package/dist/cli/{index-j66p8hn5.js → index-bwsa6ax4.js} +0 -0
- /package/dist/cli/{index-bzs19w3r.js → index-e6ysp900.js} +0 -0
- /package/dist/cli/{index-06cmrcdq.js → index-h7qhz02e.js} +0 -0
- /package/dist/cli/{index-6h54jqdq.js → index-hg54jyts.js} +0 -0
- /package/dist/cli/{index-czwrxgdj.js → index-hxqprc80.js} +0 -0
- /package/dist/cli/{index-zh6hhrwy.js → index-jjfbjv1z.js} +0 -0
- /package/dist/cli/{index-fc9vxw56.js → index-prs14ys9.js} +0 -0
- /package/dist/cli/{index-v1k46q3x.js → index-tx0kx9zx.js} +0 -0
- /package/dist/cli/{index-fhaf3tdk.js → index-x8x0f3ha.js} +0 -0
- /package/dist/cli/{index-18q9qc7f.js → index-ypcqx24p.js} +0 -0
package/dist/angular/server.js
CHANGED
|
@@ -18,7 +18,7 @@ var __toESM = (mod, isNodeMode, target) => {
|
|
|
18
18
|
return cached;
|
|
19
19
|
}
|
|
20
20
|
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
21
|
-
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
21
|
+
const to = isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
22
22
|
if (mod && typeof mod === "object" || typeof mod === "function") {
|
|
23
23
|
for (let key of __getOwnPropNames(mod))
|
|
24
24
|
if (!__hasOwnProp.call(to, key))
|
|
@@ -59,7 +59,17 @@ var __legacyMetadataTS = (k, v) => {
|
|
|
59
59
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
60
60
|
return Reflect.metadata(k, v);
|
|
61
61
|
};
|
|
62
|
-
var __esm = (fn, res) => () =>
|
|
62
|
+
var __esm = (fn, res, err) => () => {
|
|
63
|
+
if (fn)
|
|
64
|
+
try {
|
|
65
|
+
res = fn(fn = 0);
|
|
66
|
+
} catch (e) {
|
|
67
|
+
err = [e];
|
|
68
|
+
}
|
|
69
|
+
if (err)
|
|
70
|
+
throw err[0];
|
|
71
|
+
return res;
|
|
72
|
+
};
|
|
63
73
|
var __require = import.meta.require;
|
|
64
74
|
|
|
65
75
|
// src/angular/httpTransferCache.ts
|
|
@@ -369,11 +379,6 @@ var init_inlinePageCss = __esm(() => {
|
|
|
369
379
|
});
|
|
370
380
|
|
|
371
381
|
// src/utils/ssrErrorPage.ts
|
|
372
|
-
var exports_ssrErrorPage = {};
|
|
373
|
-
__export(exports_ssrErrorPage, {
|
|
374
|
-
buildErrorPage: () => buildErrorPage,
|
|
375
|
-
ssrErrorPage: () => ssrErrorPage
|
|
376
|
-
});
|
|
377
382
|
var errorPageHtml = ({
|
|
378
383
|
framework,
|
|
379
384
|
hint,
|
|
@@ -844,10 +849,6 @@ var init_resolveAngularPackage = () => {};
|
|
|
844
849
|
var ENV_VAR = "NODE_ENV", isDevelopmentRuntime = () => process.env[ENV_VAR] === "development", isProductionRuntime = () => process.env[ENV_VAR] === "production";
|
|
845
850
|
|
|
846
851
|
// src/angular/angularPatch.ts
|
|
847
|
-
var exports_angularPatch = {};
|
|
848
|
-
__export(exports_angularPatch, {
|
|
849
|
-
applyPatches: () => applyPatches
|
|
850
|
-
});
|
|
851
852
|
var ensureHead = (doc) => {
|
|
852
853
|
if (!doc || doc.head || !doc.documentElement) {
|
|
853
854
|
return;
|
|
@@ -1003,8 +1004,8 @@ var initDominoAdapter = (platformServer) => {
|
|
|
1003
1004
|
if (!isProductionRuntime()) {
|
|
1004
1005
|
await import("@angular/compiler");
|
|
1005
1006
|
}
|
|
1006
|
-
|
|
1007
|
-
await
|
|
1007
|
+
await Promise.resolve().then(() => init_angularPatch());
|
|
1008
|
+
await applyPatches();
|
|
1008
1009
|
const useBareSpecifiers = !isProductionRuntime();
|
|
1009
1010
|
const [platformBrowser, platformServer, common, core] = await Promise.all([
|
|
1010
1011
|
useBareSpecifiers ? import("@angular/platform-browser") : import(resolveAngularRuntimePath("@angular/platform-browser")),
|
|
@@ -1232,49 +1233,7 @@ var init_ssrRender = __esm(() => {
|
|
|
1232
1233
|
});
|
|
1233
1234
|
|
|
1234
1235
|
// src/angular/islands.ts
|
|
1235
|
-
var
|
|
1236
|
-
__export(exports_islands, {
|
|
1237
|
-
getAngularIslandSelector: () => getAngularIslandSelector,
|
|
1238
|
-
isAngularComponent: () => isAngularComponent,
|
|
1239
|
-
mountAngularIsland: () => mountAngularIsland,
|
|
1240
|
-
renderAngularIslandToHtml: () => renderAngularIslandToHtml
|
|
1241
|
-
});
|
|
1242
|
-
var angularIslandSelector = "abs-angular-island", getAngularIslandSelector = (_islandId) => angularIslandSelector, isAngularComponent = (value) => typeof value === "function", getSelectorFromRenderedIsland = (rootElement) => {
|
|
1243
|
-
const firstChild = rootElement.firstElementChild;
|
|
1244
|
-
if (!(firstChild instanceof HTMLElement)) {
|
|
1245
|
-
return null;
|
|
1246
|
-
}
|
|
1247
|
-
const selector = firstChild.tagName.toLowerCase();
|
|
1248
|
-
return selector.length > 0 ? selector : null;
|
|
1249
|
-
}, getClientAngularComponentSelector = (component) => {
|
|
1250
|
-
const maybeDef = Reflect.get(component, "\u0275cmp");
|
|
1251
|
-
if (typeof maybeDef !== "object" || maybeDef === null) {
|
|
1252
|
-
return null;
|
|
1253
|
-
}
|
|
1254
|
-
const maybeSelectors = Reflect.get(maybeDef, "selectors");
|
|
1255
|
-
if (!Array.isArray(maybeSelectors)) {
|
|
1256
|
-
return null;
|
|
1257
|
-
}
|
|
1258
|
-
const [firstSelectorGroup] = maybeSelectors;
|
|
1259
|
-
if (!Array.isArray(firstSelectorGroup)) {
|
|
1260
|
-
return null;
|
|
1261
|
-
}
|
|
1262
|
-
const [selector] = firstSelectorGroup;
|
|
1263
|
-
return typeof selector === "string" && selector.length > 0 ? selector : null;
|
|
1264
|
-
}, createAngularIslandApp = async () => {
|
|
1265
|
-
const { EnvironmentInjector, provideZonelessChangeDetection } = await import("@angular/core");
|
|
1266
|
-
const { createApplication } = await import("@angular/platform-browser");
|
|
1267
|
-
const app = await createApplication({
|
|
1268
|
-
providers: [provideZonelessChangeDetection()]
|
|
1269
|
-
});
|
|
1270
|
-
const environmentInjector = app.injector.get(EnvironmentInjector);
|
|
1271
|
-
return { app, environmentInjector };
|
|
1272
|
-
}, angularIslandAppPromise = null, getAngularIslandApp = async () => {
|
|
1273
|
-
if (!angularIslandAppPromise) {
|
|
1274
|
-
angularIslandAppPromise = createAngularIslandApp();
|
|
1275
|
-
}
|
|
1276
|
-
return angularIslandAppPromise;
|
|
1277
|
-
}, wrapperMetadataCache, requestRenderCache, getRequestRenderCache = () => {
|
|
1236
|
+
var angularIslandSelector = "abs-angular-island", getAngularIslandSelector = (_islandId) => angularIslandSelector, wrapperMetadataCache, requestRenderCache, getRequestRenderCache = () => {
|
|
1278
1237
|
const requestId = getSsrContextId();
|
|
1279
1238
|
if (!requestId) {
|
|
1280
1239
|
return null;
|
|
@@ -1294,9 +1253,9 @@ var angularIslandSelector = "abs-angular-island", getAngularIslandSelector = (_i
|
|
|
1294
1253
|
return `${componentName}:${JSON.stringify(props)}`;
|
|
1295
1254
|
}, buildAngularIslandWrapperMetadata = async (component, islandId, wrapperKey) => {
|
|
1296
1255
|
const deps = await getAngularDeps();
|
|
1297
|
-
const { Component, InjectionToken
|
|
1256
|
+
const { Component, InjectionToken, NgComponentOutlet, inject } = deps;
|
|
1298
1257
|
const selector = getAngularIslandSelector(islandId);
|
|
1299
|
-
const propsToken = new
|
|
1258
|
+
const propsToken = new InjectionToken(`${wrapperKey}:props`);
|
|
1300
1259
|
|
|
1301
1260
|
class AngularIslandWrapperComponent {
|
|
1302
1261
|
constructor() {
|
|
@@ -1336,36 +1295,6 @@ var angularIslandSelector = "abs-angular-island", getAngularIslandSelector = (_i
|
|
|
1336
1295
|
throw new Error(`Could not close Angular island root "${selector}".`);
|
|
1337
1296
|
}
|
|
1338
1297
|
return html.slice(start, end + endTag.length);
|
|
1339
|
-
}, mountAngularIsland = async (component, element, props, islandId) => {
|
|
1340
|
-
await import("@angular/compiler");
|
|
1341
|
-
const { createComponent, inputBinding } = await import("@angular/core");
|
|
1342
|
-
const selector = getAngularIslandSelector(islandId);
|
|
1343
|
-
const { app, environmentInjector } = await getAngularIslandApp();
|
|
1344
|
-
let rootElement = element.querySelector(selector);
|
|
1345
|
-
if (!(rootElement instanceof HTMLElement)) {
|
|
1346
|
-
element.innerHTML = `<${selector}></${selector}>`;
|
|
1347
|
-
rootElement = element.querySelector(selector);
|
|
1348
|
-
}
|
|
1349
|
-
if (!(rootElement instanceof HTMLElement))
|
|
1350
|
-
return app;
|
|
1351
|
-
const componentSelector = getClientAngularComponentSelector(component) ?? getSelectorFromRenderedIsland(rootElement);
|
|
1352
|
-
if (!componentSelector)
|
|
1353
|
-
return app;
|
|
1354
|
-
rootElement.innerHTML = `<${componentSelector}></${componentSelector}>`;
|
|
1355
|
-
const hostElement = rootElement.querySelector(componentSelector);
|
|
1356
|
-
if (!(hostElement instanceof HTMLElement))
|
|
1357
|
-
return app;
|
|
1358
|
-
const bindings = Object.entries(props).map(([key, value]) => inputBinding(key, () => value));
|
|
1359
|
-
const componentRef = createComponent(component, {
|
|
1360
|
-
bindings,
|
|
1361
|
-
environmentInjector,
|
|
1362
|
-
hostElement
|
|
1363
|
-
});
|
|
1364
|
-
app.attachView(componentRef.hostView);
|
|
1365
|
-
componentRef.changeDetectorRef.detectChanges();
|
|
1366
|
-
window.__ABS_ANGULAR_ISLAND_APPS__ ??= [];
|
|
1367
|
-
window.__ABS_ANGULAR_ISLAND_APPS__.push(app);
|
|
1368
|
-
return app;
|
|
1369
1298
|
}, renderAngularIslandToHtml = async (component, props, islandId) => {
|
|
1370
1299
|
const requestCache = getRequestRenderCache();
|
|
1371
1300
|
const renderCacheKey = getIslandRenderCacheKey(component, props);
|
|
@@ -1400,8 +1329,8 @@ var init_islands = __esm(() => {
|
|
|
1400
1329
|
|
|
1401
1330
|
// src/core/islandSsr.ts
|
|
1402
1331
|
var renderAngularIslandToHtmlInternal = async (component, props, islandId) => {
|
|
1403
|
-
|
|
1404
|
-
return
|
|
1332
|
+
await Promise.resolve().then(() => init_islands());
|
|
1333
|
+
return renderAngularIslandToHtml(component, props, islandId);
|
|
1405
1334
|
}, renderAngularIslandToHtml2, LEADING_HOISTED_RESOURCE_RE, stripLeadingHoistedResources = (html) => {
|
|
1406
1335
|
let result = html;
|
|
1407
1336
|
let match = LEADING_HOISTED_RESOURCE_RE.exec(result);
|
|
@@ -1740,25 +1669,9 @@ var init_specifierRewriter = __esm(() => {
|
|
|
1740
1669
|
});
|
|
1741
1670
|
|
|
1742
1671
|
// src/build/rewriteImportsPlugin.ts
|
|
1743
|
-
var exports_rewriteImportsPlugin = {};
|
|
1744
|
-
__export(exports_rewriteImportsPlugin, {
|
|
1745
|
-
buildWithImportRewrite: () => buildWithImportRewrite,
|
|
1746
|
-
fixMissingReExportNamespacesInContent: () => fixMissingReExportNamespacesInContent,
|
|
1747
|
-
jsRewriteImports: () => jsRewriteImports,
|
|
1748
|
-
rewriteBuildOutputs: () => rewriteBuildOutputs,
|
|
1749
|
-
rewriteBuildOutputsWith: () => rewriteBuildOutputsWith,
|
|
1750
|
-
rewriteImportsInContent: () => rewriteImportsInContent,
|
|
1751
|
-
rewriteVendorDirectories: () => rewriteVendorDirectories
|
|
1752
|
-
});
|
|
1753
1672
|
import { readdir } from "fs/promises";
|
|
1754
1673
|
import { join as join2 } from "path";
|
|
1755
|
-
var REEXPORT_PATTERN, IMPORT_PATH_PATTERN, isMissingFile = (error) => error instanceof Error && ("code" in error) && error.code === "ENOENT",
|
|
1756
|
-
const result = await pendingBuild;
|
|
1757
|
-
if (result.outputs.length > 0) {
|
|
1758
|
-
await rewriteBuildOutputs(result.outputs, vendorPaths);
|
|
1759
|
-
}
|
|
1760
|
-
return result;
|
|
1761
|
-
}, fixMissingReExportNamespacesInContent = (content) => {
|
|
1674
|
+
var REEXPORT_PATTERN, IMPORT_PATH_PATTERN, isMissingFile = (error) => error instanceof Error && ("code" in error) && error.code === "ENOENT", fixMissingReExportNamespacesInContent = (content) => {
|
|
1762
1675
|
const missing = collectMissingNamespaceImports(content);
|
|
1763
1676
|
if (missing.length === 0)
|
|
1764
1677
|
return content;
|
|
@@ -1801,10 +1714,6 @@ ${content}`;
|
|
|
1801
1714
|
missing.push({ ident, path: sourcePath });
|
|
1802
1715
|
}
|
|
1803
1716
|
return missing;
|
|
1804
|
-
}, jsRewriteImports = (content, replacements) => rewriteSpecifiers(content, compileSpecifierRewriter(Object.fromEntries(replacements)), { sweep: false }), rewriteBuildOutputs = async (outputs, vendorPaths) => {
|
|
1805
|
-
if (Object.keys(vendorPaths).length === 0)
|
|
1806
|
-
return;
|
|
1807
|
-
await Promise.all(outputs.filter(isReadableArtifact).map((artifact) => rewriteArtifact(artifact, vendorPaths)));
|
|
1808
1717
|
}, isReadableArtifact = (artifact) => artifact.path.endsWith(".js"), readArtifactText = async (artifact) => {
|
|
1809
1718
|
try {
|
|
1810
1719
|
return await artifact.text();
|
|
@@ -1879,12 +1788,12 @@ var serverCacheRoot, compiledModuleCache, ANGULAR_SPECIFIER_RE, getCachedModuleP
|
|
|
1879
1788
|
const relativeSourcePath = relative(process.cwd(), sourcePath).replace(/\\/g, "/");
|
|
1880
1789
|
const normalizedSourcePath = relativeSourcePath.startsWith("..") ? sourcePath.replace(/[:\\/]/g, "_") : relativeSourcePath;
|
|
1881
1790
|
return join3(serverCacheRoot, `${normalizedSourcePath}.server.js`);
|
|
1882
|
-
}, collectVendorPaths = (
|
|
1791
|
+
}, collectVendorPaths = (code) => {
|
|
1883
1792
|
const vendorPaths = {};
|
|
1884
1793
|
if (!isProductionRuntime()) {
|
|
1885
1794
|
return vendorPaths;
|
|
1886
1795
|
}
|
|
1887
|
-
const specifiers = new Set([...
|
|
1796
|
+
const specifiers = new Set([...code.matchAll(ANGULAR_SPECIFIER_RE)].map((match) => match[1]));
|
|
1888
1797
|
specifiers.forEach((specifier) => {
|
|
1889
1798
|
if (!specifier)
|
|
1890
1799
|
return;
|
|
@@ -1909,8 +1818,8 @@ var serverCacheRoot, compiledModuleCache, ANGULAR_SPECIFIER_RE, getCachedModuleP
|
|
|
1909
1818
|
throw new Error(`Failed to compile Angular island server module for "${sourcePath}":
|
|
1910
1819
|
${message}`);
|
|
1911
1820
|
}
|
|
1912
|
-
const
|
|
1913
|
-
const rewritten = rewriteImportsInContent(
|
|
1821
|
+
const code = await entry.text();
|
|
1822
|
+
const rewritten = rewriteImportsInContent(code, collectVendorPaths(code));
|
|
1914
1823
|
const modulePath = getCachedModulePath(sourcePath);
|
|
1915
1824
|
await mkdir(dirname(modulePath), { recursive: true });
|
|
1916
1825
|
await Bun.write(modulePath, rewritten);
|
|
@@ -2112,26 +2021,6 @@ var init_lowerAwaitSlotSyntax = __esm(() => {
|
|
|
2112
2021
|
});
|
|
2113
2022
|
|
|
2114
2023
|
// src/build/stylePreprocessor.ts
|
|
2115
|
-
var exports_stylePreprocessor = {};
|
|
2116
|
-
__export(exports_stylePreprocessor, {
|
|
2117
|
-
addStyleImporter: () => addStyleImporter,
|
|
2118
|
-
compileStyleFileIfNeeded: () => compileStyleFileIfNeeded,
|
|
2119
|
-
compileStyleFileIfNeededSync: () => compileStyleFileIfNeededSync,
|
|
2120
|
-
compileStyleSource: () => compileStyleSource,
|
|
2121
|
-
createStylePreprocessorPlugin: () => createStylePreprocessorPlugin,
|
|
2122
|
-
createStyleTransformConfig: () => createStyleTransformConfig,
|
|
2123
|
-
createSvelteStylePreprocessor: () => createSvelteStylePreprocessor,
|
|
2124
|
-
findStyleEntriesImporting: () => findStyleEntriesImporting,
|
|
2125
|
-
forgetStyleEntry: () => forgetStyleEntry,
|
|
2126
|
-
getCssOutputExtension: () => getCssOutputExtension,
|
|
2127
|
-
getStyleBaseName: () => getStyleBaseName,
|
|
2128
|
-
isPreprocessableStylePath: () => isPreprocessableStylePath,
|
|
2129
|
-
isStyleModulePath: () => isStyleModulePath,
|
|
2130
|
-
isStylePath: () => isStylePath,
|
|
2131
|
-
recordStyleOutput: () => recordStyleOutput,
|
|
2132
|
-
stylePreprocessorPlugin: () => stylePreprocessorPlugin
|
|
2133
|
-
});
|
|
2134
|
-
import { createHash } from "crypto";
|
|
2135
2024
|
import { existsSync as existsSync3, readFileSync as readFileSync3 } from "fs";
|
|
2136
2025
|
import { readFile } from "fs/promises";
|
|
2137
2026
|
import { createRequire } from "module";
|
|
@@ -2462,16 +2351,6 @@ ${contents}` : contents, normalizePostcssModule = (mod) => {
|
|
|
2462
2351
|
importers.push(entry);
|
|
2463
2352
|
}
|
|
2464
2353
|
return importers;
|
|
2465
|
-
}, recordStyleOutput = (entry, css) => {
|
|
2466
|
-
const key = resolve3(entry);
|
|
2467
|
-
const hash = createHash("sha1").update(css).digest("hex");
|
|
2468
|
-
const previous = styleOutputHashes.get(key);
|
|
2469
|
-
styleOutputHashes.set(key, hash);
|
|
2470
|
-
return previous !== hash;
|
|
2471
|
-
}, forgetStyleEntry = (entry) => {
|
|
2472
|
-
const key = resolve3(entry);
|
|
2473
|
-
styleDependencyGraph.delete(key);
|
|
2474
|
-
styleOutputHashes.delete(key);
|
|
2475
2354
|
}, compileStyleSource = async (filePath, source, languageHint, config) => {
|
|
2476
2355
|
const language = getStyleLanguage(languageHint ?? filePath);
|
|
2477
2356
|
const rawContents = source ?? await readFile(filePath, "utf-8");
|
|
@@ -2702,7 +2581,7 @@ ${contents}` : contents, normalizePostcssModule = (mod) => {
|
|
|
2702
2581
|
throw new Error(`Unable to compile ${filePath}: Stylus styleUrl preprocessing is async-only. Import the Stylus file from a bundled entrypoint or use SCSS/CSS for Angular styleUrl.`);
|
|
2703
2582
|
}
|
|
2704
2583
|
return resolveCssImportsSync(rawContents, dirname2(filePath), new Set([filePath]));
|
|
2705
|
-
}
|
|
2584
|
+
};
|
|
2706
2585
|
var init_stylePreprocessor = __esm(() => {
|
|
2707
2586
|
CSS_EXTENSION_PATTERN = /\.css$/i;
|
|
2708
2587
|
STYLE_EXTENSION_PATTERN = /\.(s[ac]ss|less|styl(?:us)?)$/i;
|
|
@@ -2939,8 +2818,8 @@ var ISLAND_COMPONENT_ID_LENGTH = 8, serverCacheRoot3, compiledModuleCache3, tran
|
|
|
2939
2818
|
return;
|
|
2940
2819
|
}
|
|
2941
2820
|
await Bun.write(path, content);
|
|
2942
|
-
}, stripExports = (
|
|
2943
|
-
const lines =
|
|
2821
|
+
}, stripExports = (code) => code.replace(/export\s+default/, "const script ="), mergeVueImports = (code) => {
|
|
2822
|
+
const lines = code.split(`
|
|
2944
2823
|
`);
|
|
2945
2824
|
const specifierSet = new Set;
|
|
2946
2825
|
const vueImportRegex = /^import\s+{([^}]+)}\s+from\s+['"]vue['"];?$/;
|
|
@@ -3238,13 +3117,6 @@ var init_renderIslandMarkup = __esm(() => {
|
|
|
3238
3117
|
});
|
|
3239
3118
|
|
|
3240
3119
|
// src/core/devRouteRegistrationCallsite.ts
|
|
3241
|
-
var exports_devRouteRegistrationCallsite = {};
|
|
3242
|
-
__export(exports_devRouteRegistrationCallsite, {
|
|
3243
|
-
getCurrentRouteRegistrationCallsite: () => getCurrentRouteRegistrationCallsite,
|
|
3244
|
-
getOriginalPageHandlerSource: () => getOriginalPageHandlerSource,
|
|
3245
|
-
isPageHandler: () => isPageHandler,
|
|
3246
|
-
patchElysiaRouteRegistrationCallsites: () => patchElysiaRouteRegistrationCallsites
|
|
3247
|
-
});
|
|
3248
3120
|
import { AsyncLocalStorage } from "async_hooks";
|
|
3249
3121
|
import { Elysia } from "elysia";
|
|
3250
3122
|
var ROUTE_CALLSITE_STORAGE_KEY, ROUTE_CALLSITE_PATCHED_KEY, NODE_ENV_KEY = "NODE_ENV", ROUTE_METHOD_NAMES, PAGE_HANDLER_NAMES, pageHandlerWrappers, isPageHandlerFunction = (value) => typeof value === "function", handlerSourceMentionsPageHelper = (handler) => {
|
|
@@ -3261,12 +3133,12 @@ var ROUTE_CALLSITE_STORAGE_KEY, ROUTE_CALLSITE_PATCHED_KEY, NODE_ENV_KEY = "NODE
|
|
|
3261
3133
|
if (pageHandlerWrappers.has(handler))
|
|
3262
3134
|
return true;
|
|
3263
3135
|
return handlerSourceMentionsPageHelper(handler);
|
|
3264
|
-
},
|
|
3136
|
+
}, isObjectRecord = (value) => Boolean(value) && typeof value === "object", isAsyncLocalStorage = (value) => isObjectRecord(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function", isRouteMethod = (value) => typeof value === "function", getRouteCallsiteStorage = () => {
|
|
3265
3137
|
const value = Reflect.get(globalThis, ROUTE_CALLSITE_STORAGE_KEY);
|
|
3266
3138
|
if (value === null || typeof value === "undefined") {
|
|
3267
3139
|
return;
|
|
3268
3140
|
}
|
|
3269
|
-
return
|
|
3141
|
+
return isAsyncLocalStorage(value) ? value : undefined;
|
|
3270
3142
|
}, ensureRouteCallsiteStorage = () => {
|
|
3271
3143
|
const existing = getRouteCallsiteStorage();
|
|
3272
3144
|
if (existing) {
|
|
@@ -3347,19 +3219,6 @@ var init_devRouteRegistrationCallsite = __esm(() => {
|
|
|
3347
3219
|
});
|
|
3348
3220
|
|
|
3349
3221
|
// src/core/requestContext.ts
|
|
3350
|
-
var exports_requestContext = {};
|
|
3351
|
-
__export(exports_requestContext, {
|
|
3352
|
-
absoluteRequestContext: () => absoluteRequestContext,
|
|
3353
|
-
devBuildErrorResponse: () => devBuildErrorResponse,
|
|
3354
|
-
getCurrentAbsoluteRequest: () => getCurrentAbsoluteRequest,
|
|
3355
|
-
getDevPageWarmer: () => getDevPageWarmer,
|
|
3356
|
-
getMissingAssets: () => getMissingAssets,
|
|
3357
|
-
recordMissingAsset: () => recordMissingAsset,
|
|
3358
|
-
resolveDeferredPageAssets: () => resolveDeferredPageAssets,
|
|
3359
|
-
runWithAbsoluteRequest: () => runWithAbsoluteRequest,
|
|
3360
|
-
setDevPageWarmer: () => setDevPageWarmer,
|
|
3361
|
-
withDeferredStylesheets: () => withDeferredStylesheets
|
|
3362
|
-
});
|
|
3363
3222
|
import { AsyncLocalStorage as AsyncLocalStorage2 } from "async_hooks";
|
|
3364
3223
|
import { Elysia as Elysia2 } from "elysia";
|
|
3365
3224
|
var REQUEST_STORAGE_KEY, PAGE_WARMER_KEY, isAbsoluteRequestStorage = (value) => typeof value === "object" && value !== null && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function", getRequestStorage = () => {
|
|
@@ -3791,13 +3650,13 @@ var init_pageProtocol = __esm(() => {
|
|
|
3791
3650
|
});
|
|
3792
3651
|
|
|
3793
3652
|
// src/core/pageResponseCache.ts
|
|
3794
|
-
import { createHash
|
|
3653
|
+
import { createHash } from "crypto";
|
|
3795
3654
|
var STREAMING_PAGE_HEADER = "x-absolute-stream", HTML_CONTENT_TYPE = "text/html", streamingPageHeaders = (extra) => {
|
|
3796
3655
|
const headers = new Headers(extra);
|
|
3797
3656
|
headers.set("content-type", HTML_CONTENT_TYPE);
|
|
3798
3657
|
headers.set(STREAMING_PAGE_HEADER, "1");
|
|
3799
3658
|
return headers;
|
|
3800
|
-
}, computeEtag = (html) => `W/"${
|
|
3659
|
+
}, computeEtag = (html) => `W/"${createHash("sha1").update(html).digest("base64url")}"`, withPageCacheHeaders = async (response, request, options) => {
|
|
3801
3660
|
const contentType = response.headers.get("content-type") ?? "";
|
|
3802
3661
|
if (!contentType.includes(HTML_CONTENT_TYPE))
|
|
3803
3662
|
return response;
|
|
@@ -3838,26 +3697,26 @@ var streamSwapRuntime = () => {
|
|
|
3838
3697
|
absoluteWindow.__ABS_SLOT_PENDING__ = absoluteWindow.__ABS_SLOT_PENDING__ ?? {};
|
|
3839
3698
|
const consumers = absoluteWindow.__ABS_SLOT_CONSUMERS__;
|
|
3840
3699
|
const pending = absoluteWindow.__ABS_SLOT_PENDING__;
|
|
3841
|
-
const
|
|
3700
|
+
const isObjectRecord = (value) => Boolean(value) && typeof value === "object";
|
|
3842
3701
|
const isPatchedPendingEntry = (value) => {
|
|
3843
|
-
if (!
|
|
3702
|
+
if (!isObjectRecord(value))
|
|
3844
3703
|
return false;
|
|
3845
3704
|
return value.domPatched === true && "payload" in value;
|
|
3846
3705
|
};
|
|
3847
3706
|
const unwrapPendingPayload = (value) => isPatchedPendingEntry(value) ? value.payload : value;
|
|
3848
3707
|
const canApplyImmediately = () => absoluteWindow.__ABS_SLOT_HYDRATION_PENDING__ !== true;
|
|
3849
3708
|
const isAngularDeferPayload = (payload) => {
|
|
3850
|
-
if (!
|
|
3709
|
+
if (!isObjectRecord(payload))
|
|
3851
3710
|
return false;
|
|
3852
3711
|
return payload.kind === "angular-defer";
|
|
3853
3712
|
};
|
|
3854
3713
|
const isVueSuspensePayload = (payload) => {
|
|
3855
|
-
if (!
|
|
3714
|
+
if (!isObjectRecord(payload))
|
|
3856
3715
|
return false;
|
|
3857
3716
|
return payload.kind === "vue-suspense";
|
|
3858
3717
|
};
|
|
3859
3718
|
const resolveHtml = (payload) => {
|
|
3860
|
-
if (!
|
|
3719
|
+
if (!isObjectRecord(payload)) {
|
|
3861
3720
|
return typeof payload === "string" ? payload : "";
|
|
3862
3721
|
}
|
|
3863
3722
|
if (typeof payload.html === "string") {
|
|
@@ -4590,12 +4449,12 @@ var init_startupBanner = __esm(() => {
|
|
|
4590
4449
|
// src/utils/logger.ts
|
|
4591
4450
|
var colors2, frameworkColors, formatPath = (filePath) => {
|
|
4592
4451
|
const cwd = process.cwd();
|
|
4593
|
-
let
|
|
4594
|
-
|
|
4595
|
-
if (!
|
|
4596
|
-
|
|
4452
|
+
let relative = filePath.startsWith(cwd) ? filePath.slice(cwd.length + 1) : filePath;
|
|
4453
|
+
relative = relative.replace(/\\/g, "/");
|
|
4454
|
+
if (!relative.startsWith("/")) {
|
|
4455
|
+
relative = `/${relative}`;
|
|
4597
4456
|
}
|
|
4598
|
-
return
|
|
4457
|
+
return relative;
|
|
4599
4458
|
}, getFrameworkColor = (framework) => frameworkColors[framework] || colors2.white, log = (action, options) => {
|
|
4600
4459
|
const timestamp = `${colors2.dim}${formatTimestamp()}${colors2.reset}`;
|
|
4601
4460
|
const tag = `${colors2.cyan}[hmr]${colors2.reset}`;
|
|
@@ -5222,9 +5081,7 @@ var init_generatedDir = () => {};
|
|
|
5222
5081
|
var exports_compileAngular = {};
|
|
5223
5082
|
__export(exports_compileAngular, {
|
|
5224
5083
|
compileAngular: () => compileAngular,
|
|
5225
|
-
compileAngularFile: () => compileAngularFile,
|
|
5226
5084
|
compileAngularFileJIT: () => compileAngularFileJIT,
|
|
5227
|
-
compileAngularFiles: () => compileAngularFiles,
|
|
5228
5085
|
invalidateAngularJitCache: () => invalidateAngularJitCache
|
|
5229
5086
|
});
|
|
5230
5087
|
import { existsSync as existsSync4, readFileSync as readFileSync5, promises as fs } from "fs";
|
|
@@ -5288,7 +5145,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path, content) =>
|
|
|
5288
5145
|
}, createLegacyAngularAnimationUsageResolver = (rootDir) => {
|
|
5289
5146
|
const baseDir = resolve6(rootDir);
|
|
5290
5147
|
const tsconfigAliases = readTsconfigPathAliases();
|
|
5291
|
-
const
|
|
5148
|
+
const transpiler = new Bun.Transpiler({ loader: "tsx" });
|
|
5292
5149
|
const scanCache = new Map;
|
|
5293
5150
|
const resolveLocalImport = (specifier, fromDir) => {
|
|
5294
5151
|
if (specifier.startsWith(".") || specifier.startsWith("/")) {
|
|
@@ -5330,7 +5187,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path, content) =>
|
|
|
5330
5187
|
}
|
|
5331
5188
|
let imports;
|
|
5332
5189
|
try {
|
|
5333
|
-
imports =
|
|
5190
|
+
imports = transpiler.scanImports(sourceCode);
|
|
5334
5191
|
} catch {
|
|
5335
5192
|
return { imports: [], usesLegacyAnimations: false };
|
|
5336
5193
|
}
|
|
@@ -5458,8 +5315,8 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path, content) =>
|
|
|
5458
5315
|
join9(basePath, "index.cts")
|
|
5459
5316
|
];
|
|
5460
5317
|
return candidates.map((candidate) => resolve6(candidate)).find((candidate) => existsSync4(candidate) && !candidate.endsWith(".d.ts")) ?? null;
|
|
5461
|
-
}, readFileForAotTransform = async (fileName,
|
|
5462
|
-
const hostSource =
|
|
5318
|
+
}, readFileForAotTransform = async (fileName, readFile) => {
|
|
5319
|
+
const hostSource = readFile?.(fileName);
|
|
5463
5320
|
if (typeof hostSource === "string")
|
|
5464
5321
|
return hostSource;
|
|
5465
5322
|
return fs.readFile(fileName, "utf-8");
|
|
@@ -5522,9 +5379,9 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path, content) =>
|
|
|
5522
5379
|
...resourceContents,
|
|
5523
5380
|
safeStableStringify(stylePreprocessors ?? null)
|
|
5524
5381
|
].join("\x00");
|
|
5525
|
-
const
|
|
5526
|
-
return join9(process.cwd(), ".absolutejs", "cache", "angular-resources", `${
|
|
5527
|
-
}, precomputeAotResourceTransforms = async (inputPaths,
|
|
5382
|
+
const cacheKey = Bun.hash(cacheInput).toString(BASE_36_RADIX);
|
|
5383
|
+
return join9(process.cwd(), ".absolutejs", "cache", "angular-resources", `${cacheKey}.json`);
|
|
5384
|
+
}, precomputeAotResourceTransforms = async (inputPaths, readFile, stylePreprocessors) => {
|
|
5528
5385
|
const transformedSources = new Map;
|
|
5529
5386
|
const visited = new Set;
|
|
5530
5387
|
const stats = {
|
|
@@ -5541,7 +5398,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path, content) =>
|
|
|
5541
5398
|
if (!existsSync4(resolvedPath) || resolvedPath.endsWith(".d.ts"))
|
|
5542
5399
|
return;
|
|
5543
5400
|
stats.filesVisited += 1;
|
|
5544
|
-
const source = await readFileForAotTransform(resolvedPath,
|
|
5401
|
+
const source = await readFileForAotTransform(resolvedPath, readFile);
|
|
5545
5402
|
const cachePath = await resolveResourceTransformCachePath(resolvedPath, source, stylePreprocessors);
|
|
5546
5403
|
const cached = await readResourceCacheFile(cachePath);
|
|
5547
5404
|
let transformedSource;
|
|
@@ -5697,7 +5554,7 @@ var atomicWriteSequence = 0, writeTextFileAtomically = async (path, content) =>
|
|
|
5697
5554
|
await writeTextFileAtomically(target, content);
|
|
5698
5555
|
})), { outputs: entries.length });
|
|
5699
5556
|
return await traceAngularPhase("aot/collect-output-paths", () => entries.map(({ target }) => target), { outputs: entries.length });
|
|
5700
|
-
},
|
|
5557
|
+
}, jitContentCache, invalidateAngularJitCache = (filePath) => {
|
|
5701
5558
|
jitContentCache.delete(resolve6(filePath));
|
|
5702
5559
|
}, wrapperOutputCache, escapeTemplateContent = (content) => content.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${"), findUncommentedMatch = (source, pattern) => {
|
|
5703
5560
|
const re = new RegExp(pattern.source, pattern.flags.includes("g") ? pattern.flags : pattern.flags + "g");
|
|
@@ -5852,13 +5709,13 @@ ${fields}
|
|
|
5852
5709
|
if (!existsSync4(templatePath)) {
|
|
5853
5710
|
throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
|
|
5854
5711
|
}
|
|
5855
|
-
const
|
|
5856
|
-
const
|
|
5857
|
-
const
|
|
5858
|
-
const
|
|
5712
|
+
const templateRaw = await fs.readFile(templatePath, "utf-8");
|
|
5713
|
+
const lowered = lowerAngularDeferSyntax(templateRaw);
|
|
5714
|
+
const escaped = escapeTemplateContent(lowered.template);
|
|
5715
|
+
const replacedSource = source.slice(0, templateUrlMatch.index) + `template: \`${escaped}\`` + source.slice(templateUrlMatch.index + templateUrlMatch[0].length);
|
|
5859
5716
|
return {
|
|
5860
|
-
deferSlots:
|
|
5861
|
-
source: injectDeferSlotFields(
|
|
5717
|
+
deferSlots: lowered.slots,
|
|
5718
|
+
source: injectDeferSlotFields(replacedSource, lowered.slots, resolveAngularDeferImportSpecifier())
|
|
5862
5719
|
};
|
|
5863
5720
|
}
|
|
5864
5721
|
const inlineTemplateMatch = findUncommentedMatch(source, /template\s*:\s*(`([\s\S]*?)`|'([^']*)'|"([^"]*)")/);
|
|
@@ -5883,13 +5740,13 @@ ${fields}
|
|
|
5883
5740
|
if (!existsSync4(templatePath)) {
|
|
5884
5741
|
throw new Error(`Unable to inline Angular templateUrl "${templateUrlMatch[1]}": file not found at ${templatePath}`);
|
|
5885
5742
|
}
|
|
5886
|
-
const
|
|
5887
|
-
const
|
|
5888
|
-
const
|
|
5889
|
-
const
|
|
5743
|
+
const templateRaw = readFileSync5(templatePath, "utf-8");
|
|
5744
|
+
const lowered = lowerAngularDeferSyntax(templateRaw);
|
|
5745
|
+
const escaped = escapeTemplateContent(lowered.template);
|
|
5746
|
+
const replacedSource = source.slice(0, templateUrlMatch.index) + `template: \`${escaped}\`` + source.slice(templateUrlMatch.index + templateUrlMatch[0].length);
|
|
5890
5747
|
return {
|
|
5891
|
-
deferSlots:
|
|
5892
|
-
source: injectDeferSlotFields(
|
|
5748
|
+
deferSlots: lowered.slots,
|
|
5749
|
+
source: injectDeferSlotFields(replacedSource, lowered.slots, resolveAngularDeferImportSpecifier())
|
|
5893
5750
|
};
|
|
5894
5751
|
}
|
|
5895
5752
|
const inlineTemplateMatch = findUncommentedMatch(source, /template\s*:\s*(`([\s\S]*?)`|'([^']*)'|"([^"]*)")/);
|
|
@@ -6016,7 +5873,7 @@ ${fields}
|
|
|
6016
5873
|
})
|
|
6017
5874
|
});
|
|
6018
5875
|
const tsconfigAliases = readTsconfigPathAliases();
|
|
6019
|
-
const
|
|
5876
|
+
const resolveSourceFile = (candidate) => {
|
|
6020
5877
|
const candidates = candidate.match(/\.(?:[cm]?[tj]sx?|json)$/) ? [candidate] : [
|
|
6021
5878
|
`${candidate}.ts`,
|
|
6022
5879
|
`${candidate}.tsx`,
|
|
@@ -6032,9 +5889,9 @@ ${fields}
|
|
|
6032
5889
|
};
|
|
6033
5890
|
const resolveLocalImport = (specifier, fromDir) => {
|
|
6034
5891
|
if (specifier.startsWith(".") || specifier.startsWith("/")) {
|
|
6035
|
-
return
|
|
5892
|
+
return resolveSourceFile(resolve6(fromDir, specifier));
|
|
6036
5893
|
}
|
|
6037
|
-
const aliased = matchTsconfigAlias(specifier, tsconfigAliases.aliases, tsconfigAliases.baseUrl,
|
|
5894
|
+
const aliased = matchTsconfigAlias(specifier, tsconfigAliases.aliases, tsconfigAliases.baseUrl, resolveSourceFile);
|
|
6038
5895
|
if (aliased)
|
|
6039
5896
|
return aliased;
|
|
6040
5897
|
try {
|
|
@@ -6044,7 +5901,7 @@ ${fields}
|
|
|
6044
5901
|
const absolute = resolve6(resolved);
|
|
6045
5902
|
if (!absolute.startsWith(baseDir))
|
|
6046
5903
|
return;
|
|
6047
|
-
return
|
|
5904
|
+
return resolveSourceFile(absolute);
|
|
6048
5905
|
} catch {
|
|
6049
5906
|
return;
|
|
6050
5907
|
}
|
|
@@ -6104,13 +5961,13 @@ ${fields}
|
|
|
6104
5961
|
return;
|
|
6105
5962
|
visited.add(resolved);
|
|
6106
5963
|
if (resolved.endsWith(".json") && existsSync4(resolved)) {
|
|
6107
|
-
const
|
|
6108
|
-
const
|
|
6109
|
-
const
|
|
6110
|
-
const
|
|
6111
|
-
await fs.mkdir(
|
|
6112
|
-
await fs.copyFile(resolved,
|
|
6113
|
-
allOutputs.push(
|
|
5964
|
+
const inputDir = dirname5(resolved);
|
|
5965
|
+
const relativeDir = inputDir.startsWith(baseDir) ? inputDir.substring(baseDir.length + 1) : inputDir;
|
|
5966
|
+
const targetDir = join9(outDir, relativeDir);
|
|
5967
|
+
const targetPath = join9(targetDir, basename4(resolved));
|
|
5968
|
+
await fs.mkdir(targetDir, { recursive: true });
|
|
5969
|
+
await fs.copyFile(resolved, targetPath);
|
|
5970
|
+
allOutputs.push(targetPath);
|
|
6114
5971
|
return;
|
|
6115
5972
|
}
|
|
6116
5973
|
let actualPath = resolved;
|
|
@@ -6143,24 +6000,24 @@ ${fields}
|
|
|
6143
6000
|
usesLegacyAnimations = true;
|
|
6144
6001
|
}
|
|
6145
6002
|
const localImportPaths = localImports.map((specifier) => {
|
|
6146
|
-
const
|
|
6147
|
-
if (!
|
|
6003
|
+
const resolved = resolveLocalImport(specifier, inputDir);
|
|
6004
|
+
if (!resolved)
|
|
6148
6005
|
return null;
|
|
6149
|
-
const relativeImport = relative5(targetDir, toOutputPath(
|
|
6006
|
+
const relativeImport = relative5(targetDir, toOutputPath(resolved)).replace(/\\/g, "/").replace(/\.js$/, "");
|
|
6150
6007
|
const relativeRewrite = relativeImport.startsWith(".") ? relativeImport : `./${relativeImport}`;
|
|
6151
6008
|
importRewrites.set(specifier, relativeRewrite);
|
|
6152
|
-
return
|
|
6009
|
+
return resolved;
|
|
6153
6010
|
}).filter((path) => Boolean(path));
|
|
6154
6011
|
const isEntry = resolve6(actualPath) === resolve6(entryPath);
|
|
6155
6012
|
const contentHash = Bun.hash(sourceCode).toString(BASE_36_RADIX);
|
|
6156
|
-
const
|
|
6157
|
-
const shouldWriteFile = cacheBuster && isEntry ? true : jitContentCache.get(
|
|
6013
|
+
const cacheKey = actualPath;
|
|
6014
|
+
const shouldWriteFile = cacheBuster && isEntry ? true : jitContentCache.get(cacheKey) !== contentHash || !existsSync4(targetPath);
|
|
6158
6015
|
if (shouldWriteFile) {
|
|
6159
6016
|
const processedContent = transpileAndRewrite(sourceCode, relativeDir, actualPath, importRewrites);
|
|
6160
6017
|
const preservedInjection = await readPreservedInjection(targetPath);
|
|
6161
6018
|
await fs.mkdir(targetDir, { recursive: true });
|
|
6162
6019
|
await writeTextFileAtomically(targetPath, processedContent + preservedInjection);
|
|
6163
|
-
jitContentCache.set(
|
|
6020
|
+
jitContentCache.set(cacheKey, contentHash);
|
|
6164
6021
|
}
|
|
6165
6022
|
allOutputs.push(targetPath);
|
|
6166
6023
|
await Promise.all(localImportPaths.map((importPath) => transpileFile(importPath)));
|
|
@@ -6584,114 +6441,6 @@ var init_compileAngular = __esm(() => {
|
|
|
6584
6441
|
wrapperOutputCache = new Map;
|
|
6585
6442
|
PROVIDERS_INJECTION_BLOCK_RE = /\n\/\* __ABS_PROVIDERS_INJECTION_START \*\/[\s\S]*?\/\* __ABS_PROVIDERS_INJECTION_END \*\/\n?/;
|
|
6586
6443
|
});
|
|
6587
|
-
|
|
6588
|
-
// src/core/streamingSlotRegistrar.ts
|
|
6589
|
-
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
6590
|
-
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
6591
|
-
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
6592
|
-
var getRegisteredStreamingSlotRegistrar = () => {
|
|
6593
|
-
const value = Reflect.get(globalThis, STREAMING_SLOT_REGISTRAR_KEY);
|
|
6594
|
-
if (typeof value === "function" || value === null) {
|
|
6595
|
-
return value;
|
|
6596
|
-
}
|
|
6597
|
-
return;
|
|
6598
|
-
};
|
|
6599
|
-
var isObjectRecord = (value) => Boolean(value) && typeof value === "object";
|
|
6600
|
-
var isStreamingSlotWarningController = (value) => isObjectRecord(value) && ("maybeWarn" in value) && typeof value.maybeWarn === "function";
|
|
6601
|
-
var isStreamingSlotCollectionController = (value) => isObjectRecord(value) && ("isCollecting" in value) && typeof value.isCollecting === "function";
|
|
6602
|
-
var getWarningController = () => {
|
|
6603
|
-
const value = Reflect.get(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY);
|
|
6604
|
-
if (value === null || typeof value === "undefined")
|
|
6605
|
-
return;
|
|
6606
|
-
return isStreamingSlotWarningController(value) ? value : undefined;
|
|
6607
|
-
};
|
|
6608
|
-
var getCollectionController = () => {
|
|
6609
|
-
const value = Reflect.get(globalThis, STREAMING_SLOT_COLLECTION_STORAGE_KEY);
|
|
6610
|
-
if (value === null || typeof value === "undefined")
|
|
6611
|
-
return;
|
|
6612
|
-
return isStreamingSlotCollectionController(value) ? value : undefined;
|
|
6613
|
-
};
|
|
6614
|
-
var hasRegisteredStreamingSlotRegistrar = () => typeof getRegisteredStreamingSlotRegistrar() === "function";
|
|
6615
|
-
var isStreamingSlotCollectionActive = () => getCollectionController()?.isCollecting() === true;
|
|
6616
|
-
var registerStreamingSlot = (slot) => {
|
|
6617
|
-
getRegisteredStreamingSlotRegistrar()?.(slot);
|
|
6618
|
-
};
|
|
6619
|
-
var setStreamingSlotCollectionController = (controller) => {
|
|
6620
|
-
Reflect.set(globalThis, STREAMING_SLOT_COLLECTION_STORAGE_KEY, controller);
|
|
6621
|
-
};
|
|
6622
|
-
var setStreamingSlotRegistrar = (nextRegistrar) => {
|
|
6623
|
-
Reflect.set(globalThis, STREAMING_SLOT_REGISTRAR_KEY, nextRegistrar);
|
|
6624
|
-
};
|
|
6625
|
-
var setStreamingSlotWarningController = (controller) => {
|
|
6626
|
-
Reflect.set(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY, controller);
|
|
6627
|
-
};
|
|
6628
|
-
var warnMissingStreamingSlotCollector = (primitiveName) => {
|
|
6629
|
-
if (isStreamingSlotCollectionActive()) {
|
|
6630
|
-
return;
|
|
6631
|
-
}
|
|
6632
|
-
getWarningController()?.maybeWarn(primitiveName);
|
|
6633
|
-
};
|
|
6634
|
-
|
|
6635
|
-
// src/core/streamingSlotRegistry.ts
|
|
6636
|
-
var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
|
|
6637
|
-
var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
|
|
6638
|
-
var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
|
|
6639
|
-
var getStorageGlobal = () => {
|
|
6640
|
-
const value = Reflect.get(globalThis, STREAMING_SLOT_STORAGE_KEY);
|
|
6641
|
-
if (value === null || typeof value === "undefined") {
|
|
6642
|
-
return value;
|
|
6643
|
-
}
|
|
6644
|
-
return isAsyncLocalStorage(value) ? value : undefined;
|
|
6645
|
-
};
|
|
6646
|
-
var isServerRuntime = () => typeof process !== "undefined" && typeof process.versions?.node === "string";
|
|
6647
|
-
var ensureAsyncLocalStorage = async () => {
|
|
6648
|
-
const storage = getStorageGlobal();
|
|
6649
|
-
if (typeof storage !== "undefined") {
|
|
6650
|
-
return storage;
|
|
6651
|
-
}
|
|
6652
|
-
if (!isServerRuntime()) {
|
|
6653
|
-
Reflect.set(globalThis, STREAMING_SLOT_STORAGE_KEY, null);
|
|
6654
|
-
return getStorageGlobal();
|
|
6655
|
-
}
|
|
6656
|
-
const mod = await import("async_hooks");
|
|
6657
|
-
Reflect.set(globalThis, STREAMING_SLOT_STORAGE_KEY, new mod.AsyncLocalStorage);
|
|
6658
|
-
return getStorageGlobal();
|
|
6659
|
-
};
|
|
6660
|
-
var getActiveSlotStore = () => {
|
|
6661
|
-
const storage = getStorageGlobal();
|
|
6662
|
-
if (!storage)
|
|
6663
|
-
return;
|
|
6664
|
-
return storage.getStore();
|
|
6665
|
-
};
|
|
6666
|
-
var registerStreamingSlot2 = (slot) => {
|
|
6667
|
-
const store = getActiveSlotStore();
|
|
6668
|
-
if (!store)
|
|
6669
|
-
return;
|
|
6670
|
-
store.set(slot.id, slot);
|
|
6671
|
-
};
|
|
6672
|
-
setStreamingSlotRegistrar(registerStreamingSlot2);
|
|
6673
|
-
setStreamingSlotCollectionController({
|
|
6674
|
-
isCollecting: () => getActiveSlotStore() !== undefined
|
|
6675
|
-
});
|
|
6676
|
-
var hasActiveStreamingSlotRegistry = () => getActiveSlotStore() !== undefined;
|
|
6677
|
-
var runWithStreamingSlotRegistry = async (task) => {
|
|
6678
|
-
const storage = await ensureAsyncLocalStorage();
|
|
6679
|
-
if (!storage) {
|
|
6680
|
-
const slots = [];
|
|
6681
|
-
return {
|
|
6682
|
-
result: await task(),
|
|
6683
|
-
slots
|
|
6684
|
-
};
|
|
6685
|
-
}
|
|
6686
|
-
return storage.run(new Map, async () => {
|
|
6687
|
-
const result = await task();
|
|
6688
|
-
const store = storage.getStore();
|
|
6689
|
-
return {
|
|
6690
|
-
result,
|
|
6691
|
-
slots: store ? [...store.values()] : []
|
|
6692
|
-
};
|
|
6693
|
-
});
|
|
6694
|
-
};
|
|
6695
6444
|
// src/angular/deterministicEnv.ts
|
|
6696
6445
|
import { InjectionToken } from "@angular/core";
|
|
6697
6446
|
var DEFAULT_DETERMINISTIC_SEED = "absolute-angular";
|
|
@@ -6981,6 +6730,116 @@ init_pageResponseCache();
|
|
|
6981
6730
|
// src/core/responseEnhancers.ts
|
|
6982
6731
|
init_streamingSlots();
|
|
6983
6732
|
init_pageResponseCache();
|
|
6733
|
+
|
|
6734
|
+
// src/core/streamingSlotRegistrar.ts
|
|
6735
|
+
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
6736
|
+
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
6737
|
+
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
6738
|
+
var getRegisteredStreamingSlotRegistrar = () => {
|
|
6739
|
+
const value = Reflect.get(globalThis, STREAMING_SLOT_REGISTRAR_KEY);
|
|
6740
|
+
if (typeof value === "function" || value === null) {
|
|
6741
|
+
return value;
|
|
6742
|
+
}
|
|
6743
|
+
return;
|
|
6744
|
+
};
|
|
6745
|
+
var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
|
|
6746
|
+
var isStreamingSlotWarningController = (value) => isObjectRecord2(value) && ("maybeWarn" in value) && typeof value.maybeWarn === "function";
|
|
6747
|
+
var isStreamingSlotCollectionController = (value) => isObjectRecord2(value) && ("isCollecting" in value) && typeof value.isCollecting === "function";
|
|
6748
|
+
var getWarningController = () => {
|
|
6749
|
+
const value = Reflect.get(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY);
|
|
6750
|
+
if (value === null || typeof value === "undefined")
|
|
6751
|
+
return;
|
|
6752
|
+
return isStreamingSlotWarningController(value) ? value : undefined;
|
|
6753
|
+
};
|
|
6754
|
+
var getCollectionController = () => {
|
|
6755
|
+
const value = Reflect.get(globalThis, STREAMING_SLOT_COLLECTION_STORAGE_KEY);
|
|
6756
|
+
if (value === null || typeof value === "undefined")
|
|
6757
|
+
return;
|
|
6758
|
+
return isStreamingSlotCollectionController(value) ? value : undefined;
|
|
6759
|
+
};
|
|
6760
|
+
var hasRegisteredStreamingSlotRegistrar = () => typeof getRegisteredStreamingSlotRegistrar() === "function";
|
|
6761
|
+
var isStreamingSlotCollectionActive = () => getCollectionController()?.isCollecting() === true;
|
|
6762
|
+
var registerStreamingSlot = (slot) => {
|
|
6763
|
+
getRegisteredStreamingSlotRegistrar()?.(slot);
|
|
6764
|
+
};
|
|
6765
|
+
var setStreamingSlotCollectionController = (controller) => {
|
|
6766
|
+
Reflect.set(globalThis, STREAMING_SLOT_COLLECTION_STORAGE_KEY, controller);
|
|
6767
|
+
};
|
|
6768
|
+
var setStreamingSlotRegistrar = (nextRegistrar) => {
|
|
6769
|
+
Reflect.set(globalThis, STREAMING_SLOT_REGISTRAR_KEY, nextRegistrar);
|
|
6770
|
+
};
|
|
6771
|
+
var setStreamingSlotWarningController = (controller) => {
|
|
6772
|
+
Reflect.set(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY, controller);
|
|
6773
|
+
};
|
|
6774
|
+
var warnMissingStreamingSlotCollector = (primitiveName) => {
|
|
6775
|
+
if (isStreamingSlotCollectionActive()) {
|
|
6776
|
+
return;
|
|
6777
|
+
}
|
|
6778
|
+
getWarningController()?.maybeWarn(primitiveName);
|
|
6779
|
+
};
|
|
6780
|
+
|
|
6781
|
+
// src/core/streamingSlotRegistry.ts
|
|
6782
|
+
var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
|
|
6783
|
+
var isObjectRecord3 = (value) => Boolean(value) && typeof value === "object";
|
|
6784
|
+
var isAsyncLocalStorage2 = (value) => isObjectRecord3(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
|
|
6785
|
+
var getStorageGlobal = () => {
|
|
6786
|
+
const value = Reflect.get(globalThis, STREAMING_SLOT_STORAGE_KEY);
|
|
6787
|
+
if (value === null || typeof value === "undefined") {
|
|
6788
|
+
return value;
|
|
6789
|
+
}
|
|
6790
|
+
return isAsyncLocalStorage2(value) ? value : undefined;
|
|
6791
|
+
};
|
|
6792
|
+
var isServerRuntime = () => typeof process !== "undefined" && typeof process.versions?.node === "string";
|
|
6793
|
+
var ensureAsyncLocalStorage = async () => {
|
|
6794
|
+
const storage = getStorageGlobal();
|
|
6795
|
+
if (typeof storage !== "undefined") {
|
|
6796
|
+
return storage;
|
|
6797
|
+
}
|
|
6798
|
+
if (!isServerRuntime()) {
|
|
6799
|
+
Reflect.set(globalThis, STREAMING_SLOT_STORAGE_KEY, null);
|
|
6800
|
+
return getStorageGlobal();
|
|
6801
|
+
}
|
|
6802
|
+
const mod = await import("async_hooks");
|
|
6803
|
+
Reflect.set(globalThis, STREAMING_SLOT_STORAGE_KEY, new mod.AsyncLocalStorage);
|
|
6804
|
+
return getStorageGlobal();
|
|
6805
|
+
};
|
|
6806
|
+
var getActiveSlotStore = () => {
|
|
6807
|
+
const storage = getStorageGlobal();
|
|
6808
|
+
if (!storage)
|
|
6809
|
+
return;
|
|
6810
|
+
return storage.getStore();
|
|
6811
|
+
};
|
|
6812
|
+
var registerStreamingSlot2 = (slot) => {
|
|
6813
|
+
const store = getActiveSlotStore();
|
|
6814
|
+
if (!store)
|
|
6815
|
+
return;
|
|
6816
|
+
store.set(slot.id, slot);
|
|
6817
|
+
};
|
|
6818
|
+
setStreamingSlotRegistrar(registerStreamingSlot2);
|
|
6819
|
+
setStreamingSlotCollectionController({
|
|
6820
|
+
isCollecting: () => getActiveSlotStore() !== undefined
|
|
6821
|
+
});
|
|
6822
|
+
var hasActiveStreamingSlotRegistry = () => getActiveSlotStore() !== undefined;
|
|
6823
|
+
var runWithStreamingSlotRegistry = async (task) => {
|
|
6824
|
+
const storage = await ensureAsyncLocalStorage();
|
|
6825
|
+
if (!storage) {
|
|
6826
|
+
const slots = [];
|
|
6827
|
+
return {
|
|
6828
|
+
result: await task(),
|
|
6829
|
+
slots
|
|
6830
|
+
};
|
|
6831
|
+
}
|
|
6832
|
+
return storage.run(new Map, async () => {
|
|
6833
|
+
const result = await task();
|
|
6834
|
+
const store = storage.getStore();
|
|
6835
|
+
return {
|
|
6836
|
+
result,
|
|
6837
|
+
slots: store ? [...store.values()] : []
|
|
6838
|
+
};
|
|
6839
|
+
});
|
|
6840
|
+
};
|
|
6841
|
+
|
|
6842
|
+
// src/core/responseEnhancers.ts
|
|
6984
6843
|
var toResponse = async (responseLike) => responseLike;
|
|
6985
6844
|
var cloneHeaders = (response) => {
|
|
6986
6845
|
const headers = new Headers(response.headers);
|
|
@@ -7091,7 +6950,7 @@ var runWithStreamingSlotWarningScope = (task, metadata) => ensureWarningStorage(
|
|
|
7091
6950
|
// src/angular/pageHandler.ts
|
|
7092
6951
|
init_ssrRender();
|
|
7093
6952
|
var isRecord6 = (value) => typeof value === "object" && value !== null;
|
|
7094
|
-
var
|
|
6953
|
+
var isAngularComponent = (value) => typeof value === "function";
|
|
7095
6954
|
var componentHostsRouterOutlet = (component) => {
|
|
7096
6955
|
const componentDef = Reflect.get(component, "\u0275cmp");
|
|
7097
6956
|
if (!isRecord6(componentDef))
|
|
@@ -7112,10 +6971,10 @@ var componentHostsRouterOutlet = (component) => {
|
|
|
7112
6971
|
};
|
|
7113
6972
|
var resolvePageComponent = (pageModule) => {
|
|
7114
6973
|
const defaultExport = pageModule.default;
|
|
7115
|
-
if (
|
|
6974
|
+
if (isAngularComponent(defaultExport)) {
|
|
7116
6975
|
return defaultExport;
|
|
7117
6976
|
}
|
|
7118
|
-
const components = Object.values(pageModule).filter(
|
|
6977
|
+
const components = Object.values(pageModule).filter(isAngularComponent);
|
|
7119
6978
|
if (components.length <= 1) {
|
|
7120
6979
|
return components[0];
|
|
7121
6980
|
}
|
|
@@ -7200,9 +7059,9 @@ var resolveRuntimeAngularModulePath = async (pagePath) => {
|
|
|
7200
7059
|
}
|
|
7201
7060
|
const outDir = resolveAngularSsrOutDir();
|
|
7202
7061
|
await ensureAngularSsrNodeModules(outDir);
|
|
7203
|
-
|
|
7062
|
+
await Promise.resolve().then(() => init_compileAngular());
|
|
7204
7063
|
const cacheBuster = createAngularRuntimeCacheBuster();
|
|
7205
|
-
const outputs = await
|
|
7064
|
+
const outputs = await compileAngularFileJIT(pagePath, outDir, process.cwd(), undefined, cacheBuster);
|
|
7206
7065
|
const expectedFileName = basename5(pagePath).replace(/\.ts$/, ".js");
|
|
7207
7066
|
const runtimePagePath = outputs.find((output) => output.endsWith(`/${expectedFileName}`)) ?? outputs.find((output) => output.endsWith(`\\${expectedFileName}`)) ?? outputs[0] ?? pagePath;
|
|
7208
7067
|
return {
|
|
@@ -7306,7 +7165,7 @@ var handleAngularPageRequest = async (input) => {
|
|
|
7306
7165
|
throw new Error(`Invalid Angular page module: ${resolvedPagePath}`);
|
|
7307
7166
|
}
|
|
7308
7167
|
const PageComponent = resolvePageComponent(pageModule);
|
|
7309
|
-
if (!
|
|
7168
|
+
if (!isAngularComponent(PageComponent)) {
|
|
7310
7169
|
throw new Error(`Angular page module must export an Angular component: ${resolvedPagePath}`);
|
|
7311
7170
|
}
|
|
7312
7171
|
const hasIslands = typeof pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__ === "boolean" ? pageModule.__ABSOLUTE_PAGE_HAS_ISLANDS__ : false;
|
|
@@ -7369,5 +7228,5 @@ export {
|
|
|
7369
7228
|
withPendingTask
|
|
7370
7229
|
};
|
|
7371
7230
|
|
|
7372
|
-
//# debugId=
|
|
7231
|
+
//# debugId=6834E0DBE069836B64756E2164756E21
|
|
7373
7232
|
//# sourceMappingURL=server.js.map
|