@samitouri / QOS-React / commits / ab853e6f3e

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