From 13ab68a51962ac61406e47579e994446bb50a7f5 Mon Sep 17 00:00:00 2001 From: David S Price Date: Fri, 21 Feb 2020 16:21:59 -0800 Subject: [PATCH 1/5] add min max required commands for generate and db --- packages/cli/src/commands/db.js | 4 +++- packages/cli/src/commands/generate.js | 9 ++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/commands/db.js b/packages/cli/src/commands/db.js index 01a33db3dc65..8841113c9ea5 100644 --- a/packages/cli/src/commands/db.js +++ b/packages/cli/src/commands/db.js @@ -3,4 +3,6 @@ export const aliases = ['database'] export const desc = 'Database tools.' export const builder = (yargs) => - yargs.commandDir('./dbCommands').demandCommand().argv + yargs + .commandDir('./dbCommands') + .demandCommand(1, 1, 'You need at least one command when using `db`').argv diff --git a/packages/cli/src/commands/generate.js b/packages/cli/src/commands/generate.js index 737c57eadb7e..c529f3af5092 100644 --- a/packages/cli/src/commands/generate.js +++ b/packages/cli/src/commands/generate.js @@ -3,4 +3,11 @@ export const aliases = ['g'] export const desc = 'Save time by generating boilerplate code.' export const builder = (yargs) => - yargs.commandDir('./generate/commands').demandCommand().argv + yargs + .commandDir('./generate/commands') + .demandCommand( + 2, + 2, + 'You need at least two commands to use `generate`', + 'You entered too many commands. Maybe you used a space in your directory name?' + ).argv From e3557d7ebb68a48e027efadd5d5a7689b6fe3ae2 Mon Sep 17 00:00:00 2001 From: Peter Pistorius Date: Sun, 5 Apr 2020 11:09:17 +0200 Subject: [PATCH 2/5] Use strict so that invalid commands throw errors. --- packages/cli/src/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/index.js b/packages/cli/src/index.js index 91b3b22bac6b..a2e797c936d1 100644 --- a/packages/cli/src/index.js +++ b/packages/cli/src/index.js @@ -19,4 +19,5 @@ yargs 'yarn rw g page home /', "\"Create a page component named 'Home' at path '/'\"" ) - .demandCommand().argv + .demandCommand() + .strict().argv From 11b4f7a0b628f953a17439b32c2f6da1a52003f7 Mon Sep 17 00:00:00 2001 From: Peter Pistorius Date: Sun, 5 Apr 2020 11:09:31 +0200 Subject: [PATCH 3/5] Again with the strict. --- packages/cli/src/commands/db.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/cli/src/commands/db.js b/packages/cli/src/commands/db.js index 8841113c9ea5..81b8bce1242a 100644 --- a/packages/cli/src/commands/db.js +++ b/packages/cli/src/commands/db.js @@ -3,6 +3,4 @@ export const aliases = ['database'] export const desc = 'Database tools.' export const builder = (yargs) => - yargs - .commandDir('./dbCommands') - .demandCommand(1, 1, 'You need at least one command when using `db`').argv + yargs.commandDir('./dbCommands').demandCommand().strict().argv From 016b4837fa1369bc36f662d2ec8123970589cb6a Mon Sep 17 00:00:00 2001 From: Peter Pistorius Date: Sun, 5 Apr 2020 11:10:53 +0200 Subject: [PATCH 4/5] Use strict in generators. --- packages/cli/src/commands/generate.js | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/packages/cli/src/commands/generate.js b/packages/cli/src/commands/generate.js index c529f3af5092..d5ea5d21eb72 100644 --- a/packages/cli/src/commands/generate.js +++ b/packages/cli/src/commands/generate.js @@ -3,11 +3,4 @@ export const aliases = ['g'] export const desc = 'Save time by generating boilerplate code.' export const builder = (yargs) => - yargs - .commandDir('./generate/commands') - .demandCommand( - 2, - 2, - 'You need at least two commands to use `generate`', - 'You entered too many commands. Maybe you used a space in your directory name?' - ).argv + yargs.commandDir('./generate/commands').demandCommand().strict().argv From 1f68dc8ef70b3785a213880eedfe8ea700b66885 Mon Sep 17 00:00:00 2001 From: Peter Pistorius Date: Sun, 5 Apr 2020 11:11:37 +0200 Subject: [PATCH 5/5] Rename "path" to "router-path", add description. --- packages/cli/src/commands/generate/commands/page.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/commands/generate/commands/page.js b/packages/cli/src/commands/generate/commands/page.js index cb3d9a56a284..a77ce262a801 100644 --- a/packages/cli/src/commands/generate/commands/page.js +++ b/packages/cli/src/commands/generate/commands/page.js @@ -49,9 +49,17 @@ export const routes = ({ name, path }) => { ] } -export const command = 'page [path]' +export const command = 'page [router-path]' export const desc = 'Generates a page component.' -export const builder = { force: { type: 'boolean', default: false } } +export const builder = { + 'router-path': { + type: 'string', + required: false, + description: + 'The path used to reference this page in the router: `/about-us`, `/home`, etc...', + }, + force: { type: 'boolean', default: false }, +} export const handler = async ({ name, path, force }) => { path = path ?? `/${paramCase(name)}`