Commit Graph

38 Commits

Author SHA1 Message Date
Alexander Akait 99c36fab8e
refactor: remove unused types (#19894) 2025-09-10 14:38:19 +03:00
Tobias Koppers 07d863e14c implement enabledChunkLoadingTypes approach
allow chunkLoading per entry
allow custom library/chunkLoading types
2020-08-28 10:59:37 +02:00
Tobias Koppers d69fadf8e8 add output.chunkLoading option to control chunk loading plugins 2020-08-28 10:58:04 +02:00
Tobias Koppers 23d230bdf9 move chunk loading into separate plugins 2020-08-28 10:58:03 +02:00
Tobias Koppers b66599ea58 move ArrayPushCallbackChunkFormat into separate plugin 2020-08-28 10:57:58 +02:00
Tobias Koppers 709e3f1788 remove unused code 2020-08-19 15:08:34 +02:00
chenxsan fd19fa90b8 add output.charset option 2020-08-17 20:25:27 +08: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 204e104bc2
Merge pull request #11084 from smelukov/rename-json-script-type
rename jsonScriptType to scriptType
2020-06-29 14:34:21 +02:00
Tobias Koppers 8ca593e718 only use chunks with js for entry deferring code 2020-06-24 23:07:17 +02:00
Sergey Melyukov 139da61b5f rename jsonScriptType to scriptType 2020-06-24 23:05:21 +03:00
Tobias Koppers 531f7b47f6 move script loading into separate runtime module
attach to existing script tags
2020-06-04 03:01:22 +02:00
Tobias Koppers b9c50fdb09 fix jsdoc documentations 2020-04-28 19:42:58 +02:00
Tobias Koppers edecce586b handle dependOn at start of buildChunkGraph
handle jsonp chunk loading correctly for child entrypoints
add error message for incorrect dependOn
2020-02-11 09:12:13 +01:00
Tobias Koppers 6b9d510612 refactor chunk prefetching/preloading into separate plugin and runtime modules 2019-12-19 12:01:46 +01:00
Sergey Melyukov faf784b6ab refactor hop runtime helper 2019-12-03 16:27:39 +03:00
Sergey Melyukov 6b59d113a4 optimize webpack runtime size 2019-12-02 17:59:37 +03:00
Tobias Koppers 18899d2d69 fix problem with retrying import() 2019-10-29 10:25:44 +01:00
evilebottnawi 8198ffb3e6 refactor: code 2019-10-22 00:14:05 +02:00
Tobias Koppers ecbcdf527f apply chunk template modifications only to non-runtime chunks 2019-10-09 15:55:21 +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 f45ba2408e remove items from runtime when unneeded
remove some hooks from MainTemplate, move some hooks to CompatRuntimeModule
add requireScope RuntimeGlobal
2019-10-08 23:46:23 +02:00
Tobias Koppers e507392094 add output.ecmaVersion options to set emitted code style
fix a bug with prefetching initial chunks
InitFragments have get[End]Content methods which get a sourceContext
RuntimeModules have implicit chunk and compilation
changed default to `output.ecmaVersion: 2015`
2019-08-26 21:32:29 +02:00
Tobias Koppers 6db94536ad Merge tag 'v4.34.0' into next
4.34.0
2019-06-13 10:51:12 +02:00
Tobias Koppers abc825d58f Merge tag 'v4.32.0' into next
4.32.0
2019-05-20 14:46:31 +02:00
Florent Cailhol b12f24d20c Update hook types 2019-05-10 09:52:22 +02:00
Tobias Koppers f446bf8a9b add ability to load dependent chunks for non-web targets
This allows to use `splitChunks` for initial chunks in i. e. node and webworker targets
2018-12-29 12:48:59 +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 f753f92c28 ensureChunk to RuntimeModule
step 1: non HMR cases
2018-11-29 16:16:39 +01:00
Florent Cailhol 8a10ea3c92 Type 'apply' method of plugins 2018-11-12 14:26:31 +01:00
Tobias Koppers 3cf01999b5 add ChunkGraph
move chunk modules and module chunks into the ChunkGraph
remove outdated unit tests
2018-08-14 15:32:13 +02:00
Tobias Koppers cf5f1d723c format existing code 2018-07-30 21:29:21 +02:00
Tobias Koppers 5238159d21 run prettier on existing code 2018-02-25 02:00:20 +01:00
Florent Cailhol 7dd41b55c6 Replace deprecated Tapable#apply by Plugin#apply 2017-12-20 11:53:56 +01:00
Florent Cailhol 36c690d37f Use tapable instead of 'plugin' 2017-12-08 14:23:31 +01:00
Tobias Koppers 00f2b5ede7 advanced module type refactoring
added json type
.mjs default to javascript/esm type
adjusted parser plugins to react on module type
2017-11-11 19:27:19 +01:00