[web] introduce shared template contracts package #123

Merged
eleith merged 1 commits from feat/template-package into main 2026-10-19 14:27:29 +00:00

Summary

Introduce a small, internal @luzzle/web.templates package containing types only:

  • Piece page, icon and Open Graph props; site root/feed/error props.
  • Component-call inputs and helper interfaces.
  • Canonical public piece records and arbitrary configured type names.
  • Normal checked TypeScript declaration builds and named compile-only tests.
  • Standard workspace, Changesets-ignore and CI registration.

The source contracts and tests reuse the previously reviewed work. Private plans
are also excluded from Docker build contexts.

Deliberately excluded

No Svelte runtime bundling, renderer/fallback/navigation/icon implementations,
compiler import rewriting, custom fingerprints, app scripts, test Dockerfile,
application dependency wiring, generated author SDK, or helper implementations.
There are no production dependencies or JavaScript runtime exports.

Template compilation and bundling belong to the worker alongside its other job
tools. A bundler dependency will be introduced with that actual worker job, not
added unused to this shared package.

Verification

  • Checked declaration build passes and emits exactly four .d.ts files, no JS.
  • TypeScript accepted/rejected input tests pass.
  • ESLint, Prettier and diff checks pass.
  • Independent review found no material issues.

Checks used the already-installed toolchain. The reduced manifest's metadata was
regenerated offline; a fresh installation was not rerun inside the sandbox.

PR sequence

#122 is merged; this PR targets updated main directly and contains one approved
commit. The older draft #121 is paused: its contract definitions are now included
here, and its reference/prototype history must not be merged. Worker preparation
should follow this package from the clean base once reviewed.

## Summary Introduce a small, internal `@luzzle/web.templates` package containing types only: - Piece page, icon and Open Graph props; site root/feed/error props. - Component-call inputs and helper interfaces. - Canonical public piece records and arbitrary configured type names. - Normal checked TypeScript declaration builds and named compile-only tests. - Standard workspace, Changesets-ignore and CI registration. The source contracts and tests reuse the previously reviewed work. Private plans are also excluded from Docker build contexts. ## Deliberately excluded No Svelte runtime bundling, renderer/fallback/navigation/icon implementations, compiler import rewriting, custom fingerprints, app scripts, test Dockerfile, application dependency wiring, generated author SDK, or helper implementations. There are no production dependencies or JavaScript runtime exports. Template compilation and bundling belong to the worker alongside its other job tools. A bundler dependency will be introduced with that actual worker job, not added unused to this shared package. ## Verification - Checked declaration build passes and emits exactly four `.d.ts` files, no JS. - TypeScript accepted/rejected input tests pass. - ESLint, Prettier and diff checks pass. - Independent review found no material issues. Checks used the already-installed toolchain. The reduced manifest's metadata was regenerated offline; a fresh installation was not rerun inside the sandbox. ## PR sequence #122 is merged; this PR targets updated `main` directly and contains one approved commit. The older draft #121 is paused: its contract definitions are now included here, and its reference/prototype history must not be merged. Worker preparation should follow this package from the clean base once reviewed.
eleith-gitea-agent Bot added 1 commit 2026-10-19 14:20:46 +00:00
Reviewed and explicitly approved by the user before staging. Add only role/component/helper types, checked TypeScript declaration builds, named type tests, and normal workspace/CI integration. No runtime renderer, Svelte bundling, application wiring, or helper implementation; future preparation tooling belongs to the worker.
eleith merged commit 1a0594956c into main 2026-10-19 14:27:29 +00:00
eleith deleted branch feat/template-package 2026-10-19 14:27:29 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eleith/luzzle#123