@rshono/core 1.0.0-rc.6 → 1.0.0-rc.7

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 (39) hide show
  1. package/README.md +165 -164
  2. package/dist/config.d.ts +45 -1
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +17 -1
  5. package/dist/config.js.map +1 -1
  6. package/dist/deploy/contract.d.ts +12 -7
  7. package/dist/deploy/contract.d.ts.map +1 -1
  8. package/dist/deploy/contract.js.map +1 -1
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/router.d.ts +67 -24
  14. package/dist/router.d.ts.map +1 -1
  15. package/dist/router.js.map +1 -1
  16. package/dist/runtime/boundaries.d.ts +10 -0
  17. package/dist/runtime/boundaries.d.ts.map +1 -1
  18. package/dist/runtime/boundaries.js +6 -0
  19. package/dist/runtime/boundaries.js.map +1 -1
  20. package/dist/runtime/client.d.ts +5 -3
  21. package/dist/runtime/client.d.ts.map +1 -1
  22. package/dist/runtime/client.js +5 -3
  23. package/dist/runtime/client.js.map +1 -1
  24. package/dist/runtime/context.d.ts +165 -23
  25. package/dist/runtime/context.d.ts.map +1 -1
  26. package/dist/runtime/context.js +244 -24
  27. package/dist/runtime/context.js.map +1 -1
  28. package/dist/runtime/entry.rsc.d.ts.map +1 -1
  29. package/dist/runtime/entry.rsc.js +7 -2
  30. package/dist/runtime/entry.rsc.js.map +1 -1
  31. package/dist/runtime/navigation.d.ts +11 -0
  32. package/dist/runtime/navigation.d.ts.map +1 -1
  33. package/dist/runtime/navigation.js +3 -0
  34. package/dist/runtime/navigation.js.map +1 -1
  35. package/dist/runtime/server.d.ts +4 -10
  36. package/dist/runtime/server.d.ts.map +1 -1
  37. package/dist/runtime/server.js +10 -10
  38. package/dist/runtime/server.js.map +1 -1
  39. package/package.json +1 -1
@@ -1,13 +1,15 @@
1
1
  /**
2
2
  * `@rshono/core/client` — the browser-side surface, for use from `'use client'`
3
- * modules: {@link useNavigation} for the current URL and soft navigation, and
4
- * {@link AsyncBoundary} / {@link CatchBoundary} as components.
3
+ * modules: `useNavigation()` for the current URL and soft navigation, and
4
+ * `<AsyncBoundary>` / `<CatchBoundary>` as components.
5
5
  *
6
6
  * Every export is itself a `'use client'` module, so a server component can
7
- * render {@link AsyncBoundary} directly — but the hook needs a client component. In a
7
+ * render `<AsyncBoundary>` directly — but the hook needs a client component. In a
8
8
  * server component, read the same request data from `getRequestContext()` in
9
9
  * `@rshono/core/server`.
10
10
  *
11
+ * @see {@link https://www.rshono.com/docs/api#rshonocoreclient | Docs — `@rshono/core/client`}
12
+ *
11
13
  * @packageDocumentation
12
14
  */
13
15
  export { useNavigation } from './navigation.js';
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAA+C,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,aAAa,EAAwE,MAAM,iBAAiB,CAAC","sourcesContent":["/**\n * `@rshono/core/client` — the browser-side surface, for use from `'use client'`\n * modules: {@link useNavigation} for the current URL and soft navigation, and\n * {@link AsyncBoundary} / {@link CatchBoundary} as components.\n *\n * Every export is itself a `'use client'` module, so a server component can\n * render {@link AsyncBoundary} directly — but the hook needs a client component. In a\n * server component, read the same request data from `getRequestContext()` in\n * `@rshono/core/server`.\n *\n * @packageDocumentation\n */\n\nexport { useNavigation, type NavigationRouter, type NavigationState } from './navigation.js';\nexport { AsyncBoundary, CatchBoundary, type AsyncBoundaryProps, type CatchBoundaryProps, type ErrorFallback } from './boundaries.js';\n"]}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAA+C,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,aAAa,EAAwE,MAAM,iBAAiB,CAAC","sourcesContent":["/**\n * `@rshono/core/client` — the browser-side surface, for use from `'use client'`\n * modules: `useNavigation()` for the current URL and soft navigation, and\n * `<AsyncBoundary>` / `<CatchBoundary>` as components.\n *\n * Every export is itself a `'use client'` module, so a server component can\n * render `<AsyncBoundary>` directly — but the hook needs a client component. In a\n * server component, read the same request data from `getRequestContext()` in\n * `@rshono/core/server`.\n *\n * @see {@link https://www.rshono.com/docs/api#rshonocoreclient | Docs — `@rshono/core/client`}\n *\n * @packageDocumentation\n */\n\nexport { useNavigation, type NavigationRouter, type NavigationState } from './navigation.js';\nexport { AsyncBoundary, CatchBoundary, type AsyncBoundaryProps, type CatchBoundaryProps, type ErrorFallback } from './boundaries.js';\n"]}
@@ -18,8 +18,21 @@ import type { CookieOptions } from 'hono/utils/cookie';
18
18
  * - `302` Found, `307` Temporary Redirect — temporary.
19
19
  * - `303` See Other — the default; forces a `GET` on the target, which is what
20
20
  * you almost always want after a form action (post/redirect/get).
21
+ *
22
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status#redirection_messages | MDN — redirection status codes}
21
23
  */
22
24
  export type RedirectStatus = 301 | 302 | 303 | 307 | 308;
25
+ /**
26
+ * Marks the request as having entered its page render, which is what makes
27
+ * {@link RequestContext.setHeader} and `ctx.cookies.set()` start throwing.
28
+ *
29
+ * Framework internal — `renderComponent` calls this immediately before handing the page to React.
30
+ * Everything that legitimately writes to the response (middleware, a `'use server'` action, an
31
+ * endpoint route) has already run by then, so none of them are affected.
32
+ *
33
+ * @internal
34
+ */
35
+ export declare function beginPageRender(c: Context): void;
23
36
  /**
24
37
  * Runs `fn` with the given Hono {@link Context} bound as the ambient request
25
38
  * context, so that {@link getRequestContext} resolves to it anywhere in the call tree.
@@ -36,7 +49,8 @@ export declare function runWithContext<T>(c: Context, fn: () => T): T;
36
49
  * one place.
37
50
  *
38
51
  * Framework internal — the request renderer calls this to build a page's `params`
39
- * prop. Read them from that prop (or `ctx.raw.req.param()` outside a page) instead.
52
+ * prop, and {@link RequestContext.params} caches it. Read them from that prop, or
53
+ * from `ctx.params` outside a page.
40
54
  *
41
55
  * @internal
42
56
  */
@@ -60,6 +74,8 @@ export declare function publicUrl(c: Context): URL;
60
74
  * The environment available to a request: Cloudflare/Workers `Bindings` merged
61
75
  * with process env vars. Values not declared in `Bindings` are typed as
62
76
  * `string | undefined`. See {@link RequestContext.env}.
77
+ *
78
+ * @see {@link https://hono.dev/docs/getting-started/cloudflare-workers#bindings | Hono — bindings}
63
79
  */
64
80
  export type EnvVars<E extends Env> = E['Bindings'] & Record<string, string | undefined>;
65
81
  /**
@@ -84,37 +100,89 @@ export type EnvVars<E extends Env> = E['Bindings'] & Record<string, string | und
84
100
  * return <p>{ctx.url.pathname} — {session ?? 'anonymous'}</p>;
85
101
  * }
86
102
  * ```
103
+ *
104
+ * @see {@link https://www.rshono.com/docs/api#rshonocoreserver | Docs — `@rshono/core/server`}
105
+ * @see {@link https://hono.dev/docs/api/context | Hono — Context}, reachable in full via {@link RequestContext.hono}
87
106
  */
88
107
  export declare class RequestContext<E extends Env = Env> {
89
108
  #private;
109
+ /**
110
+ * Framework internal — one instance is created per request and handed to you by
111
+ * {@link getRequestContext} or the `ctx` page prop. Application code never calls this.
112
+ *
113
+ * @internal
114
+ */
90
115
  constructor(c: Context<E>);
91
116
  /**
92
- * The underlying Hono {@link Context}. Escape hatch for anything this wrapper does not expose — and
93
- * deliberately most things. `req`, `method`, `params` and a `header()` setter used to sit on this class
94
- * as one-line pass-throughs to `c.req`, `c.req.method`, `c.req.param()` and `c.header()`; they are
95
- * reachable through here (`ctx.raw.req`, `ctx.raw.header(…)`) and adding no name of their own is the
96
- * point. What stays below is what this wrapper actually *does*: a proxy-aware cached URL, an env that
97
- * merges runtime bindings over process env, and cookies without a second import.
117
+ * The underlying Hono {@link Context} — the escape hatch for the long tail this wrapper does not
118
+ * expose. Everything a page or action actually reaches for has a home of its own now
119
+ * ({@link RequestContext.req}, {@link RequestContext.params}, {@link RequestContext.setHeader}), so
120
+ * this is for what is left: `executionCtx.waitUntil()` on Workers, and whatever Hono adds next.
121
+ *
122
+ * Be aware that the response builders on it (`redirect`, `notFound`, `json`, `body`, `status`, …)
123
+ * still do nothing from inside a page, for the reason the stubs on this class explain — reaching
124
+ * them through here bypasses the error, it does not make them work.
125
+ *
126
+ * @example
127
+ * ```ts
128
+ * getRequestContext().hono.executionCtx.waitUntil(logAsync()); // Workers
129
+ * ```
130
+ *
131
+ * @see {@link https://hono.dev/docs/api/context | Hono — Context}
132
+ */
133
+ get hono(): Context<E>;
134
+ /**
135
+ * The parsed request — method, headers, path params, query and the body readers. Hono's
136
+ * {@link Context.req}, unwrapped, so `ctx.req.header('authorization')` rather than
137
+ * `ctx.hono.req.header(…)`.
138
+ *
139
+ * Reads only. Setting a response header is {@link RequestContext.setHeader}, which is a different
140
+ * thing living in a different place on purpose — Hono's `c.header()` writing the *response* while
141
+ * `c.req.header()` reads the *request* is a well-worn source of confusion.
142
+ *
143
+ * @example
144
+ * ```ts
145
+ * const ctx = getRequestContext();
146
+ * ctx.req.method; // 'GET'
147
+ * ctx.req.header('authorization'); // string | undefined
148
+ * ctx.req.query('tab'); // string | undefined
149
+ * ```
150
+ *
151
+ * @see {@link https://hono.dev/docs/api/request | Hono — HonoRequest}
152
+ */
153
+ get req(): Context<E>['req'];
154
+ /**
155
+ * Matched route params for this request, e.g. `{ id: '42' }` for `/profile/:id`.
98
156
  *
99
- * A getter over a private field rather than a plain property, so it is not an *own enumerable*
100
- * one — which matters more than it looks. React's diagnostic for a value that cannot be sent to a
101
- * client component (`describeObjectForErrorMessage`) walks `Object.keys` recursively with no depth
102
- * limit and no cycle guard, and the Hono context graph reaches the socket and the whole server
103
- * through `req.raw` and `env`. While this was a plain property, passing a `RequestContext` to a `'use client'`
104
- * component blew the stack *inside that message builder* — so React's actual, accurate "you cannot
105
- * pass this" error never got printed. Hidden from `Object.keys`, the walk stops here.
157
+ * A **page** is handed these as its `params` prop, typed key-by-key from its route path, and that
158
+ * is the better read where it is available. This is the same record for everywhere else — a nested
159
+ * server component, or a `'use server'` action — which get no props from the framework. Empty when
160
+ * there is no active route match rather than throwing.
106
161
  */
107
- get raw(): Context<E>;
162
+ get params(): Record<string, string>;
108
163
  /**
109
- * The browser-facing request URL, proxy-header aware (see {@link publicUrl}) —
110
- * read `url.pathname`, `url.searchParams` and the rest off it. Parsed once and
111
- * cached, so the same instance comes back on every read within a request; treat
112
- * it as read-only for that reason.
164
+ * The browser-facing request URL — read `url.pathname`, `url.searchParams` and the
165
+ * rest off it. Parsed once and cached, so the same instance comes back on every
166
+ * read within a request; treat it as read-only for that reason.
167
+ *
168
+ * `X-Forwarded-Host` / `-Proto` are honoured only when `trustProxy` is enabled in
169
+ * `rshono.config.ts`, since any client can send them.
170
+ *
171
+ * @see {@link https://www.rshono.com/docs/configuration#proxy-headers | Docs — proxy headers}
113
172
  */
114
173
  get url(): URL;
115
174
  /**
116
175
  * Typed variables set by middleware via `c.set('user', …)`, read here as
117
176
  * `ctx.var.user`. Type them by parameterising this class's {@link Env}.
177
+ *
178
+ * @example
179
+ * ```ts
180
+ * type AppEnv = { Variables: { user: { id: string } } };
181
+ * const { user } = getRequestContext<AppEnv>().var; // typed, set by your middleware
182
+ * ```
183
+ *
184
+ * @see {@link https://hono.dev/docs/api/context#var | Hono — c.var}
185
+ * @see {@link https://www.rshono.com/docs/hono#typing-the-context | Docs — typing the context}
118
186
  */
119
187
  get var(): Readonly<E['Variables']>;
120
188
  /**
@@ -122,6 +190,9 @@ export declare class RequestContext<E extends Env = Env> {
122
190
  * (bindings win on conflict). Computed once and cached.
123
191
  *
124
192
  * @example `const key = getRequestContext().env.STRIPE_SECRET_KEY;`
193
+ *
194
+ * @see {@link https://hono.dev/docs/api/context#env | Hono — c.env}
195
+ * @see {@link https://www.rshono.com/docs/configuration#environment-and-secrets | Docs — environment and secrets}
125
196
  */
126
197
  get env(): EnvVars<E>;
127
198
  /**
@@ -134,17 +205,84 @@ export declare class RequestContext<E extends Env = Env> {
134
205
  * ctx.cookies.set('session', id, { httpOnly: true, sameSite: 'Lax', path: '/' });
135
206
  * ctx.cookies.delete('session', { path: '/' });
136
207
  * ```
208
+ *
209
+ * @see {@link https://hono.dev/docs/helpers/cookie | Hono — cookie helper}, which this wraps
137
210
  */
138
211
  cookies: {
139
- /** Reads a single cookie by name, or `undefined` if absent. */
212
+ /** Reads a single cookie by name, or `undefined` if absent. Safe anywhere, a page included. */
140
213
  get: (name: string) => string | undefined;
141
- /** Reads every cookie as a `{ name: value }` record. */
214
+ /** Reads every cookie as a `{ name: value }` record. Safe anywhere, a page included. */
142
215
  all: () => Record<string, string>;
143
- /** Sets a cookie on the response. See Hono's {@link CookieOptions} for `path`, `httpOnly`, `maxAge`, etc. */
216
+ /**
217
+ * Sets a cookie on the response. See Hono's {@link CookieOptions} for `path`, `httpOnly`,
218
+ * `maxAge`, etc.
219
+ *
220
+ * **Throws inside a page render** — see {@link RequestContext.setHeader}, of which a `Set-Cookie`
221
+ * is a special case. Set cookies from a `'use server'` action, or with Hono's `setCookie(c, …)`
222
+ * in middleware and endpoint routes.
223
+ *
224
+ * @throws If called while a page is rendering, where it could not reach the browser reliably.
225
+ *
226
+ * @see {@link https://hono.dev/docs/helpers/cookie#options | Hono — cookie options}
227
+ */
144
228
  set: (name: string, value: string, options?: CookieOptions) => void;
145
- /** Clears a cookie. Pass the same `path`/`domain` it was set with so the browser matches it. */
229
+ /**
230
+ * Clears a cookie. Pass the same `path`/`domain` it was set with so the browser matches it.
231
+ * Throws inside a page render, exactly as `set` does.
232
+ *
233
+ * @throws If called while a page is rendering.
234
+ */
146
235
  delete: (name: string, options?: CookieOptions) => void;
147
236
  };
237
+ /**
238
+ * Sets a header on the response — from a `'use server'` action, which is the one place a request
239
+ * context exists *and* the response is still open.
240
+ *
241
+ * From inside a page it throws. By then the response head is committed: a page streams, and on a
242
+ * soft navigation the flight response is built before the component's first line runs. Hono's
243
+ * `c.header()` fails there silently and inconsistently — landing on a full page load, vanishing on
244
+ * a soft navigation — so this refuses rather than doing it half the time.
245
+ *
246
+ * Middleware and `{ type: 'endpoint' }` routes run outside the request context (no
247
+ * {@link getRequestContext} there) but are handed Hono's `c` directly, so they set headers with
248
+ * `c.header(…)`. That is also where a header belonging to the *page* rather than to one action
249
+ * goes — `Cache-Control`, `X-Robots-Tag` — since middleware runs before the render.
250
+ *
251
+ * @param name - Header name, case-insensitive.
252
+ * @param value - Header value.
253
+ * @param options - `{ append: true }` to add another value rather than replace.
254
+ * @throws If called while a page is rendering, where it could not reach the browser reliably.
255
+ *
256
+ * @example
257
+ * ```ts
258
+ * 'use server';
259
+ * export async function logout() {
260
+ * const ctx = getRequestContext();
261
+ * ctx.cookies.delete('session', { path: '/' });
262
+ * ctx.setHeader('clear-site-data', '"cache", "storage"');
263
+ * redirect('/');
264
+ * }
265
+ * ```
266
+ */
267
+ setHeader(name: string, value: string, options?: {
268
+ append?: boolean;
269
+ }): void;
270
+ /** @deprecated Not available on a page's context — use `redirect()` from `@rshono/core/server`. */
271
+ redirect(...args: unknown[]): never;
272
+ /** @deprecated Not available on a page's context — use `notFound()` from `@rshono/core/server`. */
273
+ notFound(...args: unknown[]): never;
274
+ /** @deprecated A page renders JSX. For a JSON response, use an `{ type: 'endpoint' }` route. */
275
+ json(...args: unknown[]): never;
276
+ /** @deprecated A page renders JSX. For a text response, use an `{ type: 'endpoint' }` route. */
277
+ text(...args: unknown[]): never;
278
+ /** @deprecated A page renders JSX, which the framework turns into HTML for you. */
279
+ html(...args: unknown[]): never;
280
+ /** @deprecated Not available on a page's context. To read the request body, use `ctx.req`. */
281
+ body(...args: unknown[]): never;
282
+ /** @deprecated A page's status is set by the framework — use `notFound()`, or an endpoint route. */
283
+ status(...args: unknown[]): never;
284
+ /** @deprecated Renamed — use `ctx.setHeader(name, value)`, which is valid from a `'use server'` action. */
285
+ header(...args: unknown[]): never;
148
286
  }
149
287
  /**
150
288
  * Returns the {@link RequestContext} for the current request.
@@ -173,6 +311,8 @@ export declare class RequestContext<E extends Env = Env> {
173
311
  * redirect('/dashboard');
174
312
  * }
175
313
  * ```
314
+ *
315
+ * @see {@link https://www.rshono.com/docs/api#rshonocoreserver | Docs — `@rshono/core/server`}
176
316
  */
177
317
  export declare function getRequestContext<E extends Env = Env>(): RequestContext<E>;
178
318
  /**
@@ -251,6 +391,8 @@ export type ServerErrorHandler = (error: unknown, context: ServerErrorContext) =
251
391
  * Sentry.captureException(error, { tags: { source }, extra: { url: request.url } });
252
392
  * });
253
393
  * ```
394
+ *
395
+ * @see {@link https://www.rshono.com/docs/hono#error-reporting | Docs — error reporting}
254
396
  */
255
397
  export declare function onServerError(handler: ServerErrorHandler): void;
256
398
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/runtime/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/runtime/context.ts"],"names":[],"mappings":"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"}