Skip to content

Commit 1c2a4fc

Browse files
committed
refactor(@angular/build): check isAlreadyEdited before linker in CallExpression
Move statement-level adjustments (enum/static class member wrapping) to Program:exit and BlockStatement:exit visitors so child node traversal runs prior to statement wrapping. This allows CallExpression to check isAlreadyEdited before invoking the linker, preventing redundant work on wrapped or modified nodes.
1 parent 6f022a0 commit 1c2a4fc

2 files changed

Lines changed: 7 additions & 7 deletions

File tree

packages/angular/build/src/tools/esbuild/javascript-transformer-worker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ async function transformJavaScriptImpl(
213213
const topLevelSafeMode = !safeAngularPackage;
214214

215215
const result = transformWithOxc(filename, code, {
216-
link: shouldLink,
216+
link: oxcLink,
217217
jit,
218218
advancedOptimizations,
219219
sourcemap: useInputSourcemap,

packages/angular/build/src/tools/oxc/oxc-transform.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -663,19 +663,23 @@ export function transform(filename: string, code: string, options: OxcTransformO
663663
functionDepth--;
664664
functionStack.pop();
665665
},
666-
Program(node) {
666+
'Program:exit'(node) {
667667
if (advancedOptimizations) {
668668
adjustTypeScriptEnumsInStatements(node.body);
669669
adjustStaticMembersInStatements(node.body);
670670
}
671671
},
672-
BlockStatement(node) {
672+
'BlockStatement:exit'(node) {
673673
if (advancedOptimizations) {
674674
adjustTypeScriptEnumsInStatements(node.body);
675675
adjustStaticMembersInStatements(node.body);
676676
}
677677
},
678678
CallExpression(node) {
679+
if (isAlreadyEdited(node.start, node.end)) {
680+
return;
681+
}
682+
679683
if (linker) {
680684
const linkedCode = linker.linkCallExpression(node);
681685
if (linkedCode !== undefined) {
@@ -686,10 +690,6 @@ export function transform(filename: string, code: string, options: OxcTransformO
686690
}
687691
}
688692

689-
if (isAlreadyEdited(node.start, node.end)) {
690-
return;
691-
}
692-
693693
if (!advancedOptimizations) {
694694
return;
695695
}

0 commit comments

Comments
 (0)