TypeScript/tests/cases/conformance/salsa/moduleExportAliasUnknown.ts
Nathan Shively-Sanders 98ec1e8730
Fix commonjs export= merging (#27368) (#27371)
I'm surprised we haven't seen more of this; I suspect it's because the
mixed `module.exports=` + `export.foo=` pattern isn't that common.
However, it'll happen any time that the exported symbol is unknown;
getCommonJsExportEquals blithely clones unknownSymbol and proceeds to
stick the `exports.foo=` properties onto it.

This causes problems later, because the compiler checks for
unknownSymbol with `===`. The fix is to not stick properties onto a
clone of unknownSymbol. This makes the correct errors appear and removes
the crash.
2018-09-26 12:40:30 -07:00

7 lines
131 B
TypeScript

// @allowJs: true
// @noEmit: true
// @checkJs: true
// @Filename: bug27025.js
module.exports = window.nonprop;
exports.foo = bar;