@@ -18,11 +18,21 @@ const {
18
18
} = require ( "tapable" ) ;
19
19
const Template = require ( "./Template" ) ;
20
20
21
- /** @typedef {import("tapable").Hook } Hook */
22
21
/** @typedef {import("webpack-sources").ConcatSource } ConcatSource */
23
22
/** @typedef {import("./ModuleTemplate") } ModuleTemplate */
24
23
/** @typedef {import("./Chunk") } Chunk */
25
24
/** @typedef {import("./Module") } Module} */
25
+ /** @typedef {import("crypto").Hash } Hash} */
26
+
27
+ /**
28
+ * @typedef {Object } RenderManifestOptions
29
+ * @property {Chunk } chunk the chunk used to render
30
+ * @property {Hash } hash
31
+ * @property {string } fullHash
32
+ * @property {any } outputOptions
33
+ * @property {{javascript: ModuleTemplate, webassembly: ModuleTemplate} } moduleTemplates
34
+ * @property {Map } dependencyTemplates
35
+ */
26
36
27
37
// require function shortcuts:
28
38
// __webpack_require__.s = the module id of the entry point
@@ -49,8 +59,8 @@ module.exports = class MainTemplate extends Tapable {
49
59
super ( ) ;
50
60
/** @type {any? } */
51
61
this . outputOptions = outputOptions || { } ;
52
- /** @type {{[hookName: string]: Hook} } */
53
62
this . hooks = {
63
+ /** @type {SyncWaterfallHook<any[], RenderManifestOptions> } */
54
64
renderManifest : new SyncWaterfallHook ( [ "result" , "options" ] ) ,
55
65
modules : new SyncWaterfallHook ( [
56
66
"modules" ,
@@ -311,8 +321,8 @@ module.exports = class MainTemplate extends Tapable {
311
321
312
322
/**
313
323
*
314
- * @param {any } options render manifest options
315
- * @returns {any[] } returns render nanifest
324
+ * @param {RenderManifestOptions } options render manifest options
325
+ * @returns {any[] } returns render manifest
316
326
*/
317
327
getRenderManifest ( options ) {
318
328
const result = [ ] ;
0 commit comments