# jaredpalmer/tsdx

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jaredpalmer-tsdx).**

11,471 stars · 501 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/jaredpalmer/tsdx
- Homepage: https://tsdx.io
- awesome-repositories: https://awesome-repositories.com/repository/jaredpalmer-tsdx.md

## Topics

`bundling` `jest` `npm` `packaging` `react` `react-dom` `rollup` `typescript` `yarn`

## Description

tsdx is a zero-config command line interface and build tool designed for developing, bundling, and distributing TypeScript libraries. It functions as a project scaffolder and development toolchain that initializes new libraries from templates with standardized folder structures and pre-configured dependencies.

The project specializes in producing dual-format module distributions, simultaneously generating both CommonJS and ES modules to ensure compatibility across different JavaScript environments. It utilizes a Rollup-based bundling system to compile TypeScript source into optimized distribution formats and automatically generate accompanying type declarations.

Beyond bundling, the toolchain manages the broader development lifecycle by automating static type verification, linting, and source code formatting. It includes a development server with file watching and automatic rebuilds, as well as integrated support for unit test execution and continuous integration workflows.

## Tags

### Development Tools & Productivity

- [TypeScript Bundling](https://awesome-repositories.com/f/development-tools-productivity/project-bundling/typescript-bundling.md) — Provides a zero-config toolchain for bundling and distributing TypeScript libraries with automated type generation.
- [Zero-Config Library Packaging](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-configuration-systems/zero-config-library-packaging.md) — Provides a zero-config CLI that abstracts complex bundler and compiler settings with sensible defaults for library authors.
- [TypeScript Declaration Emitters](https://awesome-repositories.com/f/development-tools-productivity/external-module-declarations/ffi-declaration-generators/typescript-declaration-emitters.md) — Produces TypeScript type definition files from source code to ensure consistent data structures for package consumers. ([source](https://tsdx.io/docs))
- [Project Bootstrapping Templates](https://awesome-repositories.com/f/development-tools-productivity/project-bootstrapping-templates.md) — Initializes new TypeScript library projects from templates with standardized folder structures and pre-configured dependencies.
- [Project Scaffolding](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/project-scaffolding-configuration/project-scaffolding.md) — Generates new library projects from templates with a standardized folder structure and pre-configured dependencies.
- [TypeScript Declaration Generators](https://awesome-repositories.com/f/development-tools-productivity/typescript-declaration-generators.md) — Automatically generates TypeScript declaration files to ensure consumers of the library have full type safety.
- [Bundler Entry Points](https://awesome-repositories.com/f/development-tools-productivity/bundler-entry-points.md) — Maps source files to specific exported paths to generate several distinct output bundles for complex library structures. ([source](https://tsdx.io/docs/project-structure))
- [Hot-Reloading Servers](https://awesome-repositories.com/f/development-tools-productivity/hot-reloading-servers.md) — Provides a development server with hot reloading to give immediate feedback during library development.
- [Path Mapping Configurations](https://awesome-repositories.com/f/development-tools-productivity/path-mapping-configurations.md) — Maps source files to exported paths via configuration to create distinct output bundles for complex library structures.
- [Source Code Formatters](https://awesome-repositories.com/f/development-tools-productivity/source-code-formatters.md) — Standardizes code style automatically using a high-speed formatter to maintain consistency across the codebase. ([source](https://cdn.jsdelivr.net/gh/jaredpalmer/tsdx@master/README.md))
- [Static Code Linting](https://awesome-repositories.com/f/development-tools-productivity/static-code-linting.md) — Analyzes code for errors and enforces consistent styling using integrated high-performance linting tools. ([source](https://tsdx.io/docs))
- [Development Rebuild Triggers](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/development-automation/development-rebuild-triggers.md) — Monitors the filesystem for changes to trigger incremental recompilation and provide immediate developer feedback.
- [Source File Watching](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/development-automation/development-rebuild-triggers/source-file-watching.md) — Monitors source files for changes and triggers automatic rebuilds to provide a continuous feedback loop. ([source](https://cdn.jsdelivr.net/gh/jaredpalmer/tsdx@master/README.md))

### Web Development

- [Dual Module Formats](https://awesome-repositories.com/f/web-development/es-module-support/dual-module-formats.md) — Simultaneously produces both CommonJS and ES module distributions to ensure compatibility across all JavaScript environments.

### DevOps & Infrastructure

- [Production Asset Compilation](https://awesome-repositories.com/f/devops-infrastructure/production-asset-compilation.md) — Compiles source code into optimized, production-ready distribution files through a zero-config build process. ([source](https://cdn.jsdelivr.net/gh/jaredpalmer/tsdx@master/README.md))

### Programming Languages & Runtimes

- [TypeScript Bundle Compilation](https://awesome-repositories.com/f/programming-languages-runtimes/rollup-compatible-bundlers/typescript-bundle-compilation.md) — Uses Rollup to compile TypeScript source into optimized distribution formats and type declarations.

### Testing & Quality Assurance

- [JavaScript and TypeScript Toolchains](https://awesome-repositories.com/f/testing-quality-assurance/code-quality-review/code-quality-tools/formatting-and-linting-pipelines/javascript-and-typescript-toolchains.md) — Manages linting, formatting, and type checking through a unified command line interface.
- [Test Suite Execution](https://awesome-repositories.com/f/testing-quality-assurance/test-suite-execution.md) — Runs unit test suites to validate library functionality with high performance. ([source](https://tsdx.io/docs))

### Software Engineering & Architecture

- [Static Type Checkers](https://awesome-repositories.com/f/software-engineering-architecture/static-type-checkers.md) — Executes a type checker to verify static type safety and catch errors across the entire project codebase. ([source](https://cdn.jsdelivr.net/gh/jaredpalmer/tsdx@master/README.md))
