next.js/packages/next/src/build/webpack/config/blocks/images/index.ts
index.ts37 lines1.0 KB
import curry from 'next/dist/compiled/lodash.curry'
import type { webpack } from 'next/dist/compiled/webpack/webpack'
import { nextImageLoaderRegex } from '../../../../webpack-config'
import { loader } from '../../helpers'
import { pipe } from '../../utils'
import type { ConfigurationContext, ConfigurationFn } from '../../utils'
import { getCustomDocumentImageError } from './messages'

export const images: (
  ctx: ConfigurationContext
) => (config: webpack.Configuration) => Promise<webpack.Configuration> = curry(
  async function images(
    _ctx: ConfigurationContext,
    config: webpack.Configuration
  ) {
    const fns: ConfigurationFn[] = [
      loader({
        oneOf: [
          {
            test: nextImageLoaderRegex,
            use: {
              loader: 'error-loader',
              options: {
                reason: getCustomDocumentImageError(),
              },
            },
            issuer: /pages[\\/]_document\./,
          },
        ],
      }),
    ]

    const fn = pipe(...fns)
    return fn(config)
  }
)
Quest for Codev2.0.0
/
SIGN IN