1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | "use strict";
|
7 |
|
8 | const util = require("util");
|
9 | const memoize = require("./util/memoize");
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 | const getJavascriptModulesPlugin = memoize(() =>
|
22 | require("./javascript/JavascriptModulesPlugin")
|
23 | );
|
24 |
|
25 |
|
26 | class ModuleTemplate {
|
27 | |
28 |
|
29 |
|
30 |
|
31 | constructor(runtimeTemplate, compilation) {
|
32 | this._runtimeTemplate = runtimeTemplate;
|
33 | this.type = "javascript";
|
34 | this.hooks = Object.freeze({
|
35 | content: {
|
36 | tap: util.deprecate(
|
37 | (options, fn) => {
|
38 | getJavascriptModulesPlugin()
|
39 | .getCompilationHooks(compilation)
|
40 | .renderModuleContent.tap(
|
41 | options,
|
42 | (source, module, renderContext) =>
|
43 | fn(
|
44 | source,
|
45 | module,
|
46 | renderContext,
|
47 | renderContext.dependencyTemplates
|
48 | )
|
49 | );
|
50 | },
|
51 | "ModuleTemplate.hooks.content is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContent instead)",
|
52 | "DEP_MODULE_TEMPLATE_CONTENT"
|
53 | )
|
54 | },
|
55 | module: {
|
56 | tap: util.deprecate(
|
57 | (options, fn) => {
|
58 | getJavascriptModulesPlugin()
|
59 | .getCompilationHooks(compilation)
|
60 | .renderModuleContent.tap(
|
61 | options,
|
62 | (source, module, renderContext) =>
|
63 | fn(
|
64 | source,
|
65 | module,
|
66 | renderContext,
|
67 | renderContext.dependencyTemplates
|
68 | )
|
69 | );
|
70 | },
|
71 | "ModuleTemplate.hooks.module is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContent instead)",
|
72 | "DEP_MODULE_TEMPLATE_MODULE"
|
73 | )
|
74 | },
|
75 | render: {
|
76 | tap: util.deprecate(
|
77 | (options, fn) => {
|
78 | getJavascriptModulesPlugin()
|
79 | .getCompilationHooks(compilation)
|
80 | .renderModuleContainer.tap(
|
81 | options,
|
82 | (source, module, renderContext) =>
|
83 | fn(
|
84 | source,
|
85 | module,
|
86 | renderContext,
|
87 | renderContext.dependencyTemplates
|
88 | )
|
89 | );
|
90 | },
|
91 | "ModuleTemplate.hooks.render is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModuleContainer instead)",
|
92 | "DEP_MODULE_TEMPLATE_RENDER"
|
93 | )
|
94 | },
|
95 | package: {
|
96 | tap: util.deprecate(
|
97 | (options, fn) => {
|
98 | getJavascriptModulesPlugin()
|
99 | .getCompilationHooks(compilation)
|
100 | .renderModulePackage.tap(
|
101 | options,
|
102 | (source, module, renderContext) =>
|
103 | fn(
|
104 | source,
|
105 | module,
|
106 | renderContext,
|
107 | renderContext.dependencyTemplates
|
108 | )
|
109 | );
|
110 | },
|
111 | "ModuleTemplate.hooks.package is deprecated (use JavascriptModulesPlugin.getCompilationHooks().renderModulePackage instead)",
|
112 | "DEP_MODULE_TEMPLATE_PACKAGE"
|
113 | )
|
114 | },
|
115 | hash: {
|
116 | tap: util.deprecate(
|
117 | (options, fn) => {
|
118 | compilation.hooks.fullHash.tap(options, fn);
|
119 | },
|
120 | "ModuleTemplate.hooks.hash is deprecated (use Compilation.hooks.fullHash instead)",
|
121 | "DEP_MODULE_TEMPLATE_HASH"
|
122 | )
|
123 | }
|
124 | });
|
125 | }
|
126 | }
|
127 |
|
128 | Object.defineProperty(ModuleTemplate.prototype, "runtimeTemplate", {
|
129 | get: util.deprecate(
|
130 | /**
|
131 | * @this {ModuleTemplate}
|
132 | * @returns {TODO} output options
|
133 | */
|
134 | function () {
|
135 | return this._runtimeTemplate;
|
136 | },
|
137 | "ModuleTemplate.runtimeTemplate is deprecated (use Compilation.runtimeTemplate instead)",
|
138 | "DEP_WEBPACK_CHUNK_TEMPLATE_OUTPUT_OPTIONS"
|
139 | )
|
140 | });
|
141 |
|
142 | module.exports = ModuleTemplate;
|