The GitHub Actions job "Required Checks" on 
texera.git/gh-readonly-queue/main/pr-8127-2db7db0c1e5ddf168cd89ef5875d2f91b84600a2
 has succeeded.
Run started by GitHub user aglinxinyuan (triggered by aglinxinyuan).

Head commit for run:
08c1ee9c44fa40c35d931552a6ea078c20819fbf / Ghulam Mustafa 
<[email protected]>
fix(deps, frontend): deduplicate Angular toolchain under 
@angular-builders/custom-webpack (#8127)

### What changes were proposed in this PR?

Adds three Yarn `resolutions` entries to `frontend/package.json` to
force
`@angular-builders/custom-webpack`'s transitive dependencies to the same
versions
already pinned in `devDependencies`:

- `@angular-devkit/build-angular` → `21.2.19`
- `@angular/build` → `21.2.19`
- `@ngtools/webpack` → `21.2.19`

`@angular-builders/[email protected]` declares a loose dep on
`@angular-devkit/build-angular: ^21.0.0`, which Yarn was resolving to
`21.2.18`.
This created a nested copy of the toolchain under the builder's own
`node_modules/`
while the pinned `21.2.19` sat unused at the workspace root. Because
`angular.json`
routes both `build` and `serve` through
`@angular-builders/custom-webpack`, the
older toolchain (`21.2.18`) was the one actually compiling the app and
running the
dev server — silently, with CI staying green. The same split affected
`@angular/build`
and `@ngtools/webpack`.

The `resolutions` field was already in use in `frontend/package.json`
for
`monaco-editor`, `webpack`, and `jschardet`; this PR follows the same
pattern.

Result: 276 lines removed from `yarn.lock`; all three packages now have
a single
lockfile entry at `21.2.19`; the nested
`@angular-builders/custom-webpack/node_modules/@angular-devkit/` copy is
gone.

No production source code files were modified.

### Any related issues, documentation, discussions?

Closes #8052

### How was this PR tested?

Verified the lockfile and installed tree after running `yarn install`
inside `frontend/`:

```bash
# 1. Single lockfile entry per package — no more split at 21.2.18:
grep -n 
'^"@angular-devkit/build-angular@\|^"@angular/build@\|^"@ngtools/webpack@' \
  frontend/yarn.lock
# 298:"@angular-devkit/build-angular@npm:21.2.19":
# 571:"@angular/build@npm:21.2.19":
# 4294:"@ngtools/webpack@npm:21.2.19":

# 2. No nested @angular-devkit copy under the builder:
ls frontend/node_modules/@angular-builders/custom-webpack/node_modules/
# only `source-map` remains — no @angular-devkit

# 3. Installed version matches the pin:
node -e 
"console.log(require('./frontend/node_modules/@angular-devkit/build-angular/package.json').version)"
# 21.2.19
```

### Was this PR authored or co-authored using generative AI tooling?

No

Co-authored-by: Xinyuan Lin <[email protected]>

Report URL: https://github.com/apache/texera/actions/runs/35168435697

With regards,
GitHub Actions via GitBox

Reply via email to