alepha 0.20.2 → 0.20.4

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 (304) hide show
  1. package/README.md +0 -1
  2. package/assets/swagger-ui/swagger-ui-bundle.js +1 -1
  3. package/assets/swagger-ui/swagger-ui.css +1 -1
  4. package/dist/api/audits/index.browser.js +49 -0
  5. package/dist/api/audits/index.browser.js.map +1 -1
  6. package/dist/api/audits/index.js +49 -0
  7. package/dist/api/audits/index.js.map +1 -1
  8. package/dist/api/files/index.js.map +1 -1
  9. package/dist/api/jobs/index.d.ts +2 -61
  10. package/dist/api/jobs/index.d.ts.map +1 -1
  11. package/dist/api/jobs/index.js.map +1 -1
  12. package/dist/api/keys/index.d.ts +4 -4
  13. package/dist/api/keys/index.js.map +1 -1
  14. package/dist/api/notifications/index.d.ts +1 -10
  15. package/dist/api/notifications/index.d.ts.map +1 -1
  16. package/dist/api/parameters/index.browser.js +37 -0
  17. package/dist/api/parameters/index.browser.js.map +1 -1
  18. package/dist/api/parameters/index.d.ts +12 -68
  19. package/dist/api/parameters/index.d.ts.map +1 -1
  20. package/dist/api/parameters/index.js +57 -4
  21. package/dist/api/parameters/index.js.map +1 -1
  22. package/dist/api/payments/index.js.map +1 -1
  23. package/dist/api/users/index.browser.js +6 -0
  24. package/dist/api/users/index.browser.js.map +1 -1
  25. package/dist/api/users/index.d.ts +148 -227
  26. package/dist/api/users/index.d.ts.map +1 -1
  27. package/dist/api/users/index.js +60 -14
  28. package/dist/api/users/index.js.map +1 -1
  29. package/dist/api/verifications/index.d.ts.map +1 -1
  30. package/dist/api/verifications/index.js +2 -1
  31. package/dist/api/verifications/index.js.map +1 -1
  32. package/dist/bucket/index.d.ts +77 -107
  33. package/dist/bucket/index.d.ts.map +1 -1
  34. package/dist/bucket/index.js +153 -5
  35. package/dist/bucket/index.js.map +1 -1
  36. package/dist/bucket/index.workerd.js +12 -2
  37. package/dist/bucket/index.workerd.js.map +1 -1
  38. package/dist/cache/core/index.d.ts +26 -0
  39. package/dist/cache/core/index.d.ts.map +1 -1
  40. package/dist/cache/core/index.js +11 -1
  41. package/dist/cache/core/index.js.map +1 -1
  42. package/dist/cache/core/index.workerd.js +11 -1
  43. package/dist/cache/core/index.workerd.js.map +1 -1
  44. package/dist/captcha/index.js.map +1 -1
  45. package/dist/cli/config/index.d.ts +7 -5
  46. package/dist/cli/config/index.d.ts.map +1 -1
  47. package/dist/cli/config/index.js +2 -3
  48. package/dist/cli/config/index.js.map +1 -1
  49. package/dist/cli/core/index.d.ts +637 -11660
  50. package/dist/cli/core/index.d.ts.map +1 -1
  51. package/dist/cli/core/index.js +707 -532
  52. package/dist/cli/core/index.js.map +1 -1
  53. package/dist/cli/devtools/index.d.ts +4 -8
  54. package/dist/cli/devtools/index.d.ts.map +1 -1
  55. package/dist/cli/devtools/index.js +20 -16
  56. package/dist/cli/devtools/index.js.map +1 -1
  57. package/dist/cli/platform/index.d.ts +51 -77
  58. package/dist/cli/platform/index.d.ts.map +1 -1
  59. package/dist/cli/platform/index.js +65 -15
  60. package/dist/cli/platform/index.js.map +1 -1
  61. package/dist/cli/vendor/index.d.ts +10 -13
  62. package/dist/cli/vendor/index.d.ts.map +1 -1
  63. package/dist/cli/vendor/index.js +30 -12
  64. package/dist/cli/vendor/index.js.map +1 -1
  65. package/dist/command/index.js +1 -1
  66. package/dist/command/index.js.map +1 -1
  67. package/dist/core/index.browser.js +27 -3
  68. package/dist/core/index.browser.js.map +1 -1
  69. package/dist/core/index.d.ts +8 -11
  70. package/dist/core/index.d.ts.map +1 -1
  71. package/dist/core/index.js +27 -3
  72. package/dist/core/index.js.map +1 -1
  73. package/dist/core/index.native.js +27 -3
  74. package/dist/core/index.native.js.map +1 -1
  75. package/dist/core/index.workerd.js +27 -3
  76. package/dist/core/index.workerd.js.map +1 -1
  77. package/dist/crypto/index.js.map +1 -1
  78. package/dist/datetime/index.d.ts +69 -10
  79. package/dist/datetime/index.d.ts.map +1 -1
  80. package/dist/datetime/index.js +135 -13
  81. package/dist/datetime/index.js.map +1 -1
  82. package/dist/email/core/index.js.map +1 -1
  83. package/dist/email/smtp/index.js +130 -16
  84. package/dist/email/smtp/index.js.map +1 -1
  85. package/dist/fake/index.js.map +1 -1
  86. package/dist/lock/core/index.d.ts +30 -2
  87. package/dist/lock/core/index.d.ts.map +1 -1
  88. package/dist/lock/core/index.js +35 -12
  89. package/dist/lock/core/index.js.map +1 -1
  90. package/dist/lock/redis/index.js.map +1 -1
  91. package/dist/logger/index.js +32 -1
  92. package/dist/logger/index.js.map +1 -1
  93. package/dist/mcp/index.d.ts +238 -31
  94. package/dist/mcp/index.d.ts.map +1 -1
  95. package/dist/mcp/index.js +198 -67
  96. package/dist/mcp/index.js.map +1 -1
  97. package/dist/orm/core/index.browser.js +2 -362
  98. package/dist/orm/core/index.browser.js.map +1 -1
  99. package/dist/orm/core/index.bun.js +18 -409
  100. package/dist/orm/core/index.bun.js.map +1 -1
  101. package/dist/orm/core/index.d.ts +41 -194
  102. package/dist/orm/core/index.d.ts.map +1 -1
  103. package/dist/orm/core/index.js +27 -422
  104. package/dist/orm/core/index.js.map +1 -1
  105. package/dist/orm/postgres/index.bun.js +17 -20
  106. package/dist/orm/postgres/index.bun.js.map +1 -1
  107. package/dist/orm/postgres/index.d.ts +1 -5
  108. package/dist/orm/postgres/index.d.ts.map +1 -1
  109. package/dist/orm/postgres/index.js +17 -20
  110. package/dist/orm/postgres/index.js.map +1 -1
  111. package/dist/react/core/index.d.ts +102 -1
  112. package/dist/react/core/index.d.ts.map +1 -1
  113. package/dist/react/core/index.js +65 -1
  114. package/dist/react/core/index.js.map +1 -1
  115. package/dist/react/form/index.d.ts +6 -0
  116. package/dist/react/form/index.d.ts.map +1 -1
  117. package/dist/react/form/index.js +7 -7
  118. package/dist/react/form/index.js.map +1 -1
  119. package/dist/react/i18n/index.d.ts +7 -1
  120. package/dist/react/i18n/index.d.ts.map +1 -1
  121. package/dist/react/i18n/index.js +6 -0
  122. package/dist/react/i18n/index.js.map +1 -1
  123. package/dist/react/intro/index.js +22 -17
  124. package/dist/react/intro/index.js.map +1 -1
  125. package/dist/react/router/index.browser.js +98 -4
  126. package/dist/react/router/index.browser.js.map +1 -1
  127. package/dist/react/router/index.d.ts +58 -5
  128. package/dist/react/router/index.d.ts.map +1 -1
  129. package/dist/react/router/index.js +122 -6
  130. package/dist/react/router/index.js.map +1 -1
  131. package/dist/react/testing/{chunk-DBEY4PJZ.js → chunk-6Ep1yQYe.js} +1 -1
  132. package/dist/react/testing/index.js +1 -1
  133. package/dist/react/testing/index.js.map +1 -1
  134. package/dist/react/ui/index.d.ts +195 -1
  135. package/dist/react/ui/index.d.ts.map +1 -1
  136. package/dist/react/ui/index.js +64 -1
  137. package/dist/react/ui/index.js.map +1 -1
  138. package/dist/react/websocket/index.js.map +1 -1
  139. package/dist/redis/index.js.map +1 -1
  140. package/dist/scheduler/index.d.ts +1 -2
  141. package/dist/scheduler/index.d.ts.map +1 -1
  142. package/dist/scheduler/index.js +1 -1
  143. package/dist/scheduler/index.js.map +1 -1
  144. package/dist/scheduler/index.workerd.js +1 -1
  145. package/dist/scheduler/index.workerd.js.map +1 -1
  146. package/dist/security/index.browser.js.map +1 -1
  147. package/dist/security/index.d.ts.map +1 -1
  148. package/dist/security/index.js +2 -2
  149. package/dist/security/index.js.map +1 -1
  150. package/dist/server/auth/index.d.ts.map +1 -1
  151. package/dist/server/auth/index.js +24 -10
  152. package/dist/server/auth/index.js.map +1 -1
  153. package/dist/server/cookies/index.js.map +1 -1
  154. package/dist/server/core/index.browser.js +10 -3
  155. package/dist/server/core/index.browser.js.map +1 -1
  156. package/dist/server/core/index.d.ts +1 -4
  157. package/dist/server/core/index.d.ts.map +1 -1
  158. package/dist/server/core/index.js +47 -9
  159. package/dist/server/core/index.js.map +1 -1
  160. package/dist/server/links/index.browser.js.map +1 -1
  161. package/dist/server/links/index.js.map +1 -1
  162. package/dist/server/metrics/index.js +19 -1
  163. package/dist/server/metrics/index.js.map +1 -1
  164. package/dist/server/rate-limit/index.js.map +1 -1
  165. package/dist/server/static/index.js.map +1 -1
  166. package/dist/server/swagger/index.d.ts.map +1 -1
  167. package/dist/server/swagger/index.js +4 -5
  168. package/dist/server/swagger/index.js.map +1 -1
  169. package/dist/sms/index.js.map +1 -1
  170. package/dist/system/index.browser.js.map +1 -1
  171. package/dist/system/index.js.map +1 -1
  172. package/dist/system/index.workerd.js.map +1 -1
  173. package/dist/topic/core/index.js.map +1 -1
  174. package/dist/websocket/index.browser.js +32 -5
  175. package/dist/websocket/index.browser.js.map +1 -1
  176. package/dist/websocket/index.d.ts +3 -1
  177. package/dist/websocket/index.d.ts.map +1 -1
  178. package/dist/websocket/index.js +42 -6
  179. package/dist/websocket/index.js.map +1 -1
  180. package/package.json +685 -274
  181. package/src/api/files/__tests__/FileController.spec.ts +1 -1
  182. package/src/api/jobs/__tests__/$job.spec.ts +5 -1
  183. package/src/api/parameters/services/ParameterProvider.ts +21 -4
  184. package/src/api/users/__tests__/SessionService.spec.ts +99 -0
  185. package/src/api/users/__tests__/UserJobs.spec.ts +67 -0
  186. package/src/api/users/atoms/realmAuthSettingsAtom.ts +15 -0
  187. package/src/api/users/entities/sessions.ts +6 -0
  188. package/src/api/users/jobs/UserJobs.ts +44 -17
  189. package/src/api/users/providers/RealmProvider.ts +4 -0
  190. package/src/api/users/schemas/userQuerySchema.ts +0 -1
  191. package/src/api/users/services/SessionService.ts +27 -0
  192. package/src/api/users/services/UserService.ts +1 -5
  193. package/src/api/verifications/__tests__/CodeVerification.spec.ts +14 -0
  194. package/src/api/verifications/__tests__/LinkVerification.spec.ts +14 -0
  195. package/src/api/verifications/services/VerificationService.ts +1 -0
  196. package/src/bucket/__tests__/NodeS3BucketProvider.spec.ts +74 -0
  197. package/src/bucket/index.ts +19 -2
  198. package/src/bucket/primitives/$bucket.ts +9 -1
  199. package/src/bucket/providers/CloudflareR2Provider.ts +2 -137
  200. package/src/bucket/providers/NodeS3BucketProvider.ts +218 -0
  201. package/src/cache/core/index.ts +29 -0
  202. package/src/cache/core/primitives/$cache.ts +14 -1
  203. package/src/cli/config/defineConfig.ts +13 -15
  204. package/src/cli/core/__tests__/init.spec.ts +214 -7
  205. package/src/cli/core/commands/init.ts +12 -0
  206. package/src/cli/core/services/PackageManagerUtils.ts +23 -6
  207. package/src/cli/core/services/ProjectScaffolder.ts +315 -33
  208. package/src/cli/core/tasks/BuildCloudflareTask.ts +5 -0
  209. package/src/cli/core/tasks/BuildDockerTask.ts +9 -10
  210. package/src/cli/core/tasks/BuildServerTask.ts +8 -0
  211. package/src/cli/core/templates/agentMd.ts +2 -10
  212. package/src/cli/core/templates/apiIndexTs.ts +23 -1
  213. package/src/cli/core/templates/componentsJsonTs.ts +39 -0
  214. package/src/cli/core/templates/mainCss.ts +1 -0
  215. package/src/cli/core/templates/saasAdminLayoutTsx.ts +77 -0
  216. package/src/cli/core/templates/saasAdminPagesTsx.ts +26 -0
  217. package/src/cli/core/templates/saasAuthLayoutTsx.ts +20 -0
  218. package/src/cli/core/templates/saasAuthPagesTsx.ts +62 -0
  219. package/src/cli/core/templates/saasRealmProviderTs.ts +46 -0
  220. package/src/cli/core/templates/webAppRouterTs.ts +104 -1
  221. package/src/cli/core/templates/webIndexTs.ts +23 -1
  222. package/src/cli/devtools/index.ts +12 -26
  223. package/src/cli/platform/__tests__/SecretsCommand.spec.ts +2 -0
  224. package/src/cli/platform/index.ts +15 -24
  225. package/src/cli/vendor/atoms/vendorOptions.ts +1 -1
  226. package/src/cli/vendor/index.ts +14 -23
  227. package/src/command/providers/CliProvider.ts +1 -1
  228. package/src/core/Alepha.ts +11 -1
  229. package/src/core/helpers/ref.ts +18 -0
  230. package/src/core/index.shared.ts +1 -0
  231. package/src/core/interfaces/Service.ts +3 -1
  232. package/src/core/providers/SchemaValidator.ts +9 -1
  233. package/src/core/providers/TypeProvider.ts +2 -3
  234. package/src/datetime/REFACTORING.md +118 -0
  235. package/src/datetime/providers/DateTimeProvider.ts +203 -24
  236. package/src/lock/core/index.ts +31 -0
  237. package/src/lock/core/primitives/$lock.ts +14 -1
  238. package/src/logger/services/Logger.ts +1 -1
  239. package/src/mcp/__tests__/$resource.spec.ts +1 -1
  240. package/src/mcp/__tests__/$tool.spec.ts +1 -1
  241. package/src/mcp/__tests__/McpServerProvider.spec.ts +1 -1
  242. package/src/mcp/__tests__/jsonrpc.spec.ts +1 -1
  243. package/src/mcp/helpers/jsonrpc.ts +26 -1
  244. package/src/mcp/index.ts +10 -5
  245. package/src/mcp/interfaces/McpTypes.ts +83 -6
  246. package/src/mcp/primitives/$prompt.ts +18 -1
  247. package/src/mcp/primitives/$resource.ts +18 -1
  248. package/src/mcp/primitives/$tool.ts +83 -7
  249. package/src/mcp/providers/McpServerProvider.ts +74 -16
  250. package/src/mcp/transports/StreamableHttpMcpTransport.ts +226 -0
  251. package/src/orm/REFACTORING.md +330 -0
  252. package/src/orm/__tests__/$repository-tests.ts +1 -0
  253. package/src/orm/__tests__/orm-next-tests.ts +2 -67
  254. package/src/orm/__tests__/orm-next.spec.ts +0 -21
  255. package/src/orm/core/index.shared.ts +0 -2
  256. package/src/orm/core/index.ts +1 -2
  257. package/src/orm/core/primitives/$repository.ts +3 -6
  258. package/src/orm/core/primitives/$transactional.ts +11 -0
  259. package/src/orm/core/providers/drivers/DatabaseProvider.ts +0 -5
  260. package/src/orm/core/providers/drivers/NodeSqliteProvider.ts +11 -13
  261. package/src/orm/core/schemas/updateSchema.ts +1 -1
  262. package/src/orm/core/services/ModelBuilder.ts +1 -13
  263. package/src/orm/core/services/PgRelationManager.ts +4 -2
  264. package/src/orm/core/services/Repository.ts +1 -42
  265. package/src/orm/core/services/SqliteModelBuilder.ts +2 -33
  266. package/src/orm/postgres/services/PostgresModelBuilder.ts +10 -45
  267. package/src/react/core/__tests__/useQuery.browser.spec.tsx +86 -0
  268. package/src/react/core/hooks/useQuery.ts +153 -0
  269. package/src/react/core/index.ts +1 -0
  270. package/src/react/form/services/FormModel.ts +15 -6
  271. package/src/react/form/services/parseField.ts +8 -0
  272. package/src/react/i18n/providers/I18nProvider.ts +8 -2
  273. package/src/react/intro/components/GettingStartedAuthSlide.tsx +11 -4
  274. package/src/react/router/__tests__/$page.spec.tsx +0 -16
  275. package/src/react/router/__tests__/ReactBrowserProvider.browser.spec.ts +213 -2
  276. package/src/react/router/__tests__/ssr.spec.tsx +339 -0
  277. package/src/react/router/primitives/$page.ts +28 -4
  278. package/src/react/router/providers/ReactBrowserProvider.ts +73 -0
  279. package/src/react/router/providers/ReactBrowserRouterProvider.ts +1 -1
  280. package/src/react/router/providers/ReactPageProvider.ts +27 -9
  281. package/src/react/router/providers/ReactPreloadProvider.ts +1 -1
  282. package/src/react/router/providers/ReactServerProvider.ts +1 -0
  283. package/src/react/ui/atoms/uiThemeListAtom.ts +36 -0
  284. package/src/react/ui/index.ts +6 -0
  285. package/src/react/ui/services/SchemaControl.ts +209 -0
  286. package/src/scheduler/providers/CronProvider.ts +1 -1
  287. package/src/security/primitives/$basicAuth.ts +1 -1
  288. package/src/security/primitives/$issuer.ts +6 -3
  289. package/src/server/auth/providers/ServerAuthProvider.ts +5 -1
  290. package/src/server/core/__tests__/ServerRouterProvider-serializationError.spec.ts +75 -0
  291. package/src/server/core/__tests__/ServerRouterProvider-validationError.spec.ts +306 -0
  292. package/src/server/core/errors/ValidationError.ts +13 -1
  293. package/src/server/core/interfaces/ServerRequest.ts +1 -0
  294. package/src/server/core/primitives/$action.ts +16 -5
  295. package/src/server/core/providers/ServerProvider.ts +1 -1
  296. package/src/server/core/providers/ServerRouterProvider.ts +28 -6
  297. package/src/server/core/services/HttpClient.ts +1 -1
  298. package/src/server/swagger/providers/ServerSwaggerProvider.ts +6 -8
  299. package/src/websocket/providers/NodeWebSocketServerProvider.ts +10 -4
  300. package/src/websocket/services/WebSocketClient.ts +11 -5
  301. package/src/mcp/transports/SseMcpTransport.ts +0 -182
  302. package/src/orm/core/__tests__/parseQueryString.spec.ts +0 -196
  303. package/src/orm/core/helpers/parseQueryString.ts +0 -502
  304. package/src/orm/core/primitives/$view.ts +0 -88
@@ -1,7 +1,6 @@
1
1
  import * as _$alepha from "alepha";
2
2
  import { Alepha, AlephaError, Async, KIND, Middleware, Primitive, Static, TObject, TSchema } from "alepha";
3
3
  import { DateTimeProvider } from "alepha/datetime";
4
- import { ClientOnlyProps } from "alepha/react";
5
4
  import { BrowserHeadProvider, Head, ServerHeadProvider, SimpleHead } from "alepha/react/head";
6
5
  import { ServerHandler, ServerRequest, ServerRouterProvider } from "alepha/server";
7
6
  import { LinkProvider } from "alepha/server/links";
@@ -117,6 +116,14 @@ declare class ReactPageProvider {
117
116
  }, params?: Record<string, any>): string;
118
117
  compile(path: string, params?: Record<string, string>): string;
119
118
  protected renderView(index: number, path: string, view: ReactNode | undefined, page: PageRoute): ReactNode;
119
+ /**
120
+ * Resolve the effective `ssr` value for a route by walking up the parent
121
+ * chain. Returns the nearest explicit `ssr` value, defaulting to `true`.
122
+ *
123
+ * The decision is made at the leaf: a parent's `ssr` only acts as a default
124
+ * for descendants that did not set their own value.
125
+ */
126
+ isSSR(route: PageRoute): boolean;
120
127
  protected map(pages: Array<PagePrimitive>, target: PagePrimitive): PageRouteEntry;
121
128
  add(entry: PageRouteEntry): void;
122
129
  protected createMatch(page: PageRoute): string;
@@ -478,10 +485,35 @@ interface PagePrimitiveOptions<TConfig extends PageConfigSchema = PageConfigSche
478
485
  entries?: Array<Partial<PageRequestConfig<TConfig>>>;
479
486
  };
480
487
  /**
481
- * If true, force the page to be rendered only on the client-side (browser).
482
- * It uses the `<ClientOnly/>` component to render the page.
488
+ * Enable or disable server-side rendering for this page.
489
+ *
490
+ * - `true` (default): the page component is rendered on the server and
491
+ * hydrated on the client.
492
+ * - `false`: the loader still runs on the server (so data is preloaded and
493
+ * serialized for hydration), but the component is rendered only on the
494
+ * client. The server emits no HTML for this page.
495
+ *
496
+ * **Decided at the leaf, inherited as default by descendants.**
497
+ *
498
+ * The effective value is determined by the matched leaf page: walk up the
499
+ * parent chain and use the nearest explicit `ssr` value. Setting
500
+ * `ssr: false` on a parent therefore acts as the default for its children;
501
+ * a child can override with `ssr: true`.
502
+ *
503
+ * Skipping rendering while keeping the loader is the recommended strategy
504
+ * for CPU-constrained server environments (e.g. Cloudflare Workers) and
505
+ * heavy admin/dashboard views where SSR provides little SEO value.
506
+ *
507
+ * @example
508
+ * ```ts
509
+ * root = $page({ ssr: false }); // default for children
510
+ * home = $page({ parent: root, ssr: true }); // overrides → SSR
511
+ * about = $page({ parent: root }); // inherits → no SSR
512
+ * ```
513
+ *
514
+ * @default true
483
515
  */
484
- client?: boolean | ClientOnlyProps;
516
+ ssr?: boolean;
485
517
  /**
486
518
  * Called before the server response is sent to the client. (server only)
487
519
  */
@@ -743,7 +775,7 @@ declare class ReactBrowserRouterProvider extends RouterProvider<BrowserRoute> {
743
775
  protected readonly browserHeadProvider: BrowserHeadProvider;
744
776
  add(entry: PageRouteEntry): void;
745
777
  protected readonly configure: _$alepha.HookPrimitive<"configure">;
746
- transition(url: URL, previous?: PreviousLayerData[], meta?: {}, isStale?: () => boolean): Promise<string | void>;
778
+ transition(url: URL, previous?: PreviousLayerData[], meta?: {}, isStale?: () => boolean): Promise<string | undefined>;
747
779
  root(state: ReactRouterState): ReactNode;
748
780
  }
749
781
  //#endregion
@@ -753,6 +785,16 @@ declare class ReactBrowserRouterProvider extends RouterProvider<BrowserRoute> {
753
785
  */
754
786
  declare const reactBrowserOptions: _$alepha.Atom<_$alepha.TObject<{
755
787
  scrollRestoration: _$alepha.TUnsafe<"top" | "manual">;
788
+ /**
789
+ * Intercept clicks on plain `<a href="/...">` anchors and route them
790
+ * through the SPA router, so authors don't need `<Link>` everywhere
791
+ * (notably for SSR/Markdown HTML rendered as raw markup).
792
+ *
793
+ * Skips: modifier keys, non-primary mouse buttons, `target` other than
794
+ * `_self`, `download`, `data-no-router`, non-http(s) schemes, hash-only
795
+ * hrefs, external origins, and clicks already `defaultPrevented`.
796
+ */
797
+ interceptAnchorClicks: _$alepha.TBoolean;
756
798
  }>, "alepha.react.browser.options">;
757
799
  type ReactBrowserRendererOptions = Static<typeof reactBrowserOptions.schema>;
758
800
  declare module "alepha" {
@@ -769,6 +811,7 @@ declare class ReactBrowserProvider {
769
811
  protected readonly browserHeadProvider: BrowserHeadProvider;
770
812
  protected readonly options: Readonly<{
771
813
  scrollRestoration: "top" | "manual";
814
+ interceptAnchorClicks: boolean;
772
815
  }>;
773
816
  get rootId(): string;
774
817
  protected getRootElement(): HTMLElement;
@@ -811,6 +854,16 @@ declare class ReactBrowserProvider {
811
854
  protected getHydrationState(): ReactHydrationState | undefined;
812
855
  protected readonly onTransitionEnd: _$alepha.HookPrimitive<"react:transition:end">;
813
856
  readonly ready: _$alepha.HookPrimitive<"ready">;
857
+ /**
858
+ * Attach a delegated click listener that routes plain `<a href="/...">`
859
+ * clicks through the SPA router. Returns a detach function (used in tests).
860
+ *
861
+ * Bails out on modifier keys, non-primary mouse buttons, `target`, `download`,
862
+ * `data-no-router`, hash-only/external/non-http hrefs, and already-prevented
863
+ * events. Honors the runtime `interceptAnchorClicks` flag.
864
+ */
865
+ protected attachAnchorInterceptor(): () => void;
866
+ protected stripBase(path: string): string;
814
867
  }
815
868
  type ReactHydrationState = {
816
869
  "alepha.react.router.layers"?: Array<PreviousLayerData>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/react/router/constants/PAGE_PRELOAD_KEY.ts","../../../src/react/router/errors/Redirection.ts","../../../src/react/router/providers/ReactPageProvider.ts","../../../src/react/router/services/ReactPageService.ts","../../../src/react/router/primitives/$page.ts","../../../src/react/router/services/ReactRouter.ts","../../../src/react/router/providers/ReactBrowserRouterProvider.ts","../../../src/react/router/providers/ReactBrowserProvider.ts","../../../src/react/router/components/ErrorViewer.tsx","../../../src/react/router/components/Link.tsx","../../../src/react/router/components/NestedView.tsx","../../../src/react/router/components/NotFound.tsx","../../../src/react/router/contexts/RouterLayerContext.ts","../../../src/react/router/hooks/useActive.ts","../../../src/react/router/hooks/useQueryParams.ts","../../../src/react/router/hooks/useRouter.ts","../../../src/react/router/hooks/useRouterState.ts","../../../src/react/router/atoms/ssrManifestAtom.ts","../../../src/react/router/providers/SSRManifestProvider.ts","../../../src/react/router/providers/ReactPreloadProvider.ts","../../../src/react/router/providers/ReactServerTemplateProvider.ts","../../../src/react/router/providers/ReactServerProvider.ts","../../../src/react/router/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/react/router/constants/PAGE_PRELOAD_KEY.ts","../../../src/react/router/errors/Redirection.ts","../../../src/react/router/providers/ReactPageProvider.ts","../../../src/react/router/services/ReactPageService.ts","../../../src/react/router/primitives/$page.ts","../../../src/react/router/services/ReactRouter.ts","../../../src/react/router/providers/ReactBrowserRouterProvider.ts","../../../src/react/router/providers/ReactBrowserProvider.ts","../../../src/react/router/components/ErrorViewer.tsx","../../../src/react/router/components/Link.tsx","../../../src/react/router/components/NestedView.tsx","../../../src/react/router/components/NotFound.tsx","../../../src/react/router/contexts/RouterLayerContext.ts","../../../src/react/router/hooks/useActive.ts","../../../src/react/router/hooks/useQueryParams.ts","../../../src/react/router/hooks/useRouter.ts","../../../src/react/router/hooks/useRouterState.ts","../../../src/react/router/atoms/ssrManifestAtom.ts","../../../src/react/router/providers/SSRManifestProvider.ts","../../../src/react/router/providers/ReactPreloadProvider.ts","../../../src/react/router/providers/ReactServerTemplateProvider.ts","../../../src/react/router/providers/ReactServerProvider.ts","../../../src/react/router/index.ts"],"mappings":"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"}
@@ -715,7 +715,19 @@ const reactPageOptions = $atom({
715
715
  name: "alepha.react.page.options",
716
716
  description: "Configuration options for the React page provider.",
717
717
  schema: t.object({
718
+ /**
719
+ * Enable React StrictMode wrapper.
720
+ */
718
721
  strictMode: t.boolean({ default: true }),
722
+ /**
723
+ * RegExp pattern (as string) to detect file-like URLs (e.g. /hello.txt, /wp-login.php).
724
+ * When a request hits the catch-all wildcard route and matches this pattern,
725
+ * SSR is skipped and a plain 404 response is returned instead.
726
+ *
727
+ * Set to empty string to disable this behavior.
728
+ *
729
+ * @default "\\.[a-zA-Z0-9]{1,10}$"
730
+ */
719
731
  staticFilePattern: t.string()
720
732
  }),
721
733
  default: {
@@ -953,6 +965,10 @@ var ReactPageProvider = class {
953
965
  throw e;
954
966
  }
955
967
  }
968
+ if (state.layers.length > 0 && !this.isSSR(route)) {
969
+ const rootLayer = state.layers[0];
970
+ rootLayer.element = createElement(ClientOnly, {}, rootLayer.element);
971
+ }
956
972
  return { state };
957
973
  }
958
974
  getErrorHandler(route) {
@@ -1029,12 +1045,26 @@ var ReactPageProvider = class {
1029
1045
  }
1030
1046
  renderView(index, path, view, page) {
1031
1047
  view ??= this.renderEmptyView();
1032
- const element = page.client ? createElement(ClientOnly, typeof page.client === "object" ? page.client : {}, view) : view;
1033
1048
  return createElement(RouterLayerContext.Provider, { value: {
1034
1049
  index,
1035
1050
  path,
1036
1051
  onError: this.getErrorHandler(page) ?? ((error) => this.renderError(error))
1037
- } }, element);
1052
+ } }, view);
1053
+ }
1054
+ /**
1055
+ * Resolve the effective `ssr` value for a route by walking up the parent
1056
+ * chain. Returns the nearest explicit `ssr` value, defaulting to `true`.
1057
+ *
1058
+ * The decision is made at the leaf: a parent's `ssr` only acts as a default
1059
+ * for descendants that did not set their own value.
1060
+ */
1061
+ isSSR(route) {
1062
+ let current = route;
1063
+ while (current) {
1064
+ if (typeof current.ssr === "boolean") return current.ssr;
1065
+ current = current.parent;
1066
+ }
1067
+ return true;
1038
1068
  }
1039
1069
  map(pages, target) {
1040
1070
  const children = target.options.children ? Array.isArray(target.options.children) ? target.options.children : target.options.children() : [];
@@ -1096,15 +1126,38 @@ const ssrManifestAtom = $atom({
1096
1126
  name: "alepha.react.ssr.manifest",
1097
1127
  description: "SSR manifest for module preloading",
1098
1128
  schema: t.object({
1129
+ /**
1130
+ * Base path for assets (from Vite's base config).
1131
+ * Used to prefix asset URLs when serving from a subpath.
1132
+ * @example "/devtools" or "/"
1133
+ */
1099
1134
  base: t.optional(t.string()),
1135
+ /**
1136
+ * Preload manifest mapping short keys to source paths.
1137
+ * Generated by viteAlephaSsrPreload plugin at build time.
1138
+ */
1100
1139
  preload: t.optional(t.record(t.string(), t.string())),
1140
+ /**
1141
+ * Client manifest mapping source files to their output information.
1142
+ * Only includes fields actually used for preloading.
1143
+ */
1101
1144
  client: t.optional(t.record(t.string(), t.object({
1102
1145
  file: t.string(),
1103
1146
  isEntry: t.optional(t.boolean()),
1104
1147
  imports: t.optional(t.array(t.string())),
1105
1148
  css: t.optional(t.array(t.string()))
1106
1149
  }))),
1150
+ /**
1151
+ * Dev mode head content.
1152
+ * Contains pre-transformed scripts injected by Vite and plugins (React, etc.).
1153
+ * Only set in dev mode via ViteDevServerProvider.
1154
+ */
1107
1155
  devHead: t.optional(t.string()),
1156
+ /**
1157
+ * Auto-detected favicon path and MIME type.
1158
+ * Format: "type:path" (e.g., "image/svg+xml:/favicon.svg").
1159
+ * Set at build/dev time by scanning the public directory.
1160
+ */
1108
1161
  favicon: t.optional(t.string())
1109
1162
  }),
1110
1163
  default: {}
@@ -1361,8 +1414,7 @@ var ReactPreloadProvider = class {
1361
1414
  on: "server:onResponse",
1362
1415
  priority: "first",
1363
1416
  handler: ({ response }) => {
1364
- const contentType = response.headers["content-type"];
1365
- if (!contentType || !contentType.includes("text/html")) return;
1417
+ if (!response.headers["content-type"]?.includes("text/html")) return;
1366
1418
  const linkHeader = this.getLinkHeader();
1367
1419
  if (!linkHeader) return;
1368
1420
  if (response.headers.link) response.headers.link = `${response.headers.link}, ${linkHeader}`;
@@ -2180,8 +2232,23 @@ var ReactBrowserRouterProvider = class extends RouterProvider {
2180
2232
  */
2181
2233
  const reactBrowserOptions = $atom({
2182
2234
  name: "alepha.react.browser.options",
2183
- schema: t.object({ scrollRestoration: t.enum(["top", "manual"]) }),
2184
- default: { scrollRestoration: "top" }
2235
+ schema: t.object({
2236
+ scrollRestoration: t.enum(["top", "manual"]),
2237
+ /**
2238
+ * Intercept clicks on plain `<a href="/...">` anchors and route them
2239
+ * through the SPA router, so authors don't need `<Link>` everywhere
2240
+ * (notably for SSR/Markdown HTML rendered as raw markup).
2241
+ *
2242
+ * Skips: modifier keys, non-primary mouse buttons, `target` other than
2243
+ * `_self`, `download`, `data-no-router`, non-http(s) schemes, hash-only
2244
+ * hrefs, external origins, and clicks already `defaultPrevented`.
2245
+ */
2246
+ interceptAnchorClicks: t.boolean({ default: true })
2247
+ }),
2248
+ default: {
2249
+ scrollRestoration: "top",
2250
+ interceptAnchorClicks: true
2251
+ }
2185
2252
  });
2186
2253
  var ReactBrowserProvider = class {
2187
2254
  log = $logger();
@@ -2356,8 +2423,57 @@ var ReactBrowserProvider = class {
2356
2423
  this.log.debug("Popstate event triggered - rendering new state", { url: this.location.pathname + this.location.search });
2357
2424
  this.render();
2358
2425
  });
2426
+ this.attachAnchorInterceptor();
2359
2427
  }
2360
2428
  });
2429
+ /**
2430
+ * Attach a delegated click listener that routes plain `<a href="/...">`
2431
+ * clicks through the SPA router. Returns a detach function (used in tests).
2432
+ *
2433
+ * Bails out on modifier keys, non-primary mouse buttons, `target`, `download`,
2434
+ * `data-no-router`, hash-only/external/non-http hrefs, and already-prevented
2435
+ * events. Honors the runtime `interceptAnchorClicks` flag.
2436
+ */
2437
+ attachAnchorInterceptor() {
2438
+ const onClick = (ev) => {
2439
+ if (!this.options.interceptAnchorClicks) return;
2440
+ if (ev.defaultPrevented) return;
2441
+ if (ev.button !== 0) return;
2442
+ if (ev.metaKey || ev.ctrlKey || ev.shiftKey || ev.altKey) return;
2443
+ const a = ev.target?.closest?.("a");
2444
+ if (!a) return;
2445
+ if (a.hasAttribute("download")) return;
2446
+ if (a.hasAttribute("data-no-router")) return;
2447
+ const target = a.getAttribute("target");
2448
+ if (target && target !== "_self") return;
2449
+ const href = a.getAttribute("href");
2450
+ if (!href) return;
2451
+ if (href.startsWith("#")) return;
2452
+ if (/^[a-z][a-z0-9+.-]*:/i.test(href)) {
2453
+ let url;
2454
+ try {
2455
+ url = new URL(href);
2456
+ } catch {
2457
+ return;
2458
+ }
2459
+ if (url.origin !== this.location.origin) return;
2460
+ ev.preventDefault();
2461
+ const path = url.pathname + url.search + url.hash;
2462
+ this.push(this.stripBase(path)).catch((e) => this.log.error(e));
2463
+ return;
2464
+ }
2465
+ ev.preventDefault();
2466
+ const url = new URL(href, this.location.href);
2467
+ const path = url.pathname + url.search + url.hash;
2468
+ this.push(this.stripBase(path)).catch((e) => this.log.error(e));
2469
+ };
2470
+ this.document.addEventListener("click", onClick);
2471
+ return () => this.document.removeEventListener("click", onClick);
2472
+ }
2473
+ stripBase(path) {
2474
+ if (this.base && path.startsWith(this.base)) return path.slice(this.base.length) || "/";
2475
+ return path;
2476
+ }
2361
2477
  };
2362
2478
  //#endregion
2363
2479
  //#region ../../src/react/router/services/ReactRouter.ts