{"id":22705,"library":"vite-plugin-import-graph","title":"vite-plugin-import-graph","description":"A Vite plugin that records a project's module import graph as a JSON file. Version 0.0.1 is the initial stable release. It focuses purely on data output without a visualization frontend, making it faster than integrated tools. It supports options like absolute/relative module IDs and prefixing virtual/npm modules. Output is a JSON object mapping module IDs to arrays of imported IDs, with npm package paths merged at the package level. The plugin is lightweight and designed for downstream use with visualization (D3.js, Graphviz) or analysis (circular dependencies, dead code, test impact).","status":"active","version":"0.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/Justineo/vite-plugin-import-graph","tags":["javascript","typescript"],"install":[{"cmd":"npm install vite-plugin-import-graph","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-import-graph","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-import-graph","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency; plugin requires Vite 5+ to function.","package":"vite","optional":false}],"imports":[{"note":"The package exports a default function. Do not use named import.","wrong":"import { importGraph } from 'vite-plugin-import-graph'","symbol":"importGraph (default export)","correct":"import importGraph from 'vite-plugin-import-graph'"},{"note":"TypeScript types are exported; use `import type` for compile-time only.","symbol":"ImportGraphOptions (type)","correct":"import type { ImportGraphOptions } from 'vite-plugin-import-graph'"},{"note":"CommonJS require works but only as default import, not destructured.","wrong":"const { importGraph } = require('vite-plugin-import-graph')","symbol":"CommonJS require","correct":"const importGraph = require('vite-plugin-import-graph')"}],"quickstart":{"code":"// vite.config.ts\nimport { defineConfig } from 'vite';\nimport importGraph from 'vite-plugin-import-graph';\n\nexport default defineConfig({\n  plugins: [\n    importGraph({\n      filename: 'import-graph.json',\n      absoluteModuleIds: false,\n      usePrefix: false,\n    })\n  ]\n});","lang":"typescript","description":"Configure the plugin with default options to generate import graph JSON."},"warnings":[{"fix":"Specify an absolute path for `filename` if needed.","message":"Output file is written relative to project root, not cwd.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use `absoluteModuleIds: true` with custom resolution if you need per-file granularity.","message":"Npm package paths are merged at the package level; individual file paths within a package are not recorded.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Enable `usePrefix` only if you need to distinguish virtual/npm modules.","message":"usePrefix only adds prefixes to virtual modules and npm packages; other module IDs remain unchanged.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run `npm i -D vite-plugin-import-graph` and ensure Vite dev/build is executed in the same project.","cause":"Package not installed or not running in Vite context.","error":"Cannot find module 'vite-plugin-import-graph'"},{"fix":"Change to `import importGraph from 'vite-plugin-import-graph'`.","cause":"Using named import instead of default import.","error":"TypeError: importGraph is not a function"},{"fix":"Upgrade Vite to ^5.0.0: `npm i vite@^5.0.0 -D`.","cause":"Installed Vite version is older than 5.","error":"Error: [vite-plugin-import-graph] Vite >= 5 required"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}