Skip to content

Commit b0c3398

Browse files
committed
feat: improve messaging on middleware detection
1 parent a430408 commit b0c3398

File tree

1 file changed

+9
-3
lines changed
  • packages/runtime/src/helpers

1 file changed

+9
-3
lines changed

packages/runtime/src/helpers/dev.ts

+9-3
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,28 @@ export const onPreDev: OnPreBuild = async ({ constants, netlifyConfig }) => {
1919
// Ignore if it doesn't exist
2020
})
2121
await writeDevEdgeFunction(constants)
22+
23+
let middlewareDetected = false
2224
if (!existsSync(resolve(base, 'middleware.ts')) && !existsSync(resolve(base, 'middleware.js'))) {
2325
console.log(
24-
"No middleware found. Create a 'middleware.ts' or 'middleware.js' file in your project root to add custom middleware.",
26+
"No middleware found. If you did intend to use middleware, create a 'middleware.ts' or 'middleware.js' file in your project root to add custom middleware.",
2527
)
2628
} else {
2729
console.log('Watching for changes in Next.js middleware...')
30+
middlewareDetected = true
2831
}
2932
// Eventually we might want to do this via esbuild's API, but for now the CLI works fine
3033

3134
const common = [`--bundle`, `--outdir=${resolve('.netlify')}`, `--format=esm`, `--target=esnext`, '--watch']
3235

36+
const esbuildTSArgs = middlewareDetected ? [...common, resolve(base, 'middleware.ts')] : common
37+
const esbuildJSArgs = middlewareDetected ? [...common, resolve(base, 'middleware.js')] : common
38+
3339
// TypeScript
34-
execa(`esbuild`, [...common, resolve(base, 'middleware.ts')], { all: true }).all.pipe(process.stdout)
40+
execa(`esbuild`, esbuildTSArgs, { all: true }).all.pipe(process.stdout)
3541

3642
// JavaScript
37-
execa(`esbuild`, [...common, resolve(base, 'middleware.js')], { all: true }).all.pipe(process.stdout)
43+
execa(`esbuild`, esbuildJSArgs, { all: true }).all.pipe(process.stdout)
3844

3945
// Don't return the promise because we don't want to wait for the child process to finish
4046
}

0 commit comments

Comments
 (0)