@alxia/react-router 0.10.0 → 0.12.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.
- package/README.md +370 -20
- package/dist/chunks/index-5rt6hnhn.js +42 -0
- package/dist/chunks/index-5rt6hnhn.js.map +11 -0
- package/dist/chunks/{index-mppz0806.js → index-6jf7zpxz.js} +5 -5
- package/dist/chunks/{index-mppz0806.js.map → index-6jf7zpxz.js.map} +1 -1
- package/dist/chunks/index-y6vpnjr3.js +123 -0
- package/dist/chunks/index-y6vpnjr3.js.map +14 -0
- package/dist/context.d.ts +0 -7
- package/dist/context.d.ts.map +1 -1
- package/dist/document/index.d.ts +11 -0
- package/dist/document/index.d.ts.map +1 -0
- package/dist/document/index.js +19 -0
- package/dist/document/index.js.map +9 -0
- package/dist/document/inline-script.d.ts +27 -0
- package/dist/document/inline-script.d.ts.map +1 -0
- package/dist/document/language-store.d.ts +8 -0
- package/dist/document/language-store.d.ts.map +1 -0
- package/dist/document/nonce.d.ts +34 -0
- package/dist/document/nonce.d.ts.map +1 -0
- package/dist/document/page-language.d.ts +39 -0
- package/dist/document/page-language.d.ts.map +1 -0
- package/dist/document/text-direction.d.ts +10 -0
- package/dist/document/text-direction.d.ts.map +1 -0
- package/dist/entry/abort.d.ts +21 -0
- package/dist/entry/abort.d.ts.map +1 -0
- package/dist/entry/create-entry.d.ts +32 -0
- package/dist/entry/create-entry.d.ts.map +1 -0
- package/dist/entry/index.d.ts +8 -0
- package/dist/entry/index.d.ts.map +1 -0
- package/dist/entry/index.js +128 -0
- package/dist/entry/index.js.map +12 -0
- package/dist/entry/whole-page.d.ts +10 -0
- package/dist/entry/whole-page.d.ts.map +1 -0
- package/dist/errors/api-error.d.ts +86 -0
- package/dist/errors/api-error.d.ts.map +1 -0
- package/dist/errors/api-errors.d.ts +96 -0
- package/dist/errors/api-errors.d.ts.map +1 -0
- package/dist/errors/call-failure.d.ts +45 -0
- package/dist/errors/call-failure.d.ts.map +1 -0
- package/dist/errors/catalogue-check.d.ts +24 -0
- package/dist/errors/catalogue-check.d.ts.map +1 -0
- package/dist/errors/catalogue-read.d.ts +33 -0
- package/dist/errors/catalogue-read.d.ts.map +1 -0
- package/dist/errors/catalogue.d.ts +59 -0
- package/dist/errors/catalogue.d.ts.map +1 -0
- package/dist/errors/code-resolver.d.ts +44 -0
- package/dist/errors/code-resolver.d.ts.map +1 -0
- package/dist/errors/describe-refusal.d.ts +6 -0
- package/dist/errors/describe-refusal.d.ts.map +1 -0
- package/dist/errors/describe.d.ts +3 -0
- package/dist/errors/describe.d.ts.map +1 -0
- package/dist/errors/fetcher-result.d.ts +21 -0
- package/dist/errors/fetcher-result.d.ts.map +1 -0
- package/dist/errors/form-errors.d.ts +8 -0
- package/dist/errors/form-errors.d.ts.map +1 -0
- package/dist/errors/index.d.ts +15 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +602 -0
- package/dist/errors/index.js.map +29 -0
- package/dist/errors/json-actions.d.ts +38 -0
- package/dist/errors/json-actions.d.ts.map +1 -0
- package/dist/errors/log.d.ts +8 -0
- package/dist/errors/log.d.ts.map +1 -0
- package/dist/errors/message-values.d.ts +11 -0
- package/dist/errors/message-values.d.ts.map +1 -0
- package/dist/errors/messages.d.ts +63 -0
- package/dist/errors/messages.d.ts.map +1 -0
- package/dist/errors/page-path.d.ts +9 -0
- package/dist/errors/page-path.d.ts.map +1 -0
- package/dist/errors/provider.d.ts +20 -0
- package/dist/errors/provider.d.ts.map +1 -0
- package/dist/errors/request-id.d.ts +5 -0
- package/dist/errors/request-id.d.ts.map +1 -0
- package/dist/errors/route-error.d.ts +31 -0
- package/dist/errors/route-error.d.ts.map +1 -0
- package/dist/errors/standard-schema.d.ts +34 -0
- package/dist/errors/standard-schema.d.ts.map +1 -0
- package/dist/errors/submit-form.d.ts +16 -0
- package/dist/errors/submit-form.d.ts.map +1 -0
- package/dist/errors/use-json-fetcher.d.ts +18 -0
- package/dist/errors/use-json-fetcher.d.ts.map +1 -0
- package/dist/index.js +13 -34
- package/dist/index.js.map +3 -5
- package/dist/pwa/build/index.js +1 -1
- package/dist/pwa/index.js +6 -6
- package/dist/pwa/index.js.map +1 -1
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +29 -2
- package/dist/vite/index.js.map +5 -4
- package/dist/vite/inline.d.ts +18 -0
- package/dist/vite/inline.d.ts.map +1 -0
- package/docs/README.md +3 -1
- package/docs/guide/csp-nonce.md +35 -3
- package/docs/guide/document.md +310 -0
- package/docs/guide/errors.md +838 -0
- package/docs/roadmap.md +36 -1
- package/docs/troubleshooting.md +712 -1
- package/package.json +33 -3
package/docs/roadmap.md
CHANGED
|
@@ -7,7 +7,7 @@ number on it. Every release, with each change it made, is in
|
|
|
7
7
|
|
|
8
8
|
## Now
|
|
9
9
|
|
|
10
|
-
Nothing
|
|
10
|
+
Nothing planned.
|
|
11
11
|
|
|
12
12
|
## Next
|
|
13
13
|
|
|
@@ -15,6 +15,8 @@ Nothing planned.
|
|
|
15
15
|
|
|
16
16
|
## Later
|
|
17
17
|
|
|
18
|
+
- **Hreflang alternates** for an app with one URL per language. Today the
|
|
19
|
+
language is negotiated on a single URL, so there is no alternate to link.
|
|
18
20
|
- **`service-worker.js` served revalidated with no setup.** Today the app
|
|
19
21
|
adds `noCache` for `SERVICE_WORKER_URL` itself.
|
|
20
22
|
- **A check of an offline page's policy.** The offline page declares its
|
|
@@ -33,6 +35,8 @@ Nothing planned.
|
|
|
33
35
|
|
|
34
36
|
## Not planned
|
|
35
37
|
|
|
38
|
+
- **The theme's own boot script.** `InlineScript` renders it with the nonce;
|
|
39
|
+
its text, its storage keys and class names, are the UI library's.
|
|
36
40
|
- **React Router 7.** Its loaders' context is a `RouterContextProvider`
|
|
37
41
|
only behind `future.v8_middleware`, and the line is in maintenance.
|
|
38
42
|
- **Node or Cloudflare.** alxia is a Bun framework; React Router's own
|
|
@@ -53,6 +57,37 @@ Nothing planned.
|
|
|
53
57
|
|
|
54
58
|
## Shipped
|
|
55
59
|
|
|
60
|
+
### 0.12.0
|
|
61
|
+
|
|
62
|
+
- **`@alxia/react-router/document` and `/entry`: the boot of a page.**
|
|
63
|
+
`DocumentNonce`, `useNonce`, `InlineScript` and `CspNonceMeta` give the
|
|
64
|
+
root the response's CSP nonce, an inline boot script that carries it and
|
|
65
|
+
the `csp-nonce` meta; `createPageLanguage` and `textDirection` give the
|
|
66
|
+
page's language and text direction. `entry.server.tsx` becomes
|
|
67
|
+
`export { handleRequest as default, streamTimeout } from '@alxia/react-router/entry'`:
|
|
68
|
+
a streamed shell on Bun's web renderer, the whole page for a bot and in SPA
|
|
69
|
+
mode, no body for HEAD, and the nonce handed to the router, with no
|
|
70
|
+
`@react-router/node` and no `node:stream`.
|
|
71
|
+
|
|
72
|
+
### 0.11.0
|
|
73
|
+
|
|
74
|
+
- **`@alxia/react-router/errors`: an API's refusals, worded for the page.**
|
|
75
|
+
A server's GraphQL refusals (`<module>.errors.<slug>`, `params`, `fields`)
|
|
76
|
+
are worded from its error catalogue in the page's language, for forms,
|
|
77
|
+
fetchers, loaders and the error page, with no UI. You get the shape of a
|
|
78
|
+
refusal, the request id and `nextOf`, the catalogue store
|
|
79
|
+
(`createApiMessages`), the form checks' resolver (`apiCodeResolver`), the
|
|
80
|
+
provider (`ApiMessagesProvider`) and the wording of a refusal
|
|
81
|
+
(`createApiErrors`: message, fields and status), the route helpers
|
|
82
|
+
(`routeError`, `errorRequestId`) and the actions' helpers (`fetcherResult`,
|
|
83
|
+
`fetcherRefusal`, `submitForm`), the JSON actions (`jsonActions`:
|
|
84
|
+
`readJson` with its same-origin CSRF check, `requireJsonPost`, and
|
|
85
|
+
`readInput` over a Standard Schema) with their fetcher hook
|
|
86
|
+
(`useJsonFetcher`), the catalogue's refresh (`createErrorCatalogue`: read
|
|
87
|
+
on first use with a bounded wait, checked against the API's versions once
|
|
88
|
+
per TTL, `warm()` at startup, `clientMessages()` for the root), and the
|
|
89
|
+
failures of a call (`apiCallFailure`, `operationName`) ([guide](guide/errors.md)).
|
|
90
|
+
|
|
56
91
|
### 0.10.0
|
|
57
92
|
|
|
58
93
|
- **`@alxia/react-router/pwa/worker`.** `startWorker({ contract })` is the
|