Skip to content

Node.js Express generator (TypeScript) #34

@mathieusouflis

Description

@mathieusouflis

Problem statement

Developers building Node.js REST APIs with Express cannot use dot. They have to set up TypeScript config, project structure, linting, and the server boilerplate by hand every time.

Proposed solution

Implement NodeExpressGenerator in generators/typescript/express.go.

  • Name(): "node-express"
  • Language(): "typescript"
  • Modules(): ["express"]

Apply() generates (file structure varies by spec.Config.Architecture):

MVC:

src/
  index.ts          ← Express server entry
  controllers/
  models/
  routes/
  middlewares/
package.json
tsconfig.json
.eslintrc.json

Clean Architecture:

src/
  domain/
  usecases/
  interfaces/controllers/
  infrastructure/

Hexagonal:

src/
  core/             ← domain + ports
  adapters/         ← primary (HTTP) + secondary (DB, external)

Commands registered: new route <name>, new controller <name>, new middleware <name>

Alternatives considered

Generate a framework-agnostic Node.js setup and let the developer add Express. Rejected — dot's value is the complete, wired-up scaffold, not a blank slate.

Area

Core

Additional context

Uses static composition with TSMVCGenerator, TSCleanArchGenerator, or TSHexagonalGenerator based on spec.Config.Architecture. Depends on: TypeScript architecture generators.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions