@@ -2641,7 +2641,8 @@ namespace ts {
2641
2641
&& isAliasableOrJsExpression(node.parent.right)
2642
2642
|| node.kind === SyntaxKind.ShorthandPropertyAssignment
2643
2643
|| 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);
2645
2646
}
2646
2647
2647
2648
function isAliasableOrJsExpression(e: Expression) {
@@ -37725,8 +37726,8 @@ namespace ts {
37725
37726
}
37726
37727
// For a commonjs `const x = require`, validate the alias and exit
37727
37728
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 );
37730
37731
return;
37731
37732
}
37732
37733
@@ -40590,7 +40591,7 @@ namespace ts {
40590
40591
return true;
40591
40592
}
40592
40593
40593
- function checkAliasSymbol(node: ImportEqualsDeclaration | VariableDeclaration | ImportClause | NamespaceImport | ImportSpecifier | ExportSpecifier | NamespaceExport) {
40594
+ function checkAliasSymbol(node: ImportEqualsDeclaration | VariableDeclaration | ImportClause | NamespaceImport | ImportSpecifier | ExportSpecifier | NamespaceExport | BindingElement ) {
40594
40595
let symbol = getSymbolOfNode(node);
40595
40596
const target = resolveAlias(symbol);
40596
40597
0 commit comments