typescript - NestJs: Varför packar monorepo-läge bara rotappen,


Jag har ett Nest-projekt uppsatt i monorepo-läge. Men när jag kör yarn build, lägger Nest endast rotappen i dist-mappen. Här är hur min projektstruktur ser ut:

.
└── cloud-kruser-backend
    ├── apps
    │   ├── root-app
    │   │   ├── src
    │   │   └── test
    │   └── hello
    │       ├── src
    │       └── test
    └── dist
        └── apps
            └── root-app

Efter att ha kört yarn build skulle jag förvänta mig att dist innehåller både root-app och hello.

Här är de relevanta konfigurationsfilerna:

./nest-cli.json

{
  "$schema": "https://json.schemastore.org/nest-cli",
  "collection": "@nestjs/schematics",
  "sourceRoot": "apps/root-app/src",
  "monorepo": true,
  "root": "apps/root-app",
  "compilerOptions": {
    "webpack": true,
    "tsConfigPath": "apps/root-app/tsconfig.app.json"
  },
  "projects": {
    "root-app": {
      "type": "application",
      "root": "apps/root-app",
      "entryFile": "main",
      "sourceRoot": "apps/root-app/src",
      "compilerOptions": {
        "tsConfigPath": "apps/root-app/tsconfig.app.json"
      }
    },
    "hello": {
      "type": "application",
      "root": "apps/hello",
      "entryFile": "main",
      "sourceRoot": "apps/hello/src",
      "compilerOptions": {
        "tsConfigPath": "apps/hello/tsconfig.app.json"
      }
    }
  }
}

./apps/root-app/tsconfig.app.json

{
  "extends": "../../tsconfig.json",
  "compilerOptions": {
    "declaration": false,
    "outDir": "../../dist/apps/root-app"
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist", "test", "**/*spec.ts"]
}

./apps/hello/tsconfig.app.json

{
  "extends": "../../tsconfig.json",
  "compilerOptions": {
    "declaration": false,
    "outDir": "../../dist/apps/hello"
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist", "test", "**/*spec.ts"]
}

Svar #1

nest build, liksom nest start, kommer i sig själv endast att köras på huvudappen. Om du behöver bygga en annan app också, behöver du använda nest build <app-namn>, t.ex. nest build hello