@absolutejs/absolute 0.20.0-beta.174 → 0.20.0-beta.176
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 +32 -0
- package/changelog.json +76 -0
- package/dist/angular/browser.js +13 -2
- package/dist/angular/browser.js.map +3 -3
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js +67 -8
- package/dist/angular/index.js.map +10 -8
- package/dist/angular/server.js +67 -8
- package/dist/angular/server.js.map +10 -8
- package/dist/build.js +315 -120
- package/dist/build.js.map +21 -19
- package/dist/cli/{compile-n6fs2vmx.js → compile-w2z6c9vt.js} +1 -1
- package/dist/cli/{dev-6h1f0mzq.js → dev-8br5mr7t.js} +16 -2
- package/dist/cli/{index-mqevg32w.js → index-6522t968.js} +21 -2
- package/dist/cli/{index-bhyd3ejc.js → index-7z1hh3fg.js} +1 -1
- package/dist/cli/index.js +6 -6
- package/dist/cli/{islands-vk05sj6v.js → islands-bx67g15t.js} +4 -4
- package/dist/cli/{mobile-62b6j3j7.js → mobile-we5q51ey.js} +2 -2
- package/dist/cli/{start-jh6kyp92.js → start-srs11bm8.js} +2 -2
- package/dist/client/chunks/index-4j1snyh2.js +18 -0
- package/dist/client/chunks/index-4j1snyh2.js.map +10 -0
- package/dist/client/chunks/{index-6b66nzyf.js → index-a3rpg5kw.js} +6 -16
- package/dist/client/chunks/{index-6b66nzyf.js.map → index-a3rpg5kw.js.map} +3 -4
- package/dist/client/chunks/{islands-s2ta5ajb.js → islands-mfjmdwnb.js} +11 -4
- package/dist/client/chunks/{islands-s2ta5ajb.js.map → islands-mfjmdwnb.js.map} +3 -3
- package/dist/client/chunks/{react-dcvkaba2.js → react-sprprqzs.js} +20 -4
- package/dist/client/chunks/react-sprprqzs.js.map +10 -0
- package/dist/client/chunks/svelte-6ewphsvj.js +30 -0
- package/dist/client/chunks/svelte-6ewphsvj.js.map +10 -0
- package/dist/client/chunks/{vue-a84fzp3v.js → vue-db6ppn1f.js} +14 -4
- package/dist/client/chunks/vue-db6ppn1f.js.map +10 -0
- package/dist/client/index.js +65 -8
- package/dist/client/index.js.map +4 -4
- package/dist/client/navigation.js +5 -3
- package/dist/client/navigation.js.map +2 -2
- package/dist/client/prefetch.js +1 -1
- package/dist/dev/client/handlers/islands.ts +85 -0
- package/dist/dev/client/hmrClient.ts +6 -0
- package/dist/index.js +460 -244
- package/dist/index.js.map +23 -21
- package/dist/islands/index.js +57 -10
- package/dist/islands/index.js.map +9 -7
- package/dist/react/browser.js +15 -4
- package/dist/react/browser.js.map +5 -5
- package/dist/react/components/client.js +506 -0
- package/dist/react/components/index.js +14 -15
- package/dist/react/components/index.js.map +4 -4
- package/dist/react/components/server/index.js +728 -0
- package/dist/react/hooks/index.js +14 -15
- package/dist/react/hooks/index.js.map +4 -4
- package/dist/react/index.js +66 -6
- package/dist/react/index.js.map +11 -9
- package/dist/react/router/browser.js +7 -8
- package/dist/react/router/browser.js.map +4 -4
- package/dist/react/router/index.js +7 -8
- package/dist/react/router/index.js.map +4 -4
- package/dist/react/server.js +14 -1
- package/dist/react/server.js.map +4 -4
- package/dist/src/build/buildReactServerComponents.d.ts +4 -0
- package/dist/src/build/islandEntries.d.ts +5 -0
- package/dist/src/client/hydrators/react.d.ts +7 -0
- package/dist/src/client/hydrators/svelte.d.ts +3 -0
- package/dist/src/client/hydrators/vue.d.ts +3 -0
- package/dist/src/client/preserveIslandMarkup.d.ts +5 -0
- package/dist/src/core/islandServerGeneration.d.ts +3 -0
- package/dist/src/react/components/client.d.ts +4 -0
- package/dist/src/react/components/server/index.d.ts +8 -0
- package/dist/src/react/serverComponents/constants.d.ts +2 -1
- package/dist/svelte/index.js +66 -6
- package/dist/svelte/index.js.map +10 -8
- package/dist/svelte/server.js +38 -3
- package/dist/svelte/server.js.map +6 -5
- package/dist/types/build.d.ts +3 -2
- package/dist/types/globals.d.ts +15 -0
- package/dist/vue/browser.js +26 -16
- package/dist/vue/browser.js.map +5 -5
- package/dist/vue/index.js +65 -21
- package/dist/vue/index.js.map +10 -9
- package/package.json +1 -1
- package/dist/client/chunks/react-dcvkaba2.js.map +0 -10
- package/dist/client/chunks/svelte-4yfa5bxa.js +0 -17
- package/dist/client/chunks/svelte-4yfa5bxa.js.map +0 -10
- package/dist/client/chunks/vue-a84fzp3v.js.map +0 -10
package/dist/types/build.d.ts
CHANGED
|
@@ -433,8 +433,9 @@ export type BaseBuildConfig = {
|
|
|
433
433
|
reactDirectory?: string;
|
|
434
434
|
/** Opt-in React Server Components. Pages are the files directly in
|
|
435
435
|
* `<dir>/pages`; serve one with `handleReactServerPageRequest({ page:
|
|
436
|
-
* asset(manifest, '<Page>RSC') })
|
|
437
|
-
*
|
|
436
|
+
* asset(manifest, '<Page>RSC') })`; a file whose name already ends in
|
|
437
|
+
* RSC keeps its name (pages/HomeRSC.tsx → `'HomeRSC'`). Requires
|
|
438
|
+
* react-server-dom-webpack at the version of react. */
|
|
438
439
|
reactServerComponentsDirectory?: string;
|
|
439
440
|
vueDirectory?: string;
|
|
440
441
|
angularDirectory?: string;
|
package/dist/types/globals.d.ts
CHANGED
|
@@ -16,6 +16,10 @@ declare global {
|
|
|
16
16
|
| undefined;
|
|
17
17
|
var __absoluteReloadEntry:
|
|
18
18
|
((cause: string) => Promise<boolean>) | undefined;
|
|
19
|
+
/** Bumped by the dev rebuild after an island component changes; the
|
|
20
|
+
* island server renderers drop their compiled/resolved copies when it
|
|
21
|
+
* moves (src/core/islandServerGeneration.ts). */
|
|
22
|
+
var __absoluteIslandServerGeneration: number | undefined;
|
|
19
23
|
/* Server-side globals (Bun --hot reload state) */
|
|
20
24
|
var __hmrServerStartup: boolean | undefined;
|
|
21
25
|
var __hmrBuildDuration: number | undefined;
|
|
@@ -238,6 +242,17 @@ declare global {
|
|
|
238
242
|
string,
|
|
239
243
|
Array<{ attributes: Record<string, string>; innerHTML: string }>
|
|
240
244
|
>;
|
|
245
|
+
/** Dev only: re-mounts the islands on this page that render a
|
|
246
|
+
* rebuilt island bundle. Installed by the island runtime, called by
|
|
247
|
+
* the HMR client; resolves false when an island could not be swapped
|
|
248
|
+
* in place (the client then reloads). */
|
|
249
|
+
__ABS_ISLAND_HMR__?: (
|
|
250
|
+
updates: Array<{
|
|
251
|
+
component: string;
|
|
252
|
+
framework: string;
|
|
253
|
+
modulePath: string;
|
|
254
|
+
}>
|
|
255
|
+
) => Promise<boolean>;
|
|
241
256
|
}
|
|
242
257
|
|
|
243
258
|
/**
|
package/dist/vue/browser.js
CHANGED
|
@@ -147,6 +147,19 @@ var init_browserTranslationAttributes = __esm(() => {
|
|
|
147
147
|
];
|
|
148
148
|
});
|
|
149
149
|
|
|
150
|
+
// src/dev/client/cspNonce.ts
|
|
151
|
+
var applyPageNonce = (element) => {
|
|
152
|
+
const nonce = readPageNonce();
|
|
153
|
+
if (nonce)
|
|
154
|
+
element.nonce = nonce;
|
|
155
|
+
return element;
|
|
156
|
+
}, readPageNonce = () => {
|
|
157
|
+
if (typeof document === "undefined")
|
|
158
|
+
return;
|
|
159
|
+
const carrier = document.querySelector("script[nonce], style[nonce]");
|
|
160
|
+
return carrier?.nonce || undefined;
|
|
161
|
+
};
|
|
162
|
+
|
|
150
163
|
// src/vue/Island.browser.ts
|
|
151
164
|
import { defineComponent, h } from "vue";
|
|
152
165
|
|
|
@@ -175,6 +188,8 @@ var isMatchingIslandElement = (element, props) => {
|
|
|
175
188
|
const attributes = getIslandMarkerAttributes(props);
|
|
176
189
|
return element.dataset.island === "true" && element.dataset.component === attributes["data-component"] && element.dataset.framework === attributes["data-framework"] && (element.dataset.hydrate ?? "load") === attributes["data-hydrate"] && (element.dataset.props ?? "{}") === attributes["data-props"];
|
|
177
190
|
};
|
|
191
|
+
var RUNTIME_ISLAND_ATTRIBUTES = new Set(["data-error", "data-hydrated"]);
|
|
192
|
+
var readMarkerAttributes = (element) => Object.fromEntries(element.getAttributeNames().filter((name) => !RUNTIME_ISLAND_ATTRIBUTES.has(name)).map((name) => [name, element.getAttribute(name) ?? ""]));
|
|
178
193
|
var preserveIslandMarkup = (props) => {
|
|
179
194
|
if (typeof document === "undefined") {
|
|
180
195
|
return {
|
|
@@ -196,10 +211,19 @@ var preserveIslandMarkup = (props) => {
|
|
|
196
211
|
};
|
|
197
212
|
}
|
|
198
213
|
return {
|
|
199
|
-
attributes:
|
|
214
|
+
attributes: readMarkerAttributes(liveCandidate),
|
|
200
215
|
innerHTML: liveCandidate.innerHTML
|
|
201
216
|
};
|
|
202
217
|
};
|
|
218
|
+
var innerHtmlObjects = new Map;
|
|
219
|
+
var getStableInnerHtml = (html) => {
|
|
220
|
+
const existing = innerHtmlObjects.get(html);
|
|
221
|
+
if (existing)
|
|
222
|
+
return existing;
|
|
223
|
+
const created = { __html: html };
|
|
224
|
+
innerHtmlObjects.set(html, created);
|
|
225
|
+
return created;
|
|
226
|
+
};
|
|
203
227
|
|
|
204
228
|
// src/core/normalizeIslandProps.ts
|
|
205
229
|
var EMPTY_PROPS = {};
|
|
@@ -696,20 +720,6 @@ var applyVueRouterRedirect = (router, requestedUrl, setRedirect, status = DEFAUL
|
|
|
696
720
|
// src/vue/router/Link.ts
|
|
697
721
|
import { defineComponent as defineComponent3, getCurrentInstance, h as h3 } from "vue";
|
|
698
722
|
|
|
699
|
-
// src/dev/client/cspNonce.ts
|
|
700
|
-
var applyPageNonce = (element) => {
|
|
701
|
-
const nonce = readPageNonce();
|
|
702
|
-
if (nonce)
|
|
703
|
-
element.nonce = nonce;
|
|
704
|
-
return element;
|
|
705
|
-
};
|
|
706
|
-
var readPageNonce = () => {
|
|
707
|
-
if (typeof document === "undefined")
|
|
708
|
-
return;
|
|
709
|
-
const carrier = document.querySelector("script[nonce], style[nonce]");
|
|
710
|
-
return carrier?.nonce || undefined;
|
|
711
|
-
};
|
|
712
|
-
|
|
713
723
|
// src/client/prefetch.ts
|
|
714
724
|
var PREFETCH_CACHE_LIMIT = 16;
|
|
715
725
|
var HOVER_DEBOUNCE_MS = 250;
|
|
@@ -1205,5 +1215,5 @@ export {
|
|
|
1205
1215
|
useServerData
|
|
1206
1216
|
};
|
|
1207
1217
|
|
|
1208
|
-
//# debugId=
|
|
1218
|
+
//# debugId=585FF2BA56F1DF8464756E2164756E21
|
|
1209
1219
|
//# sourceMappingURL=browser.js.map
|
package/dist/vue/browser.js.map
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/core/islandManifest.ts", "../src/core/islands.ts", "../src/core/islandMarkupAttributes.ts", "../src/client/browserTranslationAttributes.ts", "../src/vue/Island.browser.ts", "../src/client/preserveIslandMarkup.ts", "../src/core/normalizeIslandProps.ts", "../src/vue/createIsland.browser.ts", "../src/vue/useIslandStore.ts", "../node_modules/zustand/esm/vanilla.mjs", "../node_modules/zustand/esm/middleware.mjs", "../src/client/islandStore.ts", "../src/vue/serverDataState.ts", "../src/vue/useServerData.browser.ts", "../src/client/browserTranslation.ts", "../src/vue/browserTranslation.ts", "../src/vue/defineVuePage.ts", "../src/vue/routerRedirectProviders.ts", "../src/vue/router/Link.ts", "../src/
|
|
3
|
+
"sources": ["../src/core/islandManifest.ts", "../src/core/islands.ts", "../src/core/islandMarkupAttributes.ts", "../src/client/browserTranslationAttributes.ts", "../src/dev/client/cspNonce.ts", "../src/vue/Island.browser.ts", "../src/client/preserveIslandMarkup.ts", "../src/core/normalizeIslandProps.ts", "../src/vue/createIsland.browser.ts", "../src/vue/useIslandStore.ts", "../node_modules/zustand/esm/vanilla.mjs", "../node_modules/zustand/esm/middleware.mjs", "../src/client/islandStore.ts", "../src/vue/serverDataState.ts", "../src/vue/useServerData.browser.ts", "../src/client/browserTranslation.ts", "../src/vue/browserTranslation.ts", "../src/vue/defineVuePage.ts", "../src/vue/routerRedirectProviders.ts", "../src/vue/router/Link.ts", "../src/client/prefetch.ts", "../src/vue/usePrefetch.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import type { IslandFramework } from '../../types/island';\n\n/** Manifest key the server injects as the islands bootstrap script on any\n * page with island markers. The build records the configured\n * `islands.bootstrap` (whatever its file name) or a generated default under\n * it — see build/islandBootstrap.ts. */\nexport const ISLAND_BOOTSTRAP_MANIFEST_KEY = 'AbsoluteIslandBootstrap';\n\n/** Key a bootstrap file named `bootstrapClient.*` gets naturally, which is\n * all the server used to look for. Still honored for manifests built\n * before the reserved key existed. */\nexport const LEGACY_ISLAND_BOOTSTRAP_MANIFEST_KEY = 'BootstrapClient';\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 getIslandBootstrapPath = (manifest: Record<string, string>) =>\n\tmanifest[ISLAND_BOOTSTRAP_MANIFEST_KEY] ??\n\tmanifest[LEGACY_ISLAND_BOOTSTRAP_MANIFEST_KEY];\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
6
|
"import type {\n\tIslandComponentDefinition,\n\tIslandRegistry,\n\tIslandRegistryInput\n} from '../../types/island';\n\nexport const defineIslandComponent = <Component>(\n\tcomponent: Component,\n\toptions: {\n\t\texport?: string;\n\t\tsource: string;\n\t}\n): IslandComponentDefinition<Component> => ({\n\tcomponent,\n\texport: options.export,\n\tsource: options.source\n});\nexport const defineIslandRegistry = <T extends IslandRegistryInput>(\n\tregistry: IslandRegistry<T>\n) => registry;\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nexport const getIslandBuildReference = <Component>(\n\tcomponent: Component | IslandComponentDefinition<Component>\n) => {\n\tif (!isIslandComponentDefinition(component)) return null;\n\n\treturn {\n\t\texport: component.export,\n\t\tsource: component.source\n\t};\n};\nexport const isIslandComponentDefinition = <Component>(\n\tvalue: Component | IslandComponentDefinition<Component>\n): value is IslandComponentDefinition<Component> =>\n\tisRecord(value) &&\n\t'component' in value &&\n\t'source' in value &&\n\ttypeof value.source === 'string';\n\nexport function getIslandComponent<Component>(component: Component): Component;\nexport function getIslandComponent<Component>(\n\tcomponent: IslandComponentDefinition<Component>\n): Component;\nexport function getIslandComponent<Component>(\n\tcomponent: Component | IslandComponentDefinition<Component>\n) {\n\tif (isIslandComponentDefinition(component)) {\n\t\treturn component.component;\n\t}\n\n\treturn component;\n}\nexport const parseIslandProps = (rawProps: string | null) => {\n\tif (!rawProps) return {};\n\n\treturn JSON.parse(rawProps);\n};\nexport const serializeIslandProps = (props: unknown) =>\n\tJSON.stringify(props ?? {});\n\nexport {\n\tgetIslandManifestEntries,\n\tgetIslandManifestKey\n} from './islandManifest';\n",
|
|
7
7
|
"import type { RuntimeIslandRenderProps } from '../../types/island';\nimport { serializeIslandProps } from './islands';\n\ntype IslandMarkerAttributes = {\n\t'data-component': string;\n\t'data-framework': string;\n\t'data-hydrate': string;\n\t'data-island': 'true';\n\t'data-island-id'?: string;\n\t'data-props': string;\n};\n\nexport const getIslandMarkerAttributes = (\n\tprops: RuntimeIslandRenderProps,\n\tislandId?: string\n): IslandMarkerAttributes => ({\n\t'data-component': props.component,\n\t'data-framework': props.framework,\n\t'data-hydrate': props.hydrate ?? 'load',\n\t'data-island': 'true',\n\t...(islandId ? { 'data-island-id': islandId } : {}),\n\t'data-props': serializeIslandProps(props.props)\n});\n\nconst escapeHtmlAttribute = (value: string) =>\n\tvalue\n\t\t.replaceAll('&', '&')\n\t\t.replaceAll('\"', '"')\n\t\t.replaceAll('<', '<')\n\t\t.replaceAll('>', '>');\n\nexport const serializeIslandAttributes = (attributes: Record<string, string>) =>\n\tObject.entries(attributes)\n\t\t.map(([key, value]) => `${key}=\"${escapeHtmlAttribute(value)}\"`)\n\t\t.join(' ');\n",
|
|
8
8
|
"/** Human-readable attributes a browser translator may rewrite before hydration. */\nexport const TRANSLATABLE_ATTRIBUTES = [\n\t'alt',\n\t'title',\n\t'placeholder',\n\t'aria-label'\n] as const;\n",
|
|
9
|
+
"/* The page's CSP nonce, read back in the browser from an element the server\n * gave it to. Browsers hide the attribute's value but keep the `nonce`\n * property, so a script that runs can hand the nonce to the <style>/<script>\n * elements it creates; a nonce-based policy blocks them otherwise. Without\n * secureHeaders() there is no nonce and this does nothing.\n *\n * Lives in the dev client because that ships as raw TypeScript and may only\n * import from its own directory; the bundled client runtime\n * (src/client/prefetch.ts) imports it from here. */\n\nexport const applyPageNonce = <Element extends HTMLElement>(\n\telement: Element\n) => {\n\tconst nonce = readPageNonce();\n\tif (nonce) element.nonce = nonce;\n\n\treturn element;\n};\n\nexport const readPageNonce = () => {\n\tif (typeof document === 'undefined') return undefined;\n\tconst carrier = document.querySelector<HTMLElement>(\n\t\t'script[nonce], style[nonce]'\n\t);\n\n\treturn carrier?.nonce || undefined;\n};\n",
|
|
9
10
|
"import { defineComponent, h } from 'vue';\nimport { preserveIslandMarkup } from '../client/preserveIslandMarkup';\nimport { normalizeRuntimeIslandRenderProps } from '../core/normalizeIslandProps';\n\nexport const Island = defineComponent({\n\tname: 'AbsoluteIsland',\n\tprops: {\n\t\tcomponent: {\n\t\t\trequired: true,\n\t\t\ttype: String\n\t\t},\n\t\tframework: {\n\t\t\trequired: true,\n\t\t\ttype: String\n\t\t},\n\t\thydrate: {\n\t\t\trequired: false,\n\t\t\ttype: String\n\t\t},\n\t\t/* Accept either an object or a JSON-serialized string — see\n\t\t the SSR `Island.ts` for the rationale. */\n\t\tprops: {\n\t\t\trequired: false,\n\t\t\ttype: [Object, String]\n\t\t}\n\t},\n\tsetup(rawProps) {\n\t\tconst props = normalizeRuntimeIslandRenderProps(rawProps);\n\n\t\treturn () => {\n\t\t\tconst { attributes, innerHTML } = preserveIslandMarkup(props);\n\n\t\t\treturn h('div', {\n\t\t\t\t...attributes,\n\t\t\t\t'data-allow-mismatch': '',\n\t\t\t\tinnerHTML\n\t\t\t});\n\t\t};\n\t}\n});\n",
|
|
10
|
-
"import type { RuntimeIslandRenderProps } from '../../types/island';\nimport { getIslandMarkerAttributes } from '../core/islandMarkupAttributes';\n\ntype PreservedIslandMarkup = {\n\tattributes: Record<string, string>;\n\tinnerHTML: string;\n};\n\ntype IslandMarkerElement = HTMLElement & {\n\tdataset: DOMStringMap & {\n\t\tcomponent?: string;\n\t\tframework?: string;\n\t\thydrate?: string;\n\t\tisland?: string;\n\t\tislandId?: string;\n\t\tprops?: string;\n\t};\n};\n\nconst getSnapshotMap = () => {\n\tif (typeof window === 'undefined') {\n\t\treturn null;\n\t}\n\n\twindow.__ABS_SERVER_ISLAND_HTML__ ??= new Map<\n\t\tstring,\n\t\tPreservedIslandMarkup[]\n\t>();\n\n\treturn window.__ABS_SERVER_ISLAND_HTML__;\n};\n\nconst getIslandSignature = (props: RuntimeIslandRenderProps) => {\n\tconst attributes = getIslandMarkerAttributes(props);\n\n\treturn [\n\t\tattributes['data-component'],\n\t\tattributes['data-framework'],\n\t\tattributes['data-hydrate'],\n\t\tattributes['data-props']\n\t].join('::');\n};\n\nconst isMatchingIslandElement = (\n\telement: Element,\n\tprops: RuntimeIslandRenderProps\n): element is IslandMarkerElement => {\n\tif (!(element instanceof HTMLElement)) {\n\t\treturn false;\n\t}\n\n\tconst attributes = getIslandMarkerAttributes(props);\n\n\treturn (\n\t\telement.dataset.island === 'true' &&\n\t\telement.dataset.component === attributes['data-component'] &&\n\t\telement.dataset.framework === attributes['data-framework'] &&\n\t\t(element.dataset.hydrate ?? 'load') === attributes['data-hydrate'] &&\n\t\t(element.dataset.props ?? '{}') === attributes['data-props']\n\t);\n};\n\nconst snapshotIslandElement = (\n\telement: HTMLElement,\n\tsnapshotMap: Map<string, PreservedIslandMarkup[]>\n) => {\n\tconst signature = [\n\t\telement.dataset.component,\n\t\telement.dataset.framework,\n\t\telement.dataset.hydrate ?? 'load',\n\t\telement.dataset.props ?? '{}'\n\t].join('::');\n\tconst existing = snapshotMap.get(signature) ?? [];\n\
|
|
11
|
+
"import type { RuntimeIslandRenderProps } from '../../types/island';\nimport { getIslandMarkerAttributes } from '../core/islandMarkupAttributes';\n\ntype PreservedIslandMarkup = {\n\tattributes: Record<string, string>;\n\tinnerHTML: string;\n};\n\ntype IslandMarkerElement = HTMLElement & {\n\tdataset: DOMStringMap & {\n\t\tcomponent?: string;\n\t\tframework?: string;\n\t\thydrate?: string;\n\t\tisland?: string;\n\t\tislandId?: string;\n\t\tprops?: string;\n\t};\n};\n\nconst getSnapshotMap = () => {\n\tif (typeof window === 'undefined') {\n\t\treturn null;\n\t}\n\n\twindow.__ABS_SERVER_ISLAND_HTML__ ??= new Map<\n\t\tstring,\n\t\tPreservedIslandMarkup[]\n\t>();\n\n\treturn window.__ABS_SERVER_ISLAND_HTML__;\n};\n\nconst getIslandSignature = (props: RuntimeIslandRenderProps) => {\n\tconst attributes = getIslandMarkerAttributes(props);\n\n\treturn [\n\t\tattributes['data-component'],\n\t\tattributes['data-framework'],\n\t\tattributes['data-hydrate'],\n\t\tattributes['data-props']\n\t].join('::');\n};\n\nconst isMatchingIslandElement = (\n\telement: Element,\n\tprops: RuntimeIslandRenderProps\n): element is IslandMarkerElement => {\n\tif (!(element instanceof HTMLElement)) {\n\t\treturn false;\n\t}\n\n\tconst attributes = getIslandMarkerAttributes(props);\n\n\treturn (\n\t\telement.dataset.island === 'true' &&\n\t\telement.dataset.component === attributes['data-component'] &&\n\t\telement.dataset.framework === attributes['data-framework'] &&\n\t\t(element.dataset.hydrate ?? 'load') === attributes['data-hydrate'] &&\n\t\t(element.dataset.props ?? '{}') === attributes['data-props']\n\t);\n};\n\n/* Attributes the island runtime adds while hydrating. A host framework that\n * re-creates the marker (a remount, an HMR update) must not copy them, or the\n * runtime takes the new, unhydrated marker for a hydrated one and leaves it\n * dead. */\nconst RUNTIME_ISLAND_ATTRIBUTES = new Set(['data-error', 'data-hydrated']);\n\nconst readMarkerAttributes = (element: Element) =>\n\tObject.fromEntries(\n\t\telement\n\t\t\t.getAttributeNames()\n\t\t\t.filter((name) => !RUNTIME_ISLAND_ATTRIBUTES.has(name))\n\t\t\t.map((name) => [name, element.getAttribute(name) ?? ''])\n\t);\n\nconst snapshotIslandElement = (\n\telement: HTMLElement,\n\tsnapshotMap: Map<string, PreservedIslandMarkup[]>\n) => {\n\tconst signature = [\n\t\telement.dataset.component,\n\t\telement.dataset.framework,\n\t\telement.dataset.hydrate ?? 'load',\n\t\telement.dataset.props ?? '{}'\n\t].join('::');\n\tconst existing = snapshotMap.get(signature) ?? [];\n\texisting.push({\n\t\tattributes: readMarkerAttributes(element),\n\t\tinnerHTML: element.innerHTML\n\t});\n\tsnapshotMap.set(signature, existing);\n};\n\nexport const initializeIslandMarkupSnapshot = () => {\n\tif (typeof document === 'undefined') {\n\t\treturn;\n\t}\n\n\tconst snapshotMap = getSnapshotMap();\n\tif (!snapshotMap || snapshotMap.size > 0) {\n\t\treturn;\n\t}\n\n\tconst elements = Array.from(\n\t\tdocument.querySelectorAll<HTMLElement>('[data-island=\"true\"]')\n\t);\n\tfor (const element of elements) {\n\t\tsnapshotIslandElement(element, snapshotMap);\n\t}\n};\n\nexport const preserveIslandMarkup = (props: RuntimeIslandRenderProps) => {\n\tif (typeof document === 'undefined') {\n\t\treturn {\n\t\t\tattributes: getIslandMarkerAttributes(props),\n\t\t\tinnerHTML: ''\n\t\t};\n\t}\n\n\tconst snapshotMap = getSnapshotMap();\n\tconst signature = getIslandSignature(props);\n\t// Islands that share a signature (same component, framework, hydrate mode\n\t// and serialized props) produce byte-identical SSR markup, so the first\n\t// captured snapshot is correct for every instance. Returning it\n\t// unconditionally keeps this stateless: React may call the component many\n\t// times during a single hydration (StrictMode double-render, hydration\n\t// retries, mismatch regeneration), and a per-call claim counter would run\n\t// past the snapshot list and yield empty markup — making the host render\n\t// `dangerouslySetInnerHTML={{ __html: '' }}` and wipe the island's\n\t// server-rendered DOM before the island runtime can hydrate it.\n\tconst snapshotCandidate = snapshotMap?.get(signature)?.[0];\n\tif (snapshotCandidate) {\n\t\treturn snapshotCandidate;\n\t}\n\n\t// Snapshot not captured yet (the island runtime module hasn't evaluated):\n\t// fall back to reading the live SSR DOM directly.\n\tconst liveCandidate = Array.from(\n\t\tdocument.querySelectorAll('[data-island=\"true\"]')\n\t).find((element) => isMatchingIslandElement(element, props));\n\tif (!liveCandidate) {\n\t\treturn {\n\t\t\tattributes: getIslandMarkerAttributes(props),\n\t\t\tinnerHTML: ''\n\t\t};\n\t}\n\n\treturn {\n\t\tattributes: readMarkerAttributes(liveCandidate),\n\t\tinnerHTML: liveCandidate.innerHTML\n\t};\n};\n\n/* React 19 compares `dangerouslySetInnerHTML` by object identity and rewrites\n * `innerHTML` whenever the object changes. A fresh `{ __html }` per render\n * made every host re-render (state change, Fast Refresh) replace the island's\n * hydrated DOM with its server markup, leaving a dead copy on screen. One\n * object per markup string keeps the boundary untouched. */\ntype InnerHtml = { __html: string };\n\nconst innerHtmlObjects = new Map<string, InnerHtml>();\n\nexport const getStableInnerHtml = (html: string) => {\n\tconst existing = innerHtmlObjects.get(html);\n\tif (existing) return existing;\n\tconst created: InnerHtml = { __html: html };\n\tinnerHtmlObjects.set(html, created);\n\n\treturn created;\n};\n",
|
|
11
12
|
"import type { IslandFramework, IslandHydrate } from '../../types/island';\n\n/* `<Island>` (Vue/Svelte/React/Angular component form) historically took\n `props` as an object, while `<absolute-island>` (custom-element form\n used in HTML/HTMX hosts) takes `props` as a JSON-serialized string.\n The two surfaces have the same mental model — \"render an island\" —\n but a value that's valid in one shape would silently break in the\n other. This helper normalizes whichever shape arrives at runtime. */\nconst EMPTY_PROPS: Record<string, unknown> = {};\n\nconst ISLAND_FRAMEWORKS: readonly IslandFramework[] = [\n\t'react',\n\t'svelte',\n\t'vue',\n\t'angular',\n\t'ember'\n];\n\nconst ISLAND_HYDRATE_MODES: readonly IslandHydrate[] = [\n\t'load',\n\t'idle',\n\t'visible',\n\t'none'\n];\n\nconst isIslandFramework = (value: string): value is IslandFramework =>\n\tISLAND_FRAMEWORKS.some((framework) => framework === value);\n\nconst isIslandHydrate = (value: string): value is IslandHydrate =>\n\tISLAND_HYDRATE_MODES.some((mode) => mode === value);\n\ntype RawIslandProps = {\n\tcomponent: string;\n\tframework: string;\n\thydrate?: string | undefined;\n\tprops: unknown;\n};\n\nexport const normalizeRuntimeIslandRenderProps = (raw: RawIslandProps) => {\n\tconst { component, framework, hydrate, props } = raw;\n\tif (!isIslandFramework(framework)) {\n\t\tthrow new Error(`Unknown island framework: \"${framework}\".`);\n\t}\n\n\tif (hydrate !== undefined && !isIslandHydrate(hydrate)) {\n\t\tthrow new Error(`Unknown island hydrate mode: \"${hydrate}\".`);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tframework,\n\t\thydrate,\n\t\tprops: normalizeIslandProps(props)\n\t};\n};\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst safeJsonParseObject = (raw: string) => {\n\tconst trimmed = raw.trim();\n\tif (!trimmed) return EMPTY_PROPS;\n\n\ttry {\n\t\tconst parsed: unknown = JSON.parse(trimmed);\n\n\t\treturn isPlainObject(parsed) ? parsed : EMPTY_PROPS;\n\t} catch {\n\t\treturn EMPTY_PROPS;\n\t}\n};\n\nexport const normalizeIslandProps = (value: unknown) => {\n\tif (typeof value === 'string') return safeJsonParseObject(value);\n\tif (isPlainObject(value)) return value;\n\n\treturn EMPTY_PROPS;\n};\n",
|
|
12
13
|
"import { defineComponent, h } from 'vue';\nimport type {\n\tIslandRegistry,\n\tIslandRegistryInput,\n\tRuntimeIslandRenderProps\n} from '../../types/island';\nimport { preserveIslandMarkup } from '../client/preserveIslandMarkup';\n\nconst defineRuntimeIslandComponent = (\n\tsetup: (props: RuntimeIslandRenderProps) => () => ReturnType<typeof h>\n) =>\n\tdefineComponent({\n\t\tname: 'AbsoluteIsland',\n\t\tprops: {\n\t\t\tcomponent: {\n\t\t\t\trequired: true,\n\t\t\t\ttype: String\n\t\t\t},\n\t\t\tframework: {\n\t\t\t\trequired: true,\n\t\t\t\ttype: String\n\t\t\t},\n\t\t\thydrate: {\n\t\t\t\trequired: false,\n\t\t\t\ttype: String\n\t\t\t},\n\t\t\tprops: {\n\t\t\t\trequired: true,\n\t\t\t\ttype: Object\n\t\t\t}\n\t\t},\n\t\tsetup\n\t});\n\nexport const createTypedIsland = <T extends IslandRegistryInput>(\n\t_registry: IslandRegistry<T>\n) =>\n\tdefineRuntimeIslandComponent((props) => {\n\t\tconst { attributes, innerHTML } = preserveIslandMarkup(props);\n\n\t\treturn () =>\n\t\t\th('div', {\n\t\t\t\t...attributes,\n\t\t\t\t'data-allow-mismatch': '',\n\t\t\t\tinnerHTML\n\t\t\t});\n\t});\n",
|
|
13
14
|
"import { customRef, onBeforeUnmount } from 'vue';\nimport type { StoreApi } from 'zustand/vanilla';\nimport {\n\treadIslandStore,\n\tsubscribeIslandStore,\n\ttype IslandStoreState\n} from '../client/islandStore';\n\nexport const useIslandStore = <TState extends IslandStoreState, TSelected>(\n\tstore: StoreApi<TState>,\n\tselector: (state: TState) => TSelected\n) => {\n\tlet current = readIslandStore(store, selector);\n\tlet unsubscribe: (() => void) | undefined;\n\n\tconst state = customRef<TSelected>((track, trigger) => {\n\t\tunsubscribe = subscribeIslandStore(store, selector, (value) => {\n\t\t\tcurrent = value;\n\t\t\ttrigger();\n\t\t});\n\n\t\treturn {\n\t\t\tget() {\n\t\t\t\ttrack();\n\n\t\t\t\treturn current;\n\t\t\t},\n\t\t\tset() {}\n\t\t};\n\t});\n\n\tonBeforeUnmount(() => {\n\t\tunsubscribe?.();\n\t});\n\n\treturn state;\n};\n",
|
|
@@ -21,11 +22,10 @@
|
|
|
21
22
|
"import type { VueRoutes, VueSetupApp } from '../../types/vue';\n\n/** Identity helper that types a Vue page's `setupApp` export without\n * forcing the user to `import type { VueSetupApp }` every time. Use as\n * `export const setupApp = defineVueSetupApp(async (app, ctx) => { ... });` */\nexport const defineRoutes = <T extends VueRoutes>(routes: T) => routes;\nexport const defineVueSetupApp = (hook: VueSetupApp) => hook;\n",
|
|
22
23
|
"/**\n * vue-router redirect bridge for SSR.\n *\n * vue-router doesn't expose Angular-style providers, but it doesn't need\n * them — after `await router.push(url); await router.isReady()`, the\n * router's `currentRoute.value.fullPath` reflects the final destination\n * after every guard, redirect rule, and `next('/foo')` call has run.\n *\n * If that final path differs from the URL the server received, a redirect\n * happened. The Vue page handler exposes a `setRedirect` callback in the\n * `setupApp` context so the user's setup hook can short-circuit the\n * render and emit a 302 instead of producing HTML for a route the user\n * never asked for.\n *\n * Usage:\n *\n * import { applyVueRouterRedirect } from '@absolutejs/absolute/vue';\n *\n * export const setupApp = async (app, { url, isServer, setRedirect }) => {\n * const router = createRouter({ ... });\n * app.use(router);\n * if (isServer) await router.push(url);\n * await router.isReady();\n * if (isServer) applyVueRouterRedirect(router, url, setRedirect);\n * };\n */\n\n// Structural shape of the only fields we read from a vue-router instance.\n// Avoids depending on `vue-router` types — the user installs vue-router\n// themselves; the absolutejs package shouldn't pull it into every consumer's\n// type-check just for one helper.\ntype VueRouterLike = {\n\tcurrentRoute: { value: { fullPath: string } };\n};\n\nconst DEFAULT_REDIRECT_STATUS = 302;\n\nconst normalisePathname = (raw: string) => {\n\ttry {\n\t\tconst parsed = new URL(raw, 'http://placeholder.local/');\n\n\t\treturn `${parsed.pathname}${parsed.search}`;\n\t} catch {\n\t\treturn raw;\n\t}\n};\n\n/**\n * Compare the requested URL against vue-router's current resolved path\n * after `router.push(url); await router.isReady()`. If different — a\n * guard redirected, a redirect rule fired, or the user manually\n * navigated inside `setupApp` — invoke `setRedirect` so the Vue page\n * handler emits an HTTP redirect instead of rendering.\n *\n * Status defaults to `302`. Pass a different status (e.g. `301` or `308`)\n * for permanent redirects.\n */\nexport const applyVueRouterRedirect = (\n\trouter: VueRouterLike,\n\trequestedUrl: string,\n\tsetRedirect: (location: string, status?: number) => void,\n\tstatus: number = DEFAULT_REDIRECT_STATUS\n) => {\n\tconst finalPath = router.currentRoute.value.fullPath;\n\tconst requestedPath = normalisePathname(requestedUrl);\n\tif (finalPath === requestedPath) return;\n\tsetRedirect(finalPath, status);\n};\n",
|
|
23
24
|
"import { defineComponent, getCurrentInstance, h } from 'vue';\nimport type { PrefetchMode } from '../../../types/prefetch';\nimport { isPrefetchableHref } from '../../client/prefetch';\nimport { usePrefetch } from '../usePrefetch';\n\ntype LinkProps = {\n\thref: string;\n\tprefetch?: PrefetchMode;\n\tprerender?: boolean;\n\treplace?: boolean;\n\ttarget?: string;\n\tdownload?: string | boolean;\n};\n\n/** Duck-typed view of the vue-router instance a page's auto-router\n * installs on the app. Read through `appContext.config.globalProperties`\n * instead of `useRouter()` so this module never imports `vue-router` —\n * it is inlined into each page bundle, and a second copy here would not\n * share the page's provide/inject symbols. */\ntype RouterLike = {\n\tpush: (to: string) => unknown;\n\treplace: (to: string) => unknown;\n\tresolve: (to: string) => { matched: ArrayLike<unknown> };\n};\n\nconst isRouterLike = (value: unknown): value is RouterLike =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\ttypeof Reflect.get(value, 'push') === 'function' &&\n\ttypeof Reflect.get(value, 'replace') === 'function' &&\n\ttypeof Reflect.get(value, 'resolve') === 'function';\n\n/** Find the router the page's `setupApp` installed via `app.use(router)`\n * — vue-router registers itself as `app.config.globalProperties.$router`.\n * `null` when the page has no SPA shell. */\nconst discoverRouter = () => {\n\tconst instance = getCurrentInstance();\n\tif (!instance) return null;\n\tconst candidate = Reflect.get(\n\t\tinstance.appContext.config.globalProperties,\n\t\t'$router'\n\t);\n\n\treturn isRouterLike(candidate) ? candidate : null;\n};\n\nconst isModifierClick = (event: MouseEvent) =>\n\tevent.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n\nconst routerMatches = (router: RouterLike, href: string) => {\n\ttry {\n\t\treturn router.resolve(href).matched.length > 0;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\n/**\n * Prefetching anchor — the Vue counterpart of Next.js `<Link>`.\n *\n * Renders a plain `<a>`; for a same-origin `href` it prefetches the target\n * document when the link scrolls into view (production) and on hover /\n * focus / pointerdown (production + development), so the click resolves\n * from cache. Modifier / middle clicks, `target`, `download` and external\n * URLs pass straight through to the browser.\n *\n * Inside an SPA shell (a page exporting `routes`), an `href` matching one\n * of the shell's routes navigates client-side through the page's own\n * vue-router; anything else is a real navigation to that page.\n *\n * import { Link } from '@absolutejs/absolute/vue';\n * <Link href=\"/pricing\" prefetch=\"viewport\">Pricing</Link>\n */\nexport const Link = defineComponent({\n\tname: 'AbsoluteLink',\n\tprops: {\n\t\tdownload: { default: undefined, type: [String, Boolean] },\n\t\thref: { required: true, type: String },\n\t\tprefetch: { default: undefined, type: String },\n\t\tprerender: { default: false, type: Boolean },\n\t\treplace: { default: false, type: Boolean },\n\t\ttarget: { default: undefined, type: String }\n\t},\n\tsetup(props: LinkProps, { slots }) {\n\t\tconst router = discoverRouter();\n\t\tconst {\n\t\t\telement,\n\t\t\tonBlur,\n\t\t\tonFocus,\n\t\t\tonPointerdown,\n\t\t\tonPointerenter,\n\t\t\tonPointerleave\n\t\t} = usePrefetch(() => props.href, {\n\t\t\tmode: () => props.prefetch,\n\t\t\tprerender: () => props.prerender\n\t\t});\n\n\t\tconst onClick = (event: MouseEvent) => {\n\t\t\tif (event.defaultPrevented) return;\n\t\t\tif (isModifierClick(event) || event.button !== 0) return;\n\t\t\tif (props.target && props.target !== '_self') return;\n\t\t\tif (props.download !== undefined) return;\n\t\t\tif (!router || !isPrefetchableHref(props.href)) return;\n\t\t\tif (!routerMatches(router, props.href)) return;\n\n\t\t\tevent.preventDefault();\n\t\t\tif (props.replace) {\n\t\t\t\tvoid router.replace(props.href);\n\t\t\t} else {\n\t\t\t\tvoid router.push(props.href);\n\t\t\t}\n\t\t};\n\n\t\treturn () =>\n\t\t\th(\n\t\t\t\t'a',\n\t\t\t\t{\n\t\t\t\t\tdownload: props.download,\n\t\t\t\t\thref: props.href,\n\t\t\t\t\tonBlur,\n\t\t\t\t\tonClick,\n\t\t\t\t\tonFocus,\n\t\t\t\t\tonPointerdown,\n\t\t\t\t\tonPointerenter,\n\t\t\t\t\tonPointerleave,\n\t\t\t\t\tref: element,\n\t\t\t\t\ttarget: props.target\n\t\t\t\t},\n\t\t\t\tslots.default?.()\n\t\t\t);\n\t}\n});\n",
|
|
24
|
-
"/* The page's CSP nonce, read back in the browser from an element the server\n * gave it to. Browsers hide the attribute's value but keep the `nonce`\n * property, so a script that runs can hand the nonce to the <style>/<script>\n * elements it creates; a nonce-based policy blocks them otherwise. Without\n * secureHeaders() there is no nonce and this does nothing.\n *\n * Lives in the dev client because that ships as raw TypeScript and may only\n * import from its own directory; the bundled client runtime\n * (src/client/prefetch.ts) imports it from here. */\n\nexport const applyPageNonce = <Element extends HTMLElement>(\n\telement: Element\n) => {\n\tconst nonce = readPageNonce();\n\tif (nonce) element.nonce = nonce;\n\n\treturn element;\n};\n\nexport const readPageNonce = () => {\n\tif (typeof document === 'undefined') return undefined;\n\tconst carrier = document.querySelector<HTMLElement>(\n\t\t'script[nonce], style[nonce]'\n\t);\n\n\treturn carrier?.nonce || undefined;\n};\n",
|
|
25
25
|
"/**\n * Framework-neutral navigation prefetch primitive.\n *\n * Pure DOM + `fetch` — no framework imports — so the React, Vue and Svelte\n * `<Link>` components (and user code) share one cache, one in-flight\n * budget, one IntersectionObserver and one set of data-saver guards.\n *\n * import { prefetch, speculate } from '@absolutejs/absolute/client/prefetch';\n *\n * What a prefetch buys the click that follows:\n * - `'document'` — the HTML lands in the browser's HTTP cache (pages\n * carry a content-hash `ETag`), so the real navigation revalidates\n * with a 304 instead of re-rendering.\n * - `'module'` — `<link rel=\"modulepreload\">` parses + compiles the\n * client module graph ahead of time.\n * - `'data'` — the route-data payload\n * (`application/vnd.absolute.route+json`): the page's props plus the\n * client entry and stylesheets it needs, which are `modulepreload`ed\n * / prefetched as the payload lands. A 404 / 406 from a server that\n * doesn't speak route data is remembered as \"no data\".\n * - `'route'` — `'document'` + `'data'`, i.e. everything a click\n * needs. What a `<Link>` warms on hover / pointerdown.\n * - `speculate()` — a prerender speculation rule; the browser renders\n * the whole target page in a hidden tab so the click is instant.\n *\n * Global opt-out: `window.__ABSOLUTE_PREFETCH__ = false` disables every\n * entry point in this module (useful for analytics-sensitive pages).\n */\nimport { applyPageNonce } from '../dev/client/cspNonce';\nimport type {\n\tHoverPrefetchHandle,\n\tHoverPrefetchOptions,\n\tPrefetchKind,\n\tPrefetchOptions,\n\tViewportPrefetchOptions\n} from '../../types/prefetch';\n\nconst PREFETCH_CACHE_LIMIT = 16;\nconst HOVER_DEBOUNCE_MS = 250;\nconst MAX_IN_FLIGHT = 2;\nconst MAX_LIVE_SPECULATION_RULES = 2;\nconst VIEWPORT_ROOT_MARGIN = '128px';\nconst SLOW_EFFECTIVE_TYPES = new Set(['slow-2g', '2g']);\nconst NOT_FOUND = 404;\nconst NOT_ACCEPTABLE = 406;\n\nexport const ROUTE_DATA_MEDIA_TYPE = 'application/vnd.absolute.route+json';\n\ntype CacheEntry = {\n\tabort: () => void;\n\tkind: PrefetchKind;\n\tpromise: Promise<Response>;\n\turl: string;\n};\n\ntype QueuedTask = {\n\tcancelled: boolean;\n\tstart: () => void;\n};\n\nconst cache = new Map<string, CacheEntry>();\nconst queue: QueuedTask[] = [];\nlet inFlight = 0;\n\nconst preloadedModules = new Set<string>();\nconst prefetchedStyles = new Set<string>();\nconst liveSpeculationRules = new Map<string, HTMLScriptElement>();\n\nconst offlineResponse = () => new Response(null, { status: 0 });\n\n/** `'route'` is a compound trigger, not a cache entry of its own: it\n * warms the `'document'` and `'data'` entries, so lookups for it read\n * the document it warmed. */\nconst storageKind = (kind: PrefetchKind) =>\n\tkind === 'route' ? 'document' : kind;\n\nconst cacheKey = (kind: PrefetchKind, url: string) =>\n\t`${storageKind(kind)}:${url}`;\n\nconst resolveHref = (url: string) => {\n\tif (typeof window === 'undefined') return url;\n\n\ttry {\n\t\treturn new URL(url, window.location.href).href;\n\t} catch {\n\t\treturn url;\n\t}\n};\n\n/* ------------------------------------------------------------------ */\n/* Guards */\n/* ------------------------------------------------------------------ */\n\nconst isGloballyDisabled = () =>\n\ttypeof window !== 'undefined' &&\n\tReflect.get(window, '__ABSOLUTE_PREFETCH__') === false;\n\nconst isSlowConnection = () => {\n\tif (typeof navigator === 'undefined') return false;\n\n\tconst connection = Reflect.get(navigator, 'connection');\n\tif (typeof connection !== 'object' || connection === null) return false;\n\tif (Reflect.get(connection, 'saveData') === true) return true;\n\n\tconst effectiveType = Reflect.get(connection, 'effectiveType');\n\n\treturn (\n\t\ttypeof effectiveType === 'string' &&\n\t\tSLOW_EFFECTIVE_TYPES.has(effectiveType)\n\t);\n};\n\nconst prefersReducedData = () => {\n\tif (typeof window === 'undefined' || !window.matchMedia) return false;\n\n\treturn window.matchMedia('(prefers-reduced-data: reduce)').matches;\n};\n\n/** `true` when prefetching is allowed right now: we're in a browser, the\n * page hasn't opted out via `window.__ABSOLUTE_PREFETCH__ = false`, and\n * the user hasn't asked for less data (Save-Data, 2g, reduced-data). */\nexport const canPrefetch = () =>\n\ttypeof window !== 'undefined' &&\n\t!isGloballyDisabled() &&\n\t!isSlowConnection() &&\n\t!prefersReducedData();\n\nconst readNodeEnv = () => {\n\t// Deliberately not the bare `process.env.NODE_ENV` member expression:\n\t// bundlers substitute that at build time, which would bake this\n\t// package's own build environment into the shipped client entry. In a\n\t// browser `process` is undefined and this yields `undefined`.\n\tconst processLike = Reflect.get(globalThis, 'process');\n\tif (typeof processLike !== 'object' || processLike === null) {\n\t\treturn undefined;\n\t}\n\tconst env = Reflect.get(processLike, 'env');\n\tif (typeof env !== 'object' || env === null) return undefined;\n\tconst value = Reflect.get(env, 'NODE_ENV');\n\n\treturn typeof value === 'string' ? value : undefined;\n};\n\n/** Whether the page was served by the AbsoluteJS dev server. The HMR\n * client is only injected in dev, so its markers are the reliable\n * signal; `NODE_ENV` is the fallback for environments that bundle\n * without the dev server (tests, custom hosts). */\nexport const isDevelopmentClient = () => {\n\tif (typeof window === 'undefined') return false;\n\tif (Reflect.get(window, '__HMR_FRAMEWORK__') !== undefined) return true;\n\tif (Reflect.get(window, '__HMR_WS__') !== undefined) return true;\n\tif (\n\t\ttypeof document !== 'undefined' &&\n\t\tdocument.querySelector('script[data-hmr-client]') !== null\n\t) {\n\t\treturn true;\n\t}\n\n\treturn readNodeEnv() === 'development';\n};\n\n/** Same-origin, non-hash, http(s) URL — the only kind worth prefetching. */\nexport const isPrefetchableHref = (href: string) => {\n\tif (typeof window === 'undefined') return false;\n\tif (href === '' || href.startsWith('#')) return false;\n\n\ttry {\n\t\tconst url = new URL(href, window.location.href);\n\t\tif (url.protocol !== 'http:' && url.protocol !== 'https:') return false;\n\n\t\treturn url.origin === window.location.origin;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\n/** Production → `'viewport'` (viewport + hover). Development → `'hover'`\n * only, so a page full of links doesn't fan out into the dev server. */\nexport const resolveDefaultPrefetchMode = () =>\n\tisDevelopmentClient() ? 'hover' : 'viewport';\n\n/* ------------------------------------------------------------------ */\n/* In-flight budget */\n/* ------------------------------------------------------------------ */\n\nconst runQueue = () => {\n\twhile (inFlight < MAX_IN_FLIGHT) {\n\t\tconst next = queue.shift();\n\t\tif (!next) return;\n\t\tif (next.cancelled) continue;\n\t\tnext.start();\n\t}\n};\n\nconst finishTask = () => {\n\tinFlight = Math.max(0, inFlight - 1);\n\trunQueue();\n};\n\n/** Run `task` when one of the `MAX_IN_FLIGHT` slots frees up. The\n * returned promise never rejects — network failures resolve to a\n * status-0 response so consumers can treat \"no prefetch\" uniformly. */\nconst runWhenReleased = async (\n\tgate: Promise<void>,\n\ttask: (signal: AbortSignal) => Promise<Response>,\n\tsignal: AbortSignal\n) => {\n\tawait gate;\n\ttry {\n\t\treturn await task(signal);\n\t} catch {\n\t\treturn offlineResponse();\n\t} finally {\n\t\tfinishTask();\n\t}\n};\n\nconst enqueue = (task: (signal: AbortSignal) => Promise<Response>) => {\n\tconst controller = new AbortController();\n\tlet release: () => void = () => undefined;\n\tconst gate = new Promise<void>((resolve) => {\n\t\trelease = resolve;\n\t});\n\tconst queued: QueuedTask = {\n\t\tcancelled: false,\n\t\tstart: () => {\n\t\t\t// Count the slot synchronously so `runQueue` can't overshoot the\n\t\t\t// budget while the async runner is still waiting on the gate.\n\t\t\tinFlight += 1;\n\t\t\trelease();\n\t\t}\n\t};\n\tconst promise = runWhenReleased(gate, task, controller.signal);\n\tqueue.push(queued);\n\trunQueue();\n\n\tconst abort = () => {\n\t\tif (queued.cancelled) return;\n\t\tqueued.cancelled = true;\n\t\tcontroller.abort();\n\t};\n\n\treturn { abort, promise };\n};\n\n/* ------------------------------------------------------------------ */\n/* Cache */\n/* ------------------------------------------------------------------ */\n\nconst evictOldest = () => {\n\tconst oldest = cache.keys().next();\n\tif (oldest.done) return;\n\tcache.get(oldest.value)?.abort();\n\tcache.delete(oldest.value);\n};\n\nconst touch = (key: string, entry: CacheEntry) => {\n\t// Re-insert so Map iteration order doubles as LRU recency.\n\tcache.delete(key);\n\tcache.set(key, entry);\n};\n\nexport const clearPrefetchCache = () => {\n\tfor (const entry of cache.values()) entry.abort();\n\tcache.clear();\n};\n\n/** Take the prefetched response for `url` out of the cache. Returns\n * `undefined` when nothing was prefetched (or it was evicted). Callers\n * that fetch the same URL themselves can await this instead. */\nexport const consumePrefetch = (\n\turl: string,\n\tkind: PrefetchKind = 'document'\n) => {\n\tconst key = cacheKey(kind, url);\n\tconst entry = cache.get(key);\n\tif (!entry) return undefined;\n\tcache.delete(key);\n\n\treturn entry.promise;\n};\n\n/** Whether `url` is already prefetched (in flight, queued or settled). */\nexport const hasPrefetched = (url: string, kind: PrefetchKind = 'document') =>\n\tcache.has(cacheKey(kind, url));\n\n/* ------------------------------------------------------------------ */\n/* Kinds */\n/* ------------------------------------------------------------------ */\n\nconst injectLink = (rel: string, href: string, asType?: string) => {\n\tif (typeof document === 'undefined') return;\n\tconst link = document.createElement('link');\n\tlink.rel = rel;\n\tlink.href = href;\n\tif (asType) link.setAttribute('as', asType);\n\tdocument.head.append(link);\n};\n\n/** Without `fetch` (very old engines) fall back to a `<link rel=\"prefetch\">`\n * for documents; other kinds have no declarative equivalent. */\nconst injectPrefetchFallback = (kind: PrefetchKind, url: string) => {\n\tif (kind !== 'document' || !supportsLinkRel('prefetch')) return;\n\tinjectLink('prefetch', url, 'document');\n};\n\nconst supportsLinkRel = (rel: string) => {\n\tif (typeof document === 'undefined') return false;\n\tconst link = document.createElement('link');\n\n\treturn (\n\t\ttypeof link.relList?.supports === 'function' &&\n\t\tlink.relList.supports(rel)\n\t);\n};\n\n/** Inject `<link rel=\"prefetch\" as=\"style\">` once per resolved href, so\n * the target page's stylesheets are in the HTTP cache before the click.\n * `prefetch` rather than `preload`: the sheet is for the NEXT document,\n * so preloading it would warn about an unused preload on this one. */\nexport const prefetchStylesheet = (href: string) => {\n\tif (typeof document === 'undefined') return false;\n\tconst resolved = resolveHref(href);\n\tif (prefetchedStyles.has(resolved)) return false;\n\tprefetchedStyles.add(resolved);\n\t// No `relList.supports` gate: a browser that doesn't know `prefetch`\n\t// simply ignores the tag, and there is no fallback worth branching to.\n\tinjectLink('prefetch', href, 'style');\n\n\treturn true;\n};\n\n/** Inject `<link rel=\"modulepreload\">` once per resolved href. Returns\n * `true` when a new tag was added. */\nexport const preloadModule = (href: string) => {\n\tif (typeof document === 'undefined') return false;\n\tconst resolved = resolveHref(href);\n\tif (preloadedModules.has(resolved)) return false;\n\n\tconst existing = Array.from(\n\t\tdocument.querySelectorAll<HTMLLinkElement>('link[rel=\"modulepreload\"]')\n\t);\n\tif (existing.some((link) => resolveHref(link.href) === resolved)) {\n\t\tpreloadedModules.add(resolved);\n\n\t\treturn false;\n\t}\n\n\tpreloadedModules.add(resolved);\n\tinjectLink('modulepreload', href);\n\n\treturn true;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isHref = (value: unknown): value is string =>\n\ttypeof value === 'string' && value.length > 0;\n\n/** Warm what a route-data envelope points at: `modulepreload` for the\n * page's client entry (and a separate client module when it has one),\n * `<link rel=\"prefetch\">` for its stylesheets. Anything unexpected in\n * the payload is ignored — a prefetch must never break a page. */\nconst warmRouteDataAssets = (envelope: unknown) => {\n\tif (!isRecord(envelope)) return;\n\tconst { assets } = envelope;\n\tif (!isRecord(assets)) return;\n\tconst { client, css, index } = assets;\n\tfor (const href of [index, client].filter(isHref)) preloadModule(href);\n\tif (!Array.isArray(css)) return;\n\tfor (const href of css.filter(isHref)) prefetchStylesheet(href);\n};\n\n/** Read the envelope out of a clone so the cached response body is still\n * unconsumed for whoever calls `consumePrefetch`. */\nconst warmFromRouteData = async (response: Response) => {\n\ttry {\n\t\twarmRouteDataAssets(await response.clone().json());\n\t} catch {\n\t\t/* malformed payload — the document prefetch still stands */\n\t}\n\n\treturn response;\n};\n\nconst fetchDocument = (url: string, signal: AbortSignal) =>\n\tfetch(url, { credentials: 'same-origin', signal });\n\nconst fetchRouteData = async (url: string, signal: AbortSignal) => {\n\tconst response = await fetch(url, {\n\t\tcredentials: 'same-origin',\n\t\theaders: { Accept: ROUTE_DATA_MEDIA_TYPE },\n\t\tsignal\n\t});\n\tconst contentType = response.headers.get('content-type') ?? '';\n\tconst isRouteData =\n\t\tresponse.ok && contentType.includes(ROUTE_DATA_MEDIA_TYPE);\n\tif (isRouteData) return warmFromRouteData(response);\n\n\t// The server doesn't speak route data (yet) — 404 / 406 / HTML fallback.\n\t// Remember that as \"no data\" so the URL isn't asked again, and drain\n\t// the body so the connection can be reused.\n\tawait response.body?.cancel().catch(() => undefined);\n\tconst status =\n\t\tresponse.status === NOT_FOUND || response.status === NOT_ACCEPTABLE\n\t\t\t? response.status\n\t\t\t: NOT_ACCEPTABLE;\n\n\treturn new Response(null, { status });\n};\n\n/**\n * Prefetch `url`. No-op when the user signalled data-saver / reduced-data\n * / 2g, when the page opted out, or when the URL is already cached. At\n * most two prefetches are in flight at once; the rest queue in order.\n */\nexport const prefetch = (url: string, options: PrefetchOptions = {}) => {\n\tconst kind = options.kind ?? 'document';\n\tif (!canPrefetch()) return;\n\n\tif (kind === 'module') {\n\t\tpreloadModule(url);\n\n\t\treturn;\n\t}\n\n\t// `'route'` is document + data: the HTML for the navigation itself and\n\t// the payload that names the modules and CSS to warm alongside it.\n\tif (kind === 'route') {\n\t\tprefetch(url, { kind: 'document' });\n\t\tprefetch(url, { kind: 'data' });\n\n\t\treturn;\n\t}\n\n\tconst key = cacheKey(kind, url);\n\tconst existing = cache.get(key);\n\tif (existing) {\n\t\ttouch(key, existing);\n\n\t\treturn;\n\t}\n\n\tif (typeof fetch === 'undefined') {\n\t\tinjectPrefetchFallback(kind, url);\n\n\t\treturn;\n\t}\n\n\twhile (cache.size >= PREFETCH_CACHE_LIMIT) evictOldest();\n\n\tconst { abort, promise } = enqueue((signal) =>\n\t\tkind === 'data'\n\t\t\t? fetchRouteData(url, signal)\n\t\t\t: fetchDocument(url, signal)\n\t);\n\tcache.set(key, { abort, kind, promise, url });\n};\n\n/* ------------------------------------------------------------------ */\n/* Speculation rules */\n/* ------------------------------------------------------------------ */\n\nconst supportsSpeculationRules = () =>\n\ttypeof HTMLScriptElement !== 'undefined' &&\n\ttypeof HTMLScriptElement.supports === 'function' &&\n\tHTMLScriptElement.supports('speculationrules');\n\n/**\n * Ask the browser to prerender `url` right away via a speculation-rules\n * script. Deduped per URL and capped to two live rules — the oldest is\n * removed when a third arrives, so a hover trail can't pile up hidden\n * prerendered tabs. Silently no-ops where the API is unsupported.\n */\nexport const speculate = (url: string) => {\n\tif (!canPrefetch() || !supportsSpeculationRules()) return false;\n\tif (typeof document === 'undefined') return false;\n\n\tconst resolved = resolveHref(url);\n\tif (liveSpeculationRules.has(resolved)) return false;\n\n\twhile (liveSpeculationRules.size >= MAX_LIVE_SPECULATION_RULES) {\n\t\tconst oldest = liveSpeculationRules.keys().next();\n\t\tif (oldest.done) break;\n\t\tliveSpeculationRules.get(oldest.value)?.remove();\n\t\tliveSpeculationRules.delete(oldest.value);\n\t}\n\n\tconst script = applyPageNonce(document.createElement('script'));\n\tscript.type = 'speculationrules';\n\tscript.textContent = JSON.stringify({\n\t\tprerender: [{ eagerness: 'immediate', urls: [url] }]\n\t});\n\tdocument.head.append(script);\n\tliveSpeculationRules.set(resolved, script);\n\n\treturn true;\n};\n\n/* ------------------------------------------------------------------ */\n/* Triggers */\n/* ------------------------------------------------------------------ */\n\nconst noopHandle: HoverPrefetchHandle = {\n\tcancel: () => {\n\t\t/* nothing scheduled */\n\t}\n};\n\n/**\n * Wrap a prefetch trigger in a hover-debounce so glancing across many links\n * doesn't fire a fetch storm. The returned handle's `cancel()` aborts the\n * pending hover prefetch (e.g. on `pointerleave`).\n *\n * Defaults to `kind: 'route'` — a hover is deliberate enough to be worth\n * the document AND the route data (and the modules + CSS that payload\n * names). Viewport prefetching stays document-only.\n */\nexport const scheduleHoverPrefetch = (\n\turl: string,\n\toptions: HoverPrefetchOptions = {}\n): HoverPrefetchHandle => {\n\tif (typeof window === 'undefined') return noopHandle;\n\n\tconst timer = window.setTimeout(() => {\n\t\tprefetch(url, { kind: options.kind ?? 'route' });\n\t\tif (options.prerender) speculate(url);\n\t\toptions.onPrefetch?.();\n\t}, HOVER_DEBOUNCE_MS);\n\n\treturn {\n\t\tcancel: () => window.clearTimeout(timer)\n\t};\n};\n\ntype ViewportTarget = {\n\toptions: ViewportPrefetchOptions;\n\turl: string;\n};\n\nconst viewportTargets = new WeakMap<Element, ViewportTarget>();\nlet viewportObserver: IntersectionObserver | null = null;\n\nconst handleIntersections = (entries: IntersectionObserverEntry[]) => {\n\tfor (const entry of entries) {\n\t\tif (!entry.isIntersecting) continue;\n\t\tconst target = viewportTargets.get(entry.target);\n\t\tviewportObserver?.unobserve(entry.target);\n\t\tviewportTargets.delete(entry.target);\n\t\tif (!target) continue;\n\t\tprefetch(target.url, { kind: target.options.kind });\n\t\ttarget.options.onVisible?.();\n\t}\n};\n\nconst getViewportObserver = () => {\n\tif (viewportObserver) return viewportObserver;\n\tif (typeof IntersectionObserver === 'undefined') return null;\n\tviewportObserver = new IntersectionObserver(handleIntersections, {\n\t\trootMargin: VIEWPORT_ROOT_MARGIN\n\t});\n\n\treturn viewportObserver;\n};\n\n/**\n * Prefetch `url` once `element` scrolls within 128px of the viewport. One\n * IntersectionObserver is shared by every link on the page. Returns an\n * unobserve function for the caller's unmount hook.\n */\nexport const observeViewport = (\n\telement: Element,\n\turl: string,\n\toptions: ViewportPrefetchOptions = {}\n) => {\n\tconst observer = getViewportObserver();\n\tif (!observer || !canPrefetch()) return () => undefined;\n\n\tviewportTargets.set(element, { options, url });\n\tobserver.observe(element);\n\n\treturn () => {\n\t\tobserver.unobserve(element);\n\t\tviewportTargets.delete(element);\n\t};\n};\n\n/** Test / teardown helper — forgets injected modulepreload + speculation\n * rule bookkeeping and cancels any queued fetches. */\nexport const resetPrefetchState = () => {\n\tclearPrefetchCache();\n\tqueue.length = 0;\n\tpreloadedModules.clear();\n\tprefetchedStyles.clear();\n\tfor (const script of liveSpeculationRules.values()) script.remove();\n\tliveSpeculationRules.clear();\n\tviewportObserver?.disconnect();\n\tviewportObserver = null;\n};\n",
|
|
26
26
|
"import {\n\tgetCurrentScope,\n\ttype MaybeRefOrGetter,\n\tonScopeDispose,\n\ttype Ref,\n\tref,\n\ttoValue,\n\twatchEffect\n} from 'vue';\nimport type {\n\tHoverPrefetchHandle,\n\tPrefetchKind,\n\tPrefetchMode\n} from '../../types/prefetch';\nimport {\n\tisPrefetchableHref,\n\tobserveViewport,\n\tprefetch,\n\tresolveDefaultPrefetchMode,\n\tscheduleHoverPrefetch,\n\tspeculate\n} from '../client/prefetch';\n\nexport type UsePrefetchOptions = {\n\t/** `'viewport'` (production default), `'hover'` (development default)\n\t * or `'none'`. */\n\tmode?: MaybeRefOrGetter<PrefetchMode | undefined>;\n\t/** What to warm. Defaults to `'document'` for the viewport trigger and\n\t * `'route'` (document + route data + the modules / CSS it names) for\n\t * hover and pointerdown. */\n\tkind?: PrefetchKind;\n\t/** Also inject a prerender speculation rule when the hover /\n\t * pointerdown trigger fires. */\n\tprerender?: MaybeRefOrGetter<boolean | undefined>;\n};\n\n/**\n * Prefetch `href` when the returned handlers fire. Bind `element` as the\n * template ref of any element for viewport-triggered prefetching:\n *\n * const { element, onPointerenter, onPointerleave } = usePrefetch('/pricing');\n * <a href=\"/pricing\" :ref=\"element\" @pointerenter=\"onPointerenter\" …>\n *\n * Cross-origin, hash-only and empty hrefs are ignored, as is everything\n * when the user has data-saver on or the page set\n * `window.__ABSOLUTE_PREFETCH__ = false`.\n */\nexport const usePrefetch = (\n\thref: MaybeRefOrGetter<string | undefined>,\n\toptions: UsePrefetchOptions = {}\n) => {\n\tconst viewportKind = options.kind ?? 'document';\n\tconst triggerKind = options.kind ?? 'route';\n\tconst element: Ref<HTMLElement | null> = ref(null);\n\tlet hoverHandle: HoverPrefetchHandle | null = null;\n\n\tconst currentHref = () => toValue(href);\n\tconst currentMode = () =>\n\t\ttoValue(options.mode) ?? resolveDefaultPrefetchMode();\n\tconst shouldPrerender = () => toValue(options.prerender) === true;\n\n\tconst isActive = () => {\n\t\tconst target = currentHref();\n\t\tif (target === undefined || !isPrefetchableHref(target)) return false;\n\n\t\treturn currentMode() !== 'none';\n\t};\n\n\tconst cancelHover = () => {\n\t\thoverHandle?.cancel();\n\t\thoverHandle = null;\n\t};\n\n\tconst onPointerenter = () => {\n\t\tconst target = currentHref();\n\t\tif (target === undefined || !isActive()) return;\n\t\tcancelHover();\n\t\thoverHandle = scheduleHoverPrefetch(target, {\n\t\t\tkind: triggerKind,\n\t\t\tprerender: shouldPrerender()\n\t\t});\n\t};\n\n\tconst onPointerdown = () => {\n\t\tconst target = currentHref();\n\t\tif (target === undefined || !isActive()) return;\n\t\tcancelHover();\n\t\tprefetch(target, { kind: triggerKind });\n\t\tif (shouldPrerender()) speculate(target);\n\t};\n\n\tif (typeof window !== 'undefined') {\n\t\twatchEffect(\n\t\t\t(onCleanup) => {\n\t\t\t\tconst node = element.value;\n\t\t\t\tconst target = currentHref();\n\t\t\t\tif (!node || target === undefined || !isActive()) return;\n\t\t\t\tif (currentMode() !== 'viewport') return;\n\t\t\t\tonCleanup(\n\t\t\t\t\tobserveViewport(node, target, { kind: viewportKind })\n\t\t\t\t);\n\t\t\t},\n\t\t\t{ flush: 'post' }\n\t\t);\n\t}\n\n\tif (getCurrentScope()) onScopeDispose(cancelHover);\n\n\treturn {\n\t\telement,\n\t\tonBlur: cancelHover,\n\t\tonFocus: onPointerenter,\n\t\tonPointerdown,\n\t\tonPointerenter,\n\t\tonPointerleave: cancelHover\n\t};\n};\n"
|
|
27
27
|
],
|
|
28
|
-
"mappings": "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",
|
|
29
|
-
"debugId": "
|
|
28
|
+
"mappings": "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",
|
|
29
|
+
"debugId": "585FF2BA56F1DF8464756E2164756E21",
|
|
30
30
|
"names": []
|
|
31
31
|
}
|
package/dist/vue/index.js
CHANGED
|
@@ -3203,6 +3203,19 @@ var init_ssrRender = __esm(() => {
|
|
|
3203
3203
|
selectorCache = new Map;
|
|
3204
3204
|
});
|
|
3205
3205
|
|
|
3206
|
+
// src/dev/client/cspNonce.ts
|
|
3207
|
+
var applyPageNonce = (element) => {
|
|
3208
|
+
const nonce = readPageNonce();
|
|
3209
|
+
if (nonce)
|
|
3210
|
+
element.nonce = nonce;
|
|
3211
|
+
return element;
|
|
3212
|
+
}, readPageNonce = () => {
|
|
3213
|
+
if (typeof document === "undefined")
|
|
3214
|
+
return;
|
|
3215
|
+
const carrier = document.querySelector("script[nonce], style[nonce]");
|
|
3216
|
+
return carrier?.nonce || undefined;
|
|
3217
|
+
};
|
|
3218
|
+
|
|
3206
3219
|
// src/angular/islands.ts
|
|
3207
3220
|
var angularIslandSelector = "abs-angular-island", getAngularIslandSelector = (_islandId) => angularIslandSelector, wrapperMetadataCache, requestRenderCache, getRequestRenderCache = () => {
|
|
3208
3221
|
const requestId = getSsrContextId();
|
|
@@ -4696,10 +4709,25 @@ var init_lazyModule = __esm(() => {
|
|
|
4696
4709
|
LAZY_RESOLVED_KEY = Symbol.for("absolutejs.svelte.lazy-resolved");
|
|
4697
4710
|
});
|
|
4698
4711
|
|
|
4712
|
+
// src/core/islandServerGeneration.ts
|
|
4713
|
+
var readGeneration = () => globalThis.__absoluteIslandServerGeneration ?? 0, bumpIslandServerGeneration = () => {
|
|
4714
|
+
globalThis.__absoluteIslandServerGeneration = readGeneration() + 1;
|
|
4715
|
+
}, createIslandGenerationGuard = (reset) => {
|
|
4716
|
+
let seen = readGeneration();
|
|
4717
|
+
return () => {
|
|
4718
|
+
const current = readGeneration();
|
|
4719
|
+
if (current === seen)
|
|
4720
|
+
return current;
|
|
4721
|
+
seen = current;
|
|
4722
|
+
reset();
|
|
4723
|
+
return current;
|
|
4724
|
+
};
|
|
4725
|
+
};
|
|
4726
|
+
|
|
4699
4727
|
// src/core/svelteServerModule.ts
|
|
4700
4728
|
import { mkdir as mkdir2, readdir as readdir3 } from "fs/promises";
|
|
4701
4729
|
import { basename as basename4, dirname as dirname6, extname as extname2, join as join8, relative as relative3, resolve as resolve6 } from "path";
|
|
4702
|
-
var serverCacheRoot2, compiledModuleCache2, originalSourcePathCache, transpiler, ensureRelativeImportPath = (from, target) => {
|
|
4730
|
+
var serverCacheRoot2, compiledModuleCache2, originalSourcePathCache, syncIslandGeneration, transpiler, ensureRelativeImportPath = (from, target) => {
|
|
4703
4731
|
const importPath = relative3(dirname6(from), target).replace(/\\/g, "/");
|
|
4704
4732
|
return importPath.startsWith(".") ? importPath : `./${importPath}`;
|
|
4705
4733
|
}, processDirectoryEntries = (entries, dir, targetFileName, stack) => {
|
|
@@ -4766,7 +4794,9 @@ var serverCacheRoot2, compiledModuleCache2, originalSourcePathCache, transpiler,
|
|
|
4766
4794
|
}, getCachedModulePath2 = (sourcePath) => {
|
|
4767
4795
|
const relativeSourcePath = relative3(process.cwd(), sourcePath).replace(/\\/g, "/");
|
|
4768
4796
|
const normalizedSourcePath = relativeSourcePath.startsWith("..") ? sourcePath.replace(/[:\\/]/g, "_") : relativeSourcePath;
|
|
4769
|
-
|
|
4797
|
+
const generation = syncIslandGeneration();
|
|
4798
|
+
const generationSuffix = generation > 0 ? `.g${generation}` : "";
|
|
4799
|
+
return join8(serverCacheRoot2, `${normalizedSourcePath}${generationSuffix}.server.js`);
|
|
4770
4800
|
}, resolveSvelteImport = async (spec, from) => {
|
|
4771
4801
|
if (!spec.startsWith(".") && !spec.startsWith("/")) {
|
|
4772
4802
|
const resolved = resolvePackageImport(spec);
|
|
@@ -4798,6 +4828,7 @@ var serverCacheRoot2, compiledModuleCache2, originalSourcePathCache, transpiler,
|
|
|
4798
4828
|
}
|
|
4799
4829
|
await Bun.write(path, content);
|
|
4800
4830
|
}, compileSvelteServerModule = async (sourcePath) => {
|
|
4831
|
+
syncIslandGeneration();
|
|
4801
4832
|
const cachedModulePath = compiledModuleCache2.get(sourcePath);
|
|
4802
4833
|
if (cachedModulePath) {
|
|
4803
4834
|
return cachedModulePath;
|
|
@@ -4880,6 +4911,10 @@ var init_svelteServerModule = __esm(() => {
|
|
|
4880
4911
|
serverCacheRoot2 = join8(process.cwd(), ".absolutejs", "islands", "svelte");
|
|
4881
4912
|
compiledModuleCache2 = new Map;
|
|
4882
4913
|
originalSourcePathCache = new Map;
|
|
4914
|
+
syncIslandGeneration = createIslandGenerationGuard(() => {
|
|
4915
|
+
compiledModuleCache2.clear();
|
|
4916
|
+
originalSourcePathCache.clear();
|
|
4917
|
+
});
|
|
4883
4918
|
transpiler = new Bun.Transpiler({
|
|
4884
4919
|
loader: "ts",
|
|
4885
4920
|
target: "browser"
|
|
@@ -4913,13 +4948,15 @@ import { readFileSync as readFileSync7, realpathSync } from "fs";
|
|
|
4913
4948
|
import { mkdir as mkdir3 } from "fs/promises";
|
|
4914
4949
|
import { dirname as dirname7, join as join9, relative as relative4, resolve as resolve7 } from "path";
|
|
4915
4950
|
var {Transpiler } = globalThis.Bun;
|
|
4916
|
-
var ISLAND_COMPONENT_ID_LENGTH = 8, serverCacheRoot3, compiledModuleCache3, transpiler2, ensureRelativeImportPath2 = (from, target) => {
|
|
4951
|
+
var ISLAND_COMPONENT_ID_LENGTH = 8, serverCacheRoot3, compiledModuleCache3, syncIslandGeneration2, transpiler2, ensureRelativeImportPath2 = (from, target) => {
|
|
4917
4952
|
const importPath = relative4(dirname7(from), target).replace(/\\/g, "/");
|
|
4918
4953
|
return importPath.startsWith(".") ? importPath : `./${importPath}`;
|
|
4919
4954
|
}, getCachedModulePath3 = (sourcePath) => {
|
|
4920
4955
|
const relativeSourcePath = relative4(process.cwd(), sourcePath).replace(/\\/g, "/");
|
|
4921
4956
|
const normalizedSourcePath = relativeSourcePath.startsWith("..") ? sourcePath.replace(/[:\\/]/g, "_") : relativeSourcePath;
|
|
4922
|
-
|
|
4957
|
+
const generation = syncIslandGeneration2();
|
|
4958
|
+
const generationSuffix = generation > 0 ? `.g${generation}` : "";
|
|
4959
|
+
return join9(serverCacheRoot3, `${normalizedSourcePath}${generationSuffix}.server.js`);
|
|
4923
4960
|
}, writeIfChanged2 = async (path, content) => {
|
|
4924
4961
|
const targetFile = Bun.file(path);
|
|
4925
4962
|
if (await targetFile.exists()) {
|
|
@@ -4946,6 +4983,7 @@ var ISLAND_COMPONENT_ID_LENGTH = 8, serverCacheRoot3, compiledModuleCache3, tran
|
|
|
4946
4983
|
`) : nonVueLines.join(`
|
|
4947
4984
|
`);
|
|
4948
4985
|
}, extractRelativeVueImports = (sourceCode) => Array.from(sourceCode.matchAll(/import\s+[\s\S]+?['"]([^'"]+)['"]/g)).map((match) => match[1]).filter((importPath) => typeof importPath === "string" && importPath.startsWith(".") && importPath.endsWith(".vue")), compileVueServerModule = async (sourcePath) => {
|
|
4986
|
+
syncIslandGeneration2();
|
|
4949
4987
|
const cachedModulePath = compiledModuleCache3.get(sourcePath);
|
|
4950
4988
|
if (cachedModulePath)
|
|
4951
4989
|
return cachedModulePath;
|
|
@@ -5006,11 +5044,14 @@ var init_vueServerModule = __esm(() => {
|
|
|
5006
5044
|
init_isFile();
|
|
5007
5045
|
serverCacheRoot3 = join9(process.cwd(), ".absolutejs", "islands", "vue");
|
|
5008
5046
|
compiledModuleCache3 = new Map;
|
|
5047
|
+
syncIslandGeneration2 = createIslandGenerationGuard(() => {
|
|
5048
|
+
compiledModuleCache3.clear();
|
|
5049
|
+
});
|
|
5009
5050
|
transpiler2 = new Transpiler({ loader: "ts", target: "browser" });
|
|
5010
5051
|
});
|
|
5011
5052
|
|
|
5012
5053
|
// src/core/renderIslandMarkup.ts
|
|
5013
|
-
var islandSequence = 0, resolvedServerComponentCache, resolvedServerBuildComponentCache, nextIslandId = () => {
|
|
5054
|
+
var islandSequence = 0, resolvedServerComponentCache, resolvedServerBuildComponentCache, syncIslandGeneration3, nextIslandId = () => {
|
|
5014
5055
|
islandSequence += 1;
|
|
5015
5056
|
return `island-${islandSequence}`;
|
|
5016
5057
|
}, isRecord8 = (value) => typeof value === "object" && value !== null, isReactServerIslandComponent = (value) => typeof value === "function", isSvelteServerIslandComponent = (value) => typeof value === "function", isVueServerIslandComponent = (value) => typeof value === "function" || isRecord8(value), isAngularServerIslandComponent = (value) => typeof value === "function", resolveBuildReferencePath = (source, registryPath) => {
|
|
@@ -5024,6 +5065,7 @@ var islandSequence = 0, resolvedServerComponentCache, resolvedServerBuildCompone
|
|
|
5024
5065
|
const loadedModule = await import(compiledModulePath);
|
|
5025
5066
|
return "default" in loadedModule ? loadedModule.default : loadedModule;
|
|
5026
5067
|
}, loadServerBuildComponent = async (buildReferencePath) => {
|
|
5068
|
+
syncIslandGeneration3();
|
|
5027
5069
|
const cachedBuildComponent = resolvedServerBuildComponentCache.get(buildReferencePath);
|
|
5028
5070
|
if (cachedBuildComponent) {
|
|
5029
5071
|
return cachedBuildComponent;
|
|
@@ -5062,6 +5104,7 @@ var islandSequence = 0, resolvedServerComponentCache, resolvedServerBuildCompone
|
|
|
5062
5104
|
}
|
|
5063
5105
|
return loadServerImportComponent(resolvedComponent);
|
|
5064
5106
|
}, resolveServerIslandComponent = async (component) => {
|
|
5107
|
+
syncIslandGeneration3();
|
|
5065
5108
|
const cachedResolvedComponent = resolvedServerComponentCache.get(component);
|
|
5066
5109
|
if (cachedResolvedComponent) {
|
|
5067
5110
|
return cachedResolvedComponent;
|
|
@@ -5160,6 +5203,10 @@ var init_renderIslandMarkup = __esm(() => {
|
|
|
5160
5203
|
init_islands();
|
|
5161
5204
|
resolvedServerComponentCache = new Map;
|
|
5162
5205
|
resolvedServerBuildComponentCache = new Map;
|
|
5206
|
+
syncIslandGeneration3 = createIslandGenerationGuard(() => {
|
|
5207
|
+
resolvedServerComponentCache.clear();
|
|
5208
|
+
resolvedServerBuildComponentCache.clear();
|
|
5209
|
+
});
|
|
5163
5210
|
});
|
|
5164
5211
|
|
|
5165
5212
|
// src/vue/pageHandler.ts
|
|
@@ -5836,6 +5883,8 @@ var isMatchingIslandElement = (element, props) => {
|
|
|
5836
5883
|
const attributes = getIslandMarkerAttributes(props);
|
|
5837
5884
|
return element.dataset.island === "true" && element.dataset.component === attributes["data-component"] && element.dataset.framework === attributes["data-framework"] && (element.dataset.hydrate ?? "load") === attributes["data-hydrate"] && (element.dataset.props ?? "{}") === attributes["data-props"];
|
|
5838
5885
|
};
|
|
5886
|
+
var RUNTIME_ISLAND_ATTRIBUTES = new Set(["data-error", "data-hydrated"]);
|
|
5887
|
+
var readMarkerAttributes = (element) => Object.fromEntries(element.getAttributeNames().filter((name) => !RUNTIME_ISLAND_ATTRIBUTES.has(name)).map((name) => [name, element.getAttribute(name) ?? ""]));
|
|
5839
5888
|
var preserveIslandMarkup = (props) => {
|
|
5840
5889
|
if (typeof document === "undefined") {
|
|
5841
5890
|
return {
|
|
@@ -5857,10 +5906,19 @@ var preserveIslandMarkup = (props) => {
|
|
|
5857
5906
|
};
|
|
5858
5907
|
}
|
|
5859
5908
|
return {
|
|
5860
|
-
attributes:
|
|
5909
|
+
attributes: readMarkerAttributes(liveCandidate),
|
|
5861
5910
|
innerHTML: liveCandidate.innerHTML
|
|
5862
5911
|
};
|
|
5863
5912
|
};
|
|
5913
|
+
var innerHtmlObjects = new Map;
|
|
5914
|
+
var getStableInnerHtml = (html) => {
|
|
5915
|
+
const existing = innerHtmlObjects.get(html);
|
|
5916
|
+
if (existing)
|
|
5917
|
+
return existing;
|
|
5918
|
+
const created = { __html: html };
|
|
5919
|
+
innerHtmlObjects.set(html, created);
|
|
5920
|
+
return created;
|
|
5921
|
+
};
|
|
5864
5922
|
|
|
5865
5923
|
// src/vue/Island.ts
|
|
5866
5924
|
init_islandMarkupAttributes();
|
|
@@ -6858,20 +6916,6 @@ var useServerData = (key, fetcher, options = {}) => {
|
|
|
6858
6916
|
// src/vue/router/Link.ts
|
|
6859
6917
|
import { defineComponent as defineComponent6, getCurrentInstance as getCurrentInstance2, h as h6 } from "vue";
|
|
6860
6918
|
|
|
6861
|
-
// src/dev/client/cspNonce.ts
|
|
6862
|
-
var applyPageNonce = (element) => {
|
|
6863
|
-
const nonce = readPageNonce();
|
|
6864
|
-
if (nonce)
|
|
6865
|
-
element.nonce = nonce;
|
|
6866
|
-
return element;
|
|
6867
|
-
};
|
|
6868
|
-
var readPageNonce = () => {
|
|
6869
|
-
if (typeof document === "undefined")
|
|
6870
|
-
return;
|
|
6871
|
-
const carrier = document.querySelector("script[nonce], style[nonce]");
|
|
6872
|
-
return carrier?.nonce || undefined;
|
|
6873
|
-
};
|
|
6874
|
-
|
|
6875
6919
|
// src/client/prefetch.ts
|
|
6876
6920
|
var PREFETCH_CACHE_LIMIT = 16;
|
|
6877
6921
|
var HOVER_DEBOUNCE_MS = 250;
|
|
@@ -7374,5 +7418,5 @@ export {
|
|
|
7374
7418
|
useServerData
|
|
7375
7419
|
};
|
|
7376
7420
|
|
|
7377
|
-
//# debugId=
|
|
7421
|
+
//# debugId=BD21CC972FDF821C64756E2164756E21
|
|
7378
7422
|
//# sourceMappingURL=index.js.map
|