fix: keep generated app linting consistent - #1661
Conversation
📝 WalkthroughWalkthrough생성 템플릿에 Biome 2.3.12 기반 lint 설정을 추가했습니다. 모든 생성 템플릿의 lint 계약과 smoke matrix 검증을 통합했습니다. 관련 바이너리 변경의 빌드 manifest 검증도 확장했습니다. Changes생성 앱 lint 검증
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant TemplateAuthor
participant LintContractValidator
participant SmokeMatrix
participant GeneratedApp
TemplateAuthor->>LintContractValidator: 템플릿 lint 계약 등록
LintContractValidator->>LintContractValidator: 스크립트, 설정, 버전 검사
SmokeMatrix->>LintContractValidator: smoke 실행 전 전체 계약 검사
SmokeMatrix->>GeneratedApp: 각 시나리오에서 lint 실행
GeneratedApp-->>SmokeMatrix: lint 결과 반환
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 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-07-31T17:26:57.142Z · Commit: e56f0b3 |
c5d24fb to
040964e
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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/templates/blank/biome.json`:
- Around line 16-18: Configure JSX quote formatting by adding jsxQuoteStyle set
to single in the formatter configuration of
packages/create-croco-app/templates/blank/biome.json lines 16-18,
packages/create-croco-app/templates/saas/biome.json lines 16-18, and
packages/create-croco-app/templates/ai-saas/biome.json lines 16-18.
In `@scripts/create-croco-app-generated-smoke-support.mts`:
- Around line 72-76: Update the lint-script validation around
isGeneratedLintToolchain so it rejects shell control operators and
failure-masking constructs such as “|| true”, or otherwise validates the
complete command and arguments rather than only the first token; preserve
acceptance of supported lint commands. In
scripts/create-croco-app-generated-smoke-support.mts lines 72-76, implement the
contract check, and in scripts/tests/create-croco-app-generated-smoke.spec.ts
lines 115-144, add a regression test asserting that “biome lint . || true” is
rejected.
🪄 Autofix (Beta)
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: 25c86619-3fad-436f-a9d3-5d56e32e31da
📒 Files selected for processing (19)
.changeset/verified-generated-app-lint.mdpackages/create-croco-app/src/tests/templates-build.spec.tspackages/create-croco-app/templates/admin-console/README.md.hbspackages/create-croco-app/templates/admin-console/biome.jsonpackages/create-croco-app/templates/ai-saas/README.md.hbspackages/create-croco-app/templates/ai-saas/biome.jsonpackages/create-croco-app/templates/ai-saas/package.json.hbspackages/create-croco-app/templates/blank/README.md.hbspackages/create-croco-app/templates/blank/biome.jsonpackages/create-croco-app/templates/blank/package.json.hbspackages/create-croco-app/templates/saas/README.md.hbspackages/create-croco-app/templates/saas/biome.jsonpackages/create-croco-app/templates/saas/package.json.hbspackages/create-croco-app/templates/spa-be-split/README.md.hbsscripts/create-croco-app-generated-smoke-support.mtsscripts/create-croco-app-generated-smoke.mtsscripts/tests/create-croco-app-generated-smoke.spec.tsscripts/tests/verification-manifest.spec.tsscripts/verification-manifest.mts
|
@coderabbitai resolve |
✅ Action performedComments resolved and changes approved. |
Outcome
Verification
10ebcda6b3064a36660155290406ee5b193906db:pnpm check— 24 passed, 1 not applicable, 0 failed.pnpm exec vitest run scripts/tests/verification-manifest.spec.ts scripts/tests/release-spine-evidence.spec.ts --config vitest.config.ts— 37 tests passed.pnpm package-bins:smokepassed 5 packages and 5 bins.git diff --checkpassed.Review gates
Correctness
API, security, and release
@biomejs/biometo2.3.12, theirbiome.jsonfiles are identical, and the patch changeset coverscreate-croco-app.Maintainability
Residual risk
Binary package discovery is dynamic while scoped prerequisite roots are explicit. A future independent binary package must update the applicability predicate and prerequisite roots together.
Fixes #1649