{"id":42228,"library":"vite-plugin-ignore-dynamic-imports","title":"Vite Ignore Dynamic Imports Plugin","description":"A Vite plugin that automatically adds `/* @vite-ignore */` comments to dynamic import statements, suppressing warnings from Vite's import analysis. Version 1.0.2 supports Vite 6 and 7. Unlike manual commenting, it automates the process across specified files, useful for external packages or generated code. Ships TypeScript types and uses `unplugin-ast` for AST transformation. Released under MIT, with a focus on developer convenience.","status":"active","version":"1.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/JakeYallop/WasmSharp","tags":["javascript","vite","plugin","dynamic-imports","vite-ignore","transform","imports","import-analysis","typescript"],"install":[{"cmd":"npm install vite-plugin-ignore-dynamic-imports","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-ignore-dynamic-imports","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-ignore-dynamic-imports","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"The plugin is designed to work as a Vite plugin; it requires Vite 6 or 7 to function.","package":"vite","optional":true}],"imports":[{"note":"The package uses ESM default export; CommonJS require is not supported for ESM-only packages.","wrong":"const ignoreDynamicImports = require('vite-plugin-ignore-dynamic-imports')","symbol":"default","correct":"import ignoreDynamicImports from 'vite-plugin-ignore-dynamic-imports'"},{"note":"It is a default export, not a named export. Named import will result in undefined.","wrong":"import { ignoreDynamicImports } from 'vite-plugin-ignore-dynamic-imports'","symbol":"default (TypeScript)","correct":"import ignoreDynamicImports from 'vite-plugin-ignore-dynamic-imports'"},{"note":"PluginOptions is a TypeScript type, import it using 'import type' to avoid runtime issues.","wrong":"import { PluginOptions } from 'vite-plugin-ignore-dynamic-imports'","symbol":"PluginOptions","correct":"import type { PluginOptions } from 'vite-plugin-ignore-dynamic-imports'"}],"quickstart":{"code":"// vite.config.ts\nimport { defineConfig } from 'vite'\nimport ignoreDynamicImports from 'vite-plugin-ignore-dynamic-imports'\n\nexport default defineConfig({\n  plugins: [\n    ignoreDynamicImports({\n      // Only files matching these globs will have dynamic imports processed\n      include: ['**/external-module.js', 'src/**/*.dynamic.js']\n    })\n  ]\n})\n\n// Example: src/dynamic-import.js\nconst module = await import('./some-module.js')\n// After transformation: const module = await import(/* @vite-ignore */'./some-module.js')","lang":"typescript","description":"Shows how to configure the plugin in vite.config.ts, including the include option, and the effect on a dynamic import statement."},"warnings":[{"fix":"Provide a glob array in the include option to specify files to transform.","message":"If `include` is omitted, no files are processed, and dynamic imports remain unchanged.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Upgrade to Vite 6+ or use an alternative if pinned to an older version.","message":"Plugin relies on Vite 6 or 7; not compatible with Vite 5 or earlier.","severity":"breaking","affected_versions":">=1.0"},{"fix":"Add appropriate globs (e.g., 'node_modules/**/*.js') if you need to process external packages.","message":"The plugin transforms only dynamic imports in files matching the include patterns. Imports from node_modules are not processed unless explicitly included.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Test plugin order; place this plugin after other AST plugins that may affect dynamic imports.","message":"The plugin uses unplugin-ast and may conflict with other AST-manipulating Vite plugins.","severity":"gotcha","affected_versions":">=1.0"}],"env_vars":null,"search_vec":"'1.0.2':28 '6':31 '7':33 'across':41 'add':11 'analysi':26,84 'ast':58,60 'autom':38 'automat':10 'code':50 'comment':15,36 'conveni':70 'develop':69 'dynam':3,17,75 'dynamic-import':74 'extern':46 'file':43 'focus':67 'generat':49 'ignor':2,14,79 'import':4,18,25,76,81,83 'import-analysi':82 'javascript':71 'manual':35 'mit':64 'packag':47 'plugin':5,8,73 'process':40 'releas':62 'ship':51 'specifi':42 'statement':19 'support':29 'suppress':20 'transform':61,80 'type':53 'typescript':52,85 'unlik':34 'unplugin':57 'unplugin-ast':56 'use':44,55 'version':27 'vite':1,7,13,23,30,72,78 'vite-ignor':12,77 'warn':21","created_at":"2026-06-04T18:56:14.942954+00:00","updated_at":"2026-06-04T18:56:14.942954+00:00","problems":[{"fix":"Run 'npm install vite-plugin-ignore-dynamic-imports' or the equivalent for your package manager.","cause":"Missing or incomplete npm installation.","error":"Cannot find module 'vite-plugin-ignore-dynamic-imports'"},{"fix":"Use 'import ignoreDynamicImports from ...' (default import) rather than '{ ignoreDynamicImports }'.","cause":"Incorrect import style; using named import instead of default import.","error":"ignoreDynamicImports is not a function"},{"fix":"Pass an object with an 'include' array, e.g., 'ignoreDynamicImports({ include: ['**/*.js'] })'.","cause":"The include option is required but was omitted in the config.","error":"TypeError: Cannot read properties of undefined (reading 'include')"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/JakeYallop/WasmSharp/tree/main/packages/vite-plugin-ignore-dynamic-imports","github":"https://github.com/JakeYallop/WasmSharp","docs":null,"changelog":null,"pypi":null,"npm":"vite-plugin-ignore-dynamic-imports","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-04","next_check":"2026-09-02","install_tag":null}}