@@ -49,6 +49,10 @@ const validateProjectName = require('validate-npm-package-name');
49
49
50
50
const packageJson = require ( './package.json' ) ;
51
51
52
+ function isUsingYarn ( ) {
53
+ return ( process . env . npm_config_user_agent || '' ) . indexOf ( 'yarn' ) === 0 ;
54
+ }
55
+
52
56
let projectName ;
53
57
54
58
function init ( ) {
@@ -69,7 +73,6 @@ function init() {
69
73
'--template <path-to-template>' ,
70
74
'specify a template for the created project'
71
75
)
72
- . option ( '--use-npm' )
73
76
. option ( '--use-pnp' )
74
77
. allowUnknownOption ( )
75
78
. on ( '--help' , ( ) => {
@@ -223,19 +226,20 @@ function init() {
223
226
console . log ( ) ;
224
227
process . exit ( 1 ) ;
225
228
} else {
229
+ const useYarn = isUsingYarn ( ) ;
226
230
createApp (
227
231
projectName ,
228
232
program . verbose ,
229
233
program . scriptsVersion ,
230
234
program . template ,
231
- program . useNpm ,
235
+ useYarn ,
232
236
program . usePnp
233
237
) ;
234
238
}
235
239
} ) ;
236
240
}
237
241
238
- function createApp ( name , verbose , version , template , useNpm , usePnp ) {
242
+ function createApp ( name , verbose , version , template , useYarn , usePnp ) {
239
243
const unsupportedNodeVersion = ! semver . satisfies (
240
244
// Coerce strings with metadata (i.e. `15.0.0-nightly`).
241
245
semver . coerce ( process . version ) ,
@@ -276,7 +280,6 @@ function createApp(name, verbose, version, template, useNpm, usePnp) {
276
280
JSON . stringify ( packageJson , null , 2 ) + os . EOL
277
281
) ;
278
282
279
- const useYarn = useNpm ? false : shouldUseYarn ( ) ;
280
283
const originalDirectory = process . cwd ( ) ;
281
284
process . chdir ( root ) ;
282
285
if ( ! useYarn && ! checkThatNpmCanReadCwd ( ) ) {
@@ -351,15 +354,6 @@ function createApp(name, verbose, version, template, useNpm, usePnp) {
351
354
) ;
352
355
}
353
356
354
- function shouldUseYarn ( ) {
355
- try {
356
- execSync ( 'yarnpkg --version' , { stdio : 'ignore' } ) ;
357
- return true ;
358
- } catch ( e ) {
359
- return false ;
360
- }
361
- }
362
-
363
357
function install ( root , useYarn , usePnp , dependencies , verbose , isOnline ) {
364
358
return new Promise ( ( resolve , reject ) => {
365
359
let command ;
0 commit comments