Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Avoid any configuration headache and create any typescript ES-module-based app following the best architectural and design practices by applying DDD. This template contains only the bare minimum necessary for creating a complex business logic app.

NotificationsYou must be signed in to change notification settings

AnderGI/create-typescript-app

Repository files navigation

A modern TypeScript monorepo template for building DDD-first projects using ESM, Turbo, and strict tooling.

📦 Overview

This project template provides a structured and scalable starting point for TypeScript applications based on:

  • ES Modules usingmodule: nodenext
  • Domain-Driven Design (DDD) principles
  • Monorepo support viapnpm workspaces andturborepo
  • Modern development setup withtsx,vitest, andeslint

🧱 Project Structure

create-ts-ddd-esm/├── src/│   ├── apps/                  # Entry points of the system (backend, landing)│   ├── contexts/              # Bounded contexts (domain, application services, etc.)│   └── libraries/             # Shared utilities or base libraries├── tests/                    # Tests organized by apps/contexts/libraries├── dist/                     # Build output (by default structured by app)├── tsconfig.base.json        # Shared TypeScript config├── tsconfig.json             # Root TS config with references├── turbo.json                # Turborepo build pipeline├── pnpm-workspace.yaml       # pnpm workspace packages└── README.md

⚙️ Tooling

  • TypeScript 5.8
  • ESM-compatible (NodeNext)
  • TurboRepo for caching and incremental builds
  • tsx for running.ts files without pre-compilation
  • Astro (Starlight template) for the documentation/landing site
  • Vitest for unit testing
  • ESLint (typescript-eslint) for consistent code quality

🚀 Scripts

Each package contains its ownpackage.json and may define:

"scripts": {"dev":"tsx start.ts","build":"tsc -b"}

At the root:

pnpm dev# Start all dev servers concurrentlypnpm build# Run builds for all packages via turbo

✨ Features

  • Strict typing (strict: true,isolatedModules, etc.)
  • ESM-first (type: module,module: nodenext, etc.)
  • Support for subpath imports and Node 22+ conventions
  • Modular build outputs (each app/library indist)
  • Ready to publish libraries with declaration maps

🛠️ TODO (Post-Scaffold)

  • Configure CI/CD
  • Setup versioning strategy for libraries
  • Integrate testing coverage and reports
  • Add landing site content

📄 License

MIT


Start building high-quality, scalable TypeScript projects without wasting time setting up the basics. 🚀

About

Avoid any configuration headache and create any typescript ES-module-based app following the best architectural and design practices by applying DDD. This template contains only the bare minimum necessary for creating a complex business logic app.

Resources

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp