rollup-dts-bundler
v1.0.4
Published
Rollup plugin for accurate .d.ts bundling via @microsoft/api-extractor.
Downloads
531
Maintainers
Readme
rollup-dts-bundler
Rollup plugin for accurate .d.ts bundling via @microsoft/api-extractor.
Why?
@microsoft/api-extractor is Microsoft's official .d.ts bundler. Unlike common alternatives (rollup-plugin-dts, rolldown-plugin-dts, dts-bundle-generator), it doesn't mangle type names or drop re-exports. Problem is, it was designed as a monolithic CLI with verbose config files. This plugin exposes it as a simple Rollup interface.
Usage
Install the package from npm:
npm install --save-dev rollup-dts-bundlerAdd it to your rollup.config.js:
import { dts } from 'rollup-dts-bundler'
export default [
// …
{
input: 'src/index.ts',
output: { file: 'dist/index.d.ts', format: 'es' },
plugins: [dts()],
}
]Then point your package.json at the output:
"types": "dist/index.d.ts",External libraries (e.g.
@types/*) are automatically excluded from bundling.
Options
dts({
// Path to tsconfig.json (relative to cwd or absolute).
// When omitted, walks up from the entry's directory to find the nearest tsconfig.
tsconfig: 'tsconfig.build.json',
// npm package names whose declarations should be inlined into the output
// instead of left as external imports. Useful for re-exporting types from
// an internal workspace package.
bundledPackages: ['@my-scope/internal-types'],
})How it works
The entry point is stubbed out so Rollup only provides the input/output config. All real work happens in the generateBundle hook: declarations are emitted via tsc, fed to api-extractor, and the result is output as an asset.
Releases
Releases publish to npm with OIDC provenance after the test suite passes at 100% coverage. Renovate dependency updates on main release automatically; npm run release cuts a manual release. See RELEASING.md for details.
