Tobias Koppers
d3cc2de2f9
add experiments.asyncEntries
...
add async entries plugin
async entries in global parser options
allow chunkFormat, chunkFilename and initialChunkFilename for entries
2021-04-14 14:45:50 +02:00
Tobias Koppers
404a854c8b
improve hmr error handling abilities
...
pass module and moduleId with self error handler
add error handlers for dependency accept handlers
pass moduleId and dependencyId with dependency accept error handler
add output.strictModuleErrorHandling to opt-in into strict module error handling
HotModuleReplacementPlugin enalbed output.strictModuleErrorHandling automatically
fixes #12826
2021-03-09 20:23:00 +01:00
Tobias Koppers
f25345cae9
refactor code generation and HMR plugin to generate real module hashes for HMR
2021-01-26 14:45:11 +01:00
Tobias Koppers
c9fbdb9e48
avoid a breaking change and use a warning instead
2020-11-28 15:48:01 +01:00
Tobias Koppers
d46f945572
fix problem when HMR and different runtimes
...
allow HMR to work in WebWorkers too
2020-11-28 13:53:32 +01:00
Tobias Koppers
fac6c5241f
add missing chunk groups to HotUpdateChunks
2020-09-25 10:53:14 +02:00
Tobias Koppers
b58393fce0
fix optimization bailout for HMR dependencies
2020-09-15 12:35:58 +02:00
Tobias Koppers
12997f0a6c
fix incorrect disposing of modules during HMR
2020-09-08 10:25:41 +02:00
Tobias Koppers
6b4ce6e011
improve HMR plugin with multiple runtimes
2020-07-28 14:06:04 +02:00
Tobias Koppers
e16bdfda6c
refactor used exports analysis, hashing, code generation, optimizations
...
to keep track of runtimes, used exports depending on runtime
modules can have different hashes and generated code depending on runtime
chunks are only considered as equal for MergeDuplicateChunks and SplitChunks when exports used in contained modules are equal
added `optimization.usedExports: "global"` to opt-out from used exports analysis per runtime
added `splitChunks.usedExports` and `splitChunks.cacheGroups[x].usedExports` to enable/disable used exports comparing for modules
`splitChunks.usedExports` defaults to `true` in production
2020-07-27 22:40:44 +02:00
Tobias Koppers
36cf3039aa
use content hashes for assets
2020-07-20 08:45:27 +02:00
Tobias Koppers
555db6a547
remove Compilation.modifyHash
...
refactor HMR Plugin to better support module hashes
fixes bug that causes empty HMR manifest
remove HotModuleReplacementPlugin multiStep
2020-07-09 09:02:38 +02:00
Ivan Kopeykin
4cd526f970
hmr support update
...
- import.meta.hot to import.meta.webpackHot
- create separate tests for import.meta.webpackHot
- remove HMRApiDependency in favor of ConstDependency
2020-06-24 17:22:28 +03:00
Ivan Kopeykin
1beb4e5707
support import.meta
2020-06-23 01:03:52 +03:00
Ivan Kopeykin
104845a419
support import.meta.hot
2020-06-22 18:49:57 +03:00
Tobias Koppers
d6f6025a5a
make sure that the callback function in module.hot.accept is parsed
...
fixes #11057
2020-06-18 15:09:08 +02:00
Tobias Koppers
49752a06a8
cleanup asset processing
...
deprecate writing to compilation.assets after sealing.
merge all asset processing into single hook with stages.
Deprecate additionalChunkAssets and optimizeChunkAssets.
Redirect additionalAssets, optimizeAssets to processAssets for backward-compat.
Remove finishAssets hook without deprecation as it was not in v4.
2020-05-22 10:39:21 +02:00
Tobias Koppers
50ec72a6ca
use the full hash on modules that need the full hash of the compilation
...
use getFullHash runtime module for updating the hash in HMR
2020-04-30 17:57:01 +02:00
Tobias Koppers
b9c50fdb09
fix jsdoc documentations
2020-04-28 19:42:58 +02:00
evilebottnawi
3a118ff1cf
chore: setup cspell
2020-03-13 12:13:55 +03:00
Tobias Koppers
6477ca56f8
Split options defaulting in normalization and defaults
...
Apply defaults after plugins are applied to allow plugins to feature their own defaults.
This allows to make preset plugins.
2020-02-17 19:12:54 +01:00
Tobias Koppers
b079429ec8
use correct string or number form of chunk id in HMR
2020-01-15 11:19:25 +01:00
Erik van der Bas - PC
70e9be9158
Assign fallback ChunkGraph to HotUpdateChunks
2019-12-16 13:21:39 +01:00
Tobias Koppers
497b65e122
run prettier
2019-11-15 10:56:01 +01:00
Tobias Koppers
acff6ec992
move BasicEvaluatedExpression and JavascriptParserHelpers to javascript directory
2019-10-22 09:27:52 +02:00
evilebottnawi
8198ffb3e6
refactor: code
2019-10-22 00:14:05 +02:00
Tobias Koppers
ddc3dae0e6
refactor Module.source() and Module.getRuntimeRequirements() into Module.codeGeneration
...
add code generation phase to Compilation
add `output.iife` options to remove iife wrapper
add `experiments.outputModule` which enabled `output.module`
add `output.module` which sets defaults to `output.iife: false`, `output.libraryTarget: "module"`, `output.jsonpScriptType: "module"`, `terserOptions.module: true`
add `output.module` example
improve runtime requirements needed by ConcatenatedModule
add entry inlining, which inlines entry module code into runtime scope (only when safe)
make whole bundle strict when all modules are strict
2019-10-08 23:59:48 +02:00
Tobias Koppers
53f68c9e7b
update deprecated usage of chunk and main templates
2019-10-08 23:46:33 +02:00
Tobias Koppers
69a545c444
Deprecate MainTemplate, ChunkTemplate, ModuleTemplate
...
move logic and hooks to JavascriptModulesPlugin
2019-10-08 23:46:26 +02:00
Tobias Koppers
e116d18544
Merge tag 'v4.40.3' into next
...
4.40.3
2019-09-25 23:51:38 +02:00
Tobias Koppers
1c4138d6ac
HMR plugin should only affect the root compilation
2019-09-23 11:42:48 +02:00
Tobias Koppers
7bde43f47a
Merge tag 'v4.40.0' into next
...
4.40.0
2019-09-13 11:12:26 +02:00
Tobias Koppers
758269e814
add emit/updateAsset to Compilation
...
add asset info with
* immutable for long term cache-able asset
* size for the asset size in bytes
* development for devtools
* hotModuleReplacement for HMR assets
show asset info in stats
2019-09-11 14:43:42 +02:00
Tobias Koppers
ab169893a1
refactor Parser to allow variable tagging
...
use variable tagging in harmony pluging (instead of magic renaming)
Parser no longer calls hooks.expression for x in `x = ...`, hooks.pattern is called instead
remove rootName argument from hooks.expressionMemberChain and hooks.callMemberChain
2019-09-03 14:17:46 +02:00
Tobias Koppers
3cbdb703fc
NullFactory is not required
2019-08-07 16:14:03 +02:00
Tobias Koppers
0505e177f1
add more types and fix/remove TODOs
...
change Chunk.files to Set
remove checkContext from IgnorePlugin
remove external flag from ExternalModule
2019-06-14 10:45:56 +02:00
Florent Cailhol
b12f24d20c
Update hook types
2019-05-10 09:52:22 +02:00
Tobias Koppers
c006675dd9
remove main template hooks for HMRPlugin
2018-11-29 17:14:40 +01:00
Tobias Koppers
9d91861592
Refactor HMR for runtime modules
...
fixed a few HMR bugs
allow other module types for HMR
made HMR more flexible
2018-11-29 16:22:29 +01:00
Tobias Koppers
fa0ec849bd
replace renderCurrentHash with RuntimeGlobals.getFullHash
2018-11-29 16:19:22 +01:00
Tobias Koppers
f770143164
Provide module when using module.hot
2018-11-29 16:07:21 +01:00
Tobias Koppers
0232674f9c
Initial runtime module work
2018-11-29 16:03:32 +01:00
Florent Cailhol
3157f5dfb4
Add hook map types
2018-11-12 14:26:33 +01:00
Florent Cailhol
3766869c48
Move normalModuleLoader hook
2018-11-12 14:26:32 +01:00
Tobias Koppers
eb28697419
move magic property names on __webpack_require__ into RuntimeGlobals file
2018-11-05 15:28:34 +01:00
Tobias Koppers
4f813e28a9
remove customizability of __webpack_require__ function name
2018-11-05 13:13:05 +01:00
Tobias Koppers
31e189fcde
Merge tag 'v4.24.0' into next
...
4.24.0
2018-11-02 18:02:39 +01:00
hztianxiang
d66cce2601
add test case by this change
2018-10-30 15:49:48 +08:00
hztianxiang
c5fff759ee
fix lint
2018-10-29 20:39:59 +08:00
hztianxiang
a5e1f30c6b
@ fix 8297 issues
2018-10-29 20:25:06 +08:00