From 4fdbfae8e0ea3f7fc59b0a879f311e8add13e457 Mon Sep 17 00:00:00 2001 From: Julian Klumpers Date: Wed, 15 Nov 2023 20:33:53 +0100 Subject: [PATCH 1/2] feat: allow extra args to be passed to nextjs cli --- packages/blitz/src/cli/commands/next/build.ts | 3 +++ packages/blitz/src/cli/commands/next/dev.ts | 3 +++ packages/blitz/src/cli/commands/next/export.ts | 3 +++ packages/blitz/src/cli/commands/next/start.ts | 3 +++ packages/blitz/src/cli/utils/config.ts | 2 ++ packages/blitz/src/cli/utils/next-utils.ts | 2 +- 6 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/blitz/src/cli/commands/next/build.ts b/packages/blitz/src/cli/commands/next/build.ts index 39e188b883..528fe0b397 100644 --- a/packages/blitz/src/cli/commands/next/build.ts +++ b/packages/blitz/src/cli/commands/next/build.ts @@ -12,10 +12,13 @@ const build: CliCommand = async () => { }, ) + const extraArgs = nextArgs["_"].filter((arg) => arg !== "build") + const config: ServerConfig = { rootFolder: process.cwd(), inspect: nextArgs["--inspect"], env: "prod", + extraArgs, } await import("../../utils/next-commands").then((i) => i.build(config)) diff --git a/packages/blitz/src/cli/commands/next/dev.ts b/packages/blitz/src/cli/commands/next/dev.ts index b0a43b218d..8765bac8ec 100644 --- a/packages/blitz/src/cli/commands/next/dev.ts +++ b/packages/blitz/src/cli/commands/next/dev.ts @@ -17,12 +17,15 @@ const dev: CliCommand = async () => { }, ) + const extraArgs = nextArgs["_"].filter((arg) => arg !== "dev") + const config: ServerConfig = { rootFolder: process.cwd(), port: nextArgs["--port"], hostname: nextArgs["--hostname"], inspect: nextArgs["--inspect"], env: process.env.NODE_ENV === "production" ? "prod" : "dev", + extraArgs, } await import("../../utils/next-commands").then((i) => i.dev(config)) diff --git a/packages/blitz/src/cli/commands/next/export.ts b/packages/blitz/src/cli/commands/next/export.ts index c0172ed4b1..64bdf147f1 100644 --- a/packages/blitz/src/cli/commands/next/export.ts +++ b/packages/blitz/src/cli/commands/next/export.ts @@ -19,10 +19,13 @@ const nextExport: CliCommand = async () => { }, ) + const extraArgs = nextArgs["_"].filter((arg) => arg !== "export") + const config: ServerConfig = { rootFolder: process.cwd(), ...(nextArgs["--outdir"] && {outdir: resolve(nextArgs["--outdir"])}), env: process.env.NODE_ENV === "production" ? "prod" : "dev", + extraArgs, } const getHelp = async () => { diff --git a/packages/blitz/src/cli/commands/next/start.ts b/packages/blitz/src/cli/commands/next/start.ts index 114845f852..8673a49d88 100644 --- a/packages/blitz/src/cli/commands/next/start.ts +++ b/packages/blitz/src/cli/commands/next/start.ts @@ -17,12 +17,15 @@ const start: CliCommand = async () => { }, ) + const extraArgs = nextArgs["_"].filter((arg) => arg !== "start") + const config: ServerConfig = { rootFolder: process.cwd(), port: nextArgs["--port"], hostname: nextArgs["--hostname"], inspect: nextArgs["--inspect"], env: process.env.NODE_ENV === "production" ? "prod" : "dev", + extraArgs, } await import("../../utils/next-commands").then((i) => i.prod(config)) diff --git a/packages/blitz/src/cli/utils/config.ts b/packages/blitz/src/cli/utils/config.ts index c709a654b5..c094cf9d5f 100644 --- a/packages/blitz/src/cli/utils/config.ts +++ b/packages/blitz/src/cli/utils/config.ts @@ -37,6 +37,8 @@ export type ServerConfig = { // – env: ServerEnvironment // - + extraArgs: string[] + // - outdir?: string } diff --git a/packages/blitz/src/cli/utils/next-utils.ts b/packages/blitz/src/cli/utils/next-utils.ts index c92abf5483..d4df319577 100644 --- a/packages/blitz/src/cli/utils/next-utils.ts +++ b/packages/blitz/src/cli/utils/next-utils.ts @@ -152,7 +152,7 @@ function getSpawnEnv(config: ServerConfig) { } async function createCommandAndPort(config: ServerConfig, command: string) { - let spawnCommand: string[] = [command] + let spawnCommand: string[] = [command, ...config.extraArgs] let availablePort: number availablePort = await detect({port: config.port ? config.port : 3000}) From 63dc8382bb26f3a5a1e4259ad5f95514da9cc876 Mon Sep 17 00:00:00 2001 From: Julian Klumpers Date: Wed, 15 Nov 2023 20:38:48 +0100 Subject: [PATCH 2/2] chore: run changeset --- .changeset/metal-icons-talk.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/metal-icons-talk.md diff --git a/.changeset/metal-icons-talk.md b/.changeset/metal-icons-talk.md new file mode 100644 index 0000000000..be33091e1a --- /dev/null +++ b/.changeset/metal-icons-talk.md @@ -0,0 +1,5 @@ +--- +"blitz": major +--- + +Allow extra args to be passed to the nextjs cli