Merge pull request #166 from lacker/master

fix cdpath bug
This commit is contained in:
Kevin Lacker
2016-07-24 23:44:18 -07:00
committed by GitHub
2 changed files with 10 additions and 6 deletions

View File

@@ -88,15 +88,16 @@ function createApp(name, verbose, version) {
private: true,
};
fs.writeFileSync(path.join(root, 'package.json'), JSON.stringify(packageJson));
var originalDirectory = process.cwd();
process.chdir(root);
console.log('Installing packages. This might take a couple minutes.');
console.log('Installing react-scripts from npm...');
run(root, appName, version, verbose);
run(root, appName, version, verbose, originalDirectory);
}
function run(root, appName, version, verbose) {
function run(root, appName, version, verbose, originalDirectory) {
var args = [
'install',
verbose && '--verbose',
@@ -121,7 +122,7 @@ function run(root, appName, version, verbose) {
'init.js'
);
var init = require(scriptsPath);
init(root, appName, verbose);
init(root, appName, verbose, originalDirectory);
});
}

View File

@@ -11,7 +11,7 @@ var fs = require('fs-extra');
var path = require('path');
var spawn = require('cross-spawn');
module.exports = function(hostPath, appName, verbose) {
module.exports = function(hostPath, appName, verbose, originalDirectory) {
var selfPath = path.join(hostPath, 'node_modules', 'react-scripts');
var hostPackage = require(path.join(hostPath, 'package.json'));
@@ -60,9 +60,12 @@ module.exports = function(hostPath, appName, verbose) {
return;
}
// Make sure to display the right way to cd
// Display the most elegant way to cd.
// This needs to handle an undefined originalDirectory for
// backward compatibility with old global-cli's.
var cdpath;
if (path.join(process.cwd(), appName) === hostPath) {
if (originalDirectory &&
path.join(originalDirectory, appName) === hostPath) {
cdpath = appName;
} else {
cdpath = hostPath;