@@ -71,12 +71,7 @@ export const init = new Command()
71
71
} ) ;
72
72
73
73
async function validateProjectDirectory ( cwd : string ) {
74
- if ( ! existsSync ( cwd ) ) {
75
- logger . error ( `The path ${ cwd } does not exist. Please try again.` ) ;
76
- process . exit ( 1 ) ;
77
- }
78
-
79
- if ( ! existsSync ( path . join ( cwd , 'package.json' ) ) ) {
74
+ if ( ! existsSync ( cwd ) || ! existsSync ( path . join ( cwd , 'package.json' ) ) ) {
80
75
const { proceed } = await prompts ( {
81
76
type : 'confirm' ,
82
77
name : 'proceed' ,
@@ -99,13 +94,16 @@ async function validateProjectDirectory(cwd: string) {
99
94
const spinner = ora ( `Initializing ${ projectName } ...` ) . start ( ) ;
100
95
101
96
const projectPath = path . join ( cwd , projectName ) ;
97
+ if ( ! existsSync ( projectPath ) ) {
98
+ await fs . mkdir ( projectPath , { recursive : true } ) ;
99
+ }
102
100
103
101
await copyFolder ( path . join ( fileDir , '../__generated/starter-base' ) , projectPath ) ;
104
102
105
103
await Promise . all ( [
106
- replaceAllInJsonFile ( path . join ( cwd , projectName , 'app.json' ) , 'starter-base' , projectName ) ,
104
+ replaceAllInJsonFile ( path . join ( projectPath , 'app.json' ) , 'starter-base' , projectName ) ,
107
105
replaceAllInJsonFile (
108
- path . join ( cwd , projectName , 'package.json' ) ,
106
+ path . join ( projectPath , 'package.json' ) ,
109
107
'@rnr/starter-base' ,
110
108
projectName
111
109
) ,
@@ -134,7 +132,7 @@ async function validateProjectDirectory(cwd: string) {
134
132
} ) ;
135
133
136
134
spinner . succeed ( 'New project initialized successfully!' ) ;
137
- process . exit ( 1 ) ;
135
+ process . exit ( 0 ) ;
138
136
}
139
137
}
140
138
0 commit comments