@uniweb/runtime 0.29.7 → 1.0.2

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/dist/ssr.js CHANGED
@@ -10,7 +10,7 @@ import { buildTheme, FONT_LINKS_MARKER, buildSectionOverrides } from "@uniweb/th
10
10
  import "@uniweb/core/services";
11
11
  import "@uniweb/core/tracker";
12
12
  import DataStore, { deriveCacheKey as deriveCacheKey$1 } from "@uniweb/core/datastore";
13
- import { RESOLUTION_STATUS, localeOfPath, localeUrl, resolveRoute, routeIndex } from "@uniweb/core/resolve-route";
13
+ import { RESOLUTION_STATUS, carryQuery, localeOfPath, localeUrl, resolveRoute, routeIndex } from "@uniweb/core/resolve-route";
14
14
  import { resolveFetchConfigs } from "@uniweb/core/fetch-config";
15
15
  import { resolveRecordsService } from "@uniweb/core/records-service";
16
16
  function guaranteeItemStructure(item) {
@@ -1239,6 +1239,7 @@ function empty() {
1239
1239
  export {
1240
1240
  RESOLUTION_STATUS,
1241
1241
  applyDefaults,
1242
+ carryQuery,
1242
1243
  classifyRenderError,
1243
1244
  collectSiteRecords,
1244
1245
  createPageRenderer,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniweb/runtime",
3
- "version": "0.29.7",
3
+ "version": "1.0.2",
4
4
  "description": "Minimal runtime for loading Uniweb foundations",
5
5
  "type": "module",
6
6
  "exports": {
@@ -36,15 +36,15 @@
36
36
  "node": ">=20.19"
37
37
  },
38
38
  "dependencies": {
39
- "@uniweb/theming": "~0.2.0",
40
- "@uniweb/core": "~0.38.2"
39
+ "@uniweb/core": "~1.0.1",
40
+ "@uniweb/theming": "~1.0.1"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@vitejs/plugin-react": "^4.5.2",
44
44
  "esbuild": "^0.21.0 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.27.0",
45
45
  "vite": "^7.3.1",
46
46
  "vitest": "^4.1.7",
47
- "@uniweb/build": "0.80.3"
47
+ "@uniweb/build": "1.0.1"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "react": "^19.0.0",
@@ -117,6 +117,8 @@ export const ISOLATE_API = Object.freeze({
117
117
  localeOfPath: '0.28.6',
118
118
  localeUrl: '0.28.6',
119
119
  RESOLUTION_STATUS: '0.28.6',
120
+ // a redirect the host answers itself, with the visitor's query and fragment on it
121
+ carryQuery: '1.0.1',
120
122
  })
121
123
 
122
124
  /**
@@ -171,11 +173,21 @@ export const ISOLATE_API = Object.freeze({
171
173
  * and refuses to serve a site below it, so the number moves for them when the
172
174
  * CHANNEL republishes — not when this constant changes.
173
175
  *
174
- * ⚖️ Revisit at 1.0: once sites are pinned in the field, *"it does not break
175
- * sites"* stops being free, and this paragraph is the thing to re-argue.
176
+ * ⭐ **Revisited at 1.0 [Diego, 2026-10-11].** This note read: *"Revisit at 1.0: once
177
+ * sites are pinned in the field, 'it does not break sites' stops being free, and this
178
+ * paragraph is the thing to re-argue."* His answer: *"Foundations are not as sensitive
179
+ * to the runtime version as you claim"* — and the first 1.x floor was itself a
180
+ * baseline raise, to 1.0.1: *"We would also set `minUsable` to tell backend to start
181
+ * using 1.0.1+"*. The two mechanical rules above stand.
176
182
  */
177
183
  /*
178
- * ⭐ **0.28.1, raised 2026-09-28 [Diego]** — a BASELINE raise, like the one below: the current
184
+ * ⭐ **1.0.1, raised 2026-10-13 [Diego]** — the first 1.x runtime, a BASELINE raise like the two
185
+ * below: *"We would also set `minUsable` to tell backend to start using 1.0.1+"* (2026-10-11).
186
+ * 1.0.1 is the release that took every package from 0.x to 1.x; the runtime's line since 0.29.7
187
+ * carries `carryQuery`. Raised once npm served 1.0.1 and the channel's `latest` was 1.0.1, and,
188
+ * like every raise, it reaches backend at the next runtime publish.
189
+ *
190
+ * ⛔ **Previously 0.28.1, raised 2026-09-28 [Diego]** — a BASELINE raise, like the one below: the current
179
191
  * published runtime, so an editor writing what it reads can rely on it for every site published
180
192
  * from then on. What the line carries:
181
193
  * - 0.28.0 — a section's `theme` is `theme.yml` for that section (`{ mode, colors, contexts,
@@ -208,7 +220,7 @@ export const ISOLATE_API = Object.freeze({
208
220
  * which the service refuses with a whole-request `400` since it took `narrow`. It also carries
209
221
  * declared-key delivery and `$route`. That break is still real and still below this number.
210
222
  */
211
- export const WIRE_FLOOR = '0.28.1'
223
+ export const WIRE_FLOOR = '1.0.1'
212
224
 
213
225
  /**
214
226
  * ⭐ **THE MINIMUM RUNTIME VERSION A SITE MAY BE PUBLISHED AT.** At or above it,
@@ -224,9 +236,10 @@ export const WIRE_FLOOR = '0.28.1'
224
236
  * than merely being unsupported.
225
237
  *
226
238
  * ⚠️ **The drift that name was chosen to resist was RELAXED 2026-09-12** — see
227
- * `WIRE_FLOOR` above: while pre-1.0 the floor may be raised simply so nobody has
228
- * to check what a version supports, so a raise no longer implies a break at the
229
- * new number. **On the wire it is `minUsable`, and that is the only spelling.**
239
+ * `WIRE_FLOOR` above: the floor may be raised simply so nobody has to check what a
240
+ * version supports — pre-1.0, and to 1.0.1 at the first 1.x release — so a raise
241
+ * does not imply a break at the new number. **On the wire it is `minUsable`, and
242
+ * that is the only spelling.**
230
243
  */
231
244
  export const MIN_USABLE_RUNTIME = [WIRE_FLOOR, ...Object.values(ISOLATE_API)]
232
245
  .filter((v) => v !== UNRELEASED)
package/src/ssr.js CHANGED
@@ -67,8 +67,11 @@ export { loadPageData } from './load-page-data.js'
67
67
  // a redirect needs no data and a URL naming nothing needs no render. It reads one locale's content;
68
68
  // `localeOfPath` says which locale a path names, so which content to read. `status` is what a host
69
69
  // that sends one sends. ⛔ Each host kept its own copy of the redirect and locale rules until
70
- // 2026-09-30, and the copies disagreed.
71
- export { resolveRoute, routeIndex, localeOfPath, localeUrl, RESOLUTION_STATUS } from '@uniweb/core/resolve-route'
70
+ // 2026-09-30, and the copies disagreed. ⭐ A redirect's `location` names nothing of the request's
71
+ // query or fragment: a host that answers one itself adds them with `carryQuery`, as the runtime does
72
+ // before it navigates — or a link's parameters, a token a site's backend mails to the site's root
73
+ // among them, are gone before any of the page's code runs.
74
+ export { resolveRoute, routeIndex, localeOfPath, localeUrl, RESOLUTION_STATUS, carryQuery } from '@uniweb/core/resolve-route'
72
75
 
73
76
  // Which page a route names, by its exact route and then the parametric patterns
74
77
  // (`@uniweb/core/route-match`). ⚠️ The subset of `resolveRoute`: no locale prefix, no translated