fix(nextjs): Fix middleware detection logic#9637
Merged
Conversation
Contributor
size-limit report 📦
|
pladaria
reviewed
Nov 22, 2023
| const middlewareJsPath = path.join(pagesDirPath, '..', 'middleware.js'); | ||
| const middlewareTsPath = path.join(pagesDirPath, '..', 'middleware.ts'); | ||
| const middlewareJsPath = path.join(middlewareLocationFolder, 'middleware.js'); | ||
| const middlewareTsPath = path.join(middlewareLocationFolder, 'middleware.ts'); |
There was a problem hiding this comment.
Note that some people use the convention of using .tsx for all typescript files, even if they don't contain JSX
Next.js allows middlewares with .tsx extension (and probably also jsx, not tested)
Perhaps it would be a good idea to accept middlewares with any of the pageExtensions.
Contributor
Author
There was a problem hiding this comment.
Ugh, you might be right. I just tested it. Once again not in line with what the Next.js docs say: https://nextjs.org/docs/app/building-your-application/routing/middleware#convention Thanks!
added 2 commits
November 22, 2023 16:08
mydea
approved these changes
Nov 23, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #9631
Our middleware detection logic was flawed because it looked into
{root}/srcif there was no pages folder while, in fact, the logic for middleware seems to beAlways follow the location of the pages folder, except for when it doesn't exist, then follow the location of the app folder..These are the results of my tests: