diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index cb7b27c932382..d241ed7226b9b 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -2105,7 +2105,7 @@ namespace ts { */ function isSameEntityName(name: Expression, initializer: Expression): boolean { if (isPropertyNameLiteral(name) && isPropertyNameLiteral(initializer)) { - return getTextOfIdentifierOrLiteral(name) === getTextOfIdentifierOrLiteral(name); + return getTextOfIdentifierOrLiteral(name) === getTextOfIdentifierOrLiteral(initializer); } if (isIdentifier(name) && isLiteralLikeAccess(initializer) && (initializer.expression.kind === SyntaxKind.ThisKeyword || diff --git a/tests/baselines/reference/usedImportNotElidedInJs.js b/tests/baselines/reference/usedImportNotElidedInJs.js new file mode 100644 index 0000000000000..ae5e5d17ac88a --- /dev/null +++ b/tests/baselines/reference/usedImportNotElidedInJs.js @@ -0,0 +1,14 @@ +//// [test.js] +// #38412 + + +import * as moment from 'moment'; +import rollupMoment__default from 'moment'; +export const moment = rollupMoment__default || moment; + + +//// [test.js] +// #38412 +import * as moment from 'moment'; +import rollupMoment__default from 'moment'; +export const moment = rollupMoment__default || moment; diff --git a/tests/cases/compiler/usedImportNotElidedInJs.ts b/tests/cases/compiler/usedImportNotElidedInJs.ts new file mode 100644 index 0000000000000..8fb9d840f700d --- /dev/null +++ b/tests/cases/compiler/usedImportNotElidedInJs.ts @@ -0,0 +1,12 @@ +// #38412 + +// @allowJs: true +// @noResolve: true +// @target: es2015 +// @outDir: out +// @noTypesAndSymbols: true + +// @Filename: test.js +import * as moment from 'moment'; +import rollupMoment__default from 'moment'; +export const moment = rollupMoment__default || moment;