@@ -23,19 +23,10 @@ module.exports = async (argvs) => {
23
23
const timer = elapsed . start ( ) ;
24
24
const version = argv [ "release" ] || "latest" ;
25
25
const targetDir = path . resolve ( argv [ "_" ] [ 0 ] || "./" ) ;
26
- const folderFiles = await fs . readdir ( targetDir ) ;
27
- if ( folderFiles . length !== - 1 ) {
28
- const { override } = await prompts ( {
29
- type : "confirm" ,
30
- name : "override" ,
31
- message : `${ targetDir } is not an empty folder, proceed?` ,
32
- initial : true ,
33
- } ) ;
34
-
35
- if ( ! override ) {
36
- console . log ( chalk . red ( "Aborted" ) ) ;
37
- return ;
38
- }
26
+ const override = checkFolder ( targetDir , argv ) ;
27
+ if ( ! override ) {
28
+ console . log ( chalk . red ( "Aborted" ) ) ;
29
+ return ;
39
30
}
40
31
spinner = ora (
41
32
`Downloading ${ packageName } version '${ version } ' to ${ targetDir } `
@@ -69,6 +60,23 @@ module.exports = async (argvs) => {
69
60
}
70
61
} ;
71
62
63
+ const checkFolder = async ( targetDir , argv ) => {
64
+ const folderExists = await fs . exists ( targetDir ) ;
65
+ if ( ! folderExists ) {
66
+ return true ;
67
+ }
68
+ const folderFiles = await fs . readdir ( targetDir ) ;
69
+ if ( argv [ "yes" ] !== true && folderFiles . length !== - 1 ) {
70
+ const { override } = await prompts ( {
71
+ type : "confirm" ,
72
+ name : "override" ,
73
+ message : `${ targetDir } is not an empty folder, proceed?` ,
74
+ initial : true ,
75
+ } ) ;
76
+ return override ;
77
+ }
78
+ } ;
79
+
72
80
const onLoad = async ( targetDir , version , argv ) => {
73
81
// see https://github.com/mrmlnc/fast-glob#how-to-write-patterns-on-windows
74
82
const npmIgnoreFiles = await glob (
0 commit comments