fix(javascript): recognize unchanged var and let Electron aliases
This commit is contained in:
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
|
||||
|
||||
Reference in new issue
Block a user