Skip to content

Instantly share code, notes, and snippets.

@zpao
Last active April 5, 2016 22:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zpao/dbba5aaf4c0e53a544a5adf898f0db01 to your computer and use it in GitHub Desktop.
Save zpao/dbba5aaf4c0e53a544a5adf898f0db01 to your computer and use it in GitHub Desktop.
commit 42b1cba0486a846f355bdc8005de4b2bfdea9010
Author: Paul O’Shannessy <paul@oshannessy.com>
Date: Wed Mar 30 11:57:27 2016 -0700
Make sure simulated events don't warn when providing extra event properties
commit 2d069fc5e6774b37ea4fb71ec220cefd7334bee0
Author: Sebastian Markbage <sema@fb.com>
Date: Tue Apr 5 13:40:49 2016 -0700
Fix typo
Resets currentTarget on the pooled event instead of adding an
expando.
commit d10b355b42d42b5c5a8da9c1c2901cca053f6ce7
Merge: 80bff53 28a97db
Author: Paul O’Shannessy <paul@oshannessy.com>
Date: Tue Apr 5 13:27:13 2016 -0700
Merge pull request #6228 from everdimension/fix_option_value
set value property explicitly for "option" element even if value is empty
commit 1573baaee8ba1c9cd84145b01effcb5eb80503fb
Author: Paul O’Shannessy <paul@oshannessy.com>
Date: Tue Mar 29 15:02:35 2016 -0700
Use Object.assign directly and inject object-assign at compile
commit ec1462834e618b4223afb6f1428f3960ca239e0d
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Sat Apr 2 00:53:01 2016 +0100
Update ReactDOMProduction-test.js
commit 575fb79162efa0f913c4fbd79960d4fc335e92cb
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Thu Mar 31 17:58:53 2016 +0100
Add ReactDebugInstanceMap
This PR is the first in a series of pull requests split from the new `ReactPerf` implementation in #6046.
Here, we introduce a new module called `ReactDebugInstanceMap`. It will be used in `__DEV__` and, when the `__PROFILE__` gate is added, in the `__PROFILE__` builds. It will *not* be used in the production builds.
This module acts as a mapping between “debug IDs” (a new concept) and the internal instances. Not to be confused with the existing `ReactInstanceMap` that maps internal instances to public instances.
What are the “debug IDs” and why do we need them? Both the new `ReactPerf` and other consumers of the devtool API, such as React DevTools, need access to some data from the internal instances, such as the instance type display name, current props and children, and so on. Right now we let such tools access internal instances directly but this hurts our ability to refactor their implementations and burdens React DevTools with undesired implementation details such as having to support React ART in a special way.[1]
The purpose of adding `ReactDebugInstanceMap` is to only expose “debug IDs” instead of the internal instances to any devtools. In a future RP, whenever there is an event such as mounting, updating, or unmounting a component, we will emit an event in `ReactDebugTool` with the debug ID of the instance. We will also add an introspection API that lets the consumer pass an ID and get the information about the current children, props, state, display name, and so on, without exposing the internal instances.
`ReactDebugInstanceMap` has a concept of “registering” an instance. We plan to add the hooks that register an instance as soon as it is created, and unregister it during unmounting. It will only be possible to read information about the instance while it is still registered. If we add support for reparenting, we should be able to move the (un)registration code to different places in the component lifecycle without changing this code. The currently registered instances are held in the `registeredInstancesByIDs` dictionary.
There is also a reverse lookup dictionary called `allInstancesToIDs` which maps instances back to their IDs. It is implemented as a `WeakMap` so the keys are stable and we’re not holding onto the unregistered instances. If we’re not happy with `WeakMap`, one possible alternative would be to add a new field called `_debugID` to all the internal instances, but we don’t want to do this in production. Using `WeakMap` seems like a simpler solution here (and stable IDs are a nice bonus). This, however, means that the `__DEV__` (and the future `__PROFILE__`) builds will only work in browsers that support our usage of `WeakMap`.
[1]: https://github.com/facebook/react-devtools/blob/577ec9b8d994fd26d76feb20a1993a96558b7745/backend/getData.js
commit eb85b7b2c989faeb6ed8cd787cf67bd5f6d3ec7d
Merge: 7a8c460 e6e38d0
Author: Jim <jsproch@fb.com>
Date: Thu Mar 31 07:37:31 2016 -0700
Merge pull request #6381 from cbrwizard/clipboard_event_unit_tests
SyntheticClipboardEvent unit tests
commit b6bc4bd996404304aebc935560ed4c9aa35fbc00
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Wed Mar 30 21:50:12 2016 +0100
Spy at warnings consistently inside test cases
We move any spies on `console.error()` from `beforeEach()` to the individual `it()` tests. This means that if a new test is introduced in these suites, it does not ignore warnings by default, but fails on any unexpected warning, which is Jest's default behavior.
We also change a few old instances of direct `console.error = jest.genMockFn()` assignment to use `spyOn()` for consistency with the rest of the tests.
commit e6e38d0f9cea414975f298854e88476fe3b4ac02
Author: cbrwizard <cbrwizard@gmail.com>
Date: Wed Mar 30 23:09:23 2016 +0300
SyntheticClipboardEvent unit tests
Adds unit tests for a SyntheticClipboardEvent.
commit d743a8dd551b885389ba35da4bd928f12d1e99ce
Author: cbrwizard <cbrwizard@gmail.com>
Date: Wed Mar 23 11:59:14 2016 +0300
SyntheticKeyboardEvent unit tests
Adds unit tests for SyntheticKeyboardEvent.
commit dcd092560da72d6435b4c941ee7bf58b6d648903
Merge: 9358ce3 70de7e4
Author: Jim <jsproch@fb.com>
Date: Thu Mar 24 18:59:55 2016 -0700
Merge pull request #6305 from maherbeg/maher-error-find-dom-node
Test to verify findDOMNode does not throw in willMount
commit 70de7e4a38a2c49546666a41741f3cff5484fbc7
Author: Maher Beg <maherbeg@gmail.com>
Date: Sun Mar 20 18:31:19 2016 -0700
Test to verify findDOMNode does not throw in willMount
Adds a test to prevent a regression of throwing an error when
calling `findDOMNode(this)` in a component's `componentWillMount`
function. This previously used to throw an invariant violation but
now does not any more.
commit 6a8ebfc41842fb200c87a919478dcd3aa95be0d7
Merge: ae2a7c7 d17091d
Author: Paul O’Shannessy <paul@oshannessy.com>
Date: Thu Mar 24 16:01:51 2016 -0700
Merge pull request #6331 from zpao/isonpmorphic
Make Browserify-specific modules to remove DOM dependencies from npm package
commit d17091ddebf317173eb30e3ab4a8e28e124c8f50
Author: Paul O’Shannessy <paul@oshannessy.com>
Date: Thu Mar 24 11:00:38 2016 -0700
Make Browserify-specific modules to remove DOM dependencies from npm package
commit 414f057bc2afb3174bbdc438491e2a34f5f6794c
Merge: d8ee071 a7fae7e
Author: Jim <jsproch@fb.com>
Date: Thu Mar 24 08:37:45 2016 -0700
Merge pull request #6296 from jontewks/add-warnings
Add warnings for onFocusIn and onFocusOut props
commit 0f1240e8772be73342797172d29734994adf0874
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Wed Mar 23 22:23:49 2016 +0000
Fix ReactPerf.printOperations() test to work with createElement = false
commit bfb9444300d6517324fcf8cfcf2022a8640c699f
Merge: f5a9fb3 72f33ce
Author: Paul O’Shannessy <paul@oshannessy.com>
Date: Wed Mar 23 12:12:51 2016 -0700
Merge pull request #6242 from edvinerikson/add-origin-to-css-warnings
added component name to css property warnings
commit 1e8156143a6389e2235fa16536bb9161d26a23ce
Merge: 75c2b6a af4fe68
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Wed Mar 23 14:50:36 2016 +0000
Merge pull request #6310 from gaearon/setstate-warning
Add more specific error messages for bad callback in setState, replaceState, and ReactDOM.render
commit a7fae7e4c7321c4bbb41c6e32061cccb629f2c1d
Author: Jon Tewksbury <jontewks@gmail.com>
Date: Mon Mar 21 17:22:37 2016 -0700
Add warnings for onFocusIn and onFocusOut props
commit c528732504959711655c9bded98c6943f7461d6f
Merge: d433c2f 7bdf4db
Author: Jim <jsproch@fb.com>
Date: Mon Mar 21 16:17:06 2016 -0700
Merge pull request #6307 from cbrwizard/getEventCharCode_unit_tests
getEventCharCode unit tests
commit af4fe68b145e4a11c868e8bd81494138b38b27e4
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Mon Mar 21 23:13:16 2016 +0000
Change message format to be more consistent with other errors
commit d4657b83318d59b837c04c9c4b112aa0793d8b3a
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Mon Mar 21 22:31:44 2016 +0000
Add bad callback invariants to ReactDOM.render() calls
commit ebe51284896981142af5b8b1509df17419f2b644
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Mon Mar 21 21:40:17 2016 +0000
Use specific method names in error messages
commit 552f00b536b0f3edc520dd1bc09132b9b0f87e8d
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Mon Mar 21 19:10:46 2016 +0000
Make setState() callback error message more descriptive
Fixes #6306
commit 0393488f397e7c2d139ebc2717977e627bcc2874
Author: Victor Homyakov <vkhomyackov@gmail.com>
Date: Mon Mar 21 14:07:26 2016 +0300
Free memory allocated by testElement after usage
IE11 reports `testElement` as detached DOM node consuming memory. It is captured in closure of `setInnerHTML` function and could be safely cleared after feature test.
commit 7bdf4dba75aa69a4b41df33083004ef607e2e559
Author: cbrwizard <cbrwizard@gmail.com>
Date: Mon Mar 21 12:13:59 2016 +0300
getEventCharCode unit tests
Adds unit tests to getEventCharCode.
commit cfec10bd51a517cad24778d5eea1d6b598e717bc
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Sat Mar 19 21:05:05 2016 +0000
Remove unused export from DOMChildrenOperations
commit b6547734c62773cd57358d5fd4e45f58ab81f81a
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Thu Mar 17 21:23:41 2016 +0000
Strip complex values from ReactPerf.printDOM() output
Fixes #6288
commit ea55d667602d083cacef77074228c9150deac0fa
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Thu Mar 17 20:03:23 2016 +0000
Rename ReactPerf methods to match the upcoming ReactPerf revamp
commit b322d653206822ac4103f80fcfb205ea50fbce7c
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Thu Mar 17 19:23:18 2016 +0000
Fix the ReactDefaultPerf test to match changes in #6286
commit 67647fd82f668dac2884259d2909e80e6f4c2c64
Merge: 663a783 51d37c6
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Thu Mar 17 19:12:07 2016 +0000
Merge pull request #6286 from gaearon/opaque-perf-measurements
Make ReactPerf.getLastMeasurements() opaque
commit 51d37c64c3736d9356469642e5480481128cf6c0
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Thu Mar 17 18:46:52 2016 +0000
Make ReactPerf measurements opaque
We intend to change the measurement format significantly in #6046. In order to introduce the new ReactPerf during 15.x release cycle, we are making the measurement structure opaque-ish in 15.0.
commit 663a78399c0c7c54bb87265b4e594a81659e5151
Merge: e04a138 0782425
Author: Jim <jsproch@fb.com>
Date: Thu Mar 17 10:38:16 2016 -0700
Merge pull request #6273 from cbrwizard/getEventKey_tests
getEventKey unit tests
commit e04a1386347767f0bac60c00fe8a1a2244799c5f
Merge: 8bff1f5 c395c09
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Thu Mar 17 15:44:40 2016 +0000
Merge pull request #6276 from gaearon/fix-custom-components
Skip all special props when setting attributes on web components
commit c395c0977f458b7697787fc514041d70330965dd
Author: Dan Abramov <dan.abramov@gmail.com>
Date: Wed Mar 16 21:10:47 2016 +0000
Skip all special props when setting attributes on web components
commit 07824258c633467ade69341da68d305bc3e3f2a6
Author: cbrwizard <cbrwizard@gmail.com>
Date: Wed Mar 16 22:07:16 2016 +0300
getEventKey unit tests
Adds unit tests to getEventKey function.
commit 72f33ce8923ae70a845ce300f8ef0e3ab21d7724
Author: Edvin Erikson <edvin@rocketblast.com>
Date: Fri Mar 11 01:27:33 2016 +0100
added component name to css property warnings
commit 28a97dbd74e3ab7a87786e8b4a3e8cea63579977
Author: everdimension <everdimension@gmail.com>
Date: Thu Mar 10 20:48:02 2016 +0300
update to set value property with empty string; add test; update ReactDOMComponent test
commit ea15fa31b6c58f118b37c92b423eab09f08722d2
Author: everdimension <everdimension@gmail.com>
Date: Wed Mar 9 19:21:35 2016 +0300
set value property explicitly for "option" element even if value is empty
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment