@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 +28 -0
- package/README.md +12 -0
- package/dist/cli.js +330 -50
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +45 -2
- package/dist/index.js +333 -50
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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
|