This is an automated email from the ASF dual-hosted git repository.
tbonelee pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git
The following commit(s) were added to refs/heads/master by this push:
new 5a262cd76c [MINOR] Fix import-boundary consumer scan skipping
non-consumer dependencies
5a262cd76c is described below
commit 5a262cd76c9028fadca6aad285797acda1a8486d
Author: YONGJAE LEE (이용재) <[email protected]>
AuthorDate: Sun Sep 13 19:36:55 2026 +0900
[MINOR] Fix import-boundary consumer scan skipping non-consumer dependencies
### What is this PR for?
Fix CI failure introduced by #5469 (already merged as 788d45aa37). Its
`findReactNotebookConsumerViolations` scan restricted recursion to
`consumers.has(target)`, but a consumer's own dependency (e.g. a helper file)
is never itself added to `consumers`, so the scan stopped detecting forbidden
transport imports reached through it. Reverts to the original unconditional
recursion.
### What type of PR is it?
Bug Fix
### Todos
### What is the Jira issue?
### How should this be tested?
`npm run test:notebook-core`: the 3 previously-failing cases
(`helper`/`javascript`/`require-outside`) now pass.
### Screenshots (if appropriate)
N/A
### Questions:
* Does the license files need to update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Closes #5478 from voidmatcha/hotfix/import-boundary-consumer-scan.
Signed-off-by: ChanHo Lee <[email protected]>
---
zeppelin-web-angular/test/notebook-core/import-boundary.ts | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/zeppelin-web-angular/test/notebook-core/import-boundary.ts
b/zeppelin-web-angular/test/notebook-core/import-boundary.ts
index e79389112e..b99b0a811a 100644
--- a/zeppelin-web-angular/test/notebook-core/import-boundary.ts
+++ b/zeppelin-web-angular/test/notebook-core/import-boundary.ts
@@ -162,12 +162,7 @@ export const findReactNotebookConsumerViolations = (
for (const target of module.dependencies) {
if (target === main) {
violations.push(`${path}: notebook consumer must use the contract
bridge instead of the public aggregator`);
- } else if (consumers.has(target)) {
- // Only walk further into files the upward propagation above already
marked as
- // consumers. Otherwise a shared route/aggregator file that imports
both a real
- // notebook-core consumer and an unrelated pre-existing SDK-backed
page would drag
- // that page's own dependency subtree into this scan, flagging its
legitimate
- // `@zeppelin/sdk`/`rxjs` imports as boundary violations.
+ } else {
check(target);
}
}