UNPKG

@gluons/vue-pack-splitchunks-plugin

Version:
40 lines (39 loc) 1.59 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const tapSplitChunks_1 = __importDefault(require("./tapSplitChunks")); /** * webpack's `splitChunks` customization plugin. * * @export * @param {SplitChunksPluginOptions} [options] * @returns {Plugin} */ function SplitChunksPlugin(options) { return (context) => { if (!options) { return; } const { webpackConfigs } = context; if (typeof options.tapAll === 'function') { Object.keys(webpackConfigs).forEach(key => { const config = webpackConfigs[key]; tapSplitChunks_1.default(config, options.tapAll); }); } typeof options.tapCJS === 'function' && tapSplitChunks_1.default(webpackConfigs.commonJSConfig, options.tapCJS); typeof options.tapESM === 'function' && tapSplitChunks_1.default(webpackConfigs.esModuleConfig, options.tapESM); typeof options.tapSSR === 'function' && tapSplitChunks_1.default(webpackConfigs.ssrConfig, options.tapSSR); if (typeof options.tapWeb === 'function') { tapSplitChunks_1.default(webpackConfigs.webUnminConfig, options.tapWeb); tapSplitChunks_1.default(webpackConfigs.webMinConfig, options.tapWeb); } }; } exports.default = SplitChunksPlugin; module.exports = SplitChunksPlugin;