Skip to content

fix: 배포 검증의 Nodemailer 패킹을 pnpm으로 통일 - #4004

Merged
ayden94 merged 1 commit into
mainfrom
fix/release-email-pack-20261014
Oct 14, 2026
Merged

ayden94 merged 1 commit into
mainfrom
fix/release-email-pack-20261014

Conversation

@ayden94

@ayden94 ayden94 commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Changesets Release의 npm 게시를 막은 email consumer 검증 실패를 해결합니다.

Linked context: Version Packages (#3852) 병합 후 실행 38565422895가 Verify release readiness에서 실패했습니다. Nodemailer 10.1.0의 테스트용 npm pack이 Exit handler never called!로 종료되어 게시 단계가 실행되지 않았습니다.

Changes

  • 테스트 fixture의 패킹 명령을 저장소에 고정된 pnpm 10.4.1로 통일합니다.
  • 이미 빌드된 Nodemailer는 --config.ignore-scripts=true로 패킹해 배포 tarball에 없는 prepare 소스를 실행하지 않습니다.
  • 기존 clean consumer 테스트에 npm pack 실패를 주입하고 실제 pnpm 패킹, npm 오프라인 설치, 타입 검사와 artifact writer 잠금 검증을 유지합니다.
  • AI가 수정 코드와 회귀 테스트를 작성하고 실행 결과와 diff를 검증했습니다. 사람의 추가 코드 리뷰를 수행했다고 주장하지 않습니다.

Testing

  • 수정 전 오류 주입 테스트: npm error Exit handler never called!로 실패 확인.
  • pnpm exec vitest run --project packages packages/email --maxWorkers=1: 8개 파일, 75개 테스트 통과.
  • pnpm --filter '@fluojs/testing...' build 후 pnpm --filter @fluojs/email typecheck: 통과.
  • pnpm exec biome lint packages/email/src/node/packed-consumer.fixture.ts packages/email/src/node/packed-consumer-typecheck.test.ts: 통과.
  • git diff --check: 통과.
  • 전체 로컬 CI는 반복하지 않았습니다. GitHub exact-head CI와 병합 후 canonical Changesets Release의 실제 게시 결과를 확인합니다.
  • npm 내부 오류의 상세 원인은 로컬에서 재현되지 않았습니다. 이 변경은 실패한 npm pack 경로를 제거합니다.

Release impact

  • This PR has consumer-visible release impact and includes a changeset.
  • This PR has no consumer-visible release impact.

변경 파일은 배포 산출물에서 제외되는 테스트와 fixture뿐이며 공개 API, 버전, 패키지 내용은 바꾸지 않습니다. 기존 Version Packages 버전의 게시를 복구합니다.

Public export documentation

공개 export 변경 없음.

Behavioral contract

  • No documented behavioral contracts were removed without migration notes.
  • Runtime invariants are covered by regression tests.

clean consumer의 strict 타입 검사, skipLibCheck: false, workspace snapshot 잠금, 실제 tarball 설치를 유지합니다.

Platform consistency governance (SSOT)

문서 또는 플랫폼 계약 변경 없음.

@ayden94
ayden94 merged commit 14a834a into main Oct 14, 2026
7 checks passed
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.

1 participant