Skip to content

Commit 74e7b0a

Browse files
authored
Do not elide ?. when updating call expression in cjs transform (microsoft#448)
1 parent abb4f59 commit 74e7b0a

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

internal/transformers/commonjsmodule.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1664,7 +1664,7 @@ func (tx *CommonJSModuleTransformer) visitCallExpression(node *ast.CallExpressio
16641664
updated := tx.factory.UpdateCallExpression(
16651665
node,
16661666
expression,
1667-
nil, /*questionDotToken*/
1667+
node.QuestionDotToken,
16681668
nil, /*typeArguments*/
16691669
tx.visitor.VisitNodes(node.Arguments),
16701670
)

internal/transformers/commonjsmodule_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -884,6 +884,14 @@ const tslib_1 = require("tslib");
884884
Promise.resolve(` + "`" + `${tslib_1.__rewriteRelativeImportExtension(x)}` + "`" + `).then(s => require(s));`,
885885
options: core.CompilerOptions{RewriteRelativeImportExtensions: core.TSTrue, ImportHelpers: core.TSTrue},
886886
},
887+
{
888+
title: "CallExpression#7",
889+
input: `export {};
890+
a?.()`,
891+
output: `"use strict";
892+
Object.defineProperty(exports, "__esModule", { value: true });
893+
a?.();`,
894+
},
887895

888896
// TaggedTemplateExpression
889897
{

0 commit comments

Comments
 (0)