12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- const merge = require('deepmerge');
- const defaults = require('./config');
- const utils = require('./utils');
- const loaderDefaults = defaults.loader;
- const isomorphicSpriteModule = require.resolve('../runtime/sprite.build');
- const isomorphicSymbolModule = require.resolve('svg-baker-runtime/symbol');
- const isTargetBrowser = target => target === 'web' || target === 'electron-renderer';
- module.exports = function configurator({ config, context, target }) {
- const module = context._module;
- const compiler = context._compiler;
- const compilerName = compiler.name;
- const autoConfigured = {
- spriteModule: isTargetBrowser(target) ? loaderDefaults.spriteModule : isomorphicSpriteModule,
- symbolModule: isTargetBrowser(target) ? loaderDefaults.symbolModule : isomorphicSymbolModule,
- extract: utils.isModuleShouldBeExtracted(module),
- esModule: context.version && context.version >= 2
- };
- const finalConfig = merge.all([loaderDefaults, autoConfigured, config || {}]);
-
- if (compilerName && (
- compilerName.includes('extract-text-webpack-plugin') ||
- compilerName.includes('html-webpack-plugin')
- )) {
- finalConfig.esModule = false;
- }
- return finalConfig;
- };
|