-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathindex.html
200 lines (200 loc) · 107 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
<!DOCTYPE html><html lang="en" data-reactroot=""><head><meta charset="utf-8"/><meta name="theme-color" content="#2B3A42"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Compiler Hooks | webpack</title><meta name="description" content="webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset."/><meta property="og:site_name" content="webpack"/><meta property="og:type" content="website"/><meta property="og:title" content="Compiler Hooks | webpack"/><meta property="og:description" name="description" content="webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset."/><meta property="og:image" content="/aad9d51e01a0dcc2caf5bee43dc8e647.svg"/><meta property="twitter:card" content="summary"/><meta property="twitter:site" content="@webpack"/><meta property="twitter:creator" content="@webpack"/><meta property="twitter:domain" content="https://webpack.js.org/"/><link rel="icon" type="image/x-icon" href="/bc3effb418df77da9e04825c48a58a49.ico"/><link rel="stylesheet" href="/f6b65dd5eb8462dbda98.css"/><link rel="stylesheet" href="/c44ad5fd69734542f886.css"/><link rel="manifest" href="/manifest.json"/><link rel="canonical" href="https://webpack.js.org/api/compiler-hooks/"/><meta name="mobile-web-app-capable" content="yes"/><link rel="icon" sizes="192x192" href="/icon_192x192.png"/><link rel="icon" sizes="512x512" href="/icon_512x512.png"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black"/><meta name="apple-mobile-web-app-title" content="webpack"/><link rel="apple-touch-icon-precomposed" href="/icon_180x180.png"/><link rel="mask-icon" href="/aad9d51e01a0dcc2caf5bee43dc8e647.svg" color="#465e69"/><meta name="msapplication-TileImage" content="/icon_150x150.png"/><meta name="msapplication-TileColor" content="#465e69"/></head><body><div id="root"><div class="site"><div class="site__header"><div class="notification-bar"><div class="container notification-bar__inner"><p>Sponsor webpack and get apparel from the <a href="https://webpack.threadless.com">official shop</a>! All proceeds go to our <a href="https://opencollective.com/webpack">open collective</a>!</p></div></div><header class="navigation "><section class="navigation__inner"><button aria-label="Open menu" class="navigation__mobile"><svg viewBox="-62 138 25 25"><g><g><path d="M-60.2,140.2h20.9c1,0,1.8,0.8,1.8,1.8l0,0c0,1-0.8,1.8-1.8,1.8h-20.9c-1,0-1.8-0.8-1.8-1.8l0,0 C-62,141-61.2,140.2-60.2,140.2z"></path><path d="M-60.2,148.7h20.9c1,0,1.8,0.8,1.8,1.8l0,0c0,1-0.8,1.8-1.8,1.8h-20.9c-1,0-1.8-0.8-1.8-1.8l0,0 C-62,149.5-61.2,148.7-60.2,148.7z"></path><path d="M-60.2,157.2h20.9c1,0,1.8,0.8,1.8,1.8l0,0c0,1-0.8,1.8-1.8,1.8h-20.9c-1,0-1.8-0.8-1.8-1.8l0,0 C-62,158-61.2,157.2-60.2,157.2z"></path></g></g></svg></button><a class="navigation__logo" href="/"><img class="logo" src="/e0b5805d423a4ec9473ee315250968b2.svg" alt="webpack logo"/></a><nav class="navigation__items"><a class="navigation__item navigation__item--active" href="/concepts/">Documentation</a><a class="navigation__item " href="/contribute/">Contribute</a><a class="navigation__item " href="/vote/">Vote</a><a href="https://medium.com/webpack" target="_blank" rel="noopener" class="navigation__item ">Blog</a><a href="https://github.com/webpack/webpack" target="_blank" rel="noopener" title="GitHub Repository" class="navigation__item navigation__item--icon "><i aria-hidden="true" class="icon-github"></i></a><a href="https://twitter.com/webpack" target="_blank" rel="noopener" title="webpack on Twitter" class="navigation__item navigation__item--icon "><i aria-hidden="true" class="icon-twitter"></i></a><a href="https://stackoverflow.com/questions/tagged/webpack" target="_blank" rel="noopener" title="webpack on Stack Overflow" class="navigation__item navigation__item--icon "><i aria-hidden="true" class="icon-stack-overflow"></i></a><span class="navigation__item navigation__item--icon"><nav class="dropdown navigation__languages"><button aria-haspopup="true" aria-expanded="false" aria-label="Select language"><img class="dropdown__language" alt="select language" src="/57c717e75066b659cfe19dc2a643153c.svg"/><i aria-hidden="true" class="dropdown__arrow"></i></button><div class="dropdown__list "><ul><li><a href="https://webpack.js.org/"><span>English</span></a></li><li><a href="https://webpack.docschina.org/"><span lang="zh">中文</span></a></li></ul></div></nav></span></nav><div class="navigation-search "><input type="text" class="navigation-search__input" placeholder="Search this site..." value=""/><button aria-label="Hide search box" class="navigation-search__icon navigation-search__clear"><svg viewBox="-137 138 25 25"><g transform="translate(0,-952.36218)"><path d="M-131.3,1094.4c-0.4,0-0.9,0.1-1.2,0.5c-0.7,0.7-0.7,1.7,0,2.4l5.6,5.6l-5.6,5.6c-0.7,0.7-0.7,1.7,0,2.4 c0.7,0.7,1.7,0.7,2.4,0l5.6-5.6l5.6,5.6c0.7,0.7,1.7,0.7,2.4,0c0.7-0.7,0.7-1.7,0-2.4l-5.6-5.6l5.6-5.6c0.7-0.7,0.7-1.7,0-2.4 c-0.7-0.7-1.7-0.7-2.4,0l-5.6,5.6l-5.6-5.6C-130.5,1094.5-130.9,1094.4-131.3,1094.4L-131.3,1094.4z"></path></g></svg></button><button aria-label="Show search box" class="navigation-search__icon navigation-search__search"><svg viewBox="-137 138 25 25"><g><path d="M-114.6,162.6l-7.5-7.5c-0.6-0.6-0.6-1.6,0-2.1l0,0c0.6-0.6,1.6-0.6,2.1,0l7.5,7.5c0.6,0.6,0.6,1.6,0,2.1l0,0 C-113,163.1-114,163.1-114.6,162.6z"></path><path d="M-134.1,140.9c-3.9,3.9-3.9,10.2,0,14.1s10.2,3.9,14.1,0s3.9-10.2,0-14.1S-130.2,137-134.1,140.9z M-122.1,153 c-2.7,2.7-7.1,2.7-9.8,0s-2.7-7.1,0-9.8s7.1-2.7,9.8,0C-119.4,145.9-119.4,150.2-122.1,153z"></path></g></svg></button></div></section><div class="navigation-sub"><div class="navigation-sub__inner"><a class="navigation-sub__link navigation-sub__link--active" title="api" content="api" href="/api/">api</a><a class="navigation-sub__link " title="blog" content="blog" href="/blog/">blog</a><a class="navigation-sub__link " title="concepts" content="concepts" href="/concepts/">concepts</a><a class="navigation-sub__link " title="configuration" content="configuration" href="/configuration/">configuration</a><a class="navigation-sub__link " title="guides" content="guides" href="/guides/">guides</a><a class="navigation-sub__link " title="loaders" content="loaders" href="/loaders/">loaders</a><a class="navigation-sub__link " title="migrate" content="migrate" href="/migrate/">migrate</a><a class="navigation-sub__link " title="plugins" content="plugins" href="/plugins/">plugins</a></div></div></header></div><div class="container site__content"><div class="sponsors"><a href="https://www.ag-grid.com/?utm_source=webpack&utm_medium=banner&utm_campaign=sponsorship" target="_blank" rel="noopener" class="sponsors__content"><img src="/bf176a25b4f8227fea804854c98dc5e2.png"/><img src="/d19378a95ebe6b15d5ddea281138dcf4.svg" style="width:100px"/><div style="margin-top:1em;font-size:2em;text-align:center;color:#535353">ag-grid is proud to partner with webpack</div></a></div><nav class="sidebar site__sidebar"><div class="sidebar__inner"><div class="relative z-0 bg-white dark:bg-gray-100 "><select class="text-gray-600 text-14 px-5 py-5 appearance-none box-border border border-gray-200 border-solid flex-col flex w-full rounded-none bg-transparent bg-none"><option value="5">Webpack 5</option><option selected="" value="4">Webpack 4</option></select><img src="/33e97d95c634809004ee2830b6297e89.svg" class="absolute right-5 top-5 fill-current text-gray-300 z-[-1]" width="20" height="20"/></div><div class="sidebar-item sidebar-item--disabled`"><i class="sidebar-item__toggle icon-vertical-bar"></i><a class="sidebar-item__title sidebar-link__print" href="/api/printable/" rel="nofollow" alt="Print" title="Print" target="_blank">Print Section<img src="/96ccbfac58b65e83657a220603e00abe.svg"/></a></div><div><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/">Introduction</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="CLI"><a href="/api/#cli">CLI</a></li><li class="sidebar-item__anchor" title="Module"><a href="/api/#module">Module</a></li><li class="sidebar-item__anchor" title="Node"><a href="/api/#node">Node</a></li><li class="sidebar-item__anchor" title="Loaders"><a href="/api/#loaders">Loaders</a></li><li class="sidebar-item__anchor" title="Plugins"><a href="/api/#plugins">Plugins</a></li></ul></div></div><div><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/cli/">Command Line Interface</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="Usage with config file"><a href="/api/cli/#usage-with-config-file">Usage with config file</a></li><li class="sidebar-item__anchor" title="Usage without config file"><a href="/api/cli/#usage-without-config-file">Usage without config file</a></li><li class="sidebar-item__anchor" title="Common Options"><a href="/api/cli/#common-options">Common Options</a></li><li class="sidebar-item__anchor" title="Environment Options"><a href="/api/cli/#environment-options">Environment Options</a></li><li class="sidebar-item__anchor" title="Config Options"><a href="/api/cli/#config-options">Config Options</a></li><li class="sidebar-item__anchor" title="Output Options"><a href="/api/cli/#output-options">Output Options</a></li><li class="sidebar-item__anchor" title="Example Usage"><a href="/api/cli/#example-usage">Example Usage</a></li><li class="sidebar-item__anchor" title="Debug Options"><a href="/api/cli/#debug-options">Debug Options</a></li><li class="sidebar-item__anchor" title="Module Options"><a href="/api/cli/#module-options">Module Options</a></li><li class="sidebar-item__anchor" title="Watch Options"><a href="/api/cli/#watch-options">Watch Options</a></li><li class="sidebar-item__anchor" title="Optimize Options"><a href="/api/cli/#optimize-options">Optimize Options</a></li><li class="sidebar-item__anchor" title="Resolve Options"><a href="/api/cli/#resolve-options">Resolve Options</a></li><li class="sidebar-item__anchor" title="Stats Options"><a href="/api/cli/#stats-options">Stats Options</a></li><li class="sidebar-item__anchor" title="Advanced Options"><a href="/api/cli/#advanced-options">Advanced Options</a></li><li class="sidebar-item__anchor" title="Shortcuts"><a href="/api/cli/#shortcuts">Shortcuts</a></li><li class="sidebar-item__anchor" title="Profiling"><a href="/api/cli/#profiling">Profiling</a></li></ul></div></div><div><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/node/">Node Interface</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="Installation"><a href="/api/node/#installation">Installation</a></li><li class="sidebar-item__anchor" title="webpack()"><a href="/api/node/#webpack">webpack()</a></li><li class="sidebar-item__anchor" title="Compiler Instance"><a href="/api/node/#compiler-instance">Compiler Instance</a></li><li class="sidebar-item__anchor" title="Run"><a href="/api/node/#run">Run</a></li><li class="sidebar-item__anchor" title="Watching"><a href="/api/node/#watching">Watching</a></li><li class="sidebar-item__anchor" title="Close "><a href="/api/node/#close-watching">Close </a></li><li class="sidebar-item__anchor" title="Invalidate "><a href="/api/node/#invalidate-watching">Invalidate </a></li><li class="sidebar-item__anchor" title="Stats Object"><a href="/api/node/#stats-object">Stats Object</a></li><li class="sidebar-item__anchor" title="stats.hasErrors()"><a href="/api/node/#statshaserrors">stats.hasErrors()</a></li><li class="sidebar-item__anchor" title="stats.hasWarnings()"><a href="/api/node/#statshaswarnings">stats.hasWarnings()</a></li><li class="sidebar-item__anchor" title="stats.toJson(options)"><a href="/api/node/#statstojsonoptions">stats.toJson(options)</a></li><li class="sidebar-item__anchor" title="stats.toString(options)"><a href="/api/node/#statstostringoptions">stats.toString(options)</a></li><li class="sidebar-item__anchor" title="MultiCompiler"><a href="/api/node/#multicompiler">MultiCompiler</a></li><li class="sidebar-item__anchor" title="Error Handling"><a href="/api/node/#error-handling">Error Handling</a></li><li class="sidebar-item__anchor" title="Custom File Systems"><a href="/api/node/#custom-file-systems">Custom File Systems</a></li></ul></div></div><div><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/stats/">Stats Data</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="Structure"><a href="/api/stats/#structure">Structure</a></li><li class="sidebar-item__anchor" title="Asset Objects"><a href="/api/stats/#asset-objects">Asset Objects</a></li><li class="sidebar-item__anchor" title="Chunk Objects"><a href="/api/stats/#chunk-objects">Chunk Objects</a></li><li class="sidebar-item__anchor" title="Module Objects"><a href="/api/stats/#module-objects">Module Objects</a></li><li class="sidebar-item__anchor" title="Errors and Warnings"><a href="/api/stats/#errors-and-warnings">Errors and Warnings</a></li></ul></div></div><div><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/hot-module-replacement/">Hot Module Replacement</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="Module API"><a href="/api/hot-module-replacement/#module-api">Module API</a></li><li class="sidebar-item__anchor" title="accept"><a href="/api/hot-module-replacement/#accept">accept</a></li><li class="sidebar-item__anchor" title="accept"><a href="/api/hot-module-replacement/#accept-self">accept</a></li><li class="sidebar-item__anchor" title="decline"><a href="/api/hot-module-replacement/#decline">decline</a></li><li class="sidebar-item__anchor" title="decline"><a href="/api/hot-module-replacement/#decline-self">decline</a></li><li class="sidebar-item__anchor" title="dispose"><a href="/api/hot-module-replacement/#dispose-or-adddisposehandler">dispose</a></li><li class="sidebar-item__anchor" title="removeDisposeHandler"><a href="/api/hot-module-replacement/#removedisposehandler">removeDisposeHandler</a></li><li class="sidebar-item__anchor" title="Management API"><a href="/api/hot-module-replacement/#management-api">Management API</a></li><li class="sidebar-item__anchor" title="status"><a href="/api/hot-module-replacement/#status">status</a></li><li class="sidebar-item__anchor" title="check"><a href="/api/hot-module-replacement/#check">check</a></li><li class="sidebar-item__anchor" title="apply"><a href="/api/hot-module-replacement/#apply">apply</a></li><li class="sidebar-item__anchor" title="addStatusHandler"><a href="/api/hot-module-replacement/#addstatushandler">addStatusHandler</a></li><li class="sidebar-item__anchor" title="removeStatusHandler"><a href="/api/hot-module-replacement/#removestatushandler">removeStatusHandler</a></li></ul></div></div><div><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/loaders/">Loader Interface</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="Examples"><a href="/api/loaders/#examples">Examples</a></li><li class="sidebar-item__anchor" title="Synchronous Loaders"><a href="/api/loaders/#synchronous-loaders">Synchronous Loaders</a></li><li class="sidebar-item__anchor" title="Asynchronous Loaders"><a href="/api/loaders/#asynchronous-loaders">Asynchronous Loaders</a></li><li class="sidebar-item__anchor" title=""Raw" Loader"><a href="/api/loaders/#raw-loader">"Raw" Loader</a></li><li class="sidebar-item__anchor" title="Pitching Loader"><a href="/api/loaders/#pitching-loader">Pitching Loader</a></li><li class="sidebar-item__anchor" title="The Loader Context"><a href="/api/loaders/#the-loader-context">The Loader Context</a></li><li class="sidebar-item__anchor" title="this.version"><a href="/api/loaders/#thisversion">this.version</a></li><li class="sidebar-item__anchor" title="this.context"><a href="/api/loaders/#thiscontext">this.context</a></li><li class="sidebar-item__anchor" title="this.rootContext"><a href="/api/loaders/#thisrootcontext">this.rootContext</a></li><li class="sidebar-item__anchor" title="this.request"><a href="/api/loaders/#thisrequest">this.request</a></li><li class="sidebar-item__anchor" title="this.query"><a href="/api/loaders/#thisquery">this.query</a></li><li class="sidebar-item__anchor" title="this.callback"><a href="/api/loaders/#thiscallback">this.callback</a></li><li class="sidebar-item__anchor" title="this.async"><a href="/api/loaders/#thisasync">this.async</a></li><li class="sidebar-item__anchor" title="this.data"><a href="/api/loaders/#thisdata">this.data</a></li><li class="sidebar-item__anchor" title="this.cacheable"><a href="/api/loaders/#thiscacheable">this.cacheable</a></li><li class="sidebar-item__anchor" title="this.loaders"><a href="/api/loaders/#thisloaders">this.loaders</a></li><li class="sidebar-item__anchor" title="this.loaderIndex"><a href="/api/loaders/#thisloaderindex">this.loaderIndex</a></li><li class="sidebar-item__anchor" title="this.resource"><a href="/api/loaders/#thisresource">this.resource</a></li><li class="sidebar-item__anchor" title="this.resourcePath"><a href="/api/loaders/#thisresourcepath">this.resourcePath</a></li><li class="sidebar-item__anchor" title="this.resourceQuery"><a href="/api/loaders/#thisresourcequery">this.resourceQuery</a></li><li class="sidebar-item__anchor" title="this.target"><a href="/api/loaders/#thistarget">this.target</a></li><li class="sidebar-item__anchor" title="this.webpack"><a href="/api/loaders/#thiswebpack">this.webpack</a></li><li class="sidebar-item__anchor" title="this.sourceMap"><a href="/api/loaders/#thissourcemap">this.sourceMap</a></li><li class="sidebar-item__anchor" title="this.emitWarning"><a href="/api/loaders/#thisemitwarning">this.emitWarning</a></li><li class="sidebar-item__anchor" title="this.emitError"><a href="/api/loaders/#thisemiterror">this.emitError</a></li><li class="sidebar-item__anchor" title="this.loadModule"><a href="/api/loaders/#thisloadmodule">this.loadModule</a></li><li class="sidebar-item__anchor" title="this.resolve"><a href="/api/loaders/#thisresolve">this.resolve</a></li><li class="sidebar-item__anchor" title="this.addDependency"><a href="/api/loaders/#thisadddependency">this.addDependency</a></li><li class="sidebar-item__anchor" title="this.addContextDependency"><a href="/api/loaders/#thisaddcontextdependency">this.addContextDependency</a></li><li class="sidebar-item__anchor" title="this.clearDependencies"><a href="/api/loaders/#thiscleardependencies">this.clearDependencies</a></li><li class="sidebar-item__anchor" title="this.emitFile"><a href="/api/loaders/#thisemitfile">this.emitFile</a></li><li class="sidebar-item__anchor" title="this.fs"><a href="/api/loaders/#thisfs">this.fs</a></li><li class="sidebar-item__anchor" title="this.mode"><a href="/api/loaders/#thismode">this.mode</a></li><li class="sidebar-item__anchor" title="Deprecated context properties"><a href="/api/loaders/#deprecated-context-properties">Deprecated context properties</a></li><li class="sidebar-item__anchor" title="this.exec"><a href="/api/loaders/#thisexec">this.exec</a></li><li class="sidebar-item__anchor" title="this.resolveSync"><a href="/api/loaders/#thisresolvesync">this.resolveSync</a></li><li class="sidebar-item__anchor" title="this.value"><a href="/api/loaders/#thisvalue">this.value</a></li><li class="sidebar-item__anchor" title="this.inputValue"><a href="/api/loaders/#thisinputvalue">this.inputValue</a></li><li class="sidebar-item__anchor" title="this.options"><a href="/api/loaders/#thisoptions">this.options</a></li><li class="sidebar-item__anchor" title="this.debug"><a href="/api/loaders/#thisdebug">this.debug</a></li><li class="sidebar-item__anchor" title="this.minimize"><a href="/api/loaders/#thisminimize">this.minimize</a></li><li class="sidebar-item__anchor" title="this._compilation"><a href="/api/loaders/#this_compilation">this._compilation</a></li><li class="sidebar-item__anchor" title="this._compiler"><a href="/api/loaders/#this_compiler">this._compiler</a></li><li class="sidebar-item__anchor" title="this._module"><a href="/api/loaders/#this_module">this._module</a></li><li class="sidebar-item__anchor" title="Error Reporting"><a href="/api/loaders/#error-reporting">Error Reporting</a></li><li class="sidebar-item__anchor" title="Inline matchResource"><a href="/api/loaders/#inline-matchresource">Inline matchResource</a></li><li class="sidebar-item__anchor" title="Logging"><a href="/api/loaders/#logging">Logging</a></li></ul></div></div><div><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/logging/">Logger Interface</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="Logger methods"><a href="/api/logging/#logger-methods">Logger methods</a></li><li class="sidebar-item__anchor" title="Runtime Logger API"><a href="/api/logging/#runtime-logger-api">Runtime Logger API</a></li></ul></div></div><div><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/printable/">Printable</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="Introduction"><a href="/api/printable/#introduction">Introduction</a></li><li class="sidebar-item__anchor" title="CLI"><a href="/api/printable/#cli">CLI</a></li><li class="sidebar-item__anchor" title="Module"><a href="/api/printable/#module">Module</a></li><li class="sidebar-item__anchor" title="Node"><a href="/api/printable/#node">Node</a></li><li class="sidebar-item__anchor" title="Loaders"><a href="/api/printable/#loaders">Loaders</a></li><li class="sidebar-item__anchor" title="Plugins"><a href="/api/printable/#plugins">Plugins</a></li><li class="sidebar-item__anchor" title="Command Line Interface"><a href="/api/printable/#command-line-interface">Command Line Interface</a></li><li class="sidebar-item__anchor" title="Usage with config file"><a href="/api/printable/#usage-with-config-file">Usage with config file</a></li><li class="sidebar-item__anchor" title="Usage without config file"><a href="/api/printable/#usage-without-config-file">Usage without config file</a></li><li class="sidebar-item__anchor" title="Common Options"><a href="/api/printable/#common-options">Common Options</a></li><li class="sidebar-item__anchor" title="Environment Options"><a href="/api/printable/#environment-options">Environment Options</a></li><li class="sidebar-item__anchor" title="Config Options"><a href="/api/printable/#config-options">Config Options</a></li><li class="sidebar-item__anchor" title="Output Options"><a href="/api/printable/#output-options">Output Options</a></li><li class="sidebar-item__anchor" title="Example Usage"><a href="/api/printable/#example-usage">Example Usage</a></li><li class="sidebar-item__anchor" title="Debug Options"><a href="/api/printable/#debug-options">Debug Options</a></li><li class="sidebar-item__anchor" title="Module Options"><a href="/api/printable/#module-options">Module Options</a></li><li class="sidebar-item__anchor" title="Watch Options"><a href="/api/printable/#watch-options">Watch Options</a></li><li class="sidebar-item__anchor" title="Optimize Options"><a href="/api/printable/#optimize-options">Optimize Options</a></li><li class="sidebar-item__anchor" title="Resolve Options"><a href="/api/printable/#resolve-options">Resolve Options</a></li><li class="sidebar-item__anchor" title="Stats Options"><a href="/api/printable/#stats-options">Stats Options</a></li><li class="sidebar-item__anchor" title="Advanced Options"><a href="/api/printable/#advanced-options">Advanced Options</a></li><li class="sidebar-item__anchor" title="Shortcuts"><a href="/api/printable/#shortcuts">Shortcuts</a></li><li class="sidebar-item__anchor" title="Profiling"><a href="/api/printable/#profiling">Profiling</a></li><li class="sidebar-item__anchor" title="Node Interface"><a href="/api/printable/#node-interface">Node Interface</a></li><li class="sidebar-item__anchor" title="Installation"><a href="/api/printable/#installation">Installation</a></li><li class="sidebar-item__anchor" title="webpack()"><a href="/api/printable/#webpack">webpack()</a></li><li class="sidebar-item__anchor" title="Compiler Instance"><a href="/api/printable/#compiler-instance">Compiler Instance</a></li><li class="sidebar-item__anchor" title="Run"><a href="/api/printable/#run">Run</a></li><li class="sidebar-item__anchor" title="Watching"><a href="/api/printable/#watching">Watching</a></li><li class="sidebar-item__anchor" title="Close "><a href="/api/printable/#close-watching">Close </a></li><li class="sidebar-item__anchor" title="Invalidate "><a href="/api/printable/#invalidate-watching">Invalidate </a></li><li class="sidebar-item__anchor" title="Stats Object"><a href="/api/printable/#stats-object">Stats Object</a></li><li class="sidebar-item__anchor" title="stats.hasErrors()"><a href="/api/printable/#statshaserrors">stats.hasErrors()</a></li><li class="sidebar-item__anchor" title="stats.hasWarnings()"><a href="/api/printable/#statshaswarnings">stats.hasWarnings()</a></li><li class="sidebar-item__anchor" title="stats.toJson(options)"><a href="/api/printable/#statstojsonoptions">stats.toJson(options)</a></li><li class="sidebar-item__anchor" title="stats.toString(options)"><a href="/api/printable/#statstostringoptions">stats.toString(options)</a></li><li class="sidebar-item__anchor" title="MultiCompiler"><a href="/api/printable/#multicompiler">MultiCompiler</a></li><li class="sidebar-item__anchor" title="Error Handling"><a href="/api/printable/#error-handling">Error Handling</a></li><li class="sidebar-item__anchor" title="Custom File Systems"><a href="/api/printable/#custom-file-systems">Custom File Systems</a></li><li class="sidebar-item__anchor" title="Stats Data"><a href="/api/printable/#stats-data">Stats Data</a></li><li class="sidebar-item__anchor" title="Structure"><a href="/api/printable/#structure">Structure</a></li><li class="sidebar-item__anchor" title="Asset Objects"><a href="/api/printable/#asset-objects">Asset Objects</a></li><li class="sidebar-item__anchor" title="Chunk Objects"><a href="/api/printable/#chunk-objects">Chunk Objects</a></li><li class="sidebar-item__anchor" title="Module Objects"><a href="/api/printable/#module-objects">Module Objects</a></li><li class="sidebar-item__anchor" title="Errors and Warnings"><a href="/api/printable/#errors-and-warnings">Errors and Warnings</a></li><li class="sidebar-item__anchor" title="Hot Module Replacement"><a href="/api/printable/#hot-module-replacement">Hot Module Replacement</a></li><li class="sidebar-item__anchor" title="Module API"><a href="/api/printable/#module-api">Module API</a></li><li class="sidebar-item__anchor" title="accept"><a href="/api/printable/#accept">accept</a></li><li class="sidebar-item__anchor" title="accept"><a href="/api/printable/#accept-self">accept</a></li><li class="sidebar-item__anchor" title="decline"><a href="/api/printable/#decline">decline</a></li><li class="sidebar-item__anchor" title="decline"><a href="/api/printable/#decline-self">decline</a></li><li class="sidebar-item__anchor" title="dispose"><a href="/api/printable/#dispose-or-adddisposehandler">dispose</a></li><li class="sidebar-item__anchor" title="removeDisposeHandler"><a href="/api/printable/#removedisposehandler">removeDisposeHandler</a></li><li class="sidebar-item__anchor" title="Management API"><a href="/api/printable/#management-api">Management API</a></li><li class="sidebar-item__anchor" title="status"><a href="/api/printable/#status">status</a></li><li class="sidebar-item__anchor" title="check"><a href="/api/printable/#check">check</a></li><li class="sidebar-item__anchor" title="apply"><a href="/api/printable/#apply">apply</a></li><li class="sidebar-item__anchor" title="addStatusHandler"><a href="/api/printable/#addstatushandler">addStatusHandler</a></li><li class="sidebar-item__anchor" title="removeStatusHandler"><a href="/api/printable/#removestatushandler">removeStatusHandler</a></li><li class="sidebar-item__anchor" title="Loader Interface"><a href="/api/printable/#loader-interface">Loader Interface</a></li><li class="sidebar-item__anchor" title="Examples"><a href="/api/printable/#examples">Examples</a></li><li class="sidebar-item__anchor" title="Synchronous Loaders"><a href="/api/printable/#synchronous-loaders">Synchronous Loaders</a></li><li class="sidebar-item__anchor" title="Asynchronous Loaders"><a href="/api/printable/#asynchronous-loaders">Asynchronous Loaders</a></li><li class="sidebar-item__anchor" title=""Raw" Loader"><a href="/api/printable/#raw-loader">"Raw" Loader</a></li><li class="sidebar-item__anchor" title="Pitching Loader"><a href="/api/printable/#pitching-loader">Pitching Loader</a></li><li class="sidebar-item__anchor" title="The Loader Context"><a href="/api/printable/#the-loader-context">The Loader Context</a></li><li class="sidebar-item__anchor" title="this.version"><a href="/api/printable/#thisversion">this.version</a></li><li class="sidebar-item__anchor" title="this.context"><a href="/api/printable/#thiscontext">this.context</a></li><li class="sidebar-item__anchor" title="this.rootContext"><a href="/api/printable/#thisrootcontext">this.rootContext</a></li><li class="sidebar-item__anchor" title="this.request"><a href="/api/printable/#thisrequest">this.request</a></li><li class="sidebar-item__anchor" title="this.query"><a href="/api/printable/#thisquery">this.query</a></li><li class="sidebar-item__anchor" title="this.callback"><a href="/api/printable/#thiscallback">this.callback</a></li><li class="sidebar-item__anchor" title="this.async"><a href="/api/printable/#thisasync">this.async</a></li><li class="sidebar-item__anchor" title="this.data"><a href="/api/printable/#thisdata">this.data</a></li><li class="sidebar-item__anchor" title="this.cacheable"><a href="/api/printable/#thiscacheable">this.cacheable</a></li><li class="sidebar-item__anchor" title="this.loaders"><a href="/api/printable/#thisloaders">this.loaders</a></li><li class="sidebar-item__anchor" title="this.loaderIndex"><a href="/api/printable/#thisloaderindex">this.loaderIndex</a></li><li class="sidebar-item__anchor" title="this.resource"><a href="/api/printable/#thisresource">this.resource</a></li><li class="sidebar-item__anchor" title="this.resourcePath"><a href="/api/printable/#thisresourcepath">this.resourcePath</a></li><li class="sidebar-item__anchor" title="this.resourceQuery"><a href="/api/printable/#thisresourcequery">this.resourceQuery</a></li><li class="sidebar-item__anchor" title="this.target"><a href="/api/printable/#thistarget">this.target</a></li><li class="sidebar-item__anchor" title="this.webpack"><a href="/api/printable/#thiswebpack">this.webpack</a></li><li class="sidebar-item__anchor" title="this.sourceMap"><a href="/api/printable/#thissourcemap">this.sourceMap</a></li><li class="sidebar-item__anchor" title="this.emitWarning"><a href="/api/printable/#thisemitwarning">this.emitWarning</a></li><li class="sidebar-item__anchor" title="this.emitError"><a href="/api/printable/#thisemiterror">this.emitError</a></li><li class="sidebar-item__anchor" title="this.loadModule"><a href="/api/printable/#thisloadmodule">this.loadModule</a></li><li class="sidebar-item__anchor" title="this.resolve"><a href="/api/printable/#thisresolve">this.resolve</a></li><li class="sidebar-item__anchor" title="this.addDependency"><a href="/api/printable/#thisadddependency">this.addDependency</a></li><li class="sidebar-item__anchor" title="this.addContextDependency"><a href="/api/printable/#thisaddcontextdependency">this.addContextDependency</a></li><li class="sidebar-item__anchor" title="this.clearDependencies"><a href="/api/printable/#thiscleardependencies">this.clearDependencies</a></li><li class="sidebar-item__anchor" title="this.emitFile"><a href="/api/printable/#thisemitfile">this.emitFile</a></li><li class="sidebar-item__anchor" title="this.fs"><a href="/api/printable/#thisfs">this.fs</a></li><li class="sidebar-item__anchor" title="this.mode"><a href="/api/printable/#thismode">this.mode</a></li><li class="sidebar-item__anchor" title="Deprecated context properties"><a href="/api/printable/#deprecated-context-properties">Deprecated context properties</a></li><li class="sidebar-item__anchor" title="this.exec"><a href="/api/printable/#thisexec">this.exec</a></li><li class="sidebar-item__anchor" title="this.resolveSync"><a href="/api/printable/#thisresolvesync">this.resolveSync</a></li><li class="sidebar-item__anchor" title="this.value"><a href="/api/printable/#thisvalue">this.value</a></li><li class="sidebar-item__anchor" title="this.inputValue"><a href="/api/printable/#thisinputvalue">this.inputValue</a></li><li class="sidebar-item__anchor" title="this.options"><a href="/api/printable/#thisoptions">this.options</a></li><li class="sidebar-item__anchor" title="this.debug"><a href="/api/printable/#thisdebug">this.debug</a></li><li class="sidebar-item__anchor" title="this.minimize"><a href="/api/printable/#thisminimize">this.minimize</a></li><li class="sidebar-item__anchor" title="this._compilation"><a href="/api/printable/#this_compilation">this._compilation</a></li><li class="sidebar-item__anchor" title="this._compiler"><a href="/api/printable/#this_compiler">this._compiler</a></li><li class="sidebar-item__anchor" title="this._module"><a href="/api/printable/#this_module">this._module</a></li><li class="sidebar-item__anchor" title="Error Reporting"><a href="/api/printable/#error-reporting">Error Reporting</a></li><li class="sidebar-item__anchor" title="Inline matchResource"><a href="/api/printable/#inline-matchresource">Inline matchResource</a></li><li class="sidebar-item__anchor" title="Logging"><a href="/api/printable/#logging">Logging</a></li><li class="sidebar-item__anchor" title="Logger Interface"><a href="/api/printable/#logger-interface">Logger Interface</a></li><li class="sidebar-item__anchor" title="Logger methods"><a href="/api/printable/#logger-methods">Logger methods</a></li><li class="sidebar-item__anchor" title="Runtime Logger API"><a href="/api/printable/#runtime-logger-api">Runtime Logger API</a></li><li class="sidebar-item__anchor" title="Module Methods"><a href="/api/printable/#module-methods">Module Methods</a></li><li class="sidebar-item__anchor" title="ES6 (Recommended)"><a href="/api/printable/#es6-recommended">ES6 (Recommended)</a></li><li class="sidebar-item__anchor" title="import"><a href="/api/printable/#import">import</a></li><li class="sidebar-item__anchor" title="export"><a href="/api/printable/#export">export</a></li><li class="sidebar-item__anchor" title="import()"><a href="/api/printable/#import-1">import()</a></li><li class="sidebar-item__anchor" title="Dynamic expressions in import()"><a href="/api/printable/#dynamic-expressions-in-import">Dynamic expressions in import()</a></li><li class="sidebar-item__anchor" title="Magic Comments"><a href="/api/printable/#magic-comments">Magic Comments</a></li><li class="sidebar-item__anchor" title="CommonJS"><a href="/api/printable/#commonjs">CommonJS</a></li><li class="sidebar-item__anchor" title="require"><a href="/api/printable/#require">require</a></li><li class="sidebar-item__anchor" title="require.resolve"><a href="/api/printable/#requireresolve">require.resolve</a></li><li class="sidebar-item__anchor" title="require.cache"><a href="/api/printable/#requirecache">require.cache</a></li><li class="sidebar-item__anchor" title="require.ensure"><a href="/api/printable/#requireensure">require.ensure</a></li><li class="sidebar-item__anchor" title="AMD"><a href="/api/printable/#amd">AMD</a></li><li class="sidebar-item__anchor" title="define"><a href="/api/printable/#define-with-factory">define</a></li><li class="sidebar-item__anchor" title="define"><a href="/api/printable/#define-with-value">define</a></li><li class="sidebar-item__anchor" title="require"><a href="/api/printable/#require-amd-version">require</a></li><li class="sidebar-item__anchor" title="Labeled Modules"><a href="/api/printable/#labeled-modules">Labeled Modules</a></li><li class="sidebar-item__anchor" title="export"><a href="/api/printable/#export-label">export</a></li><li class="sidebar-item__anchor" title="require"><a href="/api/printable/#require-label">require</a></li><li class="sidebar-item__anchor" title="Webpack"><a href="/api/printable/#webpack-1">Webpack</a></li><li class="sidebar-item__anchor" title="require.context"><a href="/api/printable/#requirecontext">require.context</a></li><li class="sidebar-item__anchor" title="require.include"><a href="/api/printable/#requireinclude">require.include</a></li><li class="sidebar-item__anchor" title="require.resolveWeak"><a href="/api/printable/#requireresolveweak">require.resolveWeak</a></li><li class="sidebar-item__anchor" title="Module Variables"><a href="/api/printable/#module-variables">Module Variables</a></li><li class="sidebar-item__anchor" title="module.loaded"><a href="/api/printable/#moduleloaded-nodejs">module.loaded</a></li><li class="sidebar-item__anchor" title="module.hot"><a href="/api/printable/#modulehot-webpack-specific">module.hot</a></li><li class="sidebar-item__anchor" title="module.id"><a href="/api/printable/#moduleid-commonjs">module.id</a></li><li class="sidebar-item__anchor" title="module.exports"><a href="/api/printable/#moduleexports-commonjs">module.exports</a></li><li class="sidebar-item__anchor" title="exports"><a href="/api/printable/#exports-commonjs">exports</a></li><li class="sidebar-item__anchor" title="global"><a href="/api/printable/#global-nodejs">global</a></li><li class="sidebar-item__anchor" title="process"><a href="/api/printable/#process-nodejs">process</a></li><li class="sidebar-item__anchor" title="__dirname"><a href="/api/printable/#__dirname-nodejs">__dirname</a></li><li class="sidebar-item__anchor" title="__filename"><a href="/api/printable/#__filename-nodejs">__filename</a></li><li class="sidebar-item__anchor" title="__resourceQuery"><a href="/api/printable/#__resourcequery-webpack-specific">__resourceQuery</a></li><li class="sidebar-item__anchor" title="__webpack_public_path__"><a href="/api/printable/#__webpack_public_path__-webpack-specific">__webpack_public_path__</a></li><li class="sidebar-item__anchor" title="__webpack_require__"><a href="/api/printable/#__webpack_require__-webpack-specific">__webpack_require__</a></li><li class="sidebar-item__anchor" title="__webpack_chunk_load__"><a href="/api/printable/#__webpack_chunk_load__-webpack-specific">__webpack_chunk_load__</a></li><li class="sidebar-item__anchor" title="__webpack_modules__"><a href="/api/printable/#__webpack_modules__-webpack-specific">__webpack_modules__</a></li><li class="sidebar-item__anchor" title="__webpack_hash__"><a href="/api/printable/#__webpack_hash__-webpack-specific">__webpack_hash__</a></li><li class="sidebar-item__anchor" title="__non_webpack_require__"><a href="/api/printable/#__non_webpack_require__-webpack-specific">__non_webpack_require__</a></li><li class="sidebar-item__anchor" title="DEBUG"><a href="/api/printable/#debug--webpack-specific">DEBUG</a></li><li class="sidebar-item__anchor" title="Compiler Hooks"><a href="/api/printable/#compiler-hooks">Compiler Hooks</a></li><li class="sidebar-item__anchor" title="Watching"><a href="/api/printable/#watching-1">Watching</a></li><li class="sidebar-item__anchor" title="Hooks"><a href="/api/printable/#hooks">Hooks</a></li><li class="sidebar-item__anchor" title="entryOption"><a href="/api/printable/#entryoption">entryOption</a></li><li class="sidebar-item__anchor" title="afterPlugins"><a href="/api/printable/#afterplugins">afterPlugins</a></li><li class="sidebar-item__anchor" title="afterResolvers"><a href="/api/printable/#afterresolvers">afterResolvers</a></li><li class="sidebar-item__anchor" title="environment"><a href="/api/printable/#environment">environment</a></li><li class="sidebar-item__anchor" title="afterEnvironment"><a href="/api/printable/#afterenvironment">afterEnvironment</a></li><li class="sidebar-item__anchor" title="beforeRun"><a href="/api/printable/#beforerun">beforeRun</a></li><li class="sidebar-item__anchor" title="run"><a href="/api/printable/#run-1">run</a></li><li class="sidebar-item__anchor" title="watchRun"><a href="/api/printable/#watchrun">watchRun</a></li><li class="sidebar-item__anchor" title="normalModuleFactory"><a href="/api/printable/#normalmodulefactory">normalModuleFactory</a></li><li class="sidebar-item__anchor" title="contextModuleFactory"><a href="/api/printable/#contextmodulefactory">contextModuleFactory</a></li><li class="sidebar-item__anchor" title="beforeCompile"><a href="/api/printable/#beforecompile">beforeCompile</a></li><li class="sidebar-item__anchor" title="compile"><a href="/api/printable/#compile">compile</a></li><li class="sidebar-item__anchor" title="thisCompilation"><a href="/api/printable/#thiscompilation">thisCompilation</a></li><li class="sidebar-item__anchor" title="compilation"><a href="/api/printable/#compilation">compilation</a></li><li class="sidebar-item__anchor" title="make"><a href="/api/printable/#make">make</a></li><li class="sidebar-item__anchor" title="afterCompile"><a href="/api/printable/#aftercompile">afterCompile</a></li><li class="sidebar-item__anchor" title="shouldEmit"><a href="/api/printable/#shouldemit">shouldEmit</a></li><li class="sidebar-item__anchor" title="emit"><a href="/api/printable/#emit">emit</a></li><li class="sidebar-item__anchor" title="afterEmit"><a href="/api/printable/#afteremit">afterEmit</a></li><li class="sidebar-item__anchor" title="assetEmitted"><a href="/api/printable/#assetemitted">assetEmitted</a></li><li class="sidebar-item__anchor" title="done"><a href="/api/printable/#done">done</a></li><li class="sidebar-item__anchor" title="failed"><a href="/api/printable/#failed">failed</a></li><li class="sidebar-item__anchor" title="invalid"><a href="/api/printable/#invalid">invalid</a></li><li class="sidebar-item__anchor" title="watchClose"><a href="/api/printable/#watchclose">watchClose</a></li><li class="sidebar-item__anchor" title="infrastructureLog"><a href="/api/printable/#infrastructurelog">infrastructureLog</a></li><li class="sidebar-item__anchor" title="log"><a href="/api/printable/#log">log</a></li><li class="sidebar-item__anchor" title="Compilation Hooks"><a href="/api/printable/#compilation-hooks">Compilation Hooks</a></li><li class="sidebar-item__anchor" title="buildModule"><a href="/api/printable/#buildmodule">buildModule</a></li><li class="sidebar-item__anchor" title="rebuildModule"><a href="/api/printable/#rebuildmodule">rebuildModule</a></li><li class="sidebar-item__anchor" title="failedModule"><a href="/api/printable/#failedmodule">failedModule</a></li><li class="sidebar-item__anchor" title="succeedModule"><a href="/api/printable/#succeedmodule">succeedModule</a></li><li class="sidebar-item__anchor" title="finishModules"><a href="/api/printable/#finishmodules">finishModules</a></li><li class="sidebar-item__anchor" title="finishRebuildingModule"><a href="/api/printable/#finishrebuildingmodule">finishRebuildingModule</a></li><li class="sidebar-item__anchor" title="seal"><a href="/api/printable/#seal">seal</a></li><li class="sidebar-item__anchor" title="unseal"><a href="/api/printable/#unseal">unseal</a></li><li class="sidebar-item__anchor" title="optimizeDependenciesBasic"><a href="/api/printable/#optimizedependenciesbasic">optimizeDependenciesBasic</a></li><li class="sidebar-item__anchor" title="optimizeDependencies"><a href="/api/printable/#optimizedependencies">optimizeDependencies</a></li><li class="sidebar-item__anchor" title="optimizeDependenciesAdvanced"><a href="/api/printable/#optimizedependenciesadvanced">optimizeDependenciesAdvanced</a></li><li class="sidebar-item__anchor" title="afterOptimizeDependencies"><a href="/api/printable/#afteroptimizedependencies">afterOptimizeDependencies</a></li><li class="sidebar-item__anchor" title="optimize"><a href="/api/printable/#optimize">optimize</a></li><li class="sidebar-item__anchor" title="optimizeModulesBasic"><a href="/api/printable/#optimizemodulesbasic">optimizeModulesBasic</a></li><li class="sidebar-item__anchor" title="optimizeModules"><a href="/api/printable/#optimizemodules">optimizeModules</a></li><li class="sidebar-item__anchor" title="optimizeModulesAdvanced"><a href="/api/printable/#optimizemodulesadvanced">optimizeModulesAdvanced</a></li><li class="sidebar-item__anchor" title="afterOptimizeModules"><a href="/api/printable/#afteroptimizemodules">afterOptimizeModules</a></li><li class="sidebar-item__anchor" title="optimizeChunksBasic"><a href="/api/printable/#optimizechunksbasic">optimizeChunksBasic</a></li><li class="sidebar-item__anchor" title="optimizeChunks"><a href="/api/printable/#optimizechunks">optimizeChunks</a></li><li class="sidebar-item__anchor" title="optimizeChunksAdvanced"><a href="/api/printable/#optimizechunksadvanced">optimizeChunksAdvanced</a></li><li class="sidebar-item__anchor" title="afterOptimizeChunks"><a href="/api/printable/#afteroptimizechunks">afterOptimizeChunks</a></li><li class="sidebar-item__anchor" title="optimizeTree"><a href="/api/printable/#optimizetree">optimizeTree</a></li><li class="sidebar-item__anchor" title="afterOptimizeTree"><a href="/api/printable/#afteroptimizetree">afterOptimizeTree</a></li><li class="sidebar-item__anchor" title="optimizeChunkModulesBasic"><a href="/api/printable/#optimizechunkmodulesbasic">optimizeChunkModulesBasic</a></li><li class="sidebar-item__anchor" title="optimizeChunkModules"><a href="/api/printable/#optimizechunkmodules">optimizeChunkModules</a></li><li class="sidebar-item__anchor" title="optimizeChunkModulesAdvanced"><a href="/api/printable/#optimizechunkmodulesadvanced">optimizeChunkModulesAdvanced</a></li><li class="sidebar-item__anchor" title="afterOptimizeChunkModules"><a href="/api/printable/#afteroptimizechunkmodules">afterOptimizeChunkModules</a></li><li class="sidebar-item__anchor" title="shouldRecord"><a href="/api/printable/#shouldrecord">shouldRecord</a></li><li class="sidebar-item__anchor" title="reviveModules"><a href="/api/printable/#revivemodules">reviveModules</a></li><li class="sidebar-item__anchor" title="optimizeModuleOrder"><a href="/api/printable/#optimizemoduleorder">optimizeModuleOrder</a></li><li class="sidebar-item__anchor" title="advancedOptimizeModuleOrder"><a href="/api/printable/#advancedoptimizemoduleorder">advancedOptimizeModuleOrder</a></li><li class="sidebar-item__anchor" title="beforeModuleIds"><a href="/api/printable/#beforemoduleids">beforeModuleIds</a></li><li class="sidebar-item__anchor" title="moduleIds"><a href="/api/printable/#moduleids">moduleIds</a></li><li class="sidebar-item__anchor" title="optimizeModuleIds"><a href="/api/printable/#optimizemoduleids">optimizeModuleIds</a></li><li class="sidebar-item__anchor" title="afterOptimizeModuleIds"><a href="/api/printable/#afteroptimizemoduleids">afterOptimizeModuleIds</a></li><li class="sidebar-item__anchor" title="reviveChunks"><a href="/api/printable/#revivechunks">reviveChunks</a></li><li class="sidebar-item__anchor" title="optimizeChunkOrder"><a href="/api/printable/#optimizechunkorder">optimizeChunkOrder</a></li><li class="sidebar-item__anchor" title="beforeChunkIds"><a href="/api/printable/#beforechunkids">beforeChunkIds</a></li><li class="sidebar-item__anchor" title="chunkIds"><a href="/api/printable/#chunkids">chunkIds</a></li><li class="sidebar-item__anchor" title="beforeOptimizeChunkIds"><a href="/api/printable/#beforeoptimizechunkids">beforeOptimizeChunkIds</a></li><li class="sidebar-item__anchor" title="optimizeChunkIds"><a href="/api/printable/#optimizechunkids">optimizeChunkIds</a></li><li class="sidebar-item__anchor" title="afterOptimizeChunkIds"><a href="/api/printable/#afteroptimizechunkids">afterOptimizeChunkIds</a></li><li class="sidebar-item__anchor" title="recordModules"><a href="/api/printable/#recordmodules">recordModules</a></li><li class="sidebar-item__anchor" title="recordChunks"><a href="/api/printable/#recordchunks">recordChunks</a></li><li class="sidebar-item__anchor" title="optimizeCodeGeneration"><a href="/api/printable/#optimizecodegeneration">optimizeCodeGeneration</a></li><li class="sidebar-item__anchor" title="beforeModuleHash"><a href="/api/printable/#beforemodulehash">beforeModuleHash</a></li><li class="sidebar-item__anchor" title="afterModuleHash"><a href="/api/printable/#aftermodulehash">afterModuleHash</a></li><li class="sidebar-item__anchor" title="beforeRuntimeRequirements"><a href="/api/printable/#beforeruntimerequirements">beforeRuntimeRequirements</a></li><li class="sidebar-item__anchor" title="afterRuntimeRequirements"><a href="/api/printable/#afterruntimerequirements">afterRuntimeRequirements</a></li><li class="sidebar-item__anchor" title="beforeHash"><a href="/api/printable/#beforehash">beforeHash</a></li><li class="sidebar-item__anchor" title="afterHash"><a href="/api/printable/#afterhash">afterHash</a></li><li class="sidebar-item__anchor" title="recordHash"><a href="/api/printable/#recordhash">recordHash</a></li><li class="sidebar-item__anchor" title="record"><a href="/api/printable/#record">record</a></li><li class="sidebar-item__anchor" title="beforeModuleAssets"><a href="/api/printable/#beforemoduleassets">beforeModuleAssets</a></li><li class="sidebar-item__anchor" title="additionalChunkAssets"><a href="/api/printable/#additionalchunkassets">additionalChunkAssets</a></li><li class="sidebar-item__anchor" title="shouldGenerateChunkAssets"><a href="/api/printable/#shouldgeneratechunkassets">shouldGenerateChunkAssets</a></li><li class="sidebar-item__anchor" title="beforeChunkAssets"><a href="/api/printable/#beforechunkassets">beforeChunkAssets</a></li><li class="sidebar-item__anchor" title="additionalAssets"><a href="/api/printable/#additionalassets">additionalAssets</a></li><li class="sidebar-item__anchor" title="optimizeChunkAssets"><a href="/api/printable/#optimizechunkassets">optimizeChunkAssets</a></li><li class="sidebar-item__anchor" title="afterOptimizeChunkAssets"><a href="/api/printable/#afteroptimizechunkassets">afterOptimizeChunkAssets</a></li><li class="sidebar-item__anchor" title="optimizeAssets"><a href="/api/printable/#optimizeassets">optimizeAssets</a></li><li class="sidebar-item__anchor" title="afterOptimizeAssets"><a href="/api/printable/#afteroptimizeassets">afterOptimizeAssets</a></li><li class="sidebar-item__anchor" title="needAdditionalSeal"><a href="/api/printable/#needadditionalseal">needAdditionalSeal</a></li><li class="sidebar-item__anchor" title="afterSeal"><a href="/api/printable/#afterseal">afterSeal</a></li><li class="sidebar-item__anchor" title="chunkHash"><a href="/api/printable/#chunkhash">chunkHash</a></li><li class="sidebar-item__anchor" title="moduleAsset"><a href="/api/printable/#moduleasset">moduleAsset</a></li><li class="sidebar-item__anchor" title="chunkAsset"><a href="/api/printable/#chunkasset">chunkAsset</a></li><li class="sidebar-item__anchor" title="assetPath"><a href="/api/printable/#assetpath">assetPath</a></li><li class="sidebar-item__anchor" title="needAdditionalPass"><a href="/api/printable/#needadditionalpass">needAdditionalPass</a></li><li class="sidebar-item__anchor" title="childCompiler"><a href="/api/printable/#childcompiler">childCompiler</a></li><li class="sidebar-item__anchor" title="normalModuleLoader"><a href="/api/printable/#normalmoduleloader">normalModuleLoader</a></li><li class="sidebar-item__anchor" title="dependencyReference"><a href="/api/printable/#dependencyreference">dependencyReference</a></li><li class="sidebar-item__anchor" title="Parser Hooks"><a href="/api/printable/#parser-hooks">Parser Hooks</a></li><li class="sidebar-item__anchor" title="Hooks"><a href="/api/printable/#hooks-1">Hooks</a></li><li class="sidebar-item__anchor" title="evaluateTypeof"><a href="/api/printable/#evaluatetypeof">evaluateTypeof</a></li><li class="sidebar-item__anchor" title="evaluate"><a href="/api/printable/#evaluate">evaluate</a></li><li class="sidebar-item__anchor" title="evaluateIdentifier"><a href="/api/printable/#evaluateidentifier">evaluateIdentifier</a></li><li class="sidebar-item__anchor" title="evaluateDefinedIdentifier"><a href="/api/printable/#evaluatedefinedidentifier">evaluateDefinedIdentifier</a></li><li class="sidebar-item__anchor" title="evaluateCallExpressionMember"><a href="/api/printable/#evaluatecallexpressionmember">evaluateCallExpressionMember</a></li><li class="sidebar-item__anchor" title="statement"><a href="/api/printable/#statement">statement</a></li><li class="sidebar-item__anchor" title="statementIf"><a href="/api/printable/#statementif">statementIf</a></li><li class="sidebar-item__anchor" title="label"><a href="/api/printable/#label">label</a></li><li class="sidebar-item__anchor" title="import"><a href="/api/printable/#import-2">import</a></li><li class="sidebar-item__anchor" title="importSpecifier"><a href="/api/printable/#importspecifier">importSpecifier</a></li><li class="sidebar-item__anchor" title="export"><a href="/api/printable/#export-1">export</a></li><li class="sidebar-item__anchor" title="exportImport"><a href="/api/printable/#exportimport">exportImport</a></li><li class="sidebar-item__anchor" title="exportDeclaration"><a href="/api/printable/#exportdeclaration">exportDeclaration</a></li><li class="sidebar-item__anchor" title="exportExpression"><a href="/api/printable/#exportexpression">exportExpression</a></li><li class="sidebar-item__anchor" title="exportSpecifier"><a href="/api/printable/#exportspecifier">exportSpecifier</a></li><li class="sidebar-item__anchor" title="exportImportSpecifier"><a href="/api/printable/#exportimportspecifier">exportImportSpecifier</a></li><li class="sidebar-item__anchor" title="varDeclaration"><a href="/api/printable/#vardeclaration">varDeclaration</a></li><li class="sidebar-item__anchor" title="varDeclarationLet"><a href="/api/printable/#vardeclarationlet">varDeclarationLet</a></li><li class="sidebar-item__anchor" title="varDeclarationConst"><a href="/api/printable/#vardeclarationconst">varDeclarationConst</a></li><li class="sidebar-item__anchor" title="varDeclarationVar"><a href="/api/printable/#vardeclarationvar">varDeclarationVar</a></li><li class="sidebar-item__anchor" title="canRename"><a href="/api/printable/#canrename">canRename</a></li><li class="sidebar-item__anchor" title="rename"><a href="/api/printable/#rename">rename</a></li><li class="sidebar-item__anchor" title="assigned"><a href="/api/printable/#assigned">assigned</a></li><li class="sidebar-item__anchor" title="assign"><a href="/api/printable/#assign">assign</a></li><li class="sidebar-item__anchor" title="typeof"><a href="/api/printable/#typeof">typeof</a></li><li class="sidebar-item__anchor" title="call"><a href="/api/printable/#call">call</a></li><li class="sidebar-item__anchor" title="callAnyMember"><a href="/api/printable/#callanymember">callAnyMember</a></li><li class="sidebar-item__anchor" title="new"><a href="/api/printable/#new">new</a></li><li class="sidebar-item__anchor" title="expression"><a href="/api/printable/#expression">expression</a></li><li class="sidebar-item__anchor" title="expressionAnyMember"><a href="/api/printable/#expressionanymember">expressionAnyMember</a></li><li class="sidebar-item__anchor" title="expressionConditionalOperator"><a href="/api/printable/#expressionconditionaloperator">expressionConditionalOperator</a></li><li class="sidebar-item__anchor" title="program"><a href="/api/printable/#program">program</a></li><li class="sidebar-item__anchor" title="Plugin API"><a href="/api/printable/#plugin-api">Plugin API</a></li><li class="sidebar-item__anchor" title="Tapable"><a href="/api/printable/#tapable">Tapable</a></li><li class="sidebar-item__anchor" title="Plugin Types"><a href="/api/printable/#plugin-types">Plugin Types</a></li><li class="sidebar-item__anchor" title="Custom Hooks"><a href="/api/printable/#custom-hooks">Custom Hooks</a></li><li class="sidebar-item__anchor" title="Reporting Progress"><a href="/api/printable/#reporting-progress">Reporting Progress</a></li><li class="sidebar-item__anchor" title="Logging"><a href="/api/printable/#logging-1">Logging</a></li><li class="sidebar-item__anchor" title="Next Steps"><a href="/api/printable/#next-steps">Next Steps</a></li><li class="sidebar-item__anchor" title="Resolvers"><a href="/api/printable/#resolvers">Resolvers</a></li><li class="sidebar-item__anchor" title="Types"><a href="/api/printable/#types">Types</a></li><li class="sidebar-item__anchor" title="Configuration Options"><a href="/api/printable/#configuration-options">Configuration Options</a></li><li class="sidebar-item__anchor" title="Compilation Object"><a href="/api/printable/#compilation-object">Compilation Object</a></li><li class="sidebar-item__anchor" title="compilation object methods"><a href="/api/printable/#compilation-object-methods">compilation object methods</a></li><li class="sidebar-item__anchor" title="getStats"><a href="/api/printable/#getstats">getStats</a></li><li class="sidebar-item__anchor" title="addModule"><a href="/api/printable/#addmodule">addModule</a></li><li class="sidebar-item__anchor" title="getModule"><a href="/api/printable/#getmodule">getModule</a></li><li class="sidebar-item__anchor" title="findModule"><a href="/api/printable/#findmodule">findModule</a></li><li class="sidebar-item__anchor" title="waitForBuildingFinished"><a href="/api/printable/#waitforbuildingfinished">waitForBuildingFinished</a></li><li class="sidebar-item__anchor" title="buildModule"><a href="/api/printable/#buildmodule-1">buildModule</a></li><li class="sidebar-item__anchor" title="processModuleDependencies"><a href="/api/printable/#processmoduledependencies">processModuleDependencies</a></li><li class="sidebar-item__anchor" title="addModuleDependencies"><a href="/api/printable/#addmoduledependencies">addModuleDependencies</a></li><li class="sidebar-item__anchor" title="addEntry"><a href="/api/printable/#addentry">addEntry</a></li><li class="sidebar-item__anchor" title="prefetch"><a href="/api/printable/#prefetch">prefetch</a></li><li class="sidebar-item__anchor" title="rebuildModule"><a href="/api/printable/#rebuildmodule-1">rebuildModule</a></li><li class="sidebar-item__anchor" title="finish"><a href="/api/printable/#finish">finish</a></li><li class="sidebar-item__anchor" title="seal"><a href="/api/printable/#seal-1">seal</a></li><li class="sidebar-item__anchor" title="unseal"><a href="/api/printable/#unseal-1">unseal</a></li><li class="sidebar-item__anchor" title="reportDependencyErrorsAndWarnings"><a href="/api/printable/#reportdependencyerrorsandwarnings">reportDependencyErrorsAndWarnings</a></li><li class="sidebar-item__anchor" title="addChunkInGroup"><a href="/api/printable/#addchunkingroup">addChunkInGroup</a></li><li class="sidebar-item__anchor" title="addChunk"><a href="/api/printable/#addchunk">addChunk</a></li><li class="sidebar-item__anchor" title="assignDepth"><a href="/api/printable/#assigndepth">assignDepth</a></li><li class="sidebar-item__anchor" title="getDependencyReference"><a href="/api/printable/#getdependencyreference">getDependencyReference</a></li><li class="sidebar-item__anchor" title="processDependenciesBlocksForChunkGroups"><a href="/api/printable/#processdependenciesblocksforchunkgroups">processDependenciesBlocksForChunkGroups</a></li><li class="sidebar-item__anchor" title="removeReasonsOfDependencyBlock"><a href="/api/printable/#removereasonsofdependencyblock">removeReasonsOfDependencyBlock</a></li><li class="sidebar-item__anchor" title="patchChunksAfterReasonRemoval"><a href="/api/printable/#patchchunksafterreasonremoval">patchChunksAfterReasonRemoval</a></li><li class="sidebar-item__anchor" title="removeChunkFromDependencies"><a href="/api/printable/#removechunkfromdependencies">removeChunkFromDependencies</a></li><li class="sidebar-item__anchor" title="applyModuleIds"><a href="/api/printable/#applymoduleids">applyModuleIds</a></li><li class="sidebar-item__anchor" title="applyChunkIds"><a href="/api/printable/#applychunkids">applyChunkIds</a></li><li class="sidebar-item__anchor" title="sortItemsWithModuleIds"><a href="/api/printable/#sortitemswithmoduleids">sortItemsWithModuleIds</a></li><li class="sidebar-item__anchor" title="sortItemsWithChunkIds"><a href="/api/printable/#sortitemswithchunkids">sortItemsWithChunkIds</a></li><li class="sidebar-item__anchor" title="summarizeDependencies"><a href="/api/printable/#summarizedependencies">summarizeDependencies</a></li><li class="sidebar-item__anchor" title="createHash"><a href="/api/printable/#createhash">createHash</a></li><li class="sidebar-item__anchor" title="modifyHash"><a href="/api/printable/#modifyhash">modifyHash</a></li><li class="sidebar-item__anchor" title="createModuleAssets"><a href="/api/printable/#createmoduleassets">createModuleAssets</a></li><li class="sidebar-item__anchor" title="createChunkAssets"><a href="/api/printable/#createchunkassets">createChunkAssets</a></li><li class="sidebar-item__anchor" title="getPath"><a href="/api/printable/#getpath">getPath</a></li><li class="sidebar-item__anchor" title="createChildCompiler"><a href="/api/printable/#createchildcompiler">createChildCompiler</a></li><li class="sidebar-item__anchor" title="checkConstraints"><a href="/api/printable/#checkconstraints">checkConstraints</a></li><li class="sidebar-item__anchor" title="emitAsset"><a href="/api/printable/#emitasset">emitAsset</a></li><li class="sidebar-item__anchor" title="updateAsset"><a href="/api/printable/#updateasset">updateAsset</a></li><li class="sidebar-item__anchor" title="getAssets"><a href="/api/printable/#getassets">getAssets</a></li><li class="sidebar-item__anchor" title="getAsset"><a href="/api/printable/#getasset">getAsset</a></li></ul></div></div><div><h4 class="sidebar__group">Modules</h4><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/module-methods/">Module Methods</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="ES6 (Recommended)"><a href="/api/module-methods/#es6-recommended">ES6 (Recommended)</a></li><li class="sidebar-item__anchor" title="import"><a href="/api/module-methods/#import">import</a></li><li class="sidebar-item__anchor" title="export"><a href="/api/module-methods/#export">export</a></li><li class="sidebar-item__anchor" title="import()"><a href="/api/module-methods/#import-1">import()</a></li><li class="sidebar-item__anchor" title="Dynamic expressions in import()"><a href="/api/module-methods/#dynamic-expressions-in-import">Dynamic expressions in import()</a></li><li class="sidebar-item__anchor" title="Magic Comments"><a href="/api/module-methods/#magic-comments">Magic Comments</a></li><li class="sidebar-item__anchor" title="CommonJS"><a href="/api/module-methods/#commonjs">CommonJS</a></li><li class="sidebar-item__anchor" title="require"><a href="/api/module-methods/#require">require</a></li><li class="sidebar-item__anchor" title="require.resolve"><a href="/api/module-methods/#requireresolve">require.resolve</a></li><li class="sidebar-item__anchor" title="require.cache"><a href="/api/module-methods/#requirecache">require.cache</a></li><li class="sidebar-item__anchor" title="require.ensure"><a href="/api/module-methods/#requireensure">require.ensure</a></li><li class="sidebar-item__anchor" title="AMD"><a href="/api/module-methods/#amd">AMD</a></li><li class="sidebar-item__anchor" title="define"><a href="/api/module-methods/#define-with-factory">define</a></li><li class="sidebar-item__anchor" title="define"><a href="/api/module-methods/#define-with-value">define</a></li><li class="sidebar-item__anchor" title="require"><a href="/api/module-methods/#require-amd-version">require</a></li><li class="sidebar-item__anchor" title="Labeled Modules"><a href="/api/module-methods/#labeled-modules">Labeled Modules</a></li><li class="sidebar-item__anchor" title="export"><a href="/api/module-methods/#export-label">export</a></li><li class="sidebar-item__anchor" title="require"><a href="/api/module-methods/#require-label">require</a></li><li class="sidebar-item__anchor" title="Webpack"><a href="/api/module-methods/#webpack">Webpack</a></li><li class="sidebar-item__anchor" title="require.context"><a href="/api/module-methods/#requirecontext">require.context</a></li><li class="sidebar-item__anchor" title="require.include"><a href="/api/module-methods/#requireinclude">require.include</a></li><li class="sidebar-item__anchor" title="require.resolveWeak"><a href="/api/module-methods/#requireresolveweak">require.resolveWeak</a></li></ul></div></div><div><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/module-variables/">Module Variables</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="module.loaded"><a href="/api/module-variables/#moduleloaded-nodejs">module.loaded</a></li><li class="sidebar-item__anchor" title="module.hot"><a href="/api/module-variables/#modulehot-webpack-specific">module.hot</a></li><li class="sidebar-item__anchor" title="module.id"><a href="/api/module-variables/#moduleid-commonjs">module.id</a></li><li class="sidebar-item__anchor" title="module.exports"><a href="/api/module-variables/#moduleexports-commonjs">module.exports</a></li><li class="sidebar-item__anchor" title="exports"><a href="/api/module-variables/#exports-commonjs">exports</a></li><li class="sidebar-item__anchor" title="global"><a href="/api/module-variables/#global-nodejs">global</a></li><li class="sidebar-item__anchor" title="process"><a href="/api/module-variables/#process-nodejs">process</a></li><li class="sidebar-item__anchor" title="__dirname"><a href="/api/module-variables/#__dirname-nodejs">__dirname</a></li><li class="sidebar-item__anchor" title="__filename"><a href="/api/module-variables/#__filename-nodejs">__filename</a></li><li class="sidebar-item__anchor" title="__resourceQuery"><a href="/api/module-variables/#__resourcequery-webpack-specific">__resourceQuery</a></li><li class="sidebar-item__anchor" title="__webpack_public_path__"><a href="/api/module-variables/#__webpack_public_path__-webpack-specific">__webpack_public_path__</a></li><li class="sidebar-item__anchor" title="__webpack_require__"><a href="/api/module-variables/#__webpack_require__-webpack-specific">__webpack_require__</a></li><li class="sidebar-item__anchor" title="__webpack_chunk_load__"><a href="/api/module-variables/#__webpack_chunk_load__-webpack-specific">__webpack_chunk_load__</a></li><li class="sidebar-item__anchor" title="__webpack_modules__"><a href="/api/module-variables/#__webpack_modules__-webpack-specific">__webpack_modules__</a></li><li class="sidebar-item__anchor" title="__webpack_hash__"><a href="/api/module-variables/#__webpack_hash__-webpack-specific">__webpack_hash__</a></li><li class="sidebar-item__anchor" title="__non_webpack_require__"><a href="/api/module-variables/#__non_webpack_require__-webpack-specific">__non_webpack_require__</a></li><li class="sidebar-item__anchor" title="DEBUG"><a href="/api/module-variables/#debug--webpack-specific">DEBUG</a></li></ul></div></div><div><h4 class="sidebar__group">Objects</h4><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/compilation-object/">Compilation Object</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="compilation object methods"><a href="/api/compilation-object/#compilation-object-methods">compilation object methods</a></li><li class="sidebar-item__anchor" title="getStats"><a href="/api/compilation-object/#getstats">getStats</a></li><li class="sidebar-item__anchor" title="addModule"><a href="/api/compilation-object/#addmodule">addModule</a></li><li class="sidebar-item__anchor" title="getModule"><a href="/api/compilation-object/#getmodule">getModule</a></li><li class="sidebar-item__anchor" title="findModule"><a href="/api/compilation-object/#findmodule">findModule</a></li><li class="sidebar-item__anchor" title="waitForBuildingFinished"><a href="/api/compilation-object/#waitforbuildingfinished">waitForBuildingFinished</a></li><li class="sidebar-item__anchor" title="buildModule"><a href="/api/compilation-object/#buildmodule">buildModule</a></li><li class="sidebar-item__anchor" title="processModuleDependencies"><a href="/api/compilation-object/#processmoduledependencies">processModuleDependencies</a></li><li class="sidebar-item__anchor" title="addModuleDependencies"><a href="/api/compilation-object/#addmoduledependencies">addModuleDependencies</a></li><li class="sidebar-item__anchor" title="addEntry"><a href="/api/compilation-object/#addentry">addEntry</a></li><li class="sidebar-item__anchor" title="prefetch"><a href="/api/compilation-object/#prefetch">prefetch</a></li><li class="sidebar-item__anchor" title="rebuildModule"><a href="/api/compilation-object/#rebuildmodule">rebuildModule</a></li><li class="sidebar-item__anchor" title="finish"><a href="/api/compilation-object/#finish">finish</a></li><li class="sidebar-item__anchor" title="seal"><a href="/api/compilation-object/#seal">seal</a></li><li class="sidebar-item__anchor" title="unseal"><a href="/api/compilation-object/#unseal">unseal</a></li><li class="sidebar-item__anchor" title="reportDependencyErrorsAndWarnings"><a href="/api/compilation-object/#reportdependencyerrorsandwarnings">reportDependencyErrorsAndWarnings</a></li><li class="sidebar-item__anchor" title="addChunkInGroup"><a href="/api/compilation-object/#addchunkingroup">addChunkInGroup</a></li><li class="sidebar-item__anchor" title="addChunk"><a href="/api/compilation-object/#addchunk">addChunk</a></li><li class="sidebar-item__anchor" title="assignDepth"><a href="/api/compilation-object/#assigndepth">assignDepth</a></li><li class="sidebar-item__anchor" title="getDependencyReference"><a href="/api/compilation-object/#getdependencyreference">getDependencyReference</a></li><li class="sidebar-item__anchor" title="processDependenciesBlocksForChunkGroups"><a href="/api/compilation-object/#processdependenciesblocksforchunkgroups">processDependenciesBlocksForChunkGroups</a></li><li class="sidebar-item__anchor" title="removeReasonsOfDependencyBlock"><a href="/api/compilation-object/#removereasonsofdependencyblock">removeReasonsOfDependencyBlock</a></li><li class="sidebar-item__anchor" title="patchChunksAfterReasonRemoval"><a href="/api/compilation-object/#patchchunksafterreasonremoval">patchChunksAfterReasonRemoval</a></li><li class="sidebar-item__anchor" title="removeChunkFromDependencies"><a href="/api/compilation-object/#removechunkfromdependencies">removeChunkFromDependencies</a></li><li class="sidebar-item__anchor" title="applyModuleIds"><a href="/api/compilation-object/#applymoduleids">applyModuleIds</a></li><li class="sidebar-item__anchor" title="applyChunkIds"><a href="/api/compilation-object/#applychunkids">applyChunkIds</a></li><li class="sidebar-item__anchor" title="sortItemsWithModuleIds"><a href="/api/compilation-object/#sortitemswithmoduleids">sortItemsWithModuleIds</a></li><li class="sidebar-item__anchor" title="sortItemsWithChunkIds"><a href="/api/compilation-object/#sortitemswithchunkids">sortItemsWithChunkIds</a></li><li class="sidebar-item__anchor" title="summarizeDependencies"><a href="/api/compilation-object/#summarizedependencies">summarizeDependencies</a></li><li class="sidebar-item__anchor" title="createHash"><a href="/api/compilation-object/#createhash">createHash</a></li><li class="sidebar-item__anchor" title="modifyHash"><a href="/api/compilation-object/#modifyhash">modifyHash</a></li><li class="sidebar-item__anchor" title="createModuleAssets"><a href="/api/compilation-object/#createmoduleassets">createModuleAssets</a></li><li class="sidebar-item__anchor" title="createChunkAssets"><a href="/api/compilation-object/#createchunkassets">createChunkAssets</a></li><li class="sidebar-item__anchor" title="getPath"><a href="/api/compilation-object/#getpath">getPath</a></li><li class="sidebar-item__anchor" title="createChildCompiler"><a href="/api/compilation-object/#createchildcompiler">createChildCompiler</a></li><li class="sidebar-item__anchor" title="checkConstraints"><a href="/api/compilation-object/#checkconstraints">checkConstraints</a></li><li class="sidebar-item__anchor" title="emitAsset"><a href="/api/compilation-object/#emitasset">emitAsset</a></li><li class="sidebar-item__anchor" title="updateAsset"><a href="/api/compilation-object/#updateasset">updateAsset</a></li><li class="sidebar-item__anchor" title="getAssets"><a href="/api/compilation-object/#getassets">getAssets</a></li><li class="sidebar-item__anchor" title="getAsset"><a href="/api/compilation-object/#getasset">getAsset</a></li></ul></div></div><div><h4 class="sidebar__group">Plugins</h4><div class="sidebar-item sidebar-item--open "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/compiler-hooks/">Compiler Hooks</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="Watching"><a href="/api/compiler-hooks/#watching">Watching</a></li><li class="sidebar-item__anchor" title="Hooks"><a href="/api/compiler-hooks/#hooks">Hooks</a></li><li class="sidebar-item__anchor" title="entryOption"><a href="/api/compiler-hooks/#entryoption">entryOption</a></li><li class="sidebar-item__anchor" title="afterPlugins"><a href="/api/compiler-hooks/#afterplugins">afterPlugins</a></li><li class="sidebar-item__anchor" title="afterResolvers"><a href="/api/compiler-hooks/#afterresolvers">afterResolvers</a></li><li class="sidebar-item__anchor" title="environment"><a href="/api/compiler-hooks/#environment">environment</a></li><li class="sidebar-item__anchor" title="afterEnvironment"><a href="/api/compiler-hooks/#afterenvironment">afterEnvironment</a></li><li class="sidebar-item__anchor" title="beforeRun"><a href="/api/compiler-hooks/#beforerun">beforeRun</a></li><li class="sidebar-item__anchor" title="run"><a href="/api/compiler-hooks/#run">run</a></li><li class="sidebar-item__anchor" title="watchRun"><a href="/api/compiler-hooks/#watchrun">watchRun</a></li><li class="sidebar-item__anchor" title="normalModuleFactory"><a href="/api/compiler-hooks/#normalmodulefactory">normalModuleFactory</a></li><li class="sidebar-item__anchor" title="contextModuleFactory"><a href="/api/compiler-hooks/#contextmodulefactory">contextModuleFactory</a></li><li class="sidebar-item__anchor" title="beforeCompile"><a href="/api/compiler-hooks/#beforecompile">beforeCompile</a></li><li class="sidebar-item__anchor" title="compile"><a href="/api/compiler-hooks/#compile">compile</a></li><li class="sidebar-item__anchor" title="thisCompilation"><a href="/api/compiler-hooks/#thiscompilation">thisCompilation</a></li><li class="sidebar-item__anchor" title="compilation"><a href="/api/compiler-hooks/#compilation">compilation</a></li><li class="sidebar-item__anchor" title="make"><a href="/api/compiler-hooks/#make">make</a></li><li class="sidebar-item__anchor" title="afterCompile"><a href="/api/compiler-hooks/#aftercompile">afterCompile</a></li><li class="sidebar-item__anchor" title="shouldEmit"><a href="/api/compiler-hooks/#shouldemit">shouldEmit</a></li><li class="sidebar-item__anchor" title="emit"><a href="/api/compiler-hooks/#emit">emit</a></li><li class="sidebar-item__anchor" title="afterEmit"><a href="/api/compiler-hooks/#afteremit">afterEmit</a></li><li class="sidebar-item__anchor" title="assetEmitted"><a href="/api/compiler-hooks/#assetemitted">assetEmitted</a></li><li class="sidebar-item__anchor" title="done"><a href="/api/compiler-hooks/#done">done</a></li><li class="sidebar-item__anchor" title="failed"><a href="/api/compiler-hooks/#failed">failed</a></li><li class="sidebar-item__anchor" title="invalid"><a href="/api/compiler-hooks/#invalid">invalid</a></li><li class="sidebar-item__anchor" title="watchClose"><a href="/api/compiler-hooks/#watchclose">watchClose</a></li><li class="sidebar-item__anchor" title="infrastructureLog"><a href="/api/compiler-hooks/#infrastructurelog">infrastructureLog</a></li><li class="sidebar-item__anchor" title="log"><a href="/api/compiler-hooks/#log">log</a></li></ul></div></div><div><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/compilation-hooks/">Compilation Hooks</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="buildModule"><a href="/api/compilation-hooks/#buildmodule">buildModule</a></li><li class="sidebar-item__anchor" title="rebuildModule"><a href="/api/compilation-hooks/#rebuildmodule">rebuildModule</a></li><li class="sidebar-item__anchor" title="failedModule"><a href="/api/compilation-hooks/#failedmodule">failedModule</a></li><li class="sidebar-item__anchor" title="succeedModule"><a href="/api/compilation-hooks/#succeedmodule">succeedModule</a></li><li class="sidebar-item__anchor" title="finishModules"><a href="/api/compilation-hooks/#finishmodules">finishModules</a></li><li class="sidebar-item__anchor" title="finishRebuildingModule"><a href="/api/compilation-hooks/#finishrebuildingmodule">finishRebuildingModule</a></li><li class="sidebar-item__anchor" title="seal"><a href="/api/compilation-hooks/#seal">seal</a></li><li class="sidebar-item__anchor" title="unseal"><a href="/api/compilation-hooks/#unseal">unseal</a></li><li class="sidebar-item__anchor" title="optimizeDependenciesBasic"><a href="/api/compilation-hooks/#optimizedependenciesbasic">optimizeDependenciesBasic</a></li><li class="sidebar-item__anchor" title="optimizeDependencies"><a href="/api/compilation-hooks/#optimizedependencies">optimizeDependencies</a></li><li class="sidebar-item__anchor" title="optimizeDependenciesAdvanced"><a href="/api/compilation-hooks/#optimizedependenciesadvanced">optimizeDependenciesAdvanced</a></li><li class="sidebar-item__anchor" title="afterOptimizeDependencies"><a href="/api/compilation-hooks/#afteroptimizedependencies">afterOptimizeDependencies</a></li><li class="sidebar-item__anchor" title="optimize"><a href="/api/compilation-hooks/#optimize">optimize</a></li><li class="sidebar-item__anchor" title="optimizeModulesBasic"><a href="/api/compilation-hooks/#optimizemodulesbasic">optimizeModulesBasic</a></li><li class="sidebar-item__anchor" title="optimizeModules"><a href="/api/compilation-hooks/#optimizemodules">optimizeModules</a></li><li class="sidebar-item__anchor" title="optimizeModulesAdvanced"><a href="/api/compilation-hooks/#optimizemodulesadvanced">optimizeModulesAdvanced</a></li><li class="sidebar-item__anchor" title="afterOptimizeModules"><a href="/api/compilation-hooks/#afteroptimizemodules">afterOptimizeModules</a></li><li class="sidebar-item__anchor" title="optimizeChunksBasic"><a href="/api/compilation-hooks/#optimizechunksbasic">optimizeChunksBasic</a></li><li class="sidebar-item__anchor" title="optimizeChunks"><a href="/api/compilation-hooks/#optimizechunks">optimizeChunks</a></li><li class="sidebar-item__anchor" title="optimizeChunksAdvanced"><a href="/api/compilation-hooks/#optimizechunksadvanced">optimizeChunksAdvanced</a></li><li class="sidebar-item__anchor" title="afterOptimizeChunks"><a href="/api/compilation-hooks/#afteroptimizechunks">afterOptimizeChunks</a></li><li class="sidebar-item__anchor" title="optimizeTree"><a href="/api/compilation-hooks/#optimizetree">optimizeTree</a></li><li class="sidebar-item__anchor" title="afterOptimizeTree"><a href="/api/compilation-hooks/#afteroptimizetree">afterOptimizeTree</a></li><li class="sidebar-item__anchor" title="optimizeChunkModulesBasic"><a href="/api/compilation-hooks/#optimizechunkmodulesbasic">optimizeChunkModulesBasic</a></li><li class="sidebar-item__anchor" title="optimizeChunkModules"><a href="/api/compilation-hooks/#optimizechunkmodules">optimizeChunkModules</a></li><li class="sidebar-item__anchor" title="optimizeChunkModulesAdvanced"><a href="/api/compilation-hooks/#optimizechunkmodulesadvanced">optimizeChunkModulesAdvanced</a></li><li class="sidebar-item__anchor" title="afterOptimizeChunkModules"><a href="/api/compilation-hooks/#afteroptimizechunkmodules">afterOptimizeChunkModules</a></li><li class="sidebar-item__anchor" title="shouldRecord"><a href="/api/compilation-hooks/#shouldrecord">shouldRecord</a></li><li class="sidebar-item__anchor" title="reviveModules"><a href="/api/compilation-hooks/#revivemodules">reviveModules</a></li><li class="sidebar-item__anchor" title="optimizeModuleOrder"><a href="/api/compilation-hooks/#optimizemoduleorder">optimizeModuleOrder</a></li><li class="sidebar-item__anchor" title="advancedOptimizeModuleOrder"><a href="/api/compilation-hooks/#advancedoptimizemoduleorder">advancedOptimizeModuleOrder</a></li><li class="sidebar-item__anchor" title="beforeModuleIds"><a href="/api/compilation-hooks/#beforemoduleids">beforeModuleIds</a></li><li class="sidebar-item__anchor" title="moduleIds"><a href="/api/compilation-hooks/#moduleids">moduleIds</a></li><li class="sidebar-item__anchor" title="optimizeModuleIds"><a href="/api/compilation-hooks/#optimizemoduleids">optimizeModuleIds</a></li><li class="sidebar-item__anchor" title="afterOptimizeModuleIds"><a href="/api/compilation-hooks/#afteroptimizemoduleids">afterOptimizeModuleIds</a></li><li class="sidebar-item__anchor" title="reviveChunks"><a href="/api/compilation-hooks/#revivechunks">reviveChunks</a></li><li class="sidebar-item__anchor" title="optimizeChunkOrder"><a href="/api/compilation-hooks/#optimizechunkorder">optimizeChunkOrder</a></li><li class="sidebar-item__anchor" title="beforeChunkIds"><a href="/api/compilation-hooks/#beforechunkids">beforeChunkIds</a></li><li class="sidebar-item__anchor" title="chunkIds"><a href="/api/compilation-hooks/#chunkids">chunkIds</a></li><li class="sidebar-item__anchor" title="beforeOptimizeChunkIds"><a href="/api/compilation-hooks/#beforeoptimizechunkids">beforeOptimizeChunkIds</a></li><li class="sidebar-item__anchor" title="optimizeChunkIds"><a href="/api/compilation-hooks/#optimizechunkids">optimizeChunkIds</a></li><li class="sidebar-item__anchor" title="afterOptimizeChunkIds"><a href="/api/compilation-hooks/#afteroptimizechunkids">afterOptimizeChunkIds</a></li><li class="sidebar-item__anchor" title="recordModules"><a href="/api/compilation-hooks/#recordmodules">recordModules</a></li><li class="sidebar-item__anchor" title="recordChunks"><a href="/api/compilation-hooks/#recordchunks">recordChunks</a></li><li class="sidebar-item__anchor" title="optimizeCodeGeneration"><a href="/api/compilation-hooks/#optimizecodegeneration">optimizeCodeGeneration</a></li><li class="sidebar-item__anchor" title="beforeModuleHash"><a href="/api/compilation-hooks/#beforemodulehash">beforeModuleHash</a></li><li class="sidebar-item__anchor" title="afterModuleHash"><a href="/api/compilation-hooks/#aftermodulehash">afterModuleHash</a></li><li class="sidebar-item__anchor" title="beforeRuntimeRequirements"><a href="/api/compilation-hooks/#beforeruntimerequirements">beforeRuntimeRequirements</a></li><li class="sidebar-item__anchor" title="afterRuntimeRequirements"><a href="/api/compilation-hooks/#afterruntimerequirements">afterRuntimeRequirements</a></li><li class="sidebar-item__anchor" title="beforeHash"><a href="/api/compilation-hooks/#beforehash">beforeHash</a></li><li class="sidebar-item__anchor" title="afterHash"><a href="/api/compilation-hooks/#afterhash">afterHash</a></li><li class="sidebar-item__anchor" title="recordHash"><a href="/api/compilation-hooks/#recordhash">recordHash</a></li><li class="sidebar-item__anchor" title="record"><a href="/api/compilation-hooks/#record">record</a></li><li class="sidebar-item__anchor" title="beforeModuleAssets"><a href="/api/compilation-hooks/#beforemoduleassets">beforeModuleAssets</a></li><li class="sidebar-item__anchor" title="additionalChunkAssets"><a href="/api/compilation-hooks/#additionalchunkassets">additionalChunkAssets</a></li><li class="sidebar-item__anchor" title="shouldGenerateChunkAssets"><a href="/api/compilation-hooks/#shouldgeneratechunkassets">shouldGenerateChunkAssets</a></li><li class="sidebar-item__anchor" title="beforeChunkAssets"><a href="/api/compilation-hooks/#beforechunkassets">beforeChunkAssets</a></li><li class="sidebar-item__anchor" title="additionalAssets"><a href="/api/compilation-hooks/#additionalassets">additionalAssets</a></li><li class="sidebar-item__anchor" title="optimizeChunkAssets"><a href="/api/compilation-hooks/#optimizechunkassets">optimizeChunkAssets</a></li><li class="sidebar-item__anchor" title="afterOptimizeChunkAssets"><a href="/api/compilation-hooks/#afteroptimizechunkassets">afterOptimizeChunkAssets</a></li><li class="sidebar-item__anchor" title="optimizeAssets"><a href="/api/compilation-hooks/#optimizeassets">optimizeAssets</a></li><li class="sidebar-item__anchor" title="afterOptimizeAssets"><a href="/api/compilation-hooks/#afteroptimizeassets">afterOptimizeAssets</a></li><li class="sidebar-item__anchor" title="needAdditionalSeal"><a href="/api/compilation-hooks/#needadditionalseal">needAdditionalSeal</a></li><li class="sidebar-item__anchor" title="afterSeal"><a href="/api/compilation-hooks/#afterseal">afterSeal</a></li><li class="sidebar-item__anchor" title="chunkHash"><a href="/api/compilation-hooks/#chunkhash">chunkHash</a></li><li class="sidebar-item__anchor" title="moduleAsset"><a href="/api/compilation-hooks/#moduleasset">moduleAsset</a></li><li class="sidebar-item__anchor" title="chunkAsset"><a href="/api/compilation-hooks/#chunkasset">chunkAsset</a></li><li class="sidebar-item__anchor" title="assetPath"><a href="/api/compilation-hooks/#assetpath">assetPath</a></li><li class="sidebar-item__anchor" title="needAdditionalPass"><a href="/api/compilation-hooks/#needadditionalpass">needAdditionalPass</a></li><li class="sidebar-item__anchor" title="childCompiler"><a href="/api/compilation-hooks/#childcompiler">childCompiler</a></li><li class="sidebar-item__anchor" title="normalModuleLoader"><a href="/api/compilation-hooks/#normalmoduleloader">normalModuleLoader</a></li><li class="sidebar-item__anchor" title="dependencyReference"><a href="/api/compilation-hooks/#dependencyreference">dependencyReference</a></li></ul></div></div><div><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/parser/">Parser Hooks</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="Hooks"><a href="/api/parser/#hooks">Hooks</a></li><li class="sidebar-item__anchor" title="evaluateTypeof"><a href="/api/parser/#evaluatetypeof">evaluateTypeof</a></li><li class="sidebar-item__anchor" title="evaluate"><a href="/api/parser/#evaluate">evaluate</a></li><li class="sidebar-item__anchor" title="evaluateIdentifier"><a href="/api/parser/#evaluateidentifier">evaluateIdentifier</a></li><li class="sidebar-item__anchor" title="evaluateDefinedIdentifier"><a href="/api/parser/#evaluatedefinedidentifier">evaluateDefinedIdentifier</a></li><li class="sidebar-item__anchor" title="evaluateCallExpressionMember"><a href="/api/parser/#evaluatecallexpressionmember">evaluateCallExpressionMember</a></li><li class="sidebar-item__anchor" title="statement"><a href="/api/parser/#statement">statement</a></li><li class="sidebar-item__anchor" title="statementIf"><a href="/api/parser/#statementif">statementIf</a></li><li class="sidebar-item__anchor" title="label"><a href="/api/parser/#label">label</a></li><li class="sidebar-item__anchor" title="import"><a href="/api/parser/#import">import</a></li><li class="sidebar-item__anchor" title="importSpecifier"><a href="/api/parser/#importspecifier">importSpecifier</a></li><li class="sidebar-item__anchor" title="export"><a href="/api/parser/#export">export</a></li><li class="sidebar-item__anchor" title="exportImport"><a href="/api/parser/#exportimport">exportImport</a></li><li class="sidebar-item__anchor" title="exportDeclaration"><a href="/api/parser/#exportdeclaration">exportDeclaration</a></li><li class="sidebar-item__anchor" title="exportExpression"><a href="/api/parser/#exportexpression">exportExpression</a></li><li class="sidebar-item__anchor" title="exportSpecifier"><a href="/api/parser/#exportspecifier">exportSpecifier</a></li><li class="sidebar-item__anchor" title="exportImportSpecifier"><a href="/api/parser/#exportimportspecifier">exportImportSpecifier</a></li><li class="sidebar-item__anchor" title="varDeclaration"><a href="/api/parser/#vardeclaration">varDeclaration</a></li><li class="sidebar-item__anchor" title="varDeclarationLet"><a href="/api/parser/#vardeclarationlet">varDeclarationLet</a></li><li class="sidebar-item__anchor" title="varDeclarationConst"><a href="/api/parser/#vardeclarationconst">varDeclarationConst</a></li><li class="sidebar-item__anchor" title="varDeclarationVar"><a href="/api/parser/#vardeclarationvar">varDeclarationVar</a></li><li class="sidebar-item__anchor" title="canRename"><a href="/api/parser/#canrename">canRename</a></li><li class="sidebar-item__anchor" title="rename"><a href="/api/parser/#rename">rename</a></li><li class="sidebar-item__anchor" title="assigned"><a href="/api/parser/#assigned">assigned</a></li><li class="sidebar-item__anchor" title="assign"><a href="/api/parser/#assign">assign</a></li><li class="sidebar-item__anchor" title="typeof"><a href="/api/parser/#typeof">typeof</a></li><li class="sidebar-item__anchor" title="call"><a href="/api/parser/#call">call</a></li><li class="sidebar-item__anchor" title="callAnyMember"><a href="/api/parser/#callanymember">callAnyMember</a></li><li class="sidebar-item__anchor" title="new"><a href="/api/parser/#new">new</a></li><li class="sidebar-item__anchor" title="expression"><a href="/api/parser/#expression">expression</a></li><li class="sidebar-item__anchor" title="expressionAnyMember"><a href="/api/parser/#expressionanymember">expressionAnyMember</a></li><li class="sidebar-item__anchor" title="expressionConditionalOperator"><a href="/api/parser/#expressionconditionaloperator">expressionConditionalOperator</a></li><li class="sidebar-item__anchor" title="program"><a href="/api/parser/#program">program</a></li></ul></div></div><div><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/plugins/">Plugin API</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="Tapable"><a href="/api/plugins/#tapable">Tapable</a></li><li class="sidebar-item__anchor" title="Plugin Types"><a href="/api/plugins/#plugin-types">Plugin Types</a></li><li class="sidebar-item__anchor" title="Custom Hooks"><a href="/api/plugins/#custom-hooks">Custom Hooks</a></li><li class="sidebar-item__anchor" title="Reporting Progress"><a href="/api/plugins/#reporting-progress">Reporting Progress</a></li><li class="sidebar-item__anchor" title="Logging"><a href="/api/plugins/#logging">Logging</a></li><li class="sidebar-item__anchor" title="Next Steps"><a href="/api/plugins/#next-steps">Next Steps</a></li></ul></div></div><div><div class="sidebar-item "><i class="sidebar-item__toggle icon-chevron-right"></i><a class="sidebar-item__title" href="/api/resolvers/">Resolvers</a><ul class="sidebar-item__anchors"><li class="sidebar-item__anchor" title="Types"><a href="/api/resolvers/#types">Types</a></li><li class="sidebar-item__anchor" title="Configuration Options"><a href="/api/resolvers/#configuration-options">Configuration Options</a></li></ul></div></div></div></nav><section class="page"><div class="page-links"><a class="page-links__link" href="https://github.com/webpack/webpack.js.org/edit/master/src/content/api/compiler-hooks.md">Edit Document<i class="page-links__icon icon-edit"></i></a><span class="page-links__gap">|</span><button class="page-links__link page-links__print as-link" title="Print this page">Print Document<img src="/96ccbfac58b65e83657a220603e00abe.svg"/></button></div><div class="markdown"><h1>Compiler Hooks</h1><div><p>The <code>Compiler</code> module is the main engine that creates a compilation instance
with all the options passed through the <a href="/api/cli">CLI</a> or <a href="/api/node">Node API</a>. It extends the
<code>Tapable</code> class in order to register and call plugins. Most user facing plugins
are first registered on the <code>Compiler</code>.</p>
<blockquote class="tip">
<p>This module is exposed as <code>webpack.Compiler</code> and can be used directly. See
<a href="https://github.com/pksjce/webpack-internal-examples/tree/master/compiler-example">this example</a>
for more information.</p>
</blockquote>
<p>When developing a plugin for webpack, you might want to know where each hook is called. To learn this, search for <code>hooks.<hook name>.call</code> across the webpack source</p>
<h2 id="watching">Watching<a href="#watching" aria-hidden="true"><span class="icon icon-link"></span></a></h2>
<p>The <code>Compiler</code> supports <a href="/api/node/#watching">watching</a> which monitors the file
system and recompiles as files change. When in watch mode, the compiler will
emit the additional events such as <code>watchRun</code>, <code>watchClose</code>, and <code>invalid</code>.
This is typically used in <a href="/guides/development">development</a>, usually under
the hood of tools like <code>webpack-dev-server</code>, so that the developer doesn't
need to re-compile manually every time. Watch mode can also be entered via the
<a href="/api/cli/#watch-options">CLI</a>.</p>
<h2 id="hooks">Hooks<a href="#hooks" aria-hidden="true"><span class="icon icon-link"></span></a></h2>
<p>The following lifecycle hooks are exposed by the <code>compiler</code> and can be accessed
as such:</p>
<pre><code class="hljs language-js">compiler<span class="token punctuation">.</span>hooks<span class="token punctuation">.</span>someHook<span class="token punctuation">.</span><span class="token function">tap</span><span class="token punctuation">(</span><span class="token string">'MyPlugin'</span><span class="token punctuation">,</span> <span class="token punctuation">(</span>params<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token comment">/* ... */</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre>
<p>Depending on the hook type, <code>tapAsync</code> and <code>tapPromise</code> may also be available.</p>
<p>For the description of hook types, see <a href="https://github.com/webpack/tapable#tapable">the Tapable docs</a>.</p>
<h3 id="entryoption"><code>entryOption</code><a href="#entryoption" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncBailHook</code></p>
<p>Called after the <a href="/configuration/entry-context/#entry"><code>entry</code> configuration</a> from webpack options has been processed.</p>
<ul>
<li>Callback Parameters: <a href="/configuration/entry-context/#context"><code>context</code></a>, <a href="/configuration/entry-context/#entry"><code>entry</code></a></li>
</ul>
<pre><code class="hljs language-js">compiler<span class="token punctuation">.</span>hooks<span class="token punctuation">.</span>entryOption<span class="token punctuation">.</span><span class="token function">tap</span><span class="token punctuation">(</span><span class="token string">'MyPlugin'</span><span class="token punctuation">,</span> <span class="token punctuation">(</span>context<span class="token punctuation">,</span> entry<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token comment">/* ... */</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre>
<p>Parameters: <code>context</code>, <code>entry</code></p>
<h3 id="afterplugins"><code>afterPlugins</code><a href="#afterplugins" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncHook</code></p>
<p>Called after setting up initial set of internal plugins.</p>
<ul>
<li>Callback Parameters: <code>compiler</code></li>
</ul>
<h3 id="afterresolvers"><code>afterResolvers</code><a href="#afterresolvers" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncHook</code></p>
<p>Triggered after resolver setup is complete.</p>
<ul>
<li>Callback Parameters: <code>compiler</code></li>
</ul>
<h3 id="environment"><code>environment</code><a href="#environment" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncHook</code></p>
<p>Called while preparing the compiler environment, right after inizializing the plugins in the configuration file.</p>
<h3 id="afterenvironment"><code>afterEnvironment</code><a href="#afterenvironment" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncHook</code></p>
<p>Called right after the <code>environment</code> hook, when the compiler environment setup is complete.</p>
<h3 id="beforerun"><code>beforeRun</code><a href="#beforerun" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>AsyncSeriesHook</code></p>
<p>Adds a hook right before running the compiler.</p>
<ul>
<li>Callback Parameters: <code>compiler</code></li>
</ul>
<h3 id="run"><code>run</code><a href="#run" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>AsyncSeriesHook</code></p>
<p>Hook into the compiler before it begins reading <a href="/configuration/other-options/#recordspath"><code>records</code></a>.</p>
<ul>
<li>Callback Parameters: <code>compiler</code></li>
</ul>
<h3 id="watchrun"><code>watchRun</code><a href="#watchrun" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>AsyncSeriesHook</code></p>
<p>Executes a plugin during watch mode after a new compilation is triggered but before the compilation is actually started.</p>
<ul>
<li>Callback Parameters: <code>compiler</code></li>
</ul>
<h3 id="normalmodulefactory"><code>normalModuleFactory</code><a href="#normalmodulefactory" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncHook</code></p>
<p>Called after a <code>NormalModuleFactory</code> is created.</p>
<ul>
<li>Callback Parameters: <code>normalModuleFactory</code></li>
</ul>
<h3 id="contextmodulefactory"><code>contextModuleFactory</code><a href="#contextmodulefactory" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncHook</code></p>
<p>Runs a plugin after a <code>ContextModuleFactory</code> is created.</p>
<ul>
<li>Callback Parameters: <code>contextModuleFactory</code></li>
</ul>
<h3 id="beforecompile"><code>beforeCompile</code><a href="#beforecompile" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>AsyncSeriesHook</code></p>
<p>Executes a plugin after compilation parameters are created.</p>
<ul>
<li>Callback Parameters: <code>compilationParams</code></li>
</ul>
<p>The <code>compilationParams</code> variable is initialized as follows:</p>
<pre><code class="hljs language-js">compilationParams <span class="token operator">=</span> <span class="token punctuation">{</span>
normalModuleFactory<span class="token punctuation">,</span>
contextModuleFactory<span class="token punctuation">,</span>
compilationDependencies
<span class="token punctuation">}</span><span class="token punctuation">;</span></code></pre>
<p>This hook can be used to add/modify the compilation parameters:</p>
<pre><code class="hljs language-js">compiler<span class="token punctuation">.</span>hooks<span class="token punctuation">.</span>beforeCompile<span class="token punctuation">.</span><span class="token function">tapAsync</span><span class="token punctuation">(</span><span class="token string">'MyPlugin'</span><span class="token punctuation">,</span> <span class="token punctuation">(</span>params<span class="token punctuation">,</span> callback<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
params<span class="token punctuation">[</span><span class="token string">'MyPlugin - data'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token string">'important stuff my plugin will use later'</span><span class="token punctuation">;</span>
<span class="token function">callback</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre>
<h3 id="compile"><code>compile</code><a href="#compile" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncHook</code></p>
<p>Called right after <code>beforeCompile</code>, before a new compilation is created.</p>
<ul>
<li>Callback Parameters: <code>compilationParams</code></li>
</ul>
<h3 id="thiscompilation"><code>thisCompilation</code><a href="#thiscompilation" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncHook</code></p>
<p>Executed while initializing the compilation, right before emitting the <code>compilation</code> event.</p>
<ul>
<li>Callback Parameters: <code>compilation</code>, <code>compilationParams</code></li>
</ul>
<h3 id="compilation"><code>compilation</code><a href="#compilation" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncHook</code></p>
<p>Runs a plugin after a compilation has been created.</p>
<ul>
<li>Callback Parameters: <code>compilation</code>, <code>compilationParams</code></li>
</ul>
<h3 id="make"><code>make</code><a href="#make" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>AsyncParallelHook</code></p>
<p>Executed before finishing the compilation.</p>
<ul>
<li>Callback Parameters: <code>compilation</code></li>
</ul>
<h3 id="aftercompile"><code>afterCompile</code><a href="#aftercompile" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>AsyncSeriesHook</code></p>
<p>Called after finishing and sealing the compilation.</p>
<ul>
<li>Callback Parameters: <code>compilation</code></li>
</ul>
<h3 id="shouldemit"><code>shouldEmit</code><a href="#shouldemit" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncBailHook</code></p>
<p>Called before emitting assets. Should return a boolean telling whether to emit.</p>
<ul>
<li>Callback Parameters: <code>compilation</code></li>
</ul>
<pre><code class="hljs language-js">compiler<span class="token punctuation">.</span>hooks<span class="token punctuation">.</span>shouldEmit<span class="token punctuation">.</span><span class="token function">tap</span><span class="token punctuation">(</span><span class="token string">'MyPlugin'</span><span class="token punctuation">,</span> <span class="token punctuation">(</span>compilation<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
<span class="token comment">// return true to emit the output, otherwise false</span>
<span class="token keyword">return</span> <span class="token boolean">true</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre>
<h3 id="emit"><code>emit</code><a href="#emit" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>AsyncSeriesHook</code></p>
<p>Executed right before emitting assets to output dir.</p>
<ul>
<li>Callback Parameters: <code>compilation</code></li>
</ul>
<h3 id="afteremit"><code>afterEmit</code><a href="#afteremit" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>AsyncSeriesHook</code></p>
<p>Called after emitting assets to output directory.</p>
<ul>
<li>Callback Parameters: <code>compilation</code></li>
</ul>
<h3 id="assetemitted"><code>assetEmitted</code><a href="#assetemitted" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>AsyncSeriesHook</code></p>
<p>Allows to get byte content of emitted asset. Available since webpack v4.39.0</p>
<ul>
<li>Callback Parameters: <code>file</code>, <code>content</code></li>
</ul>
<h3 id="done"><code>done</code><a href="#done" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>AsyncSeriesHook</code></p>
<p>Executed when the compilation has completed.</p>
<ul>
<li>Callback Parameters: <code>stats</code></li>
</ul>
<h3 id="failed"><code>failed</code><a href="#failed" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncHook</code></p>
<p>Called if the compilation fails.</p>
<ul>
<li>Callback Parameters: <code>error</code></li>
</ul>
<h3 id="invalid"><code>invalid</code><a href="#invalid" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncHook</code></p>
<p>Executed when a watching compilation has been invalidated.</p>
<ul>
<li>Callback Parameters: <code>fileName</code>, <code>changeTime</code></li>
</ul>
<h3 id="watchclose"><code>watchClose</code><a href="#watchclose" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncHook</code></p>
<p>Called when a watching compilation has stopped.</p>
<h3 id="infrastructurelog"><code>infrastructureLog</code><a href="#infrastructurelog" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncBailHook</code></p>
<p>Allows to use infrastructure logging when enabled in the configuration via <a href="/configuration/other-options/#infrastructurelogging"><code>infrastructureLogging</code> option</a>.</p>
<ul>
<li>Callback Parameters: <code>name</code>, <code>type</code>, <code>args</code></li>
</ul>
<h3 id="log"><code>log</code><a href="#log" aria-hidden="true"><span class="icon icon-link"></span></a></h3>
<p><code>SyncBailHook</code></p>
<p>Allows to log into <a href="/configuration/stats/">stats</a> when enabled, see <a href="/configuration/stats/#stats"><code>stats.logging</code>, <code>stats.loggingDebug</code> and <code>stats.loggingTrace</code> options</a>.</p>
<ul>
<li>Callback Parameters: <code>origin</code>, <code>logEntry</code></li>
</ul>
</div><div class="contributors__section"><hr/><h3>Contributors</h3><div class="contributors"><div class="contributors__list"><a class="contributor" href="https://github.com/rishantagarwal"><img alt="rishantagarwal" src="/cb0093496837d3dc43dfae5a9104d663.png"/><span class="contributor__name"> <!-- -->rishantagarwal</span></a><a class="contributor" href="https://github.com/byzyk"><img alt="byzyk" src="/cb0093496837d3dc43dfae5a9104d663.png"/><span class="contributor__name"> <!-- -->byzyk</span></a><a class="contributor" href="https://github.com/madhavarshney"><img alt="madhavarshney" src="/cb0093496837d3dc43dfae5a9104d663.png"/><span class="contributor__name"> <!-- -->madhavarshney</span></a><a class="contributor" href="https://github.com/misterdev"><img alt="misterdev" src="/cb0093496837d3dc43dfae5a9104d663.png"/><span class="contributor__name"> <!-- -->misterdev</span></a><a class="contributor" href="https://github.com/EugeneHlushko"><img alt="EugeneHlushko" src="/cb0093496837d3dc43dfae5a9104d663.png"/><span class="contributor__name"> <!-- -->EugeneHlushko</span></a></div></div></div></div></section><div class="gitter"><div class="gitter__button"><i class="gitter__icon icon-gitter"></i></div></div></div><footer class="footer"><div class="container footer__inner"><section class="footer__left"><a class="footer__link" href="/guides/getting-started/">Get Started</a><a class="footer__link" href="/organization/">Organization</a><a class="footer__link" href="/starter-kits/">Starter Kits</a><a class="footer__link" href="/comparison/">Comparison</a></section><section class="footer__middle"><a class="footer__icon" href="/"><img src="/d19378a95ebe6b15d5ddea281138dcf4.svg" alt="webpack icon"/></a></section><section class="footer__right"><a href="https://webpack.threadless.com/" target="_blank" rel="noopener" class="footer__link">Swag Store</a><a class="footer__link" href="/glossary/">Glossary</a><a class="footer__link" href="/branding/">Branding</a><a href="https://gitter.im/webpack/webpack" target="_blank" rel="noopener" class="footer__link">Gitter</a><a href="https://github.com/webpack/webpack/releases" target="_blank" rel="noopener" class="footer__link">Changelog</a><a class="footer__link footer__license" href="/license"><img alt="Creative Commons License" src="/7052446b5e67df4434f4031afd2f1497.svg"/><img alt="Creative Commons License" src="/7ebb1b3901ce119694f65e04f6347ef5.svg"/></a></section></div></footer></div></div><script src="/vendor.bundle.js"></script><script src="/index.bundle.js"></script></body></html>