diff --git a/examples/.storybook/webpack.config.js b/examples/.storybook/webpack.config.js index 62d18d5d..03211546 100644 --- a/examples/.storybook/webpack.config.js +++ b/examples/.storybook/webpack.config.js @@ -27,7 +27,7 @@ module.exports = { ], resolve: { alias: { - 'react-native': path.join(__dirname, '../../src') + 'react-native': path.join(__dirname, '../../src/module') } } } diff --git a/performance/webpack.config.js b/performance/webpack.config.js index 1ac15030..21c11038 100644 --- a/performance/webpack.config.js +++ b/performance/webpack.config.js @@ -49,7 +49,7 @@ module.exports = { ], resolve: { alias: { - 'react-native': path.join(__dirname, '../src') + 'react-native': path.join(__dirname, '../src/module') } } }; diff --git a/src/index.js b/src/index.js index bda26917..40ed0ade 100644 --- a/src/index.js +++ b/src/index.js @@ -1,54 +1,57 @@ -import createDOMElement from './modules/createDOMElement'; -import findNodeHandle from './modules/findNodeHandle'; -import modality from './modules/modality'; -import NativeModules from './modules/NativeModules'; -import processColor from './modules/processColor'; -import { render, unmountComponentAtNode } from 'react-dom'; +import { + // top-level API + findNodeHandle, + render, + unmountComponentAtNode, -// APIs -import Animated from './apis/Animated'; -import AppRegistry from './apis/AppRegistry'; -import AppState from './apis/AppState'; -import AsyncStorage from './apis/AsyncStorage'; -import BackAndroid from './apis/BackAndroid'; -import Clipboard from './apis/Clipboard'; -import Dimensions from './apis/Dimensions'; -import Easing from 'animated/lib/Easing'; -import I18nManager from './apis/I18nManager'; -import InteractionManager from './apis/InteractionManager'; -import Linking from './apis/Linking'; -import NetInfo from './apis/NetInfo'; -import PanResponder from './apis/PanResponder'; -import PixelRatio from './apis/PixelRatio'; -import Platform from './apis/Platform'; -import StyleSheet from './apis/StyleSheet'; -import UIManager from './apis/UIManager'; -import Vibration from './apis/Vibration'; + // modules + createDOMElement, + NativeModules, + processColor, -// components -import ActivityIndicator from './components/ActivityIndicator'; -import Button from './components/Button'; -import Image from './components/Image'; -import ListView from './components/ListView'; -import ProgressBar from './components/ProgressBar'; -import ScrollView from './components/ScrollView'; -import StatusBar from './components/StatusBar'; -import Switch from './components/Switch'; -import Text from './components/Text'; -import TextInput from './components/TextInput'; -import Touchable from './components/Touchable/Touchable'; -import TouchableHighlight from './components/Touchable/TouchableHighlight'; -import TouchableOpacity from './components/Touchable/TouchableOpacity'; -import TouchableWithoutFeedback from './components/Touchable/TouchableWithoutFeedback'; -import View from './components/View'; + // APIs + Animated, + AppRegistry, + AppState, + AsyncStorage, + BackAndroid, + Clipboard, + Dimensions, + Easing, + I18nManager, + InteractionManager, + Linking, + NetInfo, + PanResponder, + PixelRatio, + Platform, + StyleSheet, + UIManager, + Vibration, -// propTypes -import ColorPropType from './propTypes/ColorPropType'; -import EdgeInsetsPropType from './propTypes/EdgeInsetsPropType'; -import PointPropType from './propTypes/PointPropType'; -import ViewPropTypes from './components/View/ViewPropTypes'; + // components + ActivityIndicator, + Button, + Image, + ListView, + ProgressBar, + ScrollView, + StatusBar, + Switch, + Text, + TextInput, + Touchable, + TouchableHighlight, + TouchableOpacity, + TouchableWithoutFeedback, + View, -modality(); + // propTypes + ColorPropType, + EdgeInsetsPropType, + PointPropType, + ViewPropTypes +} from './module'; const ReactNative = { // top-level API diff --git a/src/module.js b/src/module.js new file mode 100644 index 00000000..54a84940 --- /dev/null +++ b/src/module.js @@ -0,0 +1,50 @@ +export { default as createDOMElement } from './modules/createDOMElement'; +export { default as findNodeHandle } from './modules/findNodeHandle'; +export { default as NativeModules } from './modules/NativeModules'; +export { default as processColor } from './modules/processColor'; +export { render, unmountComponentAtNode } from 'react-dom'; + +// APIs +export { default as Animated } from './apis/Animated'; +export { default as AppRegistry } from './apis/AppRegistry'; +export { default as AppState } from './apis/AppState'; +export { default as AsyncStorage } from './apis/AsyncStorage'; +export { default as BackAndroid } from './apis/BackAndroid'; +export { default as Clipboard } from './apis/Clipboard'; +export { default as Dimensions } from './apis/Dimensions'; +export { default as Easing } from 'animated/lib/Easing'; +export { default as I18nManager } from './apis/I18nManager'; +export { default as InteractionManager } from './apis/InteractionManager'; +export { default as Linking } from './apis/Linking'; +export { default as NetInfo } from './apis/NetInfo'; +export { default as PanResponder } from './apis/PanResponder'; +export { default as PixelRatio } from './apis/PixelRatio'; +export { default as Platform } from './apis/Platform'; +export { default as StyleSheet } from './apis/StyleSheet'; +export { default as UIManager } from './apis/UIManager'; +export { default as Vibration } from './apis/Vibration'; + +// components +export { default as ActivityIndicator } from './components/ActivityIndicator'; +export { default as Button } from './components/Button'; +export { default as Image } from './components/Image'; +export { default as ListView } from './components/ListView'; +export { default as ProgressBar } from './components/ProgressBar'; +export { default as ScrollView } from './components/ScrollView'; +export { default as StatusBar } from './components/StatusBar'; +export { default as Switch } from './components/Switch'; +export { default as Text } from './components/Text'; +export { default as TextInput } from './components/TextInput'; +export { default as Touchable } from './components/Touchable/Touchable'; +export { default as TouchableHighlight } from './components/Touchable/TouchableHighlight'; +export { default as TouchableOpacity } from './components/Touchable/TouchableOpacity'; +export { + default as TouchableWithoutFeedback +} from './components/Touchable/TouchableWithoutFeedback'; +export { default as View } from './components/View'; + +// propTypes +export { default as ColorPropType } from './propTypes/ColorPropType'; +export { default as EdgeInsetsPropType } from './propTypes/EdgeInsetsPropType'; +export { default as PointPropType } from './propTypes/PointPropType'; +export { default as ViewPropTypes } from './components/View/ViewPropTypes'; diff --git a/src/modules/createDOMElement/index.js b/src/modules/createDOMElement/index.js index 72dd1373..16283e75 100644 --- a/src/modules/createDOMElement/index.js +++ b/src/modules/createDOMElement/index.js @@ -2,9 +2,12 @@ import '../injectResponderEventPlugin'; import AccessibilityUtil from '../AccessibilityUtil'; import createDOMProps from '../createDOMProps'; +import modality from '../modality'; import normalizeNativeEvent from '../normalizeNativeEvent'; import React from 'react'; +modality(); + const eventHandlerNames = { onClick: true, onClickCapture: true,