A lightweight Vite plugin based on unimport for automatic imports with presets support, TypeScript declarations, and ESLint integration.
- 🔌 Zero-config presets for Vue, Pinia, Vue Router, etc.
- 🛠 Custom imports with flexible syntax
- 📝 TypeScript support with
.d.tsgeneration - 🔍 ESLint integration to prevent undefined warnings
- ⚡ Vue template support for SFC auto-imports
- 🗂 Directory scanning for dynamic imports
npm install vite-plugin-auto-import-lite -D
# or
pnpm add vite-plugin-auto-import-lite -D
# or
yarn add vite-plugin-auto-import-lite --dev// vite.config.ts
import AutoImport from 'vite-plugin-auto-import-lite'
export default defineConfig({
plugins: [
AutoImport({
imports: [
'vue', // preset
'pinia', // preset
{ from: 'axios', imports: ['get', 'post'] }, // named imports
{ name: 'default', from: 'my-lib', as: 'myLib' } // default import
],
})
]
})AutoImport({
// Array of imports (strings = presets)
imports: [
'vue',
{ from: 'vue-router', imports: ['useRoute'] },
{ name: 'fetch', from: 'node-fetch' }
],
// Directories to scan for auto-imports
dirs: ['./src/composables', './src/utils'],
// TypeScript declaration file config
dts: 'types/auto-imports.d.ts', // or `false` to disable
// Vue template support
vueTemplate: true,
// ESLint config generation
eslintrc: {
enabled: true, // Default: false
filepath: './.eslintrc-auto-import.json', // Default
globalsPropValue: 'readonly' // Default: true
},
// File inclusion/exclusion
include: [/\.[jt]sx?$/, /\.vue$/],
exclude: [/node_modules/]
})All string entries in imports are treated as presets. Supported presets is unimport presets.
Enable type declarations with:
AutoImport({
dts: true // generates 'auto-imports.d.ts' by default
})To prevent ESLint "no-undef" errors:
-
Enable config generation:
eslintrc: { enabled: true }
-
Extend the generated config in your ESLint config:
// .eslintrc.js module.exports = { extends: [ // ...other configs './.eslintrc-auto-import.json' ] }
Enable automatic imports in <template> blocks:
AutoImport({
vueTemplate: true
})This will auto-import components, directives, and composables used in templates.
Scan directories for exports to auto-import:
AutoImport({
dirs: [
'./src/composables',
'./src/stores'
]
})This plugin offers a lighter-weight alternative with:
- Simplified configuration
- Focus on Vite-specific optimizations
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Detailed changes for each release are documented in the release notes.