{"id":19395,"library":"bundle-declarations-webpack-plugin","title":"bundle-declarations-webpack-plugin","description":"Webpack plugin that bundles TypeScript declaration files (.d.ts) into a single output file using dts-bundle-generator. Version 6.0.0 supports Webpack 5+, Node >=16, and is ESM-only since v6 (dropped CJS support). It wraps dts-bundle-generator (v9.3.1) with Webpack integration, allowing per-entry configuration, inline libraries, sorting, and banner control. Unlike similar plugins, it focuses on minimal configuration, supports multiple entry points and bundles, and exposes full dts-bundle-generator options. Release cadence is irregular, driven by dependency updates.","status":"active","version":"6.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/dominicbirch/bundle-declarations-webpack-plugin","tags":["javascript","webpack","typescript","plugin",".d.ts","declarations","typings","dts-bundle","bundle-declarations-webpack-plugin"],"install":[{"cmd":"npm install bundle-declarations-webpack-plugin","lang":"bash","label":"npm"},{"cmd":"yarn add bundle-declarations-webpack-plugin","lang":"bash","label":"yarn"},{"cmd":"pnpm add bundle-declarations-webpack-plugin","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core library for bundling .d.ts files; version must be compatible with plugin.","package":"dts-bundle-generator","optional":false},{"reason":"Peer dependency; plugin requires Webpack 5.","package":"webpack","optional":false}],"imports":[{"note":"Default ESM export only; CJS require fails in v6 (removed CommonJS bundle). Use import or update to CJS-compatible version (<6).","wrong":"const BundleDeclarationsWebpackPlugin = require('bundle-declarations-webpack-plugin')","symbol":"BundleDeclarationsWebpackPlugin","correct":"import BundleDeclarationsWebpackPlugin from 'bundle-declarations-webpack-plugin'"},{"note":"Class constructor, not a function with .default. Direct instantiation.","wrong":"new BundleDeclarationsWebpackPlugin.default(options)","symbol":"BundleDeclarationsWebpackPlugin","correct":"new BundleDeclarationsWebpackPlugin(options?)"},{"note":"Configuration type is from webpack, not from this plugin. Use type import for TypeScript.","wrong":"import BundleDeclarationsWebpackPlugin from 'bundle-declarations-webpack-plugin';\nimport Configuration from 'webpack'","symbol":"BundleDeclarationsWebpackPlugin","correct":"import type { Configuration } from 'webpack'"}],"quickstart":{"code":"import BundleDeclarationsWebpackPlugin from 'bundle-declarations-webpack-plugin';\nimport { resolve } from 'path';\nimport type { Configuration } from 'webpack';\n\nexport default <Configuration>{\n  entry: './src/main.ts',\n  output: {\n    filename: 'index.js',\n    path: resolve('./dist'),\n  },\n  plugins: [\n    new BundleDeclarationsWebpackPlugin({\n      outFile: 'index.d.ts',\n    }),\n  ],\n};","lang":"typescript","description":"Minimal Webpack configuration to bundle TypeScript declarations using the plugin with default options; outputs index.d.ts alongside index.js."},"warnings":[{"fix":"Use import syntax or downgrade to v5.1.1 if CJS is required.","message":"v6 removed CommonJS bundle output; require() will fail.","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Use object format: new BundleDeclarationsWebpackPlugin({ entry: { filePath: './src/index.ts' } }).","message":"options.entry may be a string array (simple entry points) in older versions; v6 still supports but prefer object for consistent behavior.","severity":"deprecated","affected_versions":">=5.0.0"},{"fix":"Ensure entry files have at least one export statement.","message":"Plugin does not emit any declarations if entry file has no exports; results in empty .d.ts file.","severity":"gotcha","affected_versions":">=3.1.0"},{"fix":"Set { entry: { output: { sortNodes: true } } }.","message":"When using multiple entry points, ordering of combined declarations may be unpredictable; use sortNodes option for stable output.","severity":"gotcha","affected_versions":">=4.0.0"},{"fix":"Review dts-bundle-generator v9 migration guide; options like 'preferredConfigPath' may have changed.","message":"v5 upgraded dts-bundle-generator from v8 to v9; some dts-bundle-generator options changed.","severity":"breaking","affected_versions":">=5.0.0 <6.0.0"},{"fix":"Run 'npm audit' regularly; consider overriding vulnerable transitive deps if needed.","message":"Plugin depends on dts-bundle-generator which uses libraries that may have vulnerabilities; audit transitive dependencies.","severity":"security","affected_versions":">=4.0.0"},{"fix":"Upgrade to v5.1.1 or later; use forward slashes in configuration paths.","message":"Windows path handling may produce empty output file if paths contain backslashes; fixed in v5.1.1.","severity":"gotcha","affected_versions":"<5.1.1"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Change to import statement or downgrade to v5.1.1.","cause":"Using require() in v6 which dropped CJS support.","error":"Cannot find module 'bundle-declarations-webpack-plugin'. Did you mean to import \"bundle-declarations-webpack-plugin\"?"},{"fix":"Use: import BundleDeclarationsWebpackPlugin from 'bundle-declarations-webpack-plugin'","cause":"Using default import incorrectly or missing default export.","error":"TypeError: BundleDeclarationsWebpackPlugin is not a constructor"},{"fix":"Verify entry path and file extension; entry must point to a TypeScript file.","cause":"Entry path is incorrect or file has no .ts/.tsx extension.","error":"Error: Plugin could not find any TypeScript files in entry"},{"fix":"Run: npm install dts-bundle-generator --save-dev","cause":"Missing peer dependency; dts-bundle-generator not installed.","error":"Module not found: Error: Can't resolve 'dts-bundle-generator'"},{"fix":"Ensure new BundleDeclarationsWebpackPlugin() is added to the plugins array in Webpack config.","cause":"Instantiated incorrectly or not a Webpack plugin.","error":"The class \"BundleDeclarationsWebpackPlugin\" has no public member \"apply\". "}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}