{"id":21899,"library":"rollup-dependency-tree","title":"rollup-dependency-tree","description":"A utility library (v0.0.14) that builds a transitive dependency tree from Rollup's OutputChunk array, enabling preloading of JavaScript imports. Designed for Sapper/SvelteKit ecosystems but usable with any Rollup build. Differentiates from general dependency analyzers by working directly with Rollup's output format. Infrequent releases; appears stable within narrow scope. Ships TypeScript types.","status":"active","version":"0.0.14","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","typescript"],"install":[{"cmd":"npm install rollup-dependency-tree","lang":"bash","label":"npm"},{"cmd":"yarn add rollup-dependency-tree","lang":"bash","label":"yarn"},{"cmd":"pnpm add rollup-dependency-tree","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only package; named export. CJS require returns undefined.","wrong":"const generateDependencyTree = require('rollup-dependency-tree')","symbol":"generateDependencyTree","correct":"import { generateDependencyTree } from 'rollup-dependency-tree'"},{"note":"Named export for converting tree structure into a string representation (like tree CLI).","wrong":"","symbol":"treeify","correct":"import { treeify } from 'rollup-dependency-tree'"},{"note":"Default export is same as generateDependencyTree; named import preferred for clarity.","wrong":"import { default } from 'rollup-dependency-tree'","symbol":"default","correct":"import rollupDependencyTree from 'rollup-dependency-tree'"}],"quickstart":{"code":"import { generateDependencyTree } from 'rollup-dependency-tree';\n\n// Assume `output` is the result of rollup.generate() or rollup.write()\nimport { rollup } from 'rollup';\n\nasync function main() {\n  const bundle = await rollup({\n    input: 'src/main.js'\n  });\n  const { output } = await bundle.generate({ format: 'es' });\n  \n  const tree = generateDependencyTree(output);\n  console.log(JSON.stringify(tree, null, 2));\n}\n\nmain().catch(console.error);","lang":"typescript","description":"Demonstrates how to generate a dependency tree from a Rollup build output using the main export."},"warnings":[{"fix":"Ensure you pass output.output (the array of chunks) from bundle.generate/write.","message":"Input must be Rollup OutputChunk[], not OutputAsset[] or complete bundle.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use a separate analyzer for dynamic imports or modify the library.","message":"Only handles static import statements; dynamic imports (import()) are not included in the tree.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Configure Rollup's `inlineDynamicImports` or external to filter nodes.","message":"Tree may include external dependencies (node_modules) if not excluded by Rollup config.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"For SvelteKit, use built-in preloading instead.","message":"Original Sapper integration is deprecated; SvelteKit uses a different mechanism.","severity":"deprecated","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":"Use import statement or dynamic import().","cause":"Using CJS require on an ESM-only package.","error":"TypeError: generateDependencyTree is not a function"},{"fix":"Pass output.output (the array of OutputChunk).","cause":"Passing entire bundle object instead of output array.","error":"Cannot read properties of undefined (reading 'module')"},{"fix":"Only static JS imports are captured; other types are ignored.","cause":"Dynamic imports or non-JS imports (CSS, images) are not processed.","error":"The tree does not include all imports"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}