{"push_id":811083276,"size":113,"distinct_size":113,"ref":"refs/heads/master","head":"485c4165f80432ea4b9f62b1cef843ada98fba71","before":"c5534c834656c5b1f3e98fe92cdb8090df36b8a4","commits":[{"sha":"d0ecd85e0e59f5cbcca894bb9a04a20fec55e018","author":{"email":"b0b7d89d2f65682960f12319edab1c28ae0f62c4@gmail.com","name":"Eyyub"},"message":"Adds merlin file configuration","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/d0ecd85e0e59f5cbcca894bb9a04a20fec55e018"},{"sha":"e41f8a50879d051f85f2d0ef25c088370220664e","author":{"email":"97b43d69a660495408fc532b291d65f46348da6b@fb.com","name":"Herman Venter"},"message":"[hack] Fix priority in attach_method_def_hook and similar\n\nSummary: While debugging a problem in Zoncolan I made use of attach_function_def_hook and observed that the exit hook was not being called. Looking into this I discovered an operator priority problem. Fixing that made things work for me, so I thought I'd share it.\n\nReviewed By: @joelbeales\n\nDifferential Revision: D2418630","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/e41f8a50879d051f85f2d0ef25c088370220664e"},{"sha":"b39b65b9b351bcc7d332c9f6c546354e466b1534","author":{"email":"a40eabc18988c835da8387da252ea730fb3ab8f1@gmail.com","name":"Sam Goldman"},"message":"Widen type for shadow-bound var in merged-env scenarios\n\nSummary: Before this change, the included test case did not produce any errors,\nwhen in fact the returned type may be widened.\n\nIn order to widen the type of x, we need to add an entry to the\nchangeset, so the specific value for that binding in the merged-in env\nis added as a lower bound in the merged-to env.\n\nFor \"normal\" assignment, e.g., `x = \"\"`, we go through `set_var` which\ndoes add a changeset entry. A redeclaration, however, bypasses `set_var`.\nCloses https://github.com/facebook/flow/pull/782\n\nReviewed By: @bhosmer\n\nDifferential Revision: D2419840\n\nPulled By: @mroch","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/b39b65b9b351bcc7d332c9f6c546354e466b1534"},{"sha":"312a721aea646e3641a241829c8adbe693032769","author":{"email":"521b71b66118ece0fda08843b612c77cfd6c2588@fb.com","name":"Jez Ng"},"message":"[hack] Periodically log size of OCaml heap\n\nSummary: Just to see if we are ballooning as time goes on in a long-lived process\n\nReviewed By: @dabek\n\nDifferential Revision: D2414784","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/312a721aea646e3641a241829c8adbe693032769"},{"sha":"af20dfa849df107b8181eaa671aab53973dfe1f7","author":{"email":"521b71b66118ece0fda08843b612c77cfd6c2588@fb.com","name":"Jez Ng"},"message":"[hack] Record total number of rechecked files\n\nReviewed By: @dabek\n\nDifferential Revision: D2418254","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/af20dfa849df107b8181eaa671aab53973dfe1f7"},{"sha":"1a1e6d7134153ee3a11c97c96df47eaeff910d4c","author":{"email":"9f4deaf11d4f8509b378f2fdf5921416314d184d@fb.com","name":"Jeff Morrison"},"message":"Create `esproposal.decorators=warn|ignore` config option\n\nSummary: This adds `esproposal.decorators` for users to turn on parsing of decorators with Flow. The benefit to this is that people can still opt in to using Flow when they also use decorators -- in spite of the fact that Flow doesn't understand decorators. To do this, users must explicitly specify either `ignore` or `warn` as the value of the option. The former skips over decorators and the latter gives a warning (presumably to be suppressed explicitly in code with something like `/*FlowIgnore*/`).\n\nReviewed By: @gabelevi\n\nDifferential Revision: D2412388","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/1a1e6d7134153ee3a11c97c96df47eaeff910d4c"},{"sha":"4912896bceb696f9236b06f865601b2d387d07be","author":{"email":"9f4deaf11d4f8509b378f2fdf5921416314d184d@fb.com","name":"Jeff Morrison"},"message":"Point location of function declaration types at the function's name\n\nSummary: Currently, when you extract the type information for a function declaration, the type's loc spans the entire declaration. In terms of UIs that highlight or have tooltips for types within code (editors, etc), this means you see the function's type is shown when hovering over unrelated stuff in the function's body.\n\nThis adjusts the location of the type in the type table to only span the function's name -- which is the most likely place one might hover in an editor to see the type description for a function declaration.\n\nReviewed By: @gabelevi\n\nDifferential Revision: D2418043","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/4912896bceb696f9236b06f865601b2d387d07be"},{"sha":"f49a11e29a167b50120e9b1ed136af2aa9fc006a","author":{"email":"a40eabc18988c835da8387da252ea730fb3ab8f1@gmail.com","name":"Sam Goldman"},"message":"ES6 Generators\n\nSummary: Generators are iterable. Each value yielded from the generator function\nis iterated.\n\nGenerators are iterators. Values can be passed in through the `next`\nmethod. The iterator result values will be either a) the yielded values,\nb) the value returned from the generator (the completion value) or c)\n`undefined`, if `next` is called after completion.\n\nGenerators can delegate to other iterables, including other generators.\nValues passed to `next` on the delegator generator will be passed\nthrough to the delegatee. Similarly, values yielded by the delegatee\nwill be returned along the iterable/iterator interfaces.\n\nThe \"delegate yield\" expression, `yield *`, returns the completion value\nof the delegatee.\n\nWhile normal functions' return type is the type of the `return`\nstatement, generators are different. The return type is always a\nGenerator, where the second type argument is the type of the `return`\nstatement.\n\nWe use the same process to infer this type--an\nCloses https://github.com/facebook/flow/pull/534\n\nReviewed By: @jeffmo\n\nDifferential Revision: D2416847\n\nPulled By: @gabelevi","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/f49a11e29a167b50120e9b1ed136af2aa9fc006a"},{"sha":"660ded5bfd09bd5b6947ccf422e3c8b21cba426f","author":{"email":"cc060e347222643fda7d9ea6fc0ae6961bf9e7ac@fb.com","name":"Gabe Levi"},"message":"Test to prove uneven distribs issue resolved\n\nSummary: Summary\n\nReviewed By: @jeffmo\n\nDifferential Revision: D2418021","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/660ded5bfd09bd5b6947ccf422e3c8b21cba426f"},{"sha":"4c26841f2ae4575913ed11bf4758454e5db11441","author":{"email":"628d5d7d10df556834030c62f5a2a752cd7b0696@gmail.com","name":"Irakli Gozalishvili"},"message":"Add support for non function event listeners\n\nSummary: For more details see:\n1. https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n2. https://developer.mozilla.org/en-US/docs/Web/API/EventListener\nCloses https://github.com/facebook/flow/pull/750\n\nReviewed By: @jeffmo\n\nDifferential Revision: D2421241\n\nPulled By: @gabelevi","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/4c26841f2ae4575913ed11bf4758454e5db11441"},{"sha":"25e6368959740e845cb962fe2843c503c7d6c4cc","author":{"email":"b0b7d89d2f65682960f12319edab1c28ae0f62c4@gmail.com","name":"Eyyub"},"message":"Fix #730 + typo Uninitialized rather than Unintialized\n\nSummary: I have done the same changes in `parser_dts` because it seems +/- sync with `parser_flow` but I'm not sure at 100%.\n\nAlso in `destructuring.js` I added init for 2 decl. (line 10 & 11) to keep the wanted behavior (ie. `unsupported destructuring`).\nCloses https://github.com/facebook/flow/pull/735\n\nReviewed By: @jeffmo\n\nDifferential Revision: D2421305\n\nPulled By: @gabelevi","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/25e6368959740e845cb962fe2843c503c7d6c4cc"},{"sha":"4aaf8d79615c3f1be75a4cc90cface39985c4147","author":{"email":"57a33a5496950fec8433e4dd83347673459dcdfc@obermillers.com","name":"Ian Obermiller"},"message":"React.cloneElement attribute param type should be $Shape<P>\n\nSummary: Since you will already have a valid element (flow will complain earlier) `cloneElement` should only take `$Shape<Props>`. You only pass the props you want to change to `cloneElement`.\nCloses https://github.com/facebook/flow/pull/742\n\nReviewed By: @jeffmo\n\nDifferential Revision: D2421255\n\nPulled By: @gabelevi","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/4aaf8d79615c3f1be75a4cc90cface39985c4147"},{"sha":"75b537425a0c3b653893133ed8595b27929f2bc4","author":{"email":"521b71b66118ece0fda08843b612c77cfd6c2588@fb.com","name":"Jez Ng"},"message":"[hack] Update copyright year\n\nSummary: So we don't keep propagating the wrong year into new files :)\n\nDid `find . -name \"*.ml*\" | xargs sed -i 's/2014, Facebook/2015, Facebook/`\n\nReviewed By: @dlreeves\n\nDifferential Revision: D2423664","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/75b537425a0c3b653893133ed8595b27929f2bc4"},{"sha":"954adda9460d4b2710ef46af46939893d94f3989","author":{"email":"cc060e347222643fda7d9ea6fc0ae6961bf9e7ac@fb.com","name":"Gabe Levi"},"message":"Fix interaction between optional params and rest params\n\nSummary: When we ran out of function arguments and the only parameter left was\na rest param, we would do the right thing. However, if we had something other\nthan a single rest param, we would flow `undefined` to each of the remaining\nparameters. This meant that we were sometimes flowing `undefined` to a rest\nparameter and that was wrong.\n\nFixes #789\n\nReviewed By: @jeffmo\n\nDifferential Revision: D2425046","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/954adda9460d4b2710ef46af46939893d94f3989"},{"sha":"84e9b1e22a84998d3fa478a30814a1d4cc47bd0a","author":{"email":"a40eabc18988c835da8387da252ea730fb3ab8f1@gmail.com","name":"Sam Goldman"},"message":"Fix definition of Array reducers when no initial value is provided\n\nSummary: When no initial value is provided to the reducer, the first value from\nthe array is provided as the initial value of the accumulator.\n\nBefore this commit, we assumed that T = U, but that's not true. The\nincluded tests did not raise any error before this change.\n\nThe error messages are _very_ unfortunate, but bad error messages\nshouldn't prevent us from fixing basic correctness issues.\nCloses https://github.com/facebook/flow/pull/788\n\nReviewed By: @jeffmo\n\nDifferential Revision: D2425090\n\nPulled By: @gabelevi","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/84e9b1e22a84998d3fa478a30814a1d4cc47bd0a"},{"sha":"9d1b6f2ecd15372167e452bd10ae9266fea65df0","author":{"email":"cc060e347222643fda7d9ea6fc0ae6961bf9e7ac@fb.com","name":"Gabe Levi"},"message":"Support for optional properties in interfaces and declare class\n\nSummary: Turns out we didn't support these, and instead of erroring we just\nsilently ignored their optionality :/\n\nFor structural subtyping, it should be ok if optional properties are missing.\nThis allows us to do something like\n\n    var result: IteratorResult<string> = { done: true };\n\nsince the `value` property of `IteratorResult` is optional.\n\nReviewed By: @jeffmo\n\nDifferential Revision: D2425383","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/9d1b6f2ecd15372167e452bd10ae9266fea65df0"},{"sha":"a373455f42e5c7062b3c6234241d2ed64014fda3","author":{"email":"cc060e347222643fda7d9ea6fc0ae6961bf9e7ac@fb.com","name":"Gabe Levi"},"message":"Switch to disjoint union IteratorResult<Yield, Return>\n\nSummary: When you iterate through an `Iterator<T>` by calling `next()`, you\nget back `IteratorResult<T|void>`, which means when you access the `value`\nproperty of that `IteratorResult` it can either be `T` or `void`.\n\nOur interfaces use structural subtyping, which is cool and all except that it\nhas to unify the properties. That means an `IteratorResult<string>` is NOT a\nsubtype of `IteratorResult<string|void>`. Long story short, if you ever need to\ndeal with the `IteratorResult` of an `Iterator<string>`, you'll need to write\n`IteratorResult<string|void>`\n\nSwitching to a disjoint union magically makes everything better, especially with some of the awesome boolean literal logic that @mroch has been adding.\n\nReviewed By: @jeffmo\n\nDifferential Revision: D2426119","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/a373455f42e5c7062b3c6234241d2ed64014fda3"},{"sha":"14de35fd20e92eaf46e34428f72d108ed3f36c70","author":{"email":"cc060e347222643fda7d9ea6fc0ae6961bf9e7ac@fb.com","name":"Gabe Levi"},"message":"Bump version to 0.15.0\n\nReviewed By: @jeffmo\n\nDifferential Revision: D2421164","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/14de35fd20e92eaf46e34428f72d108ed3f36c70"},{"sha":"434442820029a845dbba10882821be6856390dc0","author":{"email":"cc060e347222643fda7d9ea6fc0ae6961bf9e7ac@fb.com","name":"Gabe Levi"},"message":"Enable bash completing files in addition to commands\n\nSummary: I often use `flow status` but I rarely write it out, instead using the\n`flow /path/to/root` form. The way our bash completion worked, it would only\ncomplete flow commands immediately after the `flow`. So\n\n  flow status <TAB>\n\nwould autocomplete paths, but\n\n  flow <TAB>\n\nwouldn't. This fixes that.\n\nReviewed By: @mroch\n\nDifferential Revision: D2430637","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/434442820029a845dbba10882821be6856390dc0"},{"sha":"288f1d1c2f519d590440cf61137060b8a6a7ed58","author":{"email":"cc1cee97e7e4b82b81226d026cd432000b05ad3c@fb.com","name":"Marshall Roch"},"message":"rename GetT to GetPropT, SetT to SetPropT\n\nReviewed By: @avikchaudhuri\n\nDifferential Revision: D2431206","distinct":true,"url":"https://api.github.com/repos/shiftcars/flow/commits/288f1d1c2f519d590440cf61137060b8a6a7ed58"}]}