@@ -276,11 +276,7 @@ function run(
276
276
} )
277
277
. then ( packageName => {
278
278
checkNodeVersion ( packageName ) ;
279
-
280
- // Since react-scripts has been installed with --save
281
- // we need to move it into devDependencies and rewrite package.json
282
- // also ensure react dependencies have caret version range
283
- fixDependencies ( packageName ) ;
279
+ setCaretRangeForRuntimeDeps ( packageName ) ;
284
280
285
281
const scriptsPath = path . resolve (
286
282
process . cwd ( ) ,
@@ -497,16 +493,14 @@ function checkAppName(appName) {
497
493
}
498
494
499
495
// TODO: there should be a single place that holds the dependencies
500
- const dependencies = [ 'react' , 'react-dom' ] ;
501
- const devDependencies = [ 'react-scripts' ] ;
502
- const allDependencies = dependencies . concat ( devDependencies ) . sort ( ) ;
503
- if ( allDependencies . indexOf ( appName ) >= 0 ) {
496
+ const dependencies = [ 'react' , 'react-dom' , 'react-scripts' ] . sort ( ) ;
497
+ if ( dependencies . indexOf ( appName ) >= 0 ) {
504
498
console . error (
505
499
chalk . red (
506
500
`We cannot create a project called ${ chalk . green ( appName ) } because a dependency with the same name exists.\n` +
507
501
`Due to the way npm works, the following names are not allowed:\n\n`
508
502
) +
509
- chalk . cyan ( allDependencies . map ( depName => ` ${ depName } ` ) . join ( '\n' ) ) +
503
+ chalk . cyan ( dependencies . map ( depName => ` ${ depName } ` ) . join ( '\n' ) ) +
510
504
chalk . red ( '\n\nPlease choose a different project name.' )
511
505
) ;
512
506
process . exit ( 1 ) ;
@@ -533,7 +527,7 @@ function makeCaretRange(dependencies, name) {
533
527
dependencies [ name ] = patchedVersion ;
534
528
}
535
529
536
- function fixDependencies ( packageName ) {
530
+ function setCaretRangeForRuntimeDeps ( packageName ) {
537
531
const packagePath = path . join ( process . cwd ( ) , 'package.json' ) ;
538
532
const packageJson = require ( packagePath ) ;
539
533
@@ -543,16 +537,11 @@ function fixDependencies(packageName) {
543
537
}
544
538
545
539
const packageVersion = packageJson . dependencies [ packageName ] ;
546
-
547
540
if ( typeof packageVersion === 'undefined' ) {
548
541
console . error ( chalk . red ( `Unable to find ${ packageName } in package.json` ) ) ;
549
542
process . exit ( 1 ) ;
550
543
}
551
544
552
- packageJson . devDependencies = packageJson . devDependencies || { } ;
553
- packageJson . devDependencies [ packageName ] = packageVersion ;
554
- delete packageJson . dependencies [ packageName ] ;
555
-
556
545
makeCaretRange ( packageJson . dependencies , 'react' ) ;
557
546
makeCaretRange ( packageJson . dependencies , 'react-dom' ) ;
558
547
0 commit comments