Merge pull request #2809 from hzerica/master-pr-6

[CLI]let 'react-native bundle' support 'platform' option.
This commit is contained in:
Martin Konicek 2015-09-18 20:04:40 +01:00
commit f6b97eaa91

View File

@ -5,12 +5,18 @@ var chalk = require('chalk');
var blacklist = require('../packager/blacklist.js'); var blacklist = require('../packager/blacklist.js');
var ReactPackager = require('../packager/react-packager'); var ReactPackager = require('../packager/react-packager');
var OUT_PATH = 'ios/main.jsbundle'; var OUT_PATH = {
var URL_PATH = '/index.ios.bundle?dev='; android: 'android/app/src/main/assets/index.android.bundle',
ios: 'ios/main.jsbundle'
};
var URL_PATH = {
android: '/index.android.bundle?platform=android&dev=',
ios: '/index.ios.bundle?platform=ios&dev='
};
function getBundle(flags) { function getBundle(flags) {
var platform = flags.platform ? flags.platform : 'ios';
var outPath = flags.out ? flags.out : OUT_PATH; var outPath = flags.out ? flags.out : OUT_PATH[platform];
var projectRoots = [path.resolve(__dirname, '../../..')]; var projectRoots = [path.resolve(__dirname, '../../..')];
if (flags.root) { if (flags.root) {
@ -30,10 +36,10 @@ function getBundle(flags) {
transformModulePath: require.resolve('../packager/transformer.js'), transformModulePath: require.resolve('../packager/transformer.js'),
assetRoots: assetRoots, assetRoots: assetRoots,
cacheVersion: '2', cacheVersion: '2',
blacklistRE: blacklist('ios'), blacklistRE: blacklist(platform),
}; };
var url = flags.url ? flags.url.replace(/\.js$/i, '.bundle?dev=') : URL_PATH; var url = flags.url ? flags.url.replace(/\.js$/i, '.bundle?dev=') : URL_PATH[platform];
url = url.match(/^\//) ? url : '/' + url; url = url.match(/^\//) ? url : '/' + url;
url += flags.dev; url += flags.dev;
@ -66,6 +72,7 @@ function showHelp() {
' --assetRoots\t\tspecify the root directories of app assets', ' --assetRoots\t\tspecify the root directories of app assets',
' --out\t\tspecify the output file', ' --out\t\tspecify the output file',
' --url\t\tspecify the bundle file url', ' --url\t\tspecify the bundle file url',
' --platform\t\tspecify the platform(android/ios)',
].join('\n')); ].join('\n'));
process.exit(1); process.exit(1);
} }
@ -77,6 +84,7 @@ module.exports = {
dev: args.indexOf('--dev') !== -1, dev: args.indexOf('--dev') !== -1,
minify: args.indexOf('--minify') !== -1, minify: args.indexOf('--minify') !== -1,
root: args.indexOf('--root') !== -1 ? args[args.indexOf('--root') + 1] : false, root: args.indexOf('--root') !== -1 ? args[args.indexOf('--root') + 1] : false,
platform: args.indexOf('--platform') !== -1 ? args[args.indexOf('--platform') + 1] : false,
assetRoots: args.indexOf('--assetRoots') !== -1 ? args[args.indexOf('--assetRoots') + 1] : false, assetRoots: args.indexOf('--assetRoots') !== -1 ? args[args.indexOf('--assetRoots') + 1] : false,
out: args.indexOf('--out') !== -1 ? args[args.indexOf('--out') + 1] : false, out: args.indexOf('--out') !== -1 ? args[args.indexOf('--out') + 1] : false,
url: args.indexOf('--url') !== -1 ? args[args.indexOf('--url') + 1] : false, url: args.indexOf('--url') !== -1 ? args[args.indexOf('--url') + 1] : false,