Skip to content

Dev — W07 (Feb 12 – 18)

Wed Feb 12 — Data Requirements & Product Parity

Section titled “Wed Feb 12 — Data Requirements & Product Parity”

Field Access Tracker — Added field tracking to the expression builder. The transpiler now emits __dataReqs exports per component, declaring exactly which Liquid object fields each section/block accesses.

Theme Manifest — Data requirements aggregator builds a complete theme manifest. Zod schemas validate Liquid objects at dev time. Achieved full product, variant, collection, image, and media manifest parity.

Metafield Fetching — Manifest-driven metafield fetching with nested accessor support.

Cart & Line Items — Added cart and line item Liquid transforms for KV-based cart data.

Transpiler Fixes — Block duplication on product page, static blocks, cart proxy, quantity selector, buy-it-now visibility, variant picker. Render tags in attribute values for product card hrefs. JSON script tag JSX conversion. Plain text expressions inside textarea/title elements.

Astro Consolidation — Merged astro-horizon into liquid-transpiler as the single transpilation package.


Thu Feb 13 — Multi-Client Architecture & Dashboard Scaffold

Section titled “Thu Feb 13 — Multi-Client Architecture & Dashboard Scaffold”

Multi-Client Architecture — LayerKick foundation supporting multiple Shopify stores from a single codebase. Dynamic credentials from KV per client.

SSR Cart Hydration — Cart data fetched server-side via edge worker cookie forwarding. Conditional cart fetch using build-time data requirements manifest.

Inline Script Transpilation — Liquid interpolation inside <script> tags now transpiles correctly.

Dashboard Scaffold — TanStack Start app with shadcn UI. Cloudflare Workers integration with Shopify OAuth callback. Server-side OAuth redirect with per-client credential lookup from KV.


Island-Time Architecture — Phases 0-4: app blocks render as server-side placeholders, then hydrate client-side via Shopify’s Section Rendering API. Discovers page-specific app scripts at SSR time.

App Block Compatibility — Correct app block layout with CLS height management, trust badge ordering, payment button styling. Unified app script patterns into shared registry.

Runtime Template Discovery — Template IDs discovered from Shopify at runtime instead of hardcoded. Removed hardcoded CLS heights registry.

View Transition Fixes — Preserved third-party app DOM and shadow DOM CSSOM styles across View Transitions.

Security & Caching — Scoped edge cache key by client slug for multi-tenant isolation. Storefront JSON fallback for collection data.


Sat Feb 15 – Sun Feb 16 — Islands Hardening & Workers Pivot

Section titled “Sat Feb 15 – Sun Feb 16 — Islands Hardening & Workers Pivot”

Islands Audit — Lifecycle cleanup, security hardening, observer leak fixes. Removed View Transitions in favor of full page loads + prefetching. Permissive shell-extras discovery with empty-cache poisoning fix. Thundering herd deduplication.

KV-Only Client Resolution — Clients resolve from KV at the edge, no external database needed. Added kv:sync tooling for client config management.

Multi-Theme Deploy Pipeline — Deploy pipeline supporting multiple themes per client via Cloudflare Workers.

Hono SSR POC — One section rendering end-to-end through Hono. Added --format hono transpiler flag emitting .tsx render functions. Full Hono app with all routes + middleware, client-side bundle (web components, CSS, inline scripts), production build config, manifest-based asset resolution.


Mon Feb 17 — IR Pipeline (Milestones 1–4)

Section titled “Mon Feb 17 — IR Pipeline (Milestones 1–4)”

IR Pipeline Architecture — Multi-stage Intermediate Representation pipeline replacing direct AST-to-code generation:

  • Milestone 1: IR types, printer, and test harness
  • Milestone 2: Control flow — if/unless/case/for/assign
  • Milestone 3: Dynamic attributes — class, style, conditional spreads
  • Milestone 4: Composition — render, content_for, capture

Hono Emitter Fixes — CaptureBlankCheck two-pass rendering, naming fixes, Fragment handling.


Tue Feb 18 — IR Pipeline to 194/228 Parity

Section titled “Tue Feb 18 — IR Pipeline to 194/228 Parity”

Milestone 5 — Batch parity fixes bringing IR pipeline from 132 → 194 passing components:

  • Ternary chains, nullish guards, style function imports
  • Capture inlining + form variable exclusion (150/228)
  • Case parenthesization, string ternary flattening, children prop (187/228)
  • Children JSX body, content descriptor defaults, raw node class/style (194/228)

Code Review Cleanup — Deduplicated needsNilCoalesce, shared attribute analyzers, AST-based JSON detection.

Script/Style Handling — Conditionals in style/script body interpolation, conditional attributes on script/style raw nodes.