{"push_id":825925626,"size":14,"distinct_size":14,"ref":"refs/heads/master","head":"d95d99d1163efcc9412fcc337c0df4f78f539324","before":"02df4a8d3208dec1691abdecb1b2eb3edc0c5874","commits":[{"sha":"1e1131371f756f46bcbcf739f1b98af1002e6c8a","author":{"email":"7531c00ce0cffdab0164975d1771183793ddb329@gmail.com","name":"akashnimare"},"message":"Licence bug fixed\n\nSummary: 1. Fixed the licence of examples. Now it is same as define [here](https://github.com/facebook/relay/tree/master/examples/todo#license).\n2. Fixed some lint errors and warnings.\n\nPs - All npm test are passed and lint shows no major errors. Please see the diff.\n\nNpm Test\n<img src=\"https://box.everhelper.me/attachment/301722/NuD6t5ei9i0VAGxX7avOK5Ifa4bkQt12/312416-0JwJzhXkXu4ZATUS/screen.png\"/>\n\nLint test\n<img src=\"https://box.everhelper.me/attachment/301723/pGqakY01HpgeAsKPfGOtus6xDsK7NCIc/312416-AJM6V5LS06uq0P5c/screen.png\"/>\nCloses https://github.com/facebook/relay/pull/433\n\nReviewed By: @wincent\n\nDifferential Revision: D2514888\n\nfb-gh-sync-id: c9defaf7b7694ebba4a7017be07ff6ae56dbe9dd","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/1e1131371f756f46bcbcf739f1b98af1002e6c8a"},{"sha":"402a246fba6ec637b751386abf72d3010b003a54","author":{"email":"15c824653be385e8d1bbbfac9540b0b20c0acc36@gmail.com","name":"Yihang Ho"},"message":"Improve tutorial\n\nSummary: 1. Some of the relative paths mentioned in the tutorial are not accurate. This fixes those affected paths.\n2. Explicitly import `react-relay` in the mutation section.\n3. Add the `key` attribute to each cell created by `renderGameBoard`. The key attribute already exist in the example directory.\nCloses https://github.com/facebook/relay/pull/451\n\nReviewed By: @josephsavona\n\nDifferential Revision: D2531646\n\nfb-gh-sync-id: a3e661e63a495982d4d43b2887a7010d207ed599","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/402a246fba6ec637b751386abf72d3010b003a54"},{"sha":"302681fdaf0b7f650c89dfe3adbb52e9de331db2","author":{"email":"9276e50ab20b7e1cb05833e8ba0a79a26f94259d@gmail.com","name":"Chandra Sekhar Kode"},"message":"use mutationNode name instead of constructor name for mutation queries\n\nSummary: JavaScript identifiers allow a superset of the characters allowed in GraphQL identifiers - this change ensures that mutations are not rejected by the server in cases such as `class $MyMutation ...`.\n\nfixes https://github.com/facebook/relay/issues/445\nCloses https://github.com/facebook/relay/pull/448\n\nReviewed By: @yungsters\n\nDifferential Revision: D2529360\n\nfb-gh-sync-id: 25536214f80c781ea431ab70366077b5c89e46e7","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/302681fdaf0b7f650c89dfe3adbb52e9de331db2"},{"sha":"f94beca29b8002d0655d4af2380798fe42bb55b2","author":{"email":"6977263c73bf2ae00930eec9b50ebede3b695164@fb.com","name":"Joe Savona"},"message":"create reusable RelayMetricsRecorder\n\nSummary: Implements an environment-agnostic frontend for recording Relay profiling data. This abstracts the common logic from `DliteCatalystProfiler` and `DliteWebProfiler` and adds some features:\n* allows overlapping profilers\n* records total fetch time (as opposed to only first start to first finish which is inaccurate)\n\nThis also changed `attachProfileHandler` to make it easier to map \"stop\" events to \"start\" events (necessary for accurate measurements of parallel async tasks such as query fetching).\n\nReviewed By: @yungsters\n\nDifferential Revision: D2529072\n\nfb-gh-sync-id: 6d6abe596149dcfadc8dd1e1fdf26f0341631431","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/f94beca29b8002d0655d4af2380798fe42bb55b2"},{"sha":"a0ba844fbce1aca795570046d9a4fcf186c58cd7","author":{"email":"aa7860939f8e7c62152f63a0f0f4cbb93de03c02@gmail.com","name":"Nick Raienko"},"message":"Fix linting issues\n\nSummary: Also suggestions:\n* move eslint rules from dependency to relay own .eslintrc like in [graphql-js](https://github.com/graphql/graphql-js/blob/master/.eslintrc)\n* include lint step in test\nCloses https://github.com/facebook/relay/pull/412\n\nReviewed By: @yuzhi\n\nDifferential Revision: D2532467\n\nfb-gh-sync-id: ab5940c6962dbfa31838f4c226fdbc1441a08223","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/a0ba844fbce1aca795570046d9a4fcf186c58cd7"},{"sha":"bcd97b357373dae90f3f5552585c9ac278a4d810","author":{"email":"6977263c73bf2ae00930eec9b50ebede3b695164@fb.com","name":"Joseph Savona"},"message":"fix RelayMetricsRecorder-test with OSS jest version\n\nSummary: Not sure why this worked internally but not in OSS, but suspect it has to do with the jest version (?).\nCloses https://github.com/facebook/relay/pull/452\n\nReviewed By: @yuzhi, @steveluscher\n\nDifferential Revision: D2532760\n\nfb-gh-sync-id: 57913e2104a070f9d80d18c446f42679cf074c50","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/bcd97b357373dae90f3f5552585c9ac278a4d810"},{"sha":"4aef0696a2db3422bea1b6c8236dd73a09ac25cc","author":{"email":"c295b6dcb308cf9e0a1bc29bf116798b28cb018e@fb.com","name":"Steven Luscher"},"message":"Teach `getStorageKey()` to produce stable keys, regardless of arg order\n\nSummary: The aim is to have:\n\n```\nfield(id: \"123\", array: [1,[2,3],4], object: {foo: \"bar\", bat: \"baz\"})\nfield(array: [1,2,[3,4]], id: \"123\", object: {bat: \"baz\", foo: \"bar\"})\n```\n\n…produce an identical storage key.\n\nReviewed By: @josephsavona\n\nDifferential Revision: D2528487\n\nfb-gh-sync-id: 4ec57ddba163bb1af60a7e033a6aeb085b99b2b7","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/4aef0696a2db3422bea1b6c8236dd73a09ac25cc"},{"sha":"1919c2602c13a41de088a04eb8e5cf9b14cead47","author":{"email":"c295b6dcb308cf9e0a1bc29bf116798b28cb018e@fb.com","name":"Steven Luscher"},"message":"Added `RelayQueryRoot::getStorageKey()`\n\nSummary: This diff adds a `getStorageKey()` method to RelayQueryRoot that:\n\n1. Constructs a `RelayQueryField` for its sole field with identifying args stripped out\n2. Delegates to the field's `getStorageKey()` method\n\nThis key will be used, among other places, in calls to `RelayRecordStore::getDataID`, in a future diff.\n\nReviewed By: @josephsavona\n\nDifferential Revision: D2528545\n\nfb-gh-sync-id: 881fe9f5323a1bcaf7b32e82eda59a409ad70465","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/1919c2602c13a41de088a04eb8e5cf9b14cead47"},{"sha":"f16d1562e6cf5476f8645082b229a0177bc8fb40","author":{"email":"c295b6dcb308cf9e0a1bc29bf116798b28cb018e@fb.com","name":"Steven Luscher"},"message":"`stableStringify()` now stringifies non-objects\n\nReviewed By: @elynde, @josephsavona\n\nDifferential Revision: D2534933\n\nfb-gh-sync-id: a595f35f7ce297cfed2b1fef9b95a2f32cbc2c32","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/f16d1562e6cf5476f8645082b229a0177bc8fb40"},{"sha":"575dd2c83d8e24059cfdf7a9a197e84891e38a64","author":{"email":"52dd44d8bba16260556c56496622720d714a75d8@fb.com","name":"Greg Hurrell"},"message":"Bump React peer dependencies\n\nSummary: We should track the latest released version of React, to avoid this kind\nof clash with other packages that want the latest React:\n\n    npm ERR! peerinvalid The package react@0.14.0-rc1 does not satisfy\n                         its siblings' peerDependencies requirements!\n    npm ERR! peerinvalid Peer react-relay@0.3.2 wants react@^0.14.0-rc\n    npm ERR! peerinvalid Peer react-router-relay@0.6.2 wants react@^0.14.0\n\n(Either this, or we should loosen our requirements.)\nCloses https://github.com/facebook/relay/pull/450\n\nReviewed By: @yungsters\n\nDifferential Revision: D2533627\n\nfb-gh-sync-id: efcf084a441cdbb2fa808a4bee4749d290e1fefb","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/575dd2c83d8e24059cfdf7a9a197e84891e38a64"},{"sha":"0a8561e22a48cc47d118ccf01f66bda69a0ea01e","author":{"email":"6977263c73bf2ae00930eec9b50ebede3b695164@fb.com","name":"Joseph Savona"},"message":"Disallow non-root `node(id:...)` fields\n\nSummary: Despite the Object Identification documentation, there has been some confusion in the community about whether the `node` field should be at the root or nested inside `Viewer`. This adds a validation check to the babel relay plugin to reject non-root `node(id: ...)` fields.\nCloses https://github.com/facebook/relay/pull/449\n\nReviewed By: @yungsters\n\nDifferential Revision: D2531839\n\nfb-gh-sync-id: f5b7b17775dd2185a7d830eeb34eea3f7824d39e","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/0a8561e22a48cc47d118ccf01f66bda69a0ea01e"},{"sha":"11366ed8e420d2aa99701dc5f2b24c0e6e92b654","author":{"email":"c295b6dcb308cf9e0a1bc29bf116798b28cb018e@fb.com","name":"Steven Luscher"},"message":"Restore printRelayRootCall to a state where it produces valid JSON\n\nReviewed By: @josephsavona\n\nDifferential Revision: D2536149\n\nfb-gh-sync-id: a219754fd5f5c67443bbfe99cfb1c4ef4704f24f","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/11366ed8e420d2aa99701dc5f2b24c0e6e92b654"},{"sha":"2b0ba4a4f81388d0818f294cea929bf6d06749e3","author":{"email":"d7be3f3e4dda3c59c2e84ed15a762aaf7c402198@fb.com","name":"Jan Kassens"},"message":"Fix missing Relay import in examples\n\nSummary: Closes https://github.com/facebook/relay/pull/453\n\nReviewed By: @josephsavona\n\nDifferential Revision: D2533176\n\nfb-gh-sync-id: 8c4f17c23e7bf18250e3e26d98ec4f887cc7330f","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/2b0ba4a4f81388d0818f294cea929bf6d06749e3"},{"sha":"d95d99d1163efcc9412fcc337c0df4f78f539324","author":{"email":"52dd44d8bba16260556c56496622720d714a75d8@fb.com","name":"Greg Hurrell"},"message":"Don't require babel to be installed globally\n\nSummary: While investigating an issue reported for the todomvc example (https://github.com/facebook/relay/issues/408), I found that `npm install` in an example directory was blowing up because I didn't have `babel` installed globally:\n\n```\nsh: babel: command not found\n```\n\n(Full output at https://gist.github.com/wincent/3221694ee3fdc46084f4)\n\nWhat's happening here:\n\n- Example's `preinstall` runs `install` from the top-level.\n- Top-level `install` installs its babel-relay-plugin dependency from NPM.\n- Example's `install` runs, and runs `build` from the babel-relay-plugin `file:../` dependency.\n- Note that `install` hasn't happened inside the `file:../` dependency yet, which means that the `babel` call will blow up if not globally installed.\n\nFix:\n\n- Make sure the example's `preinstall` step `cd`'s into the `file:../` dependency and installs its dependencies (ie. `babel`) up front.\n\nTested: Blow away global babel (`npm uninstall -g babel`), example `node_modules` and top-level `node_modules`, then `npm install` from inside an example or top-level; see it no longer blows up. Also `npm run update-schema` works, as does `npm run start`.\nCloses https://github.com/facebook/relay/pull/409\n\nReviewed By: @josephsavona\n\nDifferential Revision: D2536562\n\nfb-gh-sync-id: fbd5e3c1a8b16747acc219e58fe896f39a32b394","distinct":true,"url":"https://api.github.com/repos/bukel/relay/commits/d95d99d1163efcc9412fcc337c0df4f78f539324"}]}