hyrious/dts(opens in a new tab)
Language: TypeScript
Invoke rollup-plugin-dts to generate bundled .d.ts file
- stars
- 3
- watchers
- 1
- forks
- 0
- open issues
- 1
- Last updated
- 03/24/2026
Language: TypeScript
Invoke rollup-plugin-dts to generate bundled .d.ts file
Invoke rollup-plugin-dts to generate bundled .d.ts file
npx @hyrious/dts src/index.ts -o dist/index.d.ts
-p to enable:
/** comments */).--oxc to generate types with oxc-transform.NO_DTS to turn the CLI to no-op, useful in local developing without type changes.DTS_FAST to reuse last build output.Important
Do not use this package as a type-checking linter. You still need tsc --noEmit.
It intentionally ignores any type error to make it work with any codebase.
My goal is to generate .d.ts files instead of checking types.
oxc-transform changes.oxc-transform version range.TypeScript itself instead of esbuild to resolve aliases.--oxc to get types from oxc-transform, which can be super fast.-o file.d.mts should emit correct file.DTS_FAST=1 to enable --fast for easier usage.reused to the cache location.--fast to reuse last build output for impatient users like me.Add --cjs to enable fix-dts-default-cjs-exports to transform CJS types.
This assumes the default export will become the whole CJS export (module.exports = default_export). So the bundler should be configured correctly to do so. For example, Rollup will do this when there's only one export (and is default export).
Fix a typo bug which causes -d not working.
Breaking: Change --outfile to --file so it will be more like rollup.
Add -d option to specify the output directory, and now it supports multiple entry points!
The input args grammar is like esbuild:
$ dts foo=src/foo.ts bar=src/buzz.ts Will build dist/foo.d.ts and dist/bar.d.ts
Remove the json plugin. Now json imports are externalized and the path will be rewritten to relative to the output file.
rollup-plugin-dts (using -p) to force emit (ignore any type error).esbuild to *.esbuild to ^0.21.5 to be compatible with vite related toolchains.--empty option to mark modules as empty, like virtual modules.NO_DTS env to disable dts generation when using the CLI.--alias option to rename external modules, because rollup-plugin-dts does not read "paths" when they are externalized.preserveSymlinks config, which seems work differently than setting it.rollup-plugin-dts to 6.x (was 5.x)MIT @ hyrious