@arco-plugins/webpack-react
Version:
arco webpack plugin
47 lines (46 loc) • 2.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ArcoDesignPlugin = void 0;
var lodash_1 = require("lodash");
var plugin_for_theme_1 = require("./plugin-for-theme");
var plugin_for_import_1 = require("./plugin-for-import");
var plugin_for_remove_font_face_1 = require("./plugin-for-remove-font-face");
var plugin_for_replace_icon_1 = require("./plugin-for-replace-icon");
var plugin_for_replace_default_language_1 = require("./plugin-for-replace-default-language");
var ArcoDesignPlugin = /** @class */ (function () {
function ArcoDesignPlugin(options) {
if (options === void 0) { options = {}; }
var resolveOptions = (0, lodash_1.merge)({
include: ['src'],
extensions: ['js', 'jsx', 'ts', 'tsx'],
style: true,
libraryDirectory: 'es',
modifyBabelLoader: true,
}, options);
global.arcoDesignPlugin = { options: resolveOptions };
this.options = resolveOptions;
this.themePluginInstance = new plugin_for_theme_1.ThemePlugin(resolveOptions);
this.importPluginInstance = new plugin_for_import_1.ImportPlugin(resolveOptions);
// Compatible with `(new ArcoWebpackPlugin()).pluginForImport.getBabelPlugins()` usage
this.pluginForImport = this.importPluginInstance;
if (resolveOptions.removeFontFace) {
this.removeFontFacePluginInstance = new plugin_for_remove_font_face_1.RemoveFontFacePlugin();
}
if (resolveOptions.iconBox) {
this.replaceIconPluginInstance = new plugin_for_replace_icon_1.ReplaceIconPlugin(resolveOptions);
}
if (resolveOptions.defaultLanguage) {
this.replaceDefaultLanguagePluginInstance = new plugin_for_replace_default_language_1.ReplaceDefaultLanguagePlugin(resolveOptions);
}
}
ArcoDesignPlugin.prototype.apply = function (compiler) {
var _a, _b, _c;
this.themePluginInstance.apply(compiler);
this.importPluginInstance.apply(compiler);
(_a = this.removeFontFacePluginInstance) === null || _a === void 0 ? void 0 : _a.apply(compiler);
(_b = this.replaceIconPluginInstance) === null || _b === void 0 ? void 0 : _b.apply(compiler);
(_c = this.replaceDefaultLanguagePluginInstance) === null || _c === void 0 ? void 0 : _c.apply(compiler);
};
return ArcoDesignPlugin;
}());
exports.ArcoDesignPlugin = ArcoDesignPlugin;