← ClaudeAtlas

nest-server-core-vendoringlisted

Knowledge base for projects that vendored the @lenne.tech/nest-server core into their source tree (projects/api/src/core/, no npm dependency). Covers detecting a vendored project, the one-way vendor model, when `src/core/` may be touched, the flatten-fix pattern, upstream sync and upstream-PR workflows, and cosmetic-vs-substantial classification. Activates on vendored core discussions, "sync core from upstream", or vendor-sync conflicts. NOT for npm-based nest-server updates (use nest-server-updating). NOT for writing new NestJS code (use generating-nest-servers).
lenneTech/claude-code · ★ 0 · API & Backend · score 72
Install: claude install-skill lenneTech/claude-code
# Vendored nest-server core Knowledge Base ## Gotchas - **Flatten-fix edge case on `core-persistence-model.interface.ts`** — During flatten-fix, most files get `'../../..'` rewritten to `'../..'`. This file is an exception: it sits one directory deeper and needs `'../../..'` → `'../..'` → `'..'`. Missing this step causes a silent `Cannot find module` at runtime, not compile-time. - **`migrate` CLI disappears after vendoring** — The upstream `@lenne.tech/nest-server` package exports a `migrate` binary in its `package.json`. When vendored (no longer a dependency), that binary is gone from `node_modules/.bin/`. `convert-mode` copies `bin/migrate.js` into the project and repoints the `migrate:*` scripts at it. See "The migrate CLI in a Vendored Project" below — and note that the **production** path differs from the local ts-node path, which is how migrations end up silently never running in the container. - **Cosmetic commits are tempting upstream PR candidates** — Formatting-only, linting-only, or rename-only commits look substantive but offer no value as upstream PRs. The contributor agent filters these — if authoring manually, verify the commit changes behavior, not just style. - **Local patches in `src/core/` are invisible to future `/update-nest-server-core` runs** — The updater does AI-driven curation but cannot read your intent. Document every intentional local deviation in `src/core/LOCAL-PATCHES.md` so the next sync doesn't silently undo your work. This skill provides