[ReactNative] allow running JS app server for Android from fbobjc
This commit is contained in:
parent
320605e5af
commit
62d7cd643d
|
@ -18,26 +18,35 @@ var sharedBlacklist = [
|
|||
'node_modules/react-tools/src/event/EventPropagators.js'
|
||||
];
|
||||
|
||||
var webBlacklist = [
|
||||
'.ios.js'
|
||||
];
|
||||
|
||||
var iosBlacklist = [
|
||||
'node_modules/react-tools/src/browser/ui/React.js',
|
||||
'node_modules/react-tools/src/browser/eventPlugins/ResponderEventPlugin.js',
|
||||
// 'node_modules/react-tools/src/vendor/core/ExecutionEnvironment.js',
|
||||
'.web.js',
|
||||
'.android.js',
|
||||
];
|
||||
var platformBlacklists = {
|
||||
web: [
|
||||
'.ios.js'
|
||||
],
|
||||
ios: [
|
||||
'node_modules/react-tools/src/browser/ui/React.js',
|
||||
'node_modules/react-tools/src/browser/eventPlugins/ResponderEventPlugin.js',
|
||||
// 'node_modules/react-tools/src/vendor/core/ExecutionEnvironment.js',
|
||||
'.web.js',
|
||||
'.android.js',
|
||||
],
|
||||
android: [
|
||||
'node_modules/react-tools/src/browser/ui/React.js',
|
||||
'node_modules/react-tools/src/browser/eventPlugins/ResponderEventPlugin.js',
|
||||
'node_modules/react-tools/src/browser/ReactTextComponent.js',
|
||||
// 'node_modules/react-tools/src/vendor/core/ExecutionEnvironment.js',
|
||||
'.web.js',
|
||||
'.ios.js',
|
||||
],
|
||||
};
|
||||
|
||||
function escapeRegExp(str) {
|
||||
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
|
||||
}
|
||||
|
||||
function blacklist(isWeb, additionalBlacklist) {
|
||||
function blacklist(platform, additionalBlacklist) {
|
||||
return new RegExp('(' +
|
||||
(additionalBlacklist || []).concat(sharedBlacklist)
|
||||
.concat(isWeb ? webBlacklist : iosBlacklist)
|
||||
.concat(platformBlacklists[platform] || [])
|
||||
.map(escapeRegExp)
|
||||
.join('|') +
|
||||
')$'
|
||||
|
|
|
@ -42,6 +42,10 @@ var options = parseCommandLine([{
|
|||
}, {
|
||||
command: 'assetRoots',
|
||||
description: 'specify the root directories of app assets'
|
||||
}, {
|
||||
command: 'platform',
|
||||
default: 'ios',
|
||||
description: 'Specify the platform-specific blacklist (ios, android, web).'
|
||||
}, {
|
||||
command: 'skipflow',
|
||||
description: 'Disable flow checks'
|
||||
|
@ -192,7 +196,7 @@ function statusPageMiddleware(req, res, next) {
|
|||
function getAppMiddleware(options) {
|
||||
return ReactPackager.middleware({
|
||||
projectRoots: options.projectRoots,
|
||||
blacklistRE: blacklist(false),
|
||||
blacklistRE: blacklist(options.platform),
|
||||
cacheVersion: '2',
|
||||
transformModulePath: require.resolve('./transformer.js'),
|
||||
assetRoots: options.assetRoots,
|
||||
|
@ -200,7 +204,7 @@ function getAppMiddleware(options) {
|
|||
}
|
||||
|
||||
function runServer(
|
||||
options, /* {[]string projectRoot, bool web} */
|
||||
options,
|
||||
readyCallback
|
||||
) {
|
||||
var app = connect()
|
||||
|
|
Loading…
Reference in New Issue