Commit Graph

28 Commits

Author SHA1 Message Date
Tobias Koppers aac7f2e619 allow to configure parsers and generators globally
get plugin schemas from root schema
normalize module.parser/generator
add test case
2021-01-05 12:08:30 +01:00
highonweb bc1911bf78 Changed name of memorize function to memoize 2020-12-27 03:02:57 +05:30
evilebottnawi 8c19efb7fd chore(deps): update `schema-utils` 2020-10-05 21:58: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 b9c50fdb09 fix jsdoc documentations 2020-04-28 19:42:58 +02:00
Tobias Koppers f5c3e1b55a cleanup 2020-01-29 14:48:46 +01:00
Sergey Melyukov b9c50fa0e4 fix pr comments 2020-01-23 13:27:12 +03:00
Sergey Melyukov c7dd45b16f generator.assetFilename -> generator.filename 2020-01-22 16:19:45 +03:00
Sergey Melyukov 68126cf1fc override filename for asset modules 2020-01-22 16:08:29 +03:00
Ivan Kopeykin 1b3c667fd7 run lint fix 2019-12-03 20:48:31 +03:00
Ivan Kopeykin faea05d195 fix: use memorize util instead of lazyRequire 2019-12-03 20:31:39 +03:00
Ivan Kopeykin 4598ea539b feat(util/lazyRequire): tool for loading CommonJS modules lazily 2019-12-02 18:37:55 +03:00
Tobias Koppers f62b1e1f63 Lazy-require parser, generators and schemas 2019-11-26 15:44:12 +01:00
Tobias Koppers 459fa25015 add source asset type 2019-11-26 15:44:06 +01:00
Tobias Koppers 317da38171 move data url condition to parser
avoid calling dataUrl function repeated
remove cache to avoid memory leak
include data url decision in module hash
refactor code for readablility
2019-11-26 15:43:58 +01:00
Tobias Koppers a04f7bcafd move options to AssetModulesPlugin 2019-11-26 15:43:50 +01:00
Sergey Melyukov bdc61abf82 refactor: merge generators in asset modules 2019-11-26 15:42:37 +01:00
Sergey Melyukov 2d5844c56e refactor: fix review comments 2019-11-26 15:42:16 +01:00
Sergey Melyukov 491cb57cb4 initial improvement for asset modules 2019-11-26 15:41:48 +01:00
Tobias Koppers fe67677f55 offer cached methods to get chunk modules by source type 2019-11-20 11:20:34 +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 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 4fa8addeec Handle auxiliary files separately from normal files 2019-07-17 23:13:08 +02:00
Tobias Koppers 9915088cbc improvements 2019-07-17 11:57:08 +02:00
Tobias Koppers fb45e38fa4 rename url -> asset
remove experimental in favor of experiments.asset
2019-07-17 11:57:04 +02:00