smbls 3.14.826 → 3.14.828
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/CHANGELOG.md +57 -0
- package/dist/smbls.cjs +64 -64
- package/dist/smbls.embed.iife.js +16 -16
- package/dist/smbls.esm.js +64 -64
- package/dist/smbls.iife-string.js +2 -2
- package/dist/smbls.iife.js +64 -64
- package/dist/smbls.socket-io-client.esm.js +1 -0
- package/index.js +24 -1
- package/package.json +20 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,62 @@
|
|
|
1
1
|
# smbls
|
|
2
2
|
|
|
3
|
+
## 3.14.828
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Server rendering is correct and fast, opt-in hydration, and Cloudflare deploys run the full build (FW-BRENDER-HYDRATION-AND-CF-DEPLOY-PROVIDER-1, FW-PUBLISH-TIME-PRERENDER-SSRCACHE-1).
|
|
8
|
+
|
|
9
|
+
Behaviour changes (check these first):
|
|
10
|
+
|
|
11
|
+
- `smbls build` copies `public/` into the output root (never replacing a file the bundler wrote), so `_redirects`, `_headers` and `404.html` ship with every bundler.
|
|
12
|
+
- Booting over a pre-rendered page removes only `style[data-emotion="smbls"]` and `style[data-brender]`; the host page's own `<style>` tags stay.
|
|
13
|
+
- The Cloudflare worker (`renderProjectHtml` without eval) keeps the client render instead of painting a wrong pre-render; a stored pre-render (`ssrCache` / `__ssr`) is still served. `ssrWithoutEval: true` opts back in.
|
|
14
|
+
|
|
15
|
+
Fixes:
|
|
16
|
+
|
|
17
|
+
- Every server render after the first one paints its theme colours again (linkedom made `deepClone` copy nothing nested).
|
|
18
|
+
- Server pages ship their own reset, keyframes and `:root` once, also in the Cloudflare worker (`generateGlobalCSS` read the wrong keys, wrote files and cached across projects).
|
|
19
|
+
- A pre-render waits for its own requests instead of a flat 2 s; server renders stop rescanning the head for every inserted rule.
|
|
20
|
+
- The server render gets the project's `globalScope` and context keys, as the client does; a `<select>` with a value no longer drops its parent.
|
|
21
|
+
|
|
22
|
+
New, opt-in:
|
|
23
|
+
|
|
24
|
+
- Hydration: `hydrate: true` (or `window.__BRENDER_HYDRATE__` from the server, with `__BR_REGISTRY__`) adopts the server DOM instead of replacing it; a mismatch falls back to a fresh node, a throw to the fresh render. brender `renderPage({ adoptDom })` ships the registry and the recorded GET answers; `@symbo.ls/fetch` exports `createEarlySeedScript`, `earlyKey`, `EARLY_KEY`.
|
|
25
|
+
- `smbls deploy --provider cloudflare [--target pages|workers] [--dry-run] [--no-brender]` runs the full `smbls build` pipeline; `--target workers` writes Workers Static Assets config.
|
|
26
|
+
- `smbls publish --ssr` (or `"prerender": true` in `symbols.json`) pre-renders every static route and stores it as `__ssr`, which the platform renderer serves; off by default.
|
|
27
|
+
|
|
28
|
+
## 3.14.827
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- 95d31cb: css: cascade-tier sheets close the cross-element source-order race (a media or compound rule minted before a flat class of the same property lost to it; breakpoints now order narrowest-last); css-in-props: grid track lists resolve `sizes` names, also for `gridAutoColumns/Rows`.
|
|
33
|
+
- Fixes for the 42 issues reported while building xma.info (FW-XMA-EXCEPTIONS-UPSTREAM-1).
|
|
34
|
+
|
|
35
|
+
Behaviour changes (check these first):
|
|
36
|
+
|
|
37
|
+
- CSS precedence across `extends`: a later layer's shorthand that states a longhand now beats a longhand an earlier layer declared (`borderWidth: '0'` no longer loses to a base `borderBottomWidth`; a derived `border: 'hairline solid …'` now paints over a base `borderWidth: '0'`). Positional shorthands (`background`, `transition`, `font`, `flex`, `grid`…) never remove a base longhand. A `:focus-visible` longhand (`outlineColor`) now paints over Link/Focusable's ring.
|
|
38
|
+
- Built-in `Img` no longer copies `alt` into `title`. `Link` leaves Ctrl/Cmd/Shift/Alt, middle, `target` and `download` clicks to the browser.
|
|
39
|
+
- `X<` breakpoints start at N.02px, so no width matches both `X` and `X<`.
|
|
40
|
+
- Helmet renders the head as the merge of mounted layers: keys a page leaves out fall back instead of staying from the previous page.
|
|
41
|
+
- `smbls build` with `"brender": true` pre-renders again (it rendered nothing since 3.14.6): every static route is written, `/*` becomes `404.html`, `:param` routes are skipped and listed, and the build exits 1 when no route renders.
|
|
42
|
+
- `onStateInit`, `onStateCreated` and `onBeforeStateUpdate` run again (`onBeforeStateUpdate` returning `false` cancels the update).
|
|
43
|
+
- `onWindowLoad` runs once right after creation when the page had already loaded.
|
|
44
|
+
- The first render no longer forces a style+layout pass per microtask.
|
|
45
|
+
- socket.io-client loads only when a sync transport is configured; the ESM build ships it as `dist/smbls.socket-io-client.esm.js` (keep it beside `smbls.esm.js`).
|
|
46
|
+
|
|
47
|
+
New, opt-in:
|
|
48
|
+
|
|
49
|
+
- `designSystem.focusableRing`; `vars` and top-level `'--x'` keys set reactive custom properties; `fill`/`stroke` are CSS outside `<svg>`; attributes inside `.isX` / `'!isX'` blocks apply.
|
|
50
|
+
- Design-system tokens resolve inside `style: {}` blocks; `sizes` tokens negate (`-hairline2`) and publish `--size-<name>`.
|
|
51
|
+
- `fetchpriority` and every multi-word attribute work flat in both spellings.
|
|
52
|
+
- `inertOutside`, the `Bridge` host for DOM-owning libraries, element events with `{ capture, passive, once, selector, handler }`, `TooltipLayer` for `[data-tooltip]` nodes.
|
|
53
|
+
- Router `scrollRestoration: 'restore'`; guards that refuse Back/Forward put the address back; lazy route groups (`context.lazy`, `el.call('loadLazy')`).
|
|
54
|
+
- Fetch: `el.call('invalidateQueries')` and friends, `invalidates` on rpc, `fetch.early` pre-boot requests, `fetch.reads` anonymous GET reads without a CORS preflight.
|
|
55
|
+
- Polyglot `setLang` switches text, `<html lang>` and fonts in one frame; `getPendingLang`.
|
|
56
|
+
- `s.$settled()` / `settled()` await the DOM a state write produces; `onMediaQueryChange` takes design-system media keys; the `animation` shorthand resolves tokens.
|
|
57
|
+
- `smbls/ssr` entry for server rendering; `smbls push` publishes `new URL('<path>', import.meta.url)` assets.
|
|
58
|
+
- frank-audit: FA105 per-tag, FA410 (history writes), wider FA701; opt-in FA211, FA810, FA811, FA812; unknown `--rule` ids are reported.
|
|
59
|
+
|
|
3
60
|
## 3.14.792
|
|
4
61
|
|
|
5
62
|
### Patch Changes
|