From 70d5c464acbd87979c51833b07fd6a48cdf3c95f Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Wed, 12 Apr 2017 17:12:32 -0700 Subject: [PATCH 1/3] Added react-dom/test-utils target --- scripts/rollup/bundles.js | 30 ++++++++++++++++++++++++++++++ scripts/rollup/results.json | 6 +++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/scripts/rollup/bundles.js b/scripts/rollup/bundles.js index cc33df8d123e8..569019a3c904a 100644 --- a/scripts/rollup/bundles.js +++ b/scripts/rollup/bundles.js @@ -125,6 +125,34 @@ const bundles = [ 'src/shared/**/*.js', ], }, + { + babelOpts: babelOptsReact, + bundleTypes: [NODE_DEV], + config: { + destDir: 'build/', + globals: { + react: 'React', + }, + moduleName: 'ReactTestUtils', + sourceMap: false, + }, + entry: 'src/test/ReactTestUtils.js', + externals: ['prop-types', 'prop-types/checkPropTypes', 'react'], + hasteName: 'ReactTestUtils', + isRenderer: false, + label: 'react-test-utils', + manglePropertiesOnProd: false, + name: 'react-test-utils', + paths: [ + 'src/renderers/dom/**/*.js', + 'src/renderers/shared/**/*.js', + 'src/test/**/*.js', // ReactTestUtils is currently very coupled to DOM. + + 'src/isomorphic/classic/types/checkPropTypes.js', + 'src/ReactVersion.js', + 'src/shared/**/*.js', + ], + }, /******* React DOM Server *******/ { @@ -361,6 +389,8 @@ const bundles = [ ], }, + // TODO (bvaughn) Add shallow renderer target + /******* React Noop Renderer (used only for fixtures/fiber-debugger) *******/ { babelOpts: babelOptsReact, diff --git a/scripts/rollup/results.json b/scripts/rollup/results.json index 01bee146eedc6..029533fc988ff 100644 --- a/scripts/rollup/results.json +++ b/scripts/rollup/results.json @@ -1,5 +1,5 @@ { - "branch": "master", + "branch": "react-dom-test-utils", "bundleSizes": { "react.development.js (UMD_DEV)": { "size": 121454, @@ -136,6 +136,10 @@ "react-test-renderer.development.js (NODE_DEV)": { "size": 262970, "gzip": 55891 + }, + "react-test-utils.development.js (NODE_DEV)": { + "size": 510282, + "gzip": 122096 } } } \ No newline at end of file From aa88a1576d1da99e7ef3e58b8b4314ba927458e3 Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Wed, 12 Apr 2017 19:22:18 -0700 Subject: [PATCH 2/3] Removed level of indirection for checkPropTypes Files now import directly from prop-types/checkPropTypes --- scripts/rollup/bundles.js | 9 -- scripts/rollup/results.json | 88 +++++++++---------- src/isomorphic/React.js | 2 +- .../classic/element/ReactElementValidator.js | 2 +- .../types/__tests__/ReactPropTypes-test.js | 2 +- .../classic/types/checkPropTypes.js | 14 --- src/node_modules/react/lib/checkPropTypes.js | 9 -- .../shared/fiber/ReactFiberContext.js | 2 +- .../reconciler/ReactCompositeComponent.js | 2 +- 9 files changed, 49 insertions(+), 81 deletions(-) delete mode 100644 src/isomorphic/classic/types/checkPropTypes.js delete mode 100644 src/node_modules/react/lib/checkPropTypes.js diff --git a/scripts/rollup/bundles.js b/scripts/rollup/bundles.js index 569019a3c904a..b08c10a2483af 100644 --- a/scripts/rollup/bundles.js +++ b/scripts/rollup/bundles.js @@ -91,7 +91,6 @@ const bundles = [ 'src/renderers/shared/**/*.js', 'src/test/**/*.js', // ReactTestUtils is currently very coupled to DOM. - 'src/isomorphic/classic/types/checkPropTypes.js', 'src/ReactVersion.js', 'src/shared/**/*.js', ], @@ -120,7 +119,6 @@ const bundles = [ 'src/renderers/shared/**/*.js', 'src/test/**/*.js', // ReactTestUtils is currently very coupled to DOM. - 'src/isomorphic/classic/types/checkPropTypes.js', 'src/ReactVersion.js', 'src/shared/**/*.js', ], @@ -148,7 +146,6 @@ const bundles = [ 'src/renderers/shared/**/*.js', 'src/test/**/*.js', // ReactTestUtils is currently very coupled to DOM. - 'src/isomorphic/classic/types/checkPropTypes.js', 'src/ReactVersion.js', 'src/shared/**/*.js', ], @@ -179,7 +176,6 @@ const bundles = [ 'src/renderers/dom/**/*.js', 'src/renderers/shared/**/*.js', - 'src/isomorphic/classic/types/checkPropTypes.js', 'src/ReactVersion.js', 'src/shared/**/*.js', ], @@ -218,7 +214,6 @@ const bundles = [ 'src/renderers/art/**/*.js', 'src/renderers/shared/**/*.js', - 'src/isomorphic/classic/types/checkPropTypes.js', 'src/ReactVersion.js', 'src/shared/**/*.js', ], @@ -254,7 +249,6 @@ const bundles = [ 'src/renderers/art/**/*.js', 'src/renderers/shared/**/*.js', - 'src/isomorphic/classic/types/checkPropTypes.js', 'src/ReactVersion.js', 'src/shared/**/*.js', ], @@ -356,7 +350,6 @@ const bundles = [ 'src/renderers/shared/**/*.js', 'src/renderers/testing/**/*.js', - 'src/isomorphic/classic/types/checkPropTypes.js', 'src/ReactVersion.js', 'src/shared/**/*.js', ], @@ -383,7 +376,6 @@ const bundles = [ 'src/renderers/shared/**/*.js', 'src/renderers/testing/**/*.js', - 'src/isomorphic/classic/types/checkPropTypes.js', 'src/ReactVersion.js', 'src/shared/**/*.js', ], @@ -413,7 +405,6 @@ const bundles = [ 'src/renderers/noop/**/*.js', 'src/renderers/shared/**/*.js', - 'src/isomorphic/classic/types/checkPropTypes.js', 'src/ReactVersion.js', 'src/shared/**/*.js', ], diff --git a/scripts/rollup/results.json b/scripts/rollup/results.json index 029533fc988ff..12d537433c001 100644 --- a/scripts/rollup/results.json +++ b/scripts/rollup/results.json @@ -2,112 +2,112 @@ "branch": "react-dom-test-utils", "bundleSizes": { "react.development.js (UMD_DEV)": { - "size": 121454, - "gzip": 30515 + "size": 121412, + "gzip": 30500 }, "react.production.min.js (UMD_PROD)": { - "size": 15685, - "gzip": 5765 + "size": 15679, + "gzip": 5761 }, "react-dom.development.js (UMD_DEV)": { - "size": 583190, - "gzip": 134534 + "size": 583148, + "gzip": 134526 }, "react-dom.production.min.js (UMD_PROD)": { "size": 120740, "gzip": 38094 }, "react-dom-server.development.js (UMD_DEV)": { - "size": 495558, - "gzip": 119685 + "size": 495516, + "gzip": 119682 }, "react-dom-server.production.min.js (UMD_PROD)": { "size": 107033, "gzip": 33273 }, "react-art.development.js (UMD_DEV)": { - "size": 342608, - "gzip": 76782 + "size": 342568, + "gzip": 76773 }, "react-art.production.min.js (UMD_PROD)": { "size": 95013, "gzip": 28991 }, "react.development.js (NODE_DEV)": { - "size": 70266, - "gzip": 17594 + "size": 70222, + "gzip": 17579 }, "react.production.min.js (NODE_PROD)": { - "size": 9226, - "gzip": 3628 + "size": 9220, + "gzip": 3621 }, "React-dev.js (FB_DEV)": { - "size": 72123, - "gzip": 18231 + "size": 72079, + "gzip": 18217 }, "React-prod.js (FB_PROD)": { - "size": 36643, - "gzip": 9256 + "size": 36606, + "gzip": 9248 }, "ReactDOMStack-dev.js (FB_DEV)": { - "size": 522763, - "gzip": 124727 + "size": 522721, + "gzip": 124723 }, "ReactDOMStack-prod.js (FB_PROD)": { "size": 352776, "gzip": 84675 }, "react-dom.development.js (NODE_DEV)": { - "size": 542188, - "gzip": 125158 + "size": 542144, + "gzip": 125150 }, "react-dom.production.min.js (NODE_PROD)": { "size": 116925, "gzip": 36732 }, "ReactDOMFiber-dev.js (FB_DEV)": { - "size": 797235, - "gzip": 184122 + "size": 797189, + "gzip": 184111 }, "ReactDOMFiber-prod.js (FB_PROD)": { "size": 407613, "gzip": 93586 }, "react-dom-server.development.js (NODE_DEV)": { - "size": 445589, - "gzip": 107597 + "size": 445547, + "gzip": 107594 }, "react-dom-server.production.min.js (NODE_PROD)": { "size": 101411, "gzip": 31292 }, "ReactDOMServerStack-dev.js (FB_DEV)": { - "size": 444281, - "gzip": 107443 + "size": 444239, + "gzip": 107440 }, "ReactDOMServerStack-prod.js (FB_PROD)": { "size": 334166, "gzip": 80444 }, "ReactARTStack-dev.js (FB_DEV)": { - "size": 142986, - "gzip": 32714 + "size": 142944, + "gzip": 32705 }, "ReactARTStack-prod.js (FB_PROD)": { "size": 101143, "gzip": 22993 }, "react-art.development.js (NODE_DEV)": { - "size": 265052, - "gzip": 56927 + "size": 265008, + "gzip": 56923 }, "react-art.production.min.js (NODE_PROD)": { "size": 56628, "gzip": 17152 }, "ReactARTFiber-dev.js (FB_DEV)": { - "size": 264230, - "gzip": 56736 + "size": 264186, + "gzip": 56732 }, "ReactARTFiber-prod.js (FB_PROD)": { "size": 205336, @@ -122,24 +122,24 @@ "gzip": 84001 }, "ReactTestRendererFiber-dev.js (FB_DEV)": { - "size": 262139, - "gzip": 55704 + "size": 262095, + "gzip": 55698 }, "ReactTestRendererStack-dev.js (FB_DEV)": { - "size": 151521, - "gzip": 34765 + "size": 151479, + "gzip": 34749 }, "react-noop-renderer.development.js (NODE_DEV)": { - "size": 254136, - "gzip": 53682 + "size": 254092, + "gzip": 53674 }, "react-test-renderer.development.js (NODE_DEV)": { - "size": 262970, - "gzip": 55891 + "size": 262926, + "gzip": 55887 }, "react-test-utils.development.js (NODE_DEV)": { - "size": 510282, - "gzip": 122096 + "size": 510240, + "gzip": 122093 } } } \ No newline at end of file diff --git a/src/isomorphic/React.js b/src/isomorphic/React.js index 807a1c369f4f5..2d6baadb5f3bf 100644 --- a/src/isomorphic/React.js +++ b/src/isomorphic/React.js @@ -19,7 +19,7 @@ var ReactPropTypes = require('ReactPropTypes'); var ReactVersion = require('ReactVersion'); var onlyChild = require('onlyChild'); -var checkPropTypes = require('checkPropTypes'); +var checkPropTypes = require('prop-types/checkPropTypes'); var createReactClass = require('createClass'); var createElement = ReactElement.createElement; diff --git a/src/isomorphic/classic/element/ReactElementValidator.js b/src/isomorphic/classic/element/ReactElementValidator.js index 9840ba3a59bb8..cf2682168b6e0 100644 --- a/src/isomorphic/classic/element/ReactElementValidator.js +++ b/src/isomorphic/classic/element/ReactElementValidator.js @@ -26,7 +26,7 @@ var getComponentName = require('getComponentName'); var getIteratorFn = require('getIteratorFn'); if (__DEV__) { - var checkPropTypes = require('checkPropTypes'); + var checkPropTypes = require('prop-types/checkPropTypes'); var warning = require('fbjs/lib/warning'); var ReactDebugCurrentFrame = require('ReactDebugCurrentFrame'); var { diff --git a/src/isomorphic/classic/types/__tests__/ReactPropTypes-test.js b/src/isomorphic/classic/types/__tests__/ReactPropTypes-test.js index edcaca7a6f9a0..ce4c2e183372e 100644 --- a/src/isomorphic/classic/types/__tests__/ReactPropTypes-test.js +++ b/src/isomorphic/classic/types/__tests__/ReactPropTypes-test.js @@ -21,7 +21,7 @@ var MyComponent; function resetWarningCache() { jest.resetModules(); - checkPropTypes = require('checkPropTypes'); + checkPropTypes = require('prop-types/checkPropTypes'); } function getPropTypeWarningMessage(propTypes, object, componentName) { diff --git a/src/isomorphic/classic/types/checkPropTypes.js b/src/isomorphic/classic/types/checkPropTypes.js deleted file mode 100644 index 32d9ecc677497..0000000000000 --- a/src/isomorphic/classic/types/checkPropTypes.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule checkPropTypes - */ - -'use strict'; - -module.exports = require('prop-types/checkPropTypes'); diff --git a/src/node_modules/react/lib/checkPropTypes.js b/src/node_modules/react/lib/checkPropTypes.js deleted file mode 100644 index 083e4df83ad8a..0000000000000 --- a/src/node_modules/react/lib/checkPropTypes.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright 2016-present Facebook. All Rights Reserved. - * - * @flow - */ - -'use strict'; - -module.exports = require('checkPropTypes'); diff --git a/src/renderers/shared/fiber/ReactFiberContext.js b/src/renderers/shared/fiber/ReactFiberContext.js index b2104d19e9039..4d669a8611b30 100644 --- a/src/renderers/shared/fiber/ReactFiberContext.js +++ b/src/renderers/shared/fiber/ReactFiberContext.js @@ -15,7 +15,7 @@ import type {Fiber} from 'ReactFiber'; import type {StackCursor} from 'ReactFiberStack'; -var checkPropTypes = require('checkPropTypes'); +var checkPropTypes = require('prop-types/checkPropTypes'); var emptyObject = require('fbjs/lib/emptyObject'); var getComponentName = require('getComponentName'); var invariant = require('fbjs/lib/invariant'); diff --git a/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js b/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js index 2ad0d4b40316b..ec117977dc02d 100644 --- a/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js +++ b/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js @@ -27,7 +27,7 @@ if (__DEV__) { var warningAboutMissingGetChildContext = {}; } -var checkPropTypes = require('checkPropTypes'); +var checkPropTypes = require('prop-types/checkPropTypes'); var emptyObject = require('fbjs/lib/emptyObject'); var invariant = require('fbjs/lib/invariant'); var shallowEqual = require('fbjs/lib/shallowEqual'); From 681a32e7893c68946ac63fffc601e67f55f64dc4 Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Thu, 13 Apr 2017 10:57:35 -0700 Subject: [PATCH 3/3] Updated Rollup bundle for test-utils * Moved test-utils into react-dom package * Added test-utils to package.json 'files' list * Added ReactTestUtilsFBEntry module (though it doesn't really do anything at the moment) * Replaced ReactDOM references with react-dom to avoid duplicating code --- packages/react-dom/package.json | 1 + packages/react-dom/test-utils.js | 5 +++ scripts/rollup/bundles.js | 16 +++++--- scripts/rollup/results.json | 40 +++++++++++-------- src/fb/ReactDOMFBEntry.js | 5 +-- src/fb/ReactDOMFiberFBEntry.js | 11 ----- .../fb/ReactTestUtilsFBEntry.js | 8 +--- src/renderers/dom/ReactDOM.js | 3 ++ src/renderers/dom/fiber/ReactDOMFiber.js | 3 ++ src/test/ReactTestUtils.js | 16 +++++--- 10 files changed, 60 insertions(+), 48 deletions(-) create mode 100644 packages/react-dom/test-utils.js rename scripts/rollup/shims/facebook-www/ReactTestUtils.js => src/fb/ReactTestUtilsFBEntry.js (60%) diff --git a/packages/react-dom/package.json b/packages/react-dom/package.json index 52070cd964734..d1863e6507af0 100644 --- a/packages/react-dom/package.json +++ b/packages/react-dom/package.json @@ -27,6 +27,7 @@ "README.md", "index.js", "server.js", + "test-utils.js", "cjs/", "umd/" ], diff --git a/packages/react-dom/test-utils.js b/packages/react-dom/test-utils.js new file mode 100644 index 0000000000000..b6bed7d549a17 --- /dev/null +++ b/packages/react-dom/test-utils.js @@ -0,0 +1,5 @@ +'use strict'; + +if (process.env.NODE_ENV !== 'production') { + module.exports = require('./cjs/test-utils.development.js'); +} diff --git a/scripts/rollup/bundles.js b/scripts/rollup/bundles.js index b08c10a2483af..6fb9e248b4827 100644 --- a/scripts/rollup/bundles.js +++ b/scripts/rollup/bundles.js @@ -125,7 +125,7 @@ const bundles = [ }, { babelOpts: babelOptsReact, - bundleTypes: [NODE_DEV], + bundleTypes: [FB_DEV, NODE_DEV], config: { destDir: 'build/', globals: { @@ -135,14 +135,20 @@ const bundles = [ sourceMap: false, }, entry: 'src/test/ReactTestUtils.js', - externals: ['prop-types', 'prop-types/checkPropTypes', 'react'], + externals: [ + 'prop-types', + 'prop-types/checkPropTypes', + 'react', + 'react-dom', + 'react-dom/test-utils', + ], + fbEntry: 'src/fb/ReactTestUtilsFBEntry.js', hasteName: 'ReactTestUtils', isRenderer: false, - label: 'react-test-utils', + label: 'test-utils', manglePropertiesOnProd: false, - name: 'react-test-utils', + name: 'react-dom/test-utils', paths: [ - 'src/renderers/dom/**/*.js', 'src/renderers/shared/**/*.js', 'src/test/**/*.js', // ReactTestUtils is currently very coupled to DOM. diff --git a/scripts/rollup/results.json b/scripts/rollup/results.json index 12d537433c001..3f10353846c3e 100644 --- a/scripts/rollup/results.json +++ b/scripts/rollup/results.json @@ -10,12 +10,12 @@ "gzip": 5761 }, "react-dom.development.js (UMD_DEV)": { - "size": 583148, - "gzip": 134526 + "size": 583284, + "gzip": 134555 }, "react-dom.production.min.js (UMD_PROD)": { - "size": 120740, - "gzip": 38094 + "size": 120793, + "gzip": 38119 }, "react-dom-server.development.js (UMD_DEV)": { "size": 495516, @@ -50,28 +50,28 @@ "gzip": 9248 }, "ReactDOMStack-dev.js (FB_DEV)": { - "size": 522721, - "gzip": 124723 + "size": 492312, + "gzip": 117399 }, "ReactDOMStack-prod.js (FB_PROD)": { - "size": 352776, - "gzip": 84675 + "size": 352924, + "gzip": 84697 }, "react-dom.development.js (NODE_DEV)": { - "size": 542144, - "gzip": 125150 + "size": 542280, + "gzip": 125179 }, "react-dom.production.min.js (NODE_PROD)": { - "size": 116925, - "gzip": 36732 + "size": 116978, + "gzip": 36758 }, "ReactDOMFiber-dev.js (FB_DEV)": { - "size": 797189, - "gzip": 184111 + "size": 543121, + "gzip": 125573 }, "ReactDOMFiber-prod.js (FB_PROD)": { - "size": 407613, - "gzip": 93586 + "size": 407761, + "gzip": 93608 }, "react-dom-server.development.js (NODE_DEV)": { "size": 445547, @@ -140,6 +140,14 @@ "react-test-utils.development.js (NODE_DEV)": { "size": 510240, "gzip": 122093 + }, + "react-dom-test-utils.development.js (NODE_DEV)": { + "size": 78532, + "gzip": 19766 + }, + "ReactTestUtils-dev.js (FB_DEV)": { + "size": 528, + "gzip": 328 } } } \ No newline at end of file diff --git a/src/fb/ReactDOMFBEntry.js b/src/fb/ReactDOMFBEntry.js index 754febaf3637a..c4e8c003fc8cf 100644 --- a/src/fb/ReactDOMFBEntry.js +++ b/src/fb/ReactDOMFBEntry.js @@ -43,10 +43,9 @@ Object.assign(ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, { if (__DEV__) { Object.assign(ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, { - // ReactPerf and ReactTestUtils currently only work with the DOM renderer - // so we expose them from here, but only in DEV mode. + // ReactPerf currently only works with the DOM renderer + // so we expose it here, but only in DEV mode. ReactPerf: require('ReactPerf'), - ReactTestUtils: require('ReactTestUtils'), }); } diff --git a/src/fb/ReactDOMFiberFBEntry.js b/src/fb/ReactDOMFiberFBEntry.js index 188b9c71248ca..9ecaa6fe07844 100644 --- a/src/fb/ReactDOMFiberFBEntry.js +++ b/src/fb/ReactDOMFiberFBEntry.js @@ -45,15 +45,4 @@ Object.assign( }, ); -if (__DEV__) { - Object.assign( - ReactDOMFiber.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, - { - // ReactPerf and ReactTestUtils currently only work with the DOM renderer - // so we expose them from here, but only in DEV mode. - ReactTestUtils: require('ReactTestUtils'), - }, - ); -} - module.exports = ReactDOMFiber; diff --git a/scripts/rollup/shims/facebook-www/ReactTestUtils.js b/src/fb/ReactTestUtilsFBEntry.js similarity index 60% rename from scripts/rollup/shims/facebook-www/ReactTestUtils.js rename to src/fb/ReactTestUtilsFBEntry.js index dafb421d1d187..11c3f04d942a8 100644 --- a/scripts/rollup/shims/facebook-www/ReactTestUtils.js +++ b/src/fb/ReactTestUtilsFBEntry.js @@ -5,14 +5,8 @@ * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule ReactTestUtils */ 'use strict'; -const { - __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, -} = require('ReactDOM-fb'); - -module.exports = __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactTestUtils; +module.exports = require('react-dom/test-utils'); diff --git a/src/renderers/dom/ReactDOM.js b/src/renderers/dom/ReactDOM.js index f5f976ea7d4aa..2ddf727c88f43 100644 --- a/src/renderers/dom/ReactDOM.js +++ b/src/renderers/dom/ReactDOM.js @@ -42,6 +42,9 @@ var ReactDOM = { __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: { // For TapEventPlugin which is popular in open source EventPluginHub: require('EventPluginHub'), + // Used by test-utils + ReactDOMComponentTree, + ReactBrowserEventEmitter: require('ReactBrowserEventEmitter'), }, }; diff --git a/src/renderers/dom/fiber/ReactDOMFiber.js b/src/renderers/dom/fiber/ReactDOMFiber.js index 80598dfb69079..d9b14490834e7 100644 --- a/src/renderers/dom/fiber/ReactDOMFiber.js +++ b/src/renderers/dom/fiber/ReactDOMFiber.js @@ -543,6 +543,9 @@ var ReactDOM = { __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: { // For TapEventPlugin which is popular in open source EventPluginHub: require('EventPluginHub'), + // Used by test-utils + ReactDOMComponentTree, + ReactBrowserEventEmitter, }, }; diff --git a/src/test/ReactTestUtils.js b/src/test/ReactTestUtils.js index f320be4bd12b5..f0179ab9a7a40 100644 --- a/src/test/ReactTestUtils.js +++ b/src/test/ReactTestUtils.js @@ -17,19 +17,21 @@ var EventPluginRegistry = require('EventPluginRegistry'); var EventPropagators = require('EventPropagators'); var React = require('react'); var ReactControlledComponent = require('ReactControlledComponent'); -var ReactDOM = require('ReactDOM'); -var ReactDOMComponentTree = require('ReactDOMComponentTree'); -var ReactBrowserEventEmitter = require('ReactBrowserEventEmitter'); +var ReactDOM = require('react-dom'); var ReactFiberTreeReflection = require('ReactFiberTreeReflection'); var ReactInstanceMap = require('ReactInstanceMap'); var ReactTypeOfWork = require('ReactTypeOfWork'); var ReactGenericBatching = require('ReactGenericBatching'); var SyntheticEvent = require('SyntheticEvent'); -var ReactShallowRenderer = require('ReactShallowRenderer'); -var findDOMNode = require('findDOMNode'); var invariant = require('fbjs/lib/invariant'); +var {findDOMNode} = ReactDOM; +var { + ReactDOMComponentTree, + ReactBrowserEventEmitter, +} = ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + var topLevelTypes = EventConstants.topLevelTypes; var { ClassComponent, @@ -403,9 +405,11 @@ var ReactTestUtils = { }; }, + /** + * TODO (bvaughn) Re-add with an export to react-test-renderer/shallow and a message createRenderer: function() { - return new ReactShallowRenderer(); }, + */ Simulate: null, SimulateNative: {},