docfy generate

Skanuje Twój projekt i generuje wstępnie wypełniony *.controller.docs.ts dla każdego kontrolera, wyłącznie przez analizę statyczną, żaden kod projektu nie jest wykonywany.

Użycie

bash
npx nestjs-docfy generate [options]

Opcje

OptionDefaultDescription
--root <path>.Project root directory
--tsconfig <path>auto-detectedPath to tsconfig.json
--pattern <glob>**/*.controller.tsGlob pattern to find controllers
--out <path>alongside each controllerOutput directory for generated files
--forcefalseMerge new methods into existing docs files (preserves user edits)
--overwritefalseDiscard existing docs file content and regenerate it from scratch (takes precedence over --force)
--dry-runfalsePrint what would be generated without writing files
--quietfalseSuppress all output except errors (CI-friendly)
--formattsOutput format: ts or js
--watchfalseRe-generate on controller file changes
--register-pluginfalseIf webpack: true is set without the CLI plugin, add nestjs-docfy to nest-cli.json's compilerOptions.plugins. See The CLI plugin.

Typy projektów

CLI automatycznie wykrywa układ Twojego projektu, bez konfiguracji:

LayoutDetected when
Simple projecttsconfig.json at root, no monorepo markers
Nx monoreponx.json present
Nest CLI monoreponest-cli.json with "monorepo": true
Generic monorepopackages/ or apps/ with sub-package.json files

Idempotencja: --force vs --overwrite

ScenarioBehavior
Run generate on a clean projectCreates all docs files
Run generate again (no changes)Skips all existing files, safe to run repeatedly
Add a new endpoint, run generate --forceMerges new method block, preserves existing arrays
Edit a method's decorators, run --forceYour edits are preserved
Run generate --overwriteDiscards the file entirely, regenerates from scratch

Skrypt npm

Dodaj do swojego package.json dla wygody:

json
{
  "scripts": {
    "docs:generate": "nestjs-docfy generate",
    "docs:preview": "nestjs-docfy generate --dry-run"
  }
}