"use strict"; var __awaiter = (this && this.__awaiter) || function(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } return new(P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function(thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function(v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t .call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.multipleEntryFilePlugin = void 0; function multipleEntryFilePlugin(pluginOptions) { var chunkName = pluginOptions.chunkName, entryPath = pluginOptions.entryPath, insertPlaceholder = pluginOptions.insertPlaceholder, crossorigin = pluginOptions.crossorigin, entryFileName = pluginOptions.entryFileName, _a = pluginOptions.injectTo, injectTo = _a === void 0 ? 'head-prepend' : _a; var filename = ''; var base = ''; var isDevServer = true; return { name: 'multiple-entries-plugin', // Only be executed in dev mode configureServer: function() { // isDevServer = true; // filename = entryPath; }, // Record base path for build output file path configResolved: function(resolvedConfig) { base = resolvedConfig.base || ''; }, // Inject new entry options: function(options) { // is string if (typeof options.input === 'string') { options.input = [options.input, entryPath]; } // is array else if (Array.isArray(options.input)) { options.input.push(entryPath); } // is object else if (typeof options.input === 'object') { options.input[chunkName] = entryPath; } // No entry specified, treat current entry as the only one. else { options.input = [entryPath]; } }, /** * override entryFileNames, append the new entry file name into origin. * By default, it will hit options.output.entryFileNames naming logic. output file name will be set to the same file name as the main entry. * If you need to specify the output file name, set pluginOptions.entryFileName in the same way as rollup.output.entryFileNames */ outputOptions: function(options) { if (!entryFileName) { return; } if (Array.isArray(options)) { throw new TypeError('Array type output not supported'); } var oldEntryFileNames = options.entryFileNames; options.entryFileNames = function(chunkInfo) { // Hit the entry we added if ('isEntry' in chunkInfo && chunkInfo.isEntry === true && chunkInfo.name === chunkName) { return entryFileName; } // No entry file name specified, use roll up default value else if (oldEntryFileNames === undefined) { return '[name].js'; } // Entry is a function else if (typeof oldEntryFileNames === 'function') { return oldEntryFileNames(chunkInfo); } // Entry is a string else { return oldEntryFileNames; } }; }, // Record the file name of the injected module while generateBundle generateBundle: function(_, bundle) { Object.values(bundle).forEach(function(bun) { if ('isEntry' in bun && bun.isEntry === true && bun.name === chunkName) { filename = base + bun.fileName; } }); }, // Inject "); return [2 /*return*/ , html.replace(insertPlaceholder, tag)]; } // Inject