Commit Graph

114 Commits

Author SHA1 Message Date
Tobias Koppers 1266d76956 allow to merge multiple hmr updates which calling hot.check while previous update is ready 2021-10-25 09:02:12 +02:00
Tobias Koppers 0bd1e789d4 generate "use strict" only when really needed 2021-07-22 16:09:09 +02:00
Tobias Koppers 77ed50425d add support for import chunk loading with runtime chunk 2021-07-08 17:46:41 +02:00
Tobias Koppers 629f9f031c add support for module externals and automatic externals 2021-06-24 16:44:14 +02:00
Tobias Koppers b0fa9ccada pretty files 2021-05-11 09:31:46 +02:00
Tobias Koppers a93eb10903 fix problem with strict mode for assigning libraries with separate runtime chunk 2021-03-16 19:53:13 +01:00
Tobias Koppers 393913dbd8 rename files, avoid indenting runtime code 2021-03-09 09:42:01 +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 cbcd459d19 fix conflicting real imports and type imports 2020-11-26 10:02:59 +01:00
Tobias Koppers 2ec90b3687 add asset info for `sourceFilename` and `javascriptModule` 2020-10-22 10:47:23 +02:00
Tobias Koppers 12997f0a6c fix incorrect disposing of modules during HMR 2020-09-08 10:25:41 +02:00
Ivan Kopeykin 4fc44a3398 add more types 2020-08-02 23:47:54 +03: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 115aa13577 improve compat for MainTemplate jsonp hooks
improve compat for MainTemplate runtime hooks

fixes #10826
2020-07-03 09:44:55 +02:00
Nitin Kumar 285529a643
chore: fix typos across the project 2020-03-10 07:29:46 +05:30
Tobias Koppers e18e72b294 remove Array.prototype.reduce calls to simplify code 2020-01-18 16:37:06 +01:00
Tobias Koppers 6ef9ea8f27 add two chars to numberToIdentifier 2019-12-06 11:12:07 +01:00
Tobias Koppers 0e2de3599b generate arrow functions to wrap runtime modules 2019-11-28 17:33:59 +01:00
Tobias Koppers 65bdb43180 fix badly chosen max fill rate for deterministic
sort modules by identifier in output file, that's better for gzip
2019-10-16 16:38:04 +02:00
Tobias Koppers 80bc311d72 remove "use strict" from runtime things for bundle size reasons 2019-10-09 00:20:58 +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 9e7844bbfc add "use strict" to all runtime modules 2019-10-08 23:46:35 +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 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 b80174a069 Improve backward-compat for various things
to enable mini-css-extract-plugin
2019-09-26 22:06:54 +02:00
Tobias Koppers 7bde43f47a Merge tag 'v4.40.0' into next
4.40.0
2019-09-13 11:12:26 +02:00
Yuta Hiroto 8dcda23c36
feat(assetModule): add function type to assetModuleFilename 2019-07-21 23:05:12 +01:00
Tobias Koppers cac462cba8
Merge pull request #8983 from hiroppy/feature/url
add experimental Url support
2019-07-17 23:32:15 +02:00
Tobias Koppers 4fa8addeec Handle auxiliary files separately from normal files 2019-07-17 23:13:08 +02:00
Tobias Koppers 1d72a05fed Merge tag 'v4.36.0' into next
4.36.0
2019-07-17 16:02:33 +02:00
Tobias Koppers fb45e38fa4 rename url -> asset
remove experimental in favor of experiments.asset
2019-07-17 11:57:04 +02:00
Yuta Hiroto 8788add912 fix(TemplatedPathPlugin): keep compatibility with `.[ext]`
[ext] has `.` but file-loader is specified `[hash].[ext]` as default.
2019-07-17 11:46:37 +02:00
ikopeykin 30e747a55d enforce eslint require-hyphen-before-param-description 2019-07-09 23:15:14 +03:00
Adam Postma ff8c37e887 correct spelling mistake, update identifer to identifier 2019-04-12 10:29:41 -06:00
Tobias Koppers f2a61b7c5c Avoid different comparators to sort only a single time 2019-01-24 15:14:37 +01:00
Tobias Koppers 1b402bcae1 Merge tag 'v4.28.0' into next
4.28.0
2018-12-19 14:05:17 +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 62e01d3cae add some random types 2018-09-18 09:54:35 +02:00
Tobias Koppers bad9d8a271 move Module.id into ChunkGraph
remove disconnect and unseal from Module
2018-08-28 15:08:52 +02:00
Tobias Koppers 02b15a1b46 pass chunkGraph to updateHash instead of moduleGraph
pass chunkGraph to compareModulesById instead of moduleGraph
pass chunkGraph to methods of RuntimeTemplate
use comparators from module at some places
2018-08-28 12:06:53 +02:00
Tobias Koppers 3aa2280498 move Module.hash and .renderedHash into ChunkGraph 2018-08-22 19:24:54 +02:00
Tobias Koppers 6d5310fbd6 allow multiple entryModules per chunk
allow to specify ChunkGroup to depend on
move entry modules into ChunkGraph
2018-08-15 11:51:16 +02: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 11e127d162 pass moduleGraph along with multiple methods 2018-08-02 17:54:42 +02:00
Tobias Koppers c9eb4c8e01 Merge tag 'v4.16.4' into next
4.16.4
2018-08-02 16:00:39 +02:00
Tobias Koppers cf5f1d723c format existing code 2018-07-30 21:29:21 +02:00
Florent Cailhol 3992ba3af6 Convert Template to ES6 2018-07-30 19:40:09 +02:00
Tobias Koppers e02a0c9ecd add types to Template 2018-07-25 13:56:40 +02:00
Tobias Koppers 8ae803ba13 type fixes 2018-06-25 10:09:39 +02:00