smoodly 0.0.14 → 0.0.15

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.
Files changed (2) hide show
  1. package/README.md +12 -0
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -449,9 +449,21 @@ after both are on the registry. From the repo root:
449
449
  `revalidate` hook for out-of-band writers.
450
450
  - `getEntriesTree` has no `q` counterpart yet; add one when a site
451
451
  needs a nested collection nav.
452
+ - `getShared(["header", "footer", "contact"], { locale })` returning a
453
+ typed tuple, as sugar over the `Promise.all` the layout writes today.
454
+ Keep one cache unit per item under its own tag — a single unit tagged
455
+ with all three would expire the header whenever the footer is edited.
452
456
  - `getEntry` by id goes through `site.getEntry`, which lists the whole
453
457
  collection to find one row; a primary-key read first would be cheaper
454
458
  on the uncached path (draft mode, first miss).
459
+ - The read API returns the site layer's shapes unprojected: `getEntries`
460
+ gives `{ entry: EntryRecord, path }` (the locales map, sort, parentId,
461
+ collection and timestamps ride along under `entry`), `getPage` gives
462
+ the renderer's `SitePage` (`record`, `tree`). Project in `queries.ts`,
463
+ at the public boundary, to `{ id, path, fields, updatedAt }` per entry
464
+ and a page without renderer internals; the tree item is already lean.
465
+ Do it before the Astro glue (OQ 29) wraps the same reads and before
466
+ a second site depends on the shape — it is a breaking change to `q`.
455
467
 
456
468
  ## Follow-ups (logged 2026-09-10, page fields and SEO spec)
457
469
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smoodly",
3
- "version": "0.0.14",
3
+ "version": "0.0.15",
4
4
  "description": "Open-source, code-first CMS for Next.js on Supabase: define a component once, it becomes a typed, editable building block.",
5
5
  "license": "MIT",
6
6
  "repository": {