Skip to content

Commit a497dd2

Browse files
committed
fix(@angular/build): preserve names in esbuild for improved debugging in dev mode
This commit introduces the `keepNames` option in esbuild configurations for both application code bundling and Vite utility functions. By setting `keepNames` to `true` (or conditionally based on optimization settings), function and variable names are preserved during the build process. This significantly improves the debugging experience in **development mode** by ensuring that original names are retained in compiled output, leading to more readable stack traces and easier identification of code sections during development.
1 parent 26127bd commit a497dd2

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

packages/angular/build/src/tools/esbuild/application-code-bundle.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,8 @@ function getEsBuildCommonOptions(options: NormalizedApplicationBuildOptions): Bu
607607
}
608608
}
609609

610+
const minifyIdentifiers = optimizationOptions.scripts && allowMangle;
611+
610612
return {
611613
absWorkingDir: workspaceRoot,
612614
format: 'esm',
@@ -618,7 +620,8 @@ function getEsBuildCommonOptions(options: NormalizedApplicationBuildOptions): Bu
618620
metafile: true,
619621
legalComments: options.extractLicenses ? 'none' : 'eof',
620622
logLevel: options.verbose && !jsonLogs ? 'debug' : 'silent',
621-
minifyIdentifiers: optimizationOptions.scripts && allowMangle,
623+
keepNames: !minifyIdentifiers,
624+
minifyIdentifiers,
622625
minifySyntax: optimizationOptions.scripts,
623626
minifyWhitespace: optimizationOptions.scripts,
624627
pure: ['forwardRef'],

packages/angular/build/src/tools/vite/utils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ export function getDepOptimizationConfig({
9898
esbuildOptions: {
9999
// Set esbuild supported targets.
100100
target,
101+
keepNames: true,
101102
supported: getFeatureSupport(target, zoneless),
102103
plugins,
103104
loader,

0 commit comments

Comments
 (0)