https://github.com/hyrious/dts
Invoke rollup-plugin-dts to generate bundled .d.ts file
https://github.com/hyrious/dts
Last synced: 9 months ago
JSON representation
Invoke rollup-plugin-dts to generate bundled .d.ts file
- Host: GitHub
- URL: https://github.com/hyrious/dts
- Owner: hyrious
- License: mit
- Created: 2023-02-17T10:33:26.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-06-25T05:24:57.000Z (11 months ago)
- Last Synced: 2025-07-25T11:31:31.462Z (10 months ago)
- Language: TypeScript
- Homepage: https://npm.im/@hyrious/dts
- Size: 197 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# @hyrious/dts
> Invoke [rollup-plugin-dts](https://github.com/Swatinem/rollup-plugin-dts) to generate bundled .d.ts file
## Usage
```bash
npx @hyrious/dts src/index.ts -o dist/index.d.ts
```
### Bonus
- Add `-p` to enable tripple-slash doc comments (will be transformed to `/** comments */`).
- Add env `NO_DTS` to turn the CLI to no-op, useful in local developing without type changes.
> [!IMPORTANT]
> Do not use this package as a type-checking linter.
> 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.
## Changelog
### 0.3.4
- Fix `-o file.d.mts` should emit correct file.
### 0.3.3
- Add env `DTS_FAST=1` to enable `--fast` for easier usage.
- Change the API output `reused` to the cache location.
### 0.3.2
- Add `--fast` to reuse last build output for impatient users like me.
### 0.3.1
- 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](https://rollupjs.org/repl/?shareable=JTdCJTIyZXhhbXBsZSUyMiUzQSUyMiUyMiUyQyUyMm1vZHVsZXMlMjIlM0ElNUIlN0IlMjJjb2RlJTIyJTNBJTIyZnVuY3Rpb24lMjBmb28oKSUyMCU3QiU1Q24lMjAlMjByZXR1cm4lMjAxJTVDbiU3RCU1Q24lNUNuZXhwb3J0JTIwZGVmYXVsdCUyMGZvbyUyMiUyQyUyMmlzRW50cnklMjIlM0F0cnVlJTJDJTIybmFtZSUyMiUzQSUyMm1haW4uanMlMjIlN0QlNUQlMkMlMjJvcHRpb25zJTIyJTNBJTdCJTIyb3V0cHV0JTIyJTNBJTdCJTIyZm9ybWF0JTIyJTNBJTIyY2pzJTIyJTdEJTdEJTdE) will do this when there's only one export (and is default export).
- Fix a typo bug which causes `-d` not working.
### 0.3.0
- **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:
```console
$ 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.
### 0.2.11
- Temporarily patch `rollup-plugin-dts` (using `-p`) to force emit (ignore any type error).
### 0.2.10
- Change the dependency version of `esbuild` to `*`.
### 0.2.9
- Fix: Do not resolve JavaScript files.
### 0.2.8
- Downgrade `esbuild` to `^0.21.5` to be compatible with `vite` related toolchains.
### 0.2.7
- Add `--empty` option to mark modules as empty, like virtual modules.
- Resolve paths alias with esbuild.
- Turn off all strict options.
### 0.2.6
- Add `NO_DTS` env to disable dts generation when using the CLI.
### 0.2.5
- Add `--alias` option to rename external modules, because `rollup-plugin-dts` does not read `"paths"` when they are externalized.
### 0.2.4
- Remove `preserveSymlinks` config, which seems work differently than setting it.
### 0.2.0
- Upgrade `rollup-plugin-dts` to 6.x (was 5.x)
## License
MIT @ [hyrious](https://github.com/hyrious)