Skip to content

fix(api): resolve dependency conflicts blocking Backend CI and E2E - #247

Open
Dev-Odun-oss wants to merge 1 commit into
Afro-Pay:mainfrom
Dev-Odun-oss:fix/api-ci-dependency-conflicts
Open

fix(api): resolve dependency conflicts blocking Backend CI and E2E#247
Dev-Odun-oss wants to merge 1 commit into
Afro-Pay:mainfrom
Dev-Odun-oss:fix/api-ci-dependency-conflicts

Conversation

@Dev-Odun-oss

Copy link
Copy Markdown
Contributor

Fixes #246.

Problem

npm ci in apps/api fails on every fresh install with an ERESOLVE error: @nestjs/swagger@^11.4.5 requires @nestjs/common@^11.0.1, but the rest of the app pins Nest to ^10.0.0. This blocks the Backend CI (API) and E2E Tests jobs before a single test runs — reproducible identically on main, unrelated to any specific feature branch.

Once that's unblocked, the app also fails to compile: src/app.module.ts imports LoggerModule from nestjs-pino (with a pino-pretty transport), but neither package is declared in package.json.

Changes

  • apps/api/package.json: pin @nestjs/swagger to ^8.1.1 (last major compatible with Nest 10's peer range ^9.0.0 || ^10.0.0). Checked every swagger API used in this codebase (ApiTags, ApiOperation, ApiResponse, ApiBearerAuth, ApiQuery, ApiHeader, ApiProperty, ApiPropertyOptional) — all unchanged across v8.
  • Add nestjs-pino and pino-pretty as direct dependencies.
  • Regenerated package-lock.json.

Verification

  • npm ci now succeeds with no ERESOLVE errors
  • npm run prisma:generate succeeds
  • npm run test: 103 tests passing across 12/18 suites (up from a hard install failure on main today — before this fix, npm ci never even completed)

Out of scope (tracked separately, unrelated to this fix)

  • Pre-existing repo-wide lint debt (22 unused-import errors across ~13 files)
  • A Prisma field mismatch in audit.service.ts that blocks E2E test compilation
  • A frontend vitest/jsdom/undici version incompatibility breaking accessibility tests
  • The Vercel check, which fails only on "Authorization required to deploy" (an org/project setting, not a code issue)

🤖 Generated with Claude Code

- pin @nestjs/swagger to ^8.1.1 (was ^11.4.5, which requires Nest 11
  while the app runs Nest 10 — caused npm ci ERESOLVE failures in
  Backend CI and E2E). Verified the swagger decorators used in this
  codebase (ApiTags/ApiOperation/ApiResponse/ApiBearerAuth/ApiQuery/
  ApiProperty/ApiHeader) are unchanged across v8.
- add missing nestjs-pino and pino-pretty deps, imported by
  src/app.module.ts but never declared in package.json, which broke
  compilation for any test run.

Both issues are reproducible identically on main. Backend/E2E CI
still has separate, unrelated pre-existing failures (repo-wide lint
debt, a Prisma field mismatch in audit.service.ts, and a frontend
vitest/jsdom incompatibility) that are tracked separately and out of
scope here.

closes Afro-Pay#246

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 19, 2026

Copy link
Copy Markdown

@Dev-Odun-oss is attempting to deploy a commit to the milah's projects Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Backend CI broken: npm ci fails on @nestjs/swagger/Nest peer conflict, missing nestjs-pino dependency

1 participant