{"push_id":2624389111,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"30994c86e457cabcddfad269c2a772fd5dc8433b","before":"942c42bf2907312ff43220a8bffcf38e815115ab","commits":[{"sha":"30994c86e457cabcddfad269c2a772fd5dc8433b","author":{"name":"Nathan Shively-Sanders","email":"8fee455e3013291815c926e32dbf900166bd16e0@users.noreply.github.com"},"message":"Improve valueDeclaration for js module merges (#24707)\n\nNearly everything in a merge of JS special assignments looks like a\r\nvalueDeclaration. This commit ensures that intermediate \"module\r\ndeclarations\" are not used when a better valueDeclaration is available:\r\n\r\n```js\r\n// File1.js\r\nvar X = {}\r\nX.Y.Z = class { }\r\n\r\n// File2.js\r\nX.Y = {}\r\n```\r\n\r\nIn the above example, the `Y` in `X.Y.Z = class { }` was used as the\r\nvalueDeclaration for `Y` because it appeared before `X.Y = {}` in the\r\ncompilation.\r\n\r\nThis change exposed a bug in binding, #24703, that required a change in\r\ntypeFromPropertyAssignmentOutOfOrder. The test still fails for the\r\noriginal reason it was created, and the new bug #24703 contains a repro.","distinct":true,"url":"https://api.github.com/repos/Microsoft/TypeScript/commits/30994c86e457cabcddfad269c2a772fd5dc8433b"}]}
{"actor":{"display_login":"sandersn"}}