Skip to content

Commit 4ac3c4a

Browse files
Martin Konicekfacebook-github-bot-9
authored andcommitted
Make 'npm start' an alias for 'packager.sh', don't silently no-op on Windows
Reviewed By: martinbigio Differential Revision: D2559772 fb-gh-sync-id: d1cd2874c32459d6e1f0af7d084c3559ebc145aa
1 parent e612690 commit 4ac3c4a

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

local-cli/cli.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ var generate = require('../private-cli/src/generate/generate');
1515
var init = require('./init.js');
1616
var library = require('../private-cli/src/library/library');
1717
var runAndroid = require('./run-android.js');
18+
var runPackager = require('./run-packager.js');
1819
var server = require('../private-cli/src/server/server');
1920

2021
// TODO: remove once we fully roll out the `private-cli` based cli
2122
// var bundle_DEPRECATED = require('./bundle.js');
2223
// var generateAndroid_DEPRECATED = require('./generate-android.js');
2324
// var newLibrary_DEPRECATED = require('./new-library.js');
24-
// var runPackager_DEPRECATED = require('./run-packager.js');
2525

2626
function printUsage() {
2727
console.log([
@@ -31,7 +31,8 @@ function printUsage() {
3131
' start: starts the webserver',
3232
' bundle: builds the javascript bundle for offline use',
3333
' new-library: generates a native library bridge',
34-
' android: generates an Android project for your app'
34+
' android: generates an Android project for your app',
35+
' run-android: builds your app and starts it on a connected Android emulator or device'
3536
].join('\n'));
3637
process.exit(1);
3738
}
@@ -53,8 +54,7 @@ function run() {
5354
var config = Config.get(__dirname);
5455
switch (args[0]) {
5556
case 'start':
56-
server(args, config).done();
57-
// runPackager_DEPRECATED();
57+
runPackager(false);
5858
break;
5959
case 'bundle':
6060
bundle(args, config).done();
@@ -86,6 +86,9 @@ function run() {
8686
case 'run-android':
8787
runAndroid();
8888
break;
89+
case 'help':
90+
printUsage();
91+
break;
8992
default:
9093
console.error('Command `%s` unrecognized', args[0]);
9194
printUsage();

local-cli/run-packager.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,14 @@
88
*/
99
'use strict';
1010

11+
var chalk = require('chalk');
1112
var path = require('path');
1213
var child_process = require('child_process');
1314

15+
/**
16+
* Main entry point to starting the packager from JS.
17+
* @param {boolean} newWindow If true, will start the packager in a new shell window.
18+
*/
1419
module.exports = function(newWindow) {
1520
if (newWindow) {
1621
var launchPackagerScript =
@@ -22,6 +27,16 @@ module.exports = function(newWindow) {
2227
'xterm',
2328
['-e', 'sh', launchPackagerScript],
2429
{detached: true});
30+
} else if (/^win/.test(process.platform)) {
31+
console.log(chalk.yellow('Starting the packager in a new window ' +
32+
'is not supported on Windows yet.\nPlease start it manually using ' +
33+
'\'react-native start\'.'));
34+
console.log('We believe the best Windows ' +
35+
'support will come from a community of people\nusing React Native on ' +
36+
'Windows on a daily basis.\n' +
37+
'Would you be up for sending a pull request?');
38+
} else {
39+
console.log('Cannot start the packager. Unknown platform ' + process.platform);
2540
}
2641
} else {
2742
if (/^win/.test(process.platform)) {

0 commit comments

Comments
 (0)