UNPKG

759 BJavaScriptView Raw
1const merge = require('deepmerge');
2
3module.exports = ({ config }, options = {}) => {
4 const { limit } = merge({ limit: 8192 }, options);
5 const urlLoader = require.resolve('url-loader');
6 const svgUrlLoader = require.resolve('svg-url-loader');
7
8 config.module
9 .rule('svg')
10 .test(/\.svg(\?v=\d+\.\d+\.\d+)?$/)
11 .use('url')
12 .loader(svgUrlLoader)
13 .options(merge({ limit }, options.svg || {}));
14
15 config.module
16 .rule('img')
17 .test(/\.(png|jpg|jpeg|gif)$/)
18 .use('url')
19 .loader(urlLoader)
20 .options(merge({ limit }, options.img || {}));
21
22 config.module
23 .rule('ico')
24 .test(/\.ico(\?v=\d+\.\d+\.\d+)?$/)
25 .use('url')
26 .loader(urlLoader)
27 .when(options.ico, use => use.options(options.ico));
28};