Commit Graph

159 Commits

Author SHA1 Message Date
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
Michael Loughry 387de2554b Delete extraneous comment 2019-01-02 20:21:02 -08:00
Michael Loughry 186510c7c2 Fix emit for prefetching chunks from runtime chunk 2019-01-02 13:00:40 -08: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 1b402bcae1 Merge tag 'v4.28.0' into next
4.28.0
2018-12-19 14:05:17 +01:00
Mihail Bodrov 6f5c5ef33c Use document.head instead of getElementsByTagName
Update snapshot
2018-12-06 03:00:23 +03:00
Tobias Koppers 5c7d6d2db6 change ensureHandlers from array to object 2018-11-29 16:23:36 +01:00
Tobias Koppers 8066eaf299 put runtime modules into separate place in chunks
don't include them in modules array/object
better stats output for runtime moduels
2018-11-29 16:23:31 +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 cf626c612a Preparations for HMR refactoring 2018-11-29 16:18:45 +01:00
Tobias Koppers f753f92c28 ensureChunk to RuntimeModule
step 1: non HMR cases
2018-11-29 16:16:39 +01:00
Tobias Koppers 2857ad3ee4 runtime module for getChunkFilename 2018-11-29 16:15:26 +01:00
Florent Cailhol 3157f5dfb4 Add hook map types 2018-11-12 14:26:33 +01:00
Florent Cailhol 8a10ea3c92 Type 'apply' method of plugins 2018-11-12 14:26:31 +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 a262b83580 remove globalPath and useChunkHash feature
It's no longer needed, because we hash the runtime how
2018-10-24 09:39:51 +02:00
Tobias Koppers 518104b3fb Merge tag 'v4.21.0' into next
4.21.0
2018-10-17 20:38:00 +02:00
Steven 2caeea0f4d
Add if statement 2018-10-01 07:52:43 -04:00
Steven 47a35a5f03 Make prettier 2018-09-29 20:18:26 -04:00
Steven a1fd3042a5 Refactor crossOriginLoading 2018-09-29 20:11:20 -04:00
Steven b939f617ac
Remove unused variable: $crossOriginLoading$ 2018-09-29 12:54:25 -04:00
Tobias Koppers 17044bf9c6 Merge tag 'v4.20.0' into next
4.20.0
2018-09-25 16:20:42 +02:00