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
Vuetifyprefix - β¨ 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-presetsfor composables and directives presets viaunplugin-auto-import@unvuetify/unplugin-vue-components-resolversresolvers for components viaunplugin-vue-components@unvuetify/vite-styles-pluginfor styles
- Nuxt:
- vuetify-nuxt-module for all Vuetify features
- Nuxt basic (check nuxt-utils usage):
@unvuetify/nuxt-utilsvia Nuxt module usingconfigureVuetifyfunction
- Nuxt basic i18n (check nuxt-utils usage and nuxt-i18n-utils usage):
@unvuetify/nuxt-utilsvia Nuxt module usingconfigureVuetifyfunction@unvuetify/nuxt-i18n-utilsvia Nuxt module usingconfigureI18nfunction
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 | β 9 | β | β | β | β | β |
MIT License Β© 2025-PRESENT JoaquΓn SΓ‘nchez
Footnotes
-
@unvuetify/vite-styles-plugin. β© -
@unvuetify/unplugin-vue-components-resolvers. β© -
@unvuetify/unimport-presets. β© -
vuetify-nuxt-modulewill support all the features once updated using the packages in this monorepo.@unvuetify/nuxt-utilssupports all the features, but it is not a drop-in replacement forvuetify-nuxt-module. β© -
@unvuetify/unimport-presetscomponents utilities can be used with Nuxt components loader, won't work with Vite. β© -
vite-plugin-vuetifywill work, but we can get some warnings about missing sources. β© -
webpack-plugin-vuetifynot tested with Nuxt 3 with or without SSR. β© -
@unvuetify/unimport-presetscomponents utilities can be used with Nuxt components loader. β© -
Vuetify 3.9.0+ includes
GlobalDirectivesin the Vue module augmentation β©