@bettercms-ai/convert 0.4.0 → 0.5.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/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @bettercms-ai/convert
2
2
 
3
+ ## 0.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - The conversion now decides the site's LIVE PREVIEW LANE, and says so in the receipt.
8
+
9
+ A converted site is static, so the visual editor can frame the real build but has nowhere to
10
+ put a DRAFT — it falls back to the platform's approximate renderer and stops looking like the
11
+ site. A Next page that already renders through `<BcmsBlocks>` gets the fix applied: the import
12
+ moves to `@bettercms-ai/next/draft-bridge` and the element becomes
13
+ `<BcmsDraftBridge slug={…} …/>`, which listens for the editor's push.
14
+
15
+ 🔴 THE SLUG IS THE WHOLE RISK, so it is never guessed. It has to come from the component's own
16
+ scope (`slug`, `params`, `page`) or from a route literal the brief can name; anything else is
17
+ `CANVAS_BRIDGE_MANUAL` with the file and the line. A bridge wired to the wrong slug is a page
18
+ that silently never updates in the editor — worse than no bridge, because the editor's chip
19
+ then claims a live lane.
20
+
21
+ Astro is refused wholesale with `SSR_DRAFT_ROUTE` and the recipe in `hint`: bridging it needs
22
+ either `<BcmsLiveBlocks client:load>` from `@bettercms-ai/astro` or a server render, and
23
+ migrating somebody's site to SSR is a deploy-shaped decision, never a codemod's.
24
+
25
+ The receipt gains `canvas: { lane: "bridge" | "pending", files? }`. The two lane reasons ride
26
+ `paths.pending` — the one list every reader already looks at — but are OUTSIDE the arithmetic
27
+ (`declared === rewritten + alreadyDeclared + pending.length`): a lane row is a fact about the
28
+ site, not an unbound field, and counting it would make every hand-written site report one
29
+ phantom missing path forever.
30
+
3
31
  ## 0.4.0
4
32
 
5
33
  The workspace lockfile records this version: a lock still naming 0.3.0 makes a frozen install
package/README.md CHANGED
@@ -71,6 +71,18 @@ A path counts as rewritten only when EVERY located occurrence of it was. A value
71
71
  the home page and a shared header is two places a reader sees it, and converting one of them reads
72
72
  as a finished job.
73
73
 
74
+ **It also decides the live-preview lane.** A Next page already rendering through `<BcmsBlocks>`
75
+ gets its import moved to `@bettercms-ai/next/draft-bridge` and its element rewritten to
76
+ `<BcmsDraftBridge slug={…} …/>`, so the visual editor can re-render your DRAFTS with your own
77
+ components instead of falling back to the platform's approximate renderer. The slug is never
78
+ guessed — it comes from the component's own scope (`slug`, `params`, `page`) or a route literal the
79
+ brief can name, and anything else is `CANVAS_BRIDGE_MANUAL` with the file and line, because a
80
+ bridge on the wrong slug is a page that silently never updates. Astro gets `SSR_DRAFT_ROUTE` and
81
+ the recipe: use `<BcmsLiveBlocks client:load>` from `@bettercms-ai/astro`, or render those routes
82
+ on a server. The verdict is `canvas: { lane, files? }` on the receipt; the two lane reasons ride
83
+ `paths.pending` but are outside the arithmetic above — they are facts about the site, not unbound
84
+ fields.
85
+
74
86
  **A declaration this package did not write still counts.** An element that names the target —
75
87
  `data-bcms-field`, `data-bcms-layout-field` or an address in `data-bcms-props` — but gets its copy
76
88
  some other way (a literal somebody left there, the project's own data module) is DECLARED: the