• v0.2.1 7285594f3c

    Draft v0.2.1 Stable

    FernandoJVideira released this 2026-10-08 23:05:18 +00:00 | 6 commits to main since this release

    Fixes two runtime breakages in projects generated by v0.2.0, and moves generated clients to @lucide/vue. Upgrade recommended if you generated a client with v0.2.0.

    Fixed

    • Generated clients could break at runtime. A fresh Vue client rendered a blank /login (Injection Symbol(TabsRootContext) not found), and Nuxt clients could fail server rendering on pages containing a Dialog. Vite's dependency pre-bundler bundled vue-ui-kit's source with reka-ui inlined, while the kit's .vue files imported reka-ui from source. That produced two module instances whose provide/inject contexts could not find each other. Generated vite.config.ts and nuxt.config.ts now exclude @fernandojvideira/vue-ui-kit from optimizeDeps. The v0.2.0 notes listed this fix, but it only reached the template and not generated projects. This release delivers it.

    Changed

    • Auth tabs now drive the URL. The Log in / Register tabs navigate between /login and /signup, keeping ?redirect=. Refresh, shared links and back/forward land on the right tab, and typed input survives switching. Nuxt adds the /signup route record with a pages:extend hook; Vue serves both routes from one Auth.vue. Existing /signup links keep working.
    • Generated clients install @lucide/vue instead of the deprecated lucide-vue-next, matching vue-ui-kit 0.4.1. The app and the kit now share one copy of the icon package.

    Ships with

    Nuxt client Vue client
    @fernandojvideira/vue-ui-kit ^0.4.1 ^0.4.1
    @lucide/vue ^1.53.0 ^1.53.0
    Framework Nuxt ^4.3.0 Vite ^8.1.5
    vue ^3.5.40 ^3.5.40
    vue-router ^4.6.4 ^5.2.0
    pinia ^3.0.4 ^4.0.2
    tailwindcss ^4.2.1 ^4.2.1
    typescript ~6.0.0 ~6.0.0

    Client images are built on node:22-alpine (Nuxt runs Nitro; Vue is served by nginx:1.27-alpine), with pnpm 11.22.0 for the build.

    Upgrade notes

    • Projects already generated with v0.2.0: add the exclusion to your Vite config, no other change needed. In Vue, put optimizeDeps: { exclude: ['@fernandojvideira/vue-ui-kit'] } at the top level of vite.config.ts. In Nuxt, put it inside vite: { … } in nuxt.config.ts.
    • Lockfile error in older projects: the registry now reports the kit's tarball URL in a different shape from the one older lockfiles recorded. On a machine with no pnpm cache (fresh CI, Docker), pnpm install --frozen-lockfile can fail with ERR_PNPM_TARBALL_URL_MISMATCH. Fix it by deleting the , tarball: … part of the @fernandojvideira/vue-ui-kit entry in pnpm-lock.yaml. Projects generated by this release are not affected.
    • pnpm holds back releases less than a day old. The generated monorepo's pnpm-workspace.yaml carries a temporary, version-pinned minimumReleaseAgeExclude for @fernandojvideira/[email protected] and @lucide/[email protected]. Delete both lines once 2026-10-10 has passed.
    Downloads