@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.
Files changed (84) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/changelog.json +76 -0
  3. package/dist/angular/browser.js +13 -2
  4. package/dist/angular/browser.js.map +3 -3
  5. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  6. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  7. package/dist/angular/index.js +67 -8
  8. package/dist/angular/index.js.map +10 -8
  9. package/dist/angular/server.js +67 -8
  10. package/dist/angular/server.js.map +10 -8
  11. package/dist/build.js +315 -120
  12. package/dist/build.js.map +21 -19
  13. package/dist/cli/{compile-n6fs2vmx.js → compile-w2z6c9vt.js} +1 -1
  14. package/dist/cli/{dev-6h1f0mzq.js → dev-8br5mr7t.js} +16 -2
  15. package/dist/cli/{index-mqevg32w.js → index-6522t968.js} +21 -2
  16. package/dist/cli/{index-bhyd3ejc.js → index-7z1hh3fg.js} +1 -1
  17. package/dist/cli/index.js +6 -6
  18. package/dist/cli/{islands-vk05sj6v.js → islands-bx67g15t.js} +4 -4
  19. package/dist/cli/{mobile-62b6j3j7.js → mobile-we5q51ey.js} +2 -2
  20. package/dist/cli/{start-jh6kyp92.js → start-srs11bm8.js} +2 -2
  21. package/dist/client/chunks/index-4j1snyh2.js +18 -0
  22. package/dist/client/chunks/index-4j1snyh2.js.map +10 -0
  23. package/dist/client/chunks/{index-6b66nzyf.js → index-a3rpg5kw.js} +6 -16
  24. package/dist/client/chunks/{index-6b66nzyf.js.map → index-a3rpg5kw.js.map} +3 -4
  25. package/dist/client/chunks/{islands-s2ta5ajb.js → islands-mfjmdwnb.js} +11 -4
  26. package/dist/client/chunks/{islands-s2ta5ajb.js.map → islands-mfjmdwnb.js.map} +3 -3
  27. package/dist/client/chunks/{react-dcvkaba2.js → react-sprprqzs.js} +20 -4
  28. package/dist/client/chunks/react-sprprqzs.js.map +10 -0
  29. package/dist/client/chunks/svelte-6ewphsvj.js +30 -0
  30. package/dist/client/chunks/svelte-6ewphsvj.js.map +10 -0
  31. package/dist/client/chunks/{vue-a84fzp3v.js → vue-db6ppn1f.js} +14 -4
  32. package/dist/client/chunks/vue-db6ppn1f.js.map +10 -0
  33. package/dist/client/index.js +65 -8
  34. package/dist/client/index.js.map +4 -4
  35. package/dist/client/navigation.js +5 -3
  36. package/dist/client/navigation.js.map +2 -2
  37. package/dist/client/prefetch.js +1 -1
  38. package/dist/dev/client/handlers/islands.ts +85 -0
  39. package/dist/dev/client/hmrClient.ts +6 -0
  40. package/dist/index.js +460 -244
  41. package/dist/index.js.map +23 -21
  42. package/dist/islands/index.js +57 -10
  43. package/dist/islands/index.js.map +9 -7
  44. package/dist/react/browser.js +15 -4
  45. package/dist/react/browser.js.map +5 -5
  46. package/dist/react/components/client.js +506 -0
  47. package/dist/react/components/index.js +14 -15
  48. package/dist/react/components/index.js.map +4 -4
  49. package/dist/react/components/server/index.js +728 -0
  50. package/dist/react/hooks/index.js +14 -15
  51. package/dist/react/hooks/index.js.map +4 -4
  52. package/dist/react/index.js +66 -6
  53. package/dist/react/index.js.map +11 -9
  54. package/dist/react/router/browser.js +7 -8
  55. package/dist/react/router/browser.js.map +4 -4
  56. package/dist/react/router/index.js +7 -8
  57. package/dist/react/router/index.js.map +4 -4
  58. package/dist/react/server.js +14 -1
  59. package/dist/react/server.js.map +4 -4
  60. package/dist/src/build/buildReactServerComponents.d.ts +4 -0
  61. package/dist/src/build/islandEntries.d.ts +5 -0
  62. package/dist/src/client/hydrators/react.d.ts +7 -0
  63. package/dist/src/client/hydrators/svelte.d.ts +3 -0
  64. package/dist/src/client/hydrators/vue.d.ts +3 -0
  65. package/dist/src/client/preserveIslandMarkup.d.ts +5 -0
  66. package/dist/src/core/islandServerGeneration.d.ts +3 -0
  67. package/dist/src/react/components/client.d.ts +4 -0
  68. package/dist/src/react/components/server/index.d.ts +8 -0
  69. package/dist/src/react/serverComponents/constants.d.ts +2 -1
  70. package/dist/svelte/index.js +66 -6
  71. package/dist/svelte/index.js.map +10 -8
  72. package/dist/svelte/server.js +38 -3
  73. package/dist/svelte/server.js.map +6 -5
  74. package/dist/types/build.d.ts +3 -2
  75. package/dist/types/globals.d.ts +15 -0
  76. package/dist/vue/browser.js +26 -16
  77. package/dist/vue/browser.js.map +5 -5
  78. package/dist/vue/index.js +65 -21
  79. package/dist/vue/index.js.map +10 -9
  80. package/package.json +1 -1
  81. package/dist/client/chunks/react-dcvkaba2.js.map +0 -10
  82. package/dist/client/chunks/svelte-4yfa5bxa.js +0 -17
  83. package/dist/client/chunks/svelte-4yfa5bxa.js.map +0 -10
  84. package/dist/client/chunks/vue-a84fzp3v.js.map +0 -10
@@ -1,4 +1,17 @@
1
1
  // @bun
2
+ // src/dev/client/cspNonce.ts
3
+ var applyPageNonce = (element) => {
4
+ const nonce = readPageNonce();
5
+ if (nonce)
6
+ element.nonce = nonce;
7
+ return element;
8
+ }, readPageNonce = () => {
9
+ if (typeof document === "undefined")
10
+ return;
11
+ const carrier = document.querySelector("script[nonce], style[nonce]");
12
+ return carrier?.nonce || undefined;
13
+ };
14
+
2
15
  // src/utils/formActionProtocol.ts
3
16
  var ACTION_ERROR_ATTRIBUTE = "data-action-error", ACTION_FORM_ATTRIBUTE = "data-absolute-action", ACTION_MESSAGE_ATTRIBUTE = "data-action-message", ACTION_REQUEST_HEADER = "x-absolute-action", ACTION_STATUS_ATTRIBUTE = "data-action-status", ACTION_SUCCESS_ATTRIBUTE = "data-action-success", isRecord3 = (value) => typeof value === "object" && value !== null && !Array.isArray(value), isStringRecord = (value) => isRecord3(value) && Object.values(value).every((entry) => typeof entry === "string"), isOptionalString = (value) => value === undefined || typeof value === "string", isActionResult = (value) => {
4
17
  if (!isRecord3(value))
@@ -523,20 +536,6 @@ var useMediaQuery = (customBreakpoints = defaultBreakpoints) => {
523
536
  // src/react/hooks/usePrefetch.ts
524
537
  import { useCallback, useEffect, useRef } from "react";
525
538
 
526
- // src/dev/client/cspNonce.ts
527
- var applyPageNonce = (element) => {
528
- const nonce = readPageNonce();
529
- if (nonce)
530
- element.nonce = nonce;
531
- return element;
532
- };
533
- var readPageNonce = () => {
534
- if (typeof document === "undefined")
535
- return;
536
- const carrier = document.querySelector("script[nonce], style[nonce]");
537
- return carrier?.nonce || undefined;
538
- };
539
-
540
539
  // src/client/prefetch.ts
541
540
  var PREFETCH_CACHE_LIMIT = 16;
542
541
  var HOVER_DEBOUNCE_MS = 250;
@@ -1049,5 +1048,5 @@ export {
1049
1048
  usePrefetch
1050
1049
  };
1051
1050
 
1052
- //# debugId=B1E13CF34C32092B64756E2164756E21
1051
+ //# debugId=7C5D1CFF318A404364756E2164756E21
1053
1052
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/utils/formActionProtocol.ts", "../src/react/hooks/useI18n.ts", "../src/i18n/intlCache.ts", "../src/i18n/formatMessage.ts", "../src/i18n/translator.ts", "../src/react/hooks/useIslandStore.ts", "../node_modules/zustand/esm/vanilla.mjs", "../node_modules/zustand/esm/middleware.mjs", "../src/client/islandStore.ts", "../src/react/hooks/useMediaQuery.ts", "../src/react/hooks/usePrefetch.ts", "../src/dev/client/cspNonce.ts", "../src/client/prefetch.ts", "../src/react/hooks/useFormAction.ts", "../src/client/formActions.ts"],
3
+ "sources": ["../src/dev/client/cspNonce.ts", "../src/utils/formActionProtocol.ts", "../src/react/hooks/useI18n.ts", "../src/i18n/intlCache.ts", "../src/i18n/formatMessage.ts", "../src/i18n/translator.ts", "../src/react/hooks/useIslandStore.ts", "../node_modules/zustand/esm/vanilla.mjs", "../node_modules/zustand/esm/middleware.mjs", "../src/client/islandStore.ts", "../src/react/hooks/useMediaQuery.ts", "../src/react/hooks/usePrefetch.ts", "../src/client/prefetch.ts", "../src/react/hooks/useFormAction.ts", "../src/client/formActions.ts"],
4
4
  "sourcesContent": [
5
+ "/* 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",
5
6
  "import type { ActionResult } from '../../types/formAction';\n\n/* The wire contract between `defineAction` (server) and the browser\n * helpers (`submitFormAction`, `enhanceForms`, `useFormAction`). Browser\n * safe: no server imports. */\n\n/* - ACTION_ERROR_ATTRIBUTE: element whose text becomes the named field's\n * error (`data-action-error=\"email\"`).\n * - ACTION_FORM_ATTRIBUTE: marks a plain <form> for `enhanceForms()` and\n * for the server's no-JS result rendering.\n * - ACTION_MESSAGE_ATTRIBUTE: element whose text becomes the form-level\n * error message.\n * - ACTION_REQUEST_HEADER: sent by the browser helpers so the action\n * answers with JSON instead of redirecting.\n * - ACTION_STATUS_ATTRIBUTE: set on the form, `success` or `error`.\n * - ACTION_SUCCESS_ATTRIBUTE: element shown (its `hidden` removed) after\n * a successful submission. */\nexport const ACTION_ERROR_ATTRIBUTE = 'data-action-error';\nexport const ACTION_FORM_ATTRIBUTE = 'data-absolute-action';\nexport const ACTION_MESSAGE_ATTRIBUTE = 'data-action-message';\nexport const ACTION_REQUEST_HEADER = 'x-absolute-action';\nexport const ACTION_STATUS_ATTRIBUTE = 'data-action-status';\nexport const ACTION_SUCCESS_ATTRIBUTE = 'data-action-success';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst isStringRecord = (value: unknown) =>\n\tisRecord(value) &&\n\tObject.values(value).every((entry) => typeof entry === 'string');\n\nconst isOptionalString = (value: unknown) =>\n\tvalue === undefined || typeof value === 'string';\n\n/** True for a well-formed action result. The type parameters let callers\n * name the action's data and fields; only the shape is checked. */\nexport const isActionResult = <Data = unknown, Fields extends string = string>(\n\tvalue: unknown\n): value is ActionResult<Data, Fields> => {\n\tif (!isRecord(value)) return false;\n\tif (value.status === 'success') return isOptionalString(value.redirect);\n\n\treturn (\n\t\tvalue.status === 'error' &&\n\t\tisStringRecord(value.errors) &&\n\t\tisOptionalString(value.message)\n\t);\n};\n",
6
7
  "import {\n\tcreateContext,\n\tcreateElement,\n\tuseContext,\n\tuseMemo,\n\ttype ReactNode\n} from 'react';\nimport type { I18nPayload, MessageCatalog } from '../../../types/i18n';\nimport { createTranslator } from '../../i18n/translator';\n\nconst I18nContext = createContext<I18nPayload | null>(null);\n\ntype I18nProviderProps = {\n\t/** The payload from the server (`i18n.payload()`), passed down as a\n\t * page prop so the browser hydrates with the same messages. */\n\tvalue: I18nPayload;\n\tchildren?: ReactNode;\n};\n\n/** Makes a locale's messages available to `useI18n()` below it. */\nexport const I18nProvider = ({ value, children }: I18nProviderProps) =>\n\tcreateElement(I18nContext.Provider, { value }, children);\n\n/** The translator for the nearest `I18nProvider`. Pass your default\n * catalog's type to type-check keys and ICU parameters:\n * `const { t } = useI18n<typeof en>()`. */\nexport const useI18n = <Catalog = MessageCatalog>() => {\n\tconst payload = useContext(I18nContext);\n\tif (payload === null) {\n\t\tthrow new Error('useI18n must be used within an I18nProvider');\n\t}\n\n\treturn useMemo(() => createTranslator<Catalog>(payload), [payload]);\n};\n",
7
8
  "/* Intl formatters are expensive to construct; keep one per locale and\n * options. Options are keyed by their JSON, which is stable for the plain\n * option objects callers pass. */\n\nconst numberFormats = new Map<string, Intl.NumberFormat>();\nconst dateTimeFormats = new Map<string, Intl.DateTimeFormat>();\nconst pluralRules = new Map<string, Intl.PluralRules>();\nconst relativeTimeFormats = new Map<string, Intl.RelativeTimeFormat>();\nconst listFormats = new Map<string, Intl.ListFormat>();\n\nconst cacheKey = (locale: string, options: object | undefined) =>\n\t`${locale}|${options ? JSON.stringify(options) : ''}`;\n\nconst cached = <Formatter>(\n\tcache: Map<string, Formatter>,\n\tkey: string,\n\tcreate: () => Formatter\n) => {\n\tconst existing = cache.get(key);\n\tif (existing) return existing;\n\tconst created = create();\n\tcache.set(key, created);\n\n\treturn created;\n};\n\nexport const getDateTimeFormat = (\n\tlocale: string,\n\toptions?: Intl.DateTimeFormatOptions\n) =>\n\tcached(\n\t\tdateTimeFormats,\n\t\tcacheKey(locale, options),\n\t\t() => new Intl.DateTimeFormat(locale, options)\n\t);\nexport const getListFormat = (\n\tlocale: string,\n\toptions?: Intl.ListFormatOptions\n) =>\n\tcached(\n\t\tlistFormats,\n\t\tcacheKey(locale, options),\n\t\t() => new Intl.ListFormat(locale, options)\n\t);\nexport const getNumberFormat = (\n\tlocale: string,\n\toptions?: Intl.NumberFormatOptions\n) =>\n\tcached(\n\t\tnumberFormats,\n\t\tcacheKey(locale, options),\n\t\t() => new Intl.NumberFormat(locale, options)\n\t);\nexport const getPluralRules = (\n\tlocale: string,\n\toptions?: Intl.PluralRulesOptions\n) =>\n\tcached(\n\t\tpluralRules,\n\t\tcacheKey(locale, options),\n\t\t() => new Intl.PluralRules(locale, options)\n\t);\nexport const getRelativeTimeFormat = (\n\tlocale: string,\n\toptions?: Intl.RelativeTimeFormatOptions\n) =>\n\tcached(\n\t\trelativeTimeFormats,\n\t\tcacheKey(locale, options),\n\t\t() => new Intl.RelativeTimeFormat(locale, options)\n\t);\n",
@@ -13,12 +14,11 @@
13
14
  "import { createStore, type StateCreator, type StoreApi } from 'zustand/vanilla';\nimport { combine } from 'zustand/middleware';\n\nexport type IslandStoreState = object;\ntype IslandStoreSnapshot = Record<string, unknown>;\ntype IslandStoreShape<\n\tTState extends IslandStoreState,\n\tTActions extends object\n> = Omit<TState, keyof TActions> & TActions;\nexport type IslandStateSnapshot = Record<string, IslandStoreSnapshot>;\ntype AnyIslandStore = StoreApi<object>;\ntype IslandStoreInstance = {\n\tapplyExternalSnapshot: (snapshot: IslandStoreSnapshot) => void;\n\tstore: AnyIslandStore;\n};\n\nexport const ABSOLUTE_ISLAND_STATE = '__ABS_ISLAND_STATE__';\nexport const ABSOLUTE_ISLAND_STORES = '__ABS_ISLAND_STORES__';\n\ndeclare global {\n\tvar __ABS_ISLAND_STATE__: IslandStateSnapshot | undefined;\n\tvar __ABS_ISLAND_STORES__:\n\t\tMap<string, Set<IslandStoreInstance>> | undefined;\n}\n\nconst getIslandStoreSnapshot = () => {\n\tglobalThis.__ABS_ISLAND_STATE__ ??= {};\n\n\treturn globalThis.__ABS_ISLAND_STATE__;\n};\n\nconst getIslandStores = () => {\n\tglobalThis.__ABS_ISLAND_STORES__ ??= new Map();\n\n\treturn globalThis.__ABS_ISLAND_STORES__;\n};\n\nconst isSerializableValue = (value: unknown) =>\n\ttypeof value !== 'function' && value !== undefined;\n\nconst toSerializableState = <T extends object>(state: T) =>\n\tObject.fromEntries(\n\t\tObject.entries(state).filter(([, value]) => isSerializableValue(value))\n\t);\n\nconst applySnapshot = <T extends object>(\n\tstore: StoreApi<T>,\n\tsnapshot: IslandStoreSnapshot | undefined\n) => {\n\tif (!snapshot) {\n\t\treturn;\n\t}\n\n\tstore.setState({\n\t\t...store.getState(),\n\t\t...snapshot\n\t});\n};\n\nconst getPeerStores = (\n\tstoreInstances: Set<IslandStoreInstance>,\n\townerStore: AnyIslandStore\n) => [...storeInstances].filter((peer) => peer.store !== ownerStore);\n\nconst syncIslandSnapshot = <\n\tTState extends IslandStoreState,\n\tTActions extends object\n>(\n\tstoreId: string,\n\tstate: IslandStoreShape<TState, TActions>,\n\tstoreInstances: Set<IslandStoreInstance>,\n\townerStore: AnyIslandStore\n) => {\n\tconst nextSnapshot = toSerializableState(state);\n\tgetIslandStoreSnapshot()[storeId] = nextSnapshot;\n\n\tfor (const peerStore of getPeerStores(storeInstances, ownerStore)) {\n\t\tpeerStore.applyExternalSnapshot(nextSnapshot);\n\t}\n};\n\nexport const createIslandStore = <\n\tTState extends IslandStoreState,\n\tTActions extends object\n>(\n\tstoreId: string,\n\tinitialState: TState,\n\tcreateState: StateCreator<TState, [], [], TActions>\n) => {\n\tconst store = createStore(combine(initialState, createState));\n\tconst stores = getIslandStores();\n\tconst storeInstances =\n\t\tstores.get(storeId) ?? new Set<IslandStoreInstance>();\n\tconst initialSnapshot = getIslandStoreSnapshot()[storeId];\n\tapplySnapshot(store, initialSnapshot);\n\tlet isApplyingExternalSnapshot = false;\n\n\tconst applyExternalSnapshot = (snapshot: IslandStoreSnapshot) => {\n\t\tisApplyingExternalSnapshot = true;\n\t\tapplySnapshot(store, snapshot);\n\t};\n\n\tstoreInstances.add({\n\t\tapplyExternalSnapshot,\n\t\tstore\n\t});\n\tstores.set(storeId, storeInstances);\n\n\tsyncIslandSnapshot(storeId, store.getState(), storeInstances, store);\n\tstore.subscribe((state) => {\n\t\tif (isApplyingExternalSnapshot) {\n\t\t\tisApplyingExternalSnapshot = false;\n\n\t\t\treturn;\n\t\t}\n\n\t\tsyncIslandSnapshot(storeId, state, storeInstances, store);\n\t});\n\n\treturn store;\n};\nexport const getIslandStoreServerSnapshot = <\n\tTState extends IslandStoreState,\n\tTSelected\n>(\n\tstore: StoreApi<TState>,\n\tselector: (state: TState) => TSelected\n) => selector(store.getInitialState());\nconst applySnapshotToStoreInstances = (\n\tstoreId: string,\n\tinstances: Set<IslandStoreInstance>,\n\tsnapshot: IslandStateSnapshot\n) => {\n\tfor (const instance of instances) {\n\t\tinstance.applyExternalSnapshot(snapshot[storeId] ?? {});\n\t}\n};\n\nexport const initializeIslandStores = (state: IslandStateSnapshot) => {\n\tconst currentSnapshot = getIslandStoreSnapshot();\n\tconst nextSnapshot: IslandStateSnapshot = {\n\t\t...state,\n\t\t...currentSnapshot\n\t};\n\n\tglobalThis.__ABS_ISLAND_STATE__ = nextSnapshot;\n\n\tfor (const [storeId, store] of getIslandStores()) {\n\t\tapplySnapshotToStoreInstances(storeId, store, nextSnapshot);\n\t}\n};\nexport const readIslandStore = <TState extends IslandStoreState, TSelected>(\n\tstore: StoreApi<TState>,\n\tselector: (state: TState) => TSelected\n) => selector(store.getState());\nexport const resetIslandStoreForTesting = () => {\n\tdelete globalThis.__ABS_ISLAND_STATE__;\n\tdelete globalThis.__ABS_ISLAND_STORES__;\n};\nexport const subscribeIslandStore = <\n\tTState extends IslandStoreState,\n\tTSelected\n>(\n\tstore: StoreApi<TState>,\n\tselector: (state: TState) => TSelected,\n\tlistener: (value: TSelected) => void\n) => {\n\tlet currentSelection = selector(store.getState());\n\n\treturn store.subscribe((state) => {\n\t\tconst nextSelection = selector(state);\n\t\tif (Object.is(nextSelection, currentSelection)) {\n\t\t\treturn;\n\t\t}\n\n\t\tcurrentSelection = nextSelection;\n\t\tlistener(nextSelection);\n\t});\n};\n",
14
15
  "import {\n\tcreateContext,\n\tuseContext,\n\tuseSyncExternalStore,\n\ttype Provider\n} from 'react';\nimport { Breakpoint, Breakpoints } from '../../../types/mediaQuery';\nimport { UserAgentType } from '../../../types/userAgentTypes';\n\nconst UserAgentContext = createContext<UserAgentType | null>(null);\n\n// eslint-disable-next-line absolute/no-redundant-type-annotation -- Keep a stable named declaration; inferred union order varies between builds.\nexport const UserAgentProvider: Provider<UserAgentType | null> =\n\tUserAgentContext.Provider;\n\nconst useUserAgentType = () => {\n\tconst context = useContext(UserAgentContext);\n\tif (context === null) {\n\t\tthrow new Error(\n\t\t\t'useMediaQuery must be used within a UserAgentProvider'\n\t\t);\n\t}\n\n\treturn context;\n};\n\nconst defaultBreakpoints: Breakpoints = {\n\t'2xl': 1536,\n\tlg: 1024,\n\tmd: 768,\n\tsm: 640,\n\txl: 1280,\n\txs: 0\n};\n\nconst userAgentInitialWidth: Record<UserAgentType, number> = {\n\tbot: 1024,\n\tcar: 768,\n\tconsole: 1024,\n\tdesktop: 1024,\n\tiot: 640,\n\tother: 768,\n\tphone: 375,\n\ttablet: 768,\n\ttv: 1280\n};\n\nconst subscribers = new Set<() => void>();\nlet width = typeof window !== 'undefined' ? window.innerWidth : 0;\nlet isListening = false;\n\nconst ensureListener = () => {\n\tif (isListening || typeof window === 'undefined') return;\n\tisListening = true;\n\n\tlet isTicking = false;\n\tconst onResize = () => {\n\t\tif (isTicking) return;\n\t\tisTicking = true;\n\t\trequestAnimationFrame(() => {\n\t\t\tisTicking = false;\n\t\t\twidth = window.innerWidth;\n\t\t\tsubscribers.forEach((notify) => notify());\n\t\t});\n\t};\n\n\twindow.addEventListener('resize', onResize, { passive: true });\n};\n\nconst subscribe = (callback: () => void) => {\n\tensureListener();\n\tsubscribers.add(callback);\n\n\treturn () => subscribers.delete(callback);\n};\n\nconst getViewportWidth = () => width;\n\nconst computeBreakpoint = (widthValue: number, breakpoints: Breakpoints) => {\n\tif (widthValue < breakpoints.sm) return 'xs';\n\tif (widthValue < breakpoints.md) return 'sm';\n\tif (widthValue < breakpoints.lg) return 'md';\n\tif (widthValue < breakpoints.xl) return 'lg';\n\tif (widthValue < breakpoints['2xl']) return 'xl';\n\n\treturn '2xl';\n};\n\nexport const useMediaQuery = (\n\tcustomBreakpoints: Breakpoints = defaultBreakpoints\n) => {\n\tconst userAgentType = useUserAgentType();\n\tconst getServerWidth = () => userAgentInitialWidth[userAgentType];\n\n\tconst currentWidth = useSyncExternalStore(\n\t\tsubscribe,\n\t\tgetViewportWidth,\n\t\tgetServerWidth\n\t);\n\n\tconst breakpoint = computeBreakpoint(currentWidth, customBreakpoints);\n\n\tconst isSizeOrGreater = (target: Breakpoint) =>\n\t\tcustomBreakpoints[breakpoint] >= customBreakpoints[target];\n\n\tconst isSizeOrLess = (target: Breakpoint) =>\n\t\tcustomBreakpoints[breakpoint] <= customBreakpoints[target];\n\n\treturn { breakpoint, isSizeOrGreater, isSizeOrLess };\n};\n",
15
16
  "import { useCallback, useEffect, useRef } from 'react';\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?: PrefetchMode;\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?: boolean;\n};\n\n/**\n * Prefetch `href` when the returned handlers fire. Spread the handlers on\n * any element and attach `ref` to it for viewport-triggered prefetching:\n *\n * const { ref, ...prefetchHandlers } = usePrefetch('/pricing');\n * <a href=\"/pricing\" ref={ref} {...prefetchHandlers}>Pricing</a>\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 = <TElement extends HTMLElement = HTMLElement>(\n\thref: string | undefined,\n\toptions: UsePrefetchOptions = {}\n) => {\n\tconst { kind, mode, prerender = false } = options;\n\tconst viewportKind = kind ?? 'document';\n\tconst triggerKind = kind ?? 'route';\n\tconst elementRef = useRef<TElement | null>(null);\n\tconst hoverHandle = useRef<HoverPrefetchHandle | null>(null);\n\n\tconst cancelHover = useCallback(() => {\n\t\thoverHandle.current?.cancel();\n\t\thoverHandle.current = null;\n\t}, []);\n\n\tconst isActive = useCallback(() => {\n\t\tif (href === undefined || !isPrefetchableHref(href)) return false;\n\t\tconst resolved = mode ?? resolveDefaultPrefetchMode();\n\n\t\treturn resolved !== 'none';\n\t}, [href, mode]);\n\n\tuseEffect(() => {\n\t\tconst element = elementRef.current;\n\t\tif (!element || href === undefined || !isActive()) return undefined;\n\t\tconst resolved = mode ?? resolveDefaultPrefetchMode();\n\t\tif (resolved !== 'viewport') return undefined;\n\n\t\treturn observeViewport(element, href, { kind: viewportKind });\n\t}, [href, isActive, mode, viewportKind]);\n\n\tuseEffect(() => cancelHover, [cancelHover]);\n\n\tconst onPointerEnter = useCallback(() => {\n\t\tif (href === undefined || !isActive()) return;\n\t\tcancelHover();\n\t\thoverHandle.current = scheduleHoverPrefetch(href, {\n\t\t\tkind: triggerKind,\n\t\t\tprerender\n\t\t});\n\t}, [cancelHover, href, isActive, prerender, triggerKind]);\n\n\tconst onPointerDown = useCallback(() => {\n\t\tif (href === undefined || !isActive()) return;\n\t\tcancelHover();\n\t\tprefetch(href, { kind: triggerKind });\n\t\tif (prerender) speculate(href);\n\t}, [cancelHover, href, isActive, prerender, triggerKind]);\n\n\treturn {\n\t\tonBlur: cancelHover,\n\t\tonFocus: onPointerEnter,\n\t\tonPointerDown,\n\t\tonPointerEnter,\n\t\tonPointerLeave: cancelHover,\n\t\tref: elementRef\n\t};\n};\n",
16
- "/* 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",
17
17
  "/**\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",
18
18
  "import {\n\tuseCallback,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n\ttype FormEvent\n} from 'react';\nimport type {\n\tActionFieldErrors,\n\tActionFields,\n\tActionFormValues,\n\tActionIdleState,\n\tActionPath,\n\tActionStateOf,\n\tAnyFormAction\n} from '../../../types/formAction';\nimport { submitFormAction } from '../../client/formActions';\n\nexport type UseFormActionOptions<Action extends AnyFormAction> = {\n\t/** The result a submission without JavaScript left for this page:\n\t * `getActionState(action)` in the route, passed down as a prop. */\n\tinitialState?: ActionStateOf<Action>;\n\t/** Clear the form's fields after a successful submission that doesn't\n\t * redirect. Default true. */\n\tresetOnSuccess?: boolean;\n};\n\nconst IDLE: ActionIdleState = { status: 'idle' };\n\nconst submitterOf = (event: FormEvent<HTMLFormElement>) => {\n\tconst { nativeEvent } = event;\n\n\treturn 'submitter' in nativeEvent &&\n\t\tnativeEvent.submitter instanceof HTMLElement\n\t\t? nativeEvent.submitter\n\t\t: null;\n};\n\n/**\n * Progressive-enhancement form state for a `defineAction` action:\n *\n * const signup = useFormAction<typeof createUser>('/users', {\n * \tinitialState: props.signupState\n * });\n * <form {...signup.formProps}>\n * \t<input name=\"name\" defaultValue={signup.values.name} />\n * \t{signup.errors.name && <p>{signup.errors.name}</p>}\n * \t<button disabled={signup.pending}>Save</button>\n * </form>\n *\n * `formProps` renders a real `method=\"post\"` form, so it works before\n * hydration and without JavaScript; once hydrated, submissions go through\n * fetch and `state` / `pending` / `errors` update in place.\n */\nexport const useFormAction = <Action extends AnyFormAction = AnyFormAction>(\n\tpath: ActionPath<Action>,\n\toptions: UseFormActionOptions<Action> = {}\n) => {\n\tconst [state, setState] = useState<ActionStateOf<Action>>(\n\t\t() => options.initialState ?? IDLE\n\t);\n\tconst [pending, setPending] = useState(false);\n\tconst controllerRef = useRef<AbortController | null>(null);\n\tconst resetOnSuccess = options.resetOnSuccess !== false;\n\n\tuseEffect(() => () => controllerRef.current?.abort(), []);\n\n\tconst submit = useCallback(\n\t\tasync (body: FormData) => {\n\t\t\tcontrollerRef.current?.abort();\n\t\t\tconst controller = new AbortController();\n\t\t\tcontrollerRef.current = controller;\n\t\t\tsetPending(true);\n\t\t\ttry {\n\t\t\t\tconst result = await submitFormAction<Action>(path, body, {\n\t\t\t\t\tsignal: controller.signal\n\t\t\t\t});\n\t\t\t\tsetState(result);\n\t\t\t\tif (result.status === 'success' && result.redirect)\n\t\t\t\t\twindow.location.assign(result.redirect);\n\n\t\t\t\treturn result;\n\t\t\t} finally {\n\t\t\t\tif (controllerRef.current === controller) setPending(false);\n\t\t\t}\n\t\t},\n\t\t[path]\n\t);\n\n\tconst onSubmit = useCallback(\n\t\t(event: FormEvent<HTMLFormElement>) => {\n\t\t\tevent.preventDefault();\n\t\t\tconst form = event.currentTarget;\n\t\t\tconst body = new FormData(form, submitterOf(event));\n\t\t\tconst clearOnSuccess = async () => {\n\t\t\t\tconst result = await submit(body);\n\t\t\t\tif (\n\t\t\t\t\tresult.status === 'success' &&\n\t\t\t\t\t!result.redirect &&\n\t\t\t\t\tresetOnSuccess\n\t\t\t\t)\n\t\t\t\t\tform.reset();\n\t\t\t};\n\t\t\t// An aborted submission (a newer one replaced it) is not an error.\n\t\t\tclearOnSuccess().catch(() => undefined);\n\t\t},\n\t\t[resetOnSuccess, submit]\n\t);\n\n\tconst reset = useCallback(() => setState(IDLE), []);\n\tconst errors: ActionFieldErrors<ActionFields<Action>> =\n\t\tstate.status === 'error' ? state.errors : {};\n\tconst values: ActionFormValues<ActionFields<Action>> =\n\t\tstate.status === 'error' ? (state.values ?? {}) : {};\n\n\treturn {\n\t\tdata: state.status === 'success' ? state.data : undefined,\n\t\terrors,\n\t\tformProps: {\n\t\t\taction: path,\n\t\t\tencType: 'multipart/form-data',\n\t\t\tmethod: 'post',\n\t\t\tonSubmit\n\t\t},\n\t\tmessage: state.status === 'error' ? state.message : undefined,\n\t\tpending,\n\t\treset,\n\t\tstate,\n\t\tsubmit,\n\t\tvalues\n\t};\n};\n",
19
19
  "import type {\n\tActionData,\n\tActionErrorState,\n\tActionFields,\n\tActionPath,\n\tActionResult,\n\tAnyFormAction\n} from '../../types/formAction';\nimport {\n\tACTION_ERROR_ATTRIBUTE,\n\tACTION_FORM_ATTRIBUTE,\n\tACTION_MESSAGE_ATTRIBUTE,\n\tACTION_REQUEST_HEADER,\n\tACTION_STATUS_ATTRIBUTE,\n\tACTION_SUCCESS_ATTRIBUTE,\n\tisActionResult\n} from '../utils/formActionProtocol';\n\n/* Browser side of form actions. `submitFormAction` posts a FormData and\n * returns the typed result; `enhanceForms` upgrades plain\n * `<form data-absolute-action>` markup (static HTML and HTMX pages) so it\n * submits without a reload. Without JavaScript the same forms post\n * normally and the server renders the result. */\n\nexport type SubmitFormActionOptions = {\n\tsignal?: AbortSignal;\n};\n\nconst failure = (message: string): ActionErrorState => ({\n\terrors: {},\n\tmessage,\n\tstatus: 'error'\n});\n\nconst readPayload = async (response: Response) => {\n\ttry {\n\t\tconst payload: unknown = await response.json();\n\n\t\treturn payload;\n\t} catch {\n\t\treturn undefined;\n\t}\n};\n\n/** A reducer for React 19's `useActionState` (JavaScript-only: React\n * renders function form actions as `javascript:` URLs on the server; use\n * `useFormAction` for forms that also work without JavaScript). */\nexport const formActionReducer =\n\t<Action extends AnyFormAction = AnyFormAction>(path: ActionPath<Action>) =>\n\tasync (_previous: unknown, body: FormData) =>\n\t\tsubmitFormAction<Action>(path, body);\n\n/** Posts `body` to the action at `path` and returns its result. Network\n * and unexpected server failures come back as an error state with a\n * `message`; an aborted request rejects with the abort error. */\nexport const submitFormAction = async <\n\tAction extends AnyFormAction = AnyFormAction\n>(\n\tpath: ActionPath<Action>,\n\tbody: FormData,\n\toptions: SubmitFormActionOptions = {}\n) => {\n\ttype Result = ActionResult<ActionData<Action>, ActionFields<Action>>;\n\tconst response = await fetch(path, {\n\t\tbody,\n\t\tcredentials: 'same-origin',\n\t\theaders: { accept: 'application/json', [ACTION_REQUEST_HEADER]: '1' },\n\t\tmethod: 'POST',\n\t\tsignal: options.signal\n\t}).catch((error: unknown) => {\n\t\tif (options.signal?.aborted) throw error;\n\n\t\treturn undefined;\n\t});\n\tif (!response) {\n\t\tconst result: Result = failure('Network error: the form was not sent.');\n\n\t\treturn result;\n\t}\n\tconst payload = await readPayload(response);\n\tif (isActionResult<ActionData<Action>, ActionFields<Action>>(payload))\n\t\treturn payload;\n\tconst result: Result = failure(\n\t\t`The server could not handle the form (HTTP ${response.status}).`\n\t);\n\n\treturn result;\n};\n\n/* ---------------------------------------------------------------- *\n * Plain <form data-absolute-action> enhancement\n * ---------------------------------------------------------------- */\n\nexport type FormActionEventDetail = { result: ActionResult };\n\n/** Fired on the form after every enhanced submission. */\nexport const FORM_ACTION_EVENT = 'absolute:form-action';\n\nconst namedControls = (form: HTMLFormElement) =>\n\tArray.from(form.elements).filter(\n\t\t(element): element is HTMLElement & { name: string } =>\n\t\t\telement instanceof HTMLElement &&\n\t\t\t'name' in element &&\n\t\t\ttypeof element.name === 'string' &&\n\t\t\telement.name !== ''\n\t);\n\nconst markControls = (form: HTMLFormElement, result: ActionResult) => {\n\tconst errors = result.status === 'error' ? result.errors : {};\n\tconst invalid = namedControls(form).filter((control) => {\n\t\tconst message = errors[control.name];\n\t\tif (message) control.setAttribute('aria-invalid', 'true');\n\t\telse control.removeAttribute('aria-invalid');\n\n\t\treturn Boolean(message);\n\t});\n\n\treturn invalid[0];\n};\n\nconst fillErrors = (form: HTMLFormElement, result: ActionResult) => {\n\tconst errors = result.status === 'error' ? result.errors : {};\n\tform.querySelectorAll<HTMLElement>(`[${ACTION_ERROR_ATTRIBUTE}]`).forEach(\n\t\t(element) => {\n\t\t\tconst name = element.getAttribute(ACTION_ERROR_ATTRIBUTE) ?? '';\n\t\t\tconst message = errors[name] ?? '';\n\t\t\telement.textContent = message;\n\t\t\telement.hidden = message === '';\n\t\t}\n\t);\n};\n\nconst fillMessages = (form: HTMLFormElement, result: ActionResult) => {\n\tconst message = result.status === 'error' ? (result.message ?? '') : '';\n\tform.querySelectorAll<HTMLElement>(`[${ACTION_MESSAGE_ATTRIBUTE}]`).forEach(\n\t\t(element) => {\n\t\t\telement.textContent = message;\n\t\t\telement.hidden = message === '';\n\t\t}\n\t);\n\tform.querySelectorAll<HTMLElement>(`[${ACTION_SUCCESS_ATTRIBUTE}]`).forEach(\n\t\t(element) => {\n\t\t\telement.hidden = result.status !== 'success';\n\t\t}\n\t);\n};\n\n/** Writes `result` into a plain form: field errors into\n * `[data-action-error=\"field\"]`, the message into `[data-action-message]`,\n * `[data-action-success]` shown on success, `aria-invalid` on the fields\n * and `data-action-status` on the form. Focuses the first invalid field. */\nexport const applyActionResult = (\n\tform: HTMLFormElement,\n\tresult: ActionResult\n) => {\n\tform.setAttribute(ACTION_STATUS_ATTRIBUTE, result.status);\n\tfillErrors(form, result);\n\tfillMessages(form, result);\n\tconst firstInvalid = markControls(form, result);\n\tfirstInvalid?.focus();\n};\n\nconst setPending = (form: HTMLFormElement, pending: boolean) => {\n\tform.toggleAttribute('aria-busy', pending);\n\tform.toggleAttribute('data-action-pending', pending);\n\tform.querySelectorAll<HTMLButtonElement | HTMLInputElement>(\n\t\t'button[type=\"submit\"], button:not([type]), input[type=\"submit\"]'\n\t).forEach((button) => {\n\t\tbutton.disabled = pending;\n\t});\n};\n\nconst finishSubmission = (form: HTMLFormElement, result: ActionResult) => {\n\tapplyActionResult(form, result);\n\tconst detail: FormActionEventDetail = { result };\n\tform.dispatchEvent(\n\t\tnew CustomEvent(FORM_ACTION_EVENT, { bubbles: true, detail })\n\t);\n\tif (result.status !== 'success') return;\n\tif (result.redirect) window.location.assign(result.redirect);\n\telse form.reset();\n};\n\nconst formActionUrl = (form: HTMLFormElement) => {\n\tconst url = new URL(form.action, window.location.href);\n\n\treturn `${url.pathname}${url.search}`;\n};\n\n/** Submits `form` with fetch instead of a page load. Returns a function\n * that removes the enhancement. */\nexport const enhanceForm = (form: HTMLFormElement) => {\n\tlet controller: AbortController | undefined;\n\tconst submit = async (event: SubmitEvent) => {\n\t\tevent.preventDefault();\n\t\tcontroller?.abort();\n\t\tconst current = new AbortController();\n\t\tcontroller = current;\n\t\tconst body = new FormData(form, event.submitter);\n\t\tsetPending(form, true);\n\t\tconst result = await submitFormAction(formActionUrl(form), body, {\n\t\t\tsignal: current.signal\n\t\t}).catch(() => undefined);\n\t\tif (controller !== current) return;\n\t\tsetPending(form, false);\n\t\tif (result) finishSubmission(form, result);\n\t};\n\tconst listener = (event: SubmitEvent) => {\n\t\tvoid submit(event);\n\t};\n\tform.addEventListener('submit', listener);\n\n\treturn () => {\n\t\tcontroller?.abort();\n\t\tform.removeEventListener('submit', listener);\n\t};\n};\n\n/* HTMX already submits these; enhancing them too would post twice. */\nconst isHtmxForm = (form: HTMLFormElement) =>\n\tform.hasAttribute('hx-post') || form.hasAttribute('data-hx-post');\n\n/** Enhances every `<form data-absolute-action>` under `root` (except\n * `hx-post` forms, which HTMX submits). Returns a function that removes\n * the enhancements. */\nexport const enhanceForms = (root: ParentNode = document) => {\n\tconst cleanups = Array.from(\n\t\troot.querySelectorAll<HTMLFormElement>(`form[${ACTION_FORM_ATTRIBUTE}]`)\n\t)\n\t\t.filter((form) => !isHtmxForm(form))\n\t\t.map((form) => enhanceForm(form));\n\n\treturn () => cleanups.forEach((cleanup) => cleanup());\n};\n"
20
20
  ],
21
- "mappings": "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",
22
- "debugId": "B1E13CF34C32092B64756E2164756E21",
21
+ "mappings": "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",
22
+ "debugId": "7C5D1CFF318A404364756E2164756E21",
23
23
  "names": []
24
24
  }
@@ -2931,6 +2931,19 @@ var init_ssrRender = __esm(() => {
2931
2931
  selectorCache = new Map;
2932
2932
  });
2933
2933
 
2934
+ // src/dev/client/cspNonce.ts
2935
+ var applyPageNonce = (element) => {
2936
+ const nonce = readPageNonce();
2937
+ if (nonce)
2938
+ element.nonce = nonce;
2939
+ return element;
2940
+ }, readPageNonce = () => {
2941
+ if (typeof document === "undefined")
2942
+ return;
2943
+ const carrier = document.querySelector("script[nonce], style[nonce]");
2944
+ return carrier?.nonce || undefined;
2945
+ };
2946
+
2934
2947
  // src/angular/islands.ts
2935
2948
  var angularIslandSelector = "abs-angular-island", getAngularIslandSelector = (_islandId) => angularIslandSelector, wrapperMetadataCache, requestRenderCache, getRequestRenderCache = () => {
2936
2949
  const requestId = getSsrContextId();
@@ -4424,10 +4437,25 @@ var init_lazyModule = __esm(() => {
4424
4437
  LAZY_RESOLVED_KEY = Symbol.for("absolutejs.svelte.lazy-resolved");
4425
4438
  });
4426
4439
 
4440
+ // src/core/islandServerGeneration.ts
4441
+ var readGeneration = () => globalThis.__absoluteIslandServerGeneration ?? 0, bumpIslandServerGeneration = () => {
4442
+ globalThis.__absoluteIslandServerGeneration = readGeneration() + 1;
4443
+ }, createIslandGenerationGuard = (reset) => {
4444
+ let seen = readGeneration();
4445
+ return () => {
4446
+ const current = readGeneration();
4447
+ if (current === seen)
4448
+ return current;
4449
+ seen = current;
4450
+ reset();
4451
+ return current;
4452
+ };
4453
+ };
4454
+
4427
4455
  // src/core/svelteServerModule.ts
4428
4456
  import { mkdir as mkdir2, readdir as readdir2 } from "fs/promises";
4429
4457
  import { basename as basename3, dirname as dirname4, extname as extname2, join as join7, relative as relative3, resolve as resolve4 } from "path";
4430
- var serverCacheRoot2, compiledModuleCache2, originalSourcePathCache, transpiler, ensureRelativeImportPath = (from, target) => {
4458
+ var serverCacheRoot2, compiledModuleCache2, originalSourcePathCache, syncIslandGeneration, transpiler, ensureRelativeImportPath = (from, target) => {
4431
4459
  const importPath = relative3(dirname4(from), target).replace(/\\/g, "/");
4432
4460
  return importPath.startsWith(".") ? importPath : `./${importPath}`;
4433
4461
  }, processDirectoryEntries = (entries, dir, targetFileName, stack) => {
@@ -4494,7 +4522,9 @@ var serverCacheRoot2, compiledModuleCache2, originalSourcePathCache, transpiler,
4494
4522
  }, getCachedModulePath2 = (sourcePath) => {
4495
4523
  const relativeSourcePath = relative3(process.cwd(), sourcePath).replace(/\\/g, "/");
4496
4524
  const normalizedSourcePath = relativeSourcePath.startsWith("..") ? sourcePath.replace(/[:\\/]/g, "_") : relativeSourcePath;
4497
- return join7(serverCacheRoot2, `${normalizedSourcePath}.server.js`);
4525
+ const generation = syncIslandGeneration();
4526
+ const generationSuffix = generation > 0 ? `.g${generation}` : "";
4527
+ return join7(serverCacheRoot2, `${normalizedSourcePath}${generationSuffix}.server.js`);
4498
4528
  }, resolveSvelteImport = async (spec, from) => {
4499
4529
  if (!spec.startsWith(".") && !spec.startsWith("/")) {
4500
4530
  const resolved = resolvePackageImport(spec);
@@ -4526,6 +4556,7 @@ var serverCacheRoot2, compiledModuleCache2, originalSourcePathCache, transpiler,
4526
4556
  }
4527
4557
  await Bun.write(path, content);
4528
4558
  }, compileSvelteServerModule = async (sourcePath) => {
4559
+ syncIslandGeneration();
4529
4560
  const cachedModulePath = compiledModuleCache2.get(sourcePath);
4530
4561
  if (cachedModulePath) {
4531
4562
  return cachedModulePath;
@@ -4608,6 +4639,10 @@ var init_svelteServerModule = __esm(() => {
4608
4639
  serverCacheRoot2 = join7(process.cwd(), ".absolutejs", "islands", "svelte");
4609
4640
  compiledModuleCache2 = new Map;
4610
4641
  originalSourcePathCache = new Map;
4642
+ syncIslandGeneration = createIslandGenerationGuard(() => {
4643
+ compiledModuleCache2.clear();
4644
+ originalSourcePathCache.clear();
4645
+ });
4611
4646
  transpiler = new Bun.Transpiler({
4612
4647
  loader: "ts",
4613
4648
  target: "browser"
@@ -4641,13 +4676,15 @@ import { readFileSync as readFileSync5, realpathSync } from "fs";
4641
4676
  import { mkdir as mkdir3 } from "fs/promises";
4642
4677
  import { dirname as dirname5, join as join8, relative as relative4, resolve as resolve5 } from "path";
4643
4678
  var {Transpiler } = globalThis.Bun;
4644
- var ISLAND_COMPONENT_ID_LENGTH = 8, serverCacheRoot3, compiledModuleCache3, transpiler2, ensureRelativeImportPath2 = (from, target) => {
4679
+ var ISLAND_COMPONENT_ID_LENGTH = 8, serverCacheRoot3, compiledModuleCache3, syncIslandGeneration2, transpiler2, ensureRelativeImportPath2 = (from, target) => {
4645
4680
  const importPath = relative4(dirname5(from), target).replace(/\\/g, "/");
4646
4681
  return importPath.startsWith(".") ? importPath : `./${importPath}`;
4647
4682
  }, getCachedModulePath3 = (sourcePath) => {
4648
4683
  const relativeSourcePath = relative4(process.cwd(), sourcePath).replace(/\\/g, "/");
4649
4684
  const normalizedSourcePath = relativeSourcePath.startsWith("..") ? sourcePath.replace(/[:\\/]/g, "_") : relativeSourcePath;
4650
- return join8(serverCacheRoot3, `${normalizedSourcePath}.server.js`);
4685
+ const generation = syncIslandGeneration2();
4686
+ const generationSuffix = generation > 0 ? `.g${generation}` : "";
4687
+ return join8(serverCacheRoot3, `${normalizedSourcePath}${generationSuffix}.server.js`);
4651
4688
  }, writeIfChanged2 = async (path, content) => {
4652
4689
  const targetFile = Bun.file(path);
4653
4690
  if (await targetFile.exists()) {
@@ -4674,6 +4711,7 @@ var ISLAND_COMPONENT_ID_LENGTH = 8, serverCacheRoot3, compiledModuleCache3, tran
4674
4711
  `) : nonVueLines.join(`
4675
4712
  `);
4676
4713
  }, 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) => {
4714
+ syncIslandGeneration2();
4677
4715
  const cachedModulePath = compiledModuleCache3.get(sourcePath);
4678
4716
  if (cachedModulePath)
4679
4717
  return cachedModulePath;
@@ -4734,11 +4772,14 @@ var init_vueServerModule = __esm(() => {
4734
4772
  init_isFile();
4735
4773
  serverCacheRoot3 = join8(process.cwd(), ".absolutejs", "islands", "vue");
4736
4774
  compiledModuleCache3 = new Map;
4775
+ syncIslandGeneration2 = createIslandGenerationGuard(() => {
4776
+ compiledModuleCache3.clear();
4777
+ });
4737
4778
  transpiler2 = new Transpiler({ loader: "ts", target: "browser" });
4738
4779
  });
4739
4780
 
4740
4781
  // src/core/renderIslandMarkup.ts
4741
- var islandSequence = 0, resolvedServerComponentCache, resolvedServerBuildComponentCache, nextIslandId = () => {
4782
+ var islandSequence = 0, resolvedServerComponentCache, resolvedServerBuildComponentCache, syncIslandGeneration3, nextIslandId = () => {
4742
4783
  islandSequence += 1;
4743
4784
  return `island-${islandSequence}`;
4744
4785
  }, 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) => {
@@ -4752,6 +4793,7 @@ var islandSequence = 0, resolvedServerComponentCache, resolvedServerBuildCompone
4752
4793
  const loadedModule = await import(compiledModulePath);
4753
4794
  return "default" in loadedModule ? loadedModule.default : loadedModule;
4754
4795
  }, loadServerBuildComponent = async (buildReferencePath) => {
4796
+ syncIslandGeneration3();
4755
4797
  const cachedBuildComponent = resolvedServerBuildComponentCache.get(buildReferencePath);
4756
4798
  if (cachedBuildComponent) {
4757
4799
  return cachedBuildComponent;
@@ -4790,6 +4832,7 @@ var islandSequence = 0, resolvedServerComponentCache, resolvedServerBuildCompone
4790
4832
  }
4791
4833
  return loadServerImportComponent(resolvedComponent);
4792
4834
  }, resolveServerIslandComponent = async (component) => {
4835
+ syncIslandGeneration3();
4793
4836
  const cachedResolvedComponent = resolvedServerComponentCache.get(component);
4794
4837
  if (cachedResolvedComponent) {
4795
4838
  return cachedResolvedComponent;
@@ -4888,6 +4931,10 @@ var init_renderIslandMarkup = __esm(() => {
4888
4931
  init_islands();
4889
4932
  resolvedServerComponentCache = new Map;
4890
4933
  resolvedServerBuildComponentCache = new Map;
4934
+ syncIslandGeneration3 = createIslandGenerationGuard(() => {
4935
+ resolvedServerComponentCache.clear();
4936
+ resolvedServerBuildComponentCache.clear();
4937
+ });
4891
4938
  });
4892
4939
 
4893
4940
  // src/react/pageHandler.ts
@@ -5313,6 +5360,17 @@ var defineFileRouteWith = (framework, route, render) => {
5313
5360
 
5314
5361
  // src/core/lookup.ts
5315
5362
  init_requestContext();
5363
+ var DOUBLED_RSC_SUFFIX = "RSCRSC";
5364
+ var warnedDoubledRscKeys = new Set;
5365
+ var warnDoubledRscKey = (source, name, assetPath) => {
5366
+ if (!name.endsWith(DOUBLED_RSC_SUFFIX))
5367
+ return;
5368
+ const current = name.slice(0, -"RSC".length);
5369
+ if (source[current] !== assetPath || warnedDoubledRscKeys.has(name))
5370
+ return;
5371
+ warnedDoubledRscKeys.add(name);
5372
+ console.warn(`[asset] key "${name}" is deprecated: React Server Components pages whose file name ends in RSC no longer get the suffix twice. Use asset(manifest, '${current}').`);
5373
+ };
5316
5374
  var asset = (source, name) => {
5317
5375
  const assetPath = source[name];
5318
5376
  if (assetPath === undefined) {
@@ -5326,6 +5384,8 @@ var asset = (source, name) => {
5326
5384
  console.warn(`[asset] key "${name}" not found in manifest (dev mode \u2014 skipping)`);
5327
5385
  return "";
5328
5386
  }
5387
+ if (!isProductionRuntime())
5388
+ warnDoubledRscKey(source, name, assetPath);
5329
5389
  return assetPath;
5330
5390
  };
5331
5391
 
@@ -5650,5 +5710,5 @@ export {
5650
5710
  useIslandStore
5651
5711
  };
5652
5712
 
5653
- //# debugId=B99EBB38E56DA99564756E2164756E21
5713
+ //# debugId=76F279FE64B890CE64756E2164756E21
5654
5714
  //# sourceMappingURL=index.js.map