@kudzujs/core 0.6.0 → 0.6.1
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/GOAL_A.md +1 -1
- package/README.md +1 -1
- package/bin/kudzu.mjs +5 -5
- package/framework/README.md +1 -1
- package/package.json +1 -1
package/GOAL_A.md
CHANGED
|
@@ -39,7 +39,7 @@ The latest matched run used seven rotating production builds and seven rotating
|
|
|
39
39
|
|
|
40
40
|
The navigation capability initially measured 128.7 ms because it paid one HTML round trip. Validated near-viewport document prefetch reduced the final seven-run median to 5.7 ms while Kudzu still transferred 62% less than SvelteKit and 83% less than React on the cold product load. A progressive-HTML grid shift found by the benchmark was fixed in the matched CSS; 30 focused Kudzu profiles and the final desktop/mobile cross-framework runs then recorded zero cold and warm CLS.
|
|
41
41
|
|
|
42
|
-
The final
|
|
42
|
+
The original final table measured 460.8 ms for Kudzu and 429.5 ms for React, and a focused follow-up confirmed a 6-7% loss primarily from TypeScript ESM/compiler startup. A post-gate startup fix now enables Node's native module compile cache before lazily loading the compiler. The first empty-cache build measured 541.4 ms against the previous 547.6 ms path; after one warm-up, 31 interleaved artifact-clean builds measured Kudzu at 425.8 ms and React at 483.4 ms, making Kudzu 11.9% faster in that run. Cache-disabled and cached builds emit byte-for-byte identical output.
|
|
43
43
|
|
|
44
44
|
The mobile profile uses a 390x844 viewport, 6x CPU slowdown, 150 ms latency, and 150 KiB/s download. Kudzu measured 420 ms cold LCP, 220 ms warm LCP, 5.6 ms interaction, 8.7 ms product-cart navigation, 4.1 ms optimistic rejection, and 158 ms rollback/error.
|
|
45
45
|
|
package/README.md
CHANGED
|
@@ -534,7 +534,7 @@ The mobile profile uses a 390x844 viewport, 6x CPU slowdown, 150 ms latency, and
|
|
|
534
534
|
| Desktop | 324 ms | 140 ms | 3.7 ms | 5.7 ms | 3.3 ms | 110.8 ms | 0 |
|
|
535
535
|
| Mobile | 420 ms | 220 ms | 5.6 ms | 8.7 ms | 4.1 ms | 158 ms | 0 |
|
|
536
536
|
|
|
537
|
-
|
|
537
|
+
Initial runs found a repeatable 6–7% small-build loss from TypeScript and esbuild module startup. Kudzu now enables Node's native module compile cache before lazily loading the compiler. An empty-cache build measured 541.4 ms against the previous 547.6 ms path; after one warm-up, 31 interleaved artifact-clean builds measured Kudzu at 425.8 ms and React at 483.4 ms, making Kudzu 11.9% faster in that run. Disabling the cache preserves byte-for-byte output. Attempts to replace generated-handler lowering or share one TypeScript Program did not improve the combined median and were not retained.
|
|
538
538
|
|
|
539
539
|
These results describe this six-route fixture on one machine, not framework ecosystem size or every rendering mode. Prefetch improves an eligible warm application transition; it does not hide cold transfer, and direct loads remain complete standalone documents.
|
|
540
540
|
|
package/bin/kudzu.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import * as module from "node:module"
|
|
4
4
|
|
|
5
5
|
const command = process.argv[2] ?? "dev"
|
|
6
6
|
|
|
7
|
-
if (command === "build") {
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
await dev()
|
|
7
|
+
if (command === "build" || command === "dev") {
|
|
8
|
+
module.enableCompileCache?.()
|
|
9
|
+
const { build, dev } = await import("../framework/build.mjs")
|
|
10
|
+
await (command === "build" ? build : dev)()
|
|
11
11
|
} else {
|
|
12
12
|
console.error(`Unknown command: ${command}\nUse: kudzu <build|dev>`)
|
|
13
13
|
process.exitCode = 1
|
package/framework/README.md
CHANGED
|
@@ -21,4 +21,4 @@ Page `metadata` can emit description, canonical, favicon, manifest, Open Graph,
|
|
|
21
21
|
|
|
22
22
|
`kudzu.config` may opt one exact static shared-layout group into same-document navigation with `navigation: { routes: ["/product", "/cart"] }`. The routes must be unique emitted paths and export the same layout function identity. Route effect entries export cache-safe layout and route mount functions: layout effects mount once per document session, route effects remount after each route insertion, and non-persisted page disposal cleans route before layout. Primitive dependencies and cleanup are supported; conditional/keyed DOM-owned effects fail with a source-located diagnostic in navigation groups. Eligible same-origin anchors prefetch complete documents when near the viewport, hovered, or focused; validated documents are cached only in memory by full URL while represented by the current route. Runtime bracket enhancement, multiple groups, and fragment payloads are not implemented.
|
|
23
23
|
|
|
24
|
-
The matched Goal A commerce profile emits 34,879 deploy bytes and loads 7,215 B gzip of product-route JavaScript, including 2,306 B for navigation. Validated prefetch reduced product-to-cart navigation from 128.7 ms to 5.7 ms. The
|
|
24
|
+
The matched Goal A commerce profile emits 34,879 deploy bytes and loads 7,215 B gzip of product-route JavaScript, including 2,306 B for navigation. Validated prefetch reduced product-to-cart navigation from 128.7 ms to 5.7 ms. The CLI enables Node's native module compile cache before lazily importing the compiler: 31 interleaved artifact-clean builds after one warm-up measured Kudzu at 425.8 ms and React at 483.4 ms. The first empty-cache invocation remains unchanged within noise, and cache-disabled output is byte-for-byte identical.
|