Context
PR #303 added a build-time minify.js script using esbuild. The JS minification config disables identifier mangling:
const result = await esbuild.build({
entryPoints: [file],
minify: true,
minifyWhitespace: true,
minifyIdentifiers: false, // Disable to prevent breaking object property access
minifySyntax: true,
write: false
});
Problem
The comment claims this prevents breaking object property access like layout.navigation.tabs.externalId. But esbuild's identifier mangling shouldn't affect property access — it only mangles top-level identifiers in module scope, not object property names. This workaround may be hiding a real bug.
Disabling minifyIdentifiers also reduces the size benefit of minification. Before accepting this as the permanent solution, we should understand what actually broke.
Investigation steps
- Re-enable
minifyIdentifiers: true in a test build
- Identify which file(s) break and how
- Determine whether the break is:
- A legitimate esbuild bug (file upstream)
- A code pattern that needs fixing in the source (e.g., using string literals for property access that confuse bundlers)
- Actually a non-issue that was misdiagnosed
Priority
Low — post-release investigation. Filing as a follow-up to PR #303.
Context
PR #303 added a build-time
minify.jsscript using esbuild. The JS minification config disables identifier mangling:Problem
The comment claims this prevents breaking object property access like
layout.navigation.tabs.externalId. But esbuild's identifier mangling shouldn't affect property access — it only mangles top-level identifiers in module scope, not object property names. This workaround may be hiding a real bug.Disabling
minifyIdentifiersalso reduces the size benefit of minification. Before accepting this as the permanent solution, we should understand what actually broke.Investigation steps
minifyIdentifiers: truein a test buildPriority
Low — post-release investigation. Filing as a follow-up to PR #303.