Commit Graph

390 Commits

Author SHA1 Message Date
Tobias Koppers 03961f3391
Merge pull request #13102 from webpack/feature/built-time-execution 2021-04-12 15:00:32 +02:00
Tobias Koppers ea3e0a39ac add experiments.executeModule
rename runModule -> executeModule
improve error reporting
2021-04-12 12:27:55 +02:00
Tobias Koppers 0a9041e1cc AsyncQueue only returns WebpackError 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
Tobias Koppers 33b44a05ea DefinePlugin invalidates modules when new defines are added
fixes https://github.com/vercel/next.js/issues/23901
2021-04-12 12:23:51 +02:00
Tobias Koppers 324a46d908 Revert "dispose code generation results after sealing the compilation"
This reverts commit cef2a8fea0.
2021-04-09 19:50:13 +02:00
Tobias Koppers cef2a8fea0 dispose code generation results after sealing the compilation 2021-04-08 18:33:51 +02:00
Tobias Koppers 83c8180c7d prioritize static reexport over runtime reexport for target determination
this allows to optimize cases where empty modules are reexported e. g. caused by typescript type-only exports
2021-04-06 21:36:43 +02:00
Tobias Koppers 48b7cce9ce
Merge pull request #13051 from KENNYSOFT/infrastructurelogging-colors 2021-04-06 18:13:52 +02:00
Tobias Koppers 4e117781e8 improvements
add appendOnly flag
add custom console
add custom stream
2021-04-06 15:20:27 +02:00
Tobias Koppers 8f3a16a49a improve handling of optional build dependencies 2021-04-06 11:28:41 +02:00
Hyeonmin Park 72ba68cc78 feat: add colors flag to infrastructureLogging 2021-04-04 14:28:31 +09:00
Tobias Koppers 3b8d26df1e
Merge pull request #12990 from webpack/bugfix/memory-leak-in-ic
memory usage improvements, add GC support for memory cache, persistent cache only mode
2021-04-01 18:14:16 +02:00
Tobias Koppers b9519dcf01
Merge pull request #12987 from barak007/export-missing-entities
Export AsyncDependenciesBlock and ModuleDependency
2021-04-01 17:32:48 +02:00
Tobias Koppers e42f6d71d5
Merge pull request #12963 from smelukov/add-missing-groupModulesByType
(fix): add missing scheme property stats.groupModulesByType
2021-04-01 17:31:15 +02:00
Tobias Koppers c84329f73c add GC to the memory cache and make it configurable
memory GC happens by default when persistent cache is enabled and in development mode
otherwise memory cache is kept forever

make maxAge for persistent cache configurable
GC the oldest content file even if it's not touched (to keep cache size small)

filesystem cache will now no longer cache in memory, but restore items from disk again when it was persisted
2021-04-01 17:12:53 +02:00
Tobias Koppers 8074127b98 avoid leaking memory after the compiler has been closed
clear cache on shutdown
2021-04-01 16:59:48 +02:00
Tobias Koppers 667bbf02bb export base dependencies correctly 2021-03-31 16:40:24 +02:00
Tobias Koppers f8b7625c43 expose all Stats child types 2021-03-31 13:37:53 +02:00
43081j d67a5946d2 re-run type generation using yarn
Yarn produces different types to npm, who knew.
2021-03-29 22:18:57 +01:00
43081j 64fc30f0fe expose StatsAsset type
Fixes #13014
2021-03-29 22:02:31 +01:00
Barak Igal 92e8a1252e export AsyncDependenciesBlock and ModuleDependency 2021-03-25 15:37:20 +02:00
Sergey Melyukov 515d0d6d4a (chore): fix types 2021-03-23 14:41:30 +03:00
Tobias Koppers 0307bcf691
Merge pull request #12902 from xiaoxiaojx/feat/assetModulePublicPath 2021-03-23 07:56:55 +01:00
Tobias Koppers c5fa7510f2 remove `output.assetModulePublicPath` as it would be redundant to `module.generator.asset.publicPath`
add test case for assetInfo merging
2021-03-22 15:05:50 +01:00
xiaoxiaojx 55fd79ee6a feat: support assetModulePublicPath 2021-03-20 17:53:01 +08: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 2abcede6cd
Merge pull request #12852 from chenxsan/test/test-library-type-assign 2021-03-15 20:33:14 +01:00
Tobias Koppers 53e6f98ff6
Merge pull request #12887 from webpack/issue-12885
fix: es5
2021-03-15 17:02:03 +01:00
Tobias Koppers d5992633e6 offer a hook to opt-out of strict mode 2021-03-15 16:38:50 +01:00
Tobias Koppers 5af7e54e7d
Merge pull request #12896 from webpack/feature/define-cache-version
DefinePlugin takes care of module invalidation when values have changed
2021-03-15 16:14:35 +01:00
Tobias Koppers 7f4ce2cf1a add expressionFunction helper to choose shortest variant when return value is not relevant 2021-03-15 15:40:30 +01:00
Tobias Koppers 103a51468b DefinePlugin takes care of module invalidation when values have changed
The options of the DefinePlugin no longer have to be covered by build dependencies
2021-03-15 15:19:42 +01:00
Tobias Koppers 18967078cb cleanup modules after compilation to avoid leaking references when they are cached 2021-03-15 11:23:54 +01:00
Tobias Koppers 61cc65c58e improve parsing to handle non-literal options 2021-03-12 12:09:02 +01:00
Tobias Koppers ab74839859
Merge pull request #12871 from webpack/feature/generate-asset
add `emit` option for asset modules
2021-03-11 21:00:05 +01:00
Tobias Koppers 7572217e97 add `emit` option for asset modules
fixes #12474
2021-03-11 18:45:34 +01:00
Tobias Koppers 72455273db allow to define "ignored modules" per dependency
new URL() will use `"data:"` when ignore
2021-03-11 18:37:20 +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 404a854c8b improve hmr error handling abilities
pass module and moduleId with self error handler
add error handlers for dependency accept handlers
pass moduleId and dependencyId with dependency accept error handler
add output.strictModuleErrorHandling to opt-in into strict module error handling
HotModuleReplacementPlugin enalbed output.strictModuleErrorHandling automatically

fixes #12826
2021-03-09 20:23:00 +01:00
Tobias Koppers c7f93af138 refactor startup logic to better integrate with libraries
get rid of startupNoDefault and many custom logic regarding this in jsonp chunk loading
add onChunksLoaded runtime method to cover that for all chunk loading types
add `__webpack_runtime_id__` to access the current runtime
allow to use onChunksLoaded for other module types too
2021-03-08 20:25:09 +01:00
Tobias Koppers 1ebc7ca974 fix some incorrect properties accesses
fix some edge cases with MultiCompiler

fixes #12770
2021-02-24 20:12:32 +01:00
Tobias Koppers 365a362522 performance optimization
add statistics to ModuleConcatenationPlugin
2021-02-23 10:59:59 +01:00
Tobias Koppers 87a70e03b8 unset targets when a harmony star reexport is hidden by another one 2021-02-22 21:56:00 +01:00
Tobias Koppers 305db4cfaf
Merge pull request #12746 from webpack/bugfix/logging-debug
debug logging should be included in stats even if stats.logging is false
2021-02-22 13:55:23 +01:00
Tobias Koppers 23502045ce
Merge pull request #12744 from webpack/bugfix/side-effects-reexports-concatenation
fix bug where ExportInfo uses inactive connections to find the target of an export
2021-02-22 13:38:53 +01:00
Tobias Koppers 0b4506b206 improve typings for loggingDebug and other filtering configuration options 2021-02-22 13:18:27 +01:00
Tobias Koppers 1c0b88c72f fix bug where ExportInfo uses inactive connections to find the target of an export
This happens when multiple exports * export the same name but the first one is discovered later in the process
In this case the ExportInfo contains both connections, but the second one is inactive.
2021-02-22 12:47:34 +01:00