@@ -74,38 +74,52 @@ export const addCommandNew = (program: Command) => {
7474 `\nProject "${ projectName } " created successfully using the "${ selectedTemplate } " template.`
7575 )
7676
77- spinner . start ( 'Updating package.json...' )
78- try {
79- const packageJsonPath = path . join ( projectPath , 'package.json' )
80- const packageJson = JSON . parse (
81- fs . readFileSync ( packageJsonPath , 'utf8' )
82- )
83- packageJson . name = projectName
84- fs . writeFileSync (
85- packageJsonPath ,
86- JSON . stringify ( packageJson , null , 2 )
87- )
88- spinner . succeed ( 'package.json updated successfully' )
89- } catch ( error ) {
90- spinner . fail ( 'Failed to update package.json' )
91- console . error ( `Error updating package.json:` , error )
77+ const packageJsonPath = path . join ( projectPath , 'package.json' )
78+ const cargoTomlPath = path . join ( projectPath , 'Cargo.toml' )
79+ const hasPackageJson = fs . existsSync ( packageJsonPath )
80+ const hasCargoToml = fs . existsSync ( cargoTomlPath )
81+
82+ if ( hasPackageJson ) {
83+ spinner . start ( 'Updating package.json...' )
84+ try {
85+ const packageJson = JSON . parse (
86+ fs . readFileSync ( packageJsonPath , 'utf8' )
87+ )
88+ packageJson . name = projectName
89+ fs . writeFileSync (
90+ packageJsonPath ,
91+ JSON . stringify ( packageJson , null , 2 )
92+ )
93+ spinner . succeed ( 'package.json updated successfully' )
94+ } catch ( error ) {
95+ spinner . fail ( 'Failed to update package.json' )
96+ console . error ( `Error updating package.json:` , error )
97+ }
9298 }
9399
94100 spinner . start ( 'Initializing git repository...' )
95-
96101 try {
97102 process . chdir ( projectPath )
98103 execSync ( 'git init' , { stdio : 'ignore' } )
99104 spinner . succeed ( 'Git repository initialized' )
105+ } catch ( error ) {
106+ spinner . fail ( 'Failed to initialize git repository' )
107+ console . error ( `Error:` , error )
108+ }
100109
110+ if ( hasPackageJson ) {
101111 spinner . start ( 'Installing dependencies...' )
102- execSync ( 'npm install' , { stdio : 'ignore' } )
103- spinner . succeed ( 'Dependencies installed' )
104- } catch ( error ) {
105- spinner . fail (
106- 'Failed to initialize git repository or install dependencies'
112+ try {
113+ execSync ( 'npm install' , { stdio : 'ignore' } )
114+ spinner . succeed ( 'Dependencies installed' )
115+ } catch ( error ) {
116+ spinner . fail ( 'Failed to install dependencies' )
117+ console . error ( `Error:` , error )
118+ }
119+ } else if ( hasCargoToml ) {
120+ console . log (
121+ `\nCargo project detected. Run \`cargo build\` to compile.`
107122 )
108- console . error ( `Error:` , error )
109123 }
110124
111125 console . log ( `\nNext steps:` )
0 commit comments