MCPcopy
hub / github.com/blitz-js/blitz / runBlitzCommandDev

Function runBlitzCommandDev

integration-tests/utils/next-test-utils.ts:223–295  ·  view source on GitHub ↗
(argv, stdOut, opts: RunNextCommandDevOptions = {})

Source from the content-addressed store, hash-verified

221}
222
223export function runBlitzCommandDev(argv, stdOut, opts: RunNextCommandDevOptions = {}) {
224 const nextnextbin = getCommandBin("blitz", opts.cwd)
225 const blitzBin = path.join(nextnextbin, "dist/index.cjs")
226
227 const cwd = opts.cwd
228 const env = {
229 ...process.env,
230 NODE_ENV: undefined,
231 __NEXT_TEST_MODE: "true",
232 ...opts.env,
233 }
234
235 return new Promise<void>((resolve, reject) => {
236 console.log(`Running command "blitz ${argv.join(" ")}"`)
237 const instance = spawn("node", [blitzBin, ...argv], {
238 cwd,
239 env,
240 } as {})
241 let didResolve = false
242
243 function handleStdout(data) {
244 const message = data.toString()
245 const bootupMarkers = {
246 dev: /Ready/i,
247 start: /Ready/i,
248 }
249 if (
250 (opts.bootupMarker && opts.bootupMarker.test(message)) ||
251 bootupMarkers[opts.nextStart || stdOut ? "start" : "dev"].test(message)
252 ) {
253 if (!didResolve) {
254 didResolve = true
255 resolve(stdOut ? message : instance)
256 }
257 }
258
259 if (typeof opts.onStdout === "function") {
260 opts.onStdout(message)
261 }
262
263 if (opts.stdout !== false) {
264 process.stdout.write(message)
265 }
266 }
267
268 function handleStderr(data) {
269 const message = data.toString()
270 if (typeof opts.onStderr === "function") {
271 opts.onStderr(message)
272 }
273
274 if (opts.stderr !== false) {
275 process.stderr.write(message)
276 }
277 }
278
279 instance.stdout?.on("data", handleStdout)
280 instance.stderr?.on("data", handleStderr)

Callers 2

blitzLaunchAppFunction · 0.85
blitzStartFunction · 0.85

Calls 3

getCommandBinFunction · 0.70
logMethod · 0.45
onMethod · 0.45

Tested by

no test coverage detected