chore(examples): remove `with-recoil` exmaple
Summary
Remove the deprecated with-recoil example and update the examples manifest accordingly
Chores:
- Delete the examples/with-recoil directory and its contents
- Remove the with-recoil entry from test/turbopack-dev-examples-manifest.json
Why?
Recoil was archived by the owner on Jan 2, 2025.
Adding or Updating Examples
- [x] The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- [x] Make sure the linting passes by running
pnpm build && pnpm lint. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md
cc: @samcx
Allow CI Workflow Run
- [ ] approve CI run for commit: 82f9968caeb4e2257992c192a25f3d64131d29bb
Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer
Allow CI Workflow Run
- [ ] approve CI run for commit: 55e9a9e9db3a36a25c5b0fdd64aabd135ee9ed7b
Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer
@icyJoseph Could you review this PR?
Failing test suites
Commit: 15273e13d819102008ffe18d5480f16225095945 | About building and testing Next.js
pnpm test packages/next-codemod/transforms/__tests__/built-in-next-font.test.js (job)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-01 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-02 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-03 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-04 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-05 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-06 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-07 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-08 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-10 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-11 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-12 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-13 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-14 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-15 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-16 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-17 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-18 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-19 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-21 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-22 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-23 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-24 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-25 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-type-cast-01 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/async-api-type-cast-02 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/custom-routes-access-api-prop-01 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/generate-metadata-access-api-prop-01 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/generate-metadata-access-api-prop-02 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/generate-metadata-access-api-prop-03 (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/origin-name-01-util (DD)
- next-async-request-api - dynamic-apis > transforms correctly next-async-request-api-dynamic-apis/origin-name-02-util (DD)
Expand output
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-01
expect(received).toEqual(expected) // deep equality
- Expected - 9
+ Received + 9
- import { cookies } from 'next/headers'
-
+ import { cookies } from 'next/headers'
+
- export async function MyComponent() {
+ export async function MyComponent() {
- const name = (await cookies()).get('name')
+ const name = (await cookies()).get('name')
- callback(name)
+ callback(name)
- }
-
+ }
+
- function callback(name: any) {
+ function callback(name: any) {
- console.log(name)
+ console.log(name)
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-02
expect(received).toEqual(expected) // deep equality
- Expected - 4
+ Received + 4
- import { draftMode } from 'next/headers'
-
+ import { draftMode } from 'next/headers'
+
- export async function MyComponent() {
+ export async function MyComponent() {
- (await draftMode()).enable()
+ (await draftMode()).enable()
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-03
expect(received).toEqual(expected) // deep equality
- Expected - 5
+ Received + 5
- // If it's sync default export, convert to async and await the function call
+ // If it's sync default export, convert to async and await the function call
- import { draftMode } from 'next/headers'
-
+ import { draftMode } from 'next/headers'
+
- export default async function MyComponent() {
+ export default async function MyComponent() {
- (await draftMode()).enable()
+ (await draftMode()).enable()
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-04
expect(received).toEqual(expected) // deep equality
- Expected - 8
+ Received + 8
- import { draftMode } from 'next/headers'
-
+ import { draftMode } from 'next/headers'
+
- export default async function MyComponent() {
+ export default async function MyComponent() {
- (await draftMode()).enable()
+ (await draftMode()).enable()
- }
-
+ }
+
- export async function MyComponent2() {
+ export async function MyComponent2() {
- (await draftMode()).enable()
+ (await draftMode()).enable()
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-05
expect(received).toEqual(expected) // deep equality
- Expected - 9
+ Received + 9
- import { use } from "react";
+ import { use } from "react";
- import { draftMode, type UnsafeUnwrappedDraftMode } from 'next/headers';
-
+ import { draftMode, type UnsafeUnwrappedDraftMode } from 'next/headers';
+
- export function MyComponent2() {
+ export function MyComponent2() {
- (draftMode() as unknown as UnsafeUnwrappedDraftMode).enable()
+ (draftMode() as unknown as UnsafeUnwrappedDraftMode).enable()
- }
-
+ }
+
- export function useDraftModeEnabled() {
+ export function useDraftModeEnabled() {
- use(draftMode()).enable()
+ use(draftMode()).enable()
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-06
expect(received).toEqual(expected) // deep equality
- Expected - 5
+ Received + 5
- import React from 'react'
+ import React from 'react'
- import { draftMode } from 'next/headers'
-
+ import { draftMode } from 'next/headers'
+
- export default async function Page() {
+ export default async function Page() {
- return <button disabled={(await draftMode()).isEnabled}>Enable Draft Mode</button>;
+ return <button disabled={(await draftMode()).isEnabled}>Enable Draft Mode</button>;
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-07
expect(received).toEqual(expected) // deep equality
- Expected - 5
+ Received + 5
- // Already imported the type
+ // Already imported the type
- import { draftMode, type UnsafeUnwrappedDraftMode } from 'next/headers'
-
+ import { draftMode, type UnsafeUnwrappedDraftMode } from 'next/headers'
+
- export function MyComponent2() {
+ export function MyComponent2() {
- (draftMode() as unknown as UnsafeUnwrappedDraftMode).enable()
+ (draftMode() as unknown as UnsafeUnwrappedDraftMode).enable()
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-08
expect(received).toEqual(expected) // deep equality
- Expected - 4
+ Received + 4
- import { headers } from 'next/headers'
-
+ import { headers } from 'next/headers'
+
- export async function GET(): Promise<Response> {
+ export async function GET(): Promise<Response> {
- await headers()
+ await headers()
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-10
expect(received).toEqual(expected) // deep equality
- Expected - 12
+ Received + 12
- import { headers, type UnsafeUnwrappedHeaders } from 'next/headers';
-
+ import { headers, type UnsafeUnwrappedHeaders } from 'next/headers';
+
- export function MyComp() {
+ export function MyComp() {
- return (headers() as unknown as UnsafeUnwrappedHeaders);
+ return (headers() as unknown as UnsafeUnwrappedHeaders);
- }
-
+ }
+
- export function MyComp2() {
+ export function MyComp2() {
- return (headers() as unknown as UnsafeUnwrappedHeaders);
+ return (headers() as unknown as UnsafeUnwrappedHeaders);
- }
-
+ }
+
- export function MyComp3() {
+ export function MyComp3() {
- return (headers() as unknown as UnsafeUnwrappedHeaders);
+ return (headers() as unknown as UnsafeUnwrappedHeaders);
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-11
expect(received).toEqual(expected) // deep equality
- Expected - 8
+ Received + 8
- import { headers, type UnsafeUnwrappedHeaders } from 'next/headers';
-
+ import { headers, type UnsafeUnwrappedHeaders } from 'next/headers';
+
- export function MyComp() {
+ export function MyComp() {
- void (headers() as unknown as UnsafeUnwrappedHeaders)
+ void (headers() as unknown as UnsafeUnwrappedHeaders)
- }
-
+ }
+
- export function generateContentfulMetadata() {
+ export function generateContentfulMetadata() {
- void (headers() as unknown as UnsafeUnwrappedHeaders)
+ void (headers() as unknown as UnsafeUnwrappedHeaders)
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-12
expect(received).toEqual(expected) // deep equality
- Expected - 4
+ Received + 4
- import { cookies } from "next/headers";
-
+ import { cookies } from "next/headers";
+
- async function MyComponent() {
+ async function MyComponent() {
- callSomething(await cookies());
+ callSomething(await cookies());
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-13
expect(received).toEqual(expected) // deep equality
- Expected - 4
+ Received + 4
- import { headers } from "next/headers";
-
+ import { headers } from "next/headers";
+
- async function MyComponent() {
+ async function MyComponent() {
- callSomething(await headers());
+ callSomething(await headers());
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-14
expect(received).toEqual(expected) // deep equality
- Expected - 4
+ Received + 4
- import { cookies } from "next/headers";
-
+ import { cookies } from "next/headers";
+
- export default async function Page() {
+ export default async function Page() {
- callSomething(await cookies());
+ callSomething(await cookies());
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-15
expect(received).toEqual(expected) // deep equality
- Expected - 7
+ Received + 7
- import { cookies } from "next/headers";
-
+ import { cookies } from "next/headers";
+
- async function MyComponent() {
+ async function MyComponent() {
- function asyncFunction() {
+ function asyncFunction() {
- callSomething(/* @next-codemod-error Manually await this call and refactor the function to be async */
+ callSomething(/* @next-codemod-error Manually await this call and refactor the function to be async */
- cookies());
+ cookies());
- }
+ }
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-16
expect(received).toEqual(expected) // deep equality
- Expected - 5
+ Received + 5
- import { cookies } from "next/headers";
-
+ import { cookies } from "next/headers";
+
- function MyComponent() {
+ function MyComponent() {
- callSomething(/* @next-codemod-error Manually await this call and refactor the function to be async */
+ callSomething(/* @next-codemod-error Manually await this call and refactor the function to be async */
- cookies());
+ cookies());
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-17
expect(received).toEqual(expected) // deep equality
- Expected - 4
+ Received + 4
- import { cookies } from 'next/headers'
-
+ import { cookies } from 'next/headers'
+
- export const myFun = async (): Promise<any> => {
+ export const myFun = async (): Promise<any> => {
- const name = (await cookies()).get('name')
+ const name = (await cookies()).get('name')
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-18
expect(received).toEqual(expected) // deep equality
- Expected - 16
+ Received + 16
- import {
+ import {
- cookies as myCookies,
+ cookies as myCookies,
- headers as myHeaders,
+ headers as myHeaders,
- draftMode as myDraftMode,
+ draftMode as myDraftMode,
- } from 'next/headers'
-
+ } from 'next/headers'
+
- export const myFun = async (): Promise<any> => {
+ export const myFun = async (): Promise<any> => {
- const name = (await myCookies()).get('name')
+ const name = (await myCookies()).get('name')
- }
-
+ }
+
- export const myFun2 = async (): Promise<any> => {
+ export const myFun2 = async (): Promise<any> => {
- await myHeaders()
+ await myHeaders()
- }
-
+ }
+
- export const myFun3 = async (): Promise<any> => {
+ export const myFun3 = async (): Promise<any> => {
- await myDraftMode()
+ await myDraftMode()
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-19
expect(received).toEqual(expected) // deep equality
- Expected - 12
+ Received + 12
- import { cookies, headers, type UnsafeUnwrappedHeaders } from 'next/headers';
-
+ import { cookies, headers, type UnsafeUnwrappedHeaders } from 'next/headers';
+
- export function myFun() {
+ export function myFun() {
- return async function () {
+ return async function () {
- (await cookies()).get('name')
+ (await cookies()).get('name')
- };
+ };
- }
-
+ }
+
- export function myFun2() {
+ export function myFun2() {
- return function () {
+ return function () {
- void (headers() as unknown as UnsafeUnwrappedHeaders)
+ void (headers() as unknown as UnsafeUnwrappedHeaders)
- };
+ };
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-21
expect(received).toEqual(expected) // deep equality
- Expected - 7
+ Received + 7
- const nextHeaders = /* @next-codemod-error The APIs under 'next/headers' are async now, need to be manually awaited. */
+ const nextHeaders = /* @next-codemod-error The APIs under 'next/headers' are async now, need to be manually awaited. */
- import('next/headers')
-
+ import('next/headers')
+
- function myFunc() {
+ function myFunc() {
- nextHeaders.cookies()
+ nextHeaders.cookies()
- }
-
+ }
+
const nextHeaders2 = /* @next-codemod-error The APIs under 'next/headers' are async now, need to be manually awaited. */ import('next/headers')
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-22
expect(received).toEqual(expected) // deep equality
- Expected - 10
+ Received + 10
- import { cookies } from 'next/headers'
-
+ import { cookies } from 'next/headers'
+
- export const GET = async function() {
+ export const GET = async function() {
- (await cookies()).get('token')
+ (await cookies()).get('token')
- }
-
+ }
+
- export async function POST(req: Request) {
+ export async function POST(req: Request) {
- if (req.method === 'POST') {
+ if (req.method === 'POST') {
- (await cookies()).get('token')
+ (await cookies()).get('token')
- }
+ }
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-23
expect(received).toEqual(expected) // deep equality
- Expected - 5
+ Received + 5
- import { cookies } from 'next/headers'
-
+ import { cookies } from 'next/headers'
+
- export type Cookie = Awaited<ReturnType<typeof cookies>>
+ export type Cookie = Awaited<ReturnType<typeof cookies>>
- export function foo(c: Awaited<ReturnType<typeof cookies>>) {
+ export function foo(c: Awaited<ReturnType<typeof cookies>>) {
- return c
+ return c
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-24
expect(received).toEqual(expected) // deep equality
- Expected - 12
+ Received + 12
- import { use } from "react";
+ import { use } from "react";
- import { cookies } from 'next/headers'
-
+ import { cookies } from 'next/headers'
+
- function useHook() {}
-
+ function useHook() {}
+
- export default function Page() {
+ export default function Page() {
- useHook()
+ useHook()
- const c = use(cookies());
+ const c = use(cookies());
- }
-
+ }
+
- export async function generateMetadata() {
+ export async function generateMetadata() {
- await cookies()
+ await cookies()
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-25
expect(received).toEqual(expected) // deep equality
- Expected - 5
+ Received + 5
- import { cookies, type UnsafeUnwrappedCookies } from 'next/headers';
-
+ import { cookies, type UnsafeUnwrappedCookies } from 'next/headers';
+
- export function myFunc() {
+ export function myFunc() {
- const c = (cookies() as unknown as UnsafeUnwrappedCookies)
+ const c = (cookies() as unknown as UnsafeUnwrappedCookies)
- void (cookies() as unknown as UnsafeUnwrappedCookies)
+ void (cookies() as unknown as UnsafeUnwrappedCookies)
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-type-cast-01
expect(received).toEqual(expected) // deep equality
- Expected - 26
+ Received + 26
- import React from 'react'
+ import React from 'react'
- import {
+ import {
- headers,
+ headers,
- cookies,
+ cookies,
- draftMode,
+ draftMode,
- type UnsafeUnwrappedHeaders,
+ type UnsafeUnwrappedHeaders,
- type UnsafeUnwrappedCookies,
+ type UnsafeUnwrappedCookies,
- type UnsafeUnwrappedDraftMode,
+ type UnsafeUnwrappedDraftMode,
- } from 'next/headers';
-
+ } from 'next/headers';
+
- export function MyDraftComponent() {
+ export function MyDraftComponent() {
- if ((draftMode() as unknown as UnsafeUnwrappedDraftMode).isEnabled) {
+ if ((draftMode() as unknown as UnsafeUnwrappedDraftMode).isEnabled) {
- return null
+ return null
- }
-
+ }
+
- return <p>page</p>
+ return <p>page</p>
- }
-
+ }
+
- export function MyCookiesComponent() {
+ export function MyCookiesComponent() {
- const c = (cookies() as unknown as UnsafeUnwrappedCookies)
+ const c = (cookies() as unknown as UnsafeUnwrappedCookies)
- return c.get('name')
+ return c.get('name')
- }
-
+ }
+
- export function MyHeadersComponent() {
+ export function MyHeadersComponent() {
- const h = (headers() as unknown as UnsafeUnwrappedHeaders)
+ const h = (headers() as unknown as UnsafeUnwrappedHeaders)
- return <p>{h.get('x-foo')}</p>
+ return <p>{h.get('x-foo')}</p>
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-type-cast-02
expect(received).toEqual(expected) // deep equality
- Expected - 28
+ Received + 28
- import React from 'react'
+ import React from 'react'
- import {
+ import {
- headers,
+ headers,
- cookies,
+ cookies,
- draftMode,
+ draftMode,
- } from 'next/headers'
-
+ } from 'next/headers'
+
- export function MyDraftComponent() {
+ export function MyDraftComponent() {
- if (/* @next-codemod-error Manually await this call and refactor the function to be async */
+ if (/* @next-codemod-error Manually await this call and refactor the function to be async */
- draftMode().isEnabled) {
+ draftMode().isEnabled) {
- return null
+ return null
- }
-
+ }
+
- return <p>page</p>
+ return <p>page</p>
- }
-
+ }
+
- export function MyCookiesComponent() {
+ export function MyCookiesComponent() {
- const c = /* @next-codemod-error Manually await this call and refactor the function to be async */
+ const c = /* @next-codemod-error Manually await this call and refactor the function to be async */
- cookies()
+ cookies()
- return c.get('name')
+ return c.get('name')
- }
-
+ }
+
- export function MyHeadersComponent() {
+ export function MyHeadersComponent() {
- const h = /* @next-codemod-error Manually await this call and refactor the function to be async */
+ const h = /* @next-codemod-error Manually await this call and refactor the function to be async */
- headers()
+ headers()
- return (
+ return (
- <p>{h.get('x-foo')}</p>
+ <p>{h.get('x-foo')}</p>
- )
+ )
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/custom-routes-access-api-prop-01
expect(received).toEqual(expected) // deep equality
- Expected - 12
+ Received + 12
- import { headers } from 'next/headers'
-
+ import { headers } from 'next/headers'
+
- export const GET = async function() {
+ export const GET = async function() {
- await headers()
+ await headers()
- }
-
+ }
+
- export async function POST() {
+ export async function POST() {
- await headers()
+ await headers()
- }
-
+ }
+
- export async function DELETE() {
+ export async function DELETE() {
- await headers()
+ await headers()
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/generate-metadata-access-api-prop-01
expect(received).toEqual(expected) // deep equality
- Expected - 4
+ Received + 4
- import { headers } from 'next/headers'
-
+ import { headers } from 'next/headers'
+
- export async function generateMetadata() {
+ export async function generateMetadata() {
- await headers()
+ await headers()
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/generate-metadata-access-api-prop-02
expect(received).toEqual(expected) // deep equality
- Expected - 4
+ Received + 4
- import { headers } from 'next/headers'
-
+ import { headers } from 'next/headers'
+
- export const generateMetadata = async function() {
+ export const generateMetadata = async function() {
- await headers()
+ await headers()
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/generate-metadata-access-api-prop-03
expect(received).toEqual(expected) // deep equality
- Expected - 5
+ Received + 5
- import { draftMode } from 'next/headers'
-
+ import { draftMode } from 'next/headers'
+
- export async function generateMetadata(props: any) {
+ export async function generateMetadata(props: any) {
- const params = await props.params
+ const params = await props.params
- await getMostRecentChangelog(params.slug, (await draftMode()).isEnabled)
+ await getMostRecentChangelog(params.slug, (await draftMode()).isEnabled)
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/origin-name-01-util
expect(received).toEqual(expected) // deep equality
- Expected - 5
+ Received + 5
- import { cookies, type UnsafeUnwrappedCookies } from 'next/headers';
-
+ import { cookies, type UnsafeUnwrappedCookies } from 'next/headers';
+
- export default function Foo(): string {
+ export default function Foo(): string {
- const name = (cookies() as unknown as UnsafeUnwrappedCookies).get('name')
+ const name = (cookies() as unknown as UnsafeUnwrappedCookies).get('name')
- return name
+ return name
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/origin-name-02-util
expect(received).toEqual(expected) // deep equality
- Expected - 6
+ Received + 6
- import { cookies } from 'next/headers'
-
+ import { cookies } from 'next/headers'
+
- export default function Foo() {
+ export default function Foo() {
- const name = /* @next-codemod-error Manually await this call and refactor the function to be async */
+ const name = /* @next-codemod-error Manually await this call and refactor the function to be async */
- cookies().get('name')
+ cookies().get('name')
- return name
+ return name
}
53 |
54 | it(`transforms correctly ${prefix}`, () => {
> 55 | runInlineTest(
| ^
56 | transform,
57 | null,
58 | {
at runInlineTest (../node_modules/.pnpm/[email protected]_@[email protected]_@[email protected]_/node_modules/jscodeshift/dist/testUtils.js:49:18)
at Object.runInlineTest (../packages/next-codemod/transforms/__tests__/next-async-request-api-dynamic-apis.test.js:55:7)
pnpm test test/integration/app-dir-export/test/start.test.ts (job)
- app dir - with output export (next start) > production mode > should warn during next start with output standalone (DD)
Expand output
● app dir - with output export (next start) › production mode › should warn during next start with output standalone
thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
46 |
47 | // TODO: Move this test to test/production to run in isolation.
> 48 | ;(process.env.TURBOPACK_BUILD ? it.skip : it)(
| ^
49 | 'should warn during next start with output standalone',
50 | async () => {
51 | nextConfig.replace(`output: 'export'`, `output: 'standalone'`)
at integration/app-dir-export/test/start.test.ts:48:50
at integration/app-dir-export/test/start.test.ts:21:56
at Object.describe (integration/app-dir-export/test/start.test.ts:20:1)
pnpm test-start test/e2e/app-dir/segment-cache/deployment-skew/deployment-skew.test.ts (job)
- segment cache (deployment skew) > does not crash when prefetching a dynamic, non-PPR page on a different deployment (DD)
Expand output
● segment cache (deployment skew) › does not crash when prefetching a dynamic, non-PPR page on a different deployment
thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
37 | })
38 |
> 39 | it(
| ^
40 | 'does not crash when prefetching a dynamic, non-PPR page ' +
41 | 'on a different deployment',
42 | async () => {
at it (e2e/app-dir/segment-cache/deployment-skew/deployment-skew.test.ts:39:3)
at Object.describe (e2e/app-dir/segment-cache/deployment-skew/deployment-skew.test.ts:8:1)
pnpm test-start test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts (job)
- segment cache (revalidation) > re-fetch visible links after a navigation, if needed (DD)
Expand output
● segment cache (revalidation) › re-fetch visible links after a navigation, if needed
thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
248 | })
249 |
> 250 | it('re-fetch visible links after a navigation, if needed', async () => {
| ^
251 | let act: ReturnType<typeof createRouterAct>
252 | const browser = await next.browser('/refetch-on-new-base-tree/a', {
253 | beforePageLoad(page) {
at it (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:250:3)
at Object.describe (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:7:1)
pnpm test test/integration/prerender-fallback-encoding/test/index.test.ts (turbopack) (job)
- Fallback path encoding > development mode > should render correctly in the browser for prerender paths (DD)
Expand output
● Fallback path encoding › development mode › should render correctly in the browser for prerender paths
thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
197 | })
198 |
> 199 | it('should render correctly in the browser for prerender paths', async () => {
| ^
200 | for (let i = 0; i < urlPaths.length; i++) {
201 | const testSlug = urlPaths[i]
202 |
at it (integration/prerender-fallback-encoding/test/index.test.ts:199:3)
at runTests (integration/prerender-fallback-encoding/test/index.test.ts:329:7)
at integration/prerender-fallback-encoding/test/index.test.ts:318:58
at Object.describe (integration/prerender-fallback-encoding/test/index.test.ts:317:1)
pnpm test-dev test/e2e/app-dir/searchparams-reuse-loading/searchparams-reuse-loading.test.ts (job)
- searchparams-reuse-loading > when aliasing is skipped > should work for not found pages (DD)
Expand output
● searchparams-reuse-loading › when aliasing is skipped › should work for not found pages
expect(received).toContain(expected) // indexOf
Expected substring: "/non-existent-page?id=1"
Received string: "http://localhost:41579/mpa-navs"
94 | // the first link would have been the "aliased" entry since it was prefetched first. Validate that it's the correct URL
95 | await retry(async () => {
> 96 | expect(await browser.url()).toContain('/non-existent-page?id=1')
| ^
97 | })
98 |
99 | expect(await browser.elementByCss('h2').text()).toBe(
at toContain (e2e/app-dir/searchparams-reuse-loading/searchparams-reuse-loading.test.ts:96:37)
at retry (lib/next-test-utils.ts:797:14)
at Object.<anonymous> (e2e/app-dir/searchparams-reuse-loading/searchparams-reuse-loading.test.ts:95:7)
Stats from current PR
Default Build (Increase detected ⚠️)
General
| vercel/next.js canary | JamBalaya56562/next.js recoil | Change | |
|---|---|---|---|
| buildDuration | 19.2s | 16.1s | N/A |
| buildDurationCached | 15s | 12s | N/A |
| nodeModulesSize | 457 MB | 457 MB | ✓ |
| nextStartRea..uration (ms) | 692ms | 689ms | N/A |
Client Bundles (main, webpack) Overall increase ⚠️
| vercel/next.js canary | JamBalaya56562/next.js recoil | Change | |
|---|---|---|---|
| 436-HASH.js gzip | 5.32 kB | 5.32 kB | N/A |
| 4779.HASH.js gzip | 169 B | 169 B | ✓ |
| 9760-HASH.js gzip | 52.4 kB | 52.7 kB | ⚠️ +224 B |
| c57d0559-HASH.js gzip | 62.3 kB | 62.3 kB | N/A |
| framework-HASH.js gzip | 59.8 kB | 59.8 kB | ✓ |
| main-app-HASH.js gzip | 252 B | 257 B | N/A |
| main-HASH.js gzip | 38.3 kB | 38.3 kB | N/A |
| webpack-HASH.js gzip | 1.69 kB | 1.69 kB | ✓ |
| Overall change | 114 kB | 114 kB | ⚠️ +224 B |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | JamBalaya56562/next.js recoil | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 39.4 kB | 39.4 kB | ✓ |
| Overall change | 39.4 kB | 39.4 kB | ✓ |
Client Pages
| vercel/next.js canary | JamBalaya56562/next.js recoil | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 193 B | 194 B | N/A |
| _error-HASH.js gzip | 182 B | 182 B | ✓ |
| css-HASH.js gzip | 334 B | 334 B | ✓ |
| dynamic-HASH.js gzip | 1.81 kB | 1.81 kB | N/A |
| edge-ssr-HASH.js gzip | 255 B | 254 B | N/A |
| head-HASH.js gzip | 350 B | 351 B | N/A |
| hooks-HASH.js gzip | 384 B | 384 B | ✓ |
| image-HASH.js gzip | 4.78 kB | 4.77 kB | N/A |
| index-HASH.js gzip | 260 B | 259 B | N/A |
| link-HASH.js gzip | 2.5 kB | 2.5 kB | N/A |
| routerDirect..HASH.js gzip | 316 B | 320 B | N/A |
| script-HASH.js gzip | 388 B | 388 B | ✓ |
| withRouter-HASH.js gzip | 316 B | 314 B | N/A |
| 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
| Overall change | 1.39 kB | 1.39 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | JamBalaya56562/next.js recoil | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 718 B | 720 B | N/A |
| Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | JamBalaya56562/next.js recoil | Change | |
|---|---|---|---|
| index.html gzip | 525 B | 523 B | N/A |
| link.html gzip | 539 B | 538 B | N/A |
| withRouter.html gzip | 521 B | 519 B | N/A |
| Overall change | 0 B | 0 B | ✓ |
Edge SSR bundle Size Overall increase ⚠️
| vercel/next.js canary | JamBalaya56562/next.js recoil | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 126 kB | 126 kB | N/A |
| page.js gzip | 233 kB | 234 kB | ⚠️ +1.4 kB |
| Overall change | 233 kB | 234 kB | ⚠️ +1.4 kB |
Middleware size Overall increase ⚠️
| vercel/next.js canary | JamBalaya56562/next.js recoil | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 635 B | 637 B | N/A |
| middleware-r..fest.js gzip | 156 B | 156 B | ✓ |
| middleware.js gzip | 32.7 kB | 33 kB | ⚠️ +316 B |
| edge-runtime..pack.js gzip | 846 B | 846 B | ✓ |
| Overall change | 33.7 kB | 34 kB | ⚠️ +316 B |
Next Runtimes
| vercel/next.js canary | JamBalaya56562/next.js recoil | Change | |
|---|---|---|---|
| app-page-exp...dev.js gzip | 300 kB | 300 kB | N/A |
| app-page-exp..prod.js gzip | 154 kB | 154 kB | ✓ |
| app-page-tur...dev.js gzip | 300 kB | 300 kB | N/A |
| app-page-tur..prod.js gzip | 154 kB | 154 kB | ✓ |
| app-page-tur...dev.js gzip | 296 kB | 296 kB | N/A |
| app-page-tur..prod.js gzip | 152 kB | 152 kB | ✓ |
| app-page.run...dev.js gzip | 297 kB | 297 kB | N/A |
| app-page.run..prod.js gzip | 152 kB | 152 kB | ✓ |
| app-route-ex...dev.js gzip | 68.5 kB | 68.5 kB | ✓ |
| app-route-ex..prod.js gzip | 47.3 kB | 47.3 kB | ✓ |
| app-route-tu...dev.js gzip | 68.5 kB | 68.5 kB | ✓ |
| app-route-tu..prod.js gzip | 47.3 kB | 47.3 kB | ✓ |
| app-route-tu...dev.js gzip | 68.1 kB | 68.1 kB | ✓ |
| app-route-tu..prod.js gzip | 47.1 kB | 47.1 kB | ✓ |
| app-route.ru...dev.js gzip | 68 kB | 68 kB | ✓ |
| app-route.ru..prod.js gzip | 47 kB | 47 kB | ✓ |
| dist_client_...dev.js gzip | 326 B | 326 B | ✓ |
| dist_client_...dev.js gzip | 328 B | 328 B | ✓ |
| dist_client_...dev.js gzip | 320 B | 320 B | ✓ |
| dist_client_...dev.js gzip | 318 B | 318 B | ✓ |
| pages-api-tu...dev.js gzip | 40.8 kB | 40.8 kB | ✓ |
| pages-api-tu..prod.js gzip | 31 kB | 31 kB | ✓ |
| pages-api.ru...dev.js gzip | 40.8 kB | 40.8 kB | ✓ |
| pages-api.ru..prod.js gzip | 30.9 kB | 30.9 kB | ✓ |
| pages-turbo....dev.js gzip | 50.3 kB | 50.3 kB | ✓ |
| pages-turbo...prod.js gzip | 37.8 kB | 37.8 kB | ✓ |
| pages.runtim...dev.js gzip | 50.3 kB | 50.3 kB | ✓ |
| pages.runtim..prod.js gzip | 37.8 kB | 37.8 kB | ✓ |
| server.runti..prod.js gzip | 60.4 kB | 60.4 kB | ✓ |
| Overall change | 1.46 MB | 1.46 MB | ✓ |
build cache Overall increase ⚠️
| vercel/next.js canary | JamBalaya56562/next.js recoil | Change | |
|---|---|---|---|
| 0.pack gzip | 3.1 MB | 3.1 MB | N/A |
| index.pack gzip | 94 kB | 94.4 kB | ⚠️ +439 B |
| Overall change | 94 kB | 94.4 kB | ⚠️ +439 B |
Diff details
Diff for page.js
Diff too large to display
Diff for middleware.js
Diff too large to display
Diff for edge-ssr.js
Diff too large to display
Diff for dynamic-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 1033: /***/ (
+ /***/ 431: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/dynamic",
function () {
- return __webpack_require__(6490);
+ return __webpack_require__(8084);
},
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 5323: /***/ (
+ /***/ 2699: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -60,7 +60,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(2223)
);
- const _loadablecontextsharedruntime = __webpack_require__(9289);
+ const _loadablecontextsharedruntime = __webpack_require__(3785);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -293,73 +293,34 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 6490: /***/ (
+ /***/ 3785: /***/ (
__unused_webpack_module,
- __webpack_exports__,
+ exports,
__webpack_require__
) => {
"use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
- /* harmony export */
+ /* __next_internal_client_entry_do_not_use__ cjs */
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
});
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
- __webpack_require__(1503);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7320);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
- /*#__PURE__*/ __webpack_require__.n(
- next_dynamic__WEBPACK_IMPORTED_MODULE_1__
- );
-
- const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
- () =>
- __webpack_require__
- .e(/* import() */ 4779)
- .then(__webpack_require__.bind(__webpack_require__, 4779))
- .then((mod) => mod.Hello),
- {
- loadableGenerated: {
- webpack: () => [/*require.resolve*/ 4779],
- },
- }
+ Object.defineProperty(exports, "LoadableContext", {
+ enumerable: true,
+ get: function () {
+ return LoadableContext;
+ },
+ });
+ const _interop_require_default = __webpack_require__(1532);
+ const _react = /*#__PURE__*/ _interop_require_default._(
+ __webpack_require__(2223)
);
- const Page = () =>
- /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
- {
- children: [
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
- children: "testing next/dynamic size",
- }),
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
- DynamicHello,
- {}
- ),
- ],
- }
- );
- var __N_SSP = true;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
-
- /***/
- },
-
- /***/ 7320: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(7340);
+ const LoadableContext = _react.default.createContext(null);
+ if (false) {
+ } //# sourceMappingURL=loadable-context.shared-runtime.js.map
/***/
},
- /***/ 7340: /***/ (module, exports, __webpack_require__) => {
+ /***/ 6828: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -392,7 +353,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
__webpack_require__(2223)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(5323)
+ __webpack_require__(2699)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -492,29 +453,68 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 9289: /***/ (
+ /***/ 7514: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(6828);
+
+ /***/
+ },
+
+ /***/ 8084: /***/ (
__unused_webpack_module,
- exports,
+ __webpack_exports__,
__webpack_require__
) => {
"use strict";
- /* __next_internal_client_entry_do_not_use__ cjs */
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "LoadableContext", {
- enumerable: true,
- get: function () {
- return LoadableContext;
- },
+ __webpack_require__.r(__webpack_exports__);
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+ /* harmony export */
});
- const _interop_require_default = __webpack_require__(1532);
- const _react = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(2223)
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+ __webpack_require__(1503);
+ /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
+ __webpack_require__(7514);
+ /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
+ /*#__PURE__*/ __webpack_require__.n(
+ next_dynamic__WEBPACK_IMPORTED_MODULE_1__
+ );
+
+ const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
+ () =>
+ __webpack_require__
+ .e(/* import() */ 9573)
+ .then(__webpack_require__.bind(__webpack_require__, 9573))
+ .then((mod) => mod.Hello),
+ {
+ loadableGenerated: {
+ webpack: () => [/*require.resolve*/ 9573],
+ },
+ }
);
- const LoadableContext = _react.default.createContext(null);
- if (false) {
- } //# sourceMappingURL=loadable-context.shared-runtime.js.map
+ const Page = () =>
+ /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
+ {
+ children: [
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
+ children: "testing next/dynamic size",
+ }),
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+ DynamicHello,
+ {}
+ ),
+ ],
+ }
+ );
+ var __N_SSP = true;
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
/***/
},
@@ -524,7 +524,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1033)
+ __webpack_exec__(431)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for edge-ssr-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[676],
{
- /***/ 1819: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/edge-ssr",
- function () {
- return __webpack_require__(7521);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 7521: /***/ (
+ /***/ 983: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -37,13 +20,30 @@
/***/
},
+
+ /***/ 985: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/edge-ssr",
+ function () {
+ return __webpack_require__(983);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1819)
+ __webpack_exec__(985)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,34 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 619: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/head",
- function () {
- return __webpack_require__(9891);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 7997: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(6705);
-
- /***/
- },
-
- /***/ 9891: /***/ (
+ /***/ 1417: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7997);
+ __webpack_require__(5171);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -76,13 +49,40 @@
/***/
},
+
+ /***/ 1937: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/head",
+ function () {
+ return __webpack_require__(1417);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 5171: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(7505);
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(619)
+ __webpack_exec__(1937)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9804],
{
- /***/ 1679: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/hooks",
- function () {
- return __webpack_require__(4655);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 4655: /***/ (
+ /***/ 1598: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -76,13 +59,30 @@
/***/
},
+
+ /***/ 3925: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/hooks",
+ function () {
+ return __webpack_require__(1598);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1679)
+ __webpack_exec__(3925)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2983],
{
- /***/ 797: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/image",
- function () {
- return __webpack_require__(5999);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 1713: /***/ (__unused_webpack_module, exports) => {
+ /***/ 881: /***/ (__unused_webpack_module, exports) => {
"use strict";
/**
* A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -58,7 +41,7 @@
/***/
},
- /***/ 2263: /***/ (module, exports, __webpack_require__) => {
+ /***/ 1511: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -136,7 +119,137 @@
/***/
},
- /***/ 2728: /***/ (module, exports, __webpack_require__) => {
+ /***/ 1744: /***/ (
+ __unused_webpack_module,
+ exports,
+ __webpack_require__
+ ) => {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "default", {
+ enumerable: true,
+ get: function () {
+ return _default;
+ },
+ });
+ const _findclosestquality = __webpack_require__(7054);
+ function defaultLoader({ config, src, width, quality }) {
+ if (
+ src.startsWith("/") &&
+ src.includes("?") &&
+ config.localPatterns?.length === 1 &&
+ config.localPatterns[0].pathname === "**" &&
+ config.localPatterns[0].search === ""
+ ) {
+ throw Object.defineProperty(
+ new Error(
+ `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +
+ `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`
+ ),
+ "__NEXT_ERROR_CODE",
+ {
+ value: "E871",
+ enumerable: false,
+ configurable: true,
+ }
+ );
+ }
+ if (false) {
+ }
+ const q = (0, _findclosestquality.findClosestQuality)(quality, config);
+ return `${config.path}?url=${encodeURIComponent(
+ src
+ )}&w=${width}&q=${q}${
+ src.startsWith("/_next/static/media/") && false ? 0 : ""
+ }`;
+ }
+ // We use this to determine if the import is the default loader
+ // or a custom loader defined by the user in next.config.js
+ defaultLoader.__next_img_default = true;
+ const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
+
+ /***/
+ },
+
+ /***/ 2388: /***/ (
+ __unused_webpack_module,
+ __webpack_exports__,
+ __webpack_require__
+ ) => {
+ "use strict";
+ // ESM COMPAT FLAG
+ __webpack_require__.r(__webpack_exports__);
+
+ // EXPORTS
+ __webpack_require__.d(__webpack_exports__, {
+ __N_SSP: () => /* binding */ __N_SSP,
+ default: () => /* binding */ pages_image,
+ });
+
+ // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
+ var jsx_runtime = __webpack_require__(1503);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
+ var next_image = __webpack_require__(3866);
+ var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
+ /* harmony default export */ const nextjs = {
+ src: "/_next/static/media/nextjs.cae0b805.png",
+ height: 1347,
+ width: 1626,
+ blurDataURL:
+ "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
+ blurWidth: 8,
+ blurHeight: 7,
+ }; // ./pages/image.js
+ function ImagePage(props) {
+ return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
+ children: [
+ /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
+ children: "next/image example",
+ }),
+ /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
+ src: nextjs,
+ placeholder: "blur",
+ }),
+ ],
+ });
+ }
+ var __N_SSP = true;
+ /* harmony default export */ const pages_image = ImagePage;
+
+ /***/
+ },
+
+ /***/ 3866: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(6888);
+
+ /***/
+ },
+
+ /***/ 4483: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/image",
+ function () {
+ return __webpack_require__(2388);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 6600: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -158,17 +271,17 @@
__webpack_require__(9507)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(6705)
+ __webpack_require__(7505)
);
- const _getimgprops = __webpack_require__(3556);
- const _imageconfig = __webpack_require__(3157);
- const _imageconfigcontextsharedruntime = __webpack_require__(9323);
- const _warnonce = __webpack_require__(6173);
- const _routercontextsharedruntime = __webpack_require__(6046);
+ const _getimgprops = __webpack_require__(9588);
+ const _imageconfig = __webpack_require__(2645);
+ const _imageconfigcontextsharedruntime = __webpack_require__(5451);
+ const _warnonce = __webpack_require__(7549);
+ const _routercontextsharedruntime = __webpack_require__(5470);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(3744)
+ __webpack_require__(1744)
);
- const _usemergedref = __webpack_require__(2263);
+ const _usemergedref = __webpack_require__(1511);
// This is replaced by webpack define plugin
const configEnv = {
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -495,7 +608,96 @@
/***/
},
- /***/ 3556: /***/ (
+ /***/ 6888: /***/ (
+ __unused_webpack_module,
+ exports,
+ __webpack_require__
+ ) => {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ 0 && 0;
+ function _export(target, all) {
+ for (var name in all)
+ Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name],
+ });
+ }
+ _export(exports, {
+ default: function () {
+ return _default;
+ },
+ getImageProps: function () {
+ return getImageProps;
+ },
+ });
+ const _interop_require_default = __webpack_require__(1532);
+ const _getimgprops = __webpack_require__(9588);
+ const _imagecomponent = __webpack_require__(6600);
+ const _imageloader = /*#__PURE__*/ _interop_require_default._(
+ __webpack_require__(1744)
+ );
+ function getImageProps(imgProps) {
+ const { props } = (0, _getimgprops.getImgProps)(imgProps, {
+ defaultLoader: _imageloader.default,
+ // This is replaced by webpack define plugin
+ imgConf: {
+ deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
+ imageSizes: [32, 48, 64, 96, 128, 256, 384],
+ qualities: [75],
+ path: "/_next/image",
+ loader: "default",
+ dangerouslyAllowSVG: false,
+ unoptimized: false,
+ },
+ });
+ // Normally we don't care about undefined props because we pass to JSX,
+ // but this exported function could be used by the end user for anything
+ // so we delete undefined props to clean it up a little.
+ for (const [key, value] of Object.entries(props)) {
+ if (value === undefined) {
+ delete props[key];
+ }
+ }
+ return {
+ props,
+ };
+ }
+ const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
+
+ /***/
+ },
+
+ /***/ 7054: /***/ (__unused_webpack_module, exports) => {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "findClosestQuality", {
+ enumerable: true,
+ get: function () {
+ return findClosestQuality;
+ },
+ });
+ function findClosestQuality(quality, config) {
+ const q = quality || 75;
+ if (!config?.qualities?.length) {
+ return q;
+ }
+ return config.qualities.reduce(
+ (prev, cur) => (Math.abs(cur - q) < Math.abs(prev - q) ? cur : prev),
+ 0
+ );
+ } //# sourceMappingURL=find-closest-quality.js.map
+
+ /***/
+ },
+
+ /***/ 9588: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -511,9 +713,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(6173);
- const _imageblursvg = __webpack_require__(1713);
- const _imageconfig = __webpack_require__(3157);
+ const _warnonce = __webpack_require__(7549);
+ const _imageblursvg = __webpack_require__(881);
+ const _imageconfig = __webpack_require__(2645);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -943,215 +1145,13 @@
/***/
},
-
- /***/ 3744: /***/ (
- __unused_webpack_module,
- exports,
- __webpack_require__
- ) => {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "default", {
- enumerable: true,
- get: function () {
- return _default;
- },
- });
- const _findclosestquality = __webpack_require__(8494);
- function defaultLoader({ config, src, width, quality }) {
- if (
- src.startsWith("/") &&
- src.includes("?") &&
- config.localPatterns?.length === 1 &&
- config.localPatterns[0].pathname === "**" &&
- config.localPatterns[0].search === ""
- ) {
- throw Object.defineProperty(
- new Error(
- `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +
- `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`
- ),
- "__NEXT_ERROR_CODE",
- {
- value: "E871",
- enumerable: false,
- configurable: true,
- }
- );
- }
- if (false) {
- }
- const q = (0, _findclosestquality.findClosestQuality)(quality, config);
- return `${config.path}?url=${encodeURIComponent(
- src
- )}&w=${width}&q=${q}${
- src.startsWith("/_next/static/media/") && false ? 0 : ""
- }`;
- }
- // We use this to determine if the import is the default loader
- // or a custom loader defined by the user in next.config.js
- defaultLoader.__next_img_default = true;
- const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
-
- /***/
- },
-
- /***/ 4292: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(7896);
-
- /***/
- },
-
- /***/ 5999: /***/ (
- __unused_webpack_module,
- __webpack_exports__,
- __webpack_require__
- ) => {
- "use strict";
- // ESM COMPAT FLAG
- __webpack_require__.r(__webpack_exports__);
-
- // EXPORTS
- __webpack_require__.d(__webpack_exports__, {
- __N_SSP: () => /* binding */ __N_SSP,
- default: () => /* binding */ pages_image,
- });
-
- // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
- var jsx_runtime = __webpack_require__(1503);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
- var next_image = __webpack_require__(4292);
- var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
- /* harmony default export */ const nextjs = {
- src: "/_next/static/media/nextjs.cae0b805.png",
- height: 1347,
- width: 1626,
- blurDataURL:
- "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
- blurWidth: 8,
- blurHeight: 7,
- }; // ./pages/image.js
- function ImagePage(props) {
- return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
- children: [
- /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
- children: "next/image example",
- }),
- /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
- src: nextjs,
- placeholder: "blur",
- }),
- ],
- });
- }
- var __N_SSP = true;
- /* harmony default export */ const pages_image = ImagePage;
-
- /***/
- },
-
- /***/ 7896: /***/ (
- __unused_webpack_module,
- exports,
- __webpack_require__
- ) => {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- 0 && 0;
- function _export(target, all) {
- for (var name in all)
- Object.defineProperty(target, name, {
- enumerable: true,
- get: all[name],
- });
- }
- _export(exports, {
- default: function () {
- return _default;
- },
- getImageProps: function () {
- return getImageProps;
- },
- });
- const _interop_require_default = __webpack_require__(1532);
- const _getimgprops = __webpack_require__(3556);
- const _imagecomponent = __webpack_require__(2728);
- const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(3744)
- );
- function getImageProps(imgProps) {
- const { props } = (0, _getimgprops.getImgProps)(imgProps, {
- defaultLoader: _imageloader.default,
- // This is replaced by webpack define plugin
- imgConf: {
- deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
- imageSizes: [32, 48, 64, 96, 128, 256, 384],
- qualities: [75],
- path: "/_next/image",
- loader: "default",
- dangerouslyAllowSVG: false,
- unoptimized: false,
- },
- });
- // Normally we don't care about undefined props because we pass to JSX,
- // but this exported function could be used by the end user for anything
- // so we delete undefined props to clean it up a little.
- for (const [key, value] of Object.entries(props)) {
- if (value === undefined) {
- delete props[key];
- }
- }
- return {
- props,
- };
- }
- const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
-
- /***/
- },
-
- /***/ 8494: /***/ (__unused_webpack_module, exports) => {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "findClosestQuality", {
- enumerable: true,
- get: function () {
- return findClosestQuality;
- },
- });
- function findClosestQuality(quality, config) {
- const q = quality || 75;
- if (!config?.qualities?.length) {
- return q;
- }
- return config.qualities.reduce(
- (prev, cur) => (Math.abs(cur - q) < Math.abs(prev - q) ? cur : prev),
- 0
- );
- } //# sourceMappingURL=find-closest-quality.js.map
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(797)
+ __webpack_exec__(4483)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,338 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 69: /***/ (module, exports, __webpack_require__) => {
+ /***/ 1511: /***/ (module, exports, __webpack_require__) => {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "useMergedRef", {
+ enumerable: true,
+ get: function () {
+ return useMergedRef;
+ },
+ });
+ const _react = __webpack_require__(2223);
+ function useMergedRef(refA, refB) {
+ const cleanupA = (0, _react.useRef)(null);
+ const cleanupB = (0, _react.useRef)(null);
+ // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
+ // (this happens often if the user doesn't pass a ref to Link/Form/Image)
+ // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),
+ // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
+ // (because it hasn't been updated for React 19)
+ // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
+ // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
+ return (0, _react.useCallback)(
+ (current) => {
+ if (current === null) {
+ const cleanupFnA = cleanupA.current;
+ if (cleanupFnA) {
+ cleanupA.current = null;
+ cleanupFnA();
+ }
+ const cleanupFnB = cleanupB.current;
+ if (cleanupFnB) {
+ cleanupB.current = null;
+ cleanupFnB();
+ }
+ } else {
+ if (refA) {
+ cleanupA.current = applyRef(refA, current);
+ }
+ if (refB) {
+ cleanupB.current = applyRef(refB, current);
+ }
+ }
+ },
+ [refA, refB]
+ );
+ }
+ function applyRef(refA, current) {
+ if (typeof refA === "function") {
+ const cleanup = refA(current);
+ if (typeof cleanup === "function") {
+ return cleanup;
+ } else {
+ return () => refA(null);
+ }
+ } else {
+ refA.current = current;
+ return () => {
+ refA.current = null;
+ };
+ }
+ }
+ if (
+ (typeof exports.default === "function" ||
+ (typeof exports.default === "object" && exports.default !== null)) &&
+ typeof exports.default.__esModule === "undefined"
+ ) {
+ Object.defineProperty(exports.default, "__esModule", {
+ value: true,
+ });
+ Object.assign(exports.default, exports);
+ module.exports = exports.default;
+ } //# sourceMappingURL=use-merged-ref.js.map
+
+ /***/
+ },
+
+ /***/ 2025: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/link",
+ function () {
+ return __webpack_require__(4591);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 3267: /***/ (module, exports, __webpack_require__) => {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "getDomainLocale", {
+ enumerable: true,
+ get: function () {
+ return getDomainLocale;
+ },
+ });
+ const _normalizetrailingslash = __webpack_require__(2371);
+ const basePath =
+ /* unused pure expression or super */ null && (false || "");
+ function getDomainLocale(path, locale, locales, domainLocales) {
+ if (false) {
+ } else {
+ return false;
+ }
+ }
+ if (
+ (typeof exports.default === "function" ||
+ (typeof exports.default === "object" && exports.default !== null)) &&
+ typeof exports.default.__esModule === "undefined"
+ ) {
+ Object.defineProperty(exports.default, "__esModule", {
+ value: true,
+ });
+ Object.assign(exports.default, exports);
+ module.exports = exports.default;
+ } //# sourceMappingURL=get-domain-locale.js.map
+
+ /***/
+ },
+
+ /***/ 4591: /***/ (
+ __unused_webpack_module,
+ __webpack_exports__,
+ __webpack_require__
+ ) => {
+ "use strict";
+ __webpack_require__.r(__webpack_exports__);
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+ /* harmony export */
+ });
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+ __webpack_require__(1503);
+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
+ __webpack_require__(6929);
+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
+ /*#__PURE__*/ __webpack_require__.n(
+ next_link__WEBPACK_IMPORTED_MODULE_1__
+ );
+
+ function aLink(props) {
+ return /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
+ children: [
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
+ children: "A Link page!",
+ }),
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+ next_link__WEBPACK_IMPORTED_MODULE_1___default(),
+ {
+ href: "/",
+ children: "Go to /",
+ }
+ ),
+ ],
+ });
+ }
+ var __N_SSP = true;
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
+
+ /***/
+ },
+
+ /***/ 6929: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(8885);
+
+ /***/
+ },
+
+ /***/ 7686: /***/ (module, exports, __webpack_require__) => {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "useIntersection", {
+ enumerable: true,
+ get: function () {
+ return useIntersection;
+ },
+ });
+ const _react = __webpack_require__(2223);
+ const _requestidlecallback = __webpack_require__(901);
+ const hasIntersectionObserver =
+ typeof IntersectionObserver === "function";
+ const observers = new Map();
+ const idList = [];
+ function createObserver(options) {
+ const id = {
+ root: options.root || null,
+ margin: options.rootMargin || "",
+ };
+ const existing = idList.find(
+ (obj) => obj.root === id.root && obj.margin === id.margin
+ );
+ let instance;
+ if (existing) {
+ instance = observers.get(existing);
+ if (instance) {
+ return instance;
+ }
+ }
+ const elements = new Map();
+ const observer = new IntersectionObserver((entries) => {
+ entries.forEach((entry) => {
+ const callback = elements.get(entry.target);
+ const isVisible =
+ entry.isIntersecting || entry.intersectionRatio > 0;
+ if (callback && isVisible) {
+ callback(isVisible);
+ }
+ });
+ }, options);
+ instance = {
+ id,
+ observer,
+ elements,
+ };
+ idList.push(id);
+ observers.set(id, instance);
+ return instance;
+ }
+ function observe(element, callback, options) {
+ const { id, observer, elements } = createObserver(options);
+ elements.set(element, callback);
+ observer.observe(element);
+ return function unobserve() {
+ elements.delete(element);
+ observer.unobserve(element);
+ // Destroy observer when there's nothing left to watch:
+ if (elements.size === 0) {
+ observer.disconnect();
+ observers.delete(id);
+ const index = idList.findIndex(
+ (obj) => obj.root === id.root && obj.margin === id.margin
+ );
+ if (index > -1) {
+ idList.splice(index, 1);
+ }
+ }
+ };
+ }
+ function useIntersection({ rootRef, rootMargin, disabled }) {
+ const isDisabled = disabled || !hasIntersectionObserver;
+ const [visible, setVisible] = (0, _react.useState)(false);
+ const elementRef = (0, _react.useRef)(null);
+ const setElement = (0, _react.useCallback)((element) => {
+ elementRef.current = element;
+ }, []);
+ (0, _react.useEffect)(() => {
+ if (hasIntersectionObserver) {
+ if (isDisabled || visible) return;
+ const element = elementRef.current;
+ if (element && element.tagName) {
+ const unobserve = observe(
+ element,
+ (isVisible) => isVisible && setVisible(isVisible),
+ {
+ root: rootRef?.current,
+ rootMargin,
+ }
+ );
+ return unobserve;
+ }
+ } else {
+ if (!visible) {
+ const idleCallback = (0,
+ _requestidlecallback.requestIdleCallback)(() => setVisible(true));
+ return () =>
+ (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
+ }
+ }
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
+ const resetVisible = (0, _react.useCallback)(() => {
+ setVisible(false);
+ }, []);
+ return [setElement, visible, resetVisible];
+ }
+ if (
+ (typeof exports.default === "function" ||
+ (typeof exports.default === "object" && exports.default !== null)) &&
+ typeof exports.default.__esModule === "undefined"
+ ) {
+ Object.defineProperty(exports.default, "__esModule", {
+ value: true,
+ });
+ Object.assign(exports.default, exports);
+ module.exports = exports.default;
+ } //# sourceMappingURL=use-intersection.js.map
+
+ /***/
+ },
+
+ /***/ 8101: /***/ (__unused_webpack_module, exports) => {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "errorOnce", {
+ enumerable: true,
+ get: function () {
+ return errorOnce;
+ },
+ });
+ let errorOnce = (_) => {};
+ if (false) {
+ } //# sourceMappingURL=error-once.js.map
+
+ /***/
+ },
+
+ /***/ 8885: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -28,17 +359,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(2223)
);
- const _resolvehref = __webpack_require__(2275);
- const _islocalurl = __webpack_require__(3179);
- const _formaturl = __webpack_require__(5486);
- const _utils = __webpack_require__(3708);
- const _addlocale = __webpack_require__(8225);
- const _routercontextsharedruntime = __webpack_require__(6046);
- const _useintersection = __webpack_require__(2678);
- const _getdomainlocale = __webpack_require__(4499);
- const _addbasepath = __webpack_require__(7434);
- const _usemergedref = __webpack_require__(2263);
- const _erroronce = __webpack_require__(2197);
+ const _resolvehref = __webpack_require__(7379);
+ const _islocalurl = __webpack_require__(4843);
+ const _formaturl = __webpack_require__(9374);
+ const _utils = __webpack_require__(3116);
+ const _addlocale = __webpack_require__(8065);
+ const _routercontextsharedruntime = __webpack_require__(5470);
+ const _useintersection = __webpack_require__(7686);
+ const _getdomainlocale = __webpack_require__(3267);
+ const _addbasepath = __webpack_require__(1450);
+ const _usemergedref = __webpack_require__(1511);
+ const _erroronce = __webpack_require__(8101);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -416,344 +747,13 @@
/***/
},
-
- /***/ 2197: /***/ (__unused_webpack_module, exports) => {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "errorOnce", {
- enumerable: true,
- get: function () {
- return errorOnce;
- },
- });
- let errorOnce = (_) => {};
- if (false) {
- } //# sourceMappingURL=error-once.js.map
-
- /***/
- },
-
- /***/ 2263: /***/ (module, exports, __webpack_require__) => {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "useMergedRef", {
- enumerable: true,
- get: function () {
- return useMergedRef;
- },
- });
- const _react = __webpack_require__(2223);
- function useMergedRef(refA, refB) {
- const cleanupA = (0, _react.useRef)(null);
- const cleanupB = (0, _react.useRef)(null);
- // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
- // (this happens often if the user doesn't pass a ref to Link/Form/Image)
- // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),
- // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
- // (because it hasn't been updated for React 19)
- // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
- // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
- return (0, _react.useCallback)(
- (current) => {
- if (current === null) {
- const cleanupFnA = cleanupA.current;
- if (cleanupFnA) {
- cleanupA.current = null;
- cleanupFnA();
- }
- const cleanupFnB = cleanupB.current;
- if (cleanupFnB) {
- cleanupB.current = null;
- cleanupFnB();
- }
- } else {
- if (refA) {
- cleanupA.current = applyRef(refA, current);
- }
- if (refB) {
- cleanupB.current = applyRef(refB, current);
- }
- }
- },
- [refA, refB]
- );
- }
- function applyRef(refA, current) {
- if (typeof refA === "function") {
- const cleanup = refA(current);
- if (typeof cleanup === "function") {
- return cleanup;
- } else {
- return () => refA(null);
- }
- } else {
- refA.current = current;
- return () => {
- refA.current = null;
- };
- }
- }
- if (
- (typeof exports.default === "function" ||
- (typeof exports.default === "object" && exports.default !== null)) &&
- typeof exports.default.__esModule === "undefined"
- ) {
- Object.defineProperty(exports.default, "__esModule", {
- value: true,
- });
- Object.assign(exports.default, exports);
- module.exports = exports.default;
- } //# sourceMappingURL=use-merged-ref.js.map
-
- /***/
- },
-
- /***/ 2369: /***/ (
- __unused_webpack_module,
- __webpack_exports__,
- __webpack_require__
- ) => {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
- /* harmony export */
- });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
- __webpack_require__(1503);
- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(6691);
- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
- /*#__PURE__*/ __webpack_require__.n(
- next_link__WEBPACK_IMPORTED_MODULE_1__
- );
-
- function aLink(props) {
- return /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- children: [
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
- children: "A Link page!",
- }),
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
- next_link__WEBPACK_IMPORTED_MODULE_1___default(),
- {
- href: "/",
- children: "Go to /",
- }
- ),
- ],
- });
- }
- var __N_SSP = true;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
-
- /***/
- },
-
- /***/ 2678: /***/ (module, exports, __webpack_require__) => {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "useIntersection", {
- enumerable: true,
- get: function () {
- return useIntersection;
- },
- });
- const _react = __webpack_require__(2223);
- const _requestidlecallback = __webpack_require__(4213);
- const hasIntersectionObserver =
- typeof IntersectionObserver === "function";
- const observers = new Map();
- const idList = [];
- function createObserver(options) {
- const id = {
- root: options.root || null,
- margin: options.rootMargin || "",
- };
- const existing = idList.find(
- (obj) => obj.root === id.root && obj.margin === id.margin
- );
- let instance;
- if (existing) {
- instance = observers.get(existing);
- if (instance) {
- return instance;
- }
- }
- const elements = new Map();
- const observer = new IntersectionObserver((entries) => {
- entries.forEach((entry) => {
- const callback = elements.get(entry.target);
- const isVisible =
- entry.isIntersecting || entry.intersectionRatio > 0;
- if (callback && isVisible) {
- callback(isVisible);
- }
- });
- }, options);
- instance = {
- id,
- observer,
- elements,
- };
- idList.push(id);
- observers.set(id, instance);
- return instance;
- }
- function observe(element, callback, options) {
- const { id, observer, elements } = createObserver(options);
- elements.set(element, callback);
- observer.observe(element);
- return function unobserve() {
- elements.delete(element);
- observer.unobserve(element);
- // Destroy observer when there's nothing left to watch:
- if (elements.size === 0) {
- observer.disconnect();
- observers.delete(id);
- const index = idList.findIndex(
- (obj) => obj.root === id.root && obj.margin === id.margin
- );
- if (index > -1) {
- idList.splice(index, 1);
- }
- }
- };
- }
- function useIntersection({ rootRef, rootMargin, disabled }) {
- const isDisabled = disabled || !hasIntersectionObserver;
- const [visible, setVisible] = (0, _react.useState)(false);
- const elementRef = (0, _react.useRef)(null);
- const setElement = (0, _react.useCallback)((element) => {
- elementRef.current = element;
- }, []);
- (0, _react.useEffect)(() => {
- if (hasIntersectionObserver) {
- if (isDisabled || visible) return;
- const element = elementRef.current;
- if (element && element.tagName) {
- const unobserve = observe(
- element,
- (isVisible) => isVisible && setVisible(isVisible),
- {
- root: rootRef?.current,
- rootMargin,
- }
- );
- return unobserve;
- }
- } else {
- if (!visible) {
- const idleCallback = (0,
- _requestidlecallback.requestIdleCallback)(() => setVisible(true));
- return () =>
- (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
- }
- }
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
- const resetVisible = (0, _react.useCallback)(() => {
- setVisible(false);
- }, []);
- return [setElement, visible, resetVisible];
- }
- if (
- (typeof exports.default === "function" ||
- (typeof exports.default === "object" && exports.default !== null)) &&
- typeof exports.default.__esModule === "undefined"
- ) {
- Object.defineProperty(exports.default, "__esModule", {
- value: true,
- });
- Object.assign(exports.default, exports);
- module.exports = exports.default;
- } //# sourceMappingURL=use-intersection.js.map
-
- /***/
- },
-
- /***/ 4499: /***/ (module, exports, __webpack_require__) => {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "getDomainLocale", {
- enumerable: true,
- get: function () {
- return getDomainLocale;
- },
- });
- const _normalizetrailingslash = __webpack_require__(1379);
- const basePath =
- /* unused pure expression or super */ null && (false || "");
- function getDomainLocale(path, locale, locales, domainLocales) {
- if (false) {
- } else {
- return false;
- }
- }
- if (
- (typeof exports.default === "function" ||
- (typeof exports.default === "object" && exports.default !== null)) &&
- typeof exports.default.__esModule === "undefined"
- ) {
- Object.defineProperty(exports.default, "__esModule", {
- value: true,
- });
- Object.assign(exports.default, exports);
- module.exports = exports.default;
- } //# sourceMappingURL=get-domain-locale.js.map
-
- /***/
- },
-
- /***/ 6691: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(69);
-
- /***/
- },
-
- /***/ 6771: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/link",
- function () {
- return __webpack_require__(2369);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6771)
+ __webpack_exec__(2025)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,34 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 97: /***/ (
+ /***/ 417: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/routerDirect",
+ function () {
+ return __webpack_require__(5491);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 1840: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(3252);
+
+ /***/
+ },
+
+ /***/ 5491: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);
+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -35,40 +62,13 @@
/***/
},
-
- /***/ 4283: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/routerDirect",
- function () {
- return __webpack_require__(97);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 7798: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(9300);
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4283)
+ __webpack_exec__(417)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,17 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 5964: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(2010);
-
- /***/
- },
-
- /***/ 7758: /***/ (
+ /***/ 1312: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -26,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(5964);
+ __webpack_require__(2398);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -59,7 +49,17 @@
/***/
},
- /***/ 8803: /***/ (
+ /***/ 2398: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(8954);
+
+ /***/
+ },
+
+ /***/ 4305: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -67,7 +67,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/script",
function () {
- return __webpack_require__(7758);
+ return __webpack_require__(1312);
},
]);
if (false) {
@@ -81,7 +81,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(8803)
+ __webpack_exec__(4305)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 184: /***/ (
+ /***/ 358: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -16,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1503);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7798);
+ __webpack_require__(1840);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -35,7 +35,17 @@
/***/
},
- /***/ 3163: /***/ (
+ /***/ 1840: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(3252);
+
+ /***/
+ },
+
+ /***/ 4041: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -43,7 +53,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/withRouter",
function () {
- return __webpack_require__(184);
+ return __webpack_require__(358);
},
]);
if (false) {
@@ -51,23 +61,13 @@
/***/
},
-
- /***/ 7798: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(9300);
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(3163)
+ __webpack_exec__(4041)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 436-HASH.js
Diff too large to display
Diff for 9760-HASH.js
failed to diff
Diff for main-HASH.js
Diff too large to display
Diff for main-app-HASH.js
@@ -1,64 +1,64 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4977],
{
- /***/ 1705: /***/ (
+ /***/ 2788: /***/ () => {
+ /* (ignored) */
+ /***/
+ },
+
+ /***/ 9661: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 7126, 23)
+ __webpack_require__.t.bind(__webpack_require__, 844, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 4031, 23)
+ __webpack_require__.t.bind(__webpack_require__, 4365, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 1117, 23)
+ __webpack_require__.t.bind(__webpack_require__, 3903, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 1522, 23)
+ __webpack_require__.t.bind(__webpack_require__, 3100, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 1798, 23)
+ __webpack_require__.t.bind(__webpack_require__, 7364, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 8366, 23)
+ __webpack_require__.t.bind(__webpack_require__, 5632, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 6571, 23)
+ __webpack_require__.t.bind(__webpack_require__, 8889, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 596, 23)
+ __webpack_require__.t.bind(__webpack_require__, 9958, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 1321, 23)
+ __webpack_require__.t.bind(__webpack_require__, 7839, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 724, 23)
+ __webpack_require__.t.bind(__webpack_require__, 1270, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 6999, 23)
+ __webpack_require__.t.bind(__webpack_require__, 1885, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 854)
+ __webpack_require__.bind(__webpack_require__, 4088)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 7752, 23)
+ __webpack_require__.t.bind(__webpack_require__, 9622, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 1201, 23)
+ __webpack_require__.t.bind(__webpack_require__, 995, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 7823, 23)
+ __webpack_require__.t.bind(__webpack_require__, 8577, 23)
);
/***/
},
-
- /***/ 7854: /***/ () => {
- /* (ignored) */
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
@@ -66,8 +66,8 @@
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(
0,
- [9137, 9760],
- () => (__webpack_exec__(4730), __webpack_exec__(1705))
+ [2494, 4936],
+ () => (__webpack_exec__(204), __webpack_exec__(9661))
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Looks like there a bunch of e2e tests to fix?
I think the failed tests are unrelated to the changes of this PR. Anyway, I rebased and updated to latest. Could you run CI/CD again?
Are we good now?