fix: make generated workspace installs reproducible - #1742
Conversation
|
Warning Review limit reached
Next review available in: 48 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughcreate-croco-app 템플릿의 Turbo 버전을 Changes생성 워크스페이스 재현성
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant Generator as create-croco-app generator
participant Pnpm as pnpm
participant Workspace as 생성 워크스페이스
participant Smoke as 생성 앱 스모크 테스트
Generator->>Pnpm: pnpm --version
Pnpm-->>Generator: pnpm 가용성 결과
Generator->>Pnpm: pnpm install --no-frozen-lockfile
Pnpm->>Workspace: 의존성 설치 및 lockfile 갱신
Generator->>Pnpm: pnpm install --lockfile-only --frozen-lockfile
Pnpm->>Workspace: lockfile 검증
Smoke->>Pnpm: pnpm install --frozen-lockfile
Pnpm->>Workspace: 생성 앱 CI 설치 계약 검증
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
📊 Benchmark Results✅ All benchmarks passed
Updated: 2026-08-05T05:35:06.749Z · Commit: 5c32796 |
689fd75 to
b531110
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/create-croco-app/src/tests/generator-install.spec.ts`:
- Around line 45-49: Update the generator install test assertions around
execSyncMock to verify call order and total invocation count, using
toHaveBeenNthCalledWith or mock.calls: assert the --no-frozen-lockfile command
is first and the --lockfile-only --frozen-lockfile command is second, while
preserving the existing cwd and stdio options.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 0608a721-394e-420b-8522-09b7524986b6
📒 Files selected for processing (11)
.changeset/fresh-scaffolds-lock-dependencies.mdpackages/create-croco-app/src/generator.tspackages/create-croco-app/src/tests/generator-install.spec.tspackages/create-croco-app/src/tests/templates-build.spec.tspackages/create-croco-app/templates/admin-console/package.json.hbspackages/create-croco-app/templates/ai-saas/package.json.hbspackages/create-croco-app/templates/blank/package.json.hbspackages/create-croco-app/templates/saas/package.json.hbspackages/create-croco-app/templates/spa-be-split/package.json.hbspackages/create-croco-app/test-fixtures/templates/ssr-lambda/package.json.hbsscripts/create-croco-app-generated-smoke.mts
b531110 to
d862d1f
Compare
|
@coderabbitai resolve |
✅ Action performedComments resolved and changes approved. |
e9a8b45 to
9ded80b
Compare
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/create-croco-app/src/generator.ts`:
- Around line 512-516: Update installPnpmDependencies() so each failing pnpm
install is caught and converted into the established RFC 7807 Problem contract,
including a diagnostic code and recovery guidance instead of allowing
ExecSyncError/Error to reach the CLI catch-all. Apply this to both install
commands while preserving their existing working-directory and stdio behavior.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: ec6a155f-70cc-46c4-9e2d-20a990a2fceb
📒 Files selected for processing (11)
.changeset/fresh-scaffolds-lock-dependencies.mdpackages/create-croco-app/src/generator.tspackages/create-croco-app/src/tests/generator-install.spec.tspackages/create-croco-app/src/tests/templates-build.spec.tspackages/create-croco-app/templates/admin-console/package.json.hbspackages/create-croco-app/templates/ai-saas/package.json.hbspackages/create-croco-app/templates/blank/package.json.hbspackages/create-croco-app/templates/saas/package.json.hbspackages/create-croco-app/templates/spa-be-split/package.json.hbspackages/create-croco-app/test-fixtures/templates/ssr-lambda/package.json.hbsscripts/create-croco-app-generated-smoke.mts
|
@coderabbitai resolve |
✅ Action performedComments resolved and changes approved. |
ba07054 to
9f70aa2
Compare
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/create-croco-app/src/tests/templates-build.spec.ts`:
- Around line 1324-1326: Update the template manifest validation around
templateManifests so manifests are not discarded merely because
devDependencies.turbo is absent. Explicitly identify workspace roots whose
scripts use Turbo, then assert those roots declare turbo and match the expected
root version, while retaining validation that manifests without Turbo remain
supported.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 7c1a6ed0-ffa4-416e-b0c9-502840e5127d
📒 Files selected for processing (14)
.changeset/fresh-scaffolds-lock-dependencies.mdpackages/create-croco-app/src/generator.tspackages/create-croco-app/src/libs/problems/PnpmCommandProblem.tspackages/create-croco-app/src/tests/generator-install.spec.tspackages/create-croco-app/src/tests/templates-build.spec.tspackages/create-croco-app/templates/admin-console/package.json.hbspackages/create-croco-app/templates/ai-saas/package.json.hbspackages/create-croco-app/templates/blank/package.json.hbspackages/create-croco-app/templates/saas/package.json.hbspackages/create-croco-app/templates/spa-be-split/package.json.hbspackages/create-croco-app/test-fixtures/templates/ssr-lambda/package.json.hbsscripts/create-croco-app-generated-smoke.mtsscripts/static-misuse-raw-error-allowlist.jsontsconfig/contract-strict.baseline.json
|
@coderabbitai resolve |
✅ Action performedComments resolved and changes approved. |
Outcome
Fresh generated workspaces now pin Turbo to the root-supported 2.10.2 release. Default dependency installation explicitly creates a lockfile before validating that the same lockfile is accepted in frozen mode, and generated-app smoke coverage repeats the CI install contract.
Fixes #1689
Verification
c0dfc1b0a8323c94a7d91844913d6c1dd5b76dc75c6bab893be2dfdd480c71b0) and both passedpnpm install --frozen-lockfile.pnpm --filter create-croco-app test— 137 passed.pnpm exec vitest run scripts/tests/create-croco-app-generated-smoke.spec.ts --config vitest.config.ts— 35 passed.pnpm check— 24/25 passed, 1 not applicable, 0 failed.Review gates
--no-installremains covered; clean generation produced identical dependency graphs.create-croco-app.Residual risk
The admin-console smoke proceeds through install and frozen-install, then hits the existing time-dependent
ExpiredGrantProblemtracked by #1735. The identical five failures reproduce on exact base SHA31636bb5528ff23120bddbe111260c2f7f994b96; this PR does not alter the affected credit fixture.Summary by CodeRabbit
2.10.2로 고정해 일관된 개발 환경을 제공합니다.