nuxt-vuetify
Add Vuetify 3 to your Nuxt application in 3 seconds.
Nuxt Vuetify
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
- Vuetify labs with treeshaking
- Material Design Blueprints
- Icon fonts
Quick Setup
- 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
- Add
@invictus.codes/nuxt-vuetify
to themodules
section ofnuxt.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
Scope | Property name | Accepted values | Description | Default | Origin |
---|---|---|---|---|---|
moduleOptions | treeshaking | true, false | Treeshaking enables you to drastically lower your build size by only including the components you actually use in the final bundle | false | Module |
moduleOptions | useIconCDN | true, false | Use a CDN to load the icons (only available for defaultSet 'mdi', 'md' and 'fa') | true | Module |
moduleOptions | styles | true, '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 | true | Vuetify sass variables vite-plugin-vuetify |
moduleOptions | autoImport | true, false | Auto imports the Vuetify components (only available with treeshaking) | true | Nuxt 3 auto imports vite-plugin-vuetify |
moduleOptions | useVuetifyLabs | true, false (does not work with treeshaking) | Auto imports the Vuetify components (only available with treeshaking) | true | Nuxt 3 auto imports vite-plugin-vuetify |
vuetifyOptions | icons | Refer to Vuetify documentation | Vuetify 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
Copyright (c) Invictus.codes
Contributors 2