@kudzujs/core 0.8.11 → 0.8.12
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 +1 -1
- package/RELEASES.md +27 -0
- package/framework/build.mjs +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ Kudzu compiles ordinary React-shaped TypeScript and TSX into complete static HTM
|
|
|
14
14
|
|
|
15
15
|
> Experimental `0.8.x`: the compiler API and supported TSX surface may change.
|
|
16
16
|
|
|
17
|
-
**Latest release: 0.8.
|
|
17
|
+
**Latest release: 0.8.12 - Static icon migration.** Used Lucide-shaped icons move to relative TSX and compile to accessible static SVG while build-folded evaluator JavaScript disappears from deploy output. Read the [release notes](./RELEASES.md#0812---static-icon-migration) or open the [release page](https://kudzujs.cloud/releases/0.8.12).
|
|
18
18
|
|
|
19
19
|
- [Documentation](https://kudzujs.cloud/docs)
|
|
20
20
|
- [Installation guide](https://kudzujs.cloud/docs#install)
|
package/RELEASES.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Kudzu Releases
|
|
2
2
|
|
|
3
|
+
## 0.8.12 - Static icon migration
|
|
4
|
+
|
|
5
|
+
Kudzu 0.8.12 proves a source migration path from Lucide React-shaped icon usage to accessible static SVG without a package factory or browser runtime.
|
|
6
|
+
|
|
7
|
+
### New in 0.8.12
|
|
8
|
+
|
|
9
|
+
- Used icons move into relative TSX components with direct intrinsic SVG roots and familiar size, stroke, class, fill, ARIA, and title props.
|
|
10
|
+
- Meaningful icons retain explicit roles and titles, while decorative icons remain hidden from assistive technology.
|
|
11
|
+
- React-shaped SVG presentation attributes normalize to native output and complete icon routes ship zero JavaScript.
|
|
12
|
+
- Unreachable icon modules are excluded from compilation instead of becoming deploy artifacts.
|
|
13
|
+
- Public documentation records the migration recipe and its deliberate package boundary.
|
|
14
|
+
|
|
15
|
+
### Fixed in 0.8.12
|
|
16
|
+
|
|
17
|
+
- Handler emission now follows references in the final route plan and HTML, removing evaluator modules left behind by build-folded component conditions while preserving list-expression evaluators.
|
|
18
|
+
- The complete suite passes 143/143 tests.
|
|
19
|
+
|
|
20
|
+
### Boundary
|
|
21
|
+
|
|
22
|
+
This release does not execute `lucide-react`. Dynamic icon lookup, `createLucideIcon()`, package-owned factories, and a generic icon runtime remain unsupported source migration work.
|
|
23
|
+
|
|
24
|
+
### Upgrade
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install @kudzujs/core@^0.8.12
|
|
28
|
+
```
|
|
29
|
+
|
|
3
30
|
## 0.8.11 - Stale-safe data migration
|
|
4
31
|
|
|
5
32
|
Kudzu 0.8.11 proves source migration paths for TanStack Query-shaped data and React Hook Form-shaped forms while strengthening dependency-effect stale-write isolation.
|
package/framework/build.mjs
CHANGED
|
@@ -145,7 +145,8 @@ export async function build({ quiet = false, minify = true } = {}) {
|
|
|
145
145
|
runtimeParams: runtimeSchema?.params,
|
|
146
146
|
...(navigable ? { navigationAsset: navigationGroup.assetPath, applicationId: navigationGroup.applicationId, layoutId: navigationGroup.layoutId, routeId: applicationRoute } : {})
|
|
147
147
|
}, props, module.layout)
|
|
148
|
-
|
|
148
|
+
const renderedOutput = `${JSON.stringify(result.plan)}\n${result.html}`
|
|
149
|
+
for (const url of result.handlerModules) if (renderedOutput.includes(JSON.stringify(url))) renderedHandlerUrls.add(url)
|
|
149
150
|
if (navigationGroup) {
|
|
150
151
|
navigationGroup.hasEffects ||= result.hasEffects
|
|
151
152
|
navigationGroup.hasParams ||= result.hasParams
|