Files
jsowell-charger-web/jsowell-ui/node_modules/svg-sprite-loader/lib/configurator.js
Lemon f5e6e29f00 Merge branch 'dev-zza' into dev
# Conflicts:
#	jsowell-ui/.env.development
#	jsowell-ui/.env.staging
#	jsowell-ui/bin/build-sit.bat
#	jsowell-ui/bin/build.bat
#	jsowell-ui/src/api/adapayMember/adapayMember.js
#	jsowell-ui/src/api/pile/merchant.js
#	jsowell-ui/src/router/index.js
#	jsowell-ui/src/views/financial/financeDetail.vue
#	jsowell-ui/src/views/financial/merchant.vue
#	jsowell-ui/src/views/homeIndex/homeIndex.vue
#	jsowell-ui/src/views/login.vue
#	jsowell-ui/src/views/pile/basic/detail.vue
#	jsowell-ui/src/views/pile/station/components/SiteInfo.vue
#	jsowell-ui/src/views/pile/station/detail.vue
#	jsowell-ui/src/views/pile/station/orderReport.vue
2025-06-03 14:26:37 +08:00

47 lines
1.8 KiB
JavaScript

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';
/**
* @param {Object} params
* @param {Object} [params.config] Parsed loader config {@see SVGSpriteLoaderConfig}
* @param {LoaderContext} context Loader context {@see https://webpack.js.org/api/loaders/#the-loader-context}
* @return {Object}
*/
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 || {}]);
/**
* esModule should be `false` when compiles via extract-text-webpack-plugin or html-webpack-plugin.
* Because this compilers executes module as usual node module so export should be always in commonjs style.
* This could be dropped when Node.js will support ES modules natively :)
* @see https://git.io/vS7Sn
* @see https://git.io/v9w60
*/
if (compilerName && (
compilerName.includes('extract-text-webpack-plugin') ||
compilerName.includes('html-webpack-plugin')
)) {
finalConfig.esModule = false;
}
return finalConfig;
};