Commit Graph

182 Commits

Author SHA1 Message Date
Tobias Koppers aa67a435a4 refactor wasm loading from target into output.wasmLoading option
allow entry specific wasm loading
2020-09-09 11:20:37 +02:00
Tobias Koppers ed06a7f83a new Worker() support
add support for async anonymous entrypoints from inside the codebase
add worker example
move entry options into Entrypoint and receive them from there
2020-09-08 07:37:20 +02:00
Tobias Koppers 7381cc0536 move baseUri into chunk loading runtime modules 2020-08-29 01:59:39 +02:00
Tobias Koppers 6928a65911 conflict-free handling of global in import-script
use destructuring when available
2020-08-28 11:27:33 +02:00
Tobias Koppers 14a0aff16c optimize generated code 2020-08-28 10:59:38 +02: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 b475d5fd0c swap argument for consistency 2020-08-28 10:58:01 +02:00
Tobias Koppers 805d26b0ae unify config options for jsonpFunction and chunkLoadFunction to chunkLoadingGlobal
rename hotUpdateFunction to hotUpdateGlobal
2020-08-28 10:58:00 +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
l5oo00 095d579c3d fix: add the id of runtime chunk to entryInfo #11279 2020-08-06 14:49:21 +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 2d95f1b8d7 refactor HMR javascript part to reduce duplication
add invalidate to HMR API
2020-04-15 11:12:33 +02:00
Tobias Koppers f1dd328779 refactor library system 2020-02-26 17:35:52 +01: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 b7ad2b368c remove renderWithEntry hook and add render hook 2019-10-09 11:55:56 +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 ccc53dba5e update deprecated usage in library-related plugins 2019-10-08 23:46:31 +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 b73d35bbee Merge tag 'v4.39.0' into next
4.39.0
2019-08-05 13:12:09 +02:00
Lyrkan 6b6342e94b Fix JSONP main template to allow currently forbidden chunk IDs (#9491) 2019-07-31 00:22:21 +02:00
Tobias Koppers 955d5689a9 remove experimental from module type name
since there is the `experiments` config now
2019-07-15 15:03:29 +02:00
Tobias Koppers 6db94536ad Merge tag 'v4.34.0' into next
4.34.0
2019-06-13 10:51:12 +02:00
Felix Becker 7fb14ec2c2 Add name property to error thrown on chunk load failure
This allows to catch failed chunk loads
2019-06-12 10:30:26 +02:00
Tobias Koppers fd4b3c503a pretty files 2019-06-09 11:23:42 +02:00
Tobias Koppers de61023616 add side-by-side wasm support based on async modules
type: "webassembly/async-experimental"
remove i64 importing limitation since it will have BigInt integration eventually
update wasm example
2019-06-04 23:28:56 +02:00
Tobias Koppers b5e4c1f52c
Merge pull request #9169 from webpack/feature/no-js-chunks
don't emit and load JS files for chunks without JS modules
2019-05-22 14:13:51 +02:00
Tobias Koppers c5f94f3b6a don't emit and load JS files for chunks without JS modules
allow custom module types in rules
allow configCases to access stats
2019-05-22 13:12:15 +02:00
Tobias Koppers 2be9ca9431 rename incorrectly named file 2019-05-22 13:11:48 +02:00
Tobias Koppers abc825d58f Merge tag 'v4.32.0' into next
4.32.0
2019-05-20 14:46:31 +02:00
Rafal Chlodnicki b322070344 fix: provide useful stacktrace on chunk loading failure
Error created from load/error event handler has no useful stack trace
whatsoever as it's an async event and stack has unwound already at that
point.

To have better (sync) stacktrace of what triggered loading of the
chunk, create error before stack has unwound and use it and its
stacktrace later, in case of an error.

This potentially has some processing overhead as browser needs to
create a stacktrace. It's probably not that big though but I haven't
done any real testing.
2019-05-19 22:11:24 +02:00
Tobias Koppers b6090b6943 delay prefetching until all initial code is evaluated
add test case
fix bug in Chunk.getChildIdsByOrdersMap
2019-05-10 23:10:32 +02:00
Florent Cailhol b12f24d20c Update hook types 2019-05-10 09:52:22 +02:00
Michael Loughry 00af3752e2 Use JSON.stringify 2019-01-03 09:48:02 -08:00