Commit Graph

47 Commits

Author SHA1 Message Date
alexander.akait 40151be78e refactor: improve code 2024-08-02 19:32:29 +03:00
alexander.akait ac0bd21801 style: improve style of code 2024-08-02 19:32:14 +03:00
Nitin Kumar 412ae5425e chore: udpate prettier to v3 2024-01-14 07:11:34 +05:30
alexander.akait fb7c0c637a refactor: strict types for assets and json and other 2023-05-25 01:09:00 +03:00
Sean Larkin e958ac552b refactor(types): Improve module type strictness and refactor module type string usages in module subclasses 2023-05-04 23:19:11 +00:00
Karlis Gangis 2fc4c8da1b Add 'outputPath' configuration option for resource asset modules 2022-01-18 13:45:42 +02:00
Tobias Koppers b6609a4f6b add `experiments.buildHttp`
allows to build remote resources
stores remote resources in a lockfile
2021-08-05 15:47:18 +02:00
Tobias Koppers cdc9efefbe avoid copying source types and sizes cache from unsafe cache to cached module
fixes #13827

avoid pre-computing source types and sizes on cleanup for not-built modules (e. g. from unsafe cache)
improve eror message when asset rendering fails
2021-07-22 09:52:56 +02:00
Tobias Koppers 973edfbd1b support data urls as input in `new URL` 2021-05-19 11:30:09 +02:00
Tobias Koppers e21b1d46fe precompile schemas for improved startup performance 2021-04-16 16:02:58 +02:00
Tobias Koppers f46e816a38 add HMR test case and fix problems with it 2021-04-14 16:03:59 +02:00
Tobias Koppers ea3e0a39ac add experiments.executeModule
rename runModule -> executeModule
improve error reporting
2021-04-12 12:27:55 +02:00
Tobias Koppers 1d35cf13e3 fix cache dependencies, assets and persistent caching 2021-04-12 12:27:54 +02:00
Tobias Koppers 065177df66 add experimental support for build time execution
allow to execute a part of the module graph at build time
e. g. to generate code or other assets

loaders have access to that via `this.importModule(request, options)`
2021-04-12 12:27:54 +02:00
xiaoxiaojx 55fd79ee6a feat: support assetModulePublicPath 2021-03-20 17:53:01 +08:00
Tobias Koppers 7572217e97 add `emit` option for asset modules
fixes #12474
2021-03-11 18:45:34 +01:00
Tobias Koppers 85a6eee0bb move parser.filename back to generator.filename 2021-03-11 17:19:11 +01:00
Tobias Koppers f93aacd55f move filename processing from asset generator to parser
remove memory leak from asset generator
2021-03-11 10:40:03 +01:00
Tobias Koppers d9ef8551c0 fix caching of asset modules 2021-02-04 14:13:44 +01:00
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