@jasonshimmy/vite-plugin-cer-app 0.28.3 → 0.29.0

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 (148) hide show
  1. package/README.md +2 -0
  2. package/dist/cli/adapters/cloudflare.d.ts +2 -2
  3. package/dist/cli/adapters/cloudflare.d.ts.map +1 -1
  4. package/dist/cli/adapters/cloudflare.js +83 -159
  5. package/dist/cli/adapters/cloudflare.js.map +1 -1
  6. package/dist/cli/adapters/deployment-mode.d.ts +10 -0
  7. package/dist/cli/adapters/deployment-mode.d.ts.map +1 -0
  8. package/dist/cli/adapters/deployment-mode.js +59 -0
  9. package/dist/cli/adapters/deployment-mode.js.map +1 -0
  10. package/dist/cli/adapters/netlify.d.ts +5 -4
  11. package/dist/cli/adapters/netlify.d.ts.map +1 -1
  12. package/dist/cli/adapters/netlify.js +26 -150
  13. package/dist/cli/adapters/netlify.js.map +1 -1
  14. package/dist/cli/adapters/vercel.d.ts +2 -3
  15. package/dist/cli/adapters/vercel.d.ts.map +1 -1
  16. package/dist/cli/adapters/vercel.js +36 -111
  17. package/dist/cli/adapters/vercel.js.map +1 -1
  18. package/dist/cli/adapters/web-bridge.d.ts +3 -0
  19. package/dist/cli/adapters/web-bridge.d.ts.map +1 -0
  20. package/dist/cli/adapters/web-bridge.js +110 -0
  21. package/dist/cli/adapters/web-bridge.js.map +1 -0
  22. package/dist/cli/checks/lighthouse.d.ts +6 -0
  23. package/dist/cli/checks/lighthouse.d.ts.map +1 -1
  24. package/dist/cli/checks/lighthouse.js +49 -44
  25. package/dist/cli/checks/lighthouse.js.map +1 -1
  26. package/dist/cli/checks/performance.d.ts +3 -0
  27. package/dist/cli/checks/performance.d.ts.map +1 -1
  28. package/dist/cli/checks/performance.js +56 -15
  29. package/dist/cli/checks/performance.js.map +1 -1
  30. package/dist/cli/checks/quality.d.ts +35 -0
  31. package/dist/cli/checks/quality.d.ts.map +1 -0
  32. package/dist/cli/checks/quality.js +72 -0
  33. package/dist/cli/checks/quality.js.map +1 -0
  34. package/dist/cli/checks/seo.d.ts +9 -0
  35. package/dist/cli/checks/seo.d.ts.map +1 -0
  36. package/dist/cli/checks/seo.js +40 -0
  37. package/dist/cli/checks/seo.js.map +1 -0
  38. package/dist/cli/commands/build.d.ts.map +1 -1
  39. package/dist/cli/commands/build.js +2 -51
  40. package/dist/cli/commands/build.js.map +1 -1
  41. package/dist/cli/commands/check.d.ts.map +1 -1
  42. package/dist/cli/commands/check.js +12 -0
  43. package/dist/cli/commands/check.js.map +1 -1
  44. package/dist/cli/commands/dev.d.ts +4 -0
  45. package/dist/cli/commands/dev.d.ts.map +1 -1
  46. package/dist/cli/commands/dev.js +1 -72
  47. package/dist/cli/commands/dev.js.map +1 -1
  48. package/dist/cli/commands/generate.d.ts +1 -4
  49. package/dist/cli/commands/generate.d.ts.map +1 -1
  50. package/dist/cli/commands/generate.js +4 -73
  51. package/dist/cli/commands/generate.js.map +1 -1
  52. package/dist/cli/commands/preview-paths.d.ts +3 -0
  53. package/dist/cli/commands/preview-paths.d.ts.map +1 -0
  54. package/dist/cli/commands/preview-paths.js +8 -0
  55. package/dist/cli/commands/preview-paths.js.map +1 -0
  56. package/dist/cli/commands/preview.d.ts +11 -0
  57. package/dist/cli/commands/preview.d.ts.map +1 -1
  58. package/dist/cli/commands/preview.js +124 -458
  59. package/dist/cli/commands/preview.js.map +1 -1
  60. package/dist/cli/config.d.ts +3 -0
  61. package/dist/cli/config.d.ts.map +1 -0
  62. package/dist/cli/config.js +68 -0
  63. package/dist/cli/config.js.map +1 -0
  64. package/dist/cli/create/templates/spa/package.json.tpl +1 -1
  65. package/dist/cli/create/templates/ssg/package.json.tpl +1 -1
  66. package/dist/cli/create/templates/ssr/package.json.tpl +1 -1
  67. package/dist/plugin/build-ssg.d.ts.map +1 -1
  68. package/dist/plugin/build-ssg.js +79 -9
  69. package/dist/plugin/build-ssg.js.map +1 -1
  70. package/dist/plugin/build-ssr.d.ts.map +1 -1
  71. package/dist/plugin/build-ssr.js +3 -1
  72. package/dist/plugin/build-ssr.js.map +1 -1
  73. package/dist/plugin/dev-server.d.ts +8 -0
  74. package/dist/plugin/dev-server.d.ts.map +1 -1
  75. package/dist/plugin/dev-server.js.map +1 -1
  76. package/dist/plugin/dts-generator.d.ts.map +1 -1
  77. package/dist/plugin/dts-generator.js +3 -0
  78. package/dist/plugin/dts-generator.js.map +1 -1
  79. package/dist/plugin/html-post-process.d.ts +1 -1
  80. package/dist/plugin/html-post-process.d.ts.map +1 -1
  81. package/dist/plugin/html-post-process.js +7 -5
  82. package/dist/plugin/html-post-process.js.map +1 -1
  83. package/dist/plugin/index.d.ts +1 -4
  84. package/dist/plugin/index.d.ts.map +1 -1
  85. package/dist/plugin/index.js +26 -8
  86. package/dist/plugin/index.js.map +1 -1
  87. package/dist/plugin/server-content.d.ts +3 -0
  88. package/dist/plugin/server-content.d.ts.map +1 -0
  89. package/dist/plugin/server-content.js +25 -0
  90. package/dist/plugin/server-content.js.map +1 -0
  91. package/dist/plugin/transforms/auto-import.d.ts.map +1 -1
  92. package/dist/plugin/transforms/auto-import.js +6 -5
  93. package/dist/plugin/transforms/auto-import.js.map +1 -1
  94. package/dist/plugin/virtual/content-components.d.ts +3 -1
  95. package/dist/plugin/virtual/content-components.d.ts.map +1 -1
  96. package/dist/plugin/virtual/content-components.js +104 -21
  97. package/dist/plugin/virtual/content-components.js.map +1 -1
  98. package/dist/runtime/app-template.d.ts.map +1 -1
  99. package/dist/runtime/app-template.js +18 -8
  100. package/dist/runtime/app-template.js.map +1 -1
  101. package/dist/runtime/composables/index.d.ts +2 -0
  102. package/dist/runtime/composables/index.d.ts.map +1 -1
  103. package/dist/runtime/composables/index.js +1 -0
  104. package/dist/runtime/composables/index.js.map +1 -1
  105. package/dist/runtime/composables/render-content.d.ts +10 -0
  106. package/dist/runtime/composables/render-content.d.ts.map +1 -0
  107. package/dist/runtime/composables/render-content.js +21 -0
  108. package/dist/runtime/composables/render-content.js.map +1 -0
  109. package/dist/runtime/composables/use-auth.d.ts.map +1 -1
  110. package/dist/runtime/composables/use-auth.js +14 -6
  111. package/dist/runtime/composables/use-auth.js.map +1 -1
  112. package/dist/runtime/composables/use-content-page.d.ts +2 -0
  113. package/dist/runtime/composables/use-content-page.d.ts.map +1 -1
  114. package/dist/runtime/composables/use-content-page.js +1 -1
  115. package/dist/runtime/composables/use-content-page.js.map +1 -1
  116. package/dist/runtime/content/client.d.ts +2 -3
  117. package/dist/runtime/content/client.d.ts.map +1 -1
  118. package/dist/runtime/content/client.js +4 -5
  119. package/dist/runtime/content/client.js.map +1 -1
  120. package/dist/runtime/entry-server-template.d.ts.map +1 -1
  121. package/dist/runtime/entry-server-template.js +45 -15
  122. package/dist/runtime/entry-server-template.js.map +1 -1
  123. package/dist/runtime/isr-handler.d.ts +4 -15
  124. package/dist/runtime/isr-handler.d.ts.map +1 -1
  125. package/dist/runtime/isr-handler.js +64 -45
  126. package/dist/runtime/isr-handler.js.map +1 -1
  127. package/dist/runtime/request-dispatcher.d.ts +31 -0
  128. package/dist/runtime/request-dispatcher.d.ts.map +1 -0
  129. package/dist/runtime/request-dispatcher.js +152 -0
  130. package/dist/runtime/request-dispatcher.js.map +1 -0
  131. package/dist/runtime/route-matching.d.ts +20 -0
  132. package/dist/runtime/route-matching.d.ts.map +1 -0
  133. package/dist/runtime/route-matching.js +45 -0
  134. package/dist/runtime/route-matching.js.map +1 -0
  135. package/dist/types/api.d.ts +3 -0
  136. package/dist/types/api.d.ts.map +1 -1
  137. package/dist/types/config.d.ts +27 -0
  138. package/dist/types/config.d.ts.map +1 -1
  139. package/dist/types/config.js.map +1 -1
  140. package/dist/types/content.d.ts +2 -0
  141. package/dist/types/content.d.ts.map +1 -1
  142. package/dist/types/page.d.ts +11 -7
  143. package/dist/types/page.d.ts.map +1 -1
  144. package/package.json +23 -9
  145. package/dist/cli/commands/preview-isr.d.ts +0 -66
  146. package/dist/cli/commands/preview-isr.d.ts.map +0 -1
  147. package/dist/cli/commands/preview-isr.js +0 -132
  148. package/dist/cli/commands/preview-isr.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"content-components.js","sourceRoot":"","sources":["../../../src/plugin/virtual/content-components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-components.js","sourceRoot":"","sources":["../../../src/plugin/virtual/content-components.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-template.d.ts","sourceRoot":"","sources":["../../src/runtime/app-template.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,CAmlBtF"}
1
+ {"version":3,"file":"app-template.d.ts","sourceRoot":"","sources":["../../src/runtime/app-template.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,CA6lBtF"}
@@ -13,13 +13,13 @@ export function generateAppEntryTemplate(globalImports = []) {
13
13
  // Regenerated automatically on every dev server start and build.
14
14
 
15
15
  import '@jasonshimmy/custom-elements-runtime/css'
16
- ${integrationImports}${integrationImports ? '\n' : ''}import 'virtual:cer-jit-css'
16
+ ${integrationImports}${integrationImports ? '\n' : ''}
17
17
  // virtual:cer-jit-init must run before virtual:cer-layouts and virtual:cer-plugins
18
18
  // so JIT CSS is enabled before those modules upgrade custom elements via
19
19
  // customElements.define(). Static imports execute depth-first in module order,
20
20
  // so placing this import here guarantees enableJITCSS() fires first.
21
21
  import 'virtual:cer-jit-init'
22
- import 'virtual:cer-content-components'
22
+ import { loadContentComponents } from 'virtual:cer-content-components'
23
23
  import routes from 'virtual:cer-routes'
24
24
  import layouts from 'virtual:cer-layouts'
25
25
  import plugins from 'virtual:cer-plugins'
@@ -86,6 +86,8 @@ let _currentPageLocation = typeof window !== 'undefined'
86
86
  // Route chunks and loaders may resolve out of order during rapid navigation or
87
87
  // initial hydration. Only the newest request is allowed to publish page state.
88
88
  let _pageLoadVersion = 0
89
+ let _pageLoadController
90
+ let _retryPath
89
91
 
90
92
  function _toLoaderAttrs(data) {
91
93
  if (data === undefined || data === null || typeof data !== 'object') return {}
@@ -98,6 +100,10 @@ function _toLoaderAttrs(data) {
98
100
  // stores the results so cer-layout-view can pass them as element attributes.
99
101
  async function _loadPageForPath(path, options = {}) {
100
102
  const loadVersion = ++_pageLoadVersion
103
+ _pageLoadController?.abort()
104
+ const controller = new AbortController()
105
+ _pageLoadController = controller
106
+ _retryPath = path
101
107
  try {
102
108
  const url = new URL(path, 'http://x')
103
109
  const query = Object.fromEntries(url.searchParams)
@@ -121,7 +127,7 @@ async function _loadPageForPath(path, options = {}) {
121
127
  let hasFreshLoaderData = false
122
128
  if (typeof mod.loader === 'function' && runLoader) {
123
129
  try {
124
- const data = await mod.loader({ params, query })
130
+ const data = await mod.loader({ params, query, signal: controller.signal })
125
131
  if (loadVersion !== _pageLoadVersion) return
126
132
  if (data !== undefined && data !== null) {
127
133
  loaderData = data
@@ -140,6 +146,8 @@ async function _loadPageForPath(path, options = {}) {
140
146
  // instead of re-running the loader on the client, then derive primitive attrs
141
147
  // from that payload so useProps() stays consistent with usePageData().
142
148
  if (loadVersion !== _pageLoadVersion) return
149
+ await loadContentComponents(path, false, loaderData)
150
+ if (loadVersion !== _pageLoadVersion) return
143
151
  loaderAttrs = { ...loaderAttrs, ..._toLoaderAttrs(loaderData) }
144
152
  if (hasFreshLoaderData) {
145
153
  // Publish loader data only after confirming this is still the newest route.
@@ -150,8 +158,9 @@ async function _loadPageForPath(path, options = {}) {
150
158
  _currentPageLocation = url.pathname + url.search
151
159
  _currentPageAttrs = loaderAttrs
152
160
  _currentPageKey = loadVersion
153
- } catch {
161
+ } catch (err) {
154
162
  if (loadVersion !== _pageLoadVersion) return
163
+ currentError.value = err instanceof Error ? err.message : String(err)
155
164
  _currentPageTag = null
156
165
  _currentPageAttrs = {}
157
166
  _currentPageKey = null
@@ -166,7 +175,7 @@ const currentError = ref(null)
166
175
 
167
176
  const resetError = () => {
168
177
  currentError.value = null
169
- void router.replace(router.getCurrent().path)
178
+ void router.replace(_retryPath ?? router.getCurrent().path)
170
179
  }
171
180
  ;(globalThis).resetError = resetError
172
181
 
@@ -196,7 +205,7 @@ router.push = async (path) => {
196
205
  if (navigationIntent !== _navigationIntent) return
197
206
  await _push(path)
198
207
  } catch (err) {
199
- currentError.value = err instanceof Error ? err.message : String(err)
208
+ if (navigationIntent === _navigationIntent) currentError.value = err instanceof Error ? err.message : String(err)
200
209
  } finally {
201
210
  if (navigationIntent === _navigationIntent) {
202
211
  _activateClientRouteRendering()
@@ -217,7 +226,7 @@ router.replace = async (path) => {
217
226
  if (navigationIntent !== _navigationIntent) return
218
227
  await _replace(path)
219
228
  } catch (err) {
220
- currentError.value = err instanceof Error ? err.message : String(err)
229
+ if (navigationIntent === _navigationIntent) currentError.value = err instanceof Error ? err.message : String(err)
221
230
  } finally {
222
231
  if (navigationIntent === _navigationIntent) {
223
232
  _activateClientRouteRendering()
@@ -481,6 +490,7 @@ if (typeof window !== 'undefined') {
481
490
  // untouched. Load its module after the first paint so explicitly
482
491
  // interactive descendants (breadcrumbs, TOCs, menus, etc.) can upgrade
483
492
  // without putting the static page chunk on the critical rendering path.
493
+ void loadContentComponents(window.location.pathname, true, (globalThis).__CER_DATA__).catch((error) => console.error('[cer-app] Content modules failed:', error))
484
494
  const _loadStaticRouteModule = () => {
485
495
  const _load = _initMatch?.route?.load
486
496
  if (typeof _load === 'function') {
@@ -584,7 +594,7 @@ if (typeof window !== 'undefined') {
584
594
  // Safari / older environments fallback.
585
595
  setTimeout(() => { void _doHydrate() }, 1)
586
596
  }
587
- } else if (_hydrateStrategy === 'visible') {
597
+ } else if (_hydrateStrategy === 'visible' && typeof IntersectionObserver === 'function') {
588
598
  // Defer until cer-layout-view (or body as fallback) enters the viewport.
589
599
  const _el = document.querySelector('cer-layout-view') ?? document.body
590
600
  const _io = new IntersectionObserver(([entry]) => {
@@ -1 +1 @@
1
- {"version":3,"file":"app-template.js","sourceRoot":"","sources":["../../src/runtime/app-template.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,aAAa,GAAsB,EAAE;IAC5E,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;SACnD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,WAAW,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;SACvF,IAAI,CAAC,IAAI,CAAC,CAAA;IACb,OAAO;;;;EAIP,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0kBpD,CAAA;AACD,CAAC"}
1
+ {"version":3,"file":"app-template.js","sourceRoot":"","sources":["../../src/runtime/app-template.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,aAAa,GAAsB,EAAE;IAC5E,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;SACnD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,WAAW,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;SACvF,IAAI,CAAC,IAAI,CAAC,CAAA;IACb,OAAO;;;;EAIP,kBAAkB,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAolBpD,CAAA;AACD,CAAC"}
@@ -29,4 +29,6 @@ export { defineContentPageLoader, normalizeContentPath, useContentBreadcrumbs, u
29
29
  export type { ContentBreadcrumb, ContentBreadcrumbOptions, ContentPageData, ContentPageLoaderOptions, ContentSeoOptions, } from './use-content-page.js';
30
30
  export { useActiveHeadings } from './use-active-headings.js';
31
31
  export type { ActiveHeadingsOptions } from './use-active-headings.js';
32
+ export { renderContent } from './render-content.js';
33
+ export type { RenderContentOptions, ContentComponentProps } from './render-content.js';
32
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAClG,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACnG,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC7G,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAC7G,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,GACd,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAClG,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACnG,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC7G,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAC7G,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,GACd,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -17,4 +17,5 @@ export { queryContent, QueryBuilder } from './use-content.js';
17
17
  export { useContentSearch } from './use-content-search.js';
18
18
  export { defineContentPageLoader, normalizeContentPath, useContentBreadcrumbs, useContentHeadings, useContentSeo, } from './use-content-page.js';
19
19
  export { useActiveHeadings } from './use-active-headings.js';
20
+ export { renderContent } from './render-content.js';
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAElG,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAEnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,GACd,MAAM,uBAAuB,CAAA;AAQ9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAElG,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAEnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,GACd,MAAM,uBAAuB,CAAA;AAQ9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAG5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { type VNode } from '@jasonshimmy/custom-elements-runtime';
2
+ import type { ContentItem } from '../../types/content.js';
3
+ export type ContentComponentProps = Record<string, Record<string, unknown>>;
4
+ export interface RenderContentOptions {
5
+ /** Loader data keyed by tag. Attribute-specific resolvers support repeated components. */
6
+ components?: Record<string, Record<string, unknown> | ((attrs: Record<string, unknown>) => Record<string, unknown>)>;
7
+ }
8
+ /** Parse trusted generated Markdown HTML into VNodes so registered components receive SSR. */
9
+ export declare function renderContent(doc: Pick<ContentItem, 'body'> | null, options?: RenderContentOptions): VNode | VNode[];
10
+ //# sourceMappingURL=render-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-content.d.ts","sourceRoot":"","sources":["../../../src/runtime/composables/render-content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,KAAK,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEzD,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAC3E,MAAM,WAAW,oBAAoB;IACnC,0FAA0F;IAC1F,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CACrH;AAED,8FAA8F;AAC9F,wBAAgB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,GAAE,oBAAyB,GAAG,KAAK,GAAG,KAAK,EAAE,CAcxH"}
@@ -0,0 +1,21 @@
1
+ import { html } from '@jasonshimmy/custom-elements-runtime';
2
+ /** Parse trusted generated Markdown HTML into VNodes so registered components receive SSR. */
3
+ export function renderContent(doc, options = {}) {
4
+ if (!doc)
5
+ return [];
6
+ const strings = Object.assign([doc.body], { raw: [doc.body] });
7
+ const nodes = html(strings);
8
+ function visit(node) {
9
+ const resolver = options.components?.[node.tag];
10
+ if (resolver) {
11
+ const props = typeof resolver === 'function' ? resolver(node.props?.attrs ?? {}) : resolver;
12
+ node.props = { ...node.props, props: { ...node.props?.props, ...props } };
13
+ }
14
+ if (Array.isArray(node.children))
15
+ node.children.forEach(visit);
16
+ }
17
+ ;
18
+ (Array.isArray(nodes) ? nodes : [nodes]).forEach(visit);
19
+ return nodes;
20
+ }
21
+ //# sourceMappingURL=render-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-content.js","sourceRoot":"","sources":["../../../src/runtime/composables/render-content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAc,MAAM,sCAAsC,CAAA;AASvE,8FAA8F;AAC9F,MAAM,UAAU,aAAa,CAAC,GAAqC,EAAE,OAAO,GAAyB,EAAE;IACrG,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IACnB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAoC,CAAA;IACjG,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3B,SAAS,KAAK,CAAC,IAAW;QACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;YAC3F,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,CAAA;QAC3E,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAChE,CAAC;IACD,CAAC;IAAA,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACxD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../../src/runtime/composables/use-auth.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC9B,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B;;;;;;;OAOG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,OAAO,CAAC,UAAU,SAAS,GAAG,cAAc,CA8C3D"}
1
+ {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../../src/runtime/composables/use-auth.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC9B,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B;;;;;;;OAOG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,OAAO,CAAC,UAAU,SAAS,GAAG,cAAc,CAqD3D"}
@@ -42,8 +42,12 @@ export function useAuth(sessionKey = 'auth') {
42
42
  // __CER_AUTH_STORE__ is only present in Node.js (tree-shaken on client).
43
43
  const authStore = g['__CER_AUTH_STORE__'];
44
44
  let user = null;
45
+ let context;
45
46
  if (authStore) {
46
- user = authStore.getStore() ?? null;
47
+ const value = authStore.getStore();
48
+ if (value && 'currentUser' in value && !('provider' in value))
49
+ context = value;
50
+ user = context ? context.currentUser : value ?? null;
47
51
  }
48
52
  else {
49
53
  // Client: read from the global hydrated by the client entry.
@@ -51,10 +55,10 @@ export function useAuth(sessionKey = 'auth') {
51
55
  }
52
56
  return {
53
57
  get user() {
54
- return user;
58
+ return context ? context.currentUser : user;
55
59
  },
56
60
  get loggedIn() {
57
- return user !== null;
61
+ return (context ? context.currentUser : user) !== null;
58
62
  },
59
63
  login(provider) {
60
64
  if (typeof window !== 'undefined') {
@@ -73,9 +77,13 @@ export function useAuth(sessionKey = 'auth') {
73
77
  // Also clear the local user reference so the current render sees null.
74
78
  user = null;
75
79
  // Clear the ALS store value so concurrent requests are unaffected.
76
- const store = g['__CER_AUTH_STORE__'];
77
- if (store)
78
- store.enterWith(null);
80
+ if (context)
81
+ context.currentUser = null;
82
+ else {
83
+ // Compatibility with custom/older Node bundles that store the user directly.
84
+ const store = g['__CER_AUTH_STORE__'];
85
+ store?.enterWith?.(null);
86
+ }
79
87
  }
80
88
  },
81
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-auth.js","sourceRoot":"","sources":["../../../src/runtime/composables/use-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAwC7C,iFAAiF;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,OAAO,CAAC,UAAU,GAAG,MAAM;IACzC,MAAM,CAAC,GAAG,UAAqC,CAAA;IAE/C,+DAA+D;IAC/D,yEAAyE;IACzE,MAAM,SAAS,GAAG,CAAC,CAAC,oBAAoB,CAAwC,CAAA;IAChF,IAAI,IAAI,GAAoB,IAAI,CAAA;IAEhC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,GAAI,SAAS,CAAC,QAAQ,EAAsB,IAAI,IAAI,CAAA;IAC1D,CAAC;SAAM,CAAC;QACN,6DAA6D;QAC7D,IAAI,GAAI,CAAC,CAAC,mBAAmB,CAAqB,IAAI,IAAI,CAAA;IAC5D,CAAC;IAED,OAAO;QACL,IAAI,IAAI;YACN,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,QAAQ;YACV,OAAO,IAAI,KAAK,IAAI,CAAA;QACtB,CAAC;QAED,KAAK,CAAC,QAAgB;YACpB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,QAAQ,EAAE,CAAA;YAChD,CAAC;QACH,CAAC;QAED,KAAK,CAAC,MAAM;YACV,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,gEAAgE;gBAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,kBAAkB,CAAA;YAC3C,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;gBAChD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;gBACrB,uEAAuE;gBACvE,IAAI,GAAG,IAAI,CAAA;gBACX,mEAAmE;gBACnE,MAAM,KAAK,GAAI,CAAC,CAAC,oBAAoB,CAAiD,CAAA;gBACtF,IAAI,KAAK;oBAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"use-auth.js","sourceRoot":"","sources":["../../../src/runtime/composables/use-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAwC7C,iFAAiF;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,OAAO,CAAC,UAAU,GAAG,MAAM;IACzC,MAAM,CAAC,GAAG,UAAqC,CAAA;IAE/C,+DAA+D;IAC/D,yEAAyE;IACzE,MAAM,SAAS,GAAG,CAAC,CAAC,oBAAoB,CAAwC,CAAA;IAChF,IAAI,IAAI,GAAoB,IAAI,CAAA;IAChC,IAAI,OAAqD,CAAA;IAEzD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAwD,CAAA;QACxF,IAAI,KAAK,IAAI,aAAa,IAAI,KAAK,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC;YAAE,OAAO,GAAG,KAAyC,CAAA;QAClH,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAwB,IAAI,IAAI,CAAA;IACzE,CAAC;SAAM,CAAC;QACN,6DAA6D;QAC7D,IAAI,GAAI,CAAC,CAAC,mBAAmB,CAAqB,IAAI,IAAI,CAAA;IAC5D,CAAC;IAED,OAAO;QACL,IAAI,IAAI;YACN,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7C,CAAC;QAED,IAAI,QAAQ;YACV,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA;QACxD,CAAC;QAED,KAAK,CAAC,QAAgB;YACpB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,QAAQ,EAAE,CAAA;YAChD,CAAC;QACH,CAAC;QAED,KAAK,CAAC,MAAM;YACV,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,gEAAgE;gBAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,kBAAkB,CAAA;YAC3C,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;gBAChD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;gBACrB,uEAAuE;gBACvE,IAAI,GAAG,IAAI,CAAA;gBACX,mEAAmE;gBACnE,IAAI,OAAO;oBAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAA;qBAClC,CAAC;oBACJ,6EAA6E;oBAC7E,MAAM,KAAK,GAAG,CAAC,CAAC,oBAAoB,CAAqD,CAAA;oBACzF,KAAK,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -32,6 +32,8 @@ export interface ContentSeoOptions {
32
32
  breadcrumbs?: ContentBreadcrumb[];
33
33
  /** Path depth at which Open Graph pages become articles. Defaults to 2. */
34
34
  articleDepth?: number;
35
+ /** Indexable document policy; missing documents always remain noindex. */
36
+ robots?: string;
35
37
  notFoundTitle?: string;
36
38
  }
37
39
  /** Normalize a route/catch-all value into the content layer's absolute path form. */
@@ -1 +1 @@
1
- {"version":3,"file":"use-content-page.d.ts","sourceRoot":"","sources":["../../../src/runtime/composables/use-content-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAe,MAAM,wBAAwB,CAAA;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAK5D,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;IACvB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kFAAkF;IAClF,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACzC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAA;CAC1C;AAED,MAAM,WAAW,wBAAwB;IACvC,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACjC,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAG7E;AAaD,8EAA8E;AAC9E,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,wBAA6B,gBAElD,iBAAiB,KAAG,OAAO,CAAC,eAAe,CAAC,CAavE;AAYD,qFAAqF;AACrF,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,GAAG,IAAI,EACvB,aAAa,GAAE,SAAS,MAAM,EAAU,EACxC,OAAO,GAAE,wBAA6B,GACrC,iBAAiB,EAAE,CAqCrB;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,SAAS,EAChD,MAAM,GAAE,SAAS,cAAc,CAAC,OAAO,CAAC,EAAW,GAClD,cAAc,EAAE,CAGlB;AA2BD,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAsE9D"}
1
+ {"version":3,"file":"use-content-page.d.ts","sourceRoot":"","sources":["../../../src/runtime/composables/use-content-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAe,MAAM,wBAAwB,CAAA;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAK5D,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;IACvB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kFAAkF;IAClF,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACzC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAA;CAC1C;AAED,MAAM,WAAW,wBAAwB;IACvC,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACjC,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAG7E;AAaD,8EAA8E;AAC9E,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,wBAA6B,gBAElD,iBAAiB,KAAG,OAAO,CAAC,eAAe,CAAC,CAavE;AAYD,qFAAqF;AACrF,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,GAAG,IAAI,EACvB,aAAa,GAAE,SAAS,MAAM,EAAU,EACxC,OAAO,GAAE,wBAA6B,GACrC,iBAAiB,EAAE,CAqCrB;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,SAAS,EAChD,MAAM,GAAE,SAAS,cAAc,CAAC,OAAO,CAAC,EAAW,GAClD,cAAc,EAAE,CAGlB;AA2BD,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAsE9D"}
@@ -150,7 +150,7 @@ export function useContentSeo(options) {
150
150
  // explicit indexable value lets the head deduper and live DOM update replace
151
151
  // a stale noindex rather than leaving a valid page blocked from crawlers.
152
152
  useHead({
153
- meta: [{ name: 'robots', content: options.doc ? 'index, follow' : 'noindex' }],
153
+ meta: [{ name: 'robots', content: options.doc ? options.robots ?? 'index, follow' : 'noindex' }],
154
154
  });
155
155
  if (!options.doc)
156
156
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"use-content-page.js","sourceRoot":"","sources":["../../../src/runtime/composables/use-content-page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-content-page.js","sourceRoot":"","sources":["../../../src/runtime/composables/use-content-page.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,8 @@ export declare function contentSearchIndexUrl(): string;
7
7
  * Resolution strategy:
8
8
  * - **Server (dev + SSG build-time)**: reads from `globalThis.__CER_CONTENT_STORE__`
9
9
  * populated by the `cerContent()` Vite plugin's `buildStart` hook.
10
- * - **Server (production SSR runtime)**: `__CER_CONTENT_STORE__` is absent (no
11
- * Vite build process at runtime), so falls back to `node:fs` reads from
12
- * `dist/_content/`.
10
+ * - **Server (production SSR runtime)**: uses the build-embedded snapshot.
11
+ * Older/custom bundles can fall back to packaged content JSON files.
13
12
  * - **Client (SPA / browser navigation)**: lazy-fetches `/_content/manifest.json`
14
13
  * once (cached) for listing; fetches `/_content/[path].json` per `.first()`.
15
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/runtime/content/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AA0BtE,+EAA+E;AAC/E,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAyBD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa;IAClB,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAiDrC,OAAO,OAAO,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;CAmDzD,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/runtime/content/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AA0BtE,+EAA+E;AAC/E,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAyBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa;IAClB,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAiDrC,OAAO,OAAO,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;CAmDzD,CAAA"}
@@ -37,8 +37,8 @@ function fetchManifest() {
37
37
  return _manifestPromise;
38
38
  }
39
39
  // ─── Server-side production caches ───────────────────────────────────────────
40
- // In production SSR the Vite build process is not running, so __CER_CONTENT_STORE__
41
- // is absent. We cache the manifest and per-document reads here to avoid repeated
40
+ // Older/custom SSR bundles may omit the embedded __CER_CONTENT_STORE__ snapshot.
41
+ // Cache fallback filesystem reads here to avoid repeated
42
42
  // disk I/O on every request — critical at 10k+ pages where manifest.json is ~2MB.
43
43
  let _ssrManifest = null;
44
44
  const _ssrItemCache = new Map();
@@ -49,9 +49,8 @@ const _ssrItemCache = new Map();
49
49
  * Resolution strategy:
50
50
  * - **Server (dev + SSG build-time)**: reads from `globalThis.__CER_CONTENT_STORE__`
51
51
  * populated by the `cerContent()` Vite plugin's `buildStart` hook.
52
- * - **Server (production SSR runtime)**: `__CER_CONTENT_STORE__` is absent (no
53
- * Vite build process at runtime), so falls back to `node:fs` reads from
54
- * `dist/_content/`.
52
+ * - **Server (production SSR runtime)**: uses the build-embedded snapshot.
53
+ * Older/custom bundles can fall back to packaged content JSON files.
55
54
  * - **Client (SPA / browser navigation)**: lazy-fetches `/_content/manifest.json`
56
55
  * once (cached) for listing; fetches `/_content/[path].json` per `.first()`.
57
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/runtime/content/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/runtime/content/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"entry-server-template.d.ts","sourceRoot":"","sources":["../../src/runtime/entry-server-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAS/D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBzD;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAM,EAAO,GACrB,MAAM,CAoBR;AAaD,eAAO,MAAM,qBAAqB,QAggBjC,CAAA"}
1
+ {"version":3,"file":"entry-server-template.d.ts","sourceRoot":"","sources":["../../src/runtime/entry-server-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAS/D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBzD;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAM,EAAO,GACrB,MAAM,CAoBR;AAaD,eAAO,MAAM,qBAAqB,QA8hBjC,CAAA"}
@@ -72,7 +72,7 @@ export function deferEntryModulesForFirstPaint(html, dsdTags = []) {
72
72
  const serializedSrc = serializeForInlineScript(src);
73
73
  const serializedDsdTags = serializeForInlineScript(dsdTags);
74
74
  const start = `function(){if(typeof performance==='object'&&typeof performance.mark==='function')performance.mark('cer:entry-start');globalThis.__CER_STATIC_ENTRY__=true;globalThis.__CER_DSD_TAGS__=new Set(${serializedDsdTags});return import(${serializedSrc}).catch(function(error){console.error('[cer-app] Failed to start client entry:',error)})}`;
75
- return `<link rel="modulepreload" crossorigin href="${escapedHref}"><script data-cer-deferred-entry>(function(start){var observer=null,fallback=null,started=false,guarding=true,queued=[];function capture(event){if(!guarding||event.defaultPrevented)return;var path=typeof event.composedPath==='function'?event.composedPath():[];if(!path.some(function(node){return node&&typeof node.localName==='string'&&node.localName.indexOf('-')>0}))return;event.preventDefault();event.stopImmediatePropagation();queued.push({target:path[0]||event.target,event:event})}function replay(){guarding=false;document.removeEventListener('click',capture,true);queued.splice(0).forEach(function(item){var event=item.event,target=item.target,init={bubbles:true,composed:true,cancelable:true},clone;if(typeof KeyboardEvent==='function'&&event instanceof KeyboardEvent){clone=new KeyboardEvent(event.type,Object.assign(init,{key:event.key,code:event.code,ctrlKey:event.ctrlKey,metaKey:event.metaKey,shiftKey:event.shiftKey,altKey:event.altKey,repeat:event.repeat}))}else{clone=new MouseEvent(event.type,Object.assign(init,{button:event.button,buttons:event.buttons,clientX:event.clientX,clientY:event.clientY,ctrlKey:event.ctrlKey,metaKey:event.metaKey,shiftKey:event.shiftKey,altKey:event.altKey}))}if(target&&target.isConnected)target.dispatchEvent(clone)})}function ready(){var view=document.querySelector('cer-layout-view'),shell=view&&Array.prototype.find.call(view.children,function(element){return element.localName&&element.localName!=='script'});if(!shell||shell.hasAttribute('data-cer-hydrated')){replay();return}if(typeof MutationObserver!=='function'){setTimeout(replay,0);return}var readiness=new MutationObserver(function(){if(shell.hasAttribute('data-cer-hydrated')){readiness.disconnect();replay()}});readiness.observe(shell,{attributes:true,attributeFilter:['data-cer-hydrated']});setTimeout(function(){readiness.disconnect();replay()},1000)}function boot(){Promise.resolve(start()).then(ready,replay)}function run(){if(started)return;started=true;if(observer)observer.disconnect();if(fallback!==null)clearTimeout(fallback);setTimeout(boot,0)}function byFrame(){if(typeof requestAnimationFrame==='function'){requestAnimationFrame(function(){requestAnimationFrame(function(){requestAnimationFrame(run)})})}else{run()}}document.addEventListener('click',capture,true);if(typeof PerformanceObserver==='function'){try{observer=new PerformanceObserver(function(list){if(list.getEntriesByName('first-contentful-paint').length)run()});fallback=setTimeout(run,1000);observer.observe({type:'paint',buffered:true})}catch(error){byFrame()}}else{byFrame()}})(${start})</script>`;
75
+ return `<link rel="modulepreload" crossorigin href="${escapedHref}"><script data-cer-deferred-entry>(function(start){var observer=null,fallback=null,started=false,guarding=true,queued=[];function capture(event){if(!guarding||event.defaultPrevented)return;if(event.type==='keydown'&&!((event.ctrlKey||event.metaKey)&&String(event.key).toLowerCase()==='k'))return;var path=typeof event.composedPath==='function'?event.composedPath():[];if(event.type!=='keydown'&&!path.some(function(node){return node&&typeof node.localName==='string'&&node.localName.indexOf('-')>0}))return;event.preventDefault();event.stopImmediatePropagation();queued.push({target:path[0]||event.target,event:event})}function replay(){guarding=false;document.removeEventListener('click',capture,true);document.removeEventListener('keydown',capture,true);queued.splice(0).forEach(function(item){var event=item.event,target=item.target,init={bubbles:true,composed:true,cancelable:true},clone;if(typeof KeyboardEvent==='function'&&event instanceof KeyboardEvent){clone=new KeyboardEvent(event.type,Object.assign(init,{key:event.key,code:event.code,ctrlKey:event.ctrlKey,metaKey:event.metaKey,shiftKey:event.shiftKey,altKey:event.altKey,repeat:event.repeat}))}else{clone=new MouseEvent(event.type,Object.assign(init,{button:event.button,buttons:event.buttons,clientX:event.clientX,clientY:event.clientY,ctrlKey:event.ctrlKey,metaKey:event.metaKey,shiftKey:event.shiftKey,altKey:event.altKey}))}if(target&&target.isConnected)target.dispatchEvent(clone)})}function ready(){var view=document.querySelector('cer-layout-view'),shell=view&&Array.prototype.find.call(view.children,function(element){return element.localName&&element.localName!=='script'});if(!shell||shell.hasAttribute('data-cer-hydrated')){replay();return}if(typeof MutationObserver!=='function'){setTimeout(replay,0);return}var readiness=new MutationObserver(function(){if(shell.hasAttribute('data-cer-hydrated')){readiness.disconnect();replay()}});readiness.observe(shell,{attributes:true,attributeFilter:['data-cer-hydrated']});setTimeout(function(){readiness.disconnect();replay()},1000)}function boot(){Promise.resolve(start()).then(ready,replay)}function run(){if(started)return;started=true;if(observer)observer.disconnect();if(fallback!==null)clearTimeout(fallback);setTimeout(boot,0)}function byFrame(){if(typeof requestAnimationFrame==='function'){requestAnimationFrame(function(){requestAnimationFrame(function(){requestAnimationFrame(run)})})}else{run()}}document.addEventListener('click',capture,true);document.addEventListener('keydown',capture,true);if(typeof PerformanceObserver==='function'){try{observer=new PerformanceObserver(function(list){if(list.getEntriesByName('first-contentful-paint').length)run()});fallback=setTimeout(run,1000);observer.observe({type:'paint',buffered:true})}catch(error){byFrame()}}else{byFrame()}})(${start})</script>`;
76
76
  });
77
77
  }
78
78
  const inlineSerializerSource = serializeForInlineScript
@@ -105,6 +105,7 @@ import { initRouter } from '@jasonshimmy/custom-elements-runtime/router'
105
105
  import { beginHeadCollection, endHeadCollection, serializeHeadTags, initRuntimeConfig, resolvePrivateConfig, useSession } from '@jasonshimmy/vite-plugin-cer-app/composables'
106
106
  import { errorTag } from 'virtual:cer-error'
107
107
  import { createIsrHandler } from '@jasonshimmy/vite-plugin-cer-app/isr'
108
+ import { createRequestDispatcher } from '@jasonshimmy/vite-plugin-cer-app/server'
108
109
 
109
110
  ${inlineSerializerSource}
110
111
  ${dsdTagCollectorSource}
@@ -210,10 +211,17 @@ export async function runServerMiddleware(req, res) {
210
211
  let calledNext = false
211
212
  try {
212
213
  await new Promise((resolve, reject) => {
213
- Promise.resolve(mw(req, res, (err) => {
214
- if (err) reject(err)
215
- else { calledNext = true; resolve() }
216
- })).catch(reject)
214
+ const finish = () => { cleanup(); resolve() }
215
+ const fail = (err) => { cleanup(); reject(err) }
216
+ const cleanup = () => { res.off?.('finish', finish); res.off?.('close', finish) }
217
+ res.once?.('finish', finish)
218
+ res.once?.('close', finish)
219
+ try {
220
+ Promise.resolve(mw(req, res, (err) => {
221
+ if (err) fail(err)
222
+ else { calledNext = true; finish() }
223
+ })).then(() => { if (res.writableEnded) finish() }, fail)
224
+ } catch (err) { fail(err) }
217
225
  })
218
226
  } catch (err) {
219
227
  if (_hooks?.onError) {
@@ -327,7 +335,7 @@ const _prepareRequest = async (req) => {
327
335
 
328
336
  // Store the current route info so useRoute() can read it synchronously
329
337
  // from any layout or component during this render pass.
330
- _cerRouteStore.enterWith({
338
+ Object.assign(_cerRouteStore.getStore(), {
331
339
  path: current.path,
332
340
  params,
333
341
  query: current.query ?? {},
@@ -444,6 +452,7 @@ export const handler = async (req, res) => {
444
452
  if (_hooks?.onRequest) {
445
453
  try { await _hooks.onRequest({ path: _requestPath, method: req.method ?? 'GET', req }) } catch { /* hooks must not crash the handler */ }
446
454
  }
455
+ await _cerRouteStore.run({ path: _requestPath, params: {}, query: {}, meta: null }, async () => {
447
456
  await _cerStateStore.run(new Map(), async () => {
448
457
  await _cerReqStore.run({ req, res }, async () => {
449
458
  await _cerDataStore.run(null, async () => {
@@ -455,11 +464,25 @@ export const handler = async (req, res) => {
455
464
  if (_authSessionKey) {
456
465
  try { _authUser = await useSession({ name: _authSessionKey }).get() } catch { /* no session secret */ }
457
466
  }
458
- await _cerAuthStore.run(_authUser, async () => {
467
+ await _cerAuthStore.run({ currentUser: _authUser }, async () => {
459
468
  const { vnode, router, head, status, loaderData, hydrationStrategy = 'load' } = await _prepareRequest(req)
469
+ if (res.destroyed) return
460
470
  if (status != null) res.statusCode = status
461
471
 
462
472
  let _headCollectionOpen = false
473
+ let reader
474
+ const stopStream = () => { if (reader) void reader.cancel().catch(() => {}) }
475
+ res.once?.('close', stopStream)
476
+ const writeChunk = async (chunk) => {
477
+ if (res.destroyed) return
478
+ if (res.write(chunk) === false && typeof res.once === 'function') {
479
+ await new Promise((resolve) => {
480
+ const done = () => { res.off?.('drain', done); res.off?.('close', done); resolve() }
481
+ res.once('drain', done); res.once('close', done)
482
+ if (res.destroyed) done()
483
+ })
484
+ }
485
+ }
463
486
  // Wrap the entire render pass in _cerDataStore.run(loaderData) so that
464
487
  // usePageData() inside component renderFn calls sees the correct store
465
488
  // value. AsyncLocalStorage.enterWith() inside _prepareRequest does NOT
@@ -493,7 +516,7 @@ export const handler = async (req, res) => {
493
516
  const headTags = serializeHeadTags(endHeadCollection())
494
517
  _headCollectionOpen = false
495
518
 
496
- const reader = stream.getReader()
519
+ reader = stream.getReader()
497
520
 
498
521
  // Read the first (synchronous) chunk — rejects if the sync render failed.
499
522
  const { value: firstChunk = '' } = await reader.read()
@@ -549,22 +572,22 @@ export const handler = async (req, res) => {
549
572
  const fromBodyClose = bodyCloseIdx >= 0 ? merged.slice(bodyCloseIdx) : ''
550
573
 
551
574
  res.setHeader('Content-Type', 'text/html; charset=utf-8')
552
- res.setHeader('Transfer-Encoding', 'chunked')
553
- res.write(beforeBodyClose)
575
+ await writeChunk(beforeBodyClose)
554
576
 
555
577
  // Stream async component swap scripts through as-is.
556
578
  while (true) {
557
579
  const { value, done } = await reader.read()
558
580
  if (done) break
559
- res.write(value)
581
+ await writeChunk(value)
560
582
  }
561
583
 
562
584
  // Inject DSD polyfill immediately before </body>, then close the document.
563
- res.end(DSD_POLYFILL_SCRIPT + fromBodyClose)
585
+ if (!res.destroyed) res.end(DSD_POLYFILL_SCRIPT + fromBodyClose)
564
586
  if (_hooks?.onResponse) {
565
- try { void _hooks.onResponse({ path: _requestPath, method: req.method ?? 'GET', statusCode: res.statusCode, duration: Date.now() - _requestStart, req }) } catch { /* ignore */ }
587
+ try { void Promise.resolve(_hooks.onResponse({ path: _requestPath, method: req.method ?? 'GET', statusCode: res.statusCode, duration: Date.now() - _requestStart, req })).catch(() => {}) } catch { /* ignore */ }
566
588
  }
567
589
  } catch (_renderErr) {
590
+ if (res.destroyed) return
568
591
  if (_hooks?.onError) {
569
592
  try { await _hooks.onError(_renderErr, { type: 'render', path: _requestPath, req }) } catch { /* hooks must not crash the handler */ }
570
593
  }
@@ -580,8 +603,11 @@ export const handler = async (req, res) => {
580
603
  res.end()
581
604
  }
582
605
  if (_hooks?.onResponse) {
583
- try { void _hooks.onResponse({ path: _requestPath, method: req.method ?? 'GET', statusCode: res.statusCode, duration: Date.now() - _requestStart, req }) } catch { /* ignore */ }
606
+ try { void Promise.resolve(_hooks.onResponse({ path: _requestPath, method: req.method ?? 'GET', statusCode: res.statusCode, duration: Date.now() - _requestStart, req })).catch(() => {}) } catch { /* ignore */ }
584
607
  }
608
+ } finally {
609
+ res.off?.('close', stopStream)
610
+ if (reader) { try { await reader.cancel() } catch { /* already closed */ } }
585
611
  }
586
612
  }) // _cerDataStore.run(loaderData)
587
613
  }) // _cerAuthStore.run
@@ -589,11 +615,15 @@ export const handler = async (req, res) => {
589
615
  }) // _cerDataStore.run
590
616
  }) // _cerReqStore.run
591
617
  }) // _cerStateStore.run
618
+ }) // _cerRouteStore.run
592
619
  }
593
620
 
594
- // ISR-wrapped handler for production integrations (Express, Hono, Fastify).
621
+ // ISR-wrapped handler for Node integrations; Web frameworks require a bridge.
595
622
  // Routes with meta.ssg.revalidate are served stale-while-revalidate.
596
623
  export const isrHandler = createIsrHandler(routes, handler)
624
+ export const spaHandler = (req, res) => { res.setHeader('Content-Type', 'text/html; charset=utf-8'); res.end(req.method === 'HEAD' ? undefined : ((globalThis).__CER_CLIENT_TEMPLATE__ ?? _clientTemplate ?? '')) }
625
+ export const createDispatchRequest = (options = {}) => createRequestDispatcher({ handler, spaHandler, routes, apiRoutes, runServerMiddleware, runWithRequestContext }, options)
626
+ export const dispatchRequest = createDispatchRequest()
597
627
 
598
628
  export { apiRoutes, plugins, layouts, routes, serverMiddleware }
599
629
  export default handler
@@ -1 +1 @@
1
- {"version":3,"file":"entry-server-template.js","sourceRoot":"","sources":["../../src/runtime/entry-server-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-server-template.js","sourceRoot":"","sources":["../../src/runtime/entry-server-template.ts"],"names":[],"mappings":"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"}