diff --git a/packages/next/src/client/image-component.tsx b/packages/next/src/client/image-component.tsx index ff9c6d9e1c3e..3f2183c004b1 100644 --- a/packages/next/src/client/image-component.tsx +++ b/packages/next/src/client/image-component.tsx @@ -10,7 +10,7 @@ import React, { forwardRef, version, } from 'react' -import { preload } from 'react-dom' +import ReactDOM from 'react-dom' import Head from '../shared/lib/head' import { getImgProps } from '../shared/lib/get-img-props' import type { @@ -320,9 +320,9 @@ function ImagePreload({ ...getDynamicProps(imgAttributes.fetchPriority), } - if (isAppRouter && preload) { + if (isAppRouter && ReactDOM.preload) { // See https://github.com/facebook/react/pull/26940 - preload( + ReactDOM.preload( imgAttributes.src, // @ts-expect-error TODO: upgrade to `@types/react-dom@18.3.x` opts diff --git a/test/integration/next-image-new/loader-config-edge-runtime/pages/index.js b/test/integration/next-image-new/loader-config-edge-runtime/pages/index.js index e246516278ae..d850c931de1a 100644 --- a/test/integration/next-image-new/loader-config-edge-runtime/pages/index.js +++ b/test/integration/next-image-new/loader-config-edge-runtime/pages/index.js @@ -1,6 +1,8 @@ import React from 'react' import Image from 'next/image' +export const config = { runtime: 'experimental-edge' } + function loader({ src, width, quality }) { return `${src}?wid=${width}&qual=${quality || 35}` } diff --git a/test/integration/next-image-new/middleware/middleware.js b/test/integration/next-image-new/middleware/middleware.js new file mode 100644 index 000000000000..b2fb6b8bf8ff --- /dev/null +++ b/test/integration/next-image-new/middleware/middleware.js @@ -0,0 +1,6 @@ +import Image from 'next/image' + +export async function middleware(request) { + // reference Image so it's not tree shaken / DCE + console.log(`Has image: ${Boolean(Image)}`) +} diff --git a/test/integration/next-image-new/middleware/pages/index.js b/test/integration/next-image-new/middleware/pages/index.js new file mode 100644 index 000000000000..44d9dad79819 --- /dev/null +++ b/test/integration/next-image-new/middleware/pages/index.js @@ -0,0 +1,15 @@ +import Image from 'next/image' + +export default function Page() { + return ( + <> +