UNPKG

@arco-plugins/webpack-react

Version:
52 lines (51 loc) 2.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ReplaceDefaultLanguagePlugin = void 0; var lodash_1 = require("lodash"); var utils_1 = require("@arco-plugins/utils"); var utils_2 = require("./utils"); var config_1 = require("./config"); var matchers_1 = require("./config/matchers"); var ReplaceDefaultLanguagePlugin = /** @class */ (function () { function ReplaceDefaultLanguagePlugin(options) { this.options = options; } ReplaceDefaultLanguagePlugin.prototype.apply = function (compiler) { var _this = this; if (!this.options.defaultLanguage) return; var loader = require.resolve('./loaders/replace-default-language'); (0, utils_2.hookNormalModuleLoader)(compiler, config_1.PLUGIN_NAME, function (_loaderContext, module, resource) { if (utils_1.pathUtils.isMatch(resource, matchers_1.esLocalDefaultMatchers) && !(0, utils_2.getLoader)(module.loaders, loader)) { var loaders = (0, lodash_1.cloneDeep)(module.loaders || []); loaders.push({ loader: loader, ident: null, type: null, options: { defaultLanguage: _this.options.defaultLanguage, type: 'es', }, }); module.loaders = loaders; } if (utils_1.pathUtils.isMatch(resource, matchers_1.libLocalDefaultMatchers) && !(0, utils_2.getLoader)(module.loaders, loader)) { var loaders = (0, lodash_1.cloneDeep)(module.loaders || []); loaders.push({ loader: loader, ident: null, type: null, options: { defaultLanguage: _this.options.defaultLanguage, type: 'lib', }, }); module.loaders = loaders; } }); }; return ReplaceDefaultLanguagePlugin; }()); exports.ReplaceDefaultLanguagePlugin = ReplaceDefaultLanguagePlugin;