@@ -326,21 +326,26 @@ function checkAppName(appName) {
326
326
}
327
327
}
328
328
329
- function patchReactDependencyVersion ( name , version ) {
329
+ function makeCaretRange ( dependencies , name ) {
330
+ var version = dependencies [ name ] ;
331
+
330
332
if ( typeof version === 'undefined' ) {
331
333
console . error (
332
334
chalk . red ( 'Missing ' + name + ' dependency in package.json' )
333
335
) ;
334
336
process . exit ( 1 ) ;
335
337
}
338
+
336
339
var patchedVersion = '^' + version ;
340
+
337
341
if ( ! semver . validRange ( patchedVersion ) ) {
338
342
console . error (
339
343
'Unable to patch ' + name + ' dependency version because version ' + chalk . red ( version ) + ' will become invalid ' + chalk . red ( patchedVersion )
340
344
) ;
341
345
patchedVersion = version ;
342
346
}
343
- return patchedVersion ;
347
+
348
+ dependencies [ name ] = patchedVersion ;
344
349
}
345
350
346
351
function fixDependencies ( packageName ) {
@@ -367,8 +372,8 @@ function fixDependencies(packageName) {
367
372
packageJson . devDependencies [ packageName ] = packageVersion ;
368
373
delete packageJson . dependencies [ packageName ] ;
369
374
370
- packageJson . dependencies [ 'react' ] = patchReactDependencyVersion ( 'react' , packageJson . dependencies [ 'react' ] ) ;
371
- packageJson . dependencies [ 'react-dom' ] = patchReactDependencyVersion ( 'react-dom' , packageJson . dependencies [ 'react-dom' ] ) ;
375
+ makeCaretRange ( packageJson . dependencies , 'react' ) ;
376
+ makeCaretRange ( packageJson . dependencies , 'react-dom' ) ;
372
377
373
378
fs . writeFileSync ( packagePath , JSON . stringify ( packageJson , null , 2 ) ) ;
374
379
}
0 commit comments