next.js
1bfac331 - fix: match file path url escaping during build and serve (#70256)

Commit
1 year ago
fix: match file path url escaping during build and serve (#70256) ### What? This fixes file path encoding differences between build and serve. Currently, file paths that get encoded via `encodeURIPath` (which uses `encodeURIComponent`): https://github.com/vercel/next.js/blob/c3475da0686eecbf9acc9b004e579a8e67288d70/packages/next/src/server/app-render/create-component-styles-and-scripts.tsx#L59-L61 But when matching files to serve, we use `encodeURI`: https://github.com/vercel/next.js/blob/c3475da0686eecbf9acc9b004e579a8e67288d70/packages/next/src/server/lib/router-utils/filesystem.ts#L191 This means that any file which contains reserved characters according to [RFC2396](https://datatracker.ietf.org/doc/html/rfc2396) will not match correctly. ``` reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," ``` Closes PACK-3266
Parents
Loading