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. |
||
---|---|---|
.. | ||
baselines/reference | ||
cases | ||
lib | ||
projects | ||
webhost | ||
perfsys.ts | ||
perftsc.ts | ||
perftsc.tsconfig.json | ||
test.bat | ||
webTestResults.html | ||
webTestServer.ts | ||
webTestServer.tsconfig.json |