You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/* MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra */
"use strict";
const EnableLibraryPlugin = require("./library/EnableLibraryPlugin");
/** @typedef {import("../declarations/WebpackOptions").AuxiliaryComment} AuxiliaryComment */ /** @typedef {import("../declarations/WebpackOptions").LibraryExport} LibraryExport */ /** @typedef {import("../declarations/WebpackOptions").LibraryName} LibraryName */ /** @typedef {import("../declarations/WebpackOptions").LibraryType} LibraryType */ /** @typedef {import("../declarations/WebpackOptions").UmdNamedDefine} UmdNamedDefine */ /** @typedef {import("./Compiler")} Compiler */
// TODO webpack 6 remove
class LibraryTemplatePlugin { /** * @param {LibraryName} name name of library * @param {LibraryType} target type of library * @param {UmdNamedDefine} umdNamedDefine setting this to true will name the UMD module * @param {AuxiliaryComment} auxiliaryComment comment in the UMD wrapper * @param {LibraryExport} exportProperty which export should be exposed as library */ constructor(name, target, umdNamedDefine, auxiliaryComment, exportProperty) { this.library = { type: target || "var", name, umdNamedDefine, auxiliaryComment, export: exportProperty }; }
/** * Apply the plugin * @param {Compiler} compiler the compiler instance * @returns {void} */ apply(compiler) { const { output } = compiler.options; output.library = this.library; new EnableLibraryPlugin(this.library.type).apply(compiler); } }
module.exports = LibraryTemplatePlugin;
|