From 52004c1d3102fa30a466fdf7c1b3d1936cdec747 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Wed, 11 Aug 2021 17:47:16 +0200 Subject: [PATCH] Revert "Add warning during `next build` when sharp is missing (#27933)" This reverts commit 51a2a028ddcc321aac4744b777df2b4e96511b83. --- packages/next/build/index.ts | 16 ------ .../image-optimizer/test/index.test.js | 51 +++++-------------- 2 files changed, 12 insertions(+), 55 deletions(-) diff --git a/packages/next/build/index.ts b/packages/next/build/index.ts index cdb0f9d14df6123..6621ed8ef2cf5b1 100644 --- a/packages/next/build/index.ts +++ b/packages/next/build/index.ts @@ -930,22 +930,6 @@ export default async function build( return returnValue }) - if (isNextImageImported) { - try { - if (process.env.NEXT_SHARP_PATH) { - require(process.env.NEXT_SHARP_PATH) - } else { - require.resolve('sharp', { - paths: [path.join(dir, 'node_modules')], - }) - } - } catch (e) { - Log.warn( - 'Detected `next/image` usage without `sharp`. https://nextjs.org/docs/messages/sharp-missing-in-production' - ) - } - } - if (customAppGetInitialProps) { console.warn( chalk.bold.yellow(`Warning: `) + diff --git a/test/integration/image-optimizer/test/index.test.js b/test/integration/image-optimizer/test/index.test.js index 739501224c7b1e7..9faab437aa3d7fd 100644 --- a/test/integration/image-optimizer/test/index.test.js +++ b/test/integration/image-optimizer/test/index.test.js @@ -23,11 +23,10 @@ const imagesDir = join(appDir, '.next', 'cache', 'images') const nextConfig = new File(join(appDir, 'next.config.js')) const largeSize = 1080 // defaults defined in server/config.ts let nextOutput -let buildOutput let appPort let app -const sharpRuntimeWarning = `For production Image Optimization with Next.js, the optional 'sharp' package is strongly recommended` -const sharpBuildWarning = 'Detected `next/image` usage without `sharp`.' + +const sharpMissingText = `For production Image Optimization with Next.js, the optional 'sharp' package is strongly recommended` async function fsToJson(dir, output = {}) { const files = await fs.readdir(dir) @@ -727,29 +726,13 @@ function runTests({ w, isDev, domains = [], ttl, isSharp }) { expect(Object.keys(json1).length).toBe(1) }) - if (isDev) { - it('should not have runtime warning in dev', () => { - expect(nextOutput).not.toContain(sharpRuntimeWarning) - }) - - it('should not have build warning in dev', () => { - expect(buildOutput).not.toContain(sharpBuildWarning) - }) - } else if (isSharp) { - it('should not have runtime warning when sharp is installed', () => { - expect(nextOutput).not.toContain(sharpRuntimeWarning) - }) - - it('should not have build warning when sharp is installed', () => { - expect(buildOutput).not.toContain(sharpBuildWarning) + if (isDev || isSharp) { + it('should not have sharp missing warning', () => { + expect(nextOutput).not.toContain(sharpMissingText) }) } else { - it('should have runtime warning when sharp is not installed', () => { - expect(nextOutput).toContain(sharpRuntimeWarning) - }) - - it('should have build warning when sharp is not installed', () => { - expect(buildOutput).toContain(sharpBuildWarning) + it('should have sharp missing warning', () => { + expect(nextOutput).toContain(sharpMissingText) }) } } @@ -927,10 +910,8 @@ describe('Image Optimizer', () => { }, }) nextOutput = '' - buildOutput = '' nextConfig.replace('{ /* replaceme */ }', json) - const out = await nextBuild(appDir, [], { stderr: true }) - buildOutput = out.stderr + await nextBuild(appDir) appPort = await findPort() app = await nextStart(appDir, appPort, { onStderr(msg) { @@ -968,8 +949,7 @@ describe('Image Optimizer', () => { }, }` ) - const out = await nextBuild(appDir, [], { stderr: true }) - buildOutput = out.stderr + await nextBuild(appDir) appPort = await findPort() app = await nextStart(appDir, appPort) }) @@ -1045,8 +1025,7 @@ describe('Image Optimizer', () => { }, }` nextConfig.replace('{ /* replaceme */ }', newConfig) - const out = await nextBuild(appDir, [], { stderr: true }) - buildOutput = out.stderr + await nextBuild(appDir) appPort = await findPort() app = await nextStart(appDir, appPort) }) @@ -1105,7 +1084,6 @@ describe('Image Optimizer', () => { const size = 384 // defaults defined in server/config.ts beforeAll(async () => { nextOutput = '' - buildOutput = '' appPort = await findPort() app = await launchApp(appDir, appPort, { onStderr(msg) { @@ -1133,7 +1111,6 @@ describe('Image Optimizer', () => { }, }) nextOutput = '' - buildOutput = '' nextConfig.replace('{ /* replaceme */ }', json) appPort = await findPort() app = await launchApp(appDir, appPort, { @@ -1156,9 +1133,7 @@ describe('Image Optimizer', () => { const size = 384 // defaults defined in server/config.ts beforeAll(async () => { nextOutput = '' - buildOutput = '' - const out = await nextBuild(appDir, [], { stderr: true }) - buildOutput = out.stderr + await nextBuild(appDir) appPort = await findPort() app = await nextStart(appDir, appPort, { onStderr(msg) { @@ -1192,10 +1167,8 @@ describe('Image Optimizer', () => { }, }) nextOutput = '' - buildOutput = '' nextConfig.replace('{ /* replaceme */ }', json) - const out = await nextBuild(appDir, [], { stderr: true }) - buildOutput = out.stderr + await nextBuild(appDir) appPort = await findPort() app = await nextStart(appDir, appPort, { onStderr(msg) {