nuxt-vuetify

nuxt-vuetify

Add Vuetify 3 to your Nuxt application in 3 seconds.

Nuxt Vuetify

npm versionnpm downloadsLicense

Add Vuetify 3 to your Nuxt application in seconds.

Features

  • 👌  Zero configuration to start
  • 🌳  Treeshaking built-in (vite, disabled by default)
  • ⚡️  Icon fonts loaded via CDN (enabled by default, mdi)
  • 📊  Automatic Nuxt SSR detection
  • ⚙️  Vuetify styles configurable (precompiled css by default)

Features not yet supported

Quick Setup

  1. Add @invictus.codes/nuxt-vuetify dependency to your project
# Using pnpmpnpm add -D @invictus.codes/nuxt-vuetify# Using yarnyarn add --dev @invictus.codes/nuxt-vuetify# Using npmnpm install --save-dev @invictus.codes/nuxt-vuetify
  1. Add @invictus.codes/nuxt-vuetify to the modules section of nuxt.config.ts
export default defineNuxtConfig({  modules: [    '@invictus.codes/nuxt-vuetify'  ],  vuetify: {    /* vuetify options */    vuetifyOptions: {      // @TODO: list all vuetify options    },    moduleOptions: {      /* nuxt-vuetify module options */      treeshaking: true | false,      useIconCDN: true | false,      /* vite-plugin-vuetify options */      styles: true | 'none' | 'expose' | 'sass' | { configFile: string },      autoImport: true | false,      useVuetifyLabs: true | false,     }  }})

That's it! You can now use Nuxt Vuetify in your Nuxt app ✨

Nuxt-Vuetify options

ScopeProperty nameAccepted valuesDescriptionDefaultOrigin
moduleOptionstreeshakingtrue, falseTreeshaking enables you to drastically lower your build size by only including the components you actually use in the final bundlefalseModule
moduleOptionsuseIconCDNtrue, falseUse a CDN to load the icons (only available for defaultSet 'mdi', 'md' and 'fa')trueModule
moduleOptionsstylestrue,
'none',
'expose',
'sass',
{ configFile: string }

Also refer to Vuetify documentation
- true: precompiled vuetify css
- none: no styles are loaded
- sass: sass styles are used
- expose: sass styles are used
- { configFile: '<your sass/scss-file here>' }: use your own styles file
trueVuetify sass variables

vite-plugin-vuetify
moduleOptionsautoImporttrue, falseAuto imports the Vuetify components (only available with treeshaking)trueNuxt 3 auto imports

vite-plugin-vuetify
moduleOptionsuseVuetifyLabstrue, false (does not work with treeshaking)Auto imports the Vuetify components (only available with treeshaking)trueNuxt 3 auto imports

vite-plugin-vuetify
vuetifyOptionsiconsRefer to Vuetify documentationVuetify icon fonts

Development

Make sure to be logged in with gh auth login, otherwise changelogen won't work.

# Install dependenciesnpm install# Generate type stubsnpm run dev:prepare# Develop with the playgroundnpm run dev# Build the playgroundnpm run dev:build# Run ESLintnpm run lint# Run Vitestnpm run testnpm run test:watch# Release new versionnpm run release

License

MIT License

Copyright (c) Invictus.codes