{"id":22766,"library":"vite-plugin-optimize-exclude","title":"Vite Plugin Optimize Exclude","description":"A Vite plugin (v0.0.1, stable) that excludes ESM dependencies from Vite's dependency optimization to prevent page reloads caused by 'New dependencies detected'. It scans node_modules and excludes all ESM packages from the pre-bundling process, reducing the likelihood of shared chunk regeneration. Requires Vite >=2.0.0. Differentiator: automates exclusion strategy unlike manual optimizeDeps.exclude configuration.","status":"active","version":"0.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/antfu/vite-plugin-optimize-exclude","tags":["javascript","typescript"],"install":[{"cmd":"npm install vite-plugin-optimize-exclude","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-optimize-exclude","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-optimize-exclude","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required for plugin functionality","package":"vite","optional":false}],"imports":[{"note":"ESM-only; CommonJS require will fail as package does not export CJS.","wrong":"const optimizeExclude = require('vite-plugin-optimize-exclude')","symbol":"default","correct":"import optimizeExclude from 'vite-plugin-optimize-exclude'"},{"note":"Named export uses PascalCase; exporting type also.","wrong":"import { optimizeExclude } from 'vite-plugin-optimize-exclude'","symbol":"VitePluginOptimizeExclude","correct":"import { VitePluginOptimizeExclude } from 'vite-plugin-optimize-exclude'"},{"note":"TypeScript types are exported; use type-only import for Options interface.","wrong":"","symbol":"types","correct":"import type { Options } from 'vite-plugin-optimize-exclude'"}],"quickstart":{"code":"// vite.config.ts\nimport { defineConfig } from 'vite';\nimport optimizeExclude from 'vite-plugin-optimize-exclude';\n\nexport default defineConfig({\n  plugins: [\n    optimizeExclude({\n      // Optional: override default behavior\n      // exclude: ['vue'],\n    }),\n  ],\n});","lang":"typescript","description":"Basic usage: import and add the plugin to Vite config to automatically exclude ESM dependencies from optimization."},"warnings":[{"fix":"Ensure your project uses ESM (type: 'module' in package.json) and Vite's ESM mode.","message":"Plugin only works in ESM projects; CJS projects will encounter import errors.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Monitor bundle size and request count; consider customizing the exclude list if needed.","message":"Excluding too many dependencies may increase the number of HTTP requests and impact performance.","severity":"gotcha","affected_versions":">=0.0.1"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Switch to import statement or use dynamic import().","cause":"Using CommonJS require() on an ESM-only package.","error":"ERR_REQUIRE_ESM: require() of ES Module not supported"},{"fix":"Use import optimizeExclude from 'vite-plugin-optimize-exclude' without destructuring.","cause":"Using default import incorrectly (e.g., destructuring when package has no named default export).","error":"TypeError: optimizeExclude is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}