fix(client): re-pin @babel/core to 7.29.7 + add production-build CI check#1178
Conversation
…heck #1174 (Renovate) bumped @babel/core back to 8.0.1, silently reverting the 7.29.7 pin from #1173 and re-breaking the Angular 21 production AOT build ("NumericLiterals must be non-negative" on PrimeNG ESM). It passed CI green because the PR pipeline only runs Vitest unit tests + eslint + OpenAPI validation — never the production `ng build`, which lives only in the client Docker image (deploy time). So a broken prod build sails through PR checks. Three changes: - Re-pin @babel/core to the patched 7.29.7 (workspace override + lockfile). - Add a `build-client` job to test.yml that runs `ng build --configuration production` on every PR — the same build the image runs — so this class of breakage fails the PR instead of only failing at deploy. - Renovate: cap @babel/core to <8 so it stops re-proposing the incompatible major. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | ✅ 0 (≤ 20 complexity) |
🟢 Coverage ∅ diff coverage · -0.01% coverage variation
Metric Results Coverage variation ✅ -0.01% coverage variation (-1.00%) Diff coverage ✅ ∅ diff coverage Coverage variation details
Coverable lines Covered lines Coverage Common ancestor commit (c64c711) 15420 7585 49.19% Head commit (059b8b9) 15420 (+0) 7584 (-1) 49.18% (-0.01%) Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch:
<coverage of head commit> - <coverage of common ancestor commit>Diff coverage details
Coverable lines Covered lines Diff coverage Pull request (#1178) 0 0 ∅ (not applicable) Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified:
<covered lines added or modified>/<coverable lines added or modified> * 100%
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
There was a problem hiding this comment.
Pull request overview
This PR addresses a client build regression by re-pinning @babel/core to a Babel 7 patch release compatible with Angular 21’s production (AOT) build, and by closing a CI gap that previously allowed production-build breakages to pass PR checks.
Changes:
- Re-pin
@babel/coreto7.29.7via pnpm overrides (workspace + lockfile) to restore Angular 21 production build compatibility. - Add a new
build-clientGitHub Actions job intended to run the client production build in PR CI. - Update Renovate rules to prevent proposing
@babel/core@8.xupgrades.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| client/pnpm-workspace.yaml | Re-pins @babel/core override to 7.29.7. |
| client/pnpm-lock.yaml | Updates lockfile and override to resolve Babel 7.29.7 consistently. |
| .github/workflows/test.yml | Adds a build-client job to run the client production build in CI. |
| .github/renovate.json | Caps Renovate updates for @babel/core to <8 to avoid incompatible majors. |
Files not reviewed (1)
- client/pnpm-lock.yaml: Generated file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - name: Install Dependencies | ||
| run: pnpm install --frozen-lockfile | ||
| - name: Build client (production) | ||
| run: pnpm run build --configuration production |
Regression + CI gap. #1174 (Renovate) reverted the
@babel/core7.29.7 pin from #1173 back to8.0.1, re-breaking the Angular 21 production build — and it passed CI green.Why CI missed it: the PR pipeline runs Vitest unit tests + eslint + OpenAPI validation, but never
ng build --configuration production(that lives only in the client Docker image, at deploy time). The Babel-8/Angular-21 failure only occurs in the prod AOT build, so a broken build passes all PR checks.Fix (3 parts):
@babel/core→7.29.7(override + lockfile); verifiedng build --configuration productionsucceeds.build-clientPR job running the production build — closes the gap that let chore(deps): update dependency @babel/core to v8 #1174 through.@babel/coreto<8so it stops re-proposing the incompatible major.This PR's own CI now includes the new production-build check.