UNPKG

@vitbokisch/next-optimized-images

Version:

Automatically optimize images used in next.js projects (jpeg, png, gif, svg).

45 lines (41 loc) 1.06 kB
import path from 'path' import { createRequire } from 'module' const require = createRequire(import.meta.url) /** * Returns the resource query definition for an svg sprite image * * @param {object} nextConfig - next.js configuration * @param {object} detectedLoaders - detected loaders * @param {object} imgLoaderOptions - img loader options * @param {boolean} optimize - if the svg image should get optimized * @returns {object} */ const getSvgSpriteLoaderResourceQuery = ( nextConfig, detectedLoaders, imgLoaderOptions, optimize ) => ({ resourceQuery: /sprite/, use: [ { loader: 'svg-sprite-loader', options: { runtimeGenerator: require.resolve( path.resolve(__dirname, 'svg-runtime-generator.js') ), ...(nextConfig.svgSpriteLoader || {}), }, }, ].concat( detectedLoaders.svg && optimize ? [ { loader: 'img-loader', options: imgLoaderOptions, }, ] : [] ), }) export { getSvgSpriteLoaderResourceQuery }