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) *******/