You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enhance project to support SolidJS runtime and update documentation
- Added SolidJS as a new runtime option in the code generation process, allowing for idiomatic SolidJS components to be generated alongside existing runtimes.
- Updated package.json and bun.lock to include necessary SolidJS dependencies and configurations.
- Revised README and other documentation to reflect the addition of SolidJS, including updated runtime descriptions and usage instructions.
- Enhanced CLI commands and scripts to support SolidJS development and integration.
- Improved test coverage for SolidJS components to ensure parity with other runtimes.
These changes aim to expand the capabilities of the UI8Kit codegen engine and provide developers with more options for rendering components.
Spec-driven codegen for UI8Kit `ui/` primitives. Define props, variants, and a render tree once; emit idiomatic Templ, React, Svelte, Vue, Latte, and Twig with the same DOM, design tokens, and ARIA contract — verified by parity tests, not by review.
5
+
Spec-driven codegen for UI8Kit `ui/` primitives. Define props, variants, and a render tree once; emit idiomatic Templ, React, Svelte, Vue, SolidJS, Latte, and Twig with the same DOM, design tokens, and ARIA contract — verified by parity tests, not by review.
6
6
7
7
| Fact | Value |
8
8
|------|-------|
9
-
|**Inventory**| 33 bricks · 63 parts · 6 runtimes |
9
+
|**Inventory**| 33 bricks · 63 parts · 7 runtimes |
10
10
|**PHP templates**| 60 / 63 parts (3 skipped by structural predicate) |
11
11
|**License**| MIT |
12
12
@@ -20,6 +20,7 @@ Spec-driven codegen for UI8Kit `ui/` primitives. Define props, variants, and a r
**Consume:** Templ → `templ generate && go build` · TS → Vite (`@vitejs/plugin-vue`, `@sveltejs/vite-plugin-svelte`) · PHP → `composer install` in `generated/` with a loader rooted at `generated/ui`.
107
+
**Consume:** Templ → `templ generate && go build` · TS → Vite (`@vitejs/plugin-vue`, `@sveltejs/vite-plugin-svelte`, `vite-plugin-solid`) · PHP → `composer install` in `generated/` with a loader rooted at `generated/ui`.
Copy file name to clipboardExpand all lines: docs/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# UI8Kit Codegen — Documentation
2
2
3
-
Spec-driven codegen engine for UI8Kit `ui/` primitives. One typed render contract per brick, six generated runtimes (plus a static HTML export), and DOM parity verified by tests.
3
+
Spec-driven codegen engine for UI8Kit `ui/` primitives. One typed render contract per brick, seven generated runtimes (plus a static HTML export), and DOM parity verified by tests.
|**Latte**|`ui/<brick>/<Part>.latte`| typed `{parameters}`, `n:attr`, children as HTML string |
23
24
|**Twig**|`ui/<brick>/<Part>.html.twig`|`ui8kit_attr_str`, `include with`, children as HTML string |
24
25
@@ -53,7 +54,7 @@ Codegen/
53
54
├── runtime/ # support files copied into generated/ (Go, TS, PHP)
54
55
├── generated/ # codegen output (gitignored; created by `bun run generate`)
55
56
├── tests/ # domain units + cross-runtime parity suites
56
-
├── examples/ # seven welcome previews + static HTML export
57
+
├── examples/ # eight welcome previews + static HTML export
57
58
├── docs/ # this documentation
58
59
└── .github/workflows/ # CI
59
60
```
@@ -68,7 +69,7 @@ Codegen/
68
69
69
70
## Why an IR instead of hand-written runtimes
70
71
71
-
The upstream registry hand-writes `.templ` and `.tsx` pairs against a shared spec. Adding Svelte, Vue, Latte, and Twig by hand multiplies drift surface. This engine inverts the workflow: definitions are data, the canonical renderer is the spec, emitters are printers, parity tests are the gate.
72
+
The upstream registry hand-writes `.templ` and `.tsx` pairs against a shared spec. Adding Svelte, Vue, Solid, Latte, and Twig by hand multiplies drift surface. This engine inverts the workflow: definitions are data, the canonical renderer is the spec, emitters are printers, parity tests are the gate.
0 commit comments