@absolutejs/absolute 0.19.0-beta.807 → 0.19.0-beta.809
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/browser.js +9801 -57
- package/dist/angular/browser.js.map +246 -4
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js +14877 -60
- package/dist/angular/index.js.map +281 -4
- package/dist/angular/server.js +5610 -45
- package/dist/angular/server.js.map +51 -3
- package/dist/build.js +18092 -45
- package/dist/build.js.map +99 -3
- package/dist/cli/index.js +317 -86
- package/dist/client/index.js +1091 -70
- package/dist/client/index.js.map +24 -4
- package/dist/core/streamingSlotRegistrar.js +108 -11
- package/dist/core/streamingSlotRegistrar.js.map +4 -3
- package/dist/core/streamingSlotRegistry.js +169 -7
- package/dist/core/streamingSlotRegistry.js.map +5 -3
- package/dist/index.js +19957 -547
- package/dist/index.js.map +116 -3
- package/dist/islands/browser.js +228 -9
- package/dist/islands/browser.js.map +9 -4
- package/dist/islands/index.js +1908 -17
- package/dist/islands/index.js.map +27 -3
- package/dist/react/browser.js +328 -12
- package/dist/react/browser.js.map +12 -4
- package/dist/react/components/index.js +167 -16
- package/dist/react/components/index.js.map +6 -3
- package/dist/react/hooks/index.js +183 -8
- package/dist/react/hooks/index.js.map +7 -3
- package/dist/react/index.js +3627 -36
- package/dist/react/index.js.map +45 -4
- package/dist/react/jsxDevRuntimeCompat.js +61 -2
- package/dist/react/jsxDevRuntimeCompat.js.map +2 -2
- package/dist/react/server.js +1789 -18
- package/dist/react/server.js.map +21 -3
- package/dist/src/angular/injectorPatch.d.ts +1 -0
- package/dist/src/angular/islands.d.ts +1 -0
- package/dist/src/client/hydrators/react.d.ts +3 -0
- package/dist/src/client/hydrators/svelte.d.ts +2 -0
- package/dist/src/client/hydrators/vue.d.ts +2 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/svelte/browser.js +247 -12
- package/dist/svelte/browser.js.map +10 -3
- package/dist/svelte/index.js +3732 -37
- package/dist/svelte/index.js.map +47 -4
- package/dist/svelte/server.js +2794 -21
- package/dist/svelte/server.js.map +27 -3
- package/dist/vue/browser.js +348 -12
- package/dist/vue/browser.js.map +12 -4
- package/dist/vue/components/Image.js +240 -7
- package/dist/vue/components/Image.js.map +6 -3
- package/dist/vue/components/index.js +544 -11
- package/dist/vue/components/index.js.map +9 -3
- package/dist/vue/index.js +4212 -52
- package/dist/vue/index.js.map +50 -4
- package/dist/vue/server.js +1849 -18
- package/dist/vue/server.js.map +21 -3
- package/package.json +1 -1
- package/dist/chunk-0867j0r0.js +0 -136
- package/dist/chunk-0867j0r0.js.map +0 -10
- package/dist/chunk-102fp7xe.js +0 -63
- package/dist/chunk-102fp7xe.js.map +0 -10
- package/dist/chunk-11zpfqz6.js +0 -19
- package/dist/chunk-11zpfqz6.js.map +0 -10
- package/dist/chunk-1rfh7hw9.js +0 -319
- package/dist/chunk-1rfh7hw9.js.map +0 -11
- package/dist/chunk-1x4fxm57.js +0 -51
- package/dist/chunk-1x4fxm57.js.map +0 -9
- package/dist/chunk-25v9t56f.js +0 -29
- package/dist/chunk-25v9t56f.js.map +0 -11
- package/dist/chunk-2f21eenc.js +0 -21
- package/dist/chunk-2f21eenc.js.map +0 -10
- package/dist/chunk-2ga2znex.js +0 -13
- package/dist/chunk-2ga2znex.js.map +0 -9
- package/dist/chunk-30yrw0f6.js +0 -33
- package/dist/chunk-30yrw0f6.js.map +0 -10
- package/dist/chunk-3g91wb4f.js +0 -358
- package/dist/chunk-3g91wb4f.js.map +0 -10
- package/dist/chunk-3rea1gam.js +0 -4403
- package/dist/chunk-3rea1gam.js.map +0 -28
- package/dist/chunk-3yjzpcne.js +0 -34
- package/dist/chunk-3yjzpcne.js.map +0 -10
- package/dist/chunk-41bf6aqt.js +0 -17
- package/dist/chunk-41bf6aqt.js.map +0 -9
- package/dist/chunk-4d39r92n.js +0 -81
- package/dist/chunk-4d39r92n.js.map +0 -10
- package/dist/chunk-5003emhv.js +0 -17
- package/dist/chunk-5003emhv.js.map +0 -10
- package/dist/chunk-5f67rsed.js +0 -466
- package/dist/chunk-5f67rsed.js.map +0 -10
- package/dist/chunk-5fhp1jap.js +0 -9169
- package/dist/chunk-5fhp1jap.js.map +0 -236
- package/dist/chunk-629x0yh4.js +0 -20
- package/dist/chunk-629x0yh4.js.map +0 -9
- package/dist/chunk-6pdj08z3.js +0 -73
- package/dist/chunk-6pdj08z3.js.map +0 -12
- package/dist/chunk-6qjbrt0k.js +0 -13
- package/dist/chunk-6qjbrt0k.js.map +0 -9
- package/dist/chunk-6sccb4jr.js +0 -14
- package/dist/chunk-6sccb4jr.js.map +0 -9
- package/dist/chunk-798spvzv.js +0 -50
- package/dist/chunk-798spvzv.js.map +0 -10
- package/dist/chunk-7fw6x3js.js +0 -131
- package/dist/chunk-7fw6x3js.js.map +0 -11
- package/dist/chunk-7kjj42xm.js +0 -11
- package/dist/chunk-7kjj42xm.js.map +0 -10
- package/dist/chunk-7mtstdqn.js +0 -90
- package/dist/chunk-7mtstdqn.js.map +0 -10
- package/dist/chunk-851whwc7.js +0 -17
- package/dist/chunk-851whwc7.js.map +0 -10
- package/dist/chunk-85n68sy6.js +0 -103
- package/dist/chunk-85n68sy6.js.map +0 -10
- package/dist/chunk-8kcfffry.js +0 -35
- package/dist/chunk-8kcfffry.js.map +0 -10
- package/dist/chunk-92fsjfpp.js +0 -1731
- package/dist/chunk-92fsjfpp.js.map +0 -11
- package/dist/chunk-93sqk7be.js +0 -139
- package/dist/chunk-93sqk7be.js.map +0 -12
- package/dist/chunk-9c5tj4k3.js +0 -130
- package/dist/chunk-9c5tj4k3.js.map +0 -10
- package/dist/chunk-9j59emg3.js +0 -184
- package/dist/chunk-9j59emg3.js.map +0 -11
- package/dist/chunk-9ve9jq72.js +0 -203
- package/dist/chunk-9ve9jq72.js.map +0 -10
- package/dist/chunk-9xrsjeem.js +0 -12
- package/dist/chunk-9xrsjeem.js.map +0 -9
- package/dist/chunk-a9mvyp04.js +0 -87
- package/dist/chunk-a9mvyp04.js.map +0 -10
- package/dist/chunk-b3gbnrwe.js +0 -21
- package/dist/chunk-b3gbnrwe.js.map +0 -10
- package/dist/chunk-bgb8k1qs.js +0 -672
- package/dist/chunk-bgb8k1qs.js.map +0 -15
- package/dist/chunk-bmgqm774.js +0 -65
- package/dist/chunk-bmgqm774.js.map +0 -9
- package/dist/chunk-bxfghpma.js +0 -69
- package/dist/chunk-bxfghpma.js.map +0 -10
- package/dist/chunk-c1jfjnka.js +0 -74
- package/dist/chunk-c1jfjnka.js.map +0 -10
- package/dist/chunk-cbkrwmvh.js +0 -80
- package/dist/chunk-cbkrwmvh.js.map +0 -10
- package/dist/chunk-cdxd7sy2.js +0 -71
- package/dist/chunk-cdxd7sy2.js.map +0 -10
- package/dist/chunk-cg95827x.js +0 -21
- package/dist/chunk-cg95827x.js.map +0 -10
- package/dist/chunk-cm0g4q6w.js +0 -149
- package/dist/chunk-cm0g4q6w.js.map +0 -10
- package/dist/chunk-d7mwkzry.js +0 -261
- package/dist/chunk-d7mwkzry.js.map +0 -10
- package/dist/chunk-d9c0am65.js +0 -12
- package/dist/chunk-d9c0am65.js.map +0 -10
- package/dist/chunk-daqghmg8.js +0 -12
- package/dist/chunk-daqghmg8.js.map +0 -9
- package/dist/chunk-e3r9fxaa.js +0 -149
- package/dist/chunk-e3r9fxaa.js.map +0 -10
- package/dist/chunk-e8eecyrq.js +0 -244
- package/dist/chunk-e8eecyrq.js.map +0 -10
- package/dist/chunk-ex2hxe0v.js +0 -160
- package/dist/chunk-ex2hxe0v.js.map +0 -11
- package/dist/chunk-fak944et.js +0 -91
- package/dist/chunk-fak944et.js.map +0 -10
- package/dist/chunk-fygx2ymm.js +0 -118
- package/dist/chunk-fygx2ymm.js.map +0 -12
- package/dist/chunk-g15qj669.js +0 -271
- package/dist/chunk-g15qj669.js.map +0 -11
- package/dist/chunk-gd6wmknh.js +0 -121
- package/dist/chunk-gd6wmknh.js.map +0 -11
- package/dist/chunk-gf0ygptk.js +0 -85
- package/dist/chunk-gf0ygptk.js.map +0 -11
- package/dist/chunk-gytkmthr.js +0 -220
- package/dist/chunk-gytkmthr.js.map +0 -10
- package/dist/chunk-h5bbfn3n.js +0 -28
- package/dist/chunk-h5bbfn3n.js.map +0 -11
- package/dist/chunk-h6mye9r3.js +0 -93
- package/dist/chunk-h6mye9r3.js.map +0 -10
- package/dist/chunk-hcsmxw1v.js +0 -85
- package/dist/chunk-hcsmxw1v.js.map +0 -10
- package/dist/chunk-hyjs4bqs.js +0 -8
- package/dist/chunk-hyjs4bqs.js.map +0 -10
- package/dist/chunk-jn91vzkh.js +0 -66
- package/dist/chunk-jn91vzkh.js.map +0 -10
- package/dist/chunk-jpkjdgsk.js +0 -167
- package/dist/chunk-jpkjdgsk.js.map +0 -11
- package/dist/chunk-jwxt8gnp.js +0 -13
- package/dist/chunk-jwxt8gnp.js.map +0 -9
- package/dist/chunk-kk8w9rh5.js +0 -195
- package/dist/chunk-kk8w9rh5.js.map +0 -10
- package/dist/chunk-kwgh8rmg.js +0 -426
- package/dist/chunk-kwgh8rmg.js.map +0 -14
- package/dist/chunk-m97ze5hz.js +0 -46
- package/dist/chunk-m97ze5hz.js.map +0 -10
- package/dist/chunk-mbazhahf.js +0 -60
- package/dist/chunk-mbazhahf.js.map +0 -10
- package/dist/chunk-mgfwq18r.js +0 -15
- package/dist/chunk-mgfwq18r.js.map +0 -9
- package/dist/chunk-mtgf69xn.js +0 -88
- package/dist/chunk-mtgf69xn.js.map +0 -10
- package/dist/chunk-mtxzyxpg.js +0 -102
- package/dist/chunk-mtxzyxpg.js.map +0 -10
- package/dist/chunk-nehhtthw.js +0 -225
- package/dist/chunk-nehhtthw.js.map +0 -10
- package/dist/chunk-p5504p14.js +0 -16
- package/dist/chunk-p5504p14.js.map +0 -10
- package/dist/chunk-p5zgj77m.js +0 -184
- package/dist/chunk-p5zgj77m.js.map +0 -10
- package/dist/chunk-pnscgw95.js +0 -90
- package/dist/chunk-pnscgw95.js.map +0 -10
- package/dist/chunk-pvpp4pvs.js +0 -17
- package/dist/chunk-pvpp4pvs.js.map +0 -10
- package/dist/chunk-qh75agse.js +0 -95
- package/dist/chunk-qh75agse.js.map +0 -10
- package/dist/chunk-qxq2zcty.js +0 -52
- package/dist/chunk-qxq2zcty.js.map +0 -10
- package/dist/chunk-r6e8pytx.js +0 -22
- package/dist/chunk-r6e8pytx.js.map +0 -9
- package/dist/chunk-r7jmgqnw.js +0 -114
- package/dist/chunk-r7jmgqnw.js.map +0 -10
- package/dist/chunk-s6defjk2.js +0 -116
- package/dist/chunk-s6defjk2.js.map +0 -10
- package/dist/chunk-sd39p726.js +0 -619
- package/dist/chunk-sd39p726.js.map +0 -10
- package/dist/chunk-swrnzs4c.js +0 -63
- package/dist/chunk-swrnzs4c.js.map +0 -10
- package/dist/chunk-tfe3sb44.js +0 -33
- package/dist/chunk-tfe3sb44.js.map +0 -10
- package/dist/chunk-tjr0kcev.js +0 -41
- package/dist/chunk-tjr0kcev.js.map +0 -9
- package/dist/chunk-tx9edm1x.js +0 -34
- package/dist/chunk-tx9edm1x.js.map +0 -10
- package/dist/chunk-txhm2vb5.js +0 -18
- package/dist/chunk-txhm2vb5.js.map +0 -9
- package/dist/chunk-v5vmsxmy.js +0 -526
- package/dist/chunk-v5vmsxmy.js.map +0 -12
- package/dist/chunk-vjhxm8n2.js +0 -29
- package/dist/chunk-vjhxm8n2.js.map +0 -9
- package/dist/chunk-vkrpm7kc.js +0 -247
- package/dist/chunk-vkrpm7kc.js.map +0 -12
- package/dist/chunk-w3m4m5we.js +0 -4925
- package/dist/chunk-w3m4m5we.js.map +0 -12
- package/dist/chunk-wrxtn9ve.js +0 -18
- package/dist/chunk-wrxtn9ve.js.map +0 -10
- package/dist/chunk-x09cskqd.js +0 -377
- package/dist/chunk-x09cskqd.js.map +0 -10
- package/dist/chunk-xnt8c6h2.js +0 -576
- package/dist/chunk-xnt8c6h2.js.map +0 -10
- package/dist/chunk-xw0tx842.js +0 -13
- package/dist/chunk-xw0tx842.js.map +0 -9
- package/dist/chunk-xx5b6b9m.js +0 -69
- package/dist/chunk-xx5b6b9m.js.map +0 -10
- package/dist/chunk-xz1kdswj.js +0 -21
- package/dist/chunk-xz1kdswj.js.map +0 -9
- package/dist/chunk-y84qnsd3.js +0 -32
- package/dist/chunk-y84qnsd3.js.map +0 -10
- package/dist/chunk-ywjn0rad.js +0 -14
- package/dist/chunk-ywjn0rad.js.map +0 -9
- package/dist/chunk-z9nvhm6r.js +0 -13
- package/dist/chunk-z9nvhm6r.js.map +0 -9
- package/dist/chunk-zhmvdpk6.js +0 -15
- package/dist/chunk-zhmvdpk6.js.map +0 -9
- package/dist/chunk-zrg9d4zw.js +0 -784
- package/dist/chunk-zrg9d4zw.js.map +0 -10
package/dist/chunk-629x0yh4.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
getAngularIslandSelector,
|
|
4
|
-
mountAngularIsland,
|
|
5
|
-
renderAngularIslandToHtml
|
|
6
|
-
} from "./chunk-p5zgj77m.js";
|
|
7
|
-
import"./chunk-jpkjdgsk.js";
|
|
8
|
-
import"./chunk-m97ze5hz.js";
|
|
9
|
-
import"./chunk-pnscgw95.js";
|
|
10
|
-
import"./chunk-p5504p14.js";
|
|
11
|
-
import"./chunk-25v9t56f.js";
|
|
12
|
-
import"./chunk-bmgqm774.js";
|
|
13
|
-
export {
|
|
14
|
-
renderAngularIslandToHtml,
|
|
15
|
-
mountAngularIsland,
|
|
16
|
-
getAngularIslandSelector
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
//# debugId=C1AFCC34B998790A64756E2164756E21
|
|
20
|
-
//# sourceMappingURL=chunk-629x0yh4.js.map
|
package/dist/chunk-6pdj08z3.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
// src/angular/deterministicEnv.ts
|
|
3
|
-
import { InjectionToken } from "@angular/core";
|
|
4
|
-
var DEFAULT_DETERMINISTIC_SEED = "absolute-angular";
|
|
5
|
-
var DEFAULT_DETERMINISTIC_NOW = 0;
|
|
6
|
-
var HASH_MULTIPLIER = 31;
|
|
7
|
-
var FNV_OFFSET_BASIS = 2166136261;
|
|
8
|
-
var FNV_PRIME = 16777619;
|
|
9
|
-
var XORSHIFT_LEFT_1 = 13;
|
|
10
|
-
var XORSHIFT_LEFT_2 = 5;
|
|
11
|
-
var XORSHIFT_RIGHT = 17;
|
|
12
|
-
var UINT32_MAX = 4294967296;
|
|
13
|
-
var DETERMINISTIC_NOW = new InjectionToken("DETERMINISTIC_NOW");
|
|
14
|
-
var DETERMINISTIC_RANDOM = new InjectionToken("DETERMINISTIC_RANDOM");
|
|
15
|
-
var DETERMINISTIC_SEED = new InjectionToken("DETERMINISTIC_SEED");
|
|
16
|
-
var hashSeed = (seed) => {
|
|
17
|
-
const seedText = String(seed);
|
|
18
|
-
let hash = FNV_OFFSET_BASIS;
|
|
19
|
-
for (const char of seedText) {
|
|
20
|
-
hash = Math.imul(hash ^ char.charCodeAt(0), FNV_PRIME);
|
|
21
|
-
}
|
|
22
|
-
return hash >>> 0 || HASH_MULTIPLIER;
|
|
23
|
-
};
|
|
24
|
-
var createDeterministicRandom = (seed = DEFAULT_DETERMINISTIC_SEED) => {
|
|
25
|
-
let state = hashSeed(seed);
|
|
26
|
-
return () => {
|
|
27
|
-
state ^= state << XORSHIFT_LEFT_1;
|
|
28
|
-
state ^= state >>> XORSHIFT_RIGHT;
|
|
29
|
-
state ^= state << XORSHIFT_LEFT_2;
|
|
30
|
-
return (state >>> 0) / UINT32_MAX;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
var normalizeNow = (now) => {
|
|
34
|
-
if (now instanceof Date)
|
|
35
|
-
return now.getTime();
|
|
36
|
-
if (typeof now === "string")
|
|
37
|
-
return new Date(now).getTime();
|
|
38
|
-
if (typeof now === "number")
|
|
39
|
-
return now;
|
|
40
|
-
return DEFAULT_DETERMINISTIC_NOW;
|
|
41
|
-
};
|
|
42
|
-
var provideDeterministicEnv = (options = {}) => {
|
|
43
|
-
const seed = String(options.seed ?? DEFAULT_DETERMINISTIC_SEED);
|
|
44
|
-
const now = normalizeNow(options.now);
|
|
45
|
-
return [
|
|
46
|
-
{ provide: DETERMINISTIC_SEED, useValue: seed },
|
|
47
|
-
{ provide: DETERMINISTIC_NOW, useValue: now },
|
|
48
|
-
{
|
|
49
|
-
deps: [DETERMINISTIC_SEED],
|
|
50
|
-
provide: DETERMINISTIC_RANDOM,
|
|
51
|
-
useFactory: createDeterministicRandom
|
|
52
|
-
}
|
|
53
|
-
];
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
// src/angular/page.ts
|
|
57
|
-
var defineAngularPage = (definition) => definition;
|
|
58
|
-
|
|
59
|
-
// src/angular/pendingTask.ts
|
|
60
|
-
import { inject, PendingTasks } from "@angular/core";
|
|
61
|
-
var withPendingTask = async (work) => {
|
|
62
|
-
const removeTask = inject(PendingTasks).add();
|
|
63
|
-
try {
|
|
64
|
-
return await work();
|
|
65
|
-
} finally {
|
|
66
|
-
removeTask();
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
export { DETERMINISTIC_NOW, DETERMINISTIC_RANDOM, DETERMINISTIC_SEED, createDeterministicRandom, provideDeterministicEnv, defineAngularPage, withPendingTask };
|
|
71
|
-
|
|
72
|
-
//# debugId=8802C5497CAAB63264756E2164756E21
|
|
73
|
-
//# sourceMappingURL=chunk-6pdj08z3.js.map
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/angular/deterministicEnv.ts", "../src/angular/page.ts", "../src/angular/pendingTask.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import { InjectionToken } from '@angular/core';\n\nconst DEFAULT_DETERMINISTIC_SEED = 'absolute-angular';\nconst DEFAULT_DETERMINISTIC_NOW = 0;\nconst HASH_MULTIPLIER = 31;\nconst FNV_OFFSET_BASIS = 2166136261;\nconst FNV_PRIME = 16777619;\nconst XORSHIFT_LEFT_1 = 13;\nconst XORSHIFT_LEFT_2 = 5;\nconst XORSHIFT_RIGHT = 17;\nconst UINT32_MAX = 0x100000000;\n\nexport type DeterministicRandom = () => number;\n\nexport type DeterministicEnvOptions = {\n\tnow?: Date | number | string;\n\tseed?: number | string;\n};\n\nexport const DETERMINISTIC_NOW = new InjectionToken<number>(\n\t'DETERMINISTIC_NOW'\n);\nexport const DETERMINISTIC_RANDOM = new InjectionToken<DeterministicRandom>(\n\t'DETERMINISTIC_RANDOM'\n);\nexport const DETERMINISTIC_SEED = new InjectionToken<string>(\n\t'DETERMINISTIC_SEED'\n);\n\nconst hashSeed = (seed: number | string) => {\n\tconst seedText = String(seed);\n\tlet hash = FNV_OFFSET_BASIS;\n\n\tfor (const char of seedText) {\n\t\thash = Math.imul(hash ^ char.charCodeAt(0), FNV_PRIME);\n\t}\n\n\treturn hash >>> 0 || HASH_MULTIPLIER;\n};\n\nexport const createDeterministicRandom = (\n\tseed: number | string = DEFAULT_DETERMINISTIC_SEED\n) => {\n\tlet state = hashSeed(seed);\n\n\treturn () => {\n\t\tstate ^= state << XORSHIFT_LEFT_1;\n\t\tstate ^= state >>> XORSHIFT_RIGHT;\n\t\tstate ^= state << XORSHIFT_LEFT_2;\n\n\t\treturn (state >>> 0) / UINT32_MAX;\n\t};\n};\n\nconst normalizeNow = (now: Date | number | string | undefined) => {\n\tif (now instanceof Date) return now.getTime();\n\tif (typeof now === 'string') return new Date(now).getTime();\n\tif (typeof now === 'number') return now;\n\n\treturn DEFAULT_DETERMINISTIC_NOW;\n};\n\nexport const provideDeterministicEnv = (\n\toptions: DeterministicEnvOptions = {}\n) => {\n\tconst seed = String(options.seed ?? DEFAULT_DETERMINISTIC_SEED);\n\tconst now = normalizeNow(options.now);\n\n\treturn [\n\t\t{ provide: DETERMINISTIC_SEED, useValue: seed },\n\t\t{ provide: DETERMINISTIC_NOW, useValue: now },\n\t\t{\n\t\t\tdeps: [DETERMINISTIC_SEED],\n\t\t\tprovide: DETERMINISTIC_RANDOM,\n\t\t\tuseFactory: createDeterministicRandom\n\t\t}\n\t];\n};\n",
|
|
6
|
-
"import type { Type } from '@angular/core';\nimport type { AngularPageDefinition } from '../../types/angular';\n\nexport const defineAngularPage = <\n\tProps extends Record<string, unknown> = Record<never, never>\n>(definition: {\n\tcomponent: Type<unknown>;\n}) => definition as AngularPageDefinition<Props>;\n",
|
|
7
|
-
"import { inject, PendingTasks } from '@angular/core';\n\nexport const withPendingTask = async <Value>(work: () => Promise<Value>) => {\n\tconst removeTask = inject(PendingTasks).add();\n\n\ttry {\n\t\treturn await work();\n\t} finally {\n\t\tremoveTask();\n\t}\n};\n"
|
|
8
|
-
],
|
|
9
|
-
"mappings": ";;AAAA;AAEA,IAAM,6BAA6B;AACnC,IAAM,4BAA4B;AAClC,IAAM,kBAAkB;AACxB,IAAM,mBAAmB;AACzB,IAAM,YAAY;AAClB,IAAM,kBAAkB;AACxB,IAAM,kBAAkB;AACxB,IAAM,iBAAiB;AACvB,IAAM,aAAa;AASZ,IAAM,oBAAoB,IAAI,eACpC,mBACD;AACO,IAAM,uBAAuB,IAAI,eACvC,sBACD;AACO,IAAM,qBAAqB,IAAI,eACrC,oBACD;AAEA,IAAM,WAAW,CAAC,SAA0B;AAAA,EAC3C,MAAM,WAAW,OAAO,IAAI;AAAA,EAC5B,IAAI,OAAO;AAAA,EAEX,WAAW,QAAQ,UAAU;AAAA,IAC5B,OAAO,KAAK,KAAK,OAAO,KAAK,WAAW,CAAC,GAAG,SAAS;AAAA,EACtD;AAAA,EAEA,OAAO,SAAS,KAAK;AAAA;AAGf,IAAM,4BAA4B,CACxC,OAAwB,+BACpB;AAAA,EACJ,IAAI,QAAQ,SAAS,IAAI;AAAA,EAEzB,OAAO,MAAM;AAAA,IACZ,SAAS,SAAS;AAAA,IAClB,SAAS,UAAU;AAAA,IACnB,SAAS,SAAS;AAAA,IAElB,QAAQ,UAAU,KAAK;AAAA;AAAA;AAIzB,IAAM,eAAe,CAAC,QAA4C;AAAA,EACjE,IAAI,eAAe;AAAA,IAAM,OAAO,IAAI,QAAQ;AAAA,EAC5C,IAAI,OAAO,QAAQ;AAAA,IAAU,OAAO,IAAI,KAAK,GAAG,EAAE,QAAQ;AAAA,EAC1D,IAAI,OAAO,QAAQ;AAAA,IAAU,OAAO;AAAA,EAEpC,OAAO;AAAA;AAGD,IAAM,0BAA0B,CACtC,UAAmC,CAAC,MAChC;AAAA,EACJ,MAAM,OAAO,OAAO,QAAQ,QAAQ,0BAA0B;AAAA,EAC9D,MAAM,MAAM,aAAa,QAAQ,GAAG;AAAA,EAEpC,OAAO;AAAA,IACN,EAAE,SAAS,oBAAoB,UAAU,KAAK;AAAA,IAC9C,EAAE,SAAS,mBAAmB,UAAU,IAAI;AAAA,IAC5C;AAAA,MACC,MAAM,CAAC,kBAAkB;AAAA,MACzB,SAAS;AAAA,MACT,YAAY;AAAA,IACb;AAAA,EACD;AAAA;;;ACzEM,IAAM,oBAAoB,CAE/B,eAEI;;;ACPN;AAEO,IAAM,kBAAkB,OAAc,SAA+B;AAAA,EAC3E,MAAM,aAAa,OAAO,YAAY,EAAE,IAAI;AAAA,EAE5C,IAAI;AAAA,IACH,OAAO,MAAM,KAAK;AAAA,YACjB;AAAA,IACD,WAAW;AAAA;AAAA;",
|
|
10
|
-
"debugId": "8802C5497CAAB63264756E2164756E21",
|
|
11
|
-
"names": []
|
|
12
|
-
}
|
package/dist/chunk-6qjbrt0k.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
buildVueVendor,
|
|
4
|
-
computeVueVendorPaths
|
|
5
|
-
} from "./chunk-bxfghpma.js";
|
|
6
|
-
import"./chunk-bmgqm774.js";
|
|
7
|
-
export {
|
|
8
|
-
computeVueVendorPaths,
|
|
9
|
-
buildVueVendor
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
//# debugId=B7374E34C1F5AE7964756E2164756E21
|
|
13
|
-
//# sourceMappingURL=chunk-6qjbrt0k.js.map
|
package/dist/chunk-6sccb4jr.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
patchRefreshGlobals,
|
|
4
|
-
rewriteReactImports
|
|
5
|
-
} from "./chunk-hcsmxw1v.js";
|
|
6
|
-
import"./chunk-jn91vzkh.js";
|
|
7
|
-
import"./chunk-bmgqm774.js";
|
|
8
|
-
export {
|
|
9
|
-
rewriteReactImports,
|
|
10
|
-
patchRefreshGlobals
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
//# debugId=63599C7FC7AB88F064756E2164756E21
|
|
14
|
-
//# sourceMappingURL=chunk-6sccb4jr.js.map
|
package/dist/chunk-798spvzv.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
IMAGE_DEFAULT_DEVICE_SIZES,
|
|
4
|
-
IMAGE_DEFAULT_IMAGE_SIZES,
|
|
5
|
-
IMAGE_DEFAULT_QUALITY
|
|
6
|
-
} from "./chunk-qh75agse.js";
|
|
7
|
-
|
|
8
|
-
// src/utils/imageClient.ts
|
|
9
|
-
var DEFAULT_DEVICE_SIZES = IMAGE_DEFAULT_DEVICE_SIZES;
|
|
10
|
-
var DEFAULT_IMAGE_SIZES = IMAGE_DEFAULT_IMAGE_SIZES;
|
|
11
|
-
var DEFAULT_QUALITY = IMAGE_DEFAULT_QUALITY;
|
|
12
|
-
var OPTIMIZATION_ENDPOINT = "/_absolute/image";
|
|
13
|
-
var buildOptimizedUrl = (src, width, quality, basePath = OPTIMIZATION_ENDPOINT) => `${basePath}?url=${encodeURIComponent(src)}&w=${width}&q=${quality}`;
|
|
14
|
-
var getAllSizes = (deviceSizes, imageSizes) => {
|
|
15
|
-
const device = deviceSizes ?? DEFAULT_DEVICE_SIZES;
|
|
16
|
-
const image = imageSizes ?? DEFAULT_IMAGE_SIZES;
|
|
17
|
-
return [...device, ...image].sort((left, right) => left - right);
|
|
18
|
-
};
|
|
19
|
-
var snapToSize = (target, sizes) => {
|
|
20
|
-
for (const size of sizes) {
|
|
21
|
-
if (size >= target)
|
|
22
|
-
return size;
|
|
23
|
-
}
|
|
24
|
-
return sizes[sizes.length - 1] ?? target;
|
|
25
|
-
};
|
|
26
|
-
var generateBlurSvg = (base64Thumbnail) => {
|
|
27
|
-
const svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 320"><filter id="b" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="20"/><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1"/></filter><image filter="url(#b)" x="0" y="0" width="100%" height="100%" href="${base64Thumbnail}"/></svg>`;
|
|
28
|
-
const encoded = encodeURIComponent(svg);
|
|
29
|
-
return `url("data:image/svg+xml,${encoded}")`;
|
|
30
|
-
};
|
|
31
|
-
var generateSrcSet = (src, width, sizes, deviceSizes, imageSizes) => {
|
|
32
|
-
const quality = DEFAULT_QUALITY;
|
|
33
|
-
if (sizes) {
|
|
34
|
-
const allSizes = getAllSizes(deviceSizes, imageSizes);
|
|
35
|
-
return allSizes.map((sizeWidth) => `${buildOptimizedUrl(src, sizeWidth, quality)} ${sizeWidth}w`).join(", ");
|
|
36
|
-
}
|
|
37
|
-
if (width) {
|
|
38
|
-
const allSizes = getAllSizes(deviceSizes, imageSizes);
|
|
39
|
-
const w1x = snapToSize(width, allSizes);
|
|
40
|
-
const w2x = snapToSize(width * 2, allSizes);
|
|
41
|
-
return `${buildOptimizedUrl(src, w1x, quality)} 1x, ${buildOptimizedUrl(src, w2x, quality)} 2x`;
|
|
42
|
-
}
|
|
43
|
-
const devSizes = deviceSizes ?? DEFAULT_DEVICE_SIZES;
|
|
44
|
-
return devSizes.map((sizeWidth) => `${buildOptimizedUrl(src, sizeWidth, quality)} ${sizeWidth}w`).join(", ");
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export { DEFAULT_QUALITY, buildOptimizedUrl, generateBlurSvg, generateSrcSet };
|
|
48
|
-
|
|
49
|
-
//# debugId=195E4C38CE13B56264756E2164756E21
|
|
50
|
-
//# sourceMappingURL=chunk-798spvzv.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/utils/imageClient.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/**\n * Client-safe image utilities — no node:fs, no Sharp, no Bun APIs.\n * These can be imported in both server and client (browser) contexts.\n */\n\nimport {\n\tIMAGE_DEFAULT_DEVICE_SIZES,\n\tIMAGE_DEFAULT_IMAGE_SIZES,\n\tIMAGE_DEFAULT_QUALITY\n} from '../constants';\n\nexport type { ImageProps } from '../../types/image';\n\nexport const DEFAULT_DEVICE_SIZES = IMAGE_DEFAULT_DEVICE_SIZES;\nexport const DEFAULT_IMAGE_SIZES = IMAGE_DEFAULT_IMAGE_SIZES;\nexport const DEFAULT_QUALITY = IMAGE_DEFAULT_QUALITY;\n\nexport const OPTIMIZATION_ENDPOINT = '/_absolute/image';\n\nexport const buildOptimizedUrl = (\n\tsrc: string,\n\twidth: number,\n\tquality: number,\n\tbasePath = OPTIMIZATION_ENDPOINT\n) => `${basePath}?url=${encodeURIComponent(src)}&w=${width}&q=${quality}`;\n\nexport const getAllSizes = (deviceSizes?: number[], imageSizes?: number[]) => {\n\tconst device = deviceSizes ?? DEFAULT_DEVICE_SIZES;\n\n\tconst image = imageSizes ?? DEFAULT_IMAGE_SIZES;\n\n\treturn [...device, ...image].sort((left, right) => left - right);\n};\n\n/** Snap a target width UP to the nearest configured size */\nconst snapToSize = (target: number, sizes: number[]) => {\n\tfor (const size of sizes) {\n\t\tif (size >= target) return size;\n\t}\n\n\treturn sizes[sizes.length - 1] ?? target;\n};\n\nexport const generateBlurSvg = (base64Thumbnail: string) => {\n\tconst svg = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 320\"><filter id=\"b\" color-interpolation-filters=\"sRGB\"><feGaussianBlur stdDeviation=\"20\"/><feColorMatrix values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1\"/></filter><image filter=\"url(#b)\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" href=\"${base64Thumbnail}\"/></svg>`;\n\n\tconst encoded = encodeURIComponent(svg);\n\n\treturn `url(\"data:image/svg+xml,${encoded}\")`;\n};\nexport const generateSrcSet = (\n\tsrc: string,\n\twidth: number | undefined,\n\tsizes: string | undefined,\n\tdeviceSizes?: number[],\n\timageSizes?: number[]\n) => {\n\tconst quality = DEFAULT_QUALITY;\n\n\tif (sizes) {\n\t\tconst allSizes = getAllSizes(deviceSizes, imageSizes);\n\n\t\treturn allSizes\n\t\t\t.map(\n\t\t\t\t(sizeWidth) =>\n\t\t\t\t\t`${buildOptimizedUrl(src, sizeWidth, quality)} ${sizeWidth}w`\n\t\t\t)\n\t\t\t.join(', ');\n\t}\n\n\tif (width) {\n\t\tconst allSizes = getAllSizes(deviceSizes, imageSizes);\n\n\t\tconst w1x = snapToSize(width, allSizes);\n\n\t\tconst w2x = snapToSize(width * 2, allSizes);\n\n\t\treturn `${buildOptimizedUrl(src, w1x, quality)} 1x, ${buildOptimizedUrl(src, w2x, quality)} 2x`;\n\t}\n\n\tconst devSizes = deviceSizes ?? DEFAULT_DEVICE_SIZES;\n\n\treturn devSizes\n\t\t.map(\n\t\t\t(sizeWidth) =>\n\t\t\t\t`${buildOptimizedUrl(src, sizeWidth, quality)} ${sizeWidth}w`\n\t\t)\n\t\t.join(', ');\n};\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;;;;;;;AAaO,IAAM,uBAAuB;AAC7B,IAAM,sBAAsB;AAC5B,IAAM,kBAAkB;AAExB,IAAM,wBAAwB;AAE9B,IAAM,oBAAoB,CAChC,KACA,OACA,SACA,WAAW,0BACP,GAAG,gBAAgB,mBAAmB,GAAG,OAAO,WAAW;AAEzD,IAAM,cAAc,CAAC,aAAwB,eAA0B;AAAA,EAC7E,MAAM,SAAS,eAAe;AAAA,EAE9B,MAAM,QAAQ,cAAc;AAAA,EAE5B,OAAO,CAAC,GAAG,QAAQ,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,UAAU,OAAO,KAAK;AAAA;AAIhE,IAAM,aAAa,CAAC,QAAgB,UAAoB;AAAA,EACvD,WAAW,QAAQ,OAAO;AAAA,IACzB,IAAI,QAAQ;AAAA,MAAQ,OAAO;AAAA,EAC5B;AAAA,EAEA,OAAO,MAAM,MAAM,SAAS,MAAM;AAAA;AAG5B,IAAM,kBAAkB,CAAC,oBAA4B;AAAA,EAC3D,MAAM,MAAM,wSAAwS;AAAA,EAEpT,MAAM,UAAU,mBAAmB,GAAG;AAAA,EAEtC,OAAO,2BAA2B;AAAA;AAE5B,IAAM,iBAAiB,CAC7B,KACA,OACA,OACA,aACA,eACI;AAAA,EACJ,MAAM,UAAU;AAAA,EAEhB,IAAI,OAAO;AAAA,IACV,MAAM,WAAW,YAAY,aAAa,UAAU;AAAA,IAEpD,OAAO,SACL,IACA,CAAC,cACA,GAAG,kBAAkB,KAAK,WAAW,OAAO,KAAK,YACnD,EACC,KAAK,IAAI;AAAA,EACZ;AAAA,EAEA,IAAI,OAAO;AAAA,IACV,MAAM,WAAW,YAAY,aAAa,UAAU;AAAA,IAEpD,MAAM,MAAM,WAAW,OAAO,QAAQ;AAAA,IAEtC,MAAM,MAAM,WAAW,QAAQ,GAAG,QAAQ;AAAA,IAE1C,OAAO,GAAG,kBAAkB,KAAK,KAAK,OAAO,SAAS,kBAAkB,KAAK,KAAK,OAAO;AAAA,EAC1F;AAAA,EAEA,MAAM,WAAW,eAAe;AAAA,EAEhC,OAAO,SACL,IACA,CAAC,cACA,GAAG,kBAAkB,KAAK,WAAW,OAAO,KAAK,YACnD,EACC,KAAK,IAAI;AAAA;",
|
|
8
|
-
"debugId": "195E4C38CE13B56264756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
package/dist/chunk-7fw6x3js.js
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
BASE_36_RADIX
|
|
4
|
-
} from "./chunk-qh75agse.js";
|
|
5
|
-
|
|
6
|
-
// src/svelte/lowerIslandSyntax.ts
|
|
7
|
-
var ISLAND_TAG_RE = /<Island\b([\s\S]*?)\/>/g;
|
|
8
|
-
var extractBracedExpression = (text, braceStart) => {
|
|
9
|
-
let depth = 0;
|
|
10
|
-
for (let index = braceStart;index < text.length; index += 1) {
|
|
11
|
-
const char = text[index];
|
|
12
|
-
if (char === "{")
|
|
13
|
-
depth += 1;
|
|
14
|
-
if (char === "}")
|
|
15
|
-
depth -= 1;
|
|
16
|
-
if (depth === 0) {
|
|
17
|
-
return text.slice(braceStart + 1, index).trim();
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return null;
|
|
21
|
-
};
|
|
22
|
-
var extractIslandAttribute = (attributeString, name) => {
|
|
23
|
-
const quotedMatch = attributeString.match(new RegExp(`\\b${name}\\s*=\\s*["']([^"']+)["']`));
|
|
24
|
-
if (quotedMatch?.[1]) {
|
|
25
|
-
return { expression: JSON.stringify(quotedMatch[1]), found: true };
|
|
26
|
-
}
|
|
27
|
-
const attributeIndex = attributeString.search(new RegExp(`\\b${name}\\s*=\\s*\\{`));
|
|
28
|
-
if (attributeIndex < 0) {
|
|
29
|
-
return { expression: "", found: false };
|
|
30
|
-
}
|
|
31
|
-
const braceStart = attributeString.indexOf("{", attributeIndex);
|
|
32
|
-
if (braceStart < 0) {
|
|
33
|
-
return { expression: "", found: false };
|
|
34
|
-
}
|
|
35
|
-
const expression = extractBracedExpression(attributeString, braceStart);
|
|
36
|
-
if (expression === null) {
|
|
37
|
-
return { expression: "", found: false };
|
|
38
|
-
}
|
|
39
|
-
return { expression, found: true };
|
|
40
|
-
};
|
|
41
|
-
var lowerSvelteIslandSyntax = (source, _mode = "server") => {
|
|
42
|
-
if (!source.includes("<Island")) {
|
|
43
|
-
return { code: source, transformed: false };
|
|
44
|
-
}
|
|
45
|
-
let islandIndex = 0;
|
|
46
|
-
const transformedMarkup = source.replace(ISLAND_TAG_RE, (fullMatch, attributeString) => {
|
|
47
|
-
const framework = extractIslandAttribute(attributeString, "framework");
|
|
48
|
-
const component = extractIslandAttribute(attributeString, "component");
|
|
49
|
-
if (!framework.found || !component.found) {
|
|
50
|
-
return fullMatch;
|
|
51
|
-
}
|
|
52
|
-
const hydrate = extractIslandAttribute(attributeString, "hydrate");
|
|
53
|
-
const props = extractIslandAttribute(attributeString, "props");
|
|
54
|
-
const slotId = `absolute-svelte-island-${islandIndex.toString(BASE_36_RADIX)}`;
|
|
55
|
-
islandIndex += 1;
|
|
56
|
-
const resolveExpression = `await __absoluteResolveIslandHtml(${JSON.stringify(slotId)}, { component: ${component.expression}, framework: ${framework.expression}, hydrate: ${hydrate.found ? hydrate.expression : JSON.stringify("load")}, props: ${props.found ? props.expression : "{}"} })`;
|
|
57
|
-
return `<div data-absolute-island-slot="${slotId}" style="display: contents">{@html ${resolveExpression}}</div>`;
|
|
58
|
-
});
|
|
59
|
-
const importLine = 'import { resolveIslandHtml as __absoluteResolveIslandHtml } from "@absolutejs/absolute/svelte";';
|
|
60
|
-
if (transformedMarkup.includes("<script")) {
|
|
61
|
-
return {
|
|
62
|
-
code: transformedMarkup.replace(/<script(\s[^>]*)?>/, (match) => `${match}
|
|
63
|
-
${importLine}
|
|
64
|
-
`),
|
|
65
|
-
transformed: true
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
return {
|
|
69
|
-
code: `<script lang="ts">
|
|
70
|
-
${importLine}
|
|
71
|
-
</script>
|
|
72
|
-
${transformedMarkup}`,
|
|
73
|
-
transformed: true
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
// src/svelte/lowerAwaitSlotSyntax.ts
|
|
78
|
-
var AWAIT_BLOCK_RE = /\{#await\s+([^}]+)\}([\s\S]*?)\{:then(?:\s+([A-Za-z_$][\w$]*))?\}([\s\S]*?)(?:\{:catch(?:\s+([A-Za-z_$][\w$]*))?\}([\s\S]*?))?\{\/await\}/g;
|
|
79
|
-
var escapeTemplateLiteral = (value) => value.replaceAll("\\", "\\\\").replaceAll("`", "\\`").replaceAll("${", "\\${");
|
|
80
|
-
var markupToTemplateLiteral = (markup) => {
|
|
81
|
-
const escaped = escapeTemplateLiteral(markup.trim());
|
|
82
|
-
const withExpressions = escaped.replace(/\{([^{}]+)\}/g, (_, expression) => `\${${String(expression).trim()}}`);
|
|
83
|
-
return `\`${withExpressions}\``;
|
|
84
|
-
};
|
|
85
|
-
var lowerSvelteAwaitSlotSyntax = (source) => {
|
|
86
|
-
if (!source.includes("{#await")) {
|
|
87
|
-
return { code: source, transformed: false };
|
|
88
|
-
}
|
|
89
|
-
let awaitIndex = 0;
|
|
90
|
-
let transformed = false;
|
|
91
|
-
const lowered = source.replace(AWAIT_BLOCK_RE, (fullMatch, awaitExpression, pendingMarkup, thenIdentifier, thenMarkup, catchIdentifier, catchMarkup) => {
|
|
92
|
-
const trimmedAwaitExpression = awaitExpression.trim();
|
|
93
|
-
if (!trimmedAwaitExpression) {
|
|
94
|
-
return fullMatch;
|
|
95
|
-
}
|
|
96
|
-
const slotId = `absolute-svelte-await-${awaitIndex.toString(BASE_36_RADIX)}`;
|
|
97
|
-
awaitIndex += 1;
|
|
98
|
-
transformed = true;
|
|
99
|
-
const thenValueIdentifier = thenIdentifier?.trim() || "__awaitValue";
|
|
100
|
-
const catchValueIdentifier = catchIdentifier?.trim() || "__awaitError";
|
|
101
|
-
const fallbackHtml = markupToTemplateLiteral(pendingMarkup);
|
|
102
|
-
const resolvedHtml = markupToTemplateLiteral(thenMarkup);
|
|
103
|
-
const rejectedHtml = typeof catchMarkup === "string" ? markupToTemplateLiteral(catchMarkup) : null;
|
|
104
|
-
const catchBranch = rejectedHtml ? `catch (${catchValueIdentifier}) { return ${rejectedHtml}; }` : "catch (_absoluteAwaitError) { throw _absoluteAwaitError; }";
|
|
105
|
-
return `<AbsoluteAwaitSlot id="${slotId}" fallbackHtml={${fallbackHtml}} resolve={async () => { try { const ${thenValueIdentifier} = await (${trimmedAwaitExpression}); return ${resolvedHtml}; } ${catchBranch} }} />`;
|
|
106
|
-
});
|
|
107
|
-
if (!transformed) {
|
|
108
|
-
return { code: source, transformed: false };
|
|
109
|
-
}
|
|
110
|
-
const importLine = 'import AbsoluteAwaitSlot from "@absolutejs/absolute/svelte/components/AwaitSlot.svelte";';
|
|
111
|
-
if (lowered.includes("<script")) {
|
|
112
|
-
return {
|
|
113
|
-
code: lowered.replace(/<script(\s[^>]*)?>/, (match) => `${match}
|
|
114
|
-
${importLine}
|
|
115
|
-
`),
|
|
116
|
-
transformed: true
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
return {
|
|
120
|
-
code: `<script lang="ts">
|
|
121
|
-
${importLine}
|
|
122
|
-
</script>
|
|
123
|
-
${lowered}`,
|
|
124
|
-
transformed: true
|
|
125
|
-
};
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
export { lowerSvelteIslandSyntax, lowerSvelteAwaitSlotSyntax };
|
|
129
|
-
|
|
130
|
-
//# debugId=953584163C1368DF64756E2164756E21
|
|
131
|
-
//# sourceMappingURL=chunk-7fw6x3js.js.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/svelte/lowerIslandSyntax.ts", "../src/svelte/lowerAwaitSlotSyntax.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import { BASE_36_RADIX } from '../constants';\n\nconst ISLAND_TAG_RE = /<Island\\b([\\s\\S]*?)\\/>/g;\n\nconst extractBracedExpression = (text: string, braceStart: number) => {\n\tlet depth = 0;\n\tfor (let index = braceStart; index < text.length; index += 1) {\n\t\tconst char = text[index];\n\t\tif (char === '{') depth += 1;\n\t\tif (char === '}') depth -= 1;\n\t\tif (depth === 0) {\n\t\t\treturn text.slice(braceStart + 1, index).trim();\n\t\t}\n\t}\n\n\treturn null;\n};\n\nconst extractIslandAttribute = (attributeString: string, name: string) => {\n\tconst quotedMatch = attributeString.match(\n\t\tnew RegExp(`\\\\b${name}\\\\s*=\\\\s*[\"']([^\"']+)[\"']`)\n\t);\n\tif (quotedMatch?.[1]) {\n\t\treturn { expression: JSON.stringify(quotedMatch[1]), found: true };\n\t}\n\n\tconst attributeIndex = attributeString.search(\n\t\tnew RegExp(`\\\\b${name}\\\\s*=\\\\s*\\\\{`)\n\t);\n\tif (attributeIndex < 0) {\n\t\treturn { expression: '', found: false };\n\t}\n\n\tconst braceStart = attributeString.indexOf('{', attributeIndex);\n\tif (braceStart < 0) {\n\t\treturn { expression: '', found: false };\n\t}\n\n\tconst expression = extractBracedExpression(attributeString, braceStart);\n\tif (expression === null) {\n\t\treturn { expression: '', found: false };\n\t}\n\n\treturn { expression, found: true };\n};\n\nexport const lowerSvelteIslandSyntax = (\n\tsource: string,\n\t_mode: 'server' | 'client' = 'server'\n) => {\n\tif (!source.includes('<Island')) {\n\t\treturn { code: source, transformed: false };\n\t}\n\n\tlet islandIndex = 0;\n\tconst transformedMarkup = source.replace(\n\t\tISLAND_TAG_RE,\n\t\t(fullMatch, attributeString: string) => {\n\t\t\tconst framework = extractIslandAttribute(\n\t\t\t\tattributeString,\n\t\t\t\t'framework'\n\t\t\t);\n\t\t\tconst component = extractIslandAttribute(\n\t\t\t\tattributeString,\n\t\t\t\t'component'\n\t\t\t);\n\t\t\tif (!framework.found || !component.found) {\n\t\t\t\treturn fullMatch;\n\t\t\t}\n\n\t\t\tconst hydrate = extractIslandAttribute(attributeString, 'hydrate');\n\t\t\tconst props = extractIslandAttribute(attributeString, 'props');\n\t\t\tconst slotId = `absolute-svelte-island-${islandIndex.toString(BASE_36_RADIX)}`;\n\t\t\tislandIndex += 1;\n\n\t\t\tconst resolveExpression = `await __absoluteResolveIslandHtml(${JSON.stringify(\n\t\t\t\tslotId\n\t\t\t)}, { component: ${component.expression}, framework: ${framework.expression}, hydrate: ${\n\t\t\t\thydrate.found ? hydrate.expression : JSON.stringify('load')\n\t\t\t}, props: ${props.found ? props.expression : '{}'} })`;\n\n\t\t\treturn `<div data-absolute-island-slot=\"${slotId}\" style=\"display: contents\">{@html ${resolveExpression}}</div>`;\n\t\t}\n\t);\n\n\tconst importLine =\n\t\t'import { resolveIslandHtml as __absoluteResolveIslandHtml } from \"@absolutejs/absolute/svelte\";';\n\n\tif (transformedMarkup.includes('<script')) {\n\t\treturn {\n\t\t\tcode: transformedMarkup.replace(\n\t\t\t\t/<script(\\s[^>]*)?>/,\n\t\t\t\t(match) => `${match}\\n${importLine}\\n`\n\t\t\t),\n\t\t\ttransformed: true\n\t\t};\n\t}\n\n\treturn {\n\t\tcode: `<script lang=\"ts\">\\n${importLine}\\n</script>\\n${transformedMarkup}`,\n\t\ttransformed: true\n\t};\n};\n",
|
|
6
|
-
"import { BASE_36_RADIX } from '../constants';\n\nconst AWAIT_BLOCK_RE =\n\t/\\{#await\\s+([^}]+)\\}([\\s\\S]*?)\\{:then(?:\\s+([A-Za-z_$][\\w$]*))?\\}([\\s\\S]*?)(?:\\{:catch(?:\\s+([A-Za-z_$][\\w$]*))?\\}([\\s\\S]*?))?\\{\\/await\\}/g;\n\nconst escapeTemplateLiteral = (value: string) =>\n\tvalue\n\t\t.replaceAll('\\\\', '\\\\\\\\')\n\t\t.replaceAll('`', '\\\\`')\n\t\t.replaceAll('${', '\\\\${');\n\nconst markupToTemplateLiteral = (markup: string) => {\n\tconst escaped = escapeTemplateLiteral(markup.trim());\n\tconst withExpressions = escaped.replace(\n\t\t/\\{([^{}]+)\\}/g,\n\t\t(_, expression) => `\\${${String(expression).trim()}}`\n\t);\n\n\treturn `\\`${withExpressions}\\``;\n};\n\nexport const lowerSvelteAwaitSlotSyntax = (source: string) => {\n\tif (!source.includes('{#await')) {\n\t\treturn { code: source, transformed: false };\n\t}\n\n\tlet awaitIndex = 0;\n\tlet transformed = false;\n\tconst lowered = source.replace(\n\t\tAWAIT_BLOCK_RE,\n\t\t(\n\t\t\tfullMatch,\n\t\t\tawaitExpression: string,\n\t\t\tpendingMarkup: string,\n\t\t\tthenIdentifier: string | undefined,\n\t\t\tthenMarkup: string,\n\t\t\tcatchIdentifier: string | undefined,\n\t\t\tcatchMarkup: string | undefined\n\t\t) => {\n\t\t\tconst trimmedAwaitExpression = awaitExpression.trim();\n\t\t\tif (!trimmedAwaitExpression) {\n\t\t\t\treturn fullMatch;\n\t\t\t}\n\n\t\t\tconst slotId = `absolute-svelte-await-${awaitIndex.toString(BASE_36_RADIX)}`;\n\t\t\tawaitIndex += 1;\n\t\t\ttransformed = true;\n\n\t\t\tconst thenValueIdentifier =\n\t\t\t\tthenIdentifier?.trim() || '__awaitValue';\n\t\t\tconst catchValueIdentifier =\n\t\t\t\tcatchIdentifier?.trim() || '__awaitError';\n\t\t\tconst fallbackHtml = markupToTemplateLiteral(pendingMarkup);\n\t\t\tconst resolvedHtml = markupToTemplateLiteral(thenMarkup);\n\t\t\tconst rejectedHtml =\n\t\t\t\ttypeof catchMarkup === 'string'\n\t\t\t\t\t? markupToTemplateLiteral(catchMarkup)\n\t\t\t\t\t: null;\n\t\t\tconst catchBranch = rejectedHtml\n\t\t\t\t? `catch (${catchValueIdentifier}) { return ${rejectedHtml}; }`\n\t\t\t\t: 'catch (_absoluteAwaitError) { throw _absoluteAwaitError; }';\n\n\t\t\treturn `<AbsoluteAwaitSlot id=\"${slotId}\" fallbackHtml={${fallbackHtml}} resolve={async () => { try { const ${thenValueIdentifier} = await (${trimmedAwaitExpression}); return ${resolvedHtml}; } ${catchBranch} }} />`;\n\t\t}\n\t);\n\n\tif (!transformed) {\n\t\treturn { code: source, transformed: false };\n\t}\n\n\tconst importLine =\n\t\t'import AbsoluteAwaitSlot from \"@absolutejs/absolute/svelte/components/AwaitSlot.svelte\";';\n\n\tif (lowered.includes('<script')) {\n\t\treturn {\n\t\t\tcode: lowered.replace(\n\t\t\t\t/<script(\\s[^>]*)?>/,\n\t\t\t\t(match) => `${match}\\n${importLine}\\n`\n\t\t\t),\n\t\t\ttransformed: true\n\t\t};\n\t}\n\n\treturn {\n\t\tcode: `<script lang=\"ts\">\\n${importLine}\\n</script>\\n${lowered}`,\n\t\ttransformed: true\n\t};\n};\n"
|
|
7
|
-
],
|
|
8
|
-
"mappings": ";;;;;;AAEA,IAAM,gBAAgB;AAEtB,IAAM,0BAA0B,CAAC,MAAc,eAAuB;AAAA,EACrE,IAAI,QAAQ;AAAA,EACZ,SAAS,QAAQ,WAAY,QAAQ,KAAK,QAAQ,SAAS,GAAG;AAAA,IAC7D,MAAM,OAAO,KAAK;AAAA,IAClB,IAAI,SAAS;AAAA,MAAK,SAAS;AAAA,IAC3B,IAAI,SAAS;AAAA,MAAK,SAAS;AAAA,IAC3B,IAAI,UAAU,GAAG;AAAA,MAChB,OAAO,KAAK,MAAM,aAAa,GAAG,KAAK,EAAE,KAAK;AAAA,IAC/C;AAAA,EACD;AAAA,EAEA,OAAO;AAAA;AAGR,IAAM,yBAAyB,CAAC,iBAAyB,SAAiB;AAAA,EACzE,MAAM,cAAc,gBAAgB,MACnC,IAAI,OAAO,MAAM,+BAA+B,CACjD;AAAA,EACA,IAAI,cAAc,IAAI;AAAA,IACrB,OAAO,EAAE,YAAY,KAAK,UAAU,YAAY,EAAE,GAAG,OAAO,KAAK;AAAA,EAClE;AAAA,EAEA,MAAM,iBAAiB,gBAAgB,OACtC,IAAI,OAAO,MAAM,kBAAkB,CACpC;AAAA,EACA,IAAI,iBAAiB,GAAG;AAAA,IACvB,OAAO,EAAE,YAAY,IAAI,OAAO,MAAM;AAAA,EACvC;AAAA,EAEA,MAAM,aAAa,gBAAgB,QAAQ,KAAK,cAAc;AAAA,EAC9D,IAAI,aAAa,GAAG;AAAA,IACnB,OAAO,EAAE,YAAY,IAAI,OAAO,MAAM;AAAA,EACvC;AAAA,EAEA,MAAM,aAAa,wBAAwB,iBAAiB,UAAU;AAAA,EACtE,IAAI,eAAe,MAAM;AAAA,IACxB,OAAO,EAAE,YAAY,IAAI,OAAO,MAAM;AAAA,EACvC;AAAA,EAEA,OAAO,EAAE,YAAY,OAAO,KAAK;AAAA;AAG3B,IAAM,0BAA0B,CACtC,QACA,QAA6B,aACzB;AAAA,EACJ,IAAI,CAAC,OAAO,SAAS,SAAS,GAAG;AAAA,IAChC,OAAO,EAAE,MAAM,QAAQ,aAAa,MAAM;AAAA,EAC3C;AAAA,EAEA,IAAI,cAAc;AAAA,EAClB,MAAM,oBAAoB,OAAO,QAChC,eACA,CAAC,WAAW,oBAA4B;AAAA,IACvC,MAAM,YAAY,uBACjB,iBACA,WACD;AAAA,IACA,MAAM,YAAY,uBACjB,iBACA,WACD;AAAA,IACA,IAAI,CAAC,UAAU,SAAS,CAAC,UAAU,OAAO;AAAA,MACzC,OAAO;AAAA,IACR;AAAA,IAEA,MAAM,UAAU,uBAAuB,iBAAiB,SAAS;AAAA,IACjE,MAAM,QAAQ,uBAAuB,iBAAiB,OAAO;AAAA,IAC7D,MAAM,SAAS,0BAA0B,YAAY,SAAS,aAAa;AAAA,IAC3E,eAAe;AAAA,IAEf,MAAM,oBAAoB,qCAAqC,KAAK,UACnE,MACD,mBAAmB,UAAU,0BAA0B,UAAU,wBAChE,QAAQ,QAAQ,QAAQ,aAAa,KAAK,UAAU,MAAM,aAC/C,MAAM,QAAQ,MAAM,aAAa;AAAA,IAE7C,OAAO,mCAAmC,4CAA4C;AAAA,GAExF;AAAA,EAEA,MAAM,aACL;AAAA,EAED,IAAI,kBAAkB,SAAS,SAAS,GAAG;AAAA,IAC1C,OAAO;AAAA,MACN,MAAM,kBAAkB,QACvB,sBACA,CAAC,UAAU,GAAG;AAAA,EAAU;AAAA,CACzB;AAAA,MACA,aAAa;AAAA,IACd;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,IACN,MAAM;AAAA,EAAuB;AAAA;AAAA,EAA0B;AAAA,IACvD,aAAa;AAAA,EACd;AAAA;;;ACnGD,IAAM,iBACL;AAED,IAAM,wBAAwB,CAAC,UAC9B,MACE,WAAW,MAAM,MAAM,EACvB,WAAW,KAAK,KAAK,EACrB,WAAW,MAAM,MAAM;AAE1B,IAAM,0BAA0B,CAAC,WAAmB;AAAA,EACnD,MAAM,UAAU,sBAAsB,OAAO,KAAK,CAAC;AAAA,EACnD,MAAM,kBAAkB,QAAQ,QAC/B,iBACA,CAAC,GAAG,eAAe,MAAM,OAAO,UAAU,EAAE,KAAK,IAClD;AAAA,EAEA,OAAO,KAAK;AAAA;AAGN,IAAM,6BAA6B,CAAC,WAAmB;AAAA,EAC7D,IAAI,CAAC,OAAO,SAAS,SAAS,GAAG;AAAA,IAChC,OAAO,EAAE,MAAM,QAAQ,aAAa,MAAM;AAAA,EAC3C;AAAA,EAEA,IAAI,aAAa;AAAA,EACjB,IAAI,cAAc;AAAA,EAClB,MAAM,UAAU,OAAO,QACtB,gBACA,CACC,WACA,iBACA,eACA,gBACA,YACA,iBACA,gBACI;AAAA,IACJ,MAAM,yBAAyB,gBAAgB,KAAK;AAAA,IACpD,IAAI,CAAC,wBAAwB;AAAA,MAC5B,OAAO;AAAA,IACR;AAAA,IAEA,MAAM,SAAS,yBAAyB,WAAW,SAAS,aAAa;AAAA,IACzE,cAAc;AAAA,IACd,cAAc;AAAA,IAEd,MAAM,sBACL,gBAAgB,KAAK,KAAK;AAAA,IAC3B,MAAM,uBACL,iBAAiB,KAAK,KAAK;AAAA,IAC5B,MAAM,eAAe,wBAAwB,aAAa;AAAA,IAC1D,MAAM,eAAe,wBAAwB,UAAU;AAAA,IACvD,MAAM,eACL,OAAO,gBAAgB,WACpB,wBAAwB,WAAW,IACnC;AAAA,IACJ,MAAM,cAAc,eACjB,UAAU,kCAAkC,oBAC5C;AAAA,IAEH,OAAO,0BAA0B,yBAAyB,oDAAoD,gCAAgC,mCAAmC,mBAAmB;AAAA,GAEtM;AAAA,EAEA,IAAI,CAAC,aAAa;AAAA,IACjB,OAAO,EAAE,MAAM,QAAQ,aAAa,MAAM;AAAA,EAC3C;AAAA,EAEA,MAAM,aACL;AAAA,EAED,IAAI,QAAQ,SAAS,SAAS,GAAG;AAAA,IAChC,OAAO;AAAA,MACN,MAAM,QAAQ,QACb,sBACA,CAAC,UAAU,GAAG;AAAA,EAAU;AAAA,CACzB;AAAA,MACA,aAAa;AAAA,IACd;AAAA,EACD;AAAA,EAEA,OAAO;AAAA,IACN,MAAM;AAAA,EAAuB;AAAA;AAAA,EAA0B;AAAA,IACvD,aAAa;AAAA,EACd;AAAA;",
|
|
9
|
-
"debugId": "953584163C1368DF64756E2164756E21",
|
|
10
|
-
"names": []
|
|
11
|
-
}
|
package/dist/chunk-7kjj42xm.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
// src/build/vendorEntrySource.ts
|
|
3
|
-
var generateVendorEntrySource = (specifier) => `import * as __abs_ns from '${specifier}';
|
|
4
|
-
` + `export * from '${specifier}';
|
|
5
|
-
` + `export default __abs_ns.default;
|
|
6
|
-
`;
|
|
7
|
-
|
|
8
|
-
export { generateVendorEntrySource };
|
|
9
|
-
|
|
10
|
-
//# debugId=83BDF69867AE714264756E2164756E21
|
|
11
|
-
//# sourceMappingURL=chunk-7kjj42xm.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/build/vendorEntrySource.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"/** Generate a vendor entry source that re-exports both named AND default\n * exports robustly, regardless of whether the source has a default export.\n *\n * Why this is non-trivial:\n * - Per ECMA spec, `export *` re-exports only NAMED exports — never the\n * default. So a vendor wrapping `firebase/compat/app` (whose entire\n * surface is `export { default } from '@firebase/app-compat'`) ends up\n * completely empty, breaking `import firebase from \"/vendor/X.js\"`.\n * - Naively adding `export { default } from 'X'` makes Bun.build fail with\n * \"No matching export for 'default'\" when X has no default export.\n * - Heuristic detection from the resolved file (e.g. checking for\n * `export default` or `module.exports`) is unreliable because\n * `Bun.resolveSync` and `Bun.build` can pick different files for the\n * same specifier (CJS `index.js` vs ESM `index.mjs` via the package's\n * `exports` map).\n *\n * Solution: import the package as a namespace and re-export the namespace's\n * default. Works for every shape:\n * - ESM with default: `__ns.default` is the original default value\n * - ESM without default: `__ns.default` is `undefined` (consumer that\n * imports default would have failed against the original package too)\n * - CJS: Bun's interop synthesizes a default on the namespace\n *\n * The namespace import has no compile-time check on `default` existence,\n * so Bun.build accepts it for all packages. */\nexport const generateVendorEntrySource = (specifier: string) =>\n\t`import * as __abs_ns from '${specifier}';\\n` +\n\t`export * from '${specifier}';\\n` +\n\t`export default __abs_ns.default;\\n`;\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;AAyBO,IAAM,4BAA4B,CAAC,cACzC,8BAA8B;AAAA,IAC9B,kBAAkB;AAAA,IAClB;AAAA;",
|
|
8
|
-
"debugId": "83BDF69867AE714264756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
package/dist/chunk-7mtstdqn.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
captureStreamingSlotWarningCallsite,
|
|
4
|
-
runWithStreamingSlotWarningScope,
|
|
5
|
-
ssrErrorPage
|
|
6
|
-
} from "./chunk-gd6wmknh.js";
|
|
7
|
-
import {
|
|
8
|
-
getCurrentRouteRegistrationCallsite
|
|
9
|
-
} from "./chunk-mtgf69xn.js";
|
|
10
|
-
import {
|
|
11
|
-
hasErrorConvention,
|
|
12
|
-
injectIslandPageContextStream,
|
|
13
|
-
renderConventionError,
|
|
14
|
-
resolveErrorConventionPath,
|
|
15
|
-
withRegisteredStreamingSlots
|
|
16
|
-
} from "./chunk-v5vmsxmy.js";
|
|
17
|
-
import {
|
|
18
|
-
isSsrCacheDirty
|
|
19
|
-
} from "./chunk-d9c0am65.js";
|
|
20
|
-
import {
|
|
21
|
-
__require
|
|
22
|
-
} from "./chunk-bmgqm774.js";
|
|
23
|
-
|
|
24
|
-
// src/react/pageHandler.ts
|
|
25
|
-
var buildRefreshSetup = () => {
|
|
26
|
-
if (false) {}
|
|
27
|
-
return "window.__REFRESH_BUFFER__=[];" + "window.$RefreshReg$=function(t,i){window.__REFRESH_BUFFER__.push([t,i])};" + "window.$RefreshSig$=function(){return function(t){return t}};";
|
|
28
|
-
};
|
|
29
|
-
var buildDirtyResponse = (index, maybeProps) => {
|
|
30
|
-
const propsScript = maybeProps ? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)};` : "";
|
|
31
|
-
const dirtyFlag = "window.__SSR_DIRTY__=true;";
|
|
32
|
-
const refreshSetup = buildRefreshSetup();
|
|
33
|
-
const inlineScript = `${propsScript}${dirtyFlag}${refreshSetup}`;
|
|
34
|
-
const html = `<!DOCTYPE html><html><head></head><body>` + `<script>${inlineScript}</script>` + `<script type="module" src="${index}"></script>` + `</body></html>`;
|
|
35
|
-
return new Response(html, {
|
|
36
|
-
headers: { "Content-Type": "text/html" }
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
var handleReactPageRequest = async (input) => {
|
|
40
|
-
const Page = input.Page;
|
|
41
|
-
const resolvedIndex = input.index;
|
|
42
|
-
const options = input;
|
|
43
|
-
const maybeProps = input.props;
|
|
44
|
-
const pageName = Page.name || Page.displayName || "";
|
|
45
|
-
if (isSsrCacheDirty("react")) {
|
|
46
|
-
return buildDirtyResponse(resolvedIndex, maybeProps);
|
|
47
|
-
}
|
|
48
|
-
try {
|
|
49
|
-
const handlerCallsite = options?.collectStreamingSlots === true ? undefined : getCurrentRouteRegistrationCallsite() ?? captureStreamingSlotWarningCallsite();
|
|
50
|
-
const renderPageResponse = async () => {
|
|
51
|
-
const { createElement } = await import("react");
|
|
52
|
-
const { renderToReadableStream } = await import("react-dom/server");
|
|
53
|
-
const element = maybeProps !== undefined ? createElement(Page, maybeProps) : createElement(Page);
|
|
54
|
-
const propsScript = maybeProps ? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)};` : "";
|
|
55
|
-
const refreshSetup = buildRefreshSetup();
|
|
56
|
-
const stream = await renderToReadableStream(element, {
|
|
57
|
-
bootstrapModules: [resolvedIndex],
|
|
58
|
-
bootstrapScriptContent: propsScript + refreshSetup || undefined,
|
|
59
|
-
onError(error) {
|
|
60
|
-
console.error("[SSR] React streaming error:", error);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
const htmlStream = injectIslandPageContextStream(stream);
|
|
64
|
-
if (resolveErrorConventionPath("react", pageName) || hasErrorConvention("react")) {
|
|
65
|
-
const html = await new Response(htmlStream).text();
|
|
66
|
-
return new Response(html, {
|
|
67
|
-
headers: { "Content-Type": "text/html" }
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
return new Response(htmlStream, {
|
|
71
|
-
headers: { "Content-Type": "text/html" }
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
|
-
return await runWithStreamingSlotWarningScope(() => options?.collectStreamingSlots === true ? withRegisteredStreamingSlots(renderPageResponse, options) : renderPageResponse(), { handlerCallsite });
|
|
75
|
-
} catch (error) {
|
|
76
|
-
console.error("[SSR] React render error:", error);
|
|
77
|
-
const conventionResponse = await renderConventionError("react", pageName, error);
|
|
78
|
-
if (conventionResponse)
|
|
79
|
-
return conventionResponse;
|
|
80
|
-
return new Response(ssrErrorPage("react", error), {
|
|
81
|
-
headers: { "Content-Type": "text/html" },
|
|
82
|
-
status: 500
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
export { handleReactPageRequest };
|
|
88
|
-
|
|
89
|
-
//# debugId=DEFBBE719E4B3C9164756E2164756E21
|
|
90
|
-
//# sourceMappingURL=chunk-7mtstdqn.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/react/pageHandler.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import type { ComponentType as ReactComponent } from 'react';\nimport { injectIslandPageContextStream } from '../core/islandPageContext';\nimport { getCurrentRouteRegistrationCallsite } from '../core/devRouteRegistrationCallsite';\nimport {\n\ttype StreamingSlotEnhancerOptions,\n\twithRegisteredStreamingSlots\n} from '../core/responseEnhancers';\nimport {\n\tcaptureStreamingSlotWarningCallsite,\n\trunWithStreamingSlotWarningScope\n} from '../core/streamingSlotWarningScope';\nimport { isSsrCacheDirty, markSsrCacheDirty } from '../core/ssrCache';\nimport { ssrErrorPage } from '../utils/ssrErrorPage';\nimport {\n\thasErrorConvention,\n\trenderConventionError,\n\tresolveErrorConventionPath\n} from '../utils/resolveConvention';\n\ntype ReactPageRenderOptions = StreamingSlotEnhancerOptions & {\n\tcollectStreamingSlots?: boolean;\n};\nexport type ReactPageRequestInput<\n\tProps extends Record<string, unknown> = Record<never, never>\n> = ReactPageRenderOptions & {\n\tPage: ReactComponent<Props>;\n\tindex: string;\n} & (keyof Props extends never\n\t\t? { props?: NoInfer<Props> }\n\t\t: { props: NoInfer<Props> });\n\nconst buildRefreshSetup = () => {\n\tif (process.env.NODE_ENV === 'production') {\n\t\treturn '';\n\t}\n\n\treturn (\n\t\t'window.__REFRESH_BUFFER__=[];' +\n\t\t'window.$RefreshReg$=function(t,i){window.__REFRESH_BUFFER__.push([t,i])};' +\n\t\t'window.$RefreshSig$=function(){return function(t){return t}};'\n\t);\n};\n\nconst buildDirtyResponse = (\n\tindex: string,\n\tmaybeProps: Record<string, unknown> | undefined\n) => {\n\tconst propsScript = maybeProps\n\t\t? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)};`\n\t\t: '';\n\tconst dirtyFlag = 'window.__SSR_DIRTY__=true;';\n\tconst refreshSetup = buildRefreshSetup();\n\tconst inlineScript = `${propsScript}${dirtyFlag}${refreshSetup}`;\n\tconst html =\n\t\t`<!DOCTYPE html><html><head></head><body>` +\n\t\t`<script>${inlineScript}</script>` +\n\t\t`<script type=\"module\" src=\"${index}\"></script>` +\n\t\t`</body></html>`;\n\n\treturn new Response(html, {\n\t\theaders: { 'Content-Type': 'text/html' }\n\t});\n};\n\nexport const handleReactPageRequest = async <\n\tProps extends Record<string, unknown> = Record<never, never>\n>(\n\tinput: ReactPageRequestInput<Props>\n) => {\n\tconst Page = input.Page;\n\tconst resolvedIndex = input.index;\n\tconst options = input;\n\tconst maybeProps = input.props;\n\tconst pageName = Page.name || Page.displayName || '';\n\n\tif (isSsrCacheDirty('react')) {\n\t\treturn buildDirtyResponse(resolvedIndex, maybeProps);\n\t}\n\n\ttry {\n\t\tconst handlerCallsite =\n\t\t\toptions?.collectStreamingSlots === true\n\t\t\t\t? undefined\n\t\t\t\t: (getCurrentRouteRegistrationCallsite() ??\n\t\t\t\t\tcaptureStreamingSlotWarningCallsite());\n\t\tconst renderPageResponse = async () => {\n\t\t\tconst { createElement } = await import('react');\n\t\t\tconst { renderToReadableStream } = await import('react-dom/server');\n\n\t\t\tconst element =\n\t\t\t\tmaybeProps !== undefined\n\t\t\t\t\t? createElement(Page, maybeProps)\n\t\t\t\t\t: createElement(Page);\n\n\t\t\tconst propsScript = maybeProps\n\t\t\t\t? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)};`\n\t\t\t\t: '';\n\n\t\t\t// Buffer React Refresh registrations until the runtime loads.\n\t\t\t// Bun.build injects $RefreshReg$ calls in the bundle, but the\n\t\t\t// real runtime isn't ready yet. This buffering function captures\n\t\t\t// all registrations, then replays them when the runtime is set up.\n\t\t\tconst refreshSetup = buildRefreshSetup();\n\n\t\t\tconst stream = await renderToReadableStream(element, {\n\t\t\t\tbootstrapModules: [resolvedIndex],\n\t\t\t\tbootstrapScriptContent: propsScript + refreshSetup || undefined,\n\t\t\t\tonError(error: unknown) {\n\t\t\t\t\tconsole.error('[SSR] React streaming error:', error);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst htmlStream = injectIslandPageContextStream(stream);\n\t\t\tif (\n\t\t\t\tresolveErrorConventionPath('react', pageName) ||\n\t\t\t\thasErrorConvention('react')\n\t\t\t) {\n\t\t\t\tconst html = await new Response(htmlStream).text();\n\n\t\t\t\treturn new Response(html, {\n\t\t\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn new Response(htmlStream, {\n\t\t\t\theaders: { 'Content-Type': 'text/html' }\n\t\t\t});\n\t\t};\n\n\t\treturn await runWithStreamingSlotWarningScope(\n\t\t\t() =>\n\t\t\t\toptions?.collectStreamingSlots === true\n\t\t\t\t\t? withRegisteredStreamingSlots(renderPageResponse, options)\n\t\t\t\t\t: renderPageResponse(),\n\t\t\t{ handlerCallsite }\n\t\t);\n\t} catch (error) {\n\t\tconsole.error('[SSR] React render error:', error);\n\n\t\tconst conventionResponse = await renderConventionError(\n\t\t\t'react',\n\t\t\tpageName,\n\t\t\terror\n\t\t);\n\t\tif (conventionResponse) return conventionResponse;\n\n\t\treturn new Response(ssrErrorPage('react', error), {\n\t\t\theaders: { 'Content-Type': 'text/html' },\n\t\t\tstatus: 500\n\t\t});\n\t}\n};\n\nexport const invalidateReactSsrCache = () => {\n\tmarkSsrCacheDirty('react');\n};\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AA+BA,IAAM,oBAAoB,MAAM;AAAA,EAC/B,IAAI,OAAuC,CAE3C;AAAA,EAEA,OACC,kCACA,8EACA;AAAA;AAIF,IAAM,qBAAqB,CAC1B,OACA,eACI;AAAA,EACJ,MAAM,cAAc,aACjB,4BAA4B,KAAK,UAAU,UAAU,OACrD;AAAA,EACH,MAAM,YAAY;AAAA,EAClB,MAAM,eAAe,kBAAkB;AAAA,EACvC,MAAM,eAAe,GAAG,cAAc,YAAY;AAAA,EAClD,MAAM,OACL,6CACA,WAAW,0BACX,8BAA8B,qBAC9B;AAAA,EAED,OAAO,IAAI,SAAS,MAAM;AAAA,IACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,EACxC,CAAC;AAAA;AAGK,IAAM,yBAAyB,OAGrC,UACI;AAAA,EACJ,MAAM,OAAO,MAAM;AAAA,EACnB,MAAM,gBAAgB,MAAM;AAAA,EAC5B,MAAM,UAAU;AAAA,EAChB,MAAM,aAAa,MAAM;AAAA,EACzB,MAAM,WAAW,KAAK,QAAQ,KAAK,eAAe;AAAA,EAElD,IAAI,gBAAgB,OAAO,GAAG;AAAA,IAC7B,OAAO,mBAAmB,eAAe,UAAU;AAAA,EACpD;AAAA,EAEA,IAAI;AAAA,IACH,MAAM,kBACL,SAAS,0BAA0B,OAChC,YACC,oCAAoC,KACtC,oCAAoC;AAAA,IACvC,MAAM,qBAAqB,YAAY;AAAA,MACtC,QAAQ,kBAAkB,MAAa;AAAA,MACvC,QAAQ,2BAA2B,MAAa;AAAA,MAEhD,MAAM,UACL,eAAe,YACZ,cAAc,MAAM,UAAU,IAC9B,cAAc,IAAI;AAAA,MAEtB,MAAM,cAAc,aACjB,4BAA4B,KAAK,UAAU,UAAU,OACrD;AAAA,MAMH,MAAM,eAAe,kBAAkB;AAAA,MAEvC,MAAM,SAAS,MAAM,uBAAuB,SAAS;AAAA,QACpD,kBAAkB,CAAC,aAAa;AAAA,QAChC,wBAAwB,cAAc,gBAAgB;AAAA,QACtD,OAAO,CAAC,OAAgB;AAAA,UACvB,QAAQ,MAAM,gCAAgC,KAAK;AAAA;AAAA,MAErD,CAAC;AAAA,MACD,MAAM,aAAa,8BAA8B,MAAM;AAAA,MACvD,IACC,2BAA2B,SAAS,QAAQ,KAC5C,mBAAmB,OAAO,GACzB;AAAA,QACD,MAAM,OAAO,MAAM,IAAI,SAAS,UAAU,EAAE,KAAK;AAAA,QAEjD,OAAO,IAAI,SAAS,MAAM;AAAA,UACzB,SAAS,EAAE,gBAAgB,YAAY;AAAA,QACxC,CAAC;AAAA,MACF;AAAA,MAEA,OAAO,IAAI,SAAS,YAAY;AAAA,QAC/B,SAAS,EAAE,gBAAgB,YAAY;AAAA,MACxC,CAAC;AAAA;AAAA,IAGF,OAAO,MAAM,iCACZ,MACC,SAAS,0BAA0B,OAChC,6BAA6B,oBAAoB,OAAO,IACxD,mBAAmB,GACvB,EAAE,gBAAgB,CACnB;AAAA,IACC,OAAO,OAAO;AAAA,IACf,QAAQ,MAAM,6BAA6B,KAAK;AAAA,IAEhD,MAAM,qBAAqB,MAAM,sBAChC,SACA,UACA,KACD;AAAA,IACA,IAAI;AAAA,MAAoB,OAAO;AAAA,IAE/B,OAAO,IAAI,SAAS,aAAa,SAAS,KAAK,GAAG;AAAA,MACjD,SAAS,EAAE,gBAAgB,YAAY;AAAA,MACvC,QAAQ;AAAA,IACT,CAAC;AAAA;AAAA;",
|
|
8
|
-
"debugId": "DEFBBE719E4B3C9164756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
package/dist/chunk-851whwc7.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
// src/utils/escapeScriptContent.ts
|
|
3
|
-
var ESCAPE_LOOKUP = {
|
|
4
|
-
"\u2028": "\\u2028",
|
|
5
|
-
"\u2029": "\\u2029",
|
|
6
|
-
"<": "\\u003C"
|
|
7
|
-
};
|
|
8
|
-
var ESCAPE_REGEX = /[<\u2028\u2029]/g;
|
|
9
|
-
var escapeScriptContent = (content) => content.replace(ESCAPE_REGEX, (char) => {
|
|
10
|
-
const escaped = ESCAPE_LOOKUP[char];
|
|
11
|
-
return escaped !== undefined ? escaped : char;
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
export { escapeScriptContent };
|
|
15
|
-
|
|
16
|
-
//# debugId=9ABD109FC31DA07664756E2164756E21
|
|
17
|
-
//# sourceMappingURL=chunk-851whwc7.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/utils/escapeScriptContent.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"const ESCAPE_LOOKUP: Record<string, string> = {\n\t'\\u2028': '\\\\u2028',\n\t'\\u2029': '\\\\u2029',\n\t'<': '\\\\u003C'\n};\n\nconst ESCAPE_REGEX = /[<\\u2028\\u2029]/g;\n\nexport const escapeScriptContent = (content: string) =>\n\tcontent.replace(ESCAPE_REGEX, (char) => {\n\t\tconst escaped = ESCAPE_LOOKUP[char];\n\n\t\treturn escaped !== undefined ? escaped : char;\n\t});\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;AAAA,IAAM,gBAAwC;AAAA,EAC7C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,KAAK;AACN;AAEA,IAAM,eAAe;AAEd,IAAM,sBAAsB,CAAC,YACnC,QAAQ,QAAQ,cAAc,CAAC,SAAS;AAAA,EACvC,MAAM,UAAU,cAAc;AAAA,EAE9B,OAAO,YAAY,YAAY,UAAU;AAAA,CACzC;",
|
|
8
|
-
"debugId": "9ABD109FC31DA07664756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|