From 350b2bc342c750abb42219c35098245c98d0f9ee Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Mon, 26 Sep 2016 20:55:24 +0200 Subject: [PATCH 01/17] Beaufity output of eject.js script --- packages/react-scripts/scripts/eject.js | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index c0c498d12df..5246d1a201d 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -13,13 +13,16 @@ var path = require('path'); var prompt = require('react-dev-utils/prompt'); var rimrafSync = require('rimraf').sync; var spawnSync = require('cross-spawn').sync; +var chalk = require('chalk'); +var green = chalk.green; +var yellowUnderline = chalk.yellow.underline prompt( 'Are you sure you want to eject? This action is permanent.', false ).then(shouldEject => { if (!shouldEject) { - console.log('Close one! Eject aborted.'); + console.log(green('Close one! Eject aborted.')); process.exit(1); } @@ -62,7 +65,7 @@ prompt( fs.mkdirSync(path.join(appPath, 'scripts')); files.forEach(function(file) { - console.log('Copying ' + file + ' to ' + appPath); + console.log(green('Copying ') + yellowUnderline(file) + ' to ' + yellowUnderline(appPath)); var content = fs .readFileSync(path.join(ownPath, file), 'utf8') // Remove dead code from .js files on eject @@ -78,7 +81,7 @@ prompt( var appPackage = require(path.join(appPath, 'package.json')); var ownPackageName = ownPackage.name; - console.log('Removing dependency: ' + ownPackageName); + console.log('Removing dependency: ' + yellowUnderline(ownPackageName)); delete appPackage.devDependencies[ownPackageName]; Object.keys(ownPackage.dependencies).forEach(function (key) { @@ -86,7 +89,7 @@ prompt( if (ownPackage.optionalDependencies[key]) { return; } - console.log('Adding dependency: ' + key); + console.log(green('\tAdding dependency: ') + yellowUnderline(key)); appPackage.devDependencies[key] = ownPackage.dependencies[key]; }); @@ -107,20 +110,20 @@ prompt( true ); - console.log('Writing package.json'); + console.log(green('Writing ') + yellowUnderline('package.json')); fs.writeFileSync( path.join(appPath, 'package.json'), JSON.stringify(appPackage, null, 2) ); console.log(); - console.log('Running npm install...'); + console.log(green('Running ') + yellowUnderline('npm install...')); rimrafSync(ownPath); spawnSync('npm', ['install'], {stdio: 'inherit'}); - console.log('Ejected successfully!'); + console.log(green('Ejected successfully!')); console.log(); - console.log('Please consider sharing why you ejected in this survey:'); - console.log(' http://goo.gl/forms/Bi6CZjk1EqsdelXk1'); - console.log(); -}); + console.log(green('Please consider sharing why you ejected in this survey:')); + console.log('\t' + yellowUnderline('http://goo.gl/forms/Bi6CZjk1EqsdelXk1')); + console.log() +}) From 822ad8cf97eb2e6abffca6a216042d8d75d083af Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Tue, 27 Sep 2016 08:38:14 +0200 Subject: [PATCH 02/17] change formatting of the eject.js output and move colors to cyan --- packages/react-scripts/scripts/eject.js | 27 ++++++++++++++----------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index 5246d1a201d..2e4d850016e 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -15,19 +15,19 @@ var rimrafSync = require('rimraf').sync; var spawnSync = require('cross-spawn').sync; var chalk = require('chalk'); var green = chalk.green; -var yellowUnderline = chalk.yellow.underline +var cyan = chalk.cyan; +var red = chalk.red; prompt( 'Are you sure you want to eject? This action is permanent.', false ).then(shouldEject => { if (!shouldEject) { - console.log(green('Close one! Eject aborted.')); + console.log(cyan('Close one! Eject aborted.')); process.exit(1); } console.log('Ejecting...'); - console.log(); var ownPath = path.join(__dirname, '..'); var appPath = path.join(ownPath, '..', '..'); @@ -64,8 +64,10 @@ prompt( fs.mkdirSync(path.join(appPath, 'config', 'jest')); fs.mkdirSync(path.join(appPath, 'scripts')); + console.log(); + console.log(cyan('Adding necessary files')); files.forEach(function(file) { - console.log(green('Copying ') + yellowUnderline(file) + ' to ' + yellowUnderline(appPath)); + console.log(cyan(' Copying ') + file+ ' to ' + appPath); var content = fs .readFileSync(path.join(ownPath, file), 'utf8') // Remove dead code from .js files on eject @@ -79,9 +81,9 @@ prompt( var ownPackage = require(path.join(ownPath, 'package.json')); var appPackage = require(path.join(appPath, 'package.json')); - + console.log(cyan('Managing dependencies')); var ownPackageName = ownPackage.name; - console.log('Removing dependency: ' + yellowUnderline(ownPackageName)); + console.log(red(' Removing dependency: ') + ownPackageName); delete appPackage.devDependencies[ownPackageName]; Object.keys(ownPackage.dependencies).forEach(function (key) { @@ -89,11 +91,11 @@ prompt( if (ownPackage.optionalDependencies[key]) { return; } - console.log(green('\tAdding dependency: ') + yellowUnderline(key)); + console.log(cyan(' Adding dependency: ') + key); appPackage.devDependencies[key] = ownPackage.dependencies[key]; }); - - console.log('Updating scripts'); + console.log(); + console.log(cyan('Updating scripts')); delete appPackage.scripts['eject']; Object.keys(appPackage.scripts).forEach(function (key) { appPackage.scripts[key] = appPackage.scripts[key] @@ -110,20 +112,21 @@ prompt( true ); - console.log(green('Writing ') + yellowUnderline('package.json')); + console.log(); + console.log(cyan('Writing ') + 'package.json'); fs.writeFileSync( path.join(appPath, 'package.json'), JSON.stringify(appPackage, null, 2) ); console.log(); - console.log(green('Running ') + yellowUnderline('npm install...')); + console.log(cyan('Running npm install...')); rimrafSync(ownPath); spawnSync('npm', ['install'], {stdio: 'inherit'}); console.log(green('Ejected successfully!')); console.log(); console.log(green('Please consider sharing why you ejected in this survey:')); - console.log('\t' + yellowUnderline('http://goo.gl/forms/Bi6CZjk1EqsdelXk1')); + console.log(green(' http://goo.gl/forms/Bi6CZjk1EqsdelXk1')); console.log() }) From bfe4850332afc4ef0f49ef3b37a262532bd44d39 Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Tue, 27 Sep 2016 10:16:05 +0200 Subject: [PATCH 03/17] change message about file copy --- packages/react-scripts/scripts/eject.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index 2e4d850016e..b707e556242 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -65,7 +65,7 @@ prompt( fs.mkdirSync(path.join(appPath, 'scripts')); console.log(); - console.log(cyan('Adding necessary files')); + console.log(cyan('Copying files')); files.forEach(function(file) { console.log(cyan(' Copying ') + file+ ' to ' + appPath); var content = fs From 1c5f505d50ed2222b5343a34045d7321491a47ba Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Tue, 27 Sep 2016 17:52:33 +0200 Subject: [PATCH 04/17] add missing three dots to some statements in eject.js script --- packages/react-scripts/scripts/eject.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index b707e556242..a950427c760 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -17,6 +17,7 @@ var chalk = require('chalk'); var green = chalk.green; var cyan = chalk.cyan; var red = chalk.red; +var yellow = chalk.yellow; prompt( 'Are you sure you want to eject? This action is permanent.', @@ -65,7 +66,7 @@ prompt( fs.mkdirSync(path.join(appPath, 'scripts')); console.log(); - console.log(cyan('Copying files')); + console.log(cyan('Copying files...')); files.forEach(function(file) { console.log(cyan(' Copying ') + file+ ' to ' + appPath); var content = fs @@ -81,9 +82,9 @@ prompt( var ownPackage = require(path.join(ownPath, 'package.json')); var appPackage = require(path.join(appPath, 'package.json')); - console.log(cyan('Managing dependencies')); + console.log(cyan('Updating dependencies...')); var ownPackageName = ownPackage.name; - console.log(red(' Removing dependency: ') + ownPackageName); + console.log(yellow(' Removing dependency: ') + ownPackageName); delete appPackage.devDependencies[ownPackageName]; Object.keys(ownPackage.dependencies).forEach(function (key) { @@ -95,7 +96,7 @@ prompt( appPackage.devDependencies[key] = ownPackage.dependencies[key]; }); console.log(); - console.log(cyan('Updating scripts')); + console.log(cyan('Updating scripts...')); delete appPackage.scripts['eject']; Object.keys(appPackage.scripts).forEach(function (key) { appPackage.scripts[key] = appPackage.scripts[key] @@ -113,7 +114,7 @@ prompt( ); console.log(); - console.log(cyan('Writing ') + 'package.json'); + console.log(cyan('Writing ') + 'package.json...'); fs.writeFileSync( path.join(appPath, 'package.json'), JSON.stringify(appPackage, null, 2) From 173e87c0cdb6fa18d130cd8a5b7926d9fe436372 Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Wed, 28 Sep 2016 11:49:00 +0200 Subject: [PATCH 05/17] change color of "copying files" line and do not repeat copy path anymore in log --- packages/react-scripts/scripts/eject.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index a950427c760..9b3e47bcb18 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -66,7 +66,6 @@ prompt( fs.mkdirSync(path.join(appPath, 'scripts')); console.log(); - console.log(cyan('Copying files...')); files.forEach(function(file) { console.log(cyan(' Copying ') + file+ ' to ' + appPath); var content = fs From 41345b7d0f7d589edbc762bdef56eb56d2ac9785 Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Wed, 28 Sep 2016 11:52:10 +0200 Subject: [PATCH 06/17] fix merge conflict --- packages/react-scripts/scripts/eject.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index 9b3e47bcb18..a9e9d27ff5e 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -66,8 +66,9 @@ prompt( fs.mkdirSync(path.join(appPath, 'scripts')); console.log(); + console.log('Copying files to ' + cyan(appPath)); files.forEach(function(file) { - console.log(cyan(' Copying ') + file+ ' to ' + appPath); + console.log(' Copying ' + cyan(file)); var content = fs .readFileSync(path.join(ownPath, file), 'utf8') // Remove dead code from .js files on eject From 259b6f5419bdbde6daa8ae2a70b894671c5e45d6 Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Wed, 28 Sep 2016 11:50:19 +0200 Subject: [PATCH 07/17] Remove yellow color from "Removing dependency" line --- packages/react-scripts/scripts/eject.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index a9e9d27ff5e..58cafb876b0 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -84,7 +84,7 @@ prompt( var appPackage = require(path.join(appPath, 'package.json')); console.log(cyan('Updating dependencies...')); var ownPackageName = ownPackage.name; - console.log(yellow(' Removing dependency: ') + ownPackageName); + console.log(' Removing dependency: ' + cyan(ownPackageName)); delete appPackage.devDependencies[ownPackageName]; Object.keys(ownPackage.dependencies).forEach(function (key) { From 52b71235819a346ed03bd68e6388cdec4b710d99 Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Wed, 28 Sep 2016 11:50:37 +0200 Subject: [PATCH 08/17] changing color to "Adding dependency" line --- packages/react-scripts/scripts/eject.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index 58cafb876b0..bee4460e78a 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -92,7 +92,7 @@ prompt( if (ownPackage.optionalDependencies[key]) { return; } - console.log(cyan(' Adding dependency: ') + key); + console.log(' Adding dependency: ' + cyan(key)); appPackage.devDependencies[key] = ownPackage.dependencies[key]; }); console.log(); From 917404e601d25d05710e4ca9d5d14099bf75e390 Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Wed, 28 Sep 2016 11:51:01 +0200 Subject: [PATCH 09/17] Add line that outputs which react script is getting replaced by similar node script --- packages/react-scripts/scripts/eject.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index bee4460e78a..63e12d49bcf 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -104,6 +104,7 @@ prompt( new RegExp(ownPackageName + ' (\\w+)', 'g'), 'node scripts/$1.js' ); + console.log(' Replacing react-scripts ' + cyan(key) + ' with ' + cyan(appPackage.scripts[key])); }); // Add Jest config From 1a8ff9e43d1067f01752f882c562b9533e1033a0 Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Wed, 28 Sep 2016 14:09:46 +0200 Subject: [PATCH 10/17] remove not used anymore colors --- packages/react-scripts/scripts/eject.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index 63e12d49bcf..4924ae5f2b3 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -16,8 +16,6 @@ var spawnSync = require('cross-spawn').sync; var chalk = require('chalk'); var green = chalk.green; var cyan = chalk.cyan; -var red = chalk.red; -var yellow = chalk.yellow; prompt( 'Are you sure you want to eject? This action is permanent.', From 4b9fa8af9804a673996620cabc8bfbc644d8de6e Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Wed, 28 Sep 2016 14:12:00 +0200 Subject: [PATCH 11/17] add console line about updating Jest configs --- packages/react-scripts/scripts/eject.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index 4924ae5f2b3..f0d33fdf763 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -105,7 +105,9 @@ prompt( console.log(' Replacing react-scripts ' + cyan(key) + ' with ' + cyan(appPackage.scripts[key])); }); + console.log(); // Add Jest config + console.log(cyan('Updaing Jest config...')) appPackage.jest = createJestConfig( filePath => path.join('', filePath), null, From f6f635d26b4341c6fec786d72e9db4de052a5ca8 Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Wed, 28 Sep 2016 14:20:27 +0200 Subject: [PATCH 12/17] fix typo --- packages/react-scripts/scripts/eject.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index f0d33fdf763..84b03420975 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -107,7 +107,7 @@ prompt( console.log(); // Add Jest config - console.log(cyan('Updaing Jest config...')) + console.log(cyan('Updating Jest config...')) appPackage.jest = createJestConfig( filePath => path.join('', filePath), null, From 79a4c2b4e71d4f041c1e001a125ff6dc634a3b53 Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Fri, 30 Sep 2016 15:10:40 +0200 Subject: [PATCH 13/17] change formatting of replacing script output in eject.js --- packages/react-scripts/scripts/eject.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index 84b03420975..9d57a94a772 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -102,7 +102,7 @@ prompt( new RegExp(ownPackageName + ' (\\w+)', 'g'), 'node scripts/$1.js' ); - console.log(' Replacing react-scripts ' + cyan(key) + ' with ' + cyan(appPackage.scripts[key])); + console.log(' Replacing ' + cyan('"react-scripts ' + key + '"') + ' with "' + cyan(appPackage.scripts[key]) +'"'); }); console.log(); From 52c432f0d44f325175ebf061c602a94f218174f2 Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Fri, 30 Sep 2016 16:25:47 +0200 Subject: [PATCH 14/17] remove "Writing package.json" file console output --- packages/react-scripts/scripts/eject.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index 703322d6c56..c51f06661a3 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -122,8 +122,6 @@ prompt( console.log(cyan('Updating ESLint config...')); appPackage.eslintConfig = eslintConfig; - console.log(); - console.log(cyan('Writing ') + 'package.json...'); fs.writeFileSync( path.join(appPath, 'package.json'), JSON.stringify(appPackage, null, 2) From 308a21e34bdb281bf20570d5eacc9f25233cdfba Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Fri, 30 Sep 2016 18:56:34 +0200 Subject: [PATCH 15/17] make quotes cyan in "Replacing script" console output --- packages/react-scripts/scripts/eject.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index c51f06661a3..1c93c8071f5 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -100,7 +100,7 @@ prompt( Object.keys(appPackage.scripts).forEach(function (key) { appPackage.scripts[key] = appPackage.scripts[key] .replace(/react-scripts (\w+)/g, 'node scripts/$1.js'); - console.log(' Replacing ' + cyan('"react-scripts ' + key + '"') + ' with "' + cyan(appPackage.scripts[key]) +'"'); + console.log(' Replacing ' + cyan('\"react-scripts ' + key + '\"') + ' with ' + cyan('\"' + appPackage.scripts[key]+'\"')); }); console.log(); From 2e208c9180a5acd33a605f65789b73f7595b01a1 Mon Sep 17 00:00:00 2001 From: Andrew Zakordonets Date: Fri, 30 Sep 2016 18:57:22 +0200 Subject: [PATCH 16/17] update console log output for Jest, Babel, ESLint update and group them under one statement --- packages/react-scripts/scripts/eject.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index 1c93c8071f5..27fafa22d4b 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -104,8 +104,9 @@ prompt( }); console.log(); + console.log(cyan('Adding configuration to ') + 'package.json' + cyan('...')); // Add Jest config - console.log(cyan('Updating Jest config...')) + console.log(' Adding ' + cyan('Jest') + ' configuration') appPackage.jest = createJestConfig( filePath => path.join('', filePath), null, @@ -113,13 +114,12 @@ prompt( ); // Add Babel config - console.log(); - console.log(cyan('Updating Babel config...')); + + console.log(' Adding ' + cyan('Babel') + ' preset'); appPackage.babel = babelConfig; // Add ESlint config - console.log(); - console.log(cyan('Updating ESLint config...')); + console.log(' Adding ' + cyan('ESLint') +' configuration'); appPackage.eslintConfig = eslintConfig; fs.writeFileSync( From 40fa31017fed9c124417a45a946c1f51bbb11ed0 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Fri, 30 Sep 2016 18:11:45 +0100 Subject: [PATCH 17/17] Style nits --- packages/react-scripts/scripts/eject.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index 27fafa22d4b..c1355337b4c 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -100,13 +100,18 @@ prompt( Object.keys(appPackage.scripts).forEach(function (key) { appPackage.scripts[key] = appPackage.scripts[key] .replace(/react-scripts (\w+)/g, 'node scripts/$1.js'); - console.log(' Replacing ' + cyan('\"react-scripts ' + key + '\"') + ' with ' + cyan('\"' + appPackage.scripts[key]+'\"')); + console.log( + ' Replacing ' + + cyan('\"react-scripts ' + key + '\"') + + ' with ' + + cyan('\"' + appPackage.scripts[key] + '\"') + ); }); console.log(); console.log(cyan('Adding configuration to ') + 'package.json' + cyan('...')); // Add Jest config - console.log(' Adding ' + cyan('Jest') + ' configuration') + console.log(' Adding ' + cyan('Jest') + ' configuration'); appPackage.jest = createJestConfig( filePath => path.join('', filePath), null,