chore: upgrade jest (#56909)

### What?

Upgrade jest to its latest version

### Why?

#56899 fails because historically Jest stripped the globals in Node.js, but 28+ isn't doing that anymore. If we upgrade, we don't have to keep track of Node.js globals and when they are added. This will be useful in removing even more polyfills for things that are natively shipped in Node.js now.

### How?

Jest 29 introduced a change to the snapshot format: https://jestjs.io/blog/2022/08/25/jest-29

First, I tried setting the old compat option to not require updating snapshots, but some tests were still failing: https://dev.azure.com/nextjs/next.js/_build/results?buildId=70633&view=logs&j=8af7cf9c-43a1-584d-6f5c-57bad8880974&t=7ae70e63-3625-50f4-6764-5b3e72b4bd7a&l=273 So going through the pain now instead.
This commit is contained in:
Balázs Orbán 2023-10-19 19:38:24 +02:00 committed by GitHub
parent dc7bc70d4d
commit 33db463fe4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
52 changed files with 2433 additions and 2619 deletions

View file

@ -17,9 +17,6 @@ const customJestConfig = {
modulePathIgnorePatterns: ['/\\.next/'],
modulePaths: ['<rootDir>/lib'],
transformIgnorePatterns: ['/next[/\\\\]dist/', '/\\.next/'],
globals: {
AbortSignal: global.AbortSignal,
},
moduleNameMapper: {
'@next/font/(.*)': '@next/font/$1',
},

View file

@ -97,7 +97,7 @@
"@types/glob": "7.1.1",
"@types/html-validator": "5.0.3",
"@types/http-proxy": "1.17.3",
"@types/jest": "27.4.1",
"@types/jest": "29.5.5",
"@types/node": "20.2.5",
"@types/node-fetch": "2.6.1",
"@types/react": "18.2.28",
@ -158,8 +158,9 @@
"image-size": "0.9.3",
"is-animated": "2.0.2",
"isomorphic-unfetch": "3.0.0",
"jest": "27.0.6",
"jest-extended": "1.2.1",
"jest": "29.7.0",
"jest-environment-jsdom": "29.7.0",
"jest-extended": "4.0.2",
"jest-junit": "16.0.0",
"json5": "2.2.3",
"ky": "0.19.1",

View file

@ -82,7 +82,7 @@ describe('next/font/local loader', () => {
expect(css).toMatchInlineSnapshot(`
"@font-face {
font-feature-settings: \\"smcp\\" on;
font-feature-settings: "smcp" on;
ascent-override: 90%;
font-family: myFont;
src: url(/_next/static/media/my-font.woff2) format('woff2');

View file

@ -87,8 +87,8 @@ describe('resolveRouteData', () => {
},
])
).toMatchInlineSnapshot(`
"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>
<urlset xmlns=\\"http://www.sitemaps.org/schemas/sitemap/0.9\\">
"<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com</loc>
<lastmod>2021-01-01</lastmod>

View file

@ -73,15 +73,15 @@ describe('fillCacheWithDataProperty', () => {
)
expect(cache).toMatchInlineSnapshot(`
Object {
{
"data": null,
"parallelRoutes": Map {
"children" => Map {
"linking" => Object {
"linking" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"" => Object {
"" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -96,7 +96,7 @@ describe('fillCacheWithDataProperty', () => {
Linking
</React.Fragment>,
},
"dashboard" => Object {
"dashboard" => {
"data": Promise {
"status": "pending",
},

View file

@ -202,17 +202,17 @@ describe('navigateReducer', () => {
)
expect(newState).toMatchInlineSnapshot(`
Object {
{
"buildId": "development",
"cache": Object {
"cache": {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"linking" => Object {
"linking" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -220,11 +220,11 @@ describe('navigateReducer', () => {
Linking page
</React.Fragment>,
},
"about" => Object {
"about" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"head": <React.Fragment>
<title>
@ -260,12 +260,12 @@ describe('navigateReducer', () => {
</html>,
},
"canonicalUrl": "/linking/about",
"focusAndScrollRef": Object {
"focusAndScrollRef": {
"apply": true,
"hashFragment": null,
"onlyHashChange": false,
"segmentPaths": Array [
Array [
"segmentPaths": [
[
"children",
"linking",
"children",
@ -277,22 +277,22 @@ describe('navigateReducer', () => {
},
"nextUrl": "/linking/about",
"prefetchCache": Map {
"/linking/about" => Object {
"/linking/about" => {
"data": Promise {
"status": "fulfilled",
"value": Array [
Array [
Array [
"value": [
[
[
"children",
"linking",
"children",
"about",
Array [
[
"about",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -312,15 +312,15 @@ describe('navigateReducer', () => {
"kind": "temporary",
"lastUsedTime": 1690329600000,
"prefetchTime": 1690329600000,
"treeAtTimeOfPrefetch": Array [
"treeAtTimeOfPrefetch": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -331,22 +331,22 @@ describe('navigateReducer', () => {
],
},
},
"pushRef": Object {
"pushRef": {
"mpaNavigation": false,
"pendingPush": true,
},
"tree": Array [
"tree": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"about",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -448,17 +448,17 @@ describe('navigateReducer', () => {
)
expect(newState).toMatchInlineSnapshot(`
Object {
{
"buildId": "development",
"cache": Object {
"cache": {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"linking" => Object {
"linking" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -466,11 +466,11 @@ describe('navigateReducer', () => {
Linking page
</React.Fragment>,
},
"about" => Object {
"about" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"head": <React.Fragment>
<title>
@ -506,12 +506,12 @@ describe('navigateReducer', () => {
</html>,
},
"canonicalUrl": "/linking/about",
"focusAndScrollRef": Object {
"focusAndScrollRef": {
"apply": true,
"hashFragment": null,
"onlyHashChange": false,
"segmentPaths": Array [
Array [
"segmentPaths": [
[
"children",
"linking",
"children",
@ -523,22 +523,22 @@ describe('navigateReducer', () => {
},
"nextUrl": "/linking/about",
"prefetchCache": Map {},
"pushRef": Object {
"pushRef": {
"mpaNavigation": false,
"pendingPush": true,
},
"tree": Array [
"tree": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"about",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -643,17 +643,17 @@ describe('navigateReducer', () => {
)
expect(newState).toMatchInlineSnapshot(`
Object {
{
"buildId": "development",
"cache": Object {
"cache": {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"linking" => Object {
"linking" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -679,27 +679,27 @@ describe('navigateReducer', () => {
</html>,
},
"canonicalUrl": "https://example.vercel.sh/",
"focusAndScrollRef": Object {
"focusAndScrollRef": {
"apply": false,
"hashFragment": null,
"onlyHashChange": false,
"segmentPaths": Array [],
"segmentPaths": [],
},
"nextUrl": "/linking",
"prefetchCache": Map {},
"pushRef": Object {
"pushRef": {
"mpaNavigation": true,
"pendingPush": true,
},
"tree": Array [
"tree": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -802,17 +802,17 @@ describe('navigateReducer', () => {
)
expect(newState).toMatchInlineSnapshot(`
Object {
{
"buildId": "development",
"cache": Object {
"cache": {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"linking" => Object {
"linking" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -838,27 +838,27 @@ describe('navigateReducer', () => {
</html>,
},
"canonicalUrl": "https://example.vercel.sh/",
"focusAndScrollRef": Object {
"focusAndScrollRef": {
"apply": false,
"hashFragment": null,
"onlyHashChange": false,
"segmentPaths": Array [],
"segmentPaths": [],
},
"nextUrl": "/linking",
"prefetchCache": Map {},
"pushRef": Object {
"pushRef": {
"mpaNavigation": true,
"pendingPush": false,
},
"tree": Array [
"tree": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -958,17 +958,17 @@ describe('navigateReducer', () => {
)
expect(newState).toMatchInlineSnapshot(`
Object {
{
"buildId": "development",
"cache": Object {
"cache": {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"linking" => Object {
"linking" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -976,22 +976,22 @@ describe('navigateReducer', () => {
Linking page
</React.Fragment>,
},
"about" => Object {
"about" => {
"data": Promise {
"status": "fulfilled",
"value": Array [
Array [
Array [
"value": [
[
[
"children",
"linking",
"children",
"about",
Array [
[
"about",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -1030,30 +1030,30 @@ describe('navigateReducer', () => {
</html>,
},
"canonicalUrl": "/linking/about",
"focusAndScrollRef": Object {
"focusAndScrollRef": {
"apply": true,
"hashFragment": null,
"onlyHashChange": false,
"segmentPaths": Array [],
"segmentPaths": [],
},
"nextUrl": "/linking/about",
"prefetchCache": Map {},
"pushRef": Object {
"pushRef": {
"mpaNavigation": false,
"pendingPush": true,
},
"tree": Array [
"tree": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"about",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
,
@ -1157,17 +1157,17 @@ describe('navigateReducer', () => {
)
expect(newState).toMatchInlineSnapshot(`
Object {
{
"buildId": "development",
"cache": Object {
"cache": {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"linking" => Object {
"linking" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -1193,27 +1193,27 @@ describe('navigateReducer', () => {
</html>,
},
"canonicalUrl": "",
"focusAndScrollRef": Object {
"focusAndScrollRef": {
"apply": false,
"hashFragment": null,
"onlyHashChange": false,
"segmentPaths": Array [],
"segmentPaths": [],
},
"nextUrl": "/linking",
"prefetchCache": Map {},
"pushRef": Object {
"pushRef": {
"mpaNavigation": true,
"pendingPush": true,
},
"tree": Array [
"tree": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -1350,17 +1350,17 @@ describe('navigateReducer', () => {
await prom
expect(newState).toMatchInlineSnapshot(`
Object {
{
"buildId": "development",
"cache": Object {
"cache": {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"linking" => Object {
"linking" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -1368,11 +1368,11 @@ describe('navigateReducer', () => {
Linking page
</React.Fragment>,
},
"about" => Object {
"about" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"head": <React.Fragment>
<title>
@ -1408,12 +1408,12 @@ describe('navigateReducer', () => {
</html>,
},
"canonicalUrl": "/linking/about",
"focusAndScrollRef": Object {
"focusAndScrollRef": {
"apply": true,
"hashFragment": null,
"onlyHashChange": false,
"segmentPaths": Array [
Array [
"segmentPaths": [
[
"children",
"linking",
"children",
@ -1425,22 +1425,22 @@ describe('navigateReducer', () => {
},
"nextUrl": "/linking/about",
"prefetchCache": Map {
"/linking/about" => Object {
"/linking/about" => {
"data": Promise {
"status": "fulfilled",
"value": Array [
Array [
Array [
"value": [
[
[
"children",
"linking",
"children",
"about",
Array [
[
"about",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -1460,15 +1460,15 @@ describe('navigateReducer', () => {
"kind": "auto",
"lastUsedTime": null,
"prefetchTime": 1690329600000,
"treeAtTimeOfPrefetch": Array [
"treeAtTimeOfPrefetch": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -1479,22 +1479,22 @@ describe('navigateReducer', () => {
],
},
},
"pushRef": Object {
"pushRef": {
"mpaNavigation": false,
"pendingPush": true,
},
"tree": Array [
"tree": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"about",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -1640,17 +1640,17 @@ describe('navigateReducer', () => {
)
expect(newState).toMatchInlineSnapshot(`
Object {
{
"buildId": "development",
"cache": Object {
"cache": {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"parallel-tab-bar" => Object {
"parallel-tab-bar" => {
"data": null,
"parallelRoutes": Map {
"audience" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -1658,11 +1658,11 @@ describe('navigateReducer', () => {
Audience Page
</React.Fragment>,
},
"demographics" => Object {
"demographics" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"head": <React.Fragment>
<title>
@ -1680,7 +1680,7 @@ describe('navigateReducer', () => {
},
},
"views" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -1690,7 +1690,7 @@ describe('navigateReducer', () => {
},
},
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -1714,12 +1714,12 @@ describe('navigateReducer', () => {
</html>,
},
"canonicalUrl": "/parallel-tab-bar/demographics",
"focusAndScrollRef": Object {
"focusAndScrollRef": {
"apply": true,
"hashFragment": null,
"onlyHashChange": false,
"segmentPaths": Array [
Array [
"segmentPaths": [
[
"children",
"parallel-tab-bar",
"audience",
@ -1731,32 +1731,32 @@ describe('navigateReducer', () => {
},
"nextUrl": "/parallel-tab-bar/demographics",
"prefetchCache": Map {},
"pushRef": Object {
"pushRef": {
"mpaNavigation": false,
"pendingPush": true,
},
"tree": Array [
"tree": [
"",
Object {
"children": Array [
{
"children": [
"parallel-tab-bar",
Object {
"audience": Array [
{
"audience": [
"demographics",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
"children": Array [
"children": [
"__PAGE__",
Object {},
{},
],
"views": Array [
"views": [
"__PAGE__",
Object {},
{},
],
},
],
@ -1850,17 +1850,17 @@ describe('navigateReducer', () => {
)
expect(newState).toMatchInlineSnapshot(`
Object {
{
"buildId": "development",
"cache": Object {
"cache": {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"linking" => Object {
"linking" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -1886,27 +1886,27 @@ describe('navigateReducer', () => {
</html>,
},
"canonicalUrl": "/linking#hash",
"focusAndScrollRef": Object {
"focusAndScrollRef": {
"apply": false,
"hashFragment": "hash",
"onlyHashChange": true,
"segmentPaths": Array [],
"segmentPaths": [],
},
"nextUrl": "/linking",
"prefetchCache": Map {},
"pushRef": Object {
"pushRef": {
"mpaNavigation": false,
"pendingPush": true,
},
"tree": Array [
"tree": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -1992,17 +1992,17 @@ describe('navigateReducer', () => {
)
expect(newState).toMatchInlineSnapshot(`
Object {
{
"buildId": "development",
"cache": Object {
"cache": {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"linking" => Object {
"linking" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -2010,11 +2010,11 @@ describe('navigateReducer', () => {
Linking page
</React.Fragment>,
},
"about" => Object {
"about" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"__PAGE__" => Object {
"__PAGE__" => {
"data": null,
"head": <React.Fragment>
<title>
@ -2050,12 +2050,12 @@ describe('navigateReducer', () => {
</html>,
},
"canonicalUrl": "/linking/about#hash",
"focusAndScrollRef": Object {
"focusAndScrollRef": {
"apply": true,
"hashFragment": "hash",
"onlyHashChange": false,
"segmentPaths": Array [
Array [
"segmentPaths": [
[
"children",
"linking",
"children",
@ -2067,22 +2067,22 @@ describe('navigateReducer', () => {
},
"nextUrl": "/linking/about",
"prefetchCache": Map {
"/linking/about" => Object {
"/linking/about" => {
"data": Promise {
"status": "fulfilled",
"value": Array [
Array [
Array [
"value": [
[
[
"children",
"linking",
"children",
"about",
Array [
[
"about",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -2102,15 +2102,15 @@ describe('navigateReducer', () => {
"kind": "temporary",
"lastUsedTime": 1690329600000,
"prefetchTime": 1690329600000,
"treeAtTimeOfPrefetch": Array [
"treeAtTimeOfPrefetch": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],
@ -2121,22 +2121,22 @@ describe('navigateReducer', () => {
],
},
},
"pushRef": Object {
"pushRef": {
"mpaNavigation": false,
"pendingPush": true,
},
"tree": Array [
"tree": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"about",
Object {
"children": Array [
{
"children": [
"__PAGE__",
Object {},
{},
],
},
],

View file

@ -189,17 +189,17 @@ describe('serverPatchReducer', () => {
)
expect(newState).toMatchInlineSnapshot(`
Object {
{
"buildId": "development",
"cache": Object {
"cache": {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"linking" => Object {
"linking" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"" => Object {
"" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -207,11 +207,11 @@ describe('serverPatchReducer', () => {
Linking page
</React.Fragment>,
},
"somewhere-else" => Object {
"somewhere-else" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"" => Object {
"" => {
"data": null,
"head": <React.Fragment>
<title>
@ -247,30 +247,30 @@ describe('serverPatchReducer', () => {
</html>,
},
"canonicalUrl": "/linking/about",
"focusAndScrollRef": Object {
"focusAndScrollRef": {
"apply": false,
"hashFragment": null,
"onlyHashChange": false,
"segmentPaths": Array [],
"segmentPaths": [],
},
"nextUrl": "/linking/somewhere-else",
"prefetchCache": Map {},
"pushRef": Object {
"pushRef": {
"mpaNavigation": false,
"pendingPush": false,
},
"tree": Array [
"tree": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"somewhere-else",
Object {
"children": Array [
{
"children": [
"",
Object {},
{},
],
},
],
@ -382,17 +382,17 @@ describe('serverPatchReducer', () => {
)
expect(newState).toMatchInlineSnapshot(`
Object {
{
"buildId": "development",
"cache": Object {
"cache": {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"linking" => Object {
"linking" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"" => Object {
"" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -418,30 +418,30 @@ describe('serverPatchReducer', () => {
</html>,
},
"canonicalUrl": "/linking/about",
"focusAndScrollRef": Object {
"focusAndScrollRef": {
"apply": false,
"hashFragment": null,
"onlyHashChange": false,
"segmentPaths": Array [],
"segmentPaths": [],
},
"nextUrl": "/linking/about",
"prefetchCache": Map {},
"pushRef": Object {
"pushRef": {
"mpaNavigation": false,
"pendingPush": false,
},
"tree": Array [
"tree": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"about",
Object {
"children": Array [
{
"children": [
"",
Object {},
{},
],
},
],
@ -561,17 +561,17 @@ describe('serverPatchReducer', () => {
)
expect(newState).toMatchInlineSnapshot(`
Object {
{
"buildId": "development",
"cache": Object {
"cache": {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"linking" => Object {
"linking" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"" => Object {
"" => {
"data": null,
"parallelRoutes": Map {},
"status": "READY",
@ -579,11 +579,11 @@ describe('serverPatchReducer', () => {
Linking page
</React.Fragment>,
},
"about" => Object {
"about" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"" => Object {
"" => {
"data": null,
"head": <React.Fragment>
<title>
@ -601,11 +601,11 @@ describe('serverPatchReducer', () => {
About Page!
</h1>,
},
"somewhere-else" => Object {
"somewhere-else" => {
"data": null,
"parallelRoutes": Map {
"children" => Map {
"" => Object {
"" => {
"data": null,
"head": <React.Fragment>
<title>
@ -641,12 +641,12 @@ describe('serverPatchReducer', () => {
</html>,
},
"canonicalUrl": "/linking/about",
"focusAndScrollRef": Object {
"focusAndScrollRef": {
"apply": true,
"hashFragment": null,
"onlyHashChange": false,
"segmentPaths": Array [
Array [
"segmentPaths": [
[
"children",
"linking",
"children",
@ -658,22 +658,22 @@ describe('serverPatchReducer', () => {
},
"nextUrl": "/linking/somewhere-else",
"prefetchCache": Map {
"/linking/about" => Object {
"/linking/about" => {
"data": Promise {
"status": "fulfilled",
"value": Array [
Array [
Array [
"value": [
[
[
"children",
"linking",
"children",
"about",
Array [
[
"about",
Object {
"children": Array [
{
"children": [
"",
Object {},
{},
],
},
],
@ -693,18 +693,18 @@ describe('serverPatchReducer', () => {
"kind": "temporary",
"lastUsedTime": 1690329600000,
"prefetchTime": 1690329600000,
"treeAtTimeOfPrefetch": Array [
"treeAtTimeOfPrefetch": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"about",
Object {
"children": Array [
{
"children": [
"",
Object {},
{},
],
},
],
@ -717,22 +717,22 @@ describe('serverPatchReducer', () => {
],
},
},
"pushRef": Object {
"pushRef": {
"mpaNavigation": false,
"pendingPush": true,
},
"tree": Array [
"tree": [
"",
Object {
"children": Array [
{
"children": [
"linking",
Object {
"children": Array [
{
"children": [
"somewhere-else",
Object {
"children": Array [
{
"children": [
"",
Object {},
{},
],
},
],

File diff suppressed because it is too large Load diff

View file

@ -577,7 +577,7 @@ describe.each(['default', 'turbo'])('ReactRefreshLogBox app %s', () => {
expect(await session.hasRedbox(true)).toBe(true)
expect(await session.getRedboxDescription()).toMatchInlineSnapshot(
`"Error: {\\"a\\":1,\\"b\\":\\"x\\"}"`
`"Error: {"a":1,"b":"x"}"`
)
// fix previous error

View file

@ -17,7 +17,7 @@ Import trace for requested module:
exports[`ReactRefreshLogBox app scss syntax errors 2`] = `
"./index.module.scss (1:1)
Syntax error: Selector \\"button\\" is not pure (pure selectors must contain at least one local class or id)
Syntax error: Selector "button" is not pure (pure selectors must contain at least one local class or id)
> 1 | button { font-size: 5px; }
| ^"

View file

@ -13,7 +13,7 @@ Import trace for requested module:
exports[`ReactRefreshLogBox app default Import trace when module not found in layout 1`] = `
"./app/module.js (1:0)
Module not found: Can't resolve 'non-existing-module'
> 1 | import \\"non-existing-module\\"
> 1 | import "non-existing-module"
https://nextjs.org/docs/messages/module-not-found
@ -53,7 +53,7 @@ exports[`ReactRefreshLogBox app default conversion to class component (1) 1`] =
exports[`ReactRefreshLogBox app default css syntax errors 1`] = `
"./index.module.css (1:1)
Syntax error: Selector \\"button\\" is not pure (pure selectors must contain at least one local class or id)
Syntax error: Selector "button" is not pure (pure selectors must contain at least one local class or id)
> 1 | button {}
| ^"

View file

@ -33,7 +33,7 @@ describe('dynamic = "error" in devmode', () => {
await session.hasRedbox(true)
console.log(await session.getRedboxDescription())
expect(await session.getRedboxDescription()).toMatchInlineSnapshot(
`"Error: Page with \`dynamic = \\"error\\"\` couldn't be rendered statically because it used \`cookies\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering"`
`"Error: Page with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering"`
)
await cleanup()

View file

@ -40,12 +40,12 @@ describe('Error overlay for hydration errors', () => {
await session.waitForAndOpenRuntimeError()
expect(await session.getRedboxDescription()).toMatchInlineSnapshot(`
"Error: Text content does not match server-rendered HTML.
"Error: Text content does not match server-rendered HTML.
Warning: Text content did not match. Server: \\"server\\" Client: \\"client\\"
Warning: Text content did not match. Server: "server" Client: "client"
See more info here: https://nextjs.org/docs/messages/react-hydration-error"
`)
See more info here: https://nextjs.org/docs/messages/react-hydration-error"
`)
await cleanup()
})
@ -109,12 +109,12 @@ describe('Error overlay for hydration errors', () => {
await session.waitForAndOpenRuntimeError()
expect(await session.getRedboxDescription()).toMatchInlineSnapshot(`
"Error: Hydration failed because the initial UI does not match what was rendered on the server.
"Error: Hydration failed because the initial UI does not match what was rendered on the server.
Warning: Expected server HTML to contain a matching text node for \\"second\\" in <div>.
Warning: Expected server HTML to contain a matching text node for "second" in <div>.
See more info here: https://nextjs.org/docs/messages/react-hydration-error"
`)
See more info here: https://nextjs.org/docs/messages/react-hydration-error"
`)
await cleanup()
})
@ -173,12 +173,12 @@ describe('Error overlay for hydration errors', () => {
await session.waitForAndOpenRuntimeError()
expect(await session.getRedboxDescription()).toMatchInlineSnapshot(`
"Error: Hydration failed because the initial UI does not match what was rendered on the server.
"Error: Hydration failed because the initial UI does not match what was rendered on the server.
Warning: Did not expect server HTML to contain the text node \\"only\\" in <div>.
Warning: Did not expect server HTML to contain the text node "only" in <div>.
See more info here: https://nextjs.org/docs/messages/react-hydration-error"
`)
See more info here: https://nextjs.org/docs/messages/react-hydration-error"
`)
await cleanup()
})

View file

@ -67,16 +67,16 @@ describe('Error Overlay invalid imports', () => {
expect(await session.hasRedbox(true)).toBe(true)
expect(await session.getRedboxSource()).toMatchInlineSnapshot(`
"./app/comp2.js
'client-only' cannot be imported from a Server Component module. It should only be used from a Client Component.
"./app/comp2.js
'client-only' cannot be imported from a Server Component module. It should only be used from a Client Component.
The error was caused by using 'styled-jsx' in './app/comp2.js'. It only works in a Client Component but none of its parents are marked with \\"use client\\", so they're Server Components by default.
The error was caused by using 'styled-jsx' in './app/comp2.js'. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.
Import trace for requested module:
./app/comp2.js
./app/comp1.js
./app/page.js"
`)
Import trace for requested module:
./app/comp2.js
./app/comp1.js
./app/page.js"
`)
await cleanup()
})

View file

@ -292,20 +292,20 @@ describe('Error overlay - RSC build errors', () => {
next.normalizeTestDirContent(await session.getRedboxSource())
).toMatchInlineSnapshot(
next.normalizeSnapshot(`
"./app/server-with-errors/error-file/error.js
ReactServerComponentsError:
"./app/server-with-errors/error-file/error.js
ReactServerComponentsError:
./app/server-with-errors/error-file/error.js must be a Client Component. Add the \\"use client\\" directive the top of the file to resolve this issue.
Learn more: https://nextjs.org/docs/getting-started/react-essentials#client-components
./app/server-with-errors/error-file/error.js must be a Client Component. Add the "use client" directive the top of the file to resolve this issue.
Learn more: https://nextjs.org/docs/getting-started/react-essentials#client-components
,-[TEST_DIR/app/server-with-errors/error-file/error.js:1:1]
1 | export default function Error() {}
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\`----
,-[TEST_DIR/app/server-with-errors/error-file/error.js:1:1]
1 | export default function Error() {}
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\`----
Import path:
./app/server-with-errors/error-file/error.js"
`)
Import path:
./app/server-with-errors/error-file/error.js"
`)
)
await cleanup()
@ -330,7 +330,7 @@ describe('Error overlay - RSC build errors', () => {
// "./app/server-with-errors/error-file/error.js
// ReactServerComponentsError:
// ./app/server-with-errors/error-file/error.js must be a Client Component. Add the \\"use client\\" directive the top of the file to resolve this issue.
// ./app/server-with-errors/error-file/error.js must be a Client Component. Add the "use client" directive the top of the file to resolve this issue.
// ,-[TEST_DIR/app/server-with-errors/error-file/error.js:1:1]
// 1 |

View file

@ -17,7 +17,7 @@ describe.each(['default', 'turbo'])('ReactRefreshLogBox %s', () => {
)
expect(await session.hasRedbox(true)).toBe(true)
expect(await session.getRedboxDescription()).toMatchInlineSnapshot(
`"Error: The default export is not a React Component in page: \\"/_app\\""`
`"Error: The default export is not a React Component in page: "/_app""`
)
await session.patch(
@ -40,7 +40,7 @@ describe.each(['default', 'turbo'])('ReactRefreshLogBox %s', () => {
)
expect(await session.hasRedbox(true)).toBe(true)
expect(await session.getRedboxDescription()).toMatchInlineSnapshot(
`"Error: The default export is not a React Component in page: \\"/_document\\""`
`"Error: The default export is not a React Component in page: "/_document""`
)
await session.patch(

View file

@ -631,7 +631,7 @@ describe.each(['default', 'turbo'])('ReactRefreshLogBox %s', () => {
expect(await session.hasRedbox(true)).toBe(true)
expect(await session.getRedboxDescription()).toMatchInlineSnapshot(
`"Error: {\\"a\\":1,\\"b\\":\\"x\\"}"`
`"Error: {"a":1,"b":"x"}"`
)
// fix previous error

View file

@ -20,7 +20,7 @@ exports[`ReactRefreshLogBox default conversion to class component (1) 1`] = `
exports[`ReactRefreshLogBox default css syntax errors 1`] = `
"./index.module.css:1:1
Syntax error: Selector \\"button\\" is not pure (pure selectors must contain at least one local class or id)
Syntax error: Selector "button" is not pure (pure selectors must contain at least one local class or id)
> 1 | button {}
| ^"

View file

@ -37,12 +37,12 @@ describe('Error overlay for hydration errors', () => {
expect(await session.hasRedbox(true)).toBe(true)
expect(await session.getRedboxDescription()).toMatchInlineSnapshot(`
"Error: Text content does not match server-rendered HTML.
"Error: Text content does not match server-rendered HTML.
Warning: Text content did not match. Server: \\"server\\" Client: \\"client\\"
Warning: Text content did not match. Server: "server" Client: "client"
See more info here: https://nextjs.org/docs/messages/react-hydration-error"
`)
See more info here: https://nextjs.org/docs/messages/react-hydration-error"
`)
await cleanup()
})

View file

@ -1,162 +1,162 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`next.rs api should allow to write app Node.js page to disk: diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write app Node.js page to disk: diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write app Node.js page to disk: issues 1`] = `Array []`;
exports[`next.rs api should allow to write app Node.js page to disk: issues 1`] = `[]`;
exports[`next.rs api should allow to write app Node.js page to disk: rsc diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write app Node.js page to disk: rsc diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write app Node.js page to disk: rsc issues 1`] = `Array []`;
exports[`next.rs api should allow to write app Node.js page to disk: rsc issues 1`] = `[]`;
exports[`next.rs api should allow to write app Node.js route to disk: diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write app Node.js route to disk: diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write app Node.js route to disk: issues 1`] = `Array []`;
exports[`next.rs api should allow to write app Node.js route to disk: issues 1`] = `[]`;
exports[`next.rs api should allow to write app edge page to disk: diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write app edge page to disk: diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write app edge page to disk: issues 1`] = `Array []`;
exports[`next.rs api should allow to write app edge page to disk: issues 1`] = `[]`;
exports[`next.rs api should allow to write app edge page to disk: rsc diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write app edge page to disk: rsc diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write app edge page to disk: rsc issues 1`] = `Array []`;
exports[`next.rs api should allow to write app edge page to disk: rsc issues 1`] = `[]`;
exports[`next.rs api should allow to write app edge route to disk: diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write app edge route to disk: diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write app edge route to disk: issues 1`] = `Array []`;
exports[`next.rs api should allow to write app edge route to disk: issues 1`] = `[]`;
exports[`next.rs api should allow to write pages Node.js api to disk: diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write pages Node.js api to disk: diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write pages Node.js api to disk: issues 1`] = `Array []`;
exports[`next.rs api should allow to write pages Node.js api to disk: issues 1`] = `[]`;
exports[`next.rs api should allow to write pages Node.js page to disk: data diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write pages Node.js page to disk: data diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write pages Node.js page to disk: data issues 1`] = `Array []`;
exports[`next.rs api should allow to write pages Node.js page to disk: data issues 1`] = `[]`;
exports[`next.rs api should allow to write pages Node.js page to disk: diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write pages Node.js page to disk: diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write pages Node.js page to disk: issues 1`] = `Array []`;
exports[`next.rs api should allow to write pages Node.js page to disk: issues 1`] = `[]`;
exports[`next.rs api should allow to write pages edge api to disk: diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write pages edge api to disk: diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write pages edge api to disk: issues 1`] = `Array []`;
exports[`next.rs api should allow to write pages edge api to disk: issues 1`] = `[]`;
exports[`next.rs api should allow to write pages edge page to disk: data diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write pages edge page to disk: data diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write pages edge page to disk: data issues 1`] = `Array []`;
exports[`next.rs api should allow to write pages edge page to disk: data issues 1`] = `[]`;
exports[`next.rs api should allow to write pages edge page to disk: diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write pages edge page to disk: diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write pages edge page to disk: issues 1`] = `Array []`;
exports[`next.rs api should allow to write pages edge page to disk: issues 1`] = `[]`;
exports[`next.rs api should allow to write root page to disk: data diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write root page to disk: data diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write root page to disk: data issues 1`] = `Array []`;
exports[`next.rs api should allow to write root page to disk: data issues 1`] = `[]`;
exports[`next.rs api should allow to write root page to disk: diagnostics 1`] = `Array []`;
exports[`next.rs api should allow to write root page to disk: diagnostics 1`] = `[]`;
exports[`next.rs api should allow to write root page to disk: issues 1`] = `Array []`;
exports[`next.rs api should allow to write root page to disk: issues 1`] = `[]`;
exports[`next.rs api should detect the correct routes: diagnostics 1`] = `
Array [
Object {
[
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"modularizeImports": "true",
},
},
Object {
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"platform-triplet": "true",
},
},
Object {
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"skipMiddlewareUrlNormalize": "false",
},
},
Object {
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"skipTrailingSlashRedirect": "false",
},
},
Object {
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"swcEmotion": "false",
},
},
Object {
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"swcExperimentalDecorators": "false",
},
},
Object {
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"swcImportSource": "false",
},
},
Object {
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"swcMinify": "true",
},
},
Object {
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"swcReactRemoveProperties": "false",
},
},
Object {
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"swcRelay": "false",
},
},
Object {
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"swcRemoveConsole": "false",
},
},
Object {
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"swcStyledComponents": "false",
},
},
Object {
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"transpilePackages": "false",
},
},
Object {
{
"category": "NextFeatureTelemetry_category_tbd",
"name": "EVENT_BUILD_FEATURE_USAGE",
"payload": Object {
"payload": {
"turbotrace": "false",
},
},
]
`;
exports[`next.rs api should detect the correct routes: issues 1`] = `Array []`;
exports[`next.rs api should detect the correct routes: issues 1`] = `[]`;

View file

@ -662,7 +662,7 @@ describe.each([[''], ['/docs']])(
" 1 of 1 unhandled error
Server Error
Error: The default export is not a React Component in page: \\"/hmr/about5\\"
Error: The default export is not a React Component in page: "/hmr/about5"
This error happened while generating the page. Any console logs will be displayed in the terminal window."
`)
@ -765,7 +765,7 @@ describe.each([[''], ['/docs']])(
" 1 of 1 unhandled error
Server Error
Error: The default export is not a React Component in page: \\"/hmr/about7\\"
Error: The default export is not a React Component in page: "/hmr/about7"
This error happened while generating the page. Any console logs will be displayed in the terminal window."
`)

File diff suppressed because it is too large Load diff

View file

@ -57,7 +57,7 @@ describe('app-dir create root layout', () => {
export default function RootLayout({ children }) {
return (
<html lang=\\"en\\">
<html lang="en">
<body>{children}</body>
</html>
)
@ -109,7 +109,7 @@ describe('app-dir create root layout', () => {
export default function RootLayout({ children }) {
return (
<html lang=\\"en\\">
<html lang="en">
<body>{children}</body>
</html>
)
@ -161,7 +161,7 @@ describe('app-dir create root layout', () => {
export default function RootLayout({ children }) {
return (
<html lang=\\"en\\">
<html lang="en">
<body>{children}</body>
</html>
)
@ -215,7 +215,7 @@ describe('app-dir create root layout', () => {
children: React.ReactNode
}) {
return (
<html lang=\\"en\\">
<html lang="en">
<body>{children}</body>
</html>
)

View file

@ -50,8 +50,8 @@ createNextDescribe(
expect(res.headers.get('cache-control')).toBe(CACHE_HEADERS.REVALIDATE)
expect(text).toMatchInlineSnapshot(`
"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>
<urlset xmlns=\\"http://www.sitemaps.org/schemas/sitemap/0.9\\">
"<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com</loc>
<lastmod>2021-01-01</lastmod>

View file

@ -25,44 +25,42 @@ describe('useSelectedLayoutSegment(s)', () => {
expect(
await browser.elementByCss('#root > .segments').text()
).toMatchInlineSnapshot(
`"[\\"segment-name\\",\\"value1\\",\\"segment-name2\\",\\"value2\\",\\"value3/value4\\"]"`
`"["segment-name","value1","segment-name2","value2","value3/value4"]"`
)
expect(
await browser.elementByCss('#root > .segment').text()
).toMatchInlineSnapshot(`"\\"segment-name\\""`)
).toMatchInlineSnapshot(`""segment-name""`)
})
it('should return correct values in layout before static segment', async () => {
expect(
await browser.elementByCss('#before-static > .segments').text()
).toMatchInlineSnapshot(
`"[\\"segment-name2\\",\\"value2\\",\\"value3/value4\\"]"`
)
).toMatchInlineSnapshot(`"["segment-name2","value2","value3/value4"]"`)
expect(
await browser.elementByCss('#before-static > .segment').text()
).toMatchInlineSnapshot(`"\\"segment-name2\\""`)
).toMatchInlineSnapshot(`""segment-name2""`)
})
it('should return correct values in layout before param segment', async () => {
expect(
await browser.elementByCss('#before-param > .segments').text()
).toMatchInlineSnapshot(`"[\\"value2\\",\\"value3/value4\\"]"`)
).toMatchInlineSnapshot(`"["value2","value3/value4"]"`)
expect(
await browser.elementByCss('#before-param > .segment').text()
).toMatchInlineSnapshot(`"\\"value2\\""`)
).toMatchInlineSnapshot(`""value2""`)
})
it('should return correct values in layout before catchall segment', async () => {
expect(
await browser.elementByCss('#before-catchall > .segments').text()
).toMatchInlineSnapshot(`"[\\"value3/value4\\"]"`)
).toMatchInlineSnapshot(`"["value3/value4"]"`)
expect(
await browser.elementByCss('#before-catchall > .segment').text()
).toMatchInlineSnapshot(`"\\"value3/value4\\""`)
).toMatchInlineSnapshot(`""value3/value4""`)
})
it('should return correct values in layout after last segment', async () => {
@ -85,17 +83,15 @@ describe('useSelectedLayoutSegment(s)', () => {
expect(
await browser.elementByCss('#root > .segments').text()
).toMatchInlineSnapshot(
`"[\\"segment-name\\",\\"param1\\",\\"different-segment\\"]"`
)
).toMatchInlineSnapshot(`"["segment-name","param1","different-segment"]"`)
expect(
await browser.elementByCss('#before-static > .segments').text()
).toMatchInlineSnapshot(`"[\\"different-segment\\"]"`)
).toMatchInlineSnapshot(`"["different-segment"]"`)
expect(
await browser.elementByCss('#before-static > .segment').text()
).toMatchInlineSnapshot(`"\\"different-segment\\""`)
).toMatchInlineSnapshot(`""different-segment""`)
})
it('should correctly update when changing param segment', async () => {
@ -109,16 +105,16 @@ describe('useSelectedLayoutSegment(s)', () => {
expect(
await browser.elementByCss('#root > .segments').text()
).toMatchInlineSnapshot(
`"[\\"segment-name\\",\\"param1\\",\\"segment-name2\\",\\"different-value\\",\\"value3/value4\\"]"`
`"["segment-name","param1","segment-name2","different-value","value3/value4"]"`
)
expect(
await browser.elementByCss('#before-param > .segments').text()
).toMatchInlineSnapshot(`"[\\"different-value\\",\\"value3/value4\\"]"`)
).toMatchInlineSnapshot(`"["different-value","value3/value4"]"`)
expect(
await browser.elementByCss('#before-param > .segment').text()
).toMatchInlineSnapshot(`"\\"different-value\\""`)
).toMatchInlineSnapshot(`""different-value""`)
})
it('should correctly update when changing catchall segment', async () => {
@ -132,15 +128,15 @@ describe('useSelectedLayoutSegment(s)', () => {
expect(
await browser.elementByCss('#root > .segments').text()
).toMatchInlineSnapshot(
`"[\\"segment-name\\",\\"param1\\",\\"segment-name2\\",\\"value2\\",\\"different/random/paths\\"]"`
`"["segment-name","param1","segment-name2","value2","different/random/paths"]"`
)
expect(
await browser.elementByCss('#before-catchall > .segments').text()
).toMatchInlineSnapshot(`"[\\"different/random/paths\\"]"`)
).toMatchInlineSnapshot(`"["different/random/paths"]"`)
expect(
await browser.elementByCss('#before-catchall > .segment').text()
).toMatchInlineSnapshot(`"\\"different/random/paths\\""`)
).toMatchInlineSnapshot(`""different/random/paths""`)
})
})

View file

@ -13,27 +13,27 @@ createNextDescribe(
)
expect(functionsConfigManifest).toMatchInlineSnapshot(`
Object {
"functions": Object {
"/api/page-route": Object {
{
"functions": {
"/api/page-route": {
"maxDuration": 1,
},
"/app-route": Object {
"/app-route": {
"maxDuration": 1,
},
"/app-route-edge": Object {
"/app-route-edge": {
"maxDuration": 2,
},
"/app-ssr": Object {
"/app-ssr": {
"maxDuration": 3,
},
"/app-ssr-edge": Object {
"/app-ssr-edge": {
"maxDuration": 4,
},
"/page": Object {
"/page": {
"maxDuration": 2,
},
"/page-ssr": Object {
"/page-ssr": {
"maxDuration": 3,
},
},

View file

@ -77,80 +77,80 @@ createNextDescribe(
await check(async () => {
expect(await getSanitizedTraces(1)).toMatchInlineSnapshot(`
Array [
Object {
"attributes": Object {
"http.method": "GET",
"http.url": "https://vercel.com/",
"net.peer.name": "vercel.com",
"next.span_name": "fetch GET https://vercel.com/",
"next.span_type": "AppRender.fetch",
},
"kind": 2,
"name": "fetch GET https://vercel.com/",
"parentId": "[parent-id]",
"status": Object {
"code": 0,
},
},
Object {
"attributes": Object {
"next.route": "/app/[param]/rsc-fetch",
"next.span_name": "render route (app) /app/[param]/rsc-fetch",
"next.span_type": "AppRender.getBodyResult",
},
"kind": 0,
"name": "render route (app) /app/[param]/rsc-fetch",
"parentId": "[parent-id]",
"status": Object {
"code": 0,
},
},
Object {
"attributes": Object {
"http.method": "GET",
"http.route": "/app/[param]/rsc-fetch",
"http.status_code": 200,
"http.target": "/app/param/rsc-fetch",
"next.route": "/app/[param]/rsc-fetch",
"next.span_name": "GET /app/[param]/rsc-fetch",
"next.span_type": "BaseServer.handleRequest",
},
"kind": 1,
"name": "GET /app/[param]/rsc-fetch",
"parentId": undefined,
"status": Object {
"code": 0,
},
},
Object {
"attributes": Object {
"next.page": "/app/[param]/layout",
"next.span_name": "generateMetadata /app/[param]/layout",
"next.span_type": "ResolveMetadata.generateMetadata",
},
"kind": 0,
"name": "generateMetadata /app/[param]/layout",
"parentId": "[parent-id]",
"status": Object {
"code": 0,
},
},
Object {
"attributes": Object {
"next.page": "/app/[param]/rsc-fetch/page",
"next.span_name": "generateMetadata /app/[param]/rsc-fetch/page",
"next.span_type": "ResolveMetadata.generateMetadata",
},
"kind": 0,
"name": "generateMetadata /app/[param]/rsc-fetch/page",
"parentId": "[parent-id]",
"status": Object {
"code": 0,
},
},
]
`)
[
{
"attributes": {
"http.method": "GET",
"http.url": "https://vercel.com/",
"net.peer.name": "vercel.com",
"next.span_name": "fetch GET https://vercel.com/",
"next.span_type": "AppRender.fetch",
},
"kind": 2,
"name": "fetch GET https://vercel.com/",
"parentId": "[parent-id]",
"status": {
"code": 0,
},
},
{
"attributes": {
"next.route": "/app/[param]/rsc-fetch",
"next.span_name": "render route (app) /app/[param]/rsc-fetch",
"next.span_type": "AppRender.getBodyResult",
},
"kind": 0,
"name": "render route (app) /app/[param]/rsc-fetch",
"parentId": "[parent-id]",
"status": {
"code": 0,
},
},
{
"attributes": {
"http.method": "GET",
"http.route": "/app/[param]/rsc-fetch",
"http.status_code": 200,
"http.target": "/app/param/rsc-fetch",
"next.route": "/app/[param]/rsc-fetch",
"next.span_name": "GET /app/[param]/rsc-fetch",
"next.span_type": "BaseServer.handleRequest",
},
"kind": 1,
"name": "GET /app/[param]/rsc-fetch",
"parentId": undefined,
"status": {
"code": 0,
},
},
{
"attributes": {
"next.page": "/app/[param]/layout",
"next.span_name": "generateMetadata /app/[param]/layout",
"next.span_type": "ResolveMetadata.generateMetadata",
},
"kind": 0,
"name": "generateMetadata /app/[param]/layout",
"parentId": "[parent-id]",
"status": {
"code": 0,
},
},
{
"attributes": {
"next.page": "/app/[param]/rsc-fetch/page",
"next.span_name": "generateMetadata /app/[param]/rsc-fetch/page",
"next.span_type": "ResolveMetadata.generateMetadata",
},
"kind": 0,
"name": "generateMetadata /app/[param]/rsc-fetch/page",
"parentId": "[parent-id]",
"status": {
"code": 0,
},
},
]
`)
return 'success'
}, 'success')
})
@ -160,9 +160,9 @@ createNextDescribe(
await check(async () => {
expect(await getSanitizedTraces(1)).toMatchInlineSnapshot(`
Array [
Object {
"attributes": Object {
[
{
"attributes": {
"next.route": "/api/app/[param]/data/route",
"next.span_name": "executing api route (app) /api/app/[param]/data/route",
"next.span_type": "AppRouteRouteHandlers.runHandler",
@ -170,12 +170,12 @@ createNextDescribe(
"kind": 0,
"name": "executing api route (app) /api/app/[param]/data/route",
"parentId": "[parent-id]",
"status": Object {
"status": {
"code": 0,
},
},
Object {
"attributes": Object {
{
"attributes": {
"http.method": "GET",
"http.route": "/api/app/[param]/data/route",
"http.status_code": 200,
@ -187,7 +187,7 @@ createNextDescribe(
"kind": 1,
"name": "GET /api/app/[param]/data/route",
"parentId": undefined,
"status": Object {
"status": {
"code": 0,
},
},
@ -204,52 +204,52 @@ createNextDescribe(
await check(async () => {
expect(await getSanitizedTraces(1)).toMatchInlineSnapshot(`
Array [
Object {
"attributes": Object {
"http.method": "GET",
"http.route": "/pages/[param]/getServerSideProps",
"http.status_code": 200,
"http.target": "/pages/param/getServerSideProps",
"next.route": "/pages/[param]/getServerSideProps",
"next.span_name": "GET /pages/[param]/getServerSideProps",
"next.span_type": "BaseServer.handleRequest",
},
"kind": 1,
"name": "GET /pages/[param]/getServerSideProps",
"parentId": undefined,
"status": Object {
"code": 0,
},
},
Object {
"attributes": Object {
"next.route": "/pages/[param]/getServerSideProps",
"next.span_name": "getServerSideProps /pages/[param]/getServerSideProps",
"next.span_type": "Render.getServerSideProps",
},
"kind": 0,
"name": "getServerSideProps /pages/[param]/getServerSideProps",
"parentId": "[parent-id]",
"status": Object {
"code": 0,
},
},
Object {
"attributes": Object {
"next.route": "/pages/[param]/getServerSideProps",
"next.span_name": "render route (pages) /pages/[param]/getServerSideProps",
"next.span_type": "Render.renderDocument",
},
"kind": 0,
"name": "render route (pages) /pages/[param]/getServerSideProps",
"parentId": "[parent-id]",
"status": Object {
"code": 0,
},
},
]
`)
[
{
"attributes": {
"http.method": "GET",
"http.route": "/pages/[param]/getServerSideProps",
"http.status_code": 200,
"http.target": "/pages/param/getServerSideProps",
"next.route": "/pages/[param]/getServerSideProps",
"next.span_name": "GET /pages/[param]/getServerSideProps",
"next.span_type": "BaseServer.handleRequest",
},
"kind": 1,
"name": "GET /pages/[param]/getServerSideProps",
"parentId": undefined,
"status": {
"code": 0,
},
},
{
"attributes": {
"next.route": "/pages/[param]/getServerSideProps",
"next.span_name": "getServerSideProps /pages/[param]/getServerSideProps",
"next.span_type": "Render.getServerSideProps",
},
"kind": 0,
"name": "getServerSideProps /pages/[param]/getServerSideProps",
"parentId": "[parent-id]",
"status": {
"code": 0,
},
},
{
"attributes": {
"next.route": "/pages/[param]/getServerSideProps",
"next.span_name": "render route (pages) /pages/[param]/getServerSideProps",
"next.span_type": "Render.renderDocument",
},
"kind": 0,
"name": "render route (pages) /pages/[param]/getServerSideProps",
"parentId": "[parent-id]",
"status": {
"code": 0,
},
},
]
`)
return 'success'
}, 'success')
})
@ -259,52 +259,52 @@ createNextDescribe(
await check(async () => {
expect(await getSanitizedTraces(1)).toMatchInlineSnapshot(`
Array [
Object {
"attributes": Object {
"http.method": "GET",
"http.route": "/pages/[param]/getStaticProps",
"http.status_code": 200,
"http.target": "/pages/param/getStaticProps",
"next.route": "/pages/[param]/getStaticProps",
"next.span_name": "GET /pages/[param]/getStaticProps",
"next.span_type": "BaseServer.handleRequest",
},
"kind": 1,
"name": "GET /pages/[param]/getStaticProps",
"parentId": undefined,
"status": Object {
"code": 0,
},
},
Object {
"attributes": Object {
"next.route": "/pages/[param]/getStaticProps",
"next.span_name": "getStaticProps /pages/[param]/getStaticProps",
"next.span_type": "Render.getStaticProps",
},
"kind": 0,
"name": "getStaticProps /pages/[param]/getStaticProps",
"parentId": "[parent-id]",
"status": Object {
"code": 0,
},
},
Object {
"attributes": Object {
"next.route": "/pages/[param]/getStaticProps",
"next.span_name": "render route (pages) /pages/[param]/getStaticProps",
"next.span_type": "Render.renderDocument",
},
"kind": 0,
"name": "render route (pages) /pages/[param]/getStaticProps",
"parentId": "[parent-id]",
"status": Object {
"code": 0,
},
},
]
`)
[
{
"attributes": {
"http.method": "GET",
"http.route": "/pages/[param]/getStaticProps",
"http.status_code": 200,
"http.target": "/pages/param/getStaticProps",
"next.route": "/pages/[param]/getStaticProps",
"next.span_name": "GET /pages/[param]/getStaticProps",
"next.span_type": "BaseServer.handleRequest",
},
"kind": 1,
"name": "GET /pages/[param]/getStaticProps",
"parentId": undefined,
"status": {
"code": 0,
},
},
{
"attributes": {
"next.route": "/pages/[param]/getStaticProps",
"next.span_name": "getStaticProps /pages/[param]/getStaticProps",
"next.span_type": "Render.getStaticProps",
},
"kind": 0,
"name": "getStaticProps /pages/[param]/getStaticProps",
"parentId": "[parent-id]",
"status": {
"code": 0,
},
},
{
"attributes": {
"next.route": "/pages/[param]/getStaticProps",
"next.span_name": "render route (pages) /pages/[param]/getStaticProps",
"next.span_type": "Render.renderDocument",
},
"kind": 0,
"name": "render route (pages) /pages/[param]/getStaticProps",
"parentId": "[parent-id]",
"status": {
"code": 0,
},
},
]
`)
return 'success'
}, 'success')
})
@ -314,38 +314,38 @@ createNextDescribe(
await check(async () => {
expect(await getSanitizedTraces(1)).toMatchInlineSnapshot(`
Array [
Object {
"attributes": Object {
"http.method": "GET",
"http.route": "/api/pages/[param]/basic",
"http.status_code": 200,
"http.target": "/api/pages/param/basic",
"next.route": "/api/pages/[param]/basic",
"next.span_name": "GET /api/pages/[param]/basic",
"next.span_type": "BaseServer.handleRequest",
},
"kind": 1,
"name": "GET /api/pages/[param]/basic",
"parentId": undefined,
"status": Object {
"code": 0,
},
},
Object {
"attributes": Object {
"next.span_name": "executing api route (pages) /api/pages/[param]/basic",
"next.span_type": "Node.runHandler",
},
"kind": 0,
"name": "executing api route (pages) /api/pages/[param]/basic",
"parentId": "[parent-id]",
"status": Object {
"code": 0,
},
},
]
`)
[
{
"attributes": {
"http.method": "GET",
"http.route": "/api/pages/[param]/basic",
"http.status_code": 200,
"http.target": "/api/pages/param/basic",
"next.route": "/api/pages/[param]/basic",
"next.span_name": "GET /api/pages/[param]/basic",
"next.span_type": "BaseServer.handleRequest",
},
"kind": 1,
"name": "GET /api/pages/[param]/basic",
"parentId": undefined,
"status": {
"code": 0,
},
},
{
"attributes": {
"next.span_name": "executing api route (pages) /api/pages/[param]/basic",
"next.span_type": "Node.runHandler",
},
"kind": 0,
"name": "executing api route (pages) /api/pages/[param]/basic",
"parentId": "[parent-id]",
"status": {
"code": 0,
},
},
]
`)
return 'success'
}, 'success')
})

View file

@ -285,8 +285,8 @@ describe('create-next-app templates', () => {
*/
const tsConfig = require(path.join(cwd, projectName, 'tsconfig.json'))
expect(tsConfig.compilerOptions.paths).toMatchInlineSnapshot(`
Object {
"@/something/*": Array [
{
"@/something/*": [
"./*",
],
}

View file

@ -55,9 +55,9 @@ describe('CSS Customization', () => {
const { version, mappings, sourcesContent } = JSON.parse(cssMapContent)
expect({ version, mappings, sourcesContent }).toMatchInlineSnapshot(`
Object {
{
"mappings": "AACA,gCACE,cACE,WACF,CACF,CAGA,OACE,eAA0B,CAA1B,gBACF",
"sourcesContent": Array [
"sourcesContent": [
"/* this should pass through untransformed */
@media (480px <= width < 768px) {
::placeholder {
@ -103,7 +103,7 @@ Object {
expect(
cssContent.replace(/\/\*.*?\*\//g, '').trim()
).toMatchInlineSnapshot(
`"@media (480px <= width < 768px){a:before{content:\\"\\"}::placeholder{color:green}}.video{max-width:6400px;max-height:4800px;max-width:400rem;max-height:300rem}"`
`"@media (480px <= width < 768px){a:before{content:""}::placeholder{color:green}}.video{max-width:6400px;max-height:4800px;max-width:400rem;max-height:300rem}"`
)
// Contains a source map
@ -123,9 +123,9 @@ Object {
const { version, mappings, sourcesContent } = JSON.parse(cssMapContent)
expect({ version, mappings, sourcesContent }).toMatchInlineSnapshot(`
Object {
{
"mappings": "AACA,gCACE,SACE,UACF,CACA,cACE,WACF,CACF,CAGA,OACE,gBAA4B,CAA5B,iBAA4B,CAA5B,gBAA4B,CAA5B,iBACF",
"sourcesContent": Array [
"sourcesContent": [
"/* this should pass through untransformed */
@media (480px <= width < 768px) {
a::before {

View file

@ -327,7 +327,7 @@ describe('Valid CSS Module Usage from within node_modules', () => {
const cssPreload = $('#nm-div')
expect(cssPreload.text()).toMatchInlineSnapshot(
`"{\\"message\\":\\"Why hello there\\"} {\\"redText\\":\\"example_redText__0ctGB\\"}"`
`"{"message":"Why hello there"} {"redText":"example_redText__0ctGB"}"`
)
})
@ -382,7 +382,7 @@ describe('Valid Nested CSS Module Usage from within node_modules', () => {
const cssPreload = $('#nm-div')
expect(cssPreload.text()).toMatchInlineSnapshot(
`"{\\"message\\":\\"Why hello there\\"} {\\"subClass\\":\\"example_subClass__m6Tyy other_className__OA8dV\\"}"`
`"{"message":"Why hello there"} {"subClass":"example_subClass__m6Tyy other_className__OA8dV"}"`
)
})

View file

@ -229,7 +229,7 @@ describe('CSS URL via `file-loader`', () => {
)
.sort()
).toMatchInlineSnapshot(`
Array [
[
"dark.svg",
"dark2.svg",
"light.svg",
@ -277,7 +277,7 @@ describe('CSS URL via `file-loader` and asset prefix (1)', () => {
)
.sort()
).toMatchInlineSnapshot(`
Array [
[
"dark.svg",
"dark2.svg",
"light.svg",
@ -325,7 +325,7 @@ describe('CSS URL via `file-loader` and asset prefix (2)', () => {
)
.sort()
).toMatchInlineSnapshot(`
Array [
[
"dark.svg",
"dark2.svg",
"light.svg",

View file

@ -61,35 +61,35 @@ describe('CSS Support', () => {
const { version, mappings, sourcesContent } = JSON.parse(cssMapContent)
expect({ version, mappings, sourcesContent }).toMatchInlineSnapshot(`
Object {
"mappings": "AAAA,+CACE,cACE,WACF,CACF,CAEA,cACE,2CACF,CAEA,mBACE,0BACF,CAEA,oBACE,kBACF,CAEA,mDACE,WACF",
"sourcesContent": Array [
"@media (480px <= width < 768px) {
::placeholder {
color: green;
{
"mappings": "AAAA,+CACE,cACE,WACF,CACF,CAEA,cACE,2CACF,CAEA,mBACE,0BACF,CAEA,oBACE,kBACF,CAEA,mDACE,WACF",
"sourcesContent": [
"@media (480px <= width < 768px) {
::placeholder {
color: green;
}
}
}
.flex-parsing {
flex: 0 0 calc(50% - var(--vertical-gutter));
}
.flex-parsing {
flex: 0 0 calc(50% - var(--vertical-gutter));
}
.transform-parsing {
transform: translate3d(0px, 0px);
}
.transform-parsing {
transform: translate3d(0px, 0px);
}
.css-grid-shorthand {
grid-column: span 2;
}
.css-grid-shorthand {
grid-column: span 2;
}
.g-docs-sidenav .filter::-webkit-input-placeholder {
opacity: 80%;
}
",
],
"version": 3,
}
`)
.g-docs-sidenav .filter::-webkit-input-placeholder {
opacity: 80%;
}
",
],
"version": 3,
}
`)
})
})

View file

@ -77,7 +77,7 @@ describe('Valid Global CSS from npm', () => {
const cssContent = await readFile(join(cssFolder, cssFiles[0]), 'utf8')
expect(
cssContent.replace(/\/\*.*?\*\//g, '').trim()
).toMatchInlineSnapshot(`".red-text{color:\\"red\\"}"`)
).toMatchInlineSnapshot(`".red-text{color:"red"}"`)
})
})
})

View file

@ -28,7 +28,7 @@ describe('Application Export Intent Output', () => {
fs.readFileSync(join(distDir, 'export-marker.json'), 'utf8')
)
).toMatchInlineSnapshot(`
Object {
{
"exportTrailingSlash": false,
"hasExportPathMap": false,
"isNextImageImported": false,
@ -43,7 +43,7 @@ describe('Application Export Intent Output', () => {
...detail,
outDirectory: path.basename(detail.outDirectory),
}).toMatchInlineSnapshot(`
Object {
{
"outDirectory": "out",
"success": true,
"version": 1,
@ -75,7 +75,7 @@ describe('Application Export Intent Output', () => {
fs.readFileSync(join(distDir, 'export-marker.json'), 'utf8')
)
).toMatchInlineSnapshot(`
Object {
{
"exportTrailingSlash": false,
"hasExportPathMap": true,
"isNextImageImported": false,
@ -90,7 +90,7 @@ describe('Application Export Intent Output', () => {
...detail,
outDirectory: path.basename(detail.outDirectory),
}).toMatchInlineSnapshot(`
Object {
{
"outDirectory": "out",
"success": true,
"version": 1,
@ -123,7 +123,7 @@ describe('Application Export Intent Output', () => {
fs.readFileSync(join(distDir, 'export-marker.json'), 'utf8')
)
).toMatchInlineSnapshot(`
Object {
{
"exportTrailingSlash": true,
"hasExportPathMap": false,
"isNextImageImported": false,
@ -138,7 +138,7 @@ describe('Application Export Intent Output', () => {
...detail,
outDirectory: path.basename(detail.outDirectory),
}).toMatchInlineSnapshot(`
Object {
{
"outDirectory": "lel",
"success": true,
"version": 1,
@ -171,7 +171,7 @@ describe('Application Export Intent Output', () => {
fs.readFileSync(join(distDir, 'export-marker.json'), 'utf8')
)
).toMatchInlineSnapshot(`
Object {
{
"exportTrailingSlash": false,
"hasExportPathMap": false,
"isNextImageImported": false,
@ -186,7 +186,7 @@ describe('Application Export Intent Output', () => {
...detail,
outDirectory: path.basename(detail.outDirectory),
}).toMatchInlineSnapshot(`
Object {
{
"outDirectory": "out",
"success": false,
"version": 1,
@ -218,7 +218,7 @@ describe('Application Export Intent Output', () => {
fs.readFileSync(join(distDir, 'export-marker.json'), 'utf8')
)
).toMatchInlineSnapshot(`
Object {
{
"exportTrailingSlash": false,
"hasExportPathMap": false,
"isNextImageImported": false,

View file

@ -760,380 +760,380 @@ export function runTests(ctx) {
.replace(new RegExp(escapeRegex(ctx.buildId), 'g'), 'BUILD_ID')
).toMatchInlineSnapshot(`
"{
\\"/do\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/index.json\\"
},
\\"/do-BE\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/index.json\\"
},
\\"/do-BE/404\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/404.json\\"
},
\\"/do-BE/frank\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/frank.json\\"
},
\\"/do-BE/gsp\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/gsp.json\\"
},
\\"/do-BE/gsp/fallback/always\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/do-BE/gsp/fallback/always.json\\"
},
\\"/do-BE/not-found\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/not-found.json\\"
},
\\"/do/404\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/404.json\\"
},
\\"/do/frank\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/frank.json\\"
},
\\"/do/gsp\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/gsp.json\\"
},
\\"/do/gsp/fallback/always\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/do/gsp/fallback/always.json\\"
},
\\"/do/not-found\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/not-found.json\\"
},
\\"/en\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/index.json\\"
},
\\"/en-US\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/index.json\\"
},
\\"/en-US/404\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/404.json\\"
},
\\"/en-US/frank\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/frank.json\\"
},
\\"/en-US/gsp\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/gsp.json\\"
},
\\"/en-US/gsp/fallback/always\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/en-US/gsp/fallback/always.json\\"
},
\\"/en-US/gsp/fallback/first\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/en-US/gsp/fallback/first.json\\"
},
\\"/en-US/gsp/fallback/second\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/en-US/gsp/fallback/second.json\\"
},
\\"/en-US/gsp/no-fallback/first\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/no-fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/en-US/gsp/no-fallback/first.json\\"
},
\\"/en-US/gsp/no-fallback/second\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/no-fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/en-US/gsp/no-fallback/second.json\\"
},
\\"/en-US/not-found\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/not-found.json\\"
},
\\"/en-US/not-found/blocking-fallback/first\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/not-found/blocking-fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/en-US/not-found/blocking-fallback/first.json\\"
},
\\"/en-US/not-found/blocking-fallback/second\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/not-found/blocking-fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/en-US/not-found/blocking-fallback/second.json\\"
},
\\"/en-US/not-found/fallback/first\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/not-found/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/en-US/not-found/fallback/first.json\\"
},
\\"/en-US/not-found/fallback/second\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/not-found/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/en-US/not-found/fallback/second.json\\"
},
\\"/en/404\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/404.json\\"
},
\\"/en/frank\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/frank.json\\"
},
\\"/en/gsp\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/gsp.json\\"
},
\\"/en/gsp/fallback/always\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/en/gsp/fallback/always.json\\"
},
\\"/en/not-found\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/not-found.json\\"
},
\\"/fr\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/index.json\\"
},
\\"/fr-BE\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/index.json\\"
},
\\"/fr-BE/404\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/404.json\\"
},
\\"/fr-BE/frank\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/frank.json\\"
},
\\"/fr-BE/gsp\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/gsp.json\\"
},
\\"/fr-BE/gsp/fallback/always\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/fr-BE/gsp/fallback/always.json\\"
},
\\"/fr-BE/not-found\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/not-found.json\\"
},
\\"/fr/404\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/404.json\\"
},
\\"/fr/frank\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/frank.json\\"
},
\\"/fr/gsp\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/gsp.json\\"
},
\\"/fr/gsp/fallback/always\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/fr/gsp/fallback/always.json\\"
},
\\"/fr/not-found\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/not-found.json\\"
},
\\"/go\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/index.json\\"
},
\\"/go-BE\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/index.json\\"
},
\\"/go-BE/404\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/404.json\\"
},
\\"/go-BE/frank\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/frank.json\\"
},
\\"/go-BE/gsp\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/gsp.json\\"
},
\\"/go-BE/gsp/fallback/always\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/go-BE/gsp/fallback/always.json\\"
},
\\"/go-BE/not-found\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/not-found.json\\"
},
\\"/go/404\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/404.json\\"
},
\\"/go/frank\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/frank.json\\"
},
\\"/go/gsp\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/gsp.json\\"
},
\\"/go/gsp/fallback/always\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/go/gsp/fallback/always.json\\"
},
\\"/go/not-found\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/not-found.json\\"
},
\\"/nl\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/index.json\\"
},
\\"/nl-BE\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/index.json\\"
},
\\"/nl-BE/404\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/404.json\\"
},
\\"/nl-BE/frank\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/frank.json\\"
},
\\"/nl-BE/gsp\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/gsp.json\\"
},
\\"/nl-BE/gsp/fallback/always\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/nl-BE/gsp/fallback/always.json\\"
},
\\"/nl-BE/not-found\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/not-found.json\\"
},
\\"/nl-NL\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/index.json\\"
},
\\"/nl-NL/404\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/404.json\\"
},
\\"/nl-NL/frank\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/frank.json\\"
},
\\"/nl-NL/gsp\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/gsp.json\\"
},
\\"/nl-NL/gsp/fallback/always\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/nl-NL/gsp/fallback/always.json\\"
},
\\"/nl-NL/gsp/no-fallback/second\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/no-fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/nl-NL/gsp/no-fallback/second.json\\"
},
\\"/nl-NL/not-found\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/not-found.json\\"
},
\\"/nl/404\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/404.json\\"
},
\\"/nl/frank\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/frank.json\\"
},
\\"/nl/gsp\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/gsp.json\\"
},
\\"/nl/gsp/fallback/always\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": \\"/gsp/fallback/[slug]\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/nl/gsp/fallback/always.json\\"
},
\\"/nl/not-found\\": {
\\"initialRevalidateSeconds\\": false,
\\"srcRoute\\": null,
\\"dataRoute\\": \\"/_next/data/BUILD_ID/not-found.json\\"
"/do": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/index.json"
},
"/do-BE": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/index.json"
},
"/do-BE/404": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/404.json"
},
"/do-BE/frank": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/frank.json"
},
"/do-BE/gsp": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/gsp.json"
},
"/do-BE/gsp/fallback/always": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/do-BE/gsp/fallback/always.json"
},
"/do-BE/not-found": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/not-found.json"
},
"/do/404": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/404.json"
},
"/do/frank": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/frank.json"
},
"/do/gsp": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/gsp.json"
},
"/do/gsp/fallback/always": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/do/gsp/fallback/always.json"
},
"/do/not-found": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/not-found.json"
},
"/en": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/index.json"
},
"/en-US": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/index.json"
},
"/en-US/404": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/404.json"
},
"/en-US/frank": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/frank.json"
},
"/en-US/gsp": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/gsp.json"
},
"/en-US/gsp/fallback/always": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/en-US/gsp/fallback/always.json"
},
"/en-US/gsp/fallback/first": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/en-US/gsp/fallback/first.json"
},
"/en-US/gsp/fallback/second": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/en-US/gsp/fallback/second.json"
},
"/en-US/gsp/no-fallback/first": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/no-fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/en-US/gsp/no-fallback/first.json"
},
"/en-US/gsp/no-fallback/second": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/no-fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/en-US/gsp/no-fallback/second.json"
},
"/en-US/not-found": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/not-found.json"
},
"/en-US/not-found/blocking-fallback/first": {
"initialRevalidateSeconds": false,
"srcRoute": "/not-found/blocking-fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/en-US/not-found/blocking-fallback/first.json"
},
"/en-US/not-found/blocking-fallback/second": {
"initialRevalidateSeconds": false,
"srcRoute": "/not-found/blocking-fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/en-US/not-found/blocking-fallback/second.json"
},
"/en-US/not-found/fallback/first": {
"initialRevalidateSeconds": false,
"srcRoute": "/not-found/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/en-US/not-found/fallback/first.json"
},
"/en-US/not-found/fallback/second": {
"initialRevalidateSeconds": false,
"srcRoute": "/not-found/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/en-US/not-found/fallback/second.json"
},
"/en/404": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/404.json"
},
"/en/frank": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/frank.json"
},
"/en/gsp": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/gsp.json"
},
"/en/gsp/fallback/always": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/en/gsp/fallback/always.json"
},
"/en/not-found": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/not-found.json"
},
"/fr": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/index.json"
},
"/fr-BE": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/index.json"
},
"/fr-BE/404": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/404.json"
},
"/fr-BE/frank": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/frank.json"
},
"/fr-BE/gsp": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/gsp.json"
},
"/fr-BE/gsp/fallback/always": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/fr-BE/gsp/fallback/always.json"
},
"/fr-BE/not-found": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/not-found.json"
},
"/fr/404": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/404.json"
},
"/fr/frank": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/frank.json"
},
"/fr/gsp": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/gsp.json"
},
"/fr/gsp/fallback/always": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/fr/gsp/fallback/always.json"
},
"/fr/not-found": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/not-found.json"
},
"/go": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/index.json"
},
"/go-BE": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/index.json"
},
"/go-BE/404": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/404.json"
},
"/go-BE/frank": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/frank.json"
},
"/go-BE/gsp": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/gsp.json"
},
"/go-BE/gsp/fallback/always": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/go-BE/gsp/fallback/always.json"
},
"/go-BE/not-found": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/not-found.json"
},
"/go/404": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/404.json"
},
"/go/frank": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/frank.json"
},
"/go/gsp": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/gsp.json"
},
"/go/gsp/fallback/always": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/go/gsp/fallback/always.json"
},
"/go/not-found": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/not-found.json"
},
"/nl": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/index.json"
},
"/nl-BE": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/index.json"
},
"/nl-BE/404": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/404.json"
},
"/nl-BE/frank": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/frank.json"
},
"/nl-BE/gsp": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/gsp.json"
},
"/nl-BE/gsp/fallback/always": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/nl-BE/gsp/fallback/always.json"
},
"/nl-BE/not-found": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/not-found.json"
},
"/nl-NL": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/index.json"
},
"/nl-NL/404": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/404.json"
},
"/nl-NL/frank": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/frank.json"
},
"/nl-NL/gsp": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/gsp.json"
},
"/nl-NL/gsp/fallback/always": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/nl-NL/gsp/fallback/always.json"
},
"/nl-NL/gsp/no-fallback/second": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/no-fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/nl-NL/gsp/no-fallback/second.json"
},
"/nl-NL/not-found": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/not-found.json"
},
"/nl/404": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/404.json"
},
"/nl/frank": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/frank.json"
},
"/nl/gsp": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/gsp.json"
},
"/nl/gsp/fallback/always": {
"initialRevalidateSeconds": false,
"srcRoute": "/gsp/fallback/[slug]",
"dataRoute": "/_next/data/BUILD_ID/nl/gsp/fallback/always.json"
},
"/nl/not-found": {
"initialRevalidateSeconds": false,
"srcRoute": null,
"dataRoute": "/_next/data/BUILD_ID/not-found.json"
}
}"
`)
@ -1148,29 +1148,29 @@ export function runTests(ctx) {
)
).toMatchInlineSnapshot(`
"{
\\"/gsp/fallback/[slug]\\": {
\\"routeRegex\\": \\"^\\\\/gsp\\\\/fallback\\\\/([^\\\\/]+?)(?:\\\\/)?$\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/gsp/fallback/[slug].json\\",
\\"fallback\\": \\"/gsp/fallback/[slug].html\\",
\\"dataRouteRegex\\": \\"^\\\\/_next\\\\/data\\\\/BUILD_ID\\\\/gsp\\\\/fallback\\\\/([^\\\\/]+?)\\\\.json$\\"
"/gsp/fallback/[slug]": {
"routeRegex": "^\\/gsp\\/fallback\\/([^\\/]+?)(?:\\/)?$",
"dataRoute": "/_next/data/BUILD_ID/gsp/fallback/[slug].json",
"fallback": "/gsp/fallback/[slug].html",
"dataRouteRegex": "^\\/_next\\/data\\/BUILD_ID\\/gsp\\/fallback\\/([^\\/]+?)\\.json$"
},
\\"/gsp/no-fallback/[slug]\\": {
\\"routeRegex\\": \\"^\\\\/gsp\\\\/no\\\\-fallback\\\\/([^\\\\/]+?)(?:\\\\/)?$\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/gsp/no-fallback/[slug].json\\",
\\"fallback\\": false,
\\"dataRouteRegex\\": \\"^\\\\/_next\\\\/data\\\\/BUILD_ID\\\\/gsp\\\\/no\\\\-fallback\\\\/([^\\\\/]+?)\\\\.json$\\"
"/gsp/no-fallback/[slug]": {
"routeRegex": "^\\/gsp\\/no\\-fallback\\/([^\\/]+?)(?:\\/)?$",
"dataRoute": "/_next/data/BUILD_ID/gsp/no-fallback/[slug].json",
"fallback": false,
"dataRouteRegex": "^\\/_next\\/data\\/BUILD_ID\\/gsp\\/no\\-fallback\\/([^\\/]+?)\\.json$"
},
\\"/not-found/blocking-fallback/[slug]\\": {
\\"routeRegex\\": \\"^\\\\/not\\\\-found\\\\/blocking\\\\-fallback\\\\/([^\\\\/]+?)(?:\\\\/)?$\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/not-found/blocking-fallback/[slug].json\\",
\\"fallback\\": null,
\\"dataRouteRegex\\": \\"^\\\\/_next\\\\/data\\\\/BUILD_ID\\\\/not\\\\-found\\\\/blocking\\\\-fallback\\\\/([^\\\\/]+?)\\\\.json$\\"
"/not-found/blocking-fallback/[slug]": {
"routeRegex": "^\\/not\\-found\\/blocking\\-fallback\\/([^\\/]+?)(?:\\/)?$",
"dataRoute": "/_next/data/BUILD_ID/not-found/blocking-fallback/[slug].json",
"fallback": null,
"dataRouteRegex": "^\\/_next\\/data\\/BUILD_ID\\/not\\-found\\/blocking\\-fallback\\/([^\\/]+?)\\.json$"
},
\\"/not-found/fallback/[slug]\\": {
\\"routeRegex\\": \\"^\\\\/not\\\\-found\\\\/fallback\\\\/([^\\\\/]+?)(?:\\\\/)?$\\",
\\"dataRoute\\": \\"/_next/data/BUILD_ID/not-found/fallback/[slug].json\\",
\\"fallback\\": \\"/not-found/fallback/[slug].html\\",
\\"dataRouteRegex\\": \\"^\\\\/_next\\\\/data\\\\/BUILD_ID\\\\/not\\\\-found\\\\/fallback\\\\/([^\\\\/]+?)\\\\.json$\\"
"/not-found/fallback/[slug]": {
"routeRegex": "^\\/not\\-found\\/fallback\\/([^\\/]+?)(?:\\/)?$",
"dataRoute": "/_next/data/BUILD_ID/not-found/fallback/[slug].json",
"fallback": "/not-found/fallback/[slug].html",
"dataRouteRegex": "^\\/_next\\/data\\/BUILD_ID\\/not\\-found\\/fallback\\/([^\\/]+?)\\.json$"
}
}"
`)

View file

@ -24,7 +24,7 @@ describe('Link Component with Encoding', () => {
)
try {
const text = await browser.elementByCss('#query-content').text()
expect(text).toMatchInlineSnapshot(`"{\\"slug\\":\\"hello world \\"}"`)
expect(text).toMatchInlineSnapshot(`"{"slug":"hello world "}"`)
} finally {
await browser.close()
}
@ -46,7 +46,7 @@ describe('Link Component with Encoding', () => {
},
})
const text = await browser.elementByCss('#query-content').text()
expect(text).toMatchInlineSnapshot(`"{\\"slug\\":\\"hello world \\"}"`)
expect(text).toMatchInlineSnapshot(`"{"slug":"hello world "}"`)
} finally {
await browser.close()
}
@ -63,7 +63,7 @@ describe('Link Component with Encoding', () => {
},
})
const text = await browser.elementByCss('#query-content').text()
expect(text).toMatchInlineSnapshot(`"{\\"slug\\":\\"hello world \\"}"`)
expect(text).toMatchInlineSnapshot(`"{"slug":"hello world "}"`)
} finally {
await browser.close()
}
@ -75,7 +75,7 @@ describe('Link Component with Encoding', () => {
const browser = await webdriver(appPort, encodeURI('/single/hello%world'))
try {
const text = await browser.elementByCss('#query-content').text()
expect(text).toMatchInlineSnapshot(`"{\\"slug\\":\\"hello%world\\"}"`)
expect(text).toMatchInlineSnapshot(`"{"slug":"hello%world"}"`)
} finally {
await browser.close()
}
@ -97,7 +97,7 @@ describe('Link Component with Encoding', () => {
},
})
const text = await browser.elementByCss('#query-content').text()
expect(text).toMatchInlineSnapshot(`"{\\"slug\\":\\"hello%world\\"}"`)
expect(text).toMatchInlineSnapshot(`"{"slug":"hello%world"}"`)
} finally {
await browser.close()
}
@ -114,7 +114,7 @@ describe('Link Component with Encoding', () => {
},
})
const text = await browser.elementByCss('#query-content').text()
expect(text).toMatchInlineSnapshot(`"{\\"slug\\":\\"hello%world\\"}"`)
expect(text).toMatchInlineSnapshot(`"{"slug":"hello%world"}"`)
} finally {
await browser.close()
}
@ -129,7 +129,7 @@ describe('Link Component with Encoding', () => {
)
try {
const text = await browser.elementByCss('#query-content').text()
expect(text).toMatchInlineSnapshot(`"{\\"slug\\":\\"hello/world\\"}"`)
expect(text).toMatchInlineSnapshot(`"{"slug":"hello/world"}"`)
} finally {
await browser.close()
}
@ -151,7 +151,7 @@ describe('Link Component with Encoding', () => {
},
})
const text = await browser.elementByCss('#query-content').text()
expect(text).toMatchInlineSnapshot(`"{\\"slug\\":\\"hello/world\\"}"`)
expect(text).toMatchInlineSnapshot(`"{"slug":"hello/world"}"`)
} finally {
await browser.close()
}
@ -168,7 +168,7 @@ describe('Link Component with Encoding', () => {
},
})
const text = await browser.elementByCss('#query-content').text()
expect(text).toMatchInlineSnapshot(`"{\\"slug\\":\\"hello/world\\"}"`)
expect(text).toMatchInlineSnapshot(`"{"slug":"hello/world"}"`)
} finally {
await browser.close()
}
@ -184,8 +184,8 @@ describe('Link Component with Encoding', () => {
try {
const text = await browser.elementByCss('#query-content').text()
expect(JSON.parse(text)).toMatchInlineSnapshot(`
Object {
"slug": "hello\\"world",
{
"slug": "hello"world",
}
`)
} finally {
@ -210,8 +210,8 @@ describe('Link Component with Encoding', () => {
})
const text = await browser.elementByCss('#query-content').text()
expect(JSON.parse(text)).toMatchInlineSnapshot(`
Object {
"slug": "hello\\"world",
{
"slug": "hello"world",
}
`)
} finally {
@ -231,8 +231,8 @@ describe('Link Component with Encoding', () => {
})
const text = await browser.elementByCss('#query-content').text()
expect(JSON.parse(text)).toMatchInlineSnapshot(`
Object {
"slug": "hello\\"world",
{
"slug": "hello"world",
}
`)
} finally {
@ -249,7 +249,7 @@ describe('Link Component with Encoding', () => {
)
try {
const text = await browser.elementByCss('#query-content').text()
expect(text).toMatchInlineSnapshot(`"{\\"slug\\":\\"hello:world\\"}"`)
expect(text).toMatchInlineSnapshot(`"{"slug":"hello:world"}"`)
} finally {
await browser.close()
}
@ -271,7 +271,7 @@ describe('Link Component with Encoding', () => {
},
})
const text = await browser.elementByCss('#query-content').text()
expect(text).toMatchInlineSnapshot(`"{\\"slug\\":\\"hello:world\\"}"`)
expect(text).toMatchInlineSnapshot(`"{"slug":"hello:world"}"`)
} finally {
await browser.close()
}
@ -288,7 +288,7 @@ describe('Link Component with Encoding', () => {
},
})
const text = await browser.elementByCss('#query-content').text()
expect(text).toMatchInlineSnapshot(`"{\\"slug\\":\\"hello:world\\"}"`)
expect(text).toMatchInlineSnapshot(`"{"slug":"hello:world"}"`)
} finally {
await browser.close()
}

View file

@ -510,7 +510,7 @@ describe('Prefetching Links in viewport', () => {
// eslint-disable-next-line no-eval
eval(content)
expect([...self.__SSG_MANIFEST].sort()).toMatchInlineSnapshot(`
Array [
[
"/[...rest]",
"/ssg/basic",
"/ssg/catch-all/[...slug]",

View file

@ -98,7 +98,7 @@ describe('Valid CSS Module Usage from within node_modules', () => {
const cssPreload = $('#nm-div')
expect(cssPreload.text()).toMatchInlineSnapshot(
`"{\\"message\\":\\"Why hello there\\"} {\\"redText\\":\\"example_redText__jsP_3\\"}"`
`"{"message":"Why hello there"} {"redText":"example_redText__jsP_3"}"`
)
})
@ -153,7 +153,7 @@ describe('Valid Nested CSS Module Usage from within node_modules', () => {
const cssPreload = $('#nm-div')
expect(cssPreload.text()).toMatchInlineSnapshot(
`"{\\"message\\":\\"Why hello there\\"} {\\"other2\\":\\"example_other2__HNcoQ\\",\\"subClass\\":\\"example_subClass__SxkPt other_className___l2o_\\"}"`
`"{"message":"Why hello there"} {"other2":"example_other2__HNcoQ","subClass":"example_subClass__SxkPt other_className___l2o_"}"`
)
})

View file

@ -102,9 +102,9 @@ describe('SCSS Support', () => {
const { version, mappings, sourcesContent } = JSON.parse(cssMapContent)
expect({ version, mappings, sourcesContent }).toMatchInlineSnapshot(`
Object {
{
"mappings": "AAEE,uBACE,SAHE,CAON,cACE,2CAAA",
"sourcesContent": Array [
"sourcesContent": [
"$var: red;
.redText {
::placeholder {

View file

@ -48,7 +48,7 @@ describe('SCSS Support loader handling', () => {
)
.sort()
).toMatchInlineSnapshot(`
Array [
[
"dark.svg",
"dark2.svg",
"light.svg",
@ -100,7 +100,7 @@ describe('SCSS Support loader handling', () => {
)
.sort()
).toMatchInlineSnapshot(`
Array [
[
"darka.svg",
"darkb.svg",
"light.svg",
@ -150,7 +150,7 @@ describe('SCSS Support loader handling', () => {
)
.sort()
).toMatchInlineSnapshot(`
Array [
[
"dark.svg",
"dark2.svg",
"light.svg",
@ -200,7 +200,7 @@ describe('SCSS Support loader handling', () => {
)
.sort()
).toMatchInlineSnapshot(`
Array [
[
"dark.svg",
"dark2.svg",
"light.svg",

View file

@ -26,38 +26,38 @@ import path from 'path'
expect(code).toBe(0)
expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`
"{
\\"compilerOptions\\": {
\\"lib\\": [
\\"dom\\",
\\"dom.iterable\\",
\\"esnext\\"
"compilerOptions": {
"lib": [
"dom",
"dom.iterable",
"esnext"
],
\\"allowJs\\": true,
\\"skipLibCheck\\": true,
\\"strict\\": false,
\\"noEmit\\": true,
\\"incremental\\": true,
\\"esModuleInterop\\": true,
\\"module\\": \\"esnext\\",
\\"moduleResolution\\": \\"node\\",
\\"resolveJsonModule\\": true,
\\"isolatedModules\\": true,
\\"jsx\\": \\"preserve\\",
\\"plugins\\": [
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"noEmit": true,
"incremental": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"plugins": [
{
\\"name\\": \\"next\\"
"name": "next"
}
],
\\"strictNullChecks\\": true
"strictNullChecks": true
},
\\"include\\": [
\\"next-env.d.ts\\",
\\".next/types/**/*.ts\\",
\\"**/*.ts\\",
\\"**/*.tsx\\"
"include": [
"next-env.d.ts",
".next/types/**/*.ts",
"**/*.ts",
"**/*.tsx"
],
\\"exclude\\": [
\\"node_modules\\"
"exclude": [
"node_modules"
]
}
"
@ -80,38 +80,38 @@ import path from 'path'
expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`
"{
\\"compilerOptions\\": {
\\"lib\\": [
\\"dom\\",
\\"dom.iterable\\",
\\"esnext\\"
"compilerOptions": {
"lib": [
"dom",
"dom.iterable",
"esnext"
],
\\"allowJs\\": true,
\\"skipLibCheck\\": true,
\\"strict\\": false,
\\"noEmit\\": true,
\\"incremental\\": true,
\\"esModuleInterop\\": true,
\\"module\\": \\"esnext\\",
\\"moduleResolution\\": \\"node\\",
\\"resolveJsonModule\\": true,
\\"isolatedModules\\": true,
\\"jsx\\": \\"preserve\\",
\\"plugins\\": [
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"noEmit": true,
"incremental": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"plugins": [
{
\\"name\\": \\"next\\"
"name": "next"
}
],
\\"strictNullChecks\\": true
"strictNullChecks": true
},
\\"include\\": [
\\"next-env.d.ts\\",
\\".next/types/**/*.ts\\",
\\"**/*.ts\\",
\\"**/*.tsx\\"
"include": [
"next-env.d.ts",
".next/types/**/*.ts",
"**/*.ts",
"**/*.tsx"
],
\\"exclude\\": [
\\"node_modules\\"
"exclude": [
"node_modules"
]
}
"
@ -148,43 +148,43 @@ import path from 'path'
"// top-level comment
{
// in-object comment 1
\\"compilerOptions\\": {
"compilerOptions": {
// in-object comment
\\"esModuleInterop\\": true, // this should be true
\\"module\\": \\"esnext\\" // should not be umd
"esModuleInterop": true, // this should be true
"module": "esnext" // should not be umd
// end-object comment
,
\\"lib\\": [
\\"dom\\",
\\"dom.iterable\\",
\\"esnext\\"
"lib": [
"dom",
"dom.iterable",
"esnext"
],
\\"allowJs\\": true,
\\"skipLibCheck\\": true,
\\"strict\\": false,
\\"noEmit\\": true,
\\"incremental\\": true,
\\"moduleResolution\\": \\"node\\",
\\"resolveJsonModule\\": true,
\\"isolatedModules\\": true,
\\"jsx\\": \\"preserve\\",
\\"plugins\\": [
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"noEmit": true,
"incremental": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"plugins": [
{
\\"name\\": \\"next\\"
"name": "next"
}
],
\\"strictNullChecks\\": true
"strictNullChecks": true
}
// in-object comment 2
,
\\"include\\": [
\\"next-env.d.ts\\",
\\".next/types/**/*.ts\\",
\\"**/*.ts\\",
\\"**/*.tsx\\"
"include": [
"next-env.d.ts",
".next/types/**/*.ts",
"**/*.ts",
"**/*.tsx"
],
\\"exclude\\": [
\\"node_modules\\"
"exclude": [
"node_modules"
]
}
// end comment
@ -205,38 +205,38 @@ import path from 'path'
expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`
"{
\\"compilerOptions\\": {
\\"esModuleInterop\\": true,
\\"module\\": \\"commonjs\\",
\\"lib\\": [
\\"dom\\",
\\"dom.iterable\\",
\\"esnext\\"
"compilerOptions": {
"esModuleInterop": true,
"module": "commonjs",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
\\"allowJs\\": true,
\\"skipLibCheck\\": true,
\\"strict\\": false,
\\"noEmit\\": true,
\\"incremental\\": true,
\\"moduleResolution\\": \\"node\\",
\\"resolveJsonModule\\": true,
\\"isolatedModules\\": true,
\\"jsx\\": \\"preserve\\",
\\"plugins\\": [
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"noEmit": true,
"incremental": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"plugins": [
{
\\"name\\": \\"next\\"
"name": "next"
}
],
\\"strictNullChecks\\": true
"strictNullChecks": true
},
\\"include\\": [
\\"next-env.d.ts\\",
\\".next/types/**/*.ts\\",
\\"**/*.ts\\",
\\"**/*.tsx\\"
"include": [
"next-env.d.ts",
".next/types/**/*.ts",
"**/*.ts",
"**/*.tsx"
],
\\"exclude\\": [
\\"node_modules\\"
"exclude": [
"node_modules"
]
}
"
@ -256,38 +256,38 @@ import path from 'path'
expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`
"{
\\"compilerOptions\\": {
\\"esModuleInterop\\": true,
\\"module\\": \\"es2020\\",
\\"lib\\": [
\\"dom\\",
\\"dom.iterable\\",
\\"esnext\\"
"compilerOptions": {
"esModuleInterop": true,
"module": "es2020",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
\\"allowJs\\": true,
\\"skipLibCheck\\": true,
\\"strict\\": false,
\\"noEmit\\": true,
\\"incremental\\": true,
\\"moduleResolution\\": \\"node\\",
\\"resolveJsonModule\\": true,
\\"isolatedModules\\": true,
\\"jsx\\": \\"preserve\\",
\\"plugins\\": [
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"noEmit": true,
"incremental": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"plugins": [
{
\\"name\\": \\"next\\"
"name": "next"
}
],
\\"strictNullChecks\\": true
"strictNullChecks": true
},
\\"include\\": [
\\"next-env.d.ts\\",
\\".next/types/**/*.ts\\",
\\"**/*.ts\\",
\\"**/*.tsx\\"
"include": [
"next-env.d.ts",
".next/types/**/*.ts",
"**/*.ts",
"**/*.tsx"
],
\\"exclude\\": [
\\"node_modules\\"
"exclude": [
"node_modules"
]
}
"
@ -311,38 +311,38 @@ import path from 'path'
expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`
"{
\\"compilerOptions\\": {
\\"esModuleInterop\\": true,
\\"moduleResolution\\": \\"node16\\",
\\"module\\": \\"node16\\",
\\"lib\\": [
\\"dom\\",
\\"dom.iterable\\",
\\"esnext\\"
"compilerOptions": {
"esModuleInterop": true,
"moduleResolution": "node16",
"module": "node16",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
\\"allowJs\\": true,
\\"skipLibCheck\\": true,
\\"strict\\": false,
\\"noEmit\\": true,
\\"incremental\\": true,
\\"resolveJsonModule\\": true,
\\"isolatedModules\\": true,
\\"jsx\\": \\"preserve\\",
\\"plugins\\": [
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"noEmit": true,
"incremental": true,
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"plugins": [
{
\\"name\\": \\"next\\"
"name": "next"
}
],
\\"strictNullChecks\\": true
"strictNullChecks": true
},
\\"include\\": [
\\"next-env.d.ts\\",
\\".next/types/**/*.ts\\",
\\"**/*.ts\\",
\\"**/*.tsx\\"
"include": [
"next-env.d.ts",
".next/types/**/*.ts",
"**/*.ts",
"**/*.tsx"
],
\\"exclude\\": [
\\"node_modules\\"
"exclude": [
"node_modules"
]
}
"
@ -366,38 +366,38 @@ import path from 'path'
expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`
"{
\\"compilerOptions\\": {
\\"esModuleInterop\\": true,
\\"moduleResolution\\": \\"bundler\\",
\\"lib\\": [
\\"dom\\",
\\"dom.iterable\\",
\\"esnext\\"
"compilerOptions": {
"esModuleInterop": true,
"moduleResolution": "bundler",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
\\"allowJs\\": true,
\\"skipLibCheck\\": true,
\\"strict\\": false,
\\"noEmit\\": true,
\\"incremental\\": true,
\\"module\\": \\"esnext\\",
\\"resolveJsonModule\\": true,
\\"isolatedModules\\": true,
\\"jsx\\": \\"preserve\\",
\\"plugins\\": [
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"noEmit": true,
"incremental": true,
"module": "esnext",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"plugins": [
{
\\"name\\": \\"next\\"
"name": "next"
}
],
\\"strictNullChecks\\": true
"strictNullChecks": true
},
\\"include\\": [
\\"next-env.d.ts\\",
\\".next/types/**/*.ts\\",
\\"**/*.ts\\",
\\"**/*.tsx\\"
"include": [
"next-env.d.ts",
".next/types/**/*.ts",
"**/*.ts",
"**/*.tsx"
],
\\"exclude\\": [
\\"node_modules\\"
"exclude": [
"node_modules"
]
}
"
@ -418,39 +418,39 @@ import path from 'path'
expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`
"{
\\"compilerOptions\\": {
\\"target\\": \\"es2022\\",
\\"lib\\": [
\\"dom\\",
\\"dom.iterable\\",
\\"esnext\\"
"compilerOptions": {
"target": "es2022",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
\\"allowJs\\": true,
\\"skipLibCheck\\": true,
\\"strict\\": false,
\\"noEmit\\": true,
\\"incremental\\": true,
\\"esModuleInterop\\": true,
\\"module\\": \\"esnext\\",
\\"moduleResolution\\": \\"node\\",
\\"resolveJsonModule\\": true,
\\"isolatedModules\\": true,
\\"jsx\\": \\"preserve\\",
\\"plugins\\": [
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"noEmit": true,
"incremental": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"plugins": [
{
\\"name\\": \\"next\\"
"name": "next"
}
],
\\"strictNullChecks\\": true
"strictNullChecks": true
},
\\"include\\": [
\\"next-env.d.ts\\",
\\".next/types/**/*.ts\\",
\\"**/*.ts\\",
\\"**/*.tsx\\"
"include": [
"next-env.d.ts",
".next/types/**/*.ts",
"**/*.ts",
"**/*.tsx"
],
\\"exclude\\": [
\\"node_modules\\"
"exclude": [
"node_modules"
]
}
"
@ -474,38 +474,38 @@ import path from 'path'
expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`
"{
\\"compilerOptions\\": {
\\"esModuleInterop\\": true,
\\"module\\": \\"node16\\",
\\"moduleResolution\\": \\"node16\\",
\\"lib\\": [
\\"dom\\",
\\"dom.iterable\\",
\\"esnext\\"
"compilerOptions": {
"esModuleInterop": true,
"module": "node16",
"moduleResolution": "node16",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
\\"allowJs\\": true,
\\"skipLibCheck\\": true,
\\"strict\\": false,
\\"noEmit\\": true,
\\"incremental\\": true,
\\"resolveJsonModule\\": true,
\\"isolatedModules\\": true,
\\"jsx\\": \\"preserve\\",
\\"plugins\\": [
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"noEmit": true,
"incremental": true,
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"plugins": [
{
\\"name\\": \\"next\\"
"name": "next"
}
],
\\"strictNullChecks\\": true
"strictNullChecks": true
},
\\"include\\": [
\\"next-env.d.ts\\",
\\".next/types/**/*.ts\\",
\\"**/*.ts\\",
\\"**/*.tsx\\"
"include": [
"next-env.d.ts",
".next/types/**/*.ts",
"**/*.ts",
"**/*.tsx"
],
\\"exclude\\": [
\\"node_modules\\"
"exclude": [
"node_modules"
]
}
"
@ -529,38 +529,38 @@ import path from 'path'
expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`
"{
\\"compilerOptions\\": {
\\"verbatimModuleSyntax\\": true,
\\"lib\\": [
\\"dom\\",
\\"dom.iterable\\",
\\"esnext\\"
"compilerOptions": {
"verbatimModuleSyntax": true,
"lib": [
"dom",
"dom.iterable",
"esnext"
],
\\"allowJs\\": true,
\\"skipLibCheck\\": true,
\\"strict\\": false,
\\"noEmit\\": true,
\\"incremental\\": true,
\\"esModuleInterop\\": true,
\\"module\\": \\"esnext\\",
\\"moduleResolution\\": \\"node\\",
\\"resolveJsonModule\\": true,
\\"jsx\\": \\"preserve\\",
\\"plugins\\": [
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"noEmit": true,
"incremental": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"jsx": "preserve",
"plugins": [
{
\\"name\\": \\"next\\"
"name": "next"
}
],
\\"strictNullChecks\\": true
"strictNullChecks": true
},
\\"include\\": [
\\"next-env.d.ts\\",
\\".next/types/**/*.ts\\",
\\"**/*.ts\\",
\\"**/*.tsx\\"
"include": [
"next-env.d.ts",
".next/types/**/*.ts",
"**/*.ts",
"**/*.tsx"
],
\\"exclude\\": [
\\"node_modules\\"
"exclude": [
"node_modules"
]
}
"
@ -586,38 +586,38 @@ import path from 'path'
expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`
"{
\\"extends\\": \\"./tsconfig.base.json\\",
\\"compilerOptions\\": {
\\"lib\\": [
\\"dom\\",
\\"dom.iterable\\",
\\"esnext\\"
"extends": "./tsconfig.base.json",
"compilerOptions": {
"lib": [
"dom",
"dom.iterable",
"esnext"
],
\\"allowJs\\": true,
\\"skipLibCheck\\": true,
\\"strict\\": false,
\\"noEmit\\": true,
\\"incremental\\": true,
\\"esModuleInterop\\": true,
\\"module\\": \\"esnext\\",
\\"moduleResolution\\": \\"node\\",
\\"resolveJsonModule\\": true,
\\"jsx\\": \\"preserve\\",
\\"plugins\\": [
"allowJs": true,
"skipLibCheck": true,
"strict": false,
"noEmit": true,
"incremental": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"jsx": "preserve",
"plugins": [
{
\\"name\\": \\"next\\"
"name": "next"
}
],
\\"strictNullChecks\\": true
"strictNullChecks": true
},
\\"include\\": [
\\"next-env.d.ts\\",
\\".next/types/**/*.ts\\",
\\"**/*.ts\\",
\\"**/*.tsx\\"
"include": [
"next-env.d.ts",
".next/types/**/*.ts",
"**/*.ts",
"**/*.tsx"
],
\\"exclude\\": [
\\"node_modules\\"
"exclude": [
"node_modules"
]
}
"
@ -682,7 +682,7 @@ import path from 'path'
expect(code).toBe(0)
expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(
`"{ \\"extends\\": \\"./tsconfig.base.json\\" }"`
`"{ "extends": "./tsconfig.base.json" }"`
)
})
@ -744,10 +744,10 @@ import path from 'path'
expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`
"{
\\"extends\\": \\"./tsconfig.base.json\\",
\\"compilerOptions\\": {
\\"incremental\\": true,
\\"strictNullChecks\\": true
"extends": "./tsconfig.base.json",
"compilerOptions": {
"incremental": true,
"strictNullChecks": true
}
}
"

23
test/jest.d.ts vendored
View file

@ -1,23 +0,0 @@
/// <reference types="jest" />
/// <reference types="jest-extended" />
declare namespace jest {
// https://github.com/jestjs/jest/blob/6460335f88cee3dcb9d29c49d55ab02b9d83f994/packages/expect/src/types.ts#L58-L72
interface MatcherState {
assertionCalls: number
error?: Error
expectedAssertionsNumber: number | null
expectedAssertionsNumberError?: Error
isExpectingAssertionsError?: Error
isNot?: boolean
numPassingAsserts: number
promise?: string
suppressedErrors: Array<Error>
}
interface Expect {
// https://github.com/jestjs/jest/blob/6460335f88cee3dcb9d29c49d55ab02b9d83f994/packages/expect/src/index.ts#L461
// https://github.com/jestjs/jest/blob/6460335f88cee3dcb9d29c49d55ab02b9d83f994/packages/expect/src/jestMatchersObject.ts#L44-L45
getState(): MatcherState
}
}

View file

@ -1062,7 +1062,7 @@ export async function getRedboxComponentStack(
*/
export const describeVariants = {
each(variants: TestVariants[]) {
return (name: string, fn: (...args: TestVariants[]) => any) => {
return (name: string, fn: (variants: TestVariants) => any) => {
if (
!Array.isArray(variants) ||
!variants.every((val) => typeof val === 'string')

View file

@ -36,7 +36,7 @@ describe('babel plugin (next-ssg-transform)', () => {
}
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export default function Test(){return __jsx(\\"div\\",null);}"`
`"export var __N_SSG=true;export default function Test(){return __jsx("div",null);}"`
)
})
@ -49,7 +49,7 @@ describe('babel plugin (next-ssg-transform)', () => {
}
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export default function Test(){return __jsx(\\"div\\",null);}"`
`"export var __N_SSG=true;export default function Test(){return __jsx("div",null);}"`
)
})
@ -62,7 +62,7 @@ describe('babel plugin (next-ssg-transform)', () => {
}
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export{foo,bar as baz}from'.';export default function Test(){return __jsx(\\"div\\",null);}"`
`"export var __N_SSG=true;export{foo,bar as baz}from'.';export default function Test(){return __jsx("div",null);}"`
)
})
@ -82,7 +82,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export default function Test(){return __jsx(\\"div\\",null);}"`
`"export var __N_SSG=true;export default function Test(){return __jsx("div",null);}"`
)
})
@ -102,7 +102,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export default function Test(){return __jsx(\\"div\\",null);}"`
`"export var __N_SSG=true;export default function Test(){return __jsx("div",null);}"`
)
})
@ -120,7 +120,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export function Noop(){}export default function Test(){return __jsx(\\"div\\",null);}"`
`"export var __N_SSG=true;export function Noop(){}export default function Test(){return __jsx("div",null);}"`
)
})
@ -140,7 +140,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export default function Test(){return __jsx(\\"div\\",null);}"`
`"export var __N_SSG=true;export default function Test(){return __jsx("div",null);}"`
)
})
@ -160,7 +160,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export default function Test(){return __jsx(\\"div\\",null);}"`
`"export var __N_SSG=true;export default function Test(){return __jsx("div",null);}"`
)
})
@ -180,7 +180,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export const foo=2;export default function Test(){return __jsx(\\"div\\",null);}"`
`"export var __N_SSG=true;export const foo=2;export default function Test(){return __jsx("div",null);}"`
)
})
@ -198,7 +198,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export default function Test(){return __jsx(\\"div\\",null);}"`
`"export var __N_SSG=true;export default function Test(){return __jsx("div",null);}"`
)
})
@ -216,7 +216,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"const a=2;export var __N_SSG=true;export default function Test(){return __jsx(\\"div\\",null);}"`
`"const a=2;export var __N_SSG=true;export default function Test(){return __jsx("div",null);}"`
)
})
@ -234,7 +234,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export default function Test(){return __jsx(\\"div\\",null);}"`
`"export var __N_SSG=true;export default function Test(){return __jsx("div",null);}"`
)
})
@ -254,7 +254,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export class MyClass{}export default function Test(){return __jsx(\\"div\\",null);}"`
`"export var __N_SSG=true;export class MyClass{}export default function Test(){return __jsx("div",null);}"`
)
})
@ -301,7 +301,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"import keep_me from'hello';import{keep_me2}from'hello2';import*as keep_me3 from'hello3';import{but_not_me}from'bar';var leave_me_alone=1;function dont_bug_me_either(){}export var __N_SSG=true;export default function Test(){return __jsx(\\"div\\",null);}"`
`"import keep_me from'hello';import{keep_me2}from'hello2';import*as keep_me3 from'hello3';import{but_not_me}from'bar';var leave_me_alone=1;function dont_bug_me_either(){}export var __N_SSG=true;export default function Test(){return __jsx("div",null);}"`
)
})
@ -342,7 +342,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export default class Test extends React.Component{render(){return __jsx(\\"div\\",null);}}"`
`"export var __N_SSG=true;export default class Test extends React.Component{render(){return __jsx("div",null);}}"`
)
})
@ -362,7 +362,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"class Test extends React.Component{render(){return __jsx(\\"div\\",null);}}export var __N_SSG=true;export default Test;"`
`"class Test extends React.Component{render(){return __jsx("div",null);}}export var __N_SSG=true;export default Test;"`
)
})
@ -380,7 +380,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"function El(){return __jsx(\\"div\\",null);}export var __N_SSG=true;export{El as default};"`
`"function El(){return __jsx("div",null);}export var __N_SSG=true;export{El as default};"`
)
})
@ -400,7 +400,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"function El(){return __jsx(\\"div\\",null);}const a=5;export var __N_SSG=true;export{El as default,a};"`
`"function El(){return __jsx("div",null);}const a=5;export var __N_SSG=true;export{El as default,a};"`
)
})
@ -422,7 +422,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"class El extends React.Component{render(){return __jsx(\\"div\\",null);}}const a=5;export var __N_SSG=true;export{El as default,a};"`
`"class El extends React.Component{render(){return __jsx("div",null);}}const a=5;export var __N_SSG=true;export{El as default,a};"`
)
})
@ -449,7 +449,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"export var __N_SSG=true;export default function Home(){return __jsx(\\"div\\",null);}"`
`"export var __N_SSG=true;export default function Home(){return __jsx("div",null);}"`
)
})
@ -473,7 +473,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"import other from'other';const{a,cat:bar}=other;export var __N_SSG=true;export default function Home(){return __jsx(\\"div\\",null);}"`
`"import other from'other';const{a,cat:bar}=other;export var __N_SSG=true;export default function Home(){return __jsx("div",null);}"`
)
})
@ -495,7 +495,7 @@ describe('babel plugin (next-ssg-transform)', () => {
`)
expect(output).toMatchInlineSnapshot(
`"import other from'other';const[foo]=other;export var __N_SSG=true;export default function Home(){return __jsx(\\"div\\",null);}"`
`"import other from'other';const[foo]=other;export var __N_SSG=true;export default function Home(){return __jsx("div",null);}"`
)
})

View file

@ -5,13 +5,13 @@ describe('isSerializableProps', () => {
it('handles null and undefined props', () => {
expect(() => isSerializableProps('/', 'test', null))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing props returned from \`test\` in \\"/\\".
"Error serializing props returned from \`test\` in "/".
Reason: Props must be returned as a plain object from test: \`{ props: { ... } }\` (received: \`[object Null]\`)."
`)
expect(() => isSerializableProps('/', 'test', undefined))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing props returned from \`test\` in \\"/\\".
"Error serializing props returned from \`test\` in "/".
Reason: Props must be returned as a plain object from test: \`{ props: { ... } }\` (received: \`[object Undefined]\`)."
`)
})
@ -19,19 +19,19 @@ describe('isSerializableProps', () => {
it('handles non-plain object props', () => {
expect(() => isSerializableProps('/', 'test', []))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing props returned from \`test\` in \\"/\\".
"Error serializing props returned from \`test\` in "/".
Reason: Props must be returned as a plain object from test: \`{ props: { ... } }\` (received: \`[object Array]\`)."
`)
expect(() => isSerializableProps('/', 'test', class Foobar {}))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing props returned from \`test\` in \\"/\\".
"Error serializing props returned from \`test\` in "/".
Reason: Props must be returned as a plain object from test: \`{ props: { ... } }\` (received: \`[object Function]\`)."
`)
expect(() => isSerializableProps('/', 'test', function Foobar() {}))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing props returned from \`test\` in \\"/\\".
"Error serializing props returned from \`test\` in "/".
Reason: Props must be returned as a plain object from test: \`{ props: { ... } }\` (received: \`[object Function]\`)."
`)
})
@ -108,32 +108,32 @@ describe('isSerializableProps', () => {
it('disallows top-level non-serializable types', () => {
expect(() => isSerializableProps('/', 'test', { toplevel: new Date() }))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.toplevel\` returned from \`test\` in \\"/\\".
Reason: \`object\` (\\"[object Date]\\") cannot be serialized as JSON. Please only return JSON serializable data types."
"Error serializing \`.toplevel\` returned from \`test\` in "/".
Reason: \`object\` ("[object Date]") cannot be serialized as JSON. Please only return JSON serializable data types."
`)
expect(() => isSerializableProps('/', 'test', { toplevel: class A {} }))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.toplevel\` returned from \`test\` in \\"/\\".
"Error serializing \`.toplevel\` returned from \`test\` in "/".
Reason: \`function\` cannot be serialized as JSON. Please only return JSON serializable data types."
`)
expect(() => isSerializableProps('/', 'test', { toplevel: undefined }))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.toplevel\` returned from \`test\` in \\"/\\".
"Error serializing \`.toplevel\` returned from \`test\` in "/".
Reason: \`undefined\` cannot be serialized as JSON. Please use \`null\` or omit this value."
`)
expect(() =>
isSerializableProps('/', 'test', { toplevel: Symbol('FOOBAR') })
).toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.toplevel\` returned from \`test\` in \\"/\\".
"Error serializing \`.toplevel\` returned from \`test\` in "/".
Reason: \`symbol\` cannot be serialized as JSON. Please only return JSON serializable data types."
`)
expect(() => isSerializableProps('/', 'test', { toplevel: function () {} }))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.toplevel\` returned from \`test\` in \\"/\\".
"Error serializing \`.toplevel\` returned from \`test\` in "/".
Reason: \`function\` cannot be serialized as JSON. Please only return JSON serializable data types."
`)
})
@ -142,34 +142,34 @@ describe('isSerializableProps', () => {
expect(() =>
isSerializableProps('/', 'test', { k: { a: [1, { n: new Date() }] } })
).toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.k.a[1].n\` returned from \`test\` in \\"/\\".
Reason: \`object\` (\\"[object Date]\\") cannot be serialized as JSON. Please only return JSON serializable data types."
"Error serializing \`.k.a[1].n\` returned from \`test\` in "/".
Reason: \`object\` ("[object Date]") cannot be serialized as JSON. Please only return JSON serializable data types."
`)
expect(() =>
isSerializableProps('/', 'test', { k: { a: [1, { n: class A {} }] } })
).toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.k.a[1].n\` returned from \`test\` in \\"/\\".
"Error serializing \`.k.a[1].n\` returned from \`test\` in "/".
Reason: \`function\` cannot be serialized as JSON. Please only return JSON serializable data types."
`)
expect(() => isSerializableProps('/', 'test', { k: { a: [1, undefined] } }))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.k.a[1]\` returned from \`test\` in \\"/\\".
"Error serializing \`.k.a[1]\` returned from \`test\` in "/".
Reason: \`undefined\` cannot be serialized as JSON. Please use \`null\` or omit this value."
`)
expect(() =>
isSerializableProps('/', 'test', { k: { n: Symbol('FOOBAR') } })
).toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.k.n\` returned from \`test\` in \\"/\\".
"Error serializing \`.k.n\` returned from \`test\` in "/".
Reason: \`symbol\` cannot be serialized as JSON. Please only return JSON serializable data types."
`)
expect(() =>
isSerializableProps('/', 'test', { k: { a: [function () {}] } })
).toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.k.a[0]\` returned from \`test\` in \\"/\\".
"Error serializing \`.k.a[0]\` returned from \`test\` in "/".
Reason: \`function\` cannot be serialized as JSON. Please only return JSON serializable data types."
`)
})
@ -180,13 +180,13 @@ describe('isSerializableProps', () => {
expect(() => isSerializableProps('/', 'test', obj))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.child\` returned from \`test\` in \\"/\\".
"Error serializing \`.child\` returned from \`test\` in "/".
Reason: Circular references cannot be expressed in JSON (references: \`(self)\`)."
`)
expect(() => isSerializableProps('/', 'test', { k: [obj] }))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.k[0].child\` returned from \`test\` in \\"/\\".
"Error serializing \`.k[0].child\` returned from \`test\` in "/".
Reason: Circular references cannot be expressed in JSON (references: \`.k[0]\`)."
`)
})
@ -197,13 +197,13 @@ describe('isSerializableProps', () => {
expect(() => isSerializableProps('/', 'test', { arr }))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.arr[2]\` returned from \`test\` in \\"/\\".
"Error serializing \`.arr[2]\` returned from \`test\` in "/".
Reason: Circular references cannot be expressed in JSON (references: \`.arr\`)."
`)
expect(() => isSerializableProps('/', 'test', { k: [{ arr }] }))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.k[0].arr[2]\` returned from \`test\` in \\"/\\".
"Error serializing \`.k[0].arr[2]\` returned from \`test\` in "/".
Reason: Circular references cannot be expressed in JSON (references: \`.k[0].arr\`)."
`)
})
@ -214,7 +214,7 @@ describe('isSerializableProps', () => {
expect(() => isSerializableProps('/', 'test', obj))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.leve1.level2.child\` returned from \`test\` in \\"/\\".
"Error serializing \`.leve1.level2.child\` returned from \`test\` in "/".
Reason: Circular references cannot be expressed in JSON (references: \`(self)\`)."
`)
})
@ -225,7 +225,7 @@ describe('isSerializableProps', () => {
expect(() => isSerializableProps('/', 'test', obj))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.leve1.level2.child[0].another[0]\` returned from \`test\` in \\"/\\".
"Error serializing \`.leve1.level2.child[0].another[0]\` returned from \`test\` in "/".
Reason: Circular references cannot be expressed in JSON (references: \`(self)\`)."
`)
})
@ -236,7 +236,7 @@ describe('isSerializableProps', () => {
expect(() => isSerializableProps('/', 'test', { k: arr }))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.k[3][1][2]\` returned from \`test\` in \\"/\\".
"Error serializing \`.k[3][1][2]\` returned from \`test\` in "/".
Reason: Circular references cannot be expressed in JSON (references: \`.k\`)."
`)
})
@ -247,7 +247,7 @@ describe('isSerializableProps', () => {
expect(() => isSerializableProps('/', 'test', { k: arr }))
.toThrowErrorMatchingInlineSnapshot(`
"Error serializing \`.k[3][1].nested[2]\` returned from \`test\` in \\"/\\".
"Error serializing \`.k[3][1].nested[2]\` returned from \`test\` in "/".
Reason: Circular references cannot be expressed in JSON (references: \`.k\`)."
`)
})

View file

@ -14,7 +14,7 @@ describe('Link rendering', () => {
)
const html = ReactDOM.renderToString(element)
expect(html).toMatchInlineSnapshot(
`"<a href=\\"/my-path\\">to another page</a>"`
`"<a href="/my-path">to another page</a>"`
)
})
})

View file

@ -58,7 +58,7 @@ describe('next-babel-loader', () => {
const code = await babel(`process.env.NODE_ENV`, {
isServer: false,
})
expect(code).toMatchInlineSnapshot(`"\\"development\\";"`)
expect(code).toMatchInlineSnapshot(`""development";"`)
})
it('should replace NODE_ENV in statement (dev)', async () => {

View file

@ -58,18 +58,18 @@ describe('next-babel-loader', () => {
it('should replace typeof window expression nested', async () => {
const code = await babel('function a(){console.log(typeof window)}')
expect(code).toMatchInlineSnapshot(
`"function a() { console.log(\\"object\\");}"`
`"function a() { console.log("object");}"`
)
})
it('should replace typeof window expression top level (client)', async () => {
const code = await babel('typeof window;')
expect(code).toMatchInlineSnapshot(`"\\"object\\";"`)
expect(code).toMatchInlineSnapshot(`""object";"`)
})
it('should replace typeof window expression top level (server)', async () => {
const code = await babel('typeof window;', { isServer: true })
expect(code).toMatchInlineSnapshot(`"\\"undefined\\";"`)
expect(code).toMatchInlineSnapshot(`""undefined";"`)
})
it('should replace typeof window in === expression nested', async () => {
@ -154,14 +154,14 @@ describe('next-babel-loader', () => {
const code = await babel(`process.env.NODE_ENV`, {
isServer: false,
})
expect(code).toMatchInlineSnapshot(`"\\"production\\";"`)
expect(code).toMatchInlineSnapshot(`""production";"`)
})
it('should replace NODE_ENV on server', async () => {
const code = await babel(`process.env.NODE_ENV`, {
isServer: true,
})
expect(code).toMatchInlineSnapshot(`"\\"production\\";"`)
expect(code).toMatchInlineSnapshot(`""production";"`)
})
it('should replace NODE_ENV in === statement (prod)', async () => {
@ -192,7 +192,7 @@ describe('next-babel-loader', () => {
expect(
code.replace(/modules: \[".*?"/, 'modules:["/path/to/page"')
).toMatchInlineSnapshot(
`"var _jsxFileName = \\"index.js\\";import React from \\"react\\";var __jsx = React.createElement;import dynamic from 'next/dynamic';const Comp = dynamic(() => import('comp'), { loadableGenerated: { webpack: () => [require.resolveWeak('comp')] }});export default function Page(props) { return __jsx(Comp, { __self: this, __source: { fileName: _jsxFileName, lineNumber: 7, columnNumber: 18 } });}"`
`"var _jsxFileName = "index.js";import React from "react";var __jsx = React.createElement;import dynamic from 'next/dynamic';const Comp = dynamic(() => import('comp'), { loadableGenerated: { webpack: () => [require.resolveWeak('comp')] }});export default function Page(props) { return __jsx(Comp, { __self: this, __source: { fileName: _jsxFileName, lineNumber: 7, columnNumber: 18 } });}"`
)
})
@ -210,7 +210,7 @@ describe('next-babel-loader', () => {
`import{e as ee,f as ff}from"f";`
)
expect(code).toMatchInlineSnapshot(
`"import \\"core-js\\";import { foo, bar } from \\"a\\";import baz from \\"b\\";import * as React from \\"react\\";import baz2, { yeet } from \\"c\\";import baz3, { cats } from \\"d\\";import { c, d } from \\"e\\";import { e as ee, f as ff } from \\"f\\";"`
`"import "core-js";import { foo, bar } from "a";import baz from "b";import * as React from "react";import baz2, { yeet } from "c";import baz3, { cats } from "d";import { c, d } from "e";import { e as ee, f as ff } from "f";"`
)
})
@ -231,7 +231,7 @@ describe('next-babel-loader', () => {
{ resourcePath: pageFile }
)
expect(code).toMatchInlineSnapshot(
`"import \\"core-js\\";import { foo, bar } from \\"a\\";import baz from \\"b\\";import * as React from \\"react\\";import baz2, { yeet } from \\"c\\";import baz3, { cats } from \\"d\\";import { c, d } from \\"e\\";import { e as ee, f as ff } from \\"f\\";"`
`"import "core-js";import { foo, bar } from "a";import baz from "b";import * as React from "react";import baz2, { yeet } from "c";import baz3, { cats } from "d";import { c, d } from "e";import { e as ee, f as ff } from "f";"`
)
})
@ -252,7 +252,7 @@ describe('next-babel-loader', () => {
{ resourcePath: pageFile }
)
expect(code).toMatchInlineSnapshot(
`"import \\"core-js\\";import * as React from \\"react\\";import { yeet } from \\"c\\";import baz3 from \\"d\\";import { c, d } from \\"e\\";import { e as ee } from \\"f\\";"`
`"import "core-js";import * as React from "react";import { yeet } from "c";import baz3 from "d";import { c, d } from "e";import { e as ee } from "f";"`
)
})
@ -274,7 +274,7 @@ describe('next-babel-loader', () => {
{ resourcePath: pageFile, isServer: true }
)
expect(code).toMatchInlineSnapshot(
`"import \\"core-js\\";import { foo, bar } from \\"a\\";import baz from \\"b\\";import ooo from \\"ooo\\";import * as React from \\"react\\";import baz2, { yeet } from \\"c\\";import baz3, { cats } from \\"d\\";import { c, d } from \\"e\\";import { e as ee, f as ff } from \\"f\\";export function getStaticProps() { foo(); baz2(); ff(); ooo(); return { props: {} };}export default function () { return bar();}"`
`"import "core-js";import { foo, bar } from "a";import baz from "b";import ooo from "ooo";import * as React from "react";import baz2, { yeet } from "c";import baz3, { cats } from "d";import { c, d } from "e";import { e as ee, f as ff } from "f";export function getStaticProps() { foo(); baz2(); ff(); ooo(); return { props: {} };}export default function () { return bar();}"`
)
})
@ -296,7 +296,7 @@ describe('next-babel-loader', () => {
{ resourcePath: pageFile, isServer: false }
)
expect(code).toMatchInlineSnapshot(
`"import \\"core-js\\";import { bar } from \\"a\\";import baz from \\"b\\";import * as React from \\"react\\";import { yeet } from \\"c\\";import baz3, { cats } from \\"d\\";import { c, d } from \\"e\\";import { e as ee } from \\"f\\";export var __N_SSG = true;export default function () { return cats + bar();}"`
`"import "core-js";import { bar } from "a";import baz from "b";import * as React from "react";import { yeet } from "c";import baz3, { cats } from "d";import { c, d } from "e";import { e as ee } from "f";export var __N_SSG = true;export default function () { return cats + bar();}"`
)
})

View file

@ -33,7 +33,7 @@ describe('next/babel', () => {
expect(
babel(`const a = ()=><a href="/">home</a>`, true)
).toMatchInlineSnapshot(
`"import React from\\"react\\";var __jsx=React.createElement;var a=function a(){return __jsx(\\"a\\",{href:\\"/\\"},\\"home\\");};"`
`"import React from"react";var __jsx=React.createElement;var a=function a(){return __jsx("a",{href:"/"},"home");};"`
)
})
@ -60,7 +60,7 @@ describe('next/babel', () => {
expect(output).toMatch(`__jsx("a",{href:"/"`)
expect(babel(`const a = ()=><a href="/">home</a>`)).toMatchInlineSnapshot(
`"\\"use strict\\";var _interopRequireDefault=require(\\"@babel/runtime/helpers/interopRequireDefault\\");var _react=_interopRequireDefault(require(\\"react\\"));var __jsx=_react[\\"default\\"].createElement;var a=function a(){return __jsx(\\"a\\",{href:\\"/\\"},\\"home\\");};"`
`""use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _react=_interopRequireDefault(require("react"));var __jsx=_react["default"].createElement;var a=function a(){return __jsx("a",{href:"/"},"home");};"`
)
})
@ -70,7 +70,7 @@ describe('next/babel', () => {
expect(output).toMatch(`React.Fragment`)
expect(babel(`const a = () => <>hello</>;`, true)).toMatchInlineSnapshot(
`"import React from\\"react\\";var __jsx=React.createElement;var a=function a(){return __jsx(React.Fragment,null,\\"hello\\");};"`
`"import React from"react";var __jsx=React.createElement;var a=function a(){return __jsx(React.Fragment,null,"hello");};"`
)
})
@ -84,7 +84,7 @@ describe('next/babel', () => {
)
expect(output).toMatchInlineSnapshot(
`"var React=require('react');var __jsx=React.createElement;module.exports=function(){return __jsx(\\"div\\",null,\\"test2\\");};"`
`"var React=require('react');var __jsx=React.createElement;module.exports=function(){return __jsx("div",null,"test2");};"`
)
})
})
@ -175,7 +175,7 @@ describe('next/babel', () => {
})
expect(output).toMatchInlineSnapshot(
`"import{jsx as _jsx}from\\"react/jsx-runtime\\";var a=function a(){return/*#__PURE__*/_jsx(\\"a\\",{href:\\"/\\",children:\\"home\\"});};"`
`"import{jsx as _jsx}from"react/jsx-runtime";var a=function a(){return/*#__PURE__*/_jsx("a",{href:"/",children:"home"});};"`
)
})
@ -188,7 +188,7 @@ describe('next/babel', () => {
})
expect(output).toMatchInlineSnapshot(
`"import React from\\"react\\";var __jsx=React.createElement;var a=function a(){return __jsx(\\"a\\",{href:\\"/\\"},\\"home\\");};"`
`"import React from"react";var __jsx=React.createElement;var a=function a(){return __jsx("a",{href:"/"},"home");};"`
)
})
})

View file

@ -28,7 +28,7 @@ describe('next/swc', () => {
if (Array.isArray(arr)) return arr;
}
function _iterable_to_array_limit(arr, i) {
var _i = arr == null ? null : typeof Symbol !== \\"undefined\\" && arr[Symbol.iterator] || arr[\\"@@iterator\\"];
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
if (_i == null) return;
var _arr = [];
var _n = true;
@ -44,7 +44,7 @@ describe('next/swc', () => {
_e = err;
} finally{
try {
if (!_n && _i[\\"return\\"] != null) _i[\\"return\\"]();
if (!_n && _i["return"] != null) _i["return"]();
} finally{
if (_d) throw _e;
}
@ -52,20 +52,20 @@ describe('next/swc', () => {
return _arr;
}
function _non_iterable_rest() {
throw new TypeError(\\"Invalid attempt to destructure non-iterable instance.\\\\\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\");
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _sliced_to_array(arr, i) {
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
}
function _unsupported_iterable_to_array(o, minLen) {
if (!o) return;
if (typeof o === \\"string\\") return _array_like_to_array(o, minLen);
if (typeof o === "string") return _array_like_to_array(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === \\"Object\\" && o.constructor) n = o.constructor.name;
if (n === \\"Map\\" || n === \\"Set\\") return Array.from(n);
if (n === \\"Arguments\\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(n);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
}
import { useState } from \\"react\\";
import { useState } from "react";
var _useState = _sliced_to_array(useState(0), 2), count = _useState[0], setCount = _useState[1];
"
`)
@ -89,23 +89,23 @@ describe('next/swc', () => {
if (Array.isArray(arr)) return arr;
}
function _iterable_to_array(iter) {
if (typeof Symbol !== \\"undefined\\" && iter[Symbol.iterator] != null || iter[\\"@@iterator\\"] != null) return Array.from(iter);
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
function _non_iterable_rest() {
throw new TypeError(\\"Invalid attempt to destructure non-iterable instance.\\\\\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\\");
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _to_array(arr) {
return _array_with_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_rest();
}
function _unsupported_iterable_to_array(o, minLen) {
if (!o) return;
if (typeof o === \\"string\\") return _array_like_to_array(o, minLen);
if (typeof o === "string") return _array_like_to_array(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === \\"Object\\" && o.constructor) n = o.constructor.name;
if (n === \\"Map\\" || n === \\"Set\\") return Array.from(n);
if (n === \\"Arguments\\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(n);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
}
import { useState } from \\"react\\";
import { useState } from "react";
var _useState = _to_array(useState(0)), copy = _useState.slice(0);
"
`)

View file

@ -41,7 +41,7 @@ describe('getSortedRoutes', () => {
'/apples/[ab]/[cd]/ef',
])
).toMatchInlineSnapshot(`
Array [
[
"/",
"/apples/[ab]/[cd]/ef",
"/blog/abc",
@ -154,17 +154,17 @@ describe('getSortedRoutes', () => {
expect(() =>
getSortedRoutes(['/[[blog]]'])
).toThrowErrorMatchingInlineSnapshot(
`"Optional route parameters are not yet supported (\\"[[blog]]\\")."`
`"Optional route parameters are not yet supported ("[[blog]]")."`
)
expect(() =>
getSortedRoutes(['/abc/[[blog]]'])
).toThrowErrorMatchingInlineSnapshot(
`"Optional route parameters are not yet supported (\\"[[blog]]\\")."`
`"Optional route parameters are not yet supported ("[[blog]]")."`
)
expect(() =>
getSortedRoutes(['/abc/[[blog]]/def'])
).toThrowErrorMatchingInlineSnapshot(
`"Optional route parameters are not yet supported (\\"[[blog]]\\")."`
`"Optional route parameters are not yet supported ("[[blog]]")."`
)
})
@ -172,12 +172,12 @@ describe('getSortedRoutes', () => {
expect(() =>
getSortedRoutes(['/[...one]', '/[[...one]]'])
).toThrowErrorMatchingInlineSnapshot(
`"You cannot use both an required and optional catch-all route at the same level (\\"[...one]\\" and \\"[[...one]]\\" )."`
`"You cannot use both an required and optional catch-all route at the same level ("[...one]" and "[[...one]]" )."`
)
expect(() =>
getSortedRoutes(['/[[...one]]', '/[...one]'])
).toThrowErrorMatchingInlineSnapshot(
`"You cannot use both an optional and required catch-all route at the same level (\\"[[...one]]\\" and \\"[...one]\\")."`
`"You cannot use both an optional and required catch-all route at the same level ("[[...one]]" and "[...one]")."`
)
})
@ -185,23 +185,23 @@ describe('getSortedRoutes', () => {
expect(() =>
getSortedRoutes(['/', '/[[...all]]'])
).toThrowErrorMatchingInlineSnapshot(
`"You cannot define a route with the same specificity as a optional catch-all route (\\"/\\" and \\"/[[...all]]\\")."`
`"You cannot define a route with the same specificity as a optional catch-all route ("/" and "/[[...all]]")."`
)
expect(() =>
getSortedRoutes(['/[[...all]]', '/'])
).toThrowErrorMatchingInlineSnapshot(
`"You cannot define a route with the same specificity as a optional catch-all route (\\"/\\" and \\"/[[...all]]\\")."`
`"You cannot define a route with the same specificity as a optional catch-all route ("/" and "/[[...all]]")."`
)
expect(() =>
getSortedRoutes(['/sub', '/sub/[[...all]]'])
).toThrowErrorMatchingInlineSnapshot(
`"You cannot define a route with the same specificity as a optional catch-all route (\\"/sub\\" and \\"/sub[[...all]]\\")."`
`"You cannot define a route with the same specificity as a optional catch-all route ("/sub" and "/sub[[...all]]")."`
)
expect(() =>
getSortedRoutes(['/sub/[[...all]]', '/sub'])
).toThrowErrorMatchingInlineSnapshot(
`"You cannot define a route with the same specificity as a optional catch-all route (\\"/sub\\" and \\"/sub[[...all]]\\")."`
`"You cannot define a route with the same specificity as a optional catch-all route ("/sub" and "/sub[[...all]]")."`
)
})

View file

@ -10,7 +10,7 @@
"esModuleInterop": true,
"moduleResolution": "node",
"baseUrl": ".",
"types": ["react", "jest", "node", "trusted-types"],
"types": ["react", "jest", "node", "trusted-types", "jest-extended"],
"paths": {
"development-sandbox": ["test/lib/development-sandbox"],
"next-test-utils": ["test/lib/next-test-utils"],
@ -20,7 +20,6 @@
}
},
"include": [
"test/jest.d.ts",
"test/**/*.test.ts",
"test/**/*.test.tsx",
"test/**/test/*",