@@ -2641,7 +2641,8 @@ namespace ts {
26412641 && isAliasableOrJsExpression(node.parent.right)
26422642 || node.kind === SyntaxKind.ShorthandPropertyAssignment
26432643 || node.kind === SyntaxKind.PropertyAssignment && isAliasableOrJsExpression((node as PropertyAssignment).initializer)
2644- || isVariableDeclarationInitializedToBareOrAccessedRequire(node);
2644+ || node.kind === SyntaxKind.VariableDeclaration && isVariableDeclarationInitializedToBareOrAccessedRequire(node)
2645+ || node.kind === SyntaxKind.BindingElement && isVariableDeclarationInitializedToBareOrAccessedRequire(node.parent.parent);
26452646 }
26462647
26472648 function isAliasableOrJsExpression(e: Expression) {
@@ -37725,8 +37726,8 @@ namespace ts {
3772537726 }
3772637727 // For a commonjs `const x = require`, validate the alias and exit
3772737728 const symbol = getSymbolOfNode(node);
37728- if (symbol.flags & SymbolFlags.Alias && isVariableDeclarationInitializedToBareOrAccessedRequire(node)) {
37729- checkAliasSymbol(node);
37729+ if (symbol.flags & SymbolFlags.Alias && isVariableDeclarationInitializedToBareOrAccessedRequire(node.kind === SyntaxKind.BindingElement ? node.parent.parent : node )) {
37730+ checkAliasSymbol(node as BindingElement | VariableDeclaration );
3773037731 return;
3773137732 }
3773237733
@@ -40590,7 +40591,7 @@ namespace ts {
4059040591 return true;
4059140592 }
4059240593
40593- function checkAliasSymbol(node: ImportEqualsDeclaration | VariableDeclaration | ImportClause | NamespaceImport | ImportSpecifier | ExportSpecifier | NamespaceExport) {
40594+ function checkAliasSymbol(node: ImportEqualsDeclaration | VariableDeclaration | ImportClause | NamespaceImport | ImportSpecifier | ExportSpecifier | NamespaceExport | BindingElement ) {
4059440595 let symbol = getSymbolOfNode(node);
4059540596 const target = resolveAlias(symbol);
4059640597
0 commit comments