Skip to content

Commit b647f4f

Browse files
committed
fix: improve project directory and file creation logic with warnings for existing files
1 parent 0df5688 commit b647f4f

File tree

1 file changed

+25
-10
lines changed

1 file changed

+25
-10
lines changed

src/index.ts

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@ if (!projectName) {
1212

1313
// create project directory
1414
const projectDir = path.resolve(process.cwd(), projectName)
15-
if (fs.existsSync(projectDir)) {
16-
console.error(`Error: Directory '${projectName}' already exists.`)
17-
process.exit(1)
15+
const isProjectDirExists = fs.existsSync(projectDir)
16+
if (isProjectDirExists) {
17+
console.warn(`Warning: Directory '${projectName}' already exists.`)
18+
} else {
19+
fs.mkdirSync(projectDir, { recursive: true })
1820
}
19-
fs.mkdirSync(projectDir, { recursive: true })
2021

2122
// copy files
2223
const files = [
@@ -31,16 +32,18 @@ const files = [
3132
'commitlint.config.ts',
3233
'eslint.config.ts',
3334
'jest.config.ts',
35+
'tsconfig.json',
3436
]
3537
for (const file of files) {
3638
const src = path.resolve(__dirname, '..', file)
3739
const dest = path.resolve(projectDir, file)
3840
fs.mkdirSync(path.dirname(dest), { recursive: true })
39-
if (fs.existsSync(dest)) {
40-
console.error(`Error: File '${file}' already exists in the destination.`)
41-
process.exit(1)
41+
const isDestFileExists = fs.existsSync(dest)
42+
if (isDestFileExists) {
43+
console.warn(`Warning: File '${file}' already exists in the destination.`)
44+
} else {
45+
fs.copyFileSync(src, dest)
4246
}
43-
fs.copyFileSync(src, dest)
4447
}
4548

4649
// create package.json
@@ -63,7 +66,19 @@ const packageJsonFile = JSON.stringify(packageJson, null, 2)
6366
fs.writeFileSync(packageJsonPath, packageJsonFile)
6467

6568
// create empty src/index.ts
66-
fs.mkdirSync(path.resolve(projectDir, 'src'))
67-
fs.writeFileSync(path.resolve(projectDir, 'src/index.ts'), '')
69+
const srcDir = path.resolve(projectDir, 'src')
70+
const isSrcDirExists = fs.existsSync(srcDir)
71+
if (isSrcDirExists) {
72+
console.warn(`Warning: Directory 'src' already exists in the destination.`)
73+
} else {
74+
fs.mkdirSync(srcDir)
75+
}
76+
const srcIndexPath = path.resolve(srcDir, 'index.ts')
77+
const isSrcIndexExists = fs.existsSync(srcIndexPath)
78+
if (isSrcIndexExists) {
79+
console.warn(`Warning: File 'index.ts' already exists in the destination.`)
80+
} else {
81+
fs.writeFileSync(srcIndexPath, '')
82+
}
6883

6984
console.log(`Success! Created '${projectName}' at ${projectDir}`)

0 commit comments

Comments
 (0)