Skip to content

chore(ui): bump vuetify to 4.1 and vjsf to 4.5.3 - #32

Merged
BatLeDev merged 1 commit into
masterfrom
chore-bump-vuetify-and-vjsf
Aug 24, 2026
Merged

chore(ui): bump vuetify to 4.1 and vjsf to 4.5.3#32
BatLeDev merged 1 commit into
masterfrom
chore-bump-vuetify-and-vjsf

Conversation

@BatLeDev

Copy link
Copy Markdown
Member

@koumoul/vjsf imports VColorInput statically in nodes/index.js (through color-picker.vue), so the path is resolved at build time even when no schema uses a color picker. And that path follows vuetify: vuetify/labs/VColorInput up to vjsf 4.5.2, vuetify/components/VColorInput from 4.5.3 on, because vuetify 4.1 promoted the component from labs to core.

ui declared @koumoul/vjsf: ^4.2.0 next to vuetify: ^4.0.3 — a pair that held only by lockfile luck (vjsf 4.3.0 with vuetify 4.0.5). The next npm update resolves vjsf ≥4.5.3 while vuetify stays on 4.0.x, and the UI build fails on an unresolved vuetify/components/VColorInput. Both ranges are raised together: vuetify: ^4.1.0 (resolved 4.1.11) and @koumoul/vjsf: ^4.5.3 (resolved 4.5.4), which brings @json-layout/core 2.7.1 → 2.8.2 and @json-layout/vocabulary 2.13.0 → 2.13.1.

Why: the coupling is invisible in package.json and breaks in both directions — vjsf ≥4.5.3 against vuetify 4.0.x looks for a components/VColorInput that does not exist yet, vuetify ≥4.1 against vjsf ≤4.5.2 looks for a labs/VColorInput that is gone. Nothing in the declared ranges enforced the pairing, so it was one dependency refresh away from a red build. vjsf 4.5.3+ peer depends on vuetify ^4.1.0, which now matches what this repo declares.

Heads-up:

  • No vuetify/labs/* import in ui/src, nor in @data-fair/lib-vuetify 2.3.0, so the labs → core promotion needs no code change here: the two ranges are the whole diff.
  • vuetify 4.1 also ships the MD3 alignment pass on VSwitch, VCheckbox and VDatePicker. This UI has no date picker; the exposed surface is the base-color="warning" checkbox of the delete-import dialog and a few indeterminate progress circulars.
  • vjsf goes 4.3.0 → 4.5.4, four minor versions of form rendering. The catalog config, import and publication forms are the ones worth a look.

lint, build-types, check-types, vue-tsc on the ui, the ui build and the 26 tests of the unit project pass locally. The api and e2e projects were not run on my machine (they need the dev services up), CI covers them.

vjsf imports VColorInput statically, and the import path follows vuetify:
labs/VColorInput up to vjsf 4.5.2, components/VColorInput from 4.5.3 on
(vuetify 4.1 promoted the component from labs to core). The two packages
must therefore move together: the previous ranges (vjsf ^4.2.0 with vuetify
^4.0.3) held only by lockfile luck and would have broken the build on the
next npm update. Resolved versions: vuetify 4.1.11, vjsf 4.5.4.
@BatLeDev
BatLeDev merged commit 096d6b4 into master Aug 24, 2026
4 checks passed
@BatLeDev
BatLeDev deleted the chore-bump-vuetify-and-vjsf branch August 24, 2026 14:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant