123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- /*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
- */
- "use strict";
- const util = require("util");
- const memoize = require("./util/memoize");
- /** @typedef {import("webpack-sources").Source} Source */
- /** @typedef {import("./Chunk")} Chunk */
- /** @typedef {import("./ChunkGraph")} ChunkGraph */
- /** @typedef {import("./Compilation")} Compilation */
- /** @typedef {import("./DependencyTemplates")} DependencyTemplates */
- /** @typedef {import("./Module")} Module */
- /** @typedef {import("./ModuleGraph")} ModuleGraph */
- /** @typedef {import("./RuntimeTemplate")} RuntimeTemplate */
- /** @typedef {import("./util/Hash")} Hash */
- const getJavascriptModulesPlugin = memoize(() =>
- require("./javascript/JavascriptModulesPlugin")
- );
- // TODO webpack 6: remove this class
- class ModuleTemplate {
- /**
- * @param {RuntimeTemplate} runtimeTemplate the runtime template
- * @param {Compilation} compilation the compilation
- */
- constructor(runtimeTemplate, compilation) {
- this._runtimeTemplate = runtimeTemplate;
- this.type = "javascript";
- this.hooks = Object.freeze({
- content: {
- tap: util.deprecate(
- (options, fn) => {
- getJavascriptModulesPlugin()
- .getCompilationHooks(compilation)
- .renderModuleContent.tap(
- options,
- (source, module, renderContext) =>
- fn(
- source,
- module,
- renderContext,
- renderContext.dependencyTemplates
- )
- );
- },
- "ModuleTemplate.hooks.content is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContent instead)",
- "DEP_MODULE_TEMPLATE_CONTENT"
- )
- },
- module: {
- tap: util.deprecate(
- (options, fn) => {
- getJavascriptModulesPlugin()
- .getCompilationHooks(compilation)
- .renderModuleContent.tap(
- options,
- (source, module, renderContext) =>
- fn(
- source,
- module,
- renderContext,
- renderContext.dependencyTemplates
- )
- );
- },
- "ModuleTemplate.hooks.module is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContent instead)",
- "DEP_MODULE_TEMPLATE_MODULE"
- )
- },
- render: {
- tap: util.deprecate(
- (options, fn) => {
- getJavascriptModulesPlugin()
- .getCompilationHooks(compilation)
- .renderModuleContainer.tap(
- options,
- (source, module, renderContext) =>
- fn(
- source,
- module,
- renderContext,
- renderContext.dependencyTemplates
- )
- );
- },
- "ModuleTemplate.hooks.render is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContainer instead)",
- "DEP_MODULE_TEMPLATE_RENDER"
- )
- },
- package: {
- tap: util.deprecate(
- (options, fn) => {
- getJavascriptModulesPlugin()
- .getCompilationHooks(compilation)
- .renderModulePackage.tap(
- options,
- (source, module, renderContext) =>
- fn(
- source,
- module,
- renderContext,
- renderContext.dependencyTemplates
- )
- );
- },
- "ModuleTemplate.hooks.package is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModulePackage instead)",
- "DEP_MODULE_TEMPLATE_PACKAGE"
- )
- },
- hash: {
- tap: util.deprecate(
- (options, fn) => {
- compilation.hooks.fullHash.tap(options, fn);
- },
- "ModuleTemplate.hooks.hash is deprecated (use Compilation.hooks.fullHash instead)",
- "DEP_MODULE_TEMPLATE_HASH"
- )
- }
- });
- }
- }
- Object.defineProperty(ModuleTemplate.prototype, "runtimeTemplate", {
- get: util.deprecate(
- /**
- * @this {ModuleTemplate}
- * @returns {TODO} output options
- */
- function () {
- return this._runtimeTemplate;
- },
- "ModuleTemplate.runtimeTemplate is deprecated (use Compilation.runtimeTemplate instead)",
- "DEP_WEBPACK_CHUNK_TEMPLATE_OUTPUT_OPTIONS"
- )
- });
- module.exports = ModuleTemplate;
|