Registry / type-stubs / rollup-plugin-dts

rollup-plugin-dts

JSON →
library6.4.1jsnpmunverified

A Rollup plugin for bundling .d.ts TypeScript definition files into a single file. Current stable version is 6.4.1, released under maintenance mode with occasional compatibility updates for new TypeScript releases. Key differentiators: leverages TypeScript's own compiler for import resolution, automatically externalizes node_modules and @types, supports sourcemaps for Go-to-Definition via declarationMap. Alternatives include API Extractor and dts-bundle-generator. Requires Node >=20, peer dependencies rollup ^3.29.4 || ^4 and TypeScript ^4.5 || ^5.0 || ^6.0.

npm install rollup-plugin-dts
INSTALL
IMPORT
SIG · ROLLUP-PLUGIN-DTS
R
rollup-plugin-dts
type-stubsjavascriptv6.4.1
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

dts (named)
import { dts } from 'rollup-plugin-dts'
const { dts } = require('rollup-plugin-dts')
Use named import to avoid 'dts is not a function' error in Rollup configs. CommonJS require may break due to ES module export.
dts (default)
import dts from 'rollup-plugin-dts'
const dts = require('rollup-plugin-dts').default
Default import still supported for legacy code, but named import is preferred for compatibility.
DtsOptions
import type { DtsOptions } from 'rollup-plugin-dts'
import { DtsOptions } from 'rollup-plugin-dts'
Type import; do not use value import as it will cause runtime error.

Basic Rollup configuration to bundle .d.ts files using the dts plugin. Input is .ts file, output is single .d.ts file.

// rollup.config.js import { dts } from 'rollup-plugin-dts'; export default { input: './src/index.ts', output: { file: './dist/types/index.d.ts', format: 'es', }, plugins: [dts()], };
Debug
Known issues
breakingVersion 6 requires Node >=20 and TypeScript ^4.5 || ^5.0 || ^6.0. Older Node/TS versions incompatible.
fix
Update Node to >=20, TypeScript to ^4.5+.
affects: >=6.0.0
breakingVersion 4 drops support for Rollup 2. Only Rollup ^3.29.4 || ^4 supported.
fix
Upgrade Rollup to ^3.29.4 or ^4.
affects: >=4.0.0
deprecatedDefault import is deprecated in favor of named import { dts }.
fix
Use import { dts } from 'rollup-plugin-dts' instead.
affects: >=4.0.0
gotchaPlugin automatically externalizes all node_modules, but external packages' .d.ts files are not bundled unless includeExternal option is set.
fix
Use includeExternal option to bundle specific packages.
affects: >=1.0.0
gotchaUsing other resolution plugins (e.g., @rollup/plugin-node-resolve) can cause conflicts and is not recommended.
fix
Do not use other Rollup plugins that modify module resolution.
affects: >=1.0.0
Errors
Common errors & fixes
[!] TypeError: dts is not a function
Using default import or CommonJS require in Rollup config; the module exports a named function.
fix
Use import { dts } from 'rollup-plugin-dts' or use .mjs extension and named import.
Error: Could not resolve 'some-module' from 'file.d.ts'
The plugin cannot find a module referenced in .d.ts file (likely not in node_modules).
fix
Ensure the module is installed or marked as external in tsconfig or plugin options.
TypeError: Cannot read properties of undefined (reading 'program')
Missing or invalid tsconfig.json; plugin needs TypeScript project configuration.
fix
Create a tsconfig.json with appropriate settings or use the tsconfig option.
Upgrade
Version history
6.4.1latest on npm
Audit
Dependencies
rolluprequiredPeer dependency; the plugin is a Rollup plugin.
typescriptrequiredPeer dependency; uses TypeScript's compiler API for .d.ts parsing and resolution.
Agent activity
25 hits · last 30 days
node
22
Amazon
1
OpenAI (training)
1
Resources
rollup-plugin-dts — npm install rollup-plugin-dts · libregistry