{"id":20643,"library":"unplugin-auto-import","title":"unplugin-auto-import","description":"Auto-import APIs on-demand for Vite, Webpack, Rspack, Rollup, Rolldown, esbuild and Astro. Current stable version is 21.0.0 (ESM-only, Node >=20.19.0). Release cadence follows semver with frequent minor/patch releases. Key differentiators: supports multiple bundlers, TypeScript type generation, ESLint config update, and preset system for popular libraries like Vue, React, and VueUse.","status":"active","version":"21.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/unplugin/unplugin-auto-import","tags":["javascript","unplugin","vite","astro","webpack","rolldown","rollup","rspack","auto-import","typescript"],"install":[{"cmd":"npm install unplugin-auto-import","lang":"bash","label":"npm"},{"cmd":"yarn add unplugin-auto-import","lang":"bash","label":"yarn"},{"cmd":"pnpm add unplugin-auto-import","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency for Nuxt integration (required for Nuxt preset).","package":"@nuxt/kit","optional":true},{"reason":"Peer dependency for VueUse preset (optional but commonly used).","package":"@vueuse/core","optional":true}],"imports":[{"note":"E5-only since v21; use dynamic import in CommonJS or upgrade to ESM.","wrong":"const AutoImport = require('unplugin-auto-import/vite')","symbol":"default","correct":"import AutoImport from 'unplugin-auto-import/vite'"},{"note":"For Webpack/Rspack config files written in CommonJS, use dynamic import or switch to ESM.","wrong":"const AutoImport = require('unplugin-auto-import/webpack')","symbol":"default","correct":"import AutoImport from 'unplugin-auto-import/webpack'"},{"note":"Must import from subpath for the specific bundler; default export from root is not available.","wrong":"import AutoImport from 'unplugin-auto-import'","symbol":"default","correct":"import AutoImport from 'unplugin-auto-import/rollup'"}],"quickstart":{"code":"// vite.config.ts (ESM)\nimport { defineConfig } from 'vite'\nimport AutoImport from 'unplugin-auto-import/vite'\n\nexport default defineConfig({\n  plugins: [\n    AutoImport({\n      imports: ['vue', 'vue-router'],\n      dts: true // or './src/types/auto-imports.d.ts'\n    })\n  ]\n})\n\n// Now use ref, computed, etc. without imports:\nimport { ref, computed } from 'vue' // not needed\nconst count = ref(0)\nconst doubled = computed(() => count.value * 2)\n","lang":"typescript","description":"Shows basic Vite + Vue setup with auto-import plugin, enabling Vue composables without explicit imports."},"warnings":[{"fix":"Ensure project is ESM (type: module in package.json or .mjs files) and upgrade Node to >=20.19.0.","message":"v21.0.0 dropped CommonJS support (ESM-only) and requires Node >=20.19.0","severity":"breaking","affected_versions":">=21.0.0"},{"fix":"Update @nuxt/kit to ^4.0.0 if using Nuxt integration.","message":"v20.0.0 requires @nuxt/kit v4; incompatible with @nuxt/kit v3","severity":"breaking","affected_versions":">=20.0.0 <21.0.0"},{"fix":"Set dts: true explicitly in options to generate TypeScript declarations.","message":"Option 'dts' default value changed; v19+ no longer generates dts by default","severity":"deprecated","affected_versions":">=19.0.0"},{"fix":"Ensure files are in 'include' glob and set 'dts: true' or manually reference generated types via tsconfig.json include.","message":"Auto-import only works in files matching include patterns; TypeScript may report missing types if dts not generated or imported.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'20.19.0':30 '21.0.0':25 'api':8 'astro':20,64 'auto':3,6,70 'auto-import':5,69 'bundler':43 'cadenc':32 'config':48 'current':21 'demand':11 'differenti':40 'esbuild':18 'eslint':47 'esm':27 'esm-on':26 'follow':33 'frequent':36 'generat':46 'import':4,7,71 'javascript':61 'key':39 'librari':55 'like':56 'minor/patch':37 'multipl':42 'node':29 'on-demand':9 'popular':54 'preset':51 'react':58 'releas':31,38 'rolldown':17,66 'rollup':16,67 'rspack':15,68 'semver':34 'stabl':22 'support':41 'system':52 'type':45 'typescript':44,72 'unplugin':2,62 'unplugin-auto-import':1 'updat':49 'version':23 'vite':13,63 'vue':57 'vueus':60 'webpack':14,65","created_at":"2026-04-25T11:24:12.651794+00:00","updated_at":"2026-04-25T11:24:12.651794+00:00","problems":[{"fix":"Upgrade Node to >=20.19.0 and ensure project type is 'module' in package.json, or use dynamic import: const AutoImport = await import('unplugin-auto-import/vite').then(m => m.default);","cause":"Node.js <20.19.0 or CommonJS environment without dynamic import.","error":"Cannot find module 'unplugin-auto-import/vite' or its corresponding type declarations."},{"fix":"Install the library: npm install vue (or react, etc.)","cause":"Missing Vue dependency; auto-import presets require the corresponding library installed.","error":"Error: [unplugin-auto-import] Failed to resolve preset: 'vue'"},{"fix":"Set 'dts: true' in AutoImport options and ensure generated dts file (e.g., 'auto-imports.d.ts') is included in tsconfig.json's 'include' array.","cause":"Type declarations not generated or not included in tsconfig.","error":"TypeScript error: 'ref' is not defined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/unplugin/unplugin-auto-import","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/unplugin-auto-import","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-07-24","install_tag":null}}