Skip to content

perf(types-builder): reuse vjsf layout for compiledLayout export#44

Draft
BatLeDev wants to merge 1 commit into
mainfrom
perf-types-builder-reuse-compiled-layout
Draft

perf(types-builder): reuse vjsf layout for compiledLayout export#44
BatLeDev wants to merge 1 commit into
mainfrom
perf-types-builder-reuse-compiled-layout

Conversation

@BatLeDev

@BatLeDev BatLeDev commented Jul 2, 2026

Copy link
Copy Markdown
Member

A schema exporting both vjsf and compiledLayout compiled and serialized its layout twice. The vjsf compiler already produces the serialized compiled layout, so via its new compileParts() the vjsf export caches it per locale and the compiledLayout export reuses it instead of compiling again. Output is byte-identical.
Why: on portals build-types the schema that exports both (page-config-simple) was ~half of the remaining build time, and its second compile+serialize was pure duplication (~7s).
Heads-up: depends on koumoul-dev/vuetify-jsonschema-form#586 (adds compileParts); the peer dependency is bumped to @koumoul/vjsf-compiler ^1.5.0. Kept as draft until that compiler release is published so CI can install it and pass.

A schema exporting both `vjsf` and `compiledLayout` compiled and serialized
its layout twice. The vjsf compiler now exposes the serialized compiled layout
via compileParts(), so cache it per locale during the vjsf export and reuse it
for the compiledLayout export instead of compiling again. Output is byte-identical.

Requires @koumoul/vjsf-compiler >=1.5.0 (compileParts); peer dependency bumped.
@BatLeDev BatLeDev marked this pull request as draft July 2, 2026 09:24
@BatLeDev BatLeDev force-pushed the perf-types-builder-reuse-compiled-layout branch from 8cc1a84 to 13ad450 Compare July 2, 2026 09:46
@BatLeDev BatLeDev changed the title perf(types-builder): reuse the vjsf-compiled layout for the compiledLayout export perf(types-builder): reuse vjsf layout for compiledLayout export Jul 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant