diff --git a/bin/build-react-app.js b/bin/build-react-app.js deleted file mode 100644 index 4e16fa9835ac5c9a524e95926afa09142319a78d..0000000000000000000000000000000000000000 --- a/bin/build-react-app.js +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env node -require('../scripts/build'); diff --git a/bin/eject-react-app.js b/bin/eject-react-app.js deleted file mode 100644 index 3a4141bb6042e5567bc641995cabc9414769e166..0000000000000000000000000000000000000000 --- a/bin/eject-react-app.js +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env node -require('../scripts/eject'); diff --git a/bin/react-scripts.js b/bin/react-scripts.js new file mode 100644 index 0000000000000000000000000000000000000000..3f924225ae34d2c8377290931502a324474abfe4 --- /dev/null +++ b/bin/react-scripts.js @@ -0,0 +1,21 @@ +#!/usr/bin/env node +var path = require('path'); +var spawn = require('cross-spawn'); +var script = process.argv[2]; +var args = process.argv.slice(3); + +switch (script) { +case 'build': +case 'start': +case 'eject': + spawn( + 'node', + [path.resolve(__dirname, '..', 'scripts', script)].concat(args), + {stdio: 'inherit'} + ); + break; +default: + console.log('Unknown script "' + script + '".'); + console.log('Perhaps you need to update react-scripts?'); + break; +} diff --git a/bin/start-react-app.js b/bin/start-react-app.js deleted file mode 100644 index a287171b9fe714c8603dd3521ec2daf5fd963af1..0000000000000000000000000000000000000000 --- a/bin/start-react-app.js +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env node -require('../scripts/start'); diff --git a/package.json b/package.json index acf92fb967a7d224198994af369386ee247466d0..33ba2bd5ac6db9153e141051bcba58d0f0ed610c 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,7 @@ "template" ], "bin": { - "start-react-app": "./bin/start-react-app.js", - "build-react-app": "./bin/build-react-app.js", - "eject-react-app": "./bin/eject-react-app.js" + "react-scripts": "./bin/react-scripts.js" }, "dependencies": { "autoprefixer": "6.3.7", diff --git a/scripts/eject.js b/scripts/eject.js index bf4c42ff05abf7b2e3462d8de1e916756f696cef..4237d699d28a080cdb60217ab69e73465d760a9d 100644 --- a/scripts/eject.js +++ b/scripts/eject.js @@ -36,9 +36,9 @@ prompt('Are you sure you want to eject? This action is permanent. [y/N]', functi console.log('Ejecting...'); console.log(); + var selfPath = path.join(__dirname, '..'); var hostPath = path.join(selfPath, '..', '..'); - var files = [ path.join('config', 'babel.dev.js'), path.join('config', 'babel.prod.js'), @@ -73,7 +73,6 @@ prompt('Are you sure you want to eject? This action is permanent. [y/N]', functi content = content.replace(/^\/\*\*(\*(?!\/)|[^*])*\*\//, '').trim() + '\n'; fs.writeFileSync(path.join(hostPath, file), content); }); - console.log(); var selfPackage = require(path.join(selfPath, 'package.json')); @@ -109,5 +108,4 @@ prompt('Are you sure you want to eject? This action is permanent. [y/N]', functi console.log('Please consider sharing why you ejected in this survey:'); console.log(' http://goo.gl/forms/Bi6CZjk1EqsdelXk1'); console.log(); - }); diff --git a/scripts/init.js b/scripts/init.js index 8c8366dc8ec31a7722ef8eb37d7dea3635859152..1b8c981cbbc7b837318d452ae1576f4c87254a9f 100644 --- a/scripts/init.js +++ b/scripts/init.js @@ -26,8 +26,7 @@ module.exports = function(hostPath, appName, verbose) { // Setup the script rules hostPackage.scripts = {}; ['start', 'build', 'eject'].forEach(function(command) { - hostPackage.scripts[command] = - command + '-react-app'; + hostPackage.scripts[command] = 'react-scripts ' + command; }); fs.writeFileSync( @@ -53,7 +52,7 @@ module.exports = function(hostPath, appName, verbose) { copySync( path.join(selfPath, 'template', filename), path.join(hostPath, filename) - ); + ); }); // Run another npm install for react and react-dom