Skip to content

Commit 01aad5d

Browse files
committed
fix: support CLI argument for project name
1 parent a0a88a0 commit 01aad5d

2 files changed

Lines changed: 23 additions & 11 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "create-nexter",
3-
"version": "1.0.0",
3+
"version": "1.0.1",
44
"description": "A modern, extensible CLI to scaffold Next.js applications with a clean architecture and optional Tailwind CSS integration.",
55
"type": "module",
66
"bin": {

src/index.js

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,44 @@ import generateProject from './generators/projectGenerator.js';
44
import { cleanProject } from '../src/scripts/cleanProject.js';
55
import { copyTemplateFiles } from './utils/copyTemplateFiles.js';
66

7+
8+
const args = process.argv.slice(2);
9+
const defaultProjectName = args[0];
10+
711
export default async function main() {
812
const { language } = await languagePrompt();
913

10-
const { projectName } = await prompts({
14+
15+
const response = await prompts({
1116
type: 'text',
1217
name: 'projectName',
1318
message: 'Enter your project folder name',
14-
initial: 'my-nexter-app',
15-
validate: name => (name.trim() === '' ? 'Project name cannot be empty' : true)
19+
initial: defaultProjectName || 'my-nexter-app',
20+
validate: name => (name.trim() === '' ? 'Project name cannot be empty' : true),
21+
22+
onState: state => {
23+
if (defaultProjectName) {
24+
state.aborted = true;
25+
state.value = defaultProjectName;
26+
}
27+
}
1628
});
1729

18-
console.log(`Generating Next.js project '${projectName}' with language: ${language}`);
1930

20-
try {
21-
await generateProject(language, projectName);
31+
const finalProjectName = defaultProjectName || response.projectName;
2232

23-
await cleanProject(projectName, language);
24-
25-
await copyTemplateFiles(projectName, language);
33+
console.log(`Generating Next.js project '${finalProjectName}' with language: ${language}`);
34+
35+
try {
36+
await generateProject(language, finalProjectName);
2637

38+
await cleanProject(finalProjectName, language);
2739

40+
await copyTemplateFiles(finalProjectName, language);
2841

2942
console.log('✅ Cleanup and structure completed.');
3043
console.log('🎉 Project created successfully!');
3144
} catch (err) {
3245
console.error('❌ Error during project generation:', err);
3346
}
3447
}
35-

0 commit comments

Comments
 (0)