dtsroll
brew install dtsroll
v1.8.2
MIT
CLI tool for bundling TypeScript declaration files
20
30-day installs · #6821
70
90-day · #6446
418
365-day · #5526
153
★ GitHub stars · updated 2mo ago
Runtime dependencies
GitHub topics
bundle
declaration
dts
typescript
Links
- https://github.com/privatenumber/dtsroll
- GitHub: privatenumber/dtsroll
- Brew formula source: Formula/d/dtsroll.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [
"node"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "CLI tool for bundling TypeScript declaration files",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:37:09+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "dtsroll",
"github_default_branch": "develop",
"github_last_commit_at": "2026-06-19T03:48:50Z",
"github_readme_excerpt": "\u003ch2 align=\"center\"\u003e\n \u003cimg width=\"180\" src=\"./.github/logo.webp\"\u003e\n \u003cbr\u003e\n dtsroll\n \u003cbr\u003e\u003cbr\u003e\n\u003ca href=\"https://npm.im/dtsroll\"\u003e\u003cimg src=\"https://badgen.net/npm/v/dtsroll\"\u003e\u003c/a\u003e \u003ca href=\"https://npm.im/dtsroll\"\u003e\u003cimg src=\"https://badgen.net/npm/dm/dtsroll\"\u003e\u003c/a\u003e\n\u003c/h2\u003e\n\nAre you publishing a TypeScript project where consumers encounter type-checking errors like:\n\n```\nCannot find module \u0027some-package\u0027 or its corresponding type declarations.\n```\n\nWhen you compile with `tsc`, the emitted declaration files (`.d.ts` files) preserve imports exactly as written. So if your published types import from a `devDependency` or a private package (e.g. an internal monorepo package), those imports cannot be resolved by the consumer.\n\n```ts\n// dist/index.d.ts (generated by tsc)\nimport type { SomeType } from \u0027my-private-dependency\u0027 // \u274c consumers can\u0027t resolve this\n\nexport declare function myUtility(): SomeType\n```\n\nIf you can\u0027t move the dependency to `dependencies`, or you just want its types pulled directly into your published declarations, _dtsroll_ is for you.\n\n## What is dtsroll?\n\n_dtsroll_ is a TypeScript declaration (`.d.ts`) file bundler. It\u0027s zero-config and reads your `package.json` to determine how your types should be bundled.\n\n### What dtsroll does\n\n_dtsroll_ runs *after your build when `.d.ts` files have been emitted*, and works in-place to bundle them to their entry points.\n\nSince packages declared in `devDependencies` are not installed for the consumer, _dtsroll_ assumes any imports referencing them should be bundled, as they would otherwise be unresolvable.\n\nThe result is a single, clean `.d.ts` output that works for consumers without extra installs.\n\n```ts\n// dist/index.d.ts (after dtsroll)\ntype SomeType = {\n value: string\n}\n\nexport declare function myUtility(): SomeType\n```\n\n### Features\n\n- **Zero config** \u2014 Automatically finds entry points from `package.json`.\n- **Fixes missing-type errors** \u2014 Inlines types from `devDependencies` so consumers don\u0027t need them i",
"github_repo": "privatenumber/dtsroll",
"github_stars": 153,
"github_topics": [
"bundle",
"declaration",
"dts",
"typescript"
],
"homepage": "https://github.com/privatenumber/dtsroll",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 20,
"installs_365d": 418,
"installs_90d": 70,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "MIT",
"llm_generated_at": null,
"llm_model": null,
"name": "dtsroll",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 6821,
"rank_365d": 5526,
"rank_90d": 6446,
"raw_hash": "93879a896a47a545",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/d/dtsroll.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": null,
"version_stable": "1.8.2",
"versioned_formulae": [],
"why_use_this": null
}