next.js
next.js copied to clipboard
`next/compat/navigation` hooks
useRouter
These hooks are designed to be used in components that are imported into both pages/ and app/. During the intermediate phase in the application development lifecycle when developers are transitioning to app/ from pages/, these hooks are designed to be used while incrementally migrating. Users who start new applications from app/ should not used these hooks, and should prefer the non-compat hooks. Users who are not migrating to app/ and instead are using only pages/ can continue to use the old hooks.
Just like the useRouter hook from next/router, this returns the router object. Unlike that hook though, this one will return null if it’s imported in a page from the app/ directory.
import { useRouter } from "next/compat/router";
function ActiveLink({ children, href }) {
const router = useRouter();
const handleClick = (e) => {
e.preventDefault();
router?.push(href);
};
return (
<a href={href} onClick={handleClick}>
{children}
</a>
);
}
export default ActiveLink;
It’s probably more likely though that developers will want to use the new navigation router, available at next/compat/navigation as it’s been made to be backwards compatible with the pages/ directory. If users need to access search parameters or pathname details, the new navigation hooks such as useSearchParams and usePathname can be used from next/compat/navigation which offer the same type guarantees that the equivalent router.query and router.pathname offered while in pages/.
useSearchParams
Just like the useSearchParams hook from next/navigation, this hook offers a way to access the query parameters from a client component. Unlike the hook from next/navigation, this hook will return null during prerendering if the page doesn't use Server-side Rendering in the pages/ directory. It will always be non-null when the hook is called from the app/ directory.
import { useSearchParams } from "next/compat/navigation";
function Component() {
const searchParams = useSearchParams();
return <div>Searching for: {searchParams?.get("query")}</div>;
}
export default Component;
Once components and pages are exclusively using the app/ directory, you can convert these over to the stable hooks with minimal changes.
import { useSearchParams } from "next/navigation";
function Component() {
const searchParams = useSearchParams();
return <div>Searching for: {searchParams.get("query") ?? "..."}</div>;
}
export default Component;
usePathname
Just like the usePathname from next/navigation, this hook offers a way to access the pathname from a client component. Unlike the hook from next/navigation, this hook will return null during prerendering if the page is a fallback page or has been automatically statically optimized when accessed from pages/.
import { usePathame } from "next/compat/navigation";
function NavComponent({ href, children }) {
const pathname = usePathame();
return (
<li>
<a
href={href}
style={{
fontWeight: pathname === href ? "bold" : undefined,
}}
>
{children}
</a>
</li>
);
}
export default NavComponent;
In this example, the usePathname hook is used to control the fontWeight property of the link.
Stats from current PR
Default Build (Increase detected ⚠️)
General Overall increase ⚠️
| vercel/next.js canary | wyattjoh/next.js wyattjoh/compat-navigation-hooks | Change | |
|---|---|---|---|
| buildDuration | 35.1s | 34.5s | -680ms |
| buildDurationCached | 14.9s | 9.8s | -5.1s |
| nodeModulesSize | 95.2 MB | 95.2 MB | ⚠️ +18.3 kB |
| nextStartRea..uration (ms) | 283ms | 280ms | -3ms |
Client Bundles (main, webpack) Overall increase ⚠️
| vercel/next.js canary | wyattjoh/next.js wyattjoh/compat-navigation-hooks | Change | |
|---|---|---|---|
| 246.HASH.js gzip | 181 B | 181 B | ✓ |
| 437-HASH.js gzip | 64.5 kB | 64.6 kB | ⚠️ +77 B |
| main-app-HASH.js gzip | 206 B | 206 B | ✓ |
| main-HASH.js gzip | 79.2 kB | 79.2 kB | -2 B |
| webpack-HASH.js gzip | 1.7 kB | 1.7 kB | ⚠️ +1 B |
| Overall change | 146 kB | 146 kB | ⚠️ +76 B |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | wyattjoh/next.js wyattjoh/compat-navigation-hooks | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages Overall decrease ✓
| vercel/next.js canary | wyattjoh/next.js wyattjoh/compat-navigation-hooks | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 192 B | 192 B | ✓ |
| _error-HASH.js gzip | 179 B | 178 B | -1 B |
| amp-HASH.js gzip | 482 B | 483 B | ⚠️ +1 B |
| css-HASH.js gzip | 803 B | 804 B | ⚠️ +1 B |
| dynamic-HASH.js gzip | 2.27 kB | 2.27 kB | -1 B |
| edge-ssr-HASH.js gzip | 259 B | 258 B | -1 B |
| head-HASH.js gzip | 830 B | 828 B | -2 B |
| hooks-HASH.js gzip | 850 B | 848 B | -2 B |
| image-HASH.js gzip | 4.3 kB | 4.3 kB | ✓ |
| index-HASH.js gzip | 253 B | 253 B | ✓ |
| link-HASH.js gzip | 2.68 kB | 2.68 kB | -3 B |
| routerDirect..HASH.js gzip | 781 B | 781 B | ✓ |
| script-HASH.js gzip | 859 B | 856 B | -3 B |
| withRouter-HASH.js gzip | 781 B | 781 B | ✓ |
| 85e02e95b279..7e3.css gzip | 107 B | 107 B | ✓ |
| Overall change | 15.6 kB | 15.6 kB | -11 B |
Client Build Manifests Overall decrease ✓
| vercel/next.js canary | wyattjoh/next.js wyattjoh/compat-navigation-hooks | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 485 B | 483 B | -2 B |
| Overall change | 485 B | 483 B | -2 B |
Rendered Page Sizes Overall increase ⚠️
| vercel/next.js canary | wyattjoh/next.js wyattjoh/compat-navigation-hooks | Change | |
|---|---|---|---|
| index.html gzip | 489 B | 491 B | ⚠️ +2 B |
| link.html gzip | 504 B | 504 B | ✓ |
| withRouter.html gzip | 484 B | 486 B | ⚠️ +2 B |
| Overall change | 1.48 kB | 1.48 kB | ⚠️ +4 B |
Edge SSR bundle Size Overall increase ⚠️
| vercel/next.js canary | wyattjoh/next.js wyattjoh/compat-navigation-hooks | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 110 kB | 110 kB | -7 B |
| page.js gzip | 98.4 kB | 98.4 kB | ⚠️ +31 B |
| Overall change | 209 kB | 209 kB | ⚠️ +24 B |
Middleware size Overall decrease ✓
| vercel/next.js canary | wyattjoh/next.js wyattjoh/compat-navigation-hooks | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 587 B | 586 B | -1 B |
| middleware-r..fest.js gzip | 145 B | 144 B | -1 B |
| middleware.js gzip | 27.1 kB | 27.1 kB | ✓ |
| edge-runtime..pack.js gzip | 1.83 kB | 1.83 kB | ✓ |
| Overall change | 29.7 kB | 29.7 kB | -2 B |
Diffs
Diff for page.js
Diff too large to display
Diff for middleware-b..-manifest.js
@@ -7,81 +7,81 @@ self.__BUILD_MANIFEST = {
"static/BUILD_ID/_ssgManifest.js"
],
rootMainFiles: [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/437-e60e3e0e800f0f8f.js",
- "static/chunks/main-app-12a4424998444d69.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/745-add49b9191f2c039.js",
+ "static/chunks/main-app-813e7aa300296517.js"
],
pages: {
"/": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
- "static/chunks/pages/index-72f4ed6964652f6a.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
+ "static/chunks/pages/index-a1c4d9d8497dbefb.js"
],
"/_app": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
- "static/chunks/pages/_app-02fdba2e11c62c3b.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
+ "static/chunks/pages/_app-b68f71a961b48916.js"
],
"/_error": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
- "static/chunks/pages/_error-c6d6c7c386122218.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
+ "static/chunks/pages/_error-a22ef5f48ba8184b.js"
],
"/amp": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
- "static/chunks/pages/amp-b62e7c28809c13e0.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
+ "static/chunks/pages/amp-eaaa44ffdc03cc2c.js"
],
"/css": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
"static/css/94fdbc56eafa2039.css",
- "static/chunks/pages/css-860762b9808f5e42.js"
+ "static/chunks/pages/css-ce50591629177489.js"
],
"/dynamic": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
- "static/chunks/pages/dynamic-1800dc9579c69237.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
+ "static/chunks/pages/dynamic-30671cb91fe2de93.js"
],
"/edge-ssr": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
- "static/chunks/pages/edge-ssr-a57e88de1ff426bd.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
+ "static/chunks/pages/edge-ssr-18640e2c6cb99ab4.js"
],
"/head": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
- "static/chunks/pages/head-b5894c626904a778.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
+ "static/chunks/pages/head-f756eefe15b9eed2.js"
],
"/hooks": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
- "static/chunks/pages/hooks-874b5779f127e436.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
+ "static/chunks/pages/hooks-74323ca92508884f.js"
],
"/image": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
- "static/chunks/pages/image-c8ce7f4627af8111.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
+ "static/chunks/pages/image-01819042682fbdad.js"
],
"/link": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
- "static/chunks/pages/link-64f5c14f89f65607.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
+ "static/chunks/pages/link-2dd5f16503707acd.js"
],
"/routerDirect": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
- "static/chunks/pages/routerDirect-0be908911bf83c00.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
+ "static/chunks/pages/routerDirect-cdbb1d3e934b20a6.js"
],
"/script": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
- "static/chunks/pages/script-fa22c9b29b4b53ec.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
+ "static/chunks/pages/script-58920c0195960d69.js"
],
"/withRouter": [
- "static/chunks/webpack-778ee737b42dbd09.js",
- "static/chunks/main-80a9e340c7a74a26.js",
- "static/chunks/pages/withRouter-9bdea6c06adf2771.js"
+ "static/chunks/webpack-078d588fd47873c4.js",
+ "static/chunks/main-6d3f8866704e67bd.js",
+ "static/chunks/pages/withRouter-7121e5a8488cd783.js"
]
},
ampFirstPages: []
Diff for middleware-r..-manifest.js
@@ -1,6 +1,6 @@
self.__REACT_LOADABLE_MANIFEST = {
"dynamic.js -> ../components/hello": {
- id: 1246,
- files: ["static/chunks/246.a0afad3905ddc3ff.js"]
+ id: 7363,
+ files: ["static/chunks/363.ab0825baf290f32b.js"]
}
};
Diff for middleware.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[826],
{
- /***/ 1675: /***/ (
+ /***/ 5653: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -14,7 +14,7 @@
__webpack_require__.d(__webpack_exports__, {
default: () =>
/* binding */ next_middleware_loaderabsolutePagePath_private_next_root_dir_2Fmiddleware_js_page_2Fmiddleware_rootDir_2Ftmp_2Fnext_stats_2Fstats_app_matchers_
- }); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/error.js
+ }); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/error.js
class PageSignatureError extends Error {
constructor({ page }) {
@@ -41,7 +41,7 @@
Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
`);
}
- } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/utils.js
+ } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/utils.js
//# sourceMappingURL=error.js.map
function fromNodeHeaders(object) {
@@ -157,7 +157,7 @@
}
);
}
- } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/fetch-event.js
+ } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/fetch-event.js
//# sourceMappingURL=utils.js.map
const responseSymbol = Symbol("response");
@@ -203,7 +203,7 @@
page: this.sourcePage
});
}
- } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/i18n/detect-domain-locale.js
+ } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/i18n/detect-domain-locale.js
//# sourceMappingURL=fetch-event.js.map
function detectDomainLocale(domainItems, hostname, detectedLocale) {
@@ -232,7 +232,7 @@
}
}
return domainItem;
- } //# sourceMappingURL=detect-domain-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/remove-trailing-slash.js
+ } //# sourceMappingURL=detect-domain-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/remove-trailing-slash.js
/**
* Removes the trailing slash for a given route or page path. Preserves the
@@ -242,7 +242,7 @@
* - `/` -> `/`
*/ function removeTrailingSlash(route) {
return route.replace(/\/$/, "") || "/";
- } //# sourceMappingURL=remove-trailing-slash.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/parse-path.js
+ } //# sourceMappingURL=remove-trailing-slash.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/parse-path.js
/**
* Given a path this function will find the pathname, query and hash and return
@@ -270,7 +270,7 @@
query: "",
hash: ""
};
- } //# sourceMappingURL=parse-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/add-path-prefix.js
+ } //# sourceMappingURL=parse-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/add-path-prefix.js
/**
* Adds the provided prefix to the given path. It first ensures that the path
@@ -281,7 +281,7 @@
}
const { pathname, query, hash } = parsePath(path);
return `${prefix}${pathname}${query}${hash}`;
- } //# sourceMappingURL=add-path-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/add-path-suffix.js
+ } //# sourceMappingURL=add-path-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/add-path-suffix.js
/**
* Similarly to `addPathPrefix`, this function adds a suffix at the end on the
@@ -293,7 +293,7 @@
}
const { pathname, query, hash } = parsePath(path);
return `${pathname}${suffix}${query}${hash}`;
- } //# sourceMappingURL=add-path-suffix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js
+ } //# sourceMappingURL=add-path-suffix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js
/**
* Checks if a given path starts with a given prefix. It ensures it matches
@@ -307,7 +307,7 @@
}
const { pathname } = parsePath(path);
return pathname === prefix || pathname.startsWith(prefix + "/");
- } //# sourceMappingURL=path-has-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/add-locale.js
+ } //# sourceMappingURL=path-has-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/add-locale.js
/**
* For a given path and a locale, if the locale is given, it will prefix the
@@ -324,7 +324,7 @@
return addPathPrefix(path, `/${locale}`);
}
return path;
- } //# sourceMappingURL=add-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/format-next-pathname-info.js
+ } //# sourceMappingURL=add-locale.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/format-next-pathname-info.js
function formatNextPathnameInfo(info) {
let pathname = addLocale(
@@ -348,7 +348,7 @@
? addPathSuffix(pathname, "/")
: pathname
: removeTrailingSlash(pathname);
- } //# sourceMappingURL=format-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/get-hostname.js
+ } //# sourceMappingURL=format-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/get-hostname.js
/**
* Takes an object with a hostname property (like a parsed URL) and some
@@ -363,7 +363,7 @@
parsed.hostname) == null
? void 0
: ref.split(":")[0].toLowerCase();
- } //# sourceMappingURL=get-hostname.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/i18n/normalize-locale-path.js
+ } //# sourceMappingURL=get-hostname.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/i18n/normalize-locale-path.js
/**
* For a pathname that may include a locale from a list of locales, it
@@ -393,7 +393,7 @@
pathname,
detectedLocale
};
- } //# sourceMappingURL=normalize-locale-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/remove-path-prefix.js
+ } //# sourceMappingURL=normalize-locale-path.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/remove-path-prefix.js
/**
* Given a path and a prefix it will remove the prefix when it exists in the
@@ -409,7 +409,7 @@
: `/${withoutPrefix}`;
}
return path;
- } //# sourceMappingURL=remove-path-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/get-next-pathname-info.js
+ } //# sourceMappingURL=remove-path-prefix.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/get-next-pathname-info.js
function getNextPathnameInfo(pathname, options) {
var _nextConfig;
@@ -446,7 +446,7 @@
info.pathname;
}
return info;
- } //# sourceMappingURL=get-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/next-url.js
+ } //# sourceMappingURL=get-next-pathname-info.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/next-url.js
const REGEX_LOCALHOST_HOSTNAME = /(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|::1|localhost)/;
function parseURL(url, base) {
@@ -655,7 +655,7 @@
clone() {
return new NextURL(String(this), this[Internal].options);
}
- } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/serialize.js
+ } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/serialize.js
//# sourceMappingURL=next-url.js.map
const SAME_SITE = ["strict", "lax", "none"];
@@ -739,7 +739,7 @@
})
};
return compact(cookie);
- } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/request-cookies.js
+ } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/request-cookies.js
//# sourceMappingURL=serialize.js.map
/**
@@ -832,7 +832,7 @@
Object.fromEntries(this._parsed)
)}`;
}
- } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/response-cookies.js
+ } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/response-cookies.js
//# sourceMappingURL=request-cookies.js.map
function replace(bag, headers) {
@@ -927,7 +927,7 @@
Object.fromEntries(this._parsed)
)}`;
}
- } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/index.js // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/request.js
+ } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/cookies/index.js // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/request.js
//# sourceMappingURL=response-cookies.js.map
//# sourceMappingURL=index.js.map
@@ -1002,7 +1002,7 @@
get url() {
return this[INTERNALS].url.toString();
}
- } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/response.js
+ } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/spec-extension/response.js
//# sourceMappingURL=request.js.map
const response_INTERNALS = Symbol("internal response");
@@ -1102,7 +1102,7 @@
headers
});
}
- } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/relativize-url.js
+ } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/relativize-url.js
//# sourceMappingURL=response.js.map
/**
@@ -1116,7 +1116,7 @@
return `${relative.protocol}//${relative.host}` === origin
? relative.toString().replace(origin, "")
: relative.toString();
- } //# sourceMappingURL=relativize-url.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/internal-utils.js
+ } //# sourceMappingURL=relativize-url.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/internal-utils.js
const INTERNAL_QUERY_NAMES = [
"__nextFallback",
@@ -1140,7 +1140,7 @@
}
}
return searchParams;
- } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js
+ } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js
//# sourceMappingURL=internal-utils.js.map
// remove (name) from pathname as it's not considered for routing
@@ -1164,7 +1164,7 @@
}
function normalizeRscPath(pathname, enabled) {
return enabled ? pathname.replace(/\.rsc($|\?)/, "") : pathname;
- } //# sourceMappingURL=app-paths.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/client/components/app-router-headers.js
+ } //# sourceMappingURL=app-paths.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/client/components/app-router-headers.js
const RSC = "RSC";
const NEXT_ROUTER_STATE_TREE = "Next-Router-State-Tree";
@@ -1175,7 +1175,7 @@
[RSC],
[NEXT_ROUTER_STATE_TREE],
[NEXT_ROUTER_PREFETCH]
- ]; //# sourceMappingURL=app-router-headers.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/adapter.js
+ ]; //# sourceMappingURL=app-router-headers.js.map // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/esm/server/web/adapter.js
class NextRequestHint extends NextRequest {
constructor(params) {
@@ -1376,12 +1376,12 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
enumerable: false,
configurable: false
});
- } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=private-next-root-dir%2Fmiddleware.js&page=%2Fmiddleware&rootDir=%2Ftmp%2Fnext-stats%2Fstats-app&matchers=!
+ } // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=private-next-root-dir%2Fmiddleware.js&page=%2Fmiddleware&rootDir=%2Ftmp%2Fnext-stats%2Fstats-app&matchers=!
//# sourceMappingURL=adapter.js.map
enhanceGlobals();
- var mod = __webpack_require__(1085);
+ var mod = __webpack_require__(8775);
var handler = mod.middleware || mod.default;
if (typeof handler !== "function") {
@@ -1403,7 +1403,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 1085: /***/ (
+ /***/ 8775: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -1415,7 +1415,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/* harmony export */
});
/* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- 8352
+ 9541
);
/* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
next_server__WEBPACK_IMPORTED_MODULE_0__
@@ -1428,7 +1428,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 4989: /***/ (__unused_webpack_module, exports) => {
+ /***/ 8239: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -1448,7 +1448,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 1962: /***/ (__unused_webpack_module, exports) => {
+ /***/ 7034: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -1486,7 +1486,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 6450: /***/ (__unused_webpack_module, exports) => {
+ /***/ 4375: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -1518,15 +1518,19 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 12: /***/ (__unused_webpack_module, exports, __webpack_require__) => {
+ /***/ 9312: /***/ (
+ __unused_webpack_module,
+ exports,
+ __webpack_require__
+ ) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.addLocale = addLocale;
- var _addPathPrefix = __webpack_require__(3120);
- var _pathHasPrefix = __webpack_require__(3245);
+ var _addPathPrefix = __webpack_require__(623);
+ var _pathHasPrefix = __webpack_require__(3002);
function addLocale(path, locale, defaultLocale, ignorePrefix) {
if (
locale &&
@@ -1546,7 +1550,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 3120: /***/ (
+ /***/ 623: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -1557,7 +1561,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
value: true
});
exports.addPathPrefix = addPathPrefix;
- var _parsePath = __webpack_require__(7718);
+ var _parsePath = __webpack_require__(5655);
function addPathPrefix(path, prefix) {
if (!path.startsWith("/") || !prefix) {
return path;
@@ -1569,7 +1573,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 5839: /***/ (
+ /***/ 7928: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -1580,7 +1584,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
value: true
});
exports.addPathSuffix = addPathSuffix;
- var _parsePath = __webpack_require__(7718);
+ var _parsePath = __webpack_require__(5655);
function addPathSuffix(path, suffix) {
if (!path.startsWith("/") || !suffix) {
return path;
@@ -1592,7 +1596,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 9364: /***/ (
+ /***/ 3580: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -1603,10 +1607,10 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
value: true
});
exports.formatNextPathnameInfo = formatNextPathnameInfo;
- var _removeTrailingSlash = __webpack_require__(9944);
- var _addPathPrefix = __webpack_require__(3120);
- var _addPathSuffix = __webpack_require__(5839);
- var _addLocale = __webpack_require__(12);
+ var _removeTrailingSlash = __webpack_require__(7088);
+ var _addPathPrefix = __webpack_require__(623);
+ var _addPathSuffix = __webpack_require__(7928);
+ var _addLocale = __webpack_require__(9312);
function formatNextPathnameInfo(info) {
let pathname = (0, _addLocale).addLocale(
info.pathname,
@@ -1637,7 +1641,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 9551: /***/ (
+ /***/ 1547: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -1648,9 +1652,9 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
value: true
});
exports.getNextPathnameInfo = getNextPathnameInfo;
- var _normalizeLocalePath = __webpack_require__(6450);
- var _removePathPrefix = __webpack_require__(4933);
- var _pathHasPrefix = __webpack_require__(3245);
+ var _normalizeLocalePath = __webpack_require__(4375);
+ var _removePathPrefix = __webpack_require__(5620);
+ var _pathHasPrefix = __webpack_require__(3002);
function getNextPathnameInfo(pathname, options) {
var _nextConfig;
const { basePath, i18n, trailingSlash } =
@@ -1700,7 +1704,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 7718: /***/ (__unused_webpack_module, exports) => {
+ /***/ 5655: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -1734,7 +1738,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 3245: /***/ (
+ /***/ 3002: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -1745,7 +1749,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
value: true
});
exports.pathHasPrefix = pathHasPrefix;
- var _parsePath = __webpack_require__(7718);
+ var _parsePath = __webpack_require__(5655);
function pathHasPrefix(path, prefix) {
if (typeof path !== "string") {
return false;
@@ -1757,7 +1761,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 4933: /***/ (
+ /***/ 5620: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -1768,7 +1772,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
value: true
});
exports.removePathPrefix = removePathPrefix;
- var _pathHasPrefix = __webpack_require__(3245);
+ var _pathHasPrefix = __webpack_require__(3002);
function removePathPrefix(path, prefix) {
if ((0, _pathHasPrefix).pathHasPrefix(path, prefix)) {
const withoutPrefix = path.slice(prefix.length);
@@ -1782,7 +1786,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 9944: /***/ (__unused_webpack_module, exports) => {
+ /***/ 7088: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -1796,7 +1800,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 6166: /***/ (module, exports, __webpack_require__) => {
+ /***/ 6204: /***/ (module, exports, __webpack_require__) => {
var __dirname = "/";
var __WEBPACK_AMD_DEFINE_RESULT__;
(() => {
@@ -2638,7 +2642,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 4524: /***/ (__unused_webpack_module, exports) => {
+ /***/ 8666: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -2679,7 +2683,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 3062: /***/ (
+ /***/ 4901: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -2689,10 +2693,10 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
Object.defineProperty(exports, "__esModule", {
value: true
});
- var _detectDomainLocale = __webpack_require__(1962);
- var _formatNextPathnameInfo = __webpack_require__(9364);
- var _getHostname = __webpack_require__(4989);
- var _getNextPathnameInfo = __webpack_require__(9551);
+ var _detectDomainLocale = __webpack_require__(7034);
+ var _formatNextPathnameInfo = __webpack_require__(3580);
+ var _getHostname = __webpack_require__(8239);
+ var _getNextPathnameInfo = __webpack_require__(1547);
const REGEX_LOCALHOST_HOSTNAME = /(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|::1|localhost)/;
function parseURL(url, base) {
return new URL(
@@ -2912,7 +2916,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 6915: /***/ (
+ /***/ 4580: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -2934,15 +2938,15 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
return _responseCookies.ResponseCookies;
}
});
- var _requestCookies = __webpack_require__(6079);
- var _responseCookies = __webpack_require__(9442);
+ var _requestCookies = __webpack_require__(7205);
+ var _responseCookies = __webpack_require__(9618);
//# sourceMappingURL=index.js.map
/***/
},
- /***/ 6079: /***/ (
+ /***/ 7205: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -2952,7 +2956,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
Object.defineProperty(exports, "__esModule", {
value: true
});
- var _serialize = __webpack_require__(8213);
+ var _serialize = __webpack_require__(8477);
class RequestCookies {
_parsed = new Map();
constructor(requestHeaders) {
@@ -3049,7 +3053,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 9442: /***/ (
+ /***/ 9618: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -3059,7 +3063,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
Object.defineProperty(exports, "__esModule", {
value: true
});
- var _serialize = __webpack_require__(8213);
+ var _serialize = __webpack_require__(8477);
function replace(bag, headers) {
headers.delete("set-cookie");
for (const [, value] of bag) {
@@ -3156,7 +3160,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 8213: /***/ (__unused_webpack_module, exports) => {
+ /***/ 8477: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -3249,7 +3253,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 5829: /***/ (
+ /***/ 5985: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -3261,10 +3265,10 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
value: true
};
__webpack_unused_export__ = void 0;
- var _nextUrl = __webpack_require__(3062);
- var _utils = __webpack_require__(88);
- var _error = __webpack_require__(4524);
- var _cookies = __webpack_require__(6915);
+ var _nextUrl = __webpack_require__(4901);
+ var _utils = __webpack_require__(30);
+ var _error = __webpack_require__(8666);
+ var _cookies = __webpack_require__(4580);
const INTERNALS = Symbol("internal request");
__webpack_unused_export__ = INTERNALS;
class NextRequest extends Request {
@@ -3345,7 +3349,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 5277: /***/ (
+ /***/ 5165: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -3356,9 +3360,9 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
__webpack_unused_export__ = {
value: true
};
- var _nextUrl = __webpack_require__(3062);
- var _utils = __webpack_require__(88);
- var _cookies = __webpack_require__(6915);
+ var _nextUrl = __webpack_require__(4901);
+ var _utils = __webpack_require__(30);
+ var _cookies = __webpack_require__(4580);
const INTERNALS = Symbol("internal response");
const REDIRECTS = new Set([301, 302, 303, 307, 308]);
function handleMiddlewareField(init, headers) {
@@ -3467,7 +3471,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 7873: /***/ (
+ /***/ 9132: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -3481,7 +3485,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
__webpack_unused_export__ = isBot;
exports.Nf = userAgentFromString;
exports.WE = userAgent;
- var _uaParserJs = _interopRequireDefault(__webpack_require__(6166));
+ var _uaParserJs = _interopRequireDefault(__webpack_require__(6204));
function _interopRequireDefault(obj) {
return obj && obj.__esModule
? obj
@@ -3509,7 +3513,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 88: /***/ (__unused_webpack_module, exports) => {
+ /***/ 30: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -3626,14 +3630,14 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 8352: /***/ (module, exports, __webpack_require__) => {
+ /***/ 9541: /***/ (module, exports, __webpack_require__) => {
const serverExports = {
- NextRequest: __webpack_require__(5829) /* .NextRequest */.Im,
- NextResponse: __webpack_require__(5277) /* .NextResponse */.x,
+ NextRequest: __webpack_require__(5985) /* .NextRequest */.Im,
+ NextResponse: __webpack_require__(5165) /* .NextResponse */.x,
userAgentFromString: __webpack_require__(
- 7873
+ 9132
) /* .userAgentFromString */.Nf,
- userAgent: __webpack_require__(7873) /* .userAgent */.WE
+ userAgent: __webpack_require__(9132) /* .userAgent */.WE
};
if (typeof URLPattern !== "undefined") {
@@ -3659,7 +3663,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
// webpackRuntimeModules
/******/ var __webpack_exec__ = moduleId =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ var __webpack_exports__ = __webpack_exec__(1675);
+ /******/ var __webpack_exports__ = __webpack_exec__(5653);
/******/ (_ENTRIES =
typeof _ENTRIES === "undefined"
? {}
Diff for edge-ssr.js
Diff too large to display
Diff for _buildManifest.js
@@ -1,28 +1,28 @@
self.__BUILD_MANIFEST = {
__rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
- "/": ["static\u002Fchunks\u002Fpages\u002Findex-72f4ed6964652f6a.js"],
- "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-c6d6c7c386122218.js"],
- "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-b62e7c28809c13e0.js"],
+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-a1c4d9d8497dbefb.js"],
+ "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-a22ef5f48ba8184b.js"],
+ "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-eaaa44ffdc03cc2c.js"],
"/css": [
"static\u002Fcss\u002F94fdbc56eafa2039.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-860762b9808f5e42.js"
+ "static\u002Fchunks\u002Fpages\u002Fcss-ce50591629177489.js"
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-1800dc9579c69237.js"
+ "static\u002Fchunks\u002Fpages\u002Fdynamic-30671cb91fe2de93.js"
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-a57e88de1ff426bd.js"
+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-18640e2c6cb99ab4.js"
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-b5894c626904a778.js"],
- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-874b5779f127e436.js"],
- "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-c8ce7f4627af8111.js"],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-64f5c14f89f65607.js"],
+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-f756eefe15b9eed2.js"],
+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-74323ca92508884f.js"],
+ "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-01819042682fbdad.js"],
+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-2dd5f16503707acd.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-0be908911bf83c00.js"
+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-cdbb1d3e934b20a6.js"
],
- "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-fa22c9b29b4b53ec.js"],
+ "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-58920c0195960d69.js"],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-9bdea6c06adf2771.js"
+ "static\u002Fchunks\u002Fpages\u002FwithRouter-7121e5a8488cd783.js"
],
sortedPages: [
"\u002F",
Diff for _app-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[888],
{
- /***/ 3115: /***/ function(
+ /***/ 1113: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/_app",
function() {
- return __webpack_require__(5791);
+ return __webpack_require__(9203);
}
]);
if (false) {
@@ -24,7 +24,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [179], function() {
- return __webpack_exec__(3115), __webpack_exec__(8995);
+ return __webpack_exec__(1113), __webpack_exec__(2830);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for _error-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[820],
{
- /***/ 5374: /***/ function(
+ /***/ 3363: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/_error",
function() {
- return __webpack_require__(9437);
+ return __webpack_require__(169);
}
]);
if (false) {
@@ -24,7 +24,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [888, 179], function() {
- return __webpack_exec__(5374);
+ return __webpack_exec__(3363);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for amp-HASH.js
@@ -1,17 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[216],
{
- /***/ 8510: /***/ function(
+ /***/ 8753: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
) {
- module.exports = __webpack_require__(6146);
+ module.exports = __webpack_require__(893);
/***/
},
- /***/ 7010: /***/ function(
+ /***/ 5348: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -19,7 +19,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/amp",
function() {
- return __webpack_require__(2725);
+ return __webpack_require__(1542);
}
]);
if (false) {
@@ -28,7 +28,7 @@
/***/
},
- /***/ 6146: /***/ function(module, exports, __webpack_require__) {
+ /***/ 893: /***/ function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -37,9 +37,9 @@
exports.useAmp = useAmp;
var _interop_require_default = __webpack_require__(1322) /* ["default"] */
.Z;
- var _react = _interop_require_default(__webpack_require__(2947));
- var _ampContext = __webpack_require__(7298);
- var _ampMode = __webpack_require__(3798);
+ var _react = _interop_require_default(__webpack_require__(465));
+ var _ampContext = __webpack_require__(2218);
+ var _ampMode = __webpack_require__(3734);
function useAmp() {
// Don't assign the context value to a variable to save bytes
return (0, _ampMode).isInAmpMode(
@@ -61,7 +61,7 @@
/***/
},
- /***/ 2725: /***/ function(
+ /***/ 1542: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -78,7 +78,7 @@
/* harmony export */
});
/* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- 8510
+ 8753
);
/* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
next_amp__WEBPACK_IMPORTED_MODULE_0__
@@ -102,7 +102,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [888, 179], function() {
- return __webpack_exec__(7010);
+ return __webpack_exec__(5348);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for css-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[706],
{
- /***/ 860: /***/ function(
+ /***/ 6437: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/css",
function() {
- return __webpack_require__(2998);
+ return __webpack_require__(5892);
}
]);
if (false) {
@@ -18,14 +18,14 @@
/***/
},
- /***/ 5189: /***/ function(module) {
+ /***/ 2501: /***/ function(module) {
// extracted by mini-css-extract-plugin
module.exports = { helloWorld: "css_helloWorld__qqNwY" };
/***/
},
- /***/ 2998: /***/ function(
+ /***/ 5892: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,10 +33,10 @@
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- 3268
+ 9701
);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- 5189
+ 2501
);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -56,7 +56,7 @@
/***/
},
- /***/ 6205: /***/ function(
+ /***/ 1963: /***/ function(
__unused_webpack_module,
exports,
__webpack_require__
@@ -71,7 +71,7 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
- var f = __webpack_require__(2947),
+ var f = __webpack_require__(465),
k = Symbol.for("react.element"),
l = Symbol.for("react.fragment"),
m = Object.prototype.hasOwnProperty,
@@ -106,7 +106,7 @@
/***/
},
- /***/ 3268: /***/ function(
+ /***/ 9701: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
@@ -114,7 +114,7 @@
"use strict";
if (true) {
- module.exports = __webpack_require__(6205);
+ module.exports = __webpack_require__(1963);
} else {
}
@@ -127,7 +127,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [888, 179], function() {
- return __webpack_exec__(860);
+ return __webpack_exec__(6437);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[739],
{
- /***/ 3995: /***/ function(
+ /***/ 7753: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/dynamic",
function() {
- return __webpack_require__(9780);
+ return __webpack_require__(685);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 3685: /***/ function(
+ /***/ 3831: /***/ function(
__unused_webpack_module,
exports,
__webpack_require__
@@ -32,8 +32,8 @@
exports.suspense = suspense;
var _interop_require_default = __webpack_require__(1322) /* ["default"] */
.Z;
- var _react = _interop_require_default(__webpack_require__(2947));
- var _noSsrError = __webpack_require__(8763);
+ var _react = _interop_require_default(__webpack_require__(465));
+ var _noSsrError = __webpack_require__(3298);
function NoSSR(param) {
let { children } = param;
if (false) {
@@ -49,7 +49,7 @@
/***/
},
- /***/ 4648: /***/ function(module, exports, __webpack_require__) {
+ /***/ 9809: /***/ function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -63,9 +63,9 @@
var _interop_require_wildcard = __webpack_require__(
6687
) /* ["default"] */.Z;
- var _react = _interop_require_wildcard(__webpack_require__(2947));
- var _loadable = _interop_require_default(__webpack_require__(7007));
- var _dynamicNoSsr = _interop_require_default(__webpack_require__(3685));
+ var _react = _interop_require_wildcard(__webpack_require__(465));
+ var _loadable = _interop_require_default(__webpack_require__(7936));
+ var _dynamicNoSsr = _interop_require_default(__webpack_require__(3831));
function dynamic(dynamicOptions, options) {
let loadableFn = _loadable.default;
let loadableOptions = {
@@ -170,7 +170,7 @@
/***/
},
- /***/ 1446: /***/ function(
+ /***/ 9851: /***/ function(
__unused_webpack_module,
exports,
__webpack_require__
@@ -183,7 +183,7 @@
exports.LoadableContext = void 0;
var _interop_require_default = __webpack_require__(1322) /* ["default"] */
.Z;
- var _react = _interop_require_default(__webpack_require__(2947));
+ var _react = _interop_require_default(__webpack_require__(465));
const LoadableContext = _react.default.createContext(null);
exports.LoadableContext = LoadableContext;
if (false) {
@@ -192,7 +192,7 @@
/***/
},
- /***/ 7007: /***/ function(
+ /***/ 7936: /***/ function(
__unused_webpack_module,
exports,
__webpack_require__
@@ -206,8 +206,8 @@
var _extends = __webpack_require__(5321) /* ["default"] */.Z;
var _interop_require_default = __webpack_require__(1322) /* ["default"] */
.Z;
- var _react = _interop_require_default(__webpack_require__(2947));
- var _loadableContext = __webpack_require__(1446);
+ var _react = _interop_require_default(__webpack_require__(465));
+ var _loadableContext = __webpack_require__(9851);
const ALL_INITIALIZERS = [];
const READY_INITIALIZERS = [];
let initialized = false;
@@ -425,7 +425,7 @@
/***/
},
- /***/ 9780: /***/ function(
+ /***/ 685: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -439,10 +439,10 @@
/* harmony export */
});
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- 3268
+ 9701
);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- 6113
+ 2677
);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -451,11 +451,11 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 246)
- .then(__webpack_require__.bind(__webpack_require__, 1246)),
+ .e(/* import() */ 363)
+ .then(__webpack_require__.bind(__webpack_require__, 7363)),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 1246]
+ webpack: () => [/*require.resolve*/ 7363]
}
}
);
@@ -482,7 +482,7 @@
/***/
},
- /***/ 6205: /***/ function(
+ /***/ 1963: /***/ function(
__unused_webpack_module,
exports,
__webpack_require__
@@ -497,7 +497,7 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
- var f = __webpack_require__(2947),
+ var f = __webpack_require__(465),
k = Symbol.for("react.element"),
l = Symbol.for("react.fragment"),
m = Object.prototype.hasOwnProperty,
@@ -532,7 +532,7 @@
/***/
},
- /***/ 3268: /***/ function(
+ /***/ 9701: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
@@ -540,19 +540,19 @@
"use strict";
if (true) {
- module.exports = __webpack_require__(6205);
+ module.exports = __webpack_require__(1963);
} else {
}
/***/
},
- /***/ 6113: /***/ function(
+ /***/ 2677: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
) {
- module.exports = __webpack_require__(4648);
+ module.exports = __webpack_require__(9809);
/***/
}
@@ -563,7 +563,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [888, 179], function() {
- return __webpack_exec__(3995);
+ return __webpack_exec__(7753);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for edge-ssr-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[800],
{
- /***/ 6219: /***/ function(
+ /***/ 6027: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/edge-ssr",
function() {
- return __webpack_require__(5260);
+ return __webpack_require__(699);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 5260: /***/ function(
+ /***/ 699: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -50,7 +50,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [888, 179], function() {
- return __webpack_exec__(6219);
+ return __webpack_exec__(6027);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[645],
{
- /***/ 2899: /***/ function(
+ /***/ 6955: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/head",
function() {
- return __webpack_require__(6603);
+ return __webpack_require__(8620);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 6603: /***/ function(
+ /***/ 8620: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -32,10 +32,10 @@
/* harmony export */
});
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- 3268
+ 9701
);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- 8412
+ 9046
);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -69,7 +69,7 @@
/***/
},
- /***/ 6205: /***/ function(
+ /***/ 1963: /***/ function(
__unused_webpack_module,
exports,
__webpack_require__
@@ -84,7 +84,7 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
- var f = __webpack_require__(2947),
+ var f = __webpack_require__(465),
k = Symbol.for("react.element"),
l = Symbol.for("react.fragment"),
m = Object.prototype.hasOwnProperty,
@@ -119,7 +119,7 @@
/***/
},
- /***/ 3268: /***/ function(
+ /***/ 9701: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
@@ -127,19 +127,19 @@
"use strict";
if (true) {
- module.exports = __webpack_require__(6205);
+ module.exports = __webpack_require__(1963);
} else {
}
/***/
},
- /***/ 8412: /***/ function(
+ /***/ 9046: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
) {
- module.exports = __webpack_require__(9461);
+ module.exports = __webpack_require__(2483);
/***/
}
@@ -150,7 +150,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [888, 179], function() {
- return __webpack_exec__(2899);
+ return __webpack_exec__(6955);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[757],
{
- /***/ 2304: /***/ function(
+ /***/ 7819: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/hooks",
function() {
- return __webpack_require__(8586);
+ return __webpack_require__(708);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 8586: /***/ function(
+ /***/ 708: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -26,10 +26,10 @@
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- 3
Post job cleanup.
[command]/usr/bin/git version
git version 2.38.2
Temporarily overriding HOME='/home/runner/work/_temp/9b6f3f20-b5bd-4657-a850-7beecb1928f2' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/bin/git config --global --add safe.directory /home/runner/work/next.js/next.js
[command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
[command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
http.https://github.com/.extraheader
[command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
Cleaning up orphan processes
Commit: 902b5ef8896a071b37da9332cdc42cc7247a0965
Failing test suites
Commit: 4dc8cfcdb66f8e81f086a750046f67b7012caaa8
pnpm testheadless test/development/acceptance-app/ReactRefreshLogBox.test.ts
- ReactRefreshLogBox app > should strip whitespace correctly with newline
- ReactRefreshLogBox app > logbox: can recover from a syntax error without losing state
- ReactRefreshLogBox app > logbox: can recover from a component error
- ReactRefreshLogBox app > render error not shown right after syntax error
- ReactRefreshLogBox app > module init error not shown
- ReactRefreshLogBox app > stuck error
- ReactRefreshLogBox app > syntax > runtime error
- ReactRefreshLogBox app > boundaries
- ReactRefreshLogBox app > unterminated JSX
- ReactRefreshLogBox app > conversion to class component (1)
- ReactRefreshLogBox app > css syntax errors
- ReactRefreshLogBox app > logbox: anchors links in error messages
Expand output
● ReactRefreshLogBox app › should strip whitespace correctly with newline
Application is in inconsistent state: timeout.
73 | }
74 | if (status !== 'pending') {
> 75 | throw new Error(`Application is in inconsistent state: ${status}.`)
| ^
76 | }
77 |
78 | await new Promise((resolve) => setTimeout(resolve, 30))
at Object.patch (development/acceptance-app/helpers.ts:75:19)
at Object.<anonymous> (development/acceptance-app/ReactRefreshLogBox.test.ts:31:5)
● ReactRefreshLogBox app › logbox: can recover from a syntax error without losing state
Application is in inconsistent state: timeout.
73 | }
74 | if (status !== 'pending') {
> 75 | throw new Error(`Application is in inconsistent state: ${status}.`)
| ^
76 | }
77 |
78 | await new Promise((resolve) => setTimeout(resolve, 30))
at Object.patch (development/acceptance-app/helpers.ts:75:19)
at Object.<anonymous> (development/acceptance-app/ReactRefreshLogBox.test.ts:61:5)
● ReactRefreshLogBox app › logbox: can recover from a component error
Application is in inconsistent state: timeout.
73 | }
74 | if (status !== 'pending') {
> 75 | throw new Error(`Application is in inconsistent state: ${status}.`)
| ^
76 | }
77 |
78 | await new Promise((resolve) => setTimeout(resolve, 30))
at Object.patch (development/acceptance-app/helpers.ts:75:19)
at Object.<anonymous> (development/acceptance-app/ReactRefreshLogBox.test.ts:202:5)
● ReactRefreshLogBox app › render error not shown right after syntax error
Application is in inconsistent state: timeout.
73 | }
74 | if (status !== 'pending') {
> 75 | throw new Error(`Application is in inconsistent state: ${status}.`)
| ^
76 | }
77 |
78 | await new Promise((resolve) => setTimeout(resolve, 30))
at Object.patch (development/acceptance-app/helpers.ts:75:19)
at Object.<anonymous> (development/acceptance-app/ReactRefreshLogBox.test.ts:259:5)
● ReactRefreshLogBox app › module init error not shown
Application is in inconsistent state: timeout.
73 | }
74 | if (status !== 'pending') {
> 75 | throw new Error(`Application is in inconsistent state: ${status}.`)
| ^
76 | }
77 |
78 | await new Promise((resolve) => setTimeout(resolve, 30))
at Object.patch (development/acceptance-app/helpers.ts:75:19)
at Object.<anonymous> (development/acceptance-app/ReactRefreshLogBox.test.ts:340:5)
● ReactRefreshLogBox app › stuck error
Application is in inconsistent state: timeout.
73 | }
74 | if (status !== 'pending') {
> 75 | throw new Error(`Application is in inconsistent state: ${status}.`)
| ^
76 | }
77 |
78 | await new Promise((resolve) => setTimeout(resolve, 30))
at Object.patch (development/acceptance-app/helpers.ts:75:19)
at Object.<anonymous> (development/acceptance-app/ReactRefreshLogBox.test.ts:388:5)
● ReactRefreshLogBox app › syntax > runtime error
Application is in inconsistent state: timeout.
73 | }
74 | if (status !== 'pending') {
> 75 | throw new Error(`Application is in inconsistent state: ${status}.`)
| ^
76 | }
77 |
78 | await new Promise((resolve) => setTimeout(resolve, 30))
at Object.patch (development/acceptance-app/helpers.ts:75:19)
at Object.<anonymous> (development/acceptance-app/ReactRefreshLogBox.test.ts:451:5)
● ReactRefreshLogBox app › boundaries
Application is in inconsistent state: timeout.
73 | }
74 | if (status !== 'pending') {
> 75 | throw new Error(`Application is in inconsistent state: ${status}.`)
| ^
76 | }
77 |
78 | await new Promise((resolve) => setTimeout(resolve, 30))
at Object.patch (development/acceptance-app/helpers.ts:75:19)
at Object.<anonymous> (development/acceptance-app/ReactRefreshLogBox.test.ts:522:5)
● ReactRefreshLogBox app › unterminated JSX
Application is in inconsistent state: timeout.
73 | }
74 | if (status !== 'pending') {
> 75 | throw new Error(`Application is in inconsistent state: ${status}.`)
| ^
76 | }
77 |
78 | await new Promise((resolve) => setTimeout(resolve, 30))
at Object.patch (development/acceptance-app/helpers.ts:75:19)
at Object.<anonymous> (development/acceptance-app/ReactRefreshLogBox.test.ts:603:5)
● ReactRefreshLogBox app › conversion to class component (1)
Application is in inconsistent state: timeout.
73 | }
74 | if (status !== 'pending') {
> 75 | throw new Error(`Application is in inconsistent state: ${status}.`)
| ^
76 | }
77 |
78 | await new Promise((resolve) => setTimeout(resolve, 30))
at Object.patch (development/acceptance-app/helpers.ts:75:19)
at Object.<anonymous> (development/acceptance-app/ReactRefreshLogBox.test.ts:652:5)
● ReactRefreshLogBox app › css syntax errors
Application is in inconsistent state: timeout.
73 | }
74 | if (status !== 'pending') {
> 75 | throw new Error(`Application is in inconsistent state: ${status}.`)
| ^
76 | }
77 |
78 | await new Promise((resolve) => setTimeout(resolve, 30))
at Object.patch (development/acceptance-app/helpers.ts:75:19)
at Object.<anonymous> (development/acceptance-app/ReactRefreshLogBox.test.ts:711:5)
● ReactRefreshLogBox app › logbox: anchors links in error messages
Application is in inconsistent state: timeout.
73 | }
74 | if (status !== 'pending') {
> 75 | throw new Error(`Application is in inconsistent state: ${status}.`)
| ^
76 | }
77 |
78 | await new Promise((resolve) => setTimeout(resolve, 30))
at Object.patch (development/acceptance-app/helpers.ts:75:19)
at Object.<anonymous> (development/acceptance-app/ReactRefreshLogBox.test.ts:749:5)
Read more about building and testing Next.js in contributing.md.
pnpm testheadless test/e2e/middleware-general/test/index.test.ts
- Middleware Runtime > with i18n > refreshes the page when middleware changes
- Middleware Runtime > with i18n > should have correct query values for rewrite to ssg page
- Middleware Runtime > with i18n > should have correct dynamic route params on client-transition to dynamic route
- Middleware Runtime > with i18n > should have correct dynamic route params for middleware rewrite to dynamic route
- Middleware Runtime > with i18n > should have correct route params for chained rewrite from middleware to config rewrite
- Middleware Runtime > with i18n > should have correct route params for rewrite from config dynamic route
- Middleware Runtime > with i18n > should have correct route params for rewrite from config non-dynamic route
- Middleware Runtime > with i18n > should redirect the same for direct visit and client-transition
- Middleware Runtime > with i18n > should rewrite the same for direct visit and client-transition
- Middleware Runtime > with i18n > should rewrite correctly for non-SSG/SSP page
- Middleware Runtime > with i18n > hard-navigates when the data request failed
- Middleware Runtime > with i18n > allows shallow linking with middleware
- Middleware Runtime > without i18n > refreshes the page when middleware changes
- Middleware Runtime > without i18n > should have correct query values for rewrite to ssg page
- Middleware Runtime > without i18n > should have correct dynamic route params on client-transition to dynamic route
- Middleware Runtime > without i18n > should have correct dynamic route params for middleware rewrite to dynamic route
- Middleware Runtime > without i18n > should have correct route params for chained rewrite from middleware to config rewrite
- Middleware Runtime > without i18n > should have correct route params for rewrite from config dynamic route
- Middleware Runtime > without i18n > should have correct route params for rewrite from config non-dynamic route
- Middleware Runtime > without i18n > should redirect the same for direct visit and client-transition
- Middleware Runtime > without i18n > should rewrite the same for direct visit and client-transition
- Middleware Runtime > without i18n > should rewrite correctly for non-SSG/SSP page
- Middleware Runtime > without i18n > hard-navigates when the data request failed
- Middleware Runtime > without i18n > allows shallow linking with middleware
Expand output
● Middleware Runtime › with i18n › refreshes the page when middleware changes
expect(received).toEqual(expected) // deep equality
Expected: "AboutB"
Received: "AboutA"
87 | const textb = await browser.elementByCss('h1').text()
88 | expect(await browser.eval('window.itdidnotrefresh')).not.toBe('hello')
> 89 | expect(textb).toEqual('AboutB')
| ^
90 | } finally {
91 | fs.writeFileSync(middlewarePath, originalContent)
92 | await browser.close()
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:89:25)
● Middleware Runtime › with i18n › should have correct query values for rewrite to ssg page
TIMED OUT: found
[]
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:215:7)
● Middleware Runtime › with i18n › should have correct dynamic route params on client-transition to dynamic route
page.waitForSelector: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for selector "#blog"
============================================================
329 | return this.chain(() => {
330 | return page
> 331 | .waitForSelector(selector, { timeout, state: 'attached' })
| ^
332 | .then(async (el) => {
333 | // it seems selenium waits longer and tests rely on this behavior
334 | // so we wait for the load event fire before returning
at lib/browsers/playwright.ts:331:10
● Middleware Runtime › with i18n › should have correct dynamic route params for middleware rewrite to dynamic route
TIMED OUT: yes
null
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:283:7)
● Middleware Runtime › with i18n › should have correct route params for chained rewrite from middleware to config rewrite
TIMED OUT: yes
null
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:310:7)
● Middleware Runtime › with i18n › should have correct route params for rewrite from config dynamic route
page.waitForSelector: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for selector "#blog"
============================================================
329 | return this.chain(() => {
330 | return page
> 331 | .waitForSelector(selector, { timeout, state: 'attached' })
| ^
332 | .then(async (el) => {
333 | // it seems selenium waits longer and tests rely on this behavior
334 | // so we wait for the load event fire before returning
at lib/browsers/playwright.ts:331:10
● Middleware Runtime › with i18n › should have correct route params for rewrite from config non-dynamic route
TIMED OUT: /Hello World/
<head><style data-next-hide-fouc="true">body{display:none}</style><noscript data-next-hide-fouc="true"><style>body{display:block}</style></noscript><meta charset="utf-8"><meta name="viewport" content="width=device-width"><meta name="next-head-count" content="2"><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills.js?ts=1668731267244"></script><script src="/_next/static/chunks/webpack.js?ts=1668731267244" defer=""></script><script src="/_next/static/chunks/main.js?ts=1668731267244" defer=""></script><script src="/_next/static/chunks/pages/_app.js?ts=1668731267244" defer=""></script><script src="/_next/static/chunks/pages/ssg/%5Bslug%5D.js?ts=1668731267244" defer=""></script><script src="/_next/static/development/_buildManifest.js?ts=1668731267244" defer=""></script><script src="/_next/static/development/_ssgManifest.js?ts=1668731267244" defer=""></script><noscript id="__next_css__DO_NOT_USE__"></noscript></head><body><div id="__next"><p id="ssg">/blog/[slug]</p><p id="query">{"slug":"first"}</p><p id="pathname">/ssg/[slug]</p><p id="as-path"></p><p id="props">{"now":1668731267245,"params":{"slug":"first"}}</p></div><script src="/_next/static/chunks/react-refresh.js?ts=1668731267244"></script><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"now":1668731267245,"params":{"slug":"first"}},"__N_SSG":true},"page":"/ssg/[slug]","query":{"slug":"first"},"buildId":"development","isFallback":false,"gsp":true,"locale":"en","locales":["en","fr","nl"],"defaultLocale":"en","scriptLoader":[]}</script></body>
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:364:7)
● Middleware Runtime › with i18n › should redirect the same for direct visit and client-transition
TIMED OUT: success
/
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:385:7)
● Middleware Runtime › with i18n › should rewrite the same for direct visit and client-transition
TIMED OUT: success
<head><style data-next-hide-fouc="true">body{display:none}</style><noscript data-next-hide-fouc="true"><style>body{display:block}</style></noscript><meta charset="utf-8"><meta name="viewport" content="width=device-width"><meta name="next-head-count" content="2"><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills.js?ts=1668731355696"></script><script src="/_next/static/chunks/webpack.js?ts=1668731355696" defer=""></script><script src="/_next/static/chunks/main.js?ts=1668731355696" defer=""></script><script src="/_next/static/chunks/pages/_app.js?ts=1668731355696" defer=""></script><script src="/_next/static/chunks/pages/ssg/%5Bslug%5D.js?ts=1668731355696" defer=""></script><script src="/_next/static/development/_buildManifest.js?ts=1668731355696" defer=""></script><script src="/_next/static/development/_ssgManifest.js?ts=1668731355696" defer=""></script><noscript id="__next_css__DO_NOT_USE__"></noscript></head><body><div id="__next"><p id="ssg">/blog/[slug]</p><p id="query">{"slug":"first"}</p><p id="pathname">/ssg/[slug]</p><p id="as-path"></p><p id="props">{"now":1668731355696,"params":{"slug":"first"}}</p></div><script src="/_next/static/chunks/react-refresh.js?ts=1668731355696"></script><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"now":1668731355696,"params":{"slug":"first"}},"__N_SSG":true},"page":"/ssg/[slug]","query":{"slug":"first"},"buildId":"development","isFallback":false,"gsp":true,"locale":"en","locales":["en","fr","nl"],"defaultLocale":"en","scriptLoader":[]}</script></body>
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:399:7)
● Middleware Runtime › with i18n › should rewrite correctly for non-SSG/SSP page
TIMED OUT: success
<head><style data-next-hide-fouc="true">body{display:none}</style><noscript data-next-hide-fouc="true"><style>body{display:block}</style></noscript><meta charset="utf-8"><meta name="viewport" content="width=device-width"><meta name="next-head-count" content="2"><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills.js?ts=1668731400257"></script><script src="/_next/static/chunks/webpack.js?ts=1668731400257" defer=""></script><script src="/_next/static/chunks/main.js?ts=1668731400257" defer=""></script><script src="/_next/static/chunks/pages/_app.js?ts=1668731400257" defer=""></script><script src="/_next/static/chunks/pages/ssg/%5Bslug%5D.js?ts=1668731400257" defer=""></script><script src="/_next/static/development/_buildManifest.js?ts=1668731400257" defer=""></script><script src="/_next/static/development/_ssgManifest.js?ts=1668731400257" defer=""></script><noscript id="__next_css__DO_NOT_USE__"></noscript></head><body><div id="__next"><p id="ssg">/blog/[slug]</p><p id="query">{"slug":"first"}</p><p id="pathname">/ssg/[slug]</p><p id="as-path"></p><p id="props">{"now":1668731400258,"params":{"slug":"first"}}</p></div><script src="/_next/static/chunks/react-refresh.js?ts=1668731400257"></script><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"now":1668731400258,"params":{"slug":"first"}},"__N_SSG":true},"page":"/ssg/[slug]","query":{"slug":"first"},"buildId":"development","isFallback":false,"gsp":true,"locale":"en","locales":["en","fr","nl"],"defaultLocale":"en","scriptLoader":[]}</script></body>
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:413:7)
● Middleware Runtime › with i18n › hard-navigates when the data request failed
elementHandle.click: Timeout 30000ms exceeded.
=========================== logs ===========================
attempting click action
waiting for element to be visible, enabled and stable
element is not visible - waiting...
============================================================
300 | click() {
301 | return this.chain((el) => {
> 302 | return el.click().then(() => el)
| ^
303 | })
304 | }
305 |
at lib/browsers/playwright.ts:302:17
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:642:7)
● Middleware Runtime › with i18n › allows shallow linking with middleware
elementHandle.click: Timeout 30000ms exceeded.
=========================== logs ===========================
attempting click action
waiting for element to be visible, enabled and stable
element is not visible - waiting...
============================================================
300 | click() {
301 | return this.chain((el) => {
> 302 | return el.click().then(() => el)
| ^
303 | })
304 | }
305 |
at lib/browsers/playwright.ts:302:17
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:660:31)
● Middleware Runtime › without i18n › refreshes the page when middleware changes
expect(received).toEqual(expected) // deep equality
Expected: "AboutB"
Received: "AboutA"
87 | const textb = await browser.elementByCss('h1').text()
88 | expect(await browser.eval('window.itdidnotrefresh')).not.toBe('hello')
> 89 | expect(textb).toEqual('AboutB')
| ^
90 | } finally {
91 | fs.writeFileSync(middlewarePath, originalContent)
92 | await browser.close()
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:89:25)
● Middleware Runtime › without i18n › should have correct query values for rewrite to ssg page
TIMED OUT: found
[]
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:215:7)
● Middleware Runtime › without i18n › should have correct dynamic route params on client-transition to dynamic route
page.waitForSelector: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for selector "#blog"
============================================================
329 | return this.chain(() => {
330 | return page
> 331 | .waitForSelector(selector, { timeout, state: 'attached' })
| ^
332 | .then(async (el) => {
333 | // it seems selenium waits longer and tests rely on this behavior
334 | // so we wait for the load event fire before returning
at lib/browsers/playwright.ts:331:10
● Middleware Runtime › without i18n › should have correct dynamic route params for middleware rewrite to dynamic route
TIMED OUT: yes
null
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:283:7)
● Middleware Runtime › without i18n › should have correct route params for chained rewrite from middleware to config rewrite
TIMED OUT: yes
null
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:310:7)
● Middleware Runtime › without i18n › should have correct route params for rewrite from config dynamic route
page.waitForSelector: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for selector "#blog"
============================================================
329 | return this.chain(() => {
330 | return page
> 331 | .waitForSelector(selector, { timeout, state: 'attached' })
| ^
332 | .then(async (el) => {
333 | // it seems selenium waits longer and tests rely on this behavior
334 | // so we wait for the load event fire before returning
at lib/browsers/playwright.ts:331:10
● Middleware Runtime › without i18n › should have correct route params for rewrite from config non-dynamic route
TIMED OUT: /Hello World/
<head><style data-next-hide-fouc="true">body{display:none}</style><noscript data-next-hide-fouc="true"><style>body{display:block}</style></noscript><meta charset="utf-8"><meta name="viewport" content="width=device-width"><meta name="next-head-count" content="2"><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills.js?ts=1668731815087"></script><script src="/_next/static/chunks/webpack.js?ts=1668731815087" defer=""></script><script src="/_next/static/chunks/main.js?ts=1668731815087" defer=""></script><script src="/_next/static/chunks/pages/_app.js?ts=1668731815087" defer=""></script><script src="/_next/static/chunks/pages/ssg/%5Bslug%5D.js?ts=1668731815087" defer=""></script><script src="/_next/static/development/_buildManifest.js?ts=1668731815087" defer=""></script><script src="/_next/static/development/_ssgManifest.js?ts=1668731815087" defer=""></script><noscript id="__next_css__DO_NOT_USE__"></noscript></head><body><div id="__next"><p id="ssg">/blog/[slug]</p><p id="query">{"slug":"first"}</p><p id="pathname">/ssg/[slug]</p><p id="as-path"></p><p id="props">{"now":1668731815093,"params":{"slug":"first"}}</p></div><script src="/_next/static/chunks/react-refresh.js?ts=1668731815087"></script><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"now":1668731815093,"params":{"slug":"first"}},"__N_SSG":true},"page":"/ssg/[slug]","query":{"slug":"first"},"buildId":"development","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body>
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:364:7)
● Middleware Runtime › without i18n › should redirect the same for direct visit and client-transition
TIMED OUT: success
/
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:385:7)
● Middleware Runtime › without i18n › should rewrite the same for direct visit and client-transition
TIMED OUT: success
<head><style data-next-hide-fouc="true">body{display:none}</style><noscript data-next-hide-fouc="true"><style>body{display:block}</style></noscript><meta charset="utf-8"><meta name="viewport" content="width=device-width"><meta name="next-head-count" content="2"><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills.js?ts=1668731904570"></script><script src="/_next/static/chunks/webpack.js?ts=1668731904570" defer=""></script><script src="/_next/static/chunks/main.js?ts=1668731904570" defer=""></script><script src="/_next/static/chunks/pages/_app.js?ts=1668731904570" defer=""></script><script src="/_next/static/chunks/pages/ssg/%5Bslug%5D.js?ts=1668731904570" defer=""></script><script src="/_next/static/development/_buildManifest.js?ts=1668731904570" defer=""></script><script src="/_next/static/development/_ssgManifest.js?ts=1668731904570" defer=""></script><noscript id="__next_css__DO_NOT_USE__"></noscript></head><body><div id="__next"><p id="ssg">/blog/[slug]</p><p id="query">{"slug":"first"}</p><p id="pathname">/ssg/[slug]</p><p id="as-path"></p><p id="props">{"now":1668731904571,"params":{"slug":"first"}}</p></div><script src="/_next/static/chunks/react-refresh.js?ts=1668731904570"></script><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"now":1668731904571,"params":{"slug":"first"}},"__N_SSG":true},"page":"/ssg/[slug]","query":{"slug":"first"},"buildId":"development","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body>
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:399:7)
● Middleware Runtime › without i18n › should rewrite correctly for non-SSG/SSP page
TIMED OUT: success
<head><style data-next-hide-fouc="true">body{display:none}</style><noscript data-next-hide-fouc="true"><style>body{display:block}</style></noscript><meta charset="utf-8"><meta name="viewport" content="width=device-width"><meta name="next-head-count" content="2"><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills.js?ts=1668731949898"></script><script src="/_next/static/chunks/webpack.js?ts=1668731949898" defer=""></script><script src="/_next/static/chunks/main.js?ts=1668731949898" defer=""></script><script src="/_next/static/chunks/pages/_app.js?ts=1668731949898" defer=""></script><script src="/_next/static/chunks/pages/ssg/%5Bslug%5D.js?ts=1668731949898" defer=""></script><script src="/_next/static/development/_buildManifest.js?ts=1668731949898" defer=""></script><script src="/_next/static/development/_ssgManifest.js?ts=1668731949898" defer=""></script><noscript id="__next_css__DO_NOT_USE__"></noscript></head><body><div id="__next"><p id="ssg">/blog/[slug]</p><p id="query">{"slug":"first"}</p><p id="pathname">/ssg/[slug]</p><p id="as-path"></p><p id="props">{"now":1668731949899,"params":{"slug":"first"}}</p></div><script src="/_next/static/chunks/react-refresh.js?ts=1668731949898"></script><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"now":1668731949899,"params":{"slug":"first"}},"__N_SSG":true},"page":"/ssg/[slug]","query":{"slug":"first"},"buildId":"development","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body>
532 |
533 | if (hardError) {
> 534 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
535 | }
536 | return false
537 | }
at check (lib/next-test-utils.js:534:11)
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:413:7)
● Middleware Runtime › without i18n › hard-navigates when the data request failed
elementHandle.click: Timeout 30000ms exceeded.
=========================== logs ===========================
attempting click action
waiting for element to be visible, enabled and stable
element is not visible - waiting...
============================================================
300 | click() {
301 | return this.chain((el) => {
> 302 | return el.click().then(() => el)
| ^
303 | })
304 | }
305 |
at lib/browsers/playwright.ts:302:17
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:642:7)
● Middleware Runtime › without i18n › allows shallow linking with middleware
elementHandle.click: Timeout 30000ms exceeded.
=========================== logs ===========================
attempting click action
waiting for element to be visible, enabled and stable
element is not visible - waiting...
============================================================
300 | click() {
301 | return this.chain((el) => {
> 302 | return el.click().then(() => el)
| ^
303 | })
304 | }
305 |
at lib/browsers/playwright.ts:302:17
at Object.<anonymous> (e2e/middleware-general/test/index.test.ts:660:31)
Read more about building and testing Next.js in contributing.md.
Thanks @timneutkens!
next/routerinapp
I've adjusted the tests for next/router to ensure it validates that it throws an error.
next/navigationinpages
This will technically not be supported now, with better support coming from using the next/compat/navigation hooks instead that have correct null typings.
next/compat/routerin bothpagesandapp
Tests have been adjusted to use this compat router for the pages and app usecases.
I wonder if it would be possible to alias these automatically so that you can just import next/navigation in either but have the tsconfig for pages/ be different (null in the return type).
I wonder if it would be possible to alias these automatically so that you can just import
next/navigationin either but have the tsconfig forpages/be different (nullin the return type).
The use case here though is pretty specific. The goal eventually is to have everyone switch to using app/ from pages/, but the hooks from pages/ won't work in app/, and the hooks in app/ won't completly work in pages/, hence the distinction here.
next/navigation provides guarentees (non-null) for its hooks versus the next/compat/navigation hooks which force the user to consider the case where (for example) pathname is null because the page is prerendering as it does in pages/.
I'd expect to see these hooks used in components rather than specific files in pages/ or app/ too. If you were to use next/navigation in pages/ today, it will work, until it reaches the condition (like during prerendering) where it would have returned null, and instead throws an error.
Superceded by https://github.com/vercel/next.js/pull/45919