diff --git a/packages/cli/src/commands/index.ts b/packages/cli/src/commands/index.ts index 9a76711d08..969fba7c25 100644 --- a/packages/cli/src/commands/index.ts +++ b/packages/cli/src/commands/index.ts @@ -86,7 +86,10 @@ export function registerScriptCommand(program: Command) { '--inspect-brk [host]', 'Enable debugger in Node.js environments, breaking before code starts', ) - .option('--require ', 'Add a --require argument to the node process') + .option( + '--require ', + 'Add a --require argument to the node process', + ) .option('--link ', 'Link an external workspace for module resolution') .action(lazy(() => import('./start'), 'command')); diff --git a/packages/cli/src/lib/runner/runBackend.ts b/packages/cli/src/lib/runner/runBackend.ts index fb8fdd9d55..c085e183f1 100644 --- a/packages/cli/src/lib/runner/runBackend.ts +++ b/packages/cli/src/lib/runner/runBackend.ts @@ -39,7 +39,7 @@ export type RunBackendOptions = { /** Whether to forward the --inspect-brk flag to the node process */ inspectBrkEnabled: boolean; /** Additional module to require via the --require flag to the node process */ - require?: string; + require?: string | string[]; /** An external linked workspace to override module resolution towards */ linkedWorkspace?: string; }; @@ -107,7 +107,10 @@ export async function runBackend(options: RunBackendOptions) { optionArgs.push(inspect); } if (options.require) { - optionArgs.push(`--require=${options.require}`); + const requires = [options.require].flat(); + for (const r of requires) { + optionArgs.push(`--require=${r}`); + } } const userArgs = process.argv