@plumix/core 0.2.0 → 0.4.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 (167) hide show
  1. package/dist/auth/bootstrap.d.ts.map +1 -1
  2. package/dist/auth/bootstrap.js +39 -22
  3. package/dist/auth/bootstrap.js.map +1 -1
  4. package/dist/cache/tags.d.ts.map +1 -1
  5. package/dist/cache/tags.js +9 -0
  6. package/dist/cache/tags.js.map +1 -1
  7. package/dist/db/errors.d.ts +8 -0
  8. package/dist/db/errors.d.ts.map +1 -1
  9. package/dist/db/errors.js +22 -0
  10. package/dist/db/errors.js.map +1 -1
  11. package/dist/db/index.d.ts +1 -1
  12. package/dist/db/index.d.ts.map +1 -1
  13. package/dist/db/index.js +1 -1
  14. package/dist/db/index.js.map +1 -1
  15. package/dist/db/schema/users.d.ts +57 -0
  16. package/dist/db/schema/users.d.ts.map +1 -1
  17. package/dist/db/schema/users.js +10 -2
  18. package/dist/db/schema/users.js.map +1 -1
  19. package/dist/debug-bar/panels/template.d.ts +5 -8
  20. package/dist/debug-bar/panels/template.d.ts.map +1 -1
  21. package/dist/debug-bar/panels/template.js +22 -8
  22. package/dist/debug-bar/panels/template.js.map +1 -1
  23. package/dist/debug-bar/primitives.d.ts +1 -1
  24. package/dist/debug-bar/primitives.d.ts.map +1 -1
  25. package/dist/debug-bar/primitives.js +1 -1
  26. package/dist/debug-bar/primitives.js.map +1 -1
  27. package/dist/debug-bar/styles.d.ts.map +1 -1
  28. package/dist/debug-bar/styles.js +9 -14
  29. package/dist/debug-bar/styles.js.map +1 -1
  30. package/dist/debug-bar/template-node-label.d.ts.map +1 -1
  31. package/dist/debug-bar/template-node-label.js +8 -2
  32. package/dist/debug-bar/template-node-label.js.map +1 -1
  33. package/dist/index.d.ts +7 -6
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +4 -3
  36. package/dist/index.js.map +1 -1
  37. package/dist/plugin/manifest.d.ts +34 -0
  38. package/dist/plugin/manifest.d.ts.map +1 -1
  39. package/dist/plugin/manifest.js +1 -0
  40. package/dist/plugin/manifest.js.map +1 -1
  41. package/dist/plugin/setup-context.d.ts +10 -1
  42. package/dist/plugin/setup-context.d.ts.map +1 -1
  43. package/dist/plugin/setup-context.js +12 -0
  44. package/dist/plugin/setup-context.js.map +1 -1
  45. package/dist/route/compile.d.ts +21 -0
  46. package/dist/route/compile.d.ts.map +1 -1
  47. package/dist/route/compile.js +63 -1
  48. package/dist/route/compile.js.map +1 -1
  49. package/dist/route/current.d.ts +5 -3
  50. package/dist/route/current.d.ts.map +1 -1
  51. package/dist/route/date-range.d.ts +12 -0
  52. package/dist/route/date-range.d.ts.map +1 -0
  53. package/dist/route/date-range.js +39 -0
  54. package/dist/route/date-range.js.map +1 -0
  55. package/dist/route/intent.d.ts +7 -3
  56. package/dist/route/intent.d.ts.map +1 -1
  57. package/dist/route/match.d.ts +1 -0
  58. package/dist/route/match.d.ts.map +1 -1
  59. package/dist/route/match.js +1 -1
  60. package/dist/route/match.js.map +1 -1
  61. package/dist/route/render/build-resolved-entries.d.ts.map +1 -1
  62. package/dist/route/render/build-resolved-entries.js +6 -1
  63. package/dist/route/render/build-resolved-entries.js.map +1 -1
  64. package/dist/route/render/render-template.d.ts +6 -4
  65. package/dist/route/render/render-template.d.ts.map +1 -1
  66. package/dist/route/render/render-template.js +36 -48
  67. package/dist/route/render/render-template.js.map +1 -1
  68. package/dist/route/render/resolved-entry.d.ts +46 -5
  69. package/dist/route/render/resolved-entry.d.ts.map +1 -1
  70. package/dist/route/render/template-builders.d.ts +124 -0
  71. package/dist/route/render/template-builders.d.ts.map +1 -0
  72. package/dist/route/render/template-builders.js +172 -0
  73. package/dist/route/render/template-builders.js.map +1 -0
  74. package/dist/route/render/template-hierarchy.d.ts +69 -38
  75. package/dist/route/render/template-hierarchy.d.ts.map +1 -1
  76. package/dist/route/render/template-hierarchy.js +150 -74
  77. package/dist/route/render/template-hierarchy.js.map +1 -1
  78. package/dist/route/resolve.d.ts +5 -3
  79. package/dist/route/resolve.d.ts.map +1 -1
  80. package/dist/route/resolve.js +177 -35
  81. package/dist/route/resolve.js.map +1 -1
  82. package/dist/rpc/procedures/entry/create.d.ts +2 -2
  83. package/dist/rpc/procedures/entry/delete-permanent.d.ts +2 -2
  84. package/dist/rpc/procedures/entry/duplicate.d.ts +2 -2
  85. package/dist/rpc/procedures/entry/get.d.ts +2 -2
  86. package/dist/rpc/procedures/entry/index.d.ts +22 -22
  87. package/dist/rpc/procedures/entry/list.d.ts +2 -2
  88. package/dist/rpc/procedures/entry/publish.d.ts +2 -2
  89. package/dist/rpc/procedures/entry/restore.d.ts +2 -2
  90. package/dist/rpc/procedures/entry/revisions.d.ts +8 -8
  91. package/dist/rpc/procedures/entry/trash.d.ts +2 -2
  92. package/dist/rpc/procedures/entry/update.d.ts +2 -2
  93. package/dist/rpc/procedures/term/create.d.ts +2 -2
  94. package/dist/rpc/procedures/term/delete.d.ts +2 -2
  95. package/dist/rpc/procedures/term/get.d.ts +2 -2
  96. package/dist/rpc/procedures/term/index.d.ts +10 -10
  97. package/dist/rpc/procedures/term/list.d.ts +2 -2
  98. package/dist/rpc/procedures/term/update.d.ts +2 -2
  99. package/dist/rpc/procedures/user/delete.d.ts +2 -0
  100. package/dist/rpc/procedures/user/delete.d.ts.map +1 -1
  101. package/dist/rpc/procedures/user/disable.d.ts +2 -0
  102. package/dist/rpc/procedures/user/disable.d.ts.map +1 -1
  103. package/dist/rpc/procedures/user/enable.d.ts +2 -0
  104. package/dist/rpc/procedures/user/enable.d.ts.map +1 -1
  105. package/dist/rpc/procedures/user/get.d.ts +2 -0
  106. package/dist/rpc/procedures/user/get.d.ts.map +1 -1
  107. package/dist/rpc/procedures/user/index.d.ts +12 -0
  108. package/dist/rpc/procedures/user/index.d.ts.map +1 -1
  109. package/dist/rpc/procedures/user/invite.d.ts.map +1 -1
  110. package/dist/rpc/procedures/user/invite.js +28 -15
  111. package/dist/rpc/procedures/user/invite.js.map +1 -1
  112. package/dist/rpc/procedures/user/list.d.ts +2 -0
  113. package/dist/rpc/procedures/user/list.d.ts.map +1 -1
  114. package/dist/rpc/procedures/user/list.js +1 -0
  115. package/dist/rpc/procedures/user/list.js.map +1 -1
  116. package/dist/rpc/procedures/user/update.d.ts +2 -0
  117. package/dist/rpc/procedures/user/update.d.ts.map +1 -1
  118. package/dist/rpc/router.d.ts +44 -32
  119. package/dist/rpc/router.d.ts.map +1 -1
  120. package/dist/runtime/app.d.ts +0 -8
  121. package/dist/runtime/app.d.ts.map +1 -1
  122. package/dist/runtime/app.js +0 -38
  123. package/dist/runtime/app.js.map +1 -1
  124. package/dist/runtime/dispatcher.d.ts.map +1 -1
  125. package/dist/runtime/dispatcher.js +74 -13
  126. package/dist/runtime/dispatcher.js.map +1 -1
  127. package/dist/seo/feed.d.ts +19 -4
  128. package/dist/seo/feed.d.ts.map +1 -1
  129. package/dist/seo/feed.js +49 -12
  130. package/dist/seo/feed.js.map +1 -1
  131. package/dist/seo/head-defaults.d.ts.map +1 -1
  132. package/dist/seo/head-defaults.js +6 -3
  133. package/dist/seo/head-defaults.js.map +1 -1
  134. package/dist/template-deps.js +1 -1
  135. package/dist/template-registry.d.ts +87 -0
  136. package/dist/template-registry.d.ts.map +1 -0
  137. package/dist/template-registry.js +1 -0
  138. package/dist/template-registry.js.map +1 -0
  139. package/dist/template.d.ts +2 -2
  140. package/dist/test/default-theme.d.ts.map +1 -1
  141. package/dist/test/default-theme.js +10 -6
  142. package/dist/test/default-theme.js.map +1 -1
  143. package/dist/test/factories.d.ts +39 -21
  144. package/dist/test/factories.d.ts.map +1 -1
  145. package/dist/test/factories.js +1 -0
  146. package/dist/test/factories.js.map +1 -1
  147. package/dist/theme-errors.d.ts +0 -3
  148. package/dist/theme-errors.d.ts.map +1 -1
  149. package/dist/theme-errors.js +7 -18
  150. package/dist/theme-errors.js.map +1 -1
  151. package/dist/theme.d.ts +67 -23
  152. package/dist/theme.d.ts.map +1 -1
  153. package/dist/theme.js +30 -10
  154. package/dist/theme.js.map +1 -1
  155. package/dist/users/slug.d.ts +12 -0
  156. package/dist/users/slug.d.ts.map +1 -0
  157. package/dist/users/slug.js +32 -0
  158. package/dist/users/slug.js.map +1 -0
  159. package/dist/welcome-theme.d.ts +2 -2
  160. package/dist/welcome-theme.d.ts.map +1 -1
  161. package/dist/welcome-theme.js +7 -6
  162. package/dist/welcome-theme.js.map +1 -1
  163. package/package.json +7 -7
  164. package/dist/route/render/archive-props.d.ts +0 -39
  165. package/dist/route/render/archive-props.d.ts.map +0 -1
  166. package/dist/route/render/archive-props.js +0 -32
  167. package/dist/route/render/archive-props.js.map +0 -1
@@ -12,6 +12,22 @@ export const FRAMEWORK_FRONT_PAGE_PATTERN = "/page/:page(\\d+)";
12
12
  export const FRAMEWORK_SEARCH_BARE_PATTERN = "/search";
13
13
  export const FRAMEWORK_SEARCH_QUERY_PATTERN = "/search/:query";
14
14
  export const FRAMEWORK_SEARCH_PAGINATED_PATTERN = "/search/:query/page/:page(\\d+)";
15
+ export const FRAMEWORK_AUTHOR_PATTERN = "/authors/:slug";
16
+ export const FRAMEWORK_AUTHOR_PAGINATED_PATTERN = "/authors/:slug/page/:page(\\d+)";
17
+ // Date archives: bare numeric segments, so each is constrained (`\d{4}`/`\d{2}`)
18
+ // to only match date-shaped URLs. These sort at framework priority, so `/2026`
19
+ // resolves to the year archive — a post slugged "2026" is shadowed (WP reserves
20
+ // date-archive URL space the same way).
21
+ const YEAR = ":year(\\d{4})";
22
+ const MONTH = ":month(\\d{2})";
23
+ const DAY = ":day(\\d{2})";
24
+ const PAGE = "/page/:page(\\d+)";
25
+ export const FRAMEWORK_DATE_YEAR_PATTERN = `/${YEAR}`;
26
+ export const FRAMEWORK_DATE_MONTH_PATTERN = `/${YEAR}/${MONTH}`;
27
+ export const FRAMEWORK_DATE_DAY_PATTERN = `/${YEAR}/${MONTH}/${DAY}`;
28
+ export const FRAMEWORK_DATE_YEAR_PAGINATED_PATTERN = `/${YEAR}${PAGE}`;
29
+ export const FRAMEWORK_DATE_MONTH_PAGINATED_PATTERN = `/${YEAR}/${MONTH}${PAGE}`;
30
+ export const FRAMEWORK_DATE_DAY_PAGINATED_PATTERN = `/${YEAR}/${MONTH}/${DAY}${PAGE}`;
15
31
  /**
16
32
  * Compile the route map from the plugin registry. Auto-generates single +
17
33
  * archive rules for each public post type, appends explicit
@@ -52,6 +68,38 @@ export function compileRouteMap(registry) {
52
68
  priority: FRAMEWORK_ROUTE_PRIORITY,
53
69
  registeredBy: null,
54
70
  },
71
+ // Paginated variant first, mirroring search — keeps the more-specific rule
72
+ // ahead of the bare `/authors/:slug`.
73
+ {
74
+ pattern: new URLPattern({ pathname: FRAMEWORK_AUTHOR_PAGINATED_PATTERN }),
75
+ rawPattern: FRAMEWORK_AUTHOR_PAGINATED_PATTERN,
76
+ intent: { kind: "author" },
77
+ priority: FRAMEWORK_ROUTE_PRIORITY,
78
+ registeredBy: null,
79
+ },
80
+ {
81
+ pattern: new URLPattern({ pathname: FRAMEWORK_AUTHOR_PATTERN }),
82
+ rawPattern: FRAMEWORK_AUTHOR_PATTERN,
83
+ intent: { kind: "author" },
84
+ priority: FRAMEWORK_ROUTE_PRIORITY,
85
+ registeredBy: null,
86
+ },
87
+ // Date archives, most-specific first (day → month → year, paginated before
88
+ // bare) so a more-granular URL is never captured by a coarser rule.
89
+ ...[
90
+ FRAMEWORK_DATE_DAY_PAGINATED_PATTERN,
91
+ FRAMEWORK_DATE_DAY_PATTERN,
92
+ FRAMEWORK_DATE_MONTH_PAGINATED_PATTERN,
93
+ FRAMEWORK_DATE_MONTH_PATTERN,
94
+ FRAMEWORK_DATE_YEAR_PAGINATED_PATTERN,
95
+ FRAMEWORK_DATE_YEAR_PATTERN,
96
+ ].map((rawPattern) => ({
97
+ pattern: new URLPattern({ pathname: rawPattern }),
98
+ rawPattern,
99
+ intent: { kind: "date" },
100
+ priority: FRAMEWORK_ROUTE_PRIORITY,
101
+ registeredBy: null,
102
+ })),
55
103
  ];
56
104
  // Taxonomies emit before entry types so that a slug collision (e.g. a
57
105
  // post type with `rewrite.slug: 'category'` shadowing a `category`
@@ -79,6 +127,20 @@ export function compileRouteMap(registry) {
79
127
  registeredBy: registered.registeredBy,
80
128
  });
81
129
  }
130
+ // Plugin-registered archive types (`registerArchiveType`): each route becomes
131
+ // a rule carrying the `custom` intent that `resolvePublicRoute` looks the
132
+ // resolver up by. Default to the rewrite-rule priority.
133
+ for (const archive of registry.archiveTypes.values()) {
134
+ for (const rawPattern of archive.routes) {
135
+ rules.push({
136
+ pattern: new URLPattern({ pathname: rawPattern }),
137
+ rawPattern,
138
+ intent: { kind: "custom", name: archive.name },
139
+ priority: archive.priority ?? DEFAULT_REWRITE_RULE_PRIORITY,
140
+ registeredBy: archive.registeredBy,
141
+ });
142
+ }
143
+ }
82
144
  assertUniquePatterns(rules);
83
145
  rules.sort((a, b) => a.priority - b.priority);
84
146
  return rules;
@@ -135,7 +197,7 @@ function autoRulesForEntryType(entryType) {
135
197
  * segment pattern even when the data is hierarchical — same opt-out the
136
198
  * outbound permalink helpers honor.
137
199
  */
138
- function exposesHierarchicalUrls(spec) {
200
+ export function exposesHierarchicalUrls(spec) {
139
201
  if (spec.isHierarchical !== true)
140
202
  return false;
141
203
  return spec.rewrite?.isHierarchical !== false;
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/route/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/route/compile.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,8 @@ import type { AppContext } from "../context/app.js";
7
7
  *
8
8
  * Archive routes set the `archive` variant carrying the entry type
9
9
  * being listed. Single routes set the `entry` variant with the resolved
10
- * row id. Term-archive routes will set `term` once the route module
11
- * supports them — the variant is declared now so consumers can branch
12
- * on it without a future migration.
10
+ * row id. Term-archive routes set `term`; author archives set `author`
11
+ * with the resolved user id.
13
12
  */
14
13
  export type ResolvedEntity = {
15
14
  readonly kind: "entry";
@@ -17,6 +16,9 @@ export type ResolvedEntity = {
17
16
  } | {
18
17
  readonly kind: "term";
19
18
  readonly id: number;
19
+ } | {
20
+ readonly kind: "author";
21
+ readonly id: number;
20
22
  } | {
21
23
  readonly kind: "archive";
22
24
  readonly entryType: string;
@@ -1 +1 @@
1
- {"version":3,"file":"current.d.ts","sourceRoot":"","sources":["../../src/route/current.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,aAAa,GACpB,OAAO,CAOT"}
1
+ {"version":3,"file":"current.d.ts","sourceRoot":"","sources":["../../src/route/current.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,aAAa,GACpB,OAAO,CAOT"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The half-open `[start, end)` UTC instant range a `/YYYY[/MM[/DD]]` archive
3
+ * covers, or `null` when the components don't form a real date (month 13,
4
+ * Feb 30, …) so the caller 404s. `month`/`day` are 1-based; `null` = a coarser
5
+ * granularity (a year has `month`/`day` null). Shared by the date-archive
6
+ * resolver and the date feed so both agree on boundaries and validation.
7
+ */
8
+ export declare function dateRange(year: number, month: number | null, day: number | null): {
9
+ readonly start: Date;
10
+ readonly end: Date;
11
+ } | null;
12
+ //# sourceMappingURL=date-range.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range.d.ts","sourceRoot":"","sources":["../../src/route/date-range.ts"],"names":[],"mappings":"AAUA;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,GAAG,EAAE,MAAM,GAAG,IAAI,GACjB;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,CAsBrD"}
@@ -0,0 +1,39 @@
1
+ // Midnight UTC for the given components, via `setUTCFullYear` rather than
2
+ // `Date.UTC`/`new Date(y, …)` — the latter two remap a 0–99 year to 1900–1999,
3
+ // which would send `/0050` to 1950. `setUTCFullYear` takes the literal year and
4
+ // still overflows an out-of-range month/day, which the callers rely on.
5
+ function utcMidnight(year, monthIndex, day) {
6
+ const d = new Date(0);
7
+ d.setUTCFullYear(year, monthIndex, day);
8
+ return d;
9
+ }
10
+ /**
11
+ * The half-open `[start, end)` UTC instant range a `/YYYY[/MM[/DD]]` archive
12
+ * covers, or `null` when the components don't form a real date (month 13,
13
+ * Feb 30, …) so the caller 404s. `month`/`day` are 1-based; `null` = a coarser
14
+ * granularity (a year has `month`/`day` null). Shared by the date-archive
15
+ * resolver and the date feed so both agree on boundaries and validation.
16
+ */
17
+ export function dateRange(year, month, day) {
18
+ if (month === null) {
19
+ return { start: utcMidnight(year, 0, 1), end: utcMidnight(year + 1, 0, 1) };
20
+ }
21
+ if (month < 1 || month > 12)
22
+ return null;
23
+ if (day === null) {
24
+ return {
25
+ start: utcMidnight(year, month - 1, 1),
26
+ end: utcMidnight(year, month, 1),
27
+ };
28
+ }
29
+ const start = utcMidnight(year, month - 1, day);
30
+ // An out-of-range day overflows into the next month; reject when the
31
+ // round-trip doesn't match, catching Feb 30, Apr 31, etc.
32
+ if (start.getUTCFullYear() !== year ||
33
+ start.getUTCMonth() !== month - 1 ||
34
+ start.getUTCDate() !== day) {
35
+ return null;
36
+ }
37
+ return { start, end: utcMidnight(year, month - 1, day + 1) };
38
+ }
39
+ //# sourceMappingURL=date-range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range.js","sourceRoot":"","sources":["../../src/route/date-range.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,+EAA+E;AAC/E,gFAAgF;AAChF,wEAAwE;AACxE,SAAS,WAAW,CAAC,IAAY,EAAE,UAAkB,EAAE,GAAW;IAChE,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CACvB,IAAY,EACZ,KAAoB,EACpB,GAAkB;IAElB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC9E,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO;YACL,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YACtC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;SACjC,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAChD,qEAAqE;IACrE,0DAA0D;IAC1D,IACE,KAAK,CAAC,cAAc,EAAE,KAAK,IAAI;QAC/B,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,GAAG,CAAC;QACjC,KAAK,CAAC,UAAU,EAAE,KAAK,GAAG,EAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC"}
@@ -3,9 +3,6 @@
3
3
  * into a Response by the public-route resolver. URL params (slug, term,
4
4
  * page) live on `RouteMatch.params`, not on the intent itself — the
5
5
  * intent describes the *route shape*, the match carries the request.
6
- *
7
- * `search` / `front-page` / `handler` / `redirect` land when a plugin
8
- * actually needs them.
9
6
  */
10
7
  export type RouteIntent = {
11
8
  readonly kind: "single";
@@ -16,10 +13,17 @@ export type RouteIntent = {
16
13
  } | {
17
14
  readonly kind: "taxonomy";
18
15
  readonly taxonomy: string;
16
+ } | {
17
+ readonly kind: "author";
18
+ } | {
19
+ readonly kind: "date";
19
20
  } | {
20
21
  readonly kind: "front-page";
21
22
  } | {
22
23
  readonly kind: "search";
24
+ } | {
25
+ readonly kind: "custom";
26
+ readonly name: string;
23
27
  };
24
28
  /**
25
29
  * Compiled rule. `priority` preserves arch-doc ordering semantics — lower
@@ -1 +1 @@
1
- {"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/route/intent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEhC;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B"}
1
+ {"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/route/intent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAI3B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B"}
@@ -4,4 +4,5 @@ export interface RouteMatch {
4
4
  readonly params: Record<string, string>;
5
5
  }
6
6
  export declare function matchRoute(url: URL, rules: readonly RouteRule[]): RouteMatch | null;
7
+ export declare function extractParams(pathname: URLPatternComponentResult): Record<string, string>;
7
8
  //# sourceMappingURL=match.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../src/route/match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,wBAAgB,UAAU,CACxB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS,SAAS,EAAE,GAC1B,UAAU,GAAG,IAAI,CAOnB"}
1
+ {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../src/route/match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,wBAAgB,UAAU,CACxB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS,SAAS,EAAE,GAC1B,UAAU,GAAG,IAAI,CAOnB;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,yBAAyB,GAClC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB"}
@@ -7,7 +7,7 @@ export function matchRoute(url, rules) {
7
7
  }
8
8
  return null;
9
9
  }
10
- function extractParams(pathname) {
10
+ export function extractParams(pathname) {
11
11
  const out = {};
12
12
  for (const [key, value] of Object.entries(pathname.groups)) {
13
13
  if (typeof value === "string")
@@ -1 +1 @@
1
- {"version":3,"file":"match.js","sourceRoot":"","sources":["../../src/route/match.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,UAAU,CACxB,GAAQ,EACR,KAA2B;IAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CACpB,QAAmC;IAEnC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"match.js","sourceRoot":"","sources":["../../src/route/match.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,UAAU,CACxB,GAAQ,EACR,KAA2B;IAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,QAAmC;IAEnC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-resolved-entries.d.ts","sourceRoot":"","sources":["../../../src/route/render/build-resolved-entries.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,KAAK,EAAE,GACrB,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAqDnC"}
1
+ {"version":3,"file":"build-resolved-entries.d.ts","sourceRoot":"","sources":["../../../src/route/render/build-resolved-entries.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,SAAS,KAAK,EAAE,GACrB,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CA0DnC"}
@@ -17,7 +17,12 @@ export async function buildResolvedEntries(ctx, rows) {
17
17
  const authorIds = Array.from(new Set(rows.map((r) => r.authorId)));
18
18
  const [authorRows, joinRows] = await Promise.all([
19
19
  ctx.db
20
- .select({ id: users.id, name: users.name, avatarUrl: users.avatarUrl })
20
+ .select({
21
+ id: users.id,
22
+ slug: users.slug,
23
+ name: users.name,
24
+ avatarUrl: users.avatarUrl,
25
+ })
21
26
  .from(users)
22
27
  .where(inArray(users.id, authorIds)),
23
28
  ctx.db
@@ -1 +1 @@
1
- {"version":3,"file":"build-resolved-entries.js","sourceRoot":"","sources":["../../../src/route/render/build-resolved-entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMhD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAe,EACf,IAAsB;IAEtB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/C,GAAG,CAAC,EAAE;aACH,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;aACtE,IAAI,CAAC,KAAK,CAAC;aACX,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACtC,GAAG,CAAC,EAAE;aACH,MAAM,CAAC;YACN,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;aACD,IAAI,CAAC,SAAS,CAAC;aACf,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;aAChD,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KAC/C,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;QACjC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,oEAAoE;YACpE,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,8BAA8B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAClG,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,GAAG;YACN,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YAC/D,0EAA0E;YAC1E,KAAK,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvD,GAAG,IAAI;gBACP,GAAG,EAAE,uBAAuB,CAAC,GAAG,EAAE,IAAI,CAAC;aACxC,CAAC,CAAC;YACH,MAAM;YACN,GAAG,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC;SACvC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"build-resolved-entries.js","sourceRoot":"","sources":["../../../src/route/render/build-resolved-entries.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,6 @@ interface RenderArgs {
22
22
  readonly ctx: AppContext;
23
23
  readonly theme: ThemeDescriptor;
24
24
  readonly document: DocumentManifest;
25
- readonly templateDocuments: ReadonlyMap<string, DocumentManifest>;
26
25
  readonly templateDeps: ReadonlyMap<string, RegisteredTemplateDep>;
27
26
  readonly assetManifest: AssetManifest;
28
27
  readonly node: ResolvedNode;
@@ -31,17 +30,20 @@ interface RenderArgs {
31
30
  /** Visual-editor decision; defaults to a plain live render. */
32
31
  readonly editMode?: EditModeDecision;
33
32
  }
34
- export declare function renderThroughTheme(args: RenderArgs): Promise<string>;
33
+ /**
34
+ * Render a resolved node through the theme. Returns `null` when the theme
35
+ * declares no matching tier and no `fallback` — the caller then renders 404.
36
+ */
37
+ export declare function renderThroughTheme(args: RenderArgs): Promise<string | null>;
35
38
  interface RenderErrorArgs {
36
39
  readonly ctx: AppContext;
37
40
  readonly theme: ThemeDescriptor;
38
41
  readonly document: DocumentManifest;
39
- readonly templateDocuments: ReadonlyMap<string, DocumentManifest>;
40
42
  readonly templateDeps: ReadonlyMap<string, RegisteredTemplateDep>;
41
43
  readonly assetManifest: AssetManifest;
42
44
  readonly kind: "not-found" | "server-error";
43
45
  readonly data: ErrorData;
44
46
  }
45
- export declare function renderErrorThroughTheme({ ctx, theme, document, templateDocuments, templateDeps, assetManifest, kind, data, }: RenderErrorArgs): Promise<string>;
47
+ export declare function renderErrorThroughTheme({ ctx, theme, document, templateDeps, assetManifest, kind, data, }: RenderErrorArgs): Promise<string>;
46
48
  export {};
47
49
  //# sourceMappingURL=render-template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-template.d.ts","sourceRoot":"","sources":["../../../src/route/render/render-template.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,KAAK,EAEV,gBAAgB,EAGhB,YAAY,EAEZ,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAsB5D,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,cAAc;QACtB;;;;;;;WAOG;QACH,iBAAiB,EAAE,CACjB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,UAAU,KACZ,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;KACnD;CACF;AAED,UAAU,UAAU;IAClB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAClE,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAClE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CACtC;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAKpE;AAiFD,UAAU,eAAe;IACvB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAClE,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAClE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,cAAc,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AAWD,wBAAsB,uBAAuB,CAAC,EAC5C,GAAG,EACH,KAAK,EACL,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,IAAI,GACL,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAuCnC"}
1
+ {"version":3,"file":"render-template.d.ts","sourceRoot":"","sources":["../../../src/route/render/render-template.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,KAAK,EAEV,gBAAgB,EAGhB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AA4B5D,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,cAAc;QACtB;;;;;;;WAOG;QACH,iBAAiB,EAAE,CACjB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,UAAU,KACZ,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;KACnD;CACF;AAED,UAAU,UAAU;IAClB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAClE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAK3E;AAyED,UAAU,eAAe;IACvB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAClE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,cAAc,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AAeD,wBAAsB,uBAAuB,CAAC,EAC5C,GAAG,EACH,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,IAAI,GACL,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAuCnC"}
@@ -16,35 +16,34 @@ import { LIVE_EDIT_MODE } from "../edit-mode.js";
16
16
  import { bundledCssTags, devThemeStylesTag } from "./asset-manifest.js";
17
17
  import { injectEditorBootstrap } from "./inject-editor-bootstrap.js";
18
18
  import { injectIslandsBootstrap } from "./inject-islands-bootstrap.js";
19
- import { resolveTemplateCandidates } from "./template-hierarchy.js";
19
+ import { templateRules } from "./template-builders.js";
20
+ import { explainTemplateResolution, resolveErrorTemplate, resolveTemplate, ruleLabel, } from "./template-hierarchy.js";
21
+ /**
22
+ * Render a resolved node through the theme. Returns `null` when the theme
23
+ * declares no matching tier and no `fallback` — the caller then renders 404.
24
+ */
20
25
  export function renderThroughTheme(args) {
21
26
  // Dev-only: time the render phase for the Timeline. `ctx.debug` is the no-op
22
27
  // collector in prod, so span() is a pass-through and this tree-shakes to a
23
28
  // plain call.
24
29
  return args.ctx.debug.span("render", () => renderThroughThemeInner(args));
25
30
  }
26
- async function renderThroughThemeInner({ ctx, theme, document, templateDocuments, templateDeps, assetManifest, node, data, title, editMode = LIVE_EDIT_MODE, }) {
27
- const candidates = await resolveTemplateCandidates(node, ctx.hooks);
28
- const { template, slot } = pickTemplate(theme.templates, candidates);
29
- // Dev-only: surface the template hierarchy resolution in the debug bar.
30
- // `ctx.debug` is the no-op collector in prod, so this branch tree-shakes.
31
+ async function renderThroughThemeInner({ ctx, theme, document, templateDeps, assetManifest, node, data, title, editMode = LIVE_EDIT_MODE, }) {
32
+ const rules = templateRules(theme.templates);
33
+ const matched = resolveTemplate(rules, node, data);
34
+ if (matched === undefined)
35
+ return null;
36
+ const template = normalizeTemplate(matched.template, ruleLabel(matched));
37
+ // Dev-only: surface the full resolution walk in the debug bar. `ctx.debug` is
38
+ // the no-op collector in prod, so this branch tree-shakes.
31
39
  if (process.env.PLUMIX_DEV) {
32
40
  ctx.debug.record(TEMPLATE_PANEL_ID, {
33
41
  nodeLabel: templateNodeLabel(node),
34
- candidates,
35
- picked: slot,
42
+ ...explainTemplateResolution(rules, node, data),
36
43
  });
37
44
  }
38
45
  const deps = await loadTemplateDeps(mergeTemplateDepDeclarations(theme, template), templateDeps, ctx);
39
- const merged = resolveRenderDocument({
40
- template,
41
- slot,
42
- document,
43
- templateDocuments,
44
- data,
45
- ctx,
46
- deps,
47
- });
46
+ const merged = resolveRenderDocument({ template, document, data, ctx, deps });
48
47
  const filtered = await ctx.hooks.applyFilter("render:document", merged, data, ctx);
49
48
  const renderDocument = await applyHeadMeta(applyCanonical(filtered, ctx), data, ctx, title);
50
49
  const loaderData = await prefetchEntryLoaders(ctx, data, template);
@@ -74,23 +73,26 @@ function composeTitle(document, fallback) {
74
73
  return title ?? fallback;
75
74
  }
76
75
  const ERROR_VARIANTS = {
77
- "not-found": { key: "404", title: "Not Found", fallback: DefaultNotFound },
76
+ "not-found": {
77
+ tier: "notFound",
78
+ title: "Not Found",
79
+ fallback: DefaultNotFound,
80
+ },
78
81
  "server-error": {
79
- key: "500",
82
+ tier: "serverError",
80
83
  title: "Internal Server Error",
81
84
  fallback: DefaultServerError,
82
85
  },
83
86
  };
84
- export async function renderErrorThroughTheme({ ctx, theme, document, templateDocuments, templateDeps, assetManifest, kind, data, }) {
87
+ export async function renderErrorThroughTheme({ ctx, theme, document, templateDeps, assetManifest, kind, data, }) {
85
88
  const variant = ERROR_VARIANTS[kind];
86
- const raw = theme.templates[variant.key] ?? variant.fallback;
87
- const template = normalizeTemplate(raw, variant.key);
89
+ const raw = resolveErrorTemplate(templateRules(theme.templates), variant.tier)
90
+ ?.template ?? variant.fallback;
91
+ const template = normalizeTemplate(raw, variant.tier);
88
92
  const deps = await loadTemplateDeps(mergeTemplateDepDeclarations(theme, template), templateDeps, ctx);
89
93
  const renderDocument = resolveRenderDocument({
90
94
  template,
91
- slot: variant.key,
92
95
  document,
93
- templateDocuments,
94
96
  data,
95
97
  ctx,
96
98
  deps,
@@ -140,18 +142,21 @@ function collectLoaderBlocks(data, template) {
140
142
  return data.entry.contentBlocks?.blocks ?? [];
141
143
  if (!("entries" in data))
142
144
  return [];
143
- if (!template.prefetchListingLoaders)
145
+ if (!template.prefetchArchiveLoaders)
144
146
  return [];
145
147
  return data.entries.flatMap((e) => e.contentBlocks?.blocks ?? []);
146
148
  }
147
- function resolveRenderDocument({ template, slot, document, templateDocuments, data, ctx, deps, }) {
149
+ // Merge the matched template's `document` fragment (a literal or a per-request
150
+ // function) onto the theme-wide document. No fragment → the theme document.
151
+ function resolveRenderDocument({ template, document, data, ctx, deps, }) {
148
152
  const fragment = template.document;
149
- if (typeof fragment !== "function") {
150
- return templateDocuments.get(slot) ?? document;
151
- }
152
- const resolved = fragment({ ...deps, data, ctx });
153
+ if (fragment === undefined)
154
+ return document;
155
+ const resolved = typeof fragment === "function"
156
+ ? fragment({ ...deps, data, ctx })
157
+ : fragment;
153
158
  const merged = mergeDocumentManifest(document, resolved);
154
- validateDocumentManifest(merged, slot);
159
+ validateDocumentManifest(merged);
155
160
  return merged;
156
161
  }
157
162
  // React 19 reorders every child of `<head>` (metadata first, scripts /
@@ -368,23 +373,6 @@ function escapeHtml(value) {
368
373
  function escapeAttr(value) {
369
374
  return escapeHtml(value).replace(/"/g, "&quot;");
370
375
  }
371
- function pickTemplate(templates, candidates) {
372
- // The candidate list is derived from the route's kind, so the picked
373
- // template's narrowed data shape always matches the runtime `data`.
374
- // Normalize at the boundary — accepts both plain function templates
375
- // (legacy) and factory-built `Template<T>` objects. The returned
376
- // `slot` keys per-template document lookups on the app's precomputed
377
- // `templateDocuments` map.
378
- for (const name of candidates) {
379
- const candidate = templates[name];
380
- if (candidate)
381
- return { template: normalizeTemplate(candidate, name), slot: name };
382
- }
383
- return {
384
- template: normalizeTemplate(templates.index, "index"),
385
- slot: "index",
386
- };
387
- }
388
376
  function DefaultNotFound() {
389
377
  return (_jsxs("main", { children: [_jsx("h1", { children: "Not Found" }), _jsx("p", { children: "The page you're looking for doesn't exist." })] }));
390
378
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render-template.js","sourceRoot":"","sources":["../../../src/route/render/render-template.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-template.js","sourceRoot":"","sources":["../../../src/route/render/render-template.tsx"],"names":[],"mappings":"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"}