Unified Vuetify utilities for Vite and Nuxt.
This monorepo has been created due to the existing limitations when using vite-plugin-vuetify/webpack-plugin-vuetify
and the new features added in Vue 3.5 and Nuxt 3.16: Vue Lazy Hydration and Nuxt 3. Check the comparison table for more details.
@unvuetify
is an alternative to vite-plugin-vuetify
, you can still use vite-plugin-vuetify
or webpack-plugin-vuetify
: the packages in this monorepo have been created to provide support for Vite and Nuxt 3 applications, and to provide a more flexible and extensible API via unplugin-vue-components and unplugin-auto-import/unimport.
- π ESM-only packages
- β‘ Fully Tree Shakable: use unplugin-vue-components resolvers or unplugin-auto-import presets and only used Vuetify composables, components and directives will be included in the final bundle
- π₯ Vue Lazy Hydration support: ready to use Vue Lazy Hydration with Vuetify components and Nuxt 3
- π Extensible: allow prefixing Vuetify components, directives and composables with
Vuetify
prefix - β¨ VSCode directives suggestions
- βοΈ Nuxt utilities: drop a simple Nuxt module and it will auto-import all Vuetify components, directives and composables for you
- π Nuxt I18n utilities: install @nuxtjs/i18n Nuxt module, drop a simple module to configure Vuetify with i18n support
- π¦Ύ Type Strong: written in TypeScript
- @unvuetify/shared: utilities to resolve Vuetify components and directives
- @unvuetify/unimport-presets: presets to auto-import Vuetify composables and directives
- @unvuetify/unplugin-vue-components-resolvers: resolvers to auto-import Vuetify components and directives
- @unvuetify/vite-styles-plugin: Vite plugin to load Vuetify sass/scss styles with Nuxt 3 SSR support
- @unvuetify/nuxt-utils: utilities to configure Vuetify composables, directives, components and sass/scss styles in your Nuxt 3 application
- @unvuetify/nuxt-i18n-utils: utilities to configure Vuetify with @nuxtjs/i18n in your Nuxt application
There are a lot of packages/modules in this repository, our suggestion is to use the following packages when using:
- Vite:
@unvuetify/unimport-presets
for composables and directives presets viaunplugin-auto-import
@unvuetify/unplugin-vue-components-resolvers
resolvers for components viaunplugin-vue-components
@unvuetify/vite-styles-plugin
for styles
- Nuxt:
- vuetify-nuxt-module for all Vuetify features
- Nuxt basic (check nuxt-utils usage):
@unvuetify/nuxt-utils
via Nuxt module usingconfigureVuetify
function
- Nuxt basic i18n (check nuxt-utils usage and nuxt-i18n-utils usage):
@unvuetify/nuxt-utils
via Nuxt module usingconfigureVuetify
function@unvuetify/nuxt-i18n-utils
via Nuxt module usingconfigureI18n
function
You can open @unvuetify
monorepo in StackBlitz:
Warning
@nuxt/fonts
dependency removed and settings.scss
files updated to run Nuxt playgrounds when running at StackBlitz.
or just play with individual playgrounds:
Warning
@nuxt/fonts
dependency removed and settings.scss
file updated when running Nuxt playgrounds at StackBlitz.
Example | Source | Playground |
---|---|---|
basic-nuxt |
GitHub | |
basic-resolvers |
GitHub | |
basic-unimport |
GitHub | |
nuxt-i18n |
GitHub | |
prefix-nuxt |
GitHub | |
prefix-resolvers |
GitHub | |
prefix-unimport |
GitHub |
Note
unimport
requires a patch to support prefixing Vuetify directives in Nuxt, fixed in unimport v5.0.1
release: check unjs/unimport#447.
Note
Nuxt 3.16.2 requires a patch to support Vue Lazy Hydration, fixed in Nuxt 3.17.0: check nuxt/nuxt#31649.
Feature / Package | vite-plugin-vuetify | webpack-plugin-vuetify | styles1 | resolvers2 | presets3 | Nuxt4 |
---|---|---|---|---|---|---|
auto-import composables | β | β | β | β | β | β |
auto-import components | β | β | β | β | β 5 | β |
auto-import directives | β | β | β | β | β | β |
auto-import labs components | β | β | β | β | β | β |
sass/scss variables | β | β | β | β | β | β |
sass/scss variables with Vite/Nuxt 3 SSR | β 6 | β7 | β | β | β | β |
prefix composables, directives and components | β | β | β | β | β | β |
Nuxt Lazy Hydration | β | β | β | β | β 8 | β |
VSCode directives suggestions | β | β | β | β | β | β |
MIT License Β© 2025-PRESENT JoaquΓn SΓ‘nchez
Footnotes
-
@unvuetify/vite-styles-plugin
. β© -
@unvuetify/unplugin-vue-components-resolvers
. β© -
@unvuetify/unimport-presets
. β© -
vuetify-nuxt-module
will support all the features once updated using the packages in this monorepo.@unvuetify/nuxt-utils
supports all the features, but it is not a drop-in replacement forvuetify-nuxt-module
. β© -
@unvuetify/unimport-presets
components utilities can be used with Nuxt components loader, won't work with Vite. β© -
vite-plugin-vuetify
will work, but we can get some warnings about missing sources. β© -
webpack-plugin-vuetify
not tested with Nuxt 3 with or without SSR. β© -
@unvuetify/unimport-presets
components utilities can be used with Nuxt components loader. β©