@arco-plugins/webpack-react
Version:
arco webpack plugin
52 lines (51 loc) • 2.18 kB
JavaScript
;
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;