Skip to content

feat: npm launcher를 Rust binary로 전환 - #11

Merged
JeremyDev87 merged 1 commit into
masterfrom
codex/rust-npm-cutover
Apr 18, 2026
Merged

feat: npm launcher를 Rust binary로 전환#11
JeremyDev87 merged 1 commit into
masterfrom
codex/rust-npm-cutover

Conversation

@JeremyDev87

Copy link
Copy Markdown
Owner

요약

  • npm launcher를 JS business logic 대신 vendor/<triple>/legolas[.exe] 를 실행하는 thin launcher로 전환했습니다.
  • package.json, scripts/check-pack.mjs, CI/release workflow를 Rust vendor 배포 모델에 맞게 정리했습니다.
  • README/CONTRIBUTING 문서를 npx 사용자 경로와 cargo 기반 contributor 경로로 분리해 현재 배포 방식과 맞췄습니다.

검증

  • cargo test --workspace
  • npm test
  • npm run smoke
  • node ./scripts/stage-local-vendor-binary.mjs
  • node ./scripts/verify-vendor-layout.mjs
  • node ./bin/legolas.js --version
  • node ./bin/legolas.js help
  • node ./bin/legolas.js scan tests/fixtures/parity/basic-app
  • npm run pack:check
  • npm pack --dry-run --json --cache ./.npm-cache

메모

  • missing vendor binary 경로도 로컬에서 확인했고, legolas: no packaged Rust binary for <platform>/<arch> 로 실패하도록 고정했습니다.
  • 로컬 smoke를 위해 생성한 host vendor binary는 커밋하지 않았습니다.

@JeremyDev87

Copy link
Copy Markdown
Owner Author

독립 fresh-session 리뷰 결과

  • Verdict: CHANGE_REQUEST
  • Findings:
    • [높음] bin/legolas.js:9-20, package.json:18-31: 런처는 darwin/x64, darwin/arm64, linux/x64, win32/x64만 지원하는데 패키지 메타데이터에 os/cpu 제한이 없습니다. 그래서 지원하지 않는 호스트에서도 npm install은 성공하고 첫 실행에서야 legolas: no packaged Rust binary ...로 실패합니다.
    • [중간] .github/workflows/release.yml:169-218: 릴리스 파이프라인은 Ubuntu에서만 패키징 런처를 실제 실행합니다. Windows/macOS용 vendor 레이아웃은 복사와 이름만 검증하고 실제 실행은 하지 않아 해당 타깃 회귀를 릴리스 전에 놓칠 수 있습니다.
  • Rationale: 네이티브 컷오버 방향은 맞지만, 지원 플랫폼 경계가 npm package와 release 검증에 충분히 고정되지 않아 아직 merge-safe 하다고 보긴 어렵습니다.

참고: 작성자와 리뷰 계정이 같아 GitHub 정책상 공식 request-changes review 대신 PR comment로 남깁니다.

@JeremyDev87
JeremyDev87 force-pushed the codex/rust-npm-cutover branch from 7472baf to a2d5105 Compare April 18, 2026 16:16
@JeremyDev87

Copy link
Copy Markdown
Owner Author

독립 fresh-session 리뷰 결과

  • Verdict: APPROVE
  • Findings: 없음
  • Rationale: Rust 바이너리 배포 전환에 필요한 런처, pack 검사, CI/release 검증이 서로 맞물리게 정리됐고, 현재 diff 범위에서 merge를 막을 수준의 버그나 설정 오류는 보이지 않습니다.

참고: 작성자와 리뷰 계정이 같아 GitHub 정책상 공식 approve review 대신 PR comment로 남깁니다.

@JeremyDev87 JeremyDev87 self-assigned this Apr 18, 2026
@JeremyDev87
JeremyDev87 merged commit ac7d906 into master Apr 18, 2026
7 checks passed
@JeremyDev87
JeremyDev87 deleted the codex/rust-npm-cutover branch April 18, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant