Upgrading to v4
Vuetify 4.0.0 introduces significant improvements and optimizations while maintaining the core principles that make Vuetify powerful. This guide will help you migrate your application from Vuetify 3 to Vuetify 4.Prerequisites
Before starting the migration, ensure your project meets these requirements:- Vue.js: Version 3.5.0 or higher
- Node.js: Version 24.11.1 or higher
- TypeScript: Version 4.7 or higher (optional but recommended)
- Build Tool: Vite or Webpack with the appropriate Vuetify plugin
Migration Steps
{
"dependencies": {
"vuetify": "^4.0.0",
"vue": "^3.5.0"
},
"devDependencies": {
"vite-plugin-vuetify": "^2.1.0"
}
}
// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vuetify from 'vite-plugin-vuetify'
export default defineConfig({
plugins: [
vue(),
vuetify({
autoImport: true,
styles: {
configFile: 'src/styles/settings.scss',
},
}),
],
})
Review your Vuetify instance creation. The basic structure remains the same, but verify your configuration:
// src/plugins/vuetify.ts
import { createVuetify } from 'vuetify'
import * as components from 'vuetify/components'
import * as directives from 'vuetify/directives'
export default createVuetify({
components,
directives,
theme: {
defaultTheme: 'light',
},
})
// ✅ Recommended - Tree-shakable
import { VBtn, VCard } from 'vuetify/components'
// ✅ Also valid - Auto-import with plugin
// Components automatically available when using vite-plugin-vuetify
// Main styles
import 'vuetify/styles'
// Or specific style bundles
import 'vuetify/styles/core'
import 'vuetify/styles/utilities'
import 'vuetify/styles/colors'
// .eslintrc.js
module.exports = {
plugins: ['vuetify'],
rules: {
'vuetify/no-deprecated-components': 'error',
'vuetify/no-deprecated-props': 'error',
},
}
// src/styles/settings.scss
@use 'vuetify/settings' with (
$utilities: (
'rounded': true,
'elevation': true,
),
);
Component-Specific Changes
Date & Time Components
Date adapter imports have changed:Lab Components
Some lab components may have graduated to stable:TypeScript Support
Vuetify 4 includes enhanced TypeScript support. Update your type declarations:Performance Optimizations
Vuetify 4 includes several performance improvements:- Automatic Tree-Shaking: Components are automatically tree-shaken when using Vite
- Smaller Bundle Sizes: Optimized component code reduces overall bundle size
- Improved SSR: Better server-side rendering support
- CSS Optimization: Enhanced CSS generation and minification
Getting Help
If you encounter issues during migration:- Discord Community: Join the Vuetify Discord for community support
- Issue Tracker: Report bugs at issues.vuetifyjs.com
- Documentation: Visit vuetifyjs.com for comprehensive guides
- GitHub Discussions: Ask questions and share solutions
Next Steps
After successfully migrating to Vuetify 4:- Explore new features and components
- Review the Release Notes for detailed changes
- Optimize your bundle size using the build analysis tools
- Consider adopting new patterns and best practices
- Review the Long-term Support policy
Keep your dependencies up to date to receive bug fixes, security patches, and new features.