Group event code together and forbid cross-client/server imports (#11298)
* react-dom/src/syntheticEvents => events, and put plugins into it * Flatten react-dom/src/shared * Split react-dom/src/client/utils into event/ and root client folder Makes it clearer what is used by what. * Strictly separate modules that can be imported by client and server
Dan Abramov committed
Oct 20, 2017 at 13:51 UTC
ab853e6f3ef69a56f042f5aa5c07da881fdb68a0
65 files changed
+28
-6
packages/react-dom/src/client/__tests__/getNodeForCharacterOffset-test.js
renamed
packages/react-dom/src/client/__tests__/setInnerHTML-test.js
renamed
packages/react-dom/src/client/event/ReactBrowserEventEmitter.js
renamed
packages/react-dom/src/client/event/ReactDOMEventListener.js
renamed
packages/react-dom/src/client/event/SyntheticAnimationEvent.js
renamed
packages/react-dom/src/client/event/SyntheticClipboardEvent.js
renamed
packages/react-dom/src/client/event/SyntheticCompositionEvent.js
renamed
packages/react-dom/src/client/event/SyntheticDragEvent.js
renamed
packages/react-dom/src/client/event/SyntheticFocusEvent.js
renamed
packages/react-dom/src/client/event/SyntheticInputEvent.js
renamed
packages/react-dom/src/client/event/SyntheticKeyboardEvent.js
renamed
packages/react-dom/src/client/event/SyntheticMouseEvent.js
renamed
packages/react-dom/src/client/event/SyntheticTouchEvent.js
renamed
packages/react-dom/src/client/event/SyntheticTransitionEvent.js
renamed
packages/react-dom/src/client/event/SyntheticUIEvent.js
renamed
packages/react-dom/src/client/event/SyntheticWheelEvent.js
renamed
packages/react-dom/src/client/event/__tests__/SyntheticClipboardEvent-test.js
renamed
packages/react-dom/src/client/event/__tests__/SyntheticEvent-test.js
renamed
packages/react-dom/src/client/event/__tests__/SyntheticKeyboardEvent-test.js
renamed
packages/react-dom/src/client/event/__tests__/SyntheticWheelEvent-test.js
renamed
packages/react-dom/src/client/event/__tests__/getEventCharCode-test.js
renamed
packages/react-dom/src/client/event/__tests__/getEventKey-test.js
renamed
packages/react-dom/src/client/event/getEventCharCode.js
renamed
packages/react-dom/src/client/event/getEventKey.js
renamed
packages/react-dom/src/client/event/getEventModifierState.js
renamed
packages/react-dom/src/client/event/getEventTarget.js
renamed
packages/react-dom/src/client/event/isEventSupported.js
renamed
packages/react-dom/src/client/event/plugins/BeforeInputEventPlugin.js
renamed
packages/react-dom/src/client/event/plugins/ChangeEventPlugin.js
renamed
packages/react-dom/src/client/event/plugins/DOMEventPluginOrder.js
renamed
packages/react-dom/src/client/event/plugins/EnterLeaveEventPlugin.js
renamed
packages/react-dom/src/client/event/plugins/FallbackCompositionState.js
renamed
packages/react-dom/src/client/event/plugins/SelectEventPlugin.js
renamed
packages/react-dom/src/client/event/plugins/SimpleEventPlugin.js
renamed
packages/react-dom/src/client/event/plugins/TapEventPlugin.js
renamed
packages/react-dom/src/client/event/plugins/__tests__/BeforeInputEventPlugin-test.js
renamed
packages/react-dom/src/client/event/plugins/__tests__/ChangeEventPlugin-test.js
renamed
packages/react-dom/src/client/event/plugins/__tests__/EnterLeaveEventPlugin-test.js
renamed
packages/react-dom/src/client/event/plugins/__tests__/FallbackCompositionState-test.js
renamed
packages/react-dom/src/client/event/plugins/__tests__/SelectEventPlugin-test.js
renamed
packages/react-dom/src/client/event/plugins/__tests__/SimpleEventPlugin-test.js
renamed
packages/react-dom/src/client/getNodeForCharacterOffset.js
renamed
packages/react-dom/src/client/getTextContentAccessor.js
renamed
packages/react-dom/src/client/inputValueTracking.js
renamed
packages/react-dom/src/client/setInnerHTML.js
renamed
packages/react-dom/src/client/setTextContent.js
renamed
packages/react-dom/src/client/validateDOMNesting.js
renamed
packages/react-dom/src/shared/ReactControlledValuePropTypes.js
renamed
packages/react-dom/src/shared/ReactDOMInvalidARIAHook.js
renamed
packages/react-dom/src/shared/ReactDOMNullInputValuePropHook.js
renamed
packages/react-dom/src/shared/ReactDOMUnknownPropertyHook.js
renamed
packages/react-dom/src/shared/assertValidProps.js
renamed
packages/react-dom/src/shared/checkReact.js
renamed
packages/react-dom/src/shared/createMicrosoftUnsafeLocalFunction.js
renamed
packages/react-dom/src/shared/dangerousStyleValue.js
renamed
packages/react-dom/src/shared/escapeTextContentForBrowser.js
renamed
packages/react-dom/src/shared/isCustomComponent.js
renamed
packages/react-dom/src/shared/omittedCloseTags.js
renamed
packages/react-dom/src/shared/possibleStandardNames.js
renamed
packages/react-dom/src/shared/quoteAttributeValueForBrowser.js
renamed
packages/react-dom/src/shared/validAriaProperties.js
renamed
packages/react-dom/src/shared/voidElementTags.js
renamed
packages/react-dom/src/shared/warnValidStyle.js
renamed
scripts/rollup/bundles.js
+27
-5
@@ -95,7 +95,9 @@ const bundles = [
95
manglePropertiesOnProd: false,
96
name: 'react-dom',
97
paths: [
98
- 'packages/react-dom/**/*.js',
98
+ 'packages/react-dom/*.js',
99
+ 'packages/react-dom/src/client/**/*.js',
100
+ 'packages/react-dom/src/shared/**/*.js',
101
'packages/react-reconciler/**/*.js',
102
'packages/shared/**/*.js',
103
],
@@ -124,7 +126,12 @@ const bundles = [
126
label: 'test-utils',
127
manglePropertiesOnProd: false,
128
name: 'react-dom/test-utils',
127
- paths: ['packages/react-dom/**/*.js', 'packages/shared/**/*.js'],
129
+ paths: [
130
+ 'packages/react-dom/*.js',
131
+ 'packages/react-dom/src/test-utils/**/*.js',
132
+ 'packages/react-dom/src/shared/**/*.js',
133
+ 'packages/shared/**/*.js',
134
+ ],
135
},
136
/* React DOM internals required for react-native-web (e.g., to shim native events from react-dom) */
137
{
@@ -152,7 +159,12 @@ const bundles = [
159
label: 'dom-unstable-native-dependencies',
160
manglePropertiesOnProd: false,
161
name: 'react-dom/unstable-native-dependencies',
155
- paths: ['packages/react-dom/**/*.js', 'packages/shared/**/*.js'],
162
+ paths: [
163
+ 'packages/react-dom/*.js',
164
+ 'packages/react-dom/src/unstable-native-dependencies/**/*.js',
165
+ 'packages/react-dom/src/shared/**/*.js',
166
+ 'packages/shared/**/*.js',
167
+ ],
168
},
169
170
/******* React DOM Server *******/
@@ -175,7 +187,12 @@ const bundles = [
187
label: 'dom-server-browser',
188
manglePropertiesOnProd: false,
189
name: 'react-dom/server.browser',
178
- paths: ['packages/react-dom/**/*.js', 'packages/shared/**/*.js'],
190
+ paths: [
191
+ 'packages/react-dom/*.js',
192
+ 'packages/react-dom/src/server/**/*.js',
193
+ 'packages/react-dom/src/shared/**/*.js',
194
+ 'packages/shared/**/*.js',
195
+ ],
196
},
197
198
{
@@ -195,7 +212,12 @@ const bundles = [
212
label: 'dom-server-server-node',
213
manglePropertiesOnProd: false,
214
name: 'react-dom/server.node',
198
- paths: ['packages/react-dom/**/*.js', 'packages/shared/**/*.js'],
215
+ paths: [
216
+ 'packages/react-dom/*.js',
217
+ 'packages/react-dom/src/server/**/*.js',
218
+ 'packages/react-dom/src/shared/**/*.js',
219
+ 'packages/shared/**/*.js',
220
+ ],
221
},
222
223
/******* React ART *******/
scripts/rollup/packaging.js
+1
-1
@@ -19,7 +19,7 @@ const RN_PROD = Bundles.bundleTypes.RN_PROD;
19
const facebookWWW = 'facebook-www';
20
// these files need to be copied to the facebook-www build
21
const facebookWWWSrcDependencies = [
22
- 'packages/react-dom/src/client/eventPlugins/TapEventPlugin.js',
22
+ 'packages/react-dom/src/client/event/plugins/TapEventPlugin.js',
23
];
24
25
// these files need to be copied to the react-native build