Sandor Molnar created KNOX-3518:
-----------------------------------
Summary: UI module builds fail with npm "Cannot read properties of
null (reading 'edgesOut')"
Key: KNOX-3518
URL: https://issues.apache.org/jira/browse/KNOX-3518
Project: Apache Knox
Issue Type: Bug
Affects Versions: 3.1.0
Reporter: Sandor Molnar
Assignee: Sandor Molnar
Fix For: 3.1.0
Since vitest 4.1.12 was published (2026-10-15), npm install fails in every
Angular UI module, which breaks the full Maven build:
[INFO] Running 'npm install' in .../gateway-admin-ui
[INFO] npm error Cannot read properties of null (reading 'edgesOut')
[ERROR] Failed to execute goal
com.github.eirslett:frontend-maven-plugin:1.15.1:npm (npm install) on project
gateway-admin-ui
Affected modules: gateway-admin-ui, knox-homepage-ui, knox-token-management-ui,
knox-token-generation-ui, knox-webshell-ui.
*Root cause:*
- The UI poms delete package-lock.json on clean, so every build resolves
dependencies fresh from the registry.
- @angular/build, which the token UIs pull in through
@angular-devkit/build-angular, declares vitest ^4.0.8 as an optional peer.
- vitest 4.1.12 declares the optional peer @vitest/browser-webdriverio
^4.1.11. Version 4.1.12 of that package was never published, so npm picks
4.1.11, which requires exactly vitest 4.1.11.
- The npm bundled with Node v22.20.0 (npm 10.9.3) crashes in
Arborist#loadPeerSet on this conflict instead of reporting ERESOLVE.
*Fix:* add "overrides":
{code:java}
{ "vitest": "4.1.11" }{code}
to the {{package.json}} of each UI module. None of the UIs uses vitest, so the
build output doesn't change. The override can be removed once vitest publishes
a consistent release.
Reproduced on master with{{ npm install --dry-run}} on each UI's package.json:
all five fail without the override and resolve with it.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)