Commit Graph

656 Commits

Author SHA1 Message Date
Tobias Koppers 80b1e77705 fix duplication due to unsafe cache 2021-10-12 22:46:50 +02:00
Tobias Koppers 1ee6f808d3 Revert "track chunk combinations for modules"
This reverts commit 0e13c7dea4.
2021-10-08 15:08:48 +02:00
Tobias Koppers 049b859879 compute depth faster 2021-10-07 16:13:42 +02:00
Tobias Koppers 0e13c7dea4 track chunk combinations for modules
improves caching
improves SplitChunksPlugin
2021-10-07 15:43:27 +02:00
Tobias Koppers 1e5abcc51b improve extractBlockModules 2021-10-06 15:39:21 +02:00
Tobias Koppers 2934fd0e3c add timing to second affected module computation 2021-10-06 10:24:12 +02:00
Tobias Koppers 07ad896f7a bugfix cacheUnaffected 2021-10-05 20:15:04 +02:00
Tobias Koppers f05246efcb use buildInfo instead of hash for cacheUnaffected 2021-10-05 15:09:39 +02:00
Tobias Koppers 91b6972144 add memCache2 for mem caching with module/chunk ids 2021-10-05 15:08:18 +02:00
Tobias Koppers 61569e26b9 compare references modules when restoring mem cache 2021-09-29 09:09:42 +02:00
Tobias Koppers 6c6e48c382 avoid RuntimeSpecMap in favor of directly setting on memCache 2021-09-29 00:06:44 +02:00
Tobias Koppers a82ab66fc1 fix accidentically shared mem caches 2021-09-28 23:52:25 +02:00
Tobias Koppers 931d14615f move unsafe cache from NormalModuleFactory to Compilation to skip more processing 2021-09-28 11:37:29 +02:00
Tobias Koppers c33a64bb23 enable to use mem cache for dependency caching 2021-09-27 20:41:24 +02:00
Tobias Koppers 16fc4bb7af allow dependencies to select level of propagation 2021-09-27 20:38:08 +02:00
Tobias Koppers 2393892434 assign each module it's own mem cache
instead of receiving a per module node per access
2021-09-27 20:37:30 +02:00
Tobias Koppers 3b48429eb5 add MemCache for memory caching per module which is invalidated when module or any referenced modules changes
add `experiments.cacheUnaffected`
add `cache.cacheUnaffected` (type: memory) resp `cache.memoryCacheUnaffected` (type: filesystem)
2021-09-24 15:23:29 +02:00
Tobias Koppers 4a8bf4c084 allow to configure all hash functions used
fix default hash function for HttpUriPlugin to sha512
2021-09-23 14:55:13 +02:00
Tobias Koppers b16568a253 upgrade filename runtime module to full hash module when referencing a full hash chunk 2021-09-02 10:29:59 +02:00
hdineen c3e4e17322 Pass module to `Compilation.addModuleChain` callback when applicable
Although the callbacks for the `addModuleChain` and `addModuleTree` methods
are of type `ModuleCallback`, the `result` parameter is always `undefined`.
2021-08-16 15:40:35 -04:00
Tobias Koppers c6856e2204 optional modules will not fail the build when bail is set
fixes #11594
2021-08-06 12:09:55 +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 0ae059fb3f limit the number of parallel generated chunks 2021-08-05 10:57:53 +02:00
Tobias Koppers 8dd38f5c8a refactor 2021-07-16 13:05:18 +02:00
Mark Molinaro 41f02f947a perf: let Compiler worry about and manage file and context timestamps 2021-07-13 22:13:40 +00:00
Tobias Koppers 273bd8f575 move defineRemovedModuleTemplates into separate function as it leaks memory in the feedback vectors 2021-06-17 10:11:24 +02:00
Tobias Koppers f5fac83c08 clear compilation queues to reduce memory usage 2021-06-17 10:10:51 +02:00
Tobias Koppers b0fa9ccada pretty files 2021-05-11 09:31:46 +02:00
Tobias Koppers 87c0d1cd94 Merge branch 'master' into johnnyreilly/master 2021-05-07 18:07:23 +02:00
Tobias Koppers a060126e49 improve module dependency processing performance 2021-04-28 10:27:51 +02:00
Tobias Koppers 89d6dcb0e2 used cached value 2021-04-28 09:10:44 +02:00
Tobias Koppers 7cc40782b7 fix some internal types 2021-04-22 21:48:25 +02:00
Tobias Koppers 2df8267220 handle falsy entry options correctly 2021-04-14 20:21:17 +02:00
Tobias Koppers 52178a5aee
Merge pull request #13134 from webpack/bugfix/hmr-in-execute-module
importModule & HMR
2021-04-14 16:55:37 +02:00
Tobias Koppers f46e816a38 add HMR test case and fix problems with it 2021-04-14 16:03:59 +02:00
Tobias Koppers 24c5902374 add interceptModuleExecution, module cache and improve error messages 2021-04-14 14:37:00 +02:00
Tobias Koppers d808d04d26 attach the chunk graph to RuntimeModules 2021-04-14 12:26:35 +02:00
Tobias Koppers bbcc5a8ebe add caching on ModuleGraph
cache star reexport assignment
2021-04-14 09:11:23 +02:00
Tobias Koppers 03961f3391
Merge pull request #13102 from webpack/feature/built-time-execution 2021-04-12 15:00:32 +02:00
Tobias Koppers 33c862e07b emit assets from modules during executing modules 2021-04-12 12:42:25 +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
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 3caf3e95a8 avoid leaking processed assets 2021-04-07 20:48:07 +02: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 85a6eee0bb move parser.filename back to generator.filename 2021-03-11 17:19:11 +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