From ae40cffc9013f2cf3706e6b50ace56460fcb338a Mon Sep 17 00:00:00 2001 From: gaureshpai Date: Thu, 23 Apr 2026 13:38:12 +0530 Subject: [PATCH 1/5] feat: show help for unknown flags and add showHelp function - Extract help message into reusable showHelp() function - Show help when unknown flags are provided instead of treating them as paths - Fixes #77 --- src/create-next-quick.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/create-next-quick.js b/src/create-next-quick.js index 5e6d15d..b02831a 100644 --- a/src/create-next-quick.js +++ b/src/create-next-quick.js @@ -26,7 +26,7 @@ if (parseInt(currentNodeVersion.split(".")[0], 10) < MIN_NODE_VERSION) { const args = process.argv.slice(2); -if (args.includes("-h") || args.includes("--help")) { +const showHelp = () => { console.log(` Usage: create-next-quick [project-name] [options] @@ -40,6 +40,10 @@ Examples: cd my-existing-app && npx create-next-quick -i # Integrate into existing project `); process.exit(0); +}; + +if (args.includes("-h") || args.includes("--help")) { + showHelp(); } if (args.includes("-v") || args.includes("--version")) { @@ -50,6 +54,12 @@ if (args.includes("-v") || args.includes("--version")) { const isInteractiveMode = args.includes("-i") || args.includes("--interactive"); const appName = args.find((arg) => !arg.startsWith("-")); +const knownFlags = ["-h", "--help", "-v", "--version", "-i", "--interactive"]; +const unknownFlags = args.filter((arg) => arg.startsWith("-") && !knownFlags.includes(arg)); +if (unknownFlags.length > 0) { + showHelp(); +} + if (isInteractiveMode && appName) { console.error( chalk.red.bold("Error: Project name should not be provided in interactive mode (-i)."), From 778199232b58b81b43058d127a1903f99c4e226b Mon Sep 17 00:00:00 2001 From: Gauresh G Pai <107191770+gaureshpai@users.noreply.github.com> Date: Thu, 23 Apr 2026 13:41:37 +0530 Subject: [PATCH 2/5] Update src/create-next-quick.js Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- src/create-next-quick.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/create-next-quick.js b/src/create-next-quick.js index b02831a..e83a6e6 100644 --- a/src/create-next-quick.js +++ b/src/create-next-quick.js @@ -57,7 +57,8 @@ const appName = args.find((arg) => !arg.startsWith("-")); const knownFlags = ["-h", "--help", "-v", "--version", "-i", "--interactive"]; const unknownFlags = args.filter((arg) => arg.startsWith("-") && !knownFlags.includes(arg)); if (unknownFlags.length > 0) { - showHelp(); + console.error(chalk.red.bold(`Error: Unknown flag(s): ${unknownFlags.join(", ")}`)); + showHelp(1); } if (isInteractiveMode && appName) { From cd5ab2412ccb708c0b7b73d58ede3c38fcb72fe2 Mon Sep 17 00:00:00 2001 From: Gauresh G Pai <107191770+gaureshpai@users.noreply.github.com> Date: Thu, 23 Apr 2026 13:41:37 +0530 Subject: [PATCH 3/5] Update src/create-next-quick.js Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- src/create-next-quick.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/create-next-quick.js b/src/create-next-quick.js index b02831a..b783da7 100644 --- a/src/create-next-quick.js +++ b/src/create-next-quick.js @@ -39,11 +39,11 @@ Examples: npx create-next-quick my-app # Create a new project cd my-existing-app && npx create-next-quick -i # Integrate into existing project `); - process.exit(0); }; if (args.includes("-h") || args.includes("--help")) { showHelp(); + process.exit(0); } if (args.includes("-v") || args.includes("--version")) { @@ -57,7 +57,9 @@ const appName = args.find((arg) => !arg.startsWith("-")); const knownFlags = ["-h", "--help", "-v", "--version", "-i", "--interactive"]; const unknownFlags = args.filter((arg) => arg.startsWith("-") && !knownFlags.includes(arg)); if (unknownFlags.length > 0) { + console.error(chalk.red.bold(`Error: Unknown flag(s): ${unknownFlags.join(", ")}`)); showHelp(); + process.exit(1); } if (isInteractiveMode && appName) { From 1a0b6c3055efaa7fb90f16b4a8b0321e0a4358eb Mon Sep 17 00:00:00 2001 From: Gauresh G Pai <107191770+gaureshpai@users.noreply.github.com> Date: Thu, 23 Apr 2026 14:02:43 +0530 Subject: [PATCH 4/5] Update src/create-next-quick.js Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- src/create-next-quick.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/create-next-quick.js b/src/create-next-quick.js index b783da7..dd63c6a 100644 --- a/src/create-next-quick.js +++ b/src/create-next-quick.js @@ -26,8 +26,8 @@ if (parseInt(currentNodeVersion.split(".")[0], 10) < MIN_NODE_VERSION) { const args = process.argv.slice(2); -const showHelp = () => { - console.log(` +const showHelp = (log = console.log) => { + log(` Usage: create-next-quick [project-name] [options] Options: From b219562774aeb9a6b1075d6fceb6d32d44c1825f Mon Sep 17 00:00:00 2001 From: Gauresh G Pai <107191770+gaureshpai@users.noreply.github.com> Date: Thu, 23 Apr 2026 14:02:51 +0530 Subject: [PATCH 5/5] Update src/create-next-quick.js Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- src/create-next-quick.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/create-next-quick.js b/src/create-next-quick.js index dd63c6a..a8ca083 100644 --- a/src/create-next-quick.js +++ b/src/create-next-quick.js @@ -58,7 +58,7 @@ const knownFlags = ["-h", "--help", "-v", "--version", "-i", "--interactive"]; const unknownFlags = args.filter((arg) => arg.startsWith("-") && !knownFlags.includes(arg)); if (unknownFlags.length > 0) { console.error(chalk.red.bold(`Error: Unknown flag(s): ${unknownFlags.join(", ")}`)); - showHelp(); + showHelp(console.error); process.exit(1); }