@samitouri / QOS-React / commits / c625b868f5

Only renderers should depend on reconciler code (#11281)

* Only renderers should depend on reconciler code * Remove react-art dependency on react-dom modules They share ReactDOMFrameScheduling so I moved it to shared.

Dan Abramov committed Oct 19, 2017 at 15:52 UTC c625b868f56e384dc3f9c0a4df33eb5d8f610226
6 files changed +7 -13
packages/shared/src/ReactDOMFrameScheduling.js renamed
packages/shared/src/ReactFiberTreeReflection.js renamed
packages/shared/src/ReactInstanceMap.js
+3 -1
@@ -14,9 +14,11 @@
14 * instance (key) and the internal representation (value). This allows public
15 * methods to accept the user facing instance as an argument and map them back
16 * to internal methods.
17 + *
18 + * Note that this module is currently shared and assumed to be stateless.
19 + * If this becomes an actual Map, that will break.
20 */
21
19 -// TODO: Replace this with ES6: var ReactInstanceMap = new Map();
22 var ReactInstanceMap = {
23 /**
24 * This API should be called `delete` but we'd have to make sure to always
packages/shared/src/ReactTypeOfSideEffect.js renamed
packages/shared/src/__tests__/ReactDOMFrameScheduling-test.js renamed
scripts/rollup/bundles.js
+4 -12
@@ -118,11 +118,7 @@ const bundles = [
118 label: 'test-utils',
119 manglePropertiesOnProd: false,
120 name: 'react-dom/test-utils',
121 - paths: [
122 - 'packages/react-dom/**/*.js',
123 - 'packages/react-reconciler/**/*.js',
124 - 'packages/shared/**/*.js',
125 - ],
121 + paths: ['packages/react-dom/**/*.js', 'packages/shared/**/*.js'],
122 },
123 /* React DOM internals required for react-native-web (e.g., to shim native events from react-dom) */
124 {
@@ -175,6 +171,7 @@ const bundles = [
171 name: 'react-dom/server.browser',
172 paths: [
173 'packages/react-dom/**/*.js',
174 + // TODO: server shouldn't depend on reconciler modules:
175 'packages/react-reconciler/**/*.js',
176 'packages/shared/**/*.js',
177 ],
@@ -199,6 +196,7 @@ const bundles = [
196 name: 'react-dom/server.node',
197 paths: [
198 'packages/react-dom/**/*.js',
199 + // TODO: server shouldn't depend on reconciler modules:
200 'packages/react-reconciler/**/*.js',
201 'packages/shared/**/*.js',
202 ],
@@ -234,8 +232,6 @@ const bundles = [
232 name: 'react-art',
233 paths: [
234 'packages/react-art/**/*.js',
237 - // Because of DOMFrameScheduling. Should be shared?
238 - 'packages/react-dom/**/*.js',
235 'packages/react-reconciler/**/*.js',
236 'packages/shared/**/*.js',
237 ],
@@ -375,11 +371,7 @@ const bundles = [
371 label: 'shallow-renderer',
372 manglePropertiesOnProd: false,
373 name: 'react-test-renderer/shallow',
378 - paths: [
379 - 'packages/react-test-renderer/**/*.js',
380 - 'packages/react-reconciler/**/*.js',
381 - 'packages/shared/**/*.js',
382 - ],
374 + paths: ['packages/react-test-renderer/**/*.js', 'packages/shared/**/*.js'],
375 },
376
377 /******* React Noop Renderer (used only for fixtures/fiber-debugger) *******/