fix(javascript): recognize unchanged var and let Electron aliases

This commit is contained in:
morluto committed 2026-10-10 13:56:40 +08:00
1 parent e4a8e0b728
commit 0d2082d36b
2 files changed
+67 -3

No files matched your search

@@ -352,9 +352,17 @@ const bindingOrigin = (
? binding.directOrigins[0]
: undefined;
const [initializer] = binding.initializers;
if (binding.mutable || binding.initializers.length !== 1) return undefined;
const origin = semanticRequireOrigin(initializer?.node, state);
const projection = initializer?.projection ?? [];
// A var/let declaration permits writes without proving one occurred.
// Require one unconditional initializer and no actual binding writes.
if (
initializer === undefined ||
binding.initializers.length !== 1 ||
binding.definitions.some(({ kind }) => kind === "assignment") ||
state.conditionalInitializers.has(initializer.node)
)
return undefined;
const origin = semanticRequireOrigin(initializer.node, state);
const projection = initializer.projection;
return origin === undefined ||
!projection.every((key): key is string => typeof key === "string")
? undefined