@contentrain/types 1.1.0 → 1.3.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 +13 -0
- package/dist/index.d.mts +649 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +107 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -306,3 +306,16 @@ pnpm --filter @contentrain/types typecheck
|
|
|
306
306
|
## License
|
|
307
307
|
|
|
308
308
|
MIT
|
|
309
|
+
|
|
310
|
+
## Migration contracts
|
|
311
|
+
|
|
312
|
+
Shared shapes for the WordPress → static-site migration pipeline. They exist here — in the one MIT package every side may depend on — because the documents cross repository and license boundaries: a GPL WordPress plugin produces them, a proprietary migration service consumes them, an open emitter renders from them.
|
|
313
|
+
|
|
314
|
+
| Contract | Role |
|
|
315
|
+
|---|---|
|
|
316
|
+
| `RawIR` | Source-faithful extraction of a WordPress site (posts, terms, menus, comments, media, redirects) with provenance: which access rung produced it (`rest_public` → `rest_auth` → `wxr` → `bridge`). Unresolved references are kept and marked, never dropped. |
|
|
317
|
+
| `CapabilityManifest` | Evidence-based inventory of what the site uses (SEO, forms, comments, i18n, ACF, …) — the input for migration planning and the "what happens to X" conversation. |
|
|
318
|
+
| `ProjectIR` | The reproducible model of the site: route model, layout families, component variants, query bindings, design tokens. Not "this page's HTML" — the design system that generates unseen pages correctly. |
|
|
319
|
+
| `MigrationHandoff` | What the migration hands the user: repository, per-capability dispositions, and offers for runtime capabilities (with cost comparison) — offering is this document's job; fulfilling is the receiving product's. |
|
|
320
|
+
|
|
321
|
+
All four are plain JSON (snake_case keys), stamped with `MIGRATION_CONTRACT_VERSION`.
|