JSPM

ts-package-init

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q20022F
  • License MIT

Fast, minimal, and modern TypeScript project initializer

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ts-package-init) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    ts-package-init

    npm license node downloads

    A fast, minimal TypeScript CLI project initializer for Node.js.

    Create modern TypeScript projects with sensible defaults in seconds — without framework bloat or unnecessary boilerplate.


    Why

    Many TypeScript starter templates are:

    • Over-engineered
    • Framework-heavy
    • Bloated with configuration
    • Hard to customize

    ts-package-init is a lightweight TypeScript CLI tool that scaffolds clean Node.js projects with practical defaults.

    Start fast. Stay minimal. Scale when needed.

    ✨ Features

    • Zero-config TypeScript setup
    • Presets: base, library, backend, cli, monorepo, nestjs, moleculer
    • CommonJS or ESM (--esm)
    • Optional ESLint & Prettier
    • Optional interactive mode (--interactive)
    • Package manager selection (--package-manager)
    • Uses tsx for fast dev experience
    • Works with Node.js 18+

    🚀 Usage

    Quick start

    npx ts-package-init my-app
    cd my-app
    npm run dev

    Using npm init

    npm init ts-package my-app

    Expected output (file tree)

    Minimal structure shown. Additional files are added based on flags.

    Base (default)

    my-app/
      package.json
      tsconfig.json
      src/
        index.ts

    Library

    my-lib/
      package.json
      tsconfig.json
      src/
        index.ts

    Backend

    api/
      package.json
      tsconfig.json
      src/
        index.ts

    CLI

    my-cli/
      package.json
      tsconfig.json
      src/
        index.ts

    Monorepo

    my-workspace/
      package.json
      tsconfig.json
      packages/
        app/
          package.json
          tsconfig.json
          src/
            index.ts

    NestJS

    my-nest/
      package.json
      tsconfig.json
      src/
        index.ts
        main.ts
        app.module.ts
        app.controller.ts
        app.service.ts

    Moleculer

    my-broker/
      package.json
      tsconfig.json
      src/
        index.ts
        moleculer.config.ts
        services/
          greeter.service.ts

    Optional files and changes

    • --eslint: adds eslint.config.js.
    • --prettier: adds eslint.config.js (with Prettier) and .prettierrc.json.
    • --git: adds .git/.
    • --esm: updates package.json and tsconfig.json (no new files).
    • --skip-install / --package-manager: no file tree changes.

    📦 Presets

    Base (default)

    Minimal runnable TypeScript project.

    npx ts-package-init my-app

    Scripts:

    {
      "build": "tsc",
      "dev": "tsx watch src/index.ts"
    }

    Library

    For reusable npm packages.

    npx ts-package-init my-lib --preset library

    Includes:

    • type declarations
    • clean build output

    Backend

    For APIs, workers, and services.

    npx ts-package-init api --preset backend

    Includes:

    • dev, build, start scripts
    • long-running process defaults

    CLI

    For command-line tools.

    npx ts-package-init my-cli --preset cli

    Includes:

    • executable binary
    • Node shebang support

    Monorepo

    For npm workspaces with a minimal app package.

    npx ts-package-init my-workspace --preset monorepo

    Includes:

    • root workspaces config
    • packages/app with build/dev scripts

    NestJS

    Minimal NestJS app scaffold (controller, service, module, main).

    npx ts-package-init my-nest --preset nestjs

    Includes:

    • App controller + service
    • Module + main bootstrap
    • build/dev/start scripts

    Moleculer

    Minimal Moleculer broker scaffold (config + sample service).

    npx ts-package-init my-broker --preset moleculer

    Includes:

    • Broker config
    • Sample service
    • build/dev/start scripts

    📘 ESM Support

    Enable ESM with:

    npx ts-package-init my-app --esm

    This will:

    • set "type": "module"
    • adjust TypeScript config automatically

    🧹 ESLint & Prettier (optional)

    npx ts-package-init my-app --eslint
    npx ts-package-init my-app --prettier

    Prettier automatically enables ESLint integration.


    ⚙️ Additional flags

    npx ts-package-init my-app --interactive
    npx ts-package-init my-app --skip-install
    npx ts-package-init my-app --package-manager pnpm
    npx ts-package-init my-app --git

    🧪 Examples

    npx ts-package-init demo
    npx ts-package-init my-lib --preset library --esm
    npx ts-package-init api --preset backend --eslint --prettier
    npx ts-package-init tool --preset cli
    npx ts-package-init my-workspace --preset monorepo --skip-install
    npx ts-package-init my-nest --preset nestjs --package-manager pnpm
    npx ts-package-init my-broker --preset moleculer --interactive

    🚢 Release

    npm run build
    npm pack --dry-run
    npm publish

    📄 License

    MIT


    Support

    If this package helps you, please consider supporting it:

    ⭐ Star the repository
    ☕ Support the project: https://buymeacoffee.com/mostafahanafy