@@ -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) {
@@ -37819,8 +37820,8 @@ namespace ts {
3781937820 }
3782037821 // For a commonjs `const x = require`, validate the alias and exit
3782137822 const symbol = getSymbolOfNode(node);
37822- if (symbol.flags & SymbolFlags.Alias && isVariableDeclarationInitializedToBareOrAccessedRequire(node)) {
37823- checkAliasSymbol(node);
37823+ if (symbol.flags & SymbolFlags.Alias && isVariableDeclarationInitializedToBareOrAccessedRequire(node.kind === SyntaxKind.BindingElement ? node.parent.parent : node )) {
37824+ checkAliasSymbol(node as BindingElement | VariableDeclaration );
3782437825 return;
3782537826 }
3782637827
@@ -40684,7 +40685,7 @@ namespace ts {
4068440685 return true;
4068540686 }
4068640687
40687- function checkAliasSymbol(node: ImportEqualsDeclaration | VariableDeclaration | ImportClause | NamespaceImport | ImportSpecifier | ExportSpecifier | NamespaceExport) {
40688+ function checkAliasSymbol(node: ImportEqualsDeclaration | VariableDeclaration | ImportClause | NamespaceImport | ImportSpecifier | ExportSpecifier | NamespaceExport | BindingElement ) {
4068840689 let symbol = getSymbolOfNode(node);
4068940690 const target = resolveAlias(symbol);
4069040691
0 commit comments