@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-3yjzpcne.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
// src/core/islandManifest.ts
|
|
3
|
-
var toIslandFrameworkSegment = (framework) => framework[0]?.toUpperCase() + framework.slice(1);
|
|
4
|
-
var collectFrameworkIslands = (manifest, prefix) => {
|
|
5
|
-
const entries = {};
|
|
6
|
-
let found = false;
|
|
7
|
-
for (const [key, value] of Object.entries(manifest)) {
|
|
8
|
-
if (!key.startsWith(prefix))
|
|
9
|
-
continue;
|
|
10
|
-
const component = key.slice(prefix.length);
|
|
11
|
-
if (!component)
|
|
12
|
-
continue;
|
|
13
|
-
entries[component] = value;
|
|
14
|
-
found = true;
|
|
15
|
-
}
|
|
16
|
-
return found ? entries : undefined;
|
|
17
|
-
};
|
|
18
|
-
var getIslandManifestEntries = (manifest) => {
|
|
19
|
-
const islands = {};
|
|
20
|
-
const frameworks = ["react", "svelte", "vue", "angular"];
|
|
21
|
-
for (const framework of frameworks) {
|
|
22
|
-
const prefix = `Island${toIslandFrameworkSegment(framework)}`;
|
|
23
|
-
const entries = collectFrameworkIslands(manifest, prefix);
|
|
24
|
-
if (entries)
|
|
25
|
-
islands[framework] = entries;
|
|
26
|
-
}
|
|
27
|
-
return islands;
|
|
28
|
-
};
|
|
29
|
-
var getIslandManifestKey = (framework, component) => `Island${toIslandFrameworkSegment(framework)}${component}`;
|
|
30
|
-
|
|
31
|
-
export { getIslandManifestEntries, getIslandManifestKey };
|
|
32
|
-
|
|
33
|
-
//# debugId=A4777F528EEB5C9A64756E2164756E21
|
|
34
|
-
//# sourceMappingURL=chunk-3yjzpcne.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/core/islandManifest.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import type { IslandFramework } from '../../types/island';\n\nconst toIslandFrameworkSegment = (framework: IslandFramework) =>\n\tframework[0]?.toUpperCase() + framework.slice(1);\n\nconst collectFrameworkIslands = (\n\tmanifest: Record<string, string>,\n\tprefix: string\n) => {\n\tconst entries: Record<string, string> = {};\n\tlet found = false;\n\n\tfor (const [key, value] of Object.entries(manifest)) {\n\t\tif (!key.startsWith(prefix)) continue;\n\n\t\tconst component = key.slice(prefix.length);\n\t\tif (!component) continue;\n\n\t\tentries[component] = value;\n\t\tfound = true;\n\t}\n\n\treturn found ? entries : undefined;\n};\n\nexport const getIslandManifestEntries = (manifest: Record<string, string>) => {\n\tconst islands: Partial<Record<IslandFramework, Record<string, string>>> =\n\t\t{};\n\tconst frameworks: IslandFramework[] = ['react', 'svelte', 'vue', 'angular'];\n\n\tfor (const framework of frameworks) {\n\t\tconst prefix = `Island${toIslandFrameworkSegment(framework)}`;\n\t\tconst entries = collectFrameworkIslands(manifest, prefix);\n\t\tif (entries) islands[framework] = entries;\n\t}\n\n\treturn islands;\n};\nexport const getIslandManifestKey = (\n\tframework: IslandFramework,\n\tcomponent: string\n) => `Island${toIslandFrameworkSegment(framework)}${component}`;\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;AAEA,IAAM,2BAA2B,CAAC,cACjC,UAAU,IAAI,YAAY,IAAI,UAAU,MAAM,CAAC;AAEhD,IAAM,0BAA0B,CAC/B,UACA,WACI;AAAA,EACJ,MAAM,UAAkC,CAAC;AAAA,EACzC,IAAI,QAAQ;AAAA,EAEZ,YAAY,KAAK,UAAU,OAAO,QAAQ,QAAQ,GAAG;AAAA,IACpD,IAAI,CAAC,IAAI,WAAW,MAAM;AAAA,MAAG;AAAA,IAE7B,MAAM,YAAY,IAAI,MAAM,OAAO,MAAM;AAAA,IACzC,IAAI,CAAC;AAAA,MAAW;AAAA,IAEhB,QAAQ,aAAa;AAAA,IACrB,QAAQ;AAAA,EACT;AAAA,EAEA,OAAO,QAAQ,UAAU;AAAA;AAGnB,IAAM,2BAA2B,CAAC,aAAqC;AAAA,EAC7E,MAAM,UACL,CAAC;AAAA,EACF,MAAM,aAAgC,CAAC,SAAS,UAAU,OAAO,SAAS;AAAA,EAE1E,WAAW,aAAa,YAAY;AAAA,IACnC,MAAM,SAAS,SAAS,yBAAyB,SAAS;AAAA,IAC1D,MAAM,UAAU,wBAAwB,UAAU,MAAM;AAAA,IACxD,IAAI;AAAA,MAAS,QAAQ,aAAa;AAAA,EACnC;AAAA,EAEA,OAAO;AAAA;AAED,IAAM,uBAAuB,CACnC,WACA,cACI,SAAS,yBAAyB,SAAS,IAAI;",
|
|
8
|
-
"debugId": "A4777F528EEB5C9A64756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
package/dist/chunk-41bf6aqt.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
generateManifest
|
|
4
|
-
} from "./chunk-mtxzyxpg.js";
|
|
5
|
-
import"./chunk-hyjs4bqs.js";
|
|
6
|
-
import"./chunk-cbkrwmvh.js";
|
|
7
|
-
import"./chunk-gf0ygptk.js";
|
|
8
|
-
import"./chunk-p5504p14.js";
|
|
9
|
-
import"./chunk-qh75agse.js";
|
|
10
|
-
import"./chunk-3yjzpcne.js";
|
|
11
|
-
import"./chunk-bmgqm774.js";
|
|
12
|
-
export {
|
|
13
|
-
generateManifest
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
//# debugId=C379B9CF434B0B1A64756E2164756E21
|
|
17
|
-
//# sourceMappingURL=chunk-41bf6aqt.js.map
|
package/dist/chunk-4d39r92n.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
scanEntryPoints
|
|
4
|
-
} from "./chunk-11zpfqz6.js";
|
|
5
|
-
import {
|
|
6
|
-
DEFAULT_QUALITY,
|
|
7
|
-
OPTIMIZATION_ENDPOINT,
|
|
8
|
-
buildOptimizedUrl,
|
|
9
|
-
getAllSizes
|
|
10
|
-
} from "./chunk-kk8w9rh5.js";
|
|
11
|
-
import {
|
|
12
|
-
IMAGE_DEFAULT_DEVICE_SIZES
|
|
13
|
-
} from "./chunk-qh75agse.js";
|
|
14
|
-
|
|
15
|
-
// src/build/optimizeHtmlImages.ts
|
|
16
|
-
import { readFile, writeFile } from "fs/promises";
|
|
17
|
-
var IMG_REGEX = /<img\s+([^>]*?)data-optimized([^>]*?)\/?>/gi;
|
|
18
|
-
var getAttr = (attrs, name) => {
|
|
19
|
-
const regex = new RegExp(`${name}\\s*=\\s*["']([^"']*)["']`, "i");
|
|
20
|
-
const match = regex.exec(attrs);
|
|
21
|
-
return match ? match[1] : undefined;
|
|
22
|
-
};
|
|
23
|
-
var removeAttr = (attrs, name) => attrs.replace(new RegExp(`\\s*${name}\\s*=\\s*["'][^"']*["']`, "gi"), "");
|
|
24
|
-
var transformImgTag = (fullMatch, before, after, config) => {
|
|
25
|
-
const attrs = before + after;
|
|
26
|
-
const src = getAttr(attrs, "src");
|
|
27
|
-
if (!src)
|
|
28
|
-
return fullMatch;
|
|
29
|
-
const widthStr = getAttr(attrs, "width");
|
|
30
|
-
const sizes = getAttr(attrs, "sizes");
|
|
31
|
-
const quality = config?.quality ?? DEFAULT_QUALITY;
|
|
32
|
-
const basePath = config?.path ?? OPTIMIZATION_ENDPOINT;
|
|
33
|
-
const width = widthStr ? parseInt(widthStr, 10) : undefined;
|
|
34
|
-
const optimizedSrc = buildOptimizedUrl(src, width ?? 0, quality, basePath);
|
|
35
|
-
let srcset;
|
|
36
|
-
if (sizes) {
|
|
37
|
-
const allSizes = getAllSizes(config);
|
|
38
|
-
srcset = allSizes.map((sizeWidth) => `${buildOptimizedUrl(src, sizeWidth, quality, basePath)} ${sizeWidth}w`).join(", ");
|
|
39
|
-
} else if (width) {
|
|
40
|
-
const allSizes = getAllSizes(config);
|
|
41
|
-
const w1x = snapUp(width, allSizes);
|
|
42
|
-
const w2x = snapUp(width * 2, allSizes);
|
|
43
|
-
srcset = `${buildOptimizedUrl(src, w1x, quality, basePath)} 1x, ${buildOptimizedUrl(src, w2x, quality, basePath)} 2x`;
|
|
44
|
-
} else {
|
|
45
|
-
const deviceSizes = config?.deviceSizes ?? IMAGE_DEFAULT_DEVICE_SIZES;
|
|
46
|
-
srcset = deviceSizes.map((sizeWidth) => `${buildOptimizedUrl(src, sizeWidth, quality, basePath)} ${sizeWidth}w`).join(", ");
|
|
47
|
-
}
|
|
48
|
-
let cleanAttrs = removeAttr(attrs, "data-optimized");
|
|
49
|
-
cleanAttrs = removeAttr(cleanAttrs, "src");
|
|
50
|
-
cleanAttrs = removeAttr(cleanAttrs, "loading");
|
|
51
|
-
cleanAttrs = removeAttr(cleanAttrs, "decoding");
|
|
52
|
-
cleanAttrs = cleanAttrs.trim();
|
|
53
|
-
const resolvedSizes = sizes ?? (width ? undefined : "100vw");
|
|
54
|
-
const sizesAttr = resolvedSizes ? ` sizes="${resolvedSizes}"` : "";
|
|
55
|
-
return `<img src="${optimizedSrc}" srcset="${srcset}"${sizesAttr} ${cleanAttrs} loading="lazy" decoding="async">`;
|
|
56
|
-
};
|
|
57
|
-
var snapUp = (target, sizes) => {
|
|
58
|
-
for (const size of sizes) {
|
|
59
|
-
if (size >= target)
|
|
60
|
-
return size;
|
|
61
|
-
}
|
|
62
|
-
return sizes[sizes.length - 1] ?? target;
|
|
63
|
-
};
|
|
64
|
-
var optimizeHtmlImages = async (directory, config) => {
|
|
65
|
-
const htmlFiles = await scanEntryPoints(directory, "*.html");
|
|
66
|
-
const tasks = htmlFiles.map(async (filePath) => {
|
|
67
|
-
const original = await readFile(filePath, "utf8");
|
|
68
|
-
if (!original.includes("data-optimized"))
|
|
69
|
-
return;
|
|
70
|
-
const updated = original.replace(IMG_REGEX, (match, before, after) => transformImgTag(match, before, after, config));
|
|
71
|
-
if (updated !== original) {
|
|
72
|
-
await writeFile(filePath, updated, "utf8");
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
await Promise.all(tasks);
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export { optimizeHtmlImages };
|
|
79
|
-
|
|
80
|
-
//# debugId=C7780E76D47EF80B64756E2164756E21
|
|
81
|
-
//# sourceMappingURL=chunk-4d39r92n.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/build/optimizeHtmlImages.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import { readFile, writeFile } from 'node:fs/promises';\nimport {\n\tDEFAULT_QUALITY,\n\tOPTIMIZATION_ENDPOINT,\n\tbuildOptimizedUrl,\n\tgetAllSizes\n} from '../utils/imageProcessing';\nimport { scanEntryPoints } from './scanEntryPoints';\nimport type { ImageConfig } from '../../types/image';\nimport { IMAGE_DEFAULT_DEVICE_SIZES } from '../constants';\n\n/**\n * Build-time transform for HTML files: finds `<img data-optimized ...>` tags\n * and rewrites them to use the optimization endpoint with responsive srcset.\n *\n * Example input:\n * <img data-optimized src=\"/photos/hero.jpg\" width=\"1200\" height=\"800\"\n * sizes=\"(max-width: 768px) 100vw, 50vw\" alt=\"Hero\">\n *\n * Output:\n * <img src=\"/_absolute/image?url=...&w=1200&q=75\"\n * srcset=\"/_absolute/image?url=...&w=640&q=75 640w, ...\"\n * sizes=\"(max-width: 768px) 100vw, 50vw\"\n * width=\"1200\" height=\"800\" alt=\"Hero\"\n * loading=\"lazy\" decoding=\"async\">\n */\n\nconst IMG_REGEX = /<img\\s+([^>]*?)data-optimized([^>]*?)\\/?>/gi;\n\nconst getAttr = (attrs: string, name: string) => {\n\tconst regex = new RegExp(`${name}\\\\s*=\\\\s*[\"']([^\"']*)[\"']`, 'i');\n\n\tconst match = regex.exec(attrs);\n\n\treturn match ? match[1] : undefined;\n};\n\nconst removeAttr = (attrs: string, name: string) =>\n\tattrs.replace(new RegExp(`\\\\s*${name}\\\\s*=\\\\s*[\"'][^\"']*[\"']`, 'gi'), '');\n\nconst transformImgTag = (fullMatch: string, before: string, after: string, config?: ImageConfig) => {\n\tconst attrs = before + after;\n\n\tconst src = getAttr(attrs, 'src');\n\n\tif (!src) return fullMatch;\n\n\tconst widthStr = getAttr(attrs, 'width');\n\n\tconst sizes = getAttr(attrs, 'sizes');\n\n\tconst quality = config?.quality ?? DEFAULT_QUALITY;\n\n\tconst basePath = config?.path ?? OPTIMIZATION_ENDPOINT;\n\n\tconst width = widthStr ? parseInt(widthStr, 10) : undefined;\n\n\t// Build optimized src\n\tconst optimizedSrc = buildOptimizedUrl(src, width ?? 0, quality, basePath);\n\n\t// Build srcset\n\tlet srcset: string;\n\n\tif (sizes) {\n\t\tconst allSizes = getAllSizes(config);\n\n\t\tsrcset = allSizes\n\t\t\t.map((sizeWidth) => `${buildOptimizedUrl(src, sizeWidth, quality, basePath)} ${sizeWidth}w`)\n\t\t\t.join(', ');\n\t} else if (width) {\n\t\t// 1x and 2x density descriptors\n\t\tconst allSizes = getAllSizes(config);\n\n\t\tconst w1x = snapUp(width, allSizes);\n\n\t\tconst w2x = snapUp(width * 2, allSizes);\n\n\t\tsrcset = `${buildOptimizedUrl(src, w1x, quality, basePath)} 1x, ${buildOptimizedUrl(src, w2x, quality, basePath)} 2x`;\n\t} else {\n\t\tconst deviceSizes = config?.deviceSizes ?? IMAGE_DEFAULT_DEVICE_SIZES;\n\n\t\tsrcset = deviceSizes\n\t\t\t.map((sizeWidth) => `${buildOptimizedUrl(src, sizeWidth, quality, basePath)} ${sizeWidth}w`)\n\t\t\t.join(', ');\n\t}\n\n\t// Clean original attributes — remove data-optimized and src (we'll re-add them)\n\tlet cleanAttrs = removeAttr(attrs, 'data-optimized');\n\n\tcleanAttrs = removeAttr(cleanAttrs, 'src');\n\n\t// Remove loading/decoding if present (we'll set our own)\n\tcleanAttrs = removeAttr(cleanAttrs, 'loading');\n\n\tcleanAttrs = removeAttr(cleanAttrs, 'decoding');\n\n\tcleanAttrs = cleanAttrs.trim();\n\n\tconst resolvedSizes = sizes ?? (width ? undefined : '100vw');\n\n\tconst sizesAttr = resolvedSizes ? ` sizes=\"${resolvedSizes}\"` : '';\n\n\treturn `<img src=\"${optimizedSrc}\" srcset=\"${srcset}\"${sizesAttr} ${cleanAttrs} loading=\"lazy\" decoding=\"async\">`;\n};\n\nconst snapUp = (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 optimizeHtmlImages = async (\n\tdirectory: string,\n\tconfig?: ImageConfig\n) => {\n\tconst htmlFiles = await scanEntryPoints(directory, '*.html');\n\n\tconst tasks = htmlFiles.map(async (filePath) => {\n\t\tconst original = await readFile(filePath, 'utf8');\n\n\t\tif (!original.includes('data-optimized')) return;\n\n\t\tconst updated = original.replace(\n\t\t\tIMG_REGEX,\n\t\t\t(match, before, after) => transformImgTag(match, before, after, config)\n\t\t);\n\n\t\tif (updated !== original) {\n\t\t\tawait writeFile(filePath, updated, 'utf8');\n\t\t}\n\t});\n\n\tawait Promise.all(tasks);\n};\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AA2BA,IAAM,YAAY;AAElB,IAAM,UAAU,CAAC,OAAe,SAAiB;AAAA,EAChD,MAAM,QAAQ,IAAI,OAAO,GAAG,iCAAiC,GAAG;AAAA,EAEhE,MAAM,QAAQ,MAAM,KAAK,KAAK;AAAA,EAE9B,OAAO,QAAQ,MAAM,KAAK;AAAA;AAG3B,IAAM,aAAa,CAAC,OAAe,SAClC,MAAM,QAAQ,IAAI,OAAO,OAAO,+BAA+B,IAAI,GAAG,EAAE;AAEzE,IAAM,kBAAkB,CAAC,WAAmB,QAAgB,OAAe,WAAyB;AAAA,EACnG,MAAM,QAAQ,SAAS;AAAA,EAEvB,MAAM,MAAM,QAAQ,OAAO,KAAK;AAAA,EAEhC,IAAI,CAAC;AAAA,IAAK,OAAO;AAAA,EAEjB,MAAM,WAAW,QAAQ,OAAO,OAAO;AAAA,EAEvC,MAAM,QAAQ,QAAQ,OAAO,OAAO;AAAA,EAEpC,MAAM,UAAU,QAAQ,WAAW;AAAA,EAEnC,MAAM,WAAW,QAAQ,QAAQ;AAAA,EAEjC,MAAM,QAAQ,WAAW,SAAS,UAAU,EAAE,IAAI;AAAA,EAGlD,MAAM,eAAe,kBAAkB,KAAK,SAAS,GAAG,SAAS,QAAQ;AAAA,EAGzE,IAAI;AAAA,EAEJ,IAAI,OAAO;AAAA,IACV,MAAM,WAAW,YAAY,MAAM;AAAA,IAEnC,SAAS,SACP,IAAI,CAAC,cAAc,GAAG,kBAAkB,KAAK,WAAW,SAAS,QAAQ,KAAK,YAAY,EAC1F,KAAK,IAAI;AAAA,EACZ,EAAO,SAAI,OAAO;AAAA,IAEjB,MAAM,WAAW,YAAY,MAAM;AAAA,IAEnC,MAAM,MAAM,OAAO,OAAO,QAAQ;AAAA,IAElC,MAAM,MAAM,OAAO,QAAQ,GAAG,QAAQ;AAAA,IAEtC,SAAS,GAAG,kBAAkB,KAAK,KAAK,SAAS,QAAQ,SAAS,kBAAkB,KAAK,KAAK,SAAS,QAAQ;AAAA,EAChH,EAAO;AAAA,IACN,MAAM,cAAc,QAAQ,eAAe;AAAA,IAE3C,SAAS,YACP,IAAI,CAAC,cAAc,GAAG,kBAAkB,KAAK,WAAW,SAAS,QAAQ,KAAK,YAAY,EAC1F,KAAK,IAAI;AAAA;AAAA,EAIZ,IAAI,aAAa,WAAW,OAAO,gBAAgB;AAAA,EAEnD,aAAa,WAAW,YAAY,KAAK;AAAA,EAGzC,aAAa,WAAW,YAAY,SAAS;AAAA,EAE7C,aAAa,WAAW,YAAY,UAAU;AAAA,EAE9C,aAAa,WAAW,KAAK;AAAA,EAE7B,MAAM,gBAAgB,UAAU,QAAQ,YAAY;AAAA,EAEpD,MAAM,YAAY,gBAAgB,WAAW,mBAAmB;AAAA,EAEhE,OAAO,aAAa,yBAAyB,UAAU,aAAa;AAAA;AAGrE,IAAM,SAAS,CAAC,QAAgB,UAAoB;AAAA,EACnD,WAAW,QAAQ,OAAO;AAAA,IACzB,IAAI,QAAQ;AAAA,MAAQ,OAAO;AAAA,EAC5B;AAAA,EAEA,OAAO,MAAM,MAAM,SAAS,MAAM;AAAA;AAG5B,IAAM,qBAAqB,OACjC,WACA,WACI;AAAA,EACJ,MAAM,YAAY,MAAM,gBAAgB,WAAW,QAAQ;AAAA,EAE3D,MAAM,QAAQ,UAAU,IAAI,OAAO,aAAa;AAAA,IAC/C,MAAM,WAAW,MAAM,SAAS,UAAU,MAAM;AAAA,IAEhD,IAAI,CAAC,SAAS,SAAS,gBAAgB;AAAA,MAAG;AAAA,IAE1C,MAAM,UAAU,SAAS,QACxB,WACA,CAAC,OAAO,QAAQ,UAAU,gBAAgB,OAAO,QAAQ,OAAO,MAAM,CACvE;AAAA,IAEA,IAAI,YAAY,UAAU;AAAA,MACzB,MAAM,UAAU,UAAU,SAAS,MAAM;AAAA,IAC1C;AAAA,GACA;AAAA,EAED,MAAM,QAAQ,IAAI,KAAK;AAAA;",
|
|
8
|
-
"debugId": "C7780E76D47EF80B64756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|
package/dist/chunk-5003emhv.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
// src/core/currentIslandRegistry.ts
|
|
3
|
-
var requireCurrentIslandRegistry = () => {
|
|
4
|
-
const registry = globalThis.__absoluteIslandRegistry;
|
|
5
|
-
if (!registry) {
|
|
6
|
-
throw new Error("No island registry is active. Configure `islands.registry` in absolute.config.ts before rendering <Island />.");
|
|
7
|
-
}
|
|
8
|
-
return registry;
|
|
9
|
-
};
|
|
10
|
-
var setCurrentIslandRegistry = (registry) => {
|
|
11
|
-
globalThis.__absoluteIslandRegistry = registry;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export { requireCurrentIslandRegistry, setCurrentIslandRegistry };
|
|
15
|
-
|
|
16
|
-
//# debugId=97E6069773F416CD64756E2164756E21
|
|
17
|
-
//# sourceMappingURL=chunk-5003emhv.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/core/currentIslandRegistry.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import type { IslandRegistryInput } from '../../types/island';\n\ndeclare global {\n\tvar __absoluteIslandRegistry: IslandRegistryInput | undefined;\n}\n\nexport const getCurrentIslandRegistry = () =>\n\tglobalThis.__absoluteIslandRegistry;\nexport const requireCurrentIslandRegistry = () => {\n\tconst registry = globalThis.__absoluteIslandRegistry;\n\tif (!registry) {\n\t\tthrow new Error(\n\t\t\t'No island registry is active. Configure `islands.registry` in absolute.config.ts before rendering <Island />.'\n\t\t);\n\t}\n\n\treturn registry;\n};\nexport const setCurrentIslandRegistry = (\n\tregistry: IslandRegistryInput | undefined\n) => {\n\tglobalThis.__absoluteIslandRegistry = registry;\n};\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": ";;AAQO,IAAM,+BAA+B,MAAM;AAAA,EACjD,MAAM,WAAW,WAAW;AAAA,EAC5B,IAAI,CAAC,UAAU;AAAA,IACd,MAAM,IAAI,MACT,+GACD;AAAA,EACD;AAAA,EAEA,OAAO;AAAA;AAED,IAAM,2BAA2B,CACvC,aACI;AAAA,EACJ,WAAW,2BAA2B;AAAA;",
|
|
8
|
-
"debugId": "97E6069773F416CD64756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|