UNPKG

@vitbokisch/next-optimized-images

Version:

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

29 lines (23 loc) 861 B
import fs from 'fs' import path from 'path' import { stringifyRequest } from 'loader-utils' import { stringifySymbol } from 'svg-sprite-loader/lib/utils' /** * Defines the runtime generator for the svg sprite loader * * @param {object} config - runtime generator context * @returns {string} */ const runtimeGenerator = ({ symbol, config, context }) => { const { spriteModule, symbolModule } = config const spriteRequest = stringifyRequest({ context }, spriteModule) const symbolRequest = stringifyRequest({ context }, symbolModule) const component = fs .readFileSync(path.resolve(__dirname, 'component.mjs')) .toString() return component .replace("'$$symbolRequest$$'", symbolRequest) .replace("'$$spriteRequest$$'", spriteRequest) .replace('$$stringifiedSymbol$$', stringifySymbol(symbol)) } export { runtimeGenerator }