Commit Graph

248 Commits

Author SHA1 Message Date
Tobias Koppers 645263f023 make compiler/compilation.cache read-only, to make it easier to find incompatible plugins
fixes #10341
2020-02-05 08:39:12 +01:00
Tobias Koppers 1070ce925b remove Array.prototype.reduce calls to simplify code 2020-01-17 18:31:29 +01:00
Tobias Koppers d57820c53e make RequestShortener simpler, only use relative path 2020-01-15 18:48:37 +01:00
Tobias Koppers 2f1a0176b3 rename filesModified -> modifiedFiles
avoid creating additional arrays by allowing Iterable on WatchFileSystem interface
2019-11-15 13:49:15 +01:00
Max Woo 77f01de81a reset filesModified during compiler construction and watch(), to match removedFiles 2019-11-15 13:49:13 +01:00
Tobias Koppers b401713633 fix problem with snapshotting managed items
add support for child loggers
add logging for snapshot errors
improve FileSystemInfo logging
improve managed item reading performance
upgrade enhanced-resolve for readdir purge fix
2019-11-05 23:12:02 +01:00
Tobias Koppers 07671f3481 allow to disable compareBeforeEmit 2019-11-04 16:46:45 +01:00
Tobias Koppers e8f2a8329d avoid emitting files when they already exits in output filesystem 2019-11-04 09:23:18 +01: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
Tobias Koppers 758269e814 add emit/updateAsset to Compilation
add asset info with
* immutable for long term cache-able asset
* size for the asset size in bytes
* development for devtools
* hotModuleReplacement for HMR assets

show asset info in stats
2019-09-11 14:43:42 +02:00
Tobias Koppers ba1a3e6f26 change assetEmitted hook to include more info 2019-09-05 14:10:16 +02:00
Tobias Koppers a2caa36b8e add immutablePaths next to managedPaths for paths in the yarn cache
for PnP support
2019-08-20 14:50:07 +02:00
Tobias Koppers e5cecdad23 store build dependencies snapshot in pack
add snapshot shortcut for package manager managed paths
add cache.managedPaths
2019-08-13 17:02:37 +02:00
Tobias Koppers b73d35bbee Merge tag 'v4.39.0' into next
4.39.0
2019-08-05 13:12:09 +02:00
Tobias Koppers 40755384bf
Merge pull request #9506 from webpack/logging/status
Improve infrastructure logging
2019-08-01 16:45:48 +02:00
Tobias Koppers 0c8d75c151 fix name for log hook 2019-08-01 13:51:20 +02:00
Tobias Koppers 94bcce0b24 fix code and snapshots 2019-08-01 12:21:01 +02:00
jamesgeorge007 164f48f1fd fix: code lint 2019-08-01 12:20:59 +02:00
James George a302cfa8d0 Minor fix 2019-08-01 12:20:57 +02:00
James George de3e609a58 refactor 2019-08-01 12:20:56 +02:00
jamesgeorge007 f9377906ea ease of access for contents of emitted assets 2019-08-01 12:20:55 +02:00
Tobias Koppers db58219346 add logging to Compiler 2019-07-26 14:04:35 +02:00
Tobias Koppers 4afc097a07 add logging to Compiler 2019-07-26 14:03:55 +02:00
Tobias Koppers c17dfde7a8 Merge tag 'v4.37.0' into next
4.37.0
2019-07-24 10:51:04 +02:00
Tobias Koppers 677ccd90ea small fixes 2019-07-23 09:28:06 +02:00
Tobias Koppers d532c4f24f allow to configure the infrastructure logger
rename includeDebugLogging to loggingDebug
rename logToConsole to createConsoleLogger
2019-07-22 09:22:36 +02:00
Tobias Koppers d80989bfbf allow to configure runtime logging 2019-07-21 22:28:46 +02:00
Tobias Koppers 09103af6c4 add runtime logging 2019-07-19 12:31:18 +02:00
Tobias Koppers d849160d3f add logging API
Plugins:
Compiler.getInfrastructureLogger(name)
Compilation.getLogger(name)

Loader:
this.getLogger([name])

API equal to console API with these methods:
error, warn, info, log, debug,
time, timeLog, timeEnd,
group, groupCollapsed, groupEnd,
profile, profileEnd,
clear
2019-07-18 17:13:40 +02:00
Tobias Koppers 35791372c9
Merge branch 'next' into feat_afterDone_hook 2019-07-09 21:14:40 +02:00
Tobias Koppers e9c0d068dd refactor filesystem interfaces
add Compiler.intermediateFileSystem
avoid using `path` and `fs` module when possible
move `join`, `mkdirp` and `dirname` into utils
join and dirname is optional in FileSystem interface
remove mkdirp from Filesystem interface
2019-06-11 17:32:58 +02:00
Florent Cailhol b12f24d20c Update hook types 2019-05-10 09:52:22 +02:00
Matt Jones ea172ec5fd Convert finishModules hook to be an AsyncSeries 2019-04-02 09:25:36 +11:00
Tobias Koppers 1da2c422d6 remove fast-json-stable-stringify 2019-01-27 11:47:31 +01:00
wtgtybhertgeghgtwtg d01ae5ac69 Replace `json-stable-stringify` with `fast-json-stable-stringify`. 2019-01-25 19:33:49 -07:00
Tobias Koppers 8ce18cdeae Merge tag 'v4.29.0' into next
4.29.0
2019-01-20 18:49:21 +01:00
Tobias Koppers 8300425e1c new version of emitting assets
It allows to free memory of Sources with the trade-off of disallowing reading asset content after emitting
2019-01-18 21:56:53 +01:00
Tobias Koppers 0bc0f05fc7 use updated webpack-sources, use new buffer method 2019-01-18 20:46:31 +01:00
Tobias Koppers 6e383cfbab make test for Source.buffer more strict 2019-01-17 15:06:22 +01:00
Tobias Koppers aaf85dbd1c add output.futureEmitAssets
add a new version of emitting assets which allows to free memory of Sources with the trade-off of disallowing reading asset content after emitting

It also uses Source.buffer when available.
2019-01-17 13:33:27 +01:00
mc-zone 4f3e0d27b5 Merge branch 'next' into feat_afterDone_hook 2019-01-13 11:24:32 +08:00
mc-zone 180a7c0d1a Merge branch 'next' into feat_afterDone_hook 2019-01-13 11:16:10 +08:00
Tobias Koppers 0f7355e170 Merge tag 'v4.28.4' into next
4.28.4
2019-01-10 16:51:17 +01:00
Connor Davis 80514cc282
Add ts declarations 2019-01-09 13:53:04 -06:00
Connor Davis 78abf04fc3
Use eachLimit instead even though forEachLimit apears to be an alias... 2019-01-09 13:42:06 -06:00
Connor Davis 9cb42256c6
forEach to forEachLimit 2019-01-09 13:25:44 -06:00
Tobias Koppers ae4a5e67db insert process.nextTick to get cleaner stacks 2019-01-08 15:14:35 +01:00
Tobias Koppers 90baf475af Smaller performance improvements in NormalModuleFactory 2019-01-08 15:14:33 +01:00
Tobias Koppers ef9e25d8ea report dependencies from resolver to the compilation
refactor NormalModuleFactory
2019-01-08 15:14:25 +01:00
Tobias Koppers b5db48291b add caching to FlagDependencyExportsPlugin 2018-12-31 12:29:01 +01:00
mc-zone ee2d69b901 refactor: remove useless return statement 2018-12-25 18:43:34 +08:00
mc-zone 97fdbbb6a9 feat: add compiler.afterDone hook triggered after other callbacks 2018-12-25 15:08:12 +08:00
Florent Cailhol e06b4853d6 Add compiler typings 2018-12-12 10:26:53 +01:00
Shah Kashani 217b2ad7e2 Fix for #8398 - call failed-hook on compilation errors 2018-11-21 11:16:25 -05:00
Florent Cailhol 9ffb4e45dc Replace Source#emitted by a WeakSet 2018-11-08 23:26:31 +01:00
Tobias Koppers d9a0d3a139 Merge tag 'v4.23.0' into next
4.23.0
2018-10-24 20:10:30 +02:00
Tobias Koppers af4cb35784
Merge pull request #8175 from cacheflow/add-tracking-of-removed-files
feat(Compiler): Add file removal tracking in watch-run
2018-10-24 10:44:40 +02:00
renatoagds 7e0ca7193d move watchMode trigger for watch in compiler and close in watching 2018-10-23 14:52:32 -03:00
renatoagds 2f7533202c adding watchMode flag in compiler 2018-10-22 19:23:47 -03:00
Lex Alexander 2cdf04e14b feat(Compiler): Add file removal tracking in watch-run
-Closes 5072.
2018-10-18 15:58:58 -07:00
Tobias Koppers ae72fe3724 fixes timestamp transfer from watcher 2018-09-27 21:28:07 +02:00
Tobias Koppers 7340fbb547 refactor Cache
add a new hookable Cache class
removed CachePlugin
add MemoryCachePlugin
refactor timestamps
create FileSystemInfo class
2018-09-27 13:20:19 +02:00
Tobias Koppers f31a8c231b add compilerPath (will be later used to access the cache) 2018-09-27 11:21:17 +02:00
Tobias Koppers 17044bf9c6 Merge tag 'v4.20.0' into next
4.20.0
2018-09-25 16:20:42 +02:00
Tobias Koppers d48975c948 use types from schema 2018-09-21 11:04:19 +02:00
Tobias Koppers 9da6003362 Make usedIds in records an array
Make emitted JSON for records stable
2018-09-06 16:05:29 +02:00
Tobias Koppers 3aa2280498 move Module.hash and .renderedHash into ChunkGraph 2018-08-22 19:24:54 +02:00
Tobias Koppers 2e82dbb63c
Merge pull request #7813 from webpack/refactor/freeze_hooks
Freeze hooks to prevent deopts
2018-07-30 22:47:13 +02:00
Tobias Koppers cf5f1d723c format existing code 2018-07-30 21:29:21 +02:00
Florent Cailhol fc4f30329d Freeze hooks to prevent deopts 2018-07-30 14:25:40 +02:00
Tobias Koppers 0a06f19fd8 Merge tag 'v4.15.0' into next
4.15.0
2018-07-04 22:19:50 +02:00
Florent Cailhol 069534bb23 Remove unused import 2018-06-26 10:24:22 +02:00
Florent Cailhol c68d0d2171 Remove Tapable compatibility 2018-06-26 08:31:08 +02:00
Tobias Koppers c6c3eba1c0 remove type duplication 2018-06-25 16:36:59 +02:00
Tobias Koppers 763ce22aa7 spacing of hook list 2018-06-25 10:51:33 +02:00
Sean Larkin f64f75e55f revert function style, fix a few types, etc 2018-06-23 10:24:36 -04:00
Sean Larkin 1bae93852a
Merge branch 'master' into feature/type-compiler-compilation-save 2018-05-30 19:35:36 -07:00
Florent Cailhol 2a9452e51b Add brackets for multiline if/for statements 2018-05-29 15:45:44 +02:00
Tobias Koppers 342c3c6fec Merge branch 'master' into feature/type-compiler-compilation-save
# Conflicts:
#	yarn.lock
2018-05-24 18:56:04 +02:00
Florent Cailhol 252ac31a57 Improve JSON parse error 2018-05-19 11:09:30 +02:00
Sean Larkin 761d73b4e7 chore(types): add Compiler and Compilation type support 2018-05-15 15:04:38 +02:00
Mohsen Azimi 589f40b26a Add missing class member initializations found by TypeScript 2018-04-11 16:48:44 +02:00
Tobias Koppers 1b50e4e96d
Merge pull request #6833 from webpack/ellipsis
Use ellipsis instead of '...'
2018-03-29 11:00:28 +02:00
Mohsen Azimi d6b2515e0c
Remove extra argument passed to ContextModuleFactory in Compiler 2018-03-28 22:03:28 -07:00
Florent Cailhol 3983803d30 Destructure 'require' to improve readability 2018-03-22 12:05:58 +01:00
Florent Cailhol 72786beee7 Use ellipsis instead of '...' 2018-03-22 10:54:18 +01:00
Maksim ea6e173551 Move concurrent compilation error to separate class 2018-03-13 13:10:42 +03:00
Maksim 60a5edc48d Wrap callback in compiler's run method 2018-03-07 12:14:51 +03:00
Maksim Nazarjev 07c1f6d86f Prevent webpack from running twice at a time 2018-03-07 00:56:31 +03:00
Tobias Koppers 5238159d21 run prettier on existing code 2018-02-25 02:00:20 +01:00
Suguru Motegi 864e563173 replace Async with Neo-Async 2018-02-11 14:31:08 -08:00
Thibaut Dutartre af8de036b2 Transform done hook into async 2018-01-25 13:56:50 +01:00
Tobias Koppers d6816afddf
Merge pull request #6355 from webpack/for_of_loops
Use for-of loops instead of forEach
2018-01-24 10:35:58 +01:00
Tobias Koppers 9c8098c635
Merge pull request #6370 from webpack/remove_v3_deprecated
Remove v3 deprecated APIs
2018-01-24 09:43:10 +01:00
Tobias Koppers 7a1b357aad
Merge branch 'next' into for_of_loops 2018-01-24 09:01:31 +01:00
Florent Cailhol 7b8fa112e0 Remove v3 deprecated APIs 2018-01-23 23:25:01 +01:00
Florent Cailhol d4811b0d37 Use for-of loops instead of forEach 2018-01-23 22:53:18 +01:00
Evan Scott 1f29fa9b51 perf: refactor various timestamp caches into ES6 Maps
This change satisfies https://github.com/webpack/webpack/issues/6234
which desires to change the timestamp caches from plain objects to
the ES6 Map type to avoid deopts, since v8 expects things to be
added to Maps but objects are only fast if properties aren't added
dynamically after initial assignment.
2018-01-23 02:30:22 -05:00
Florent Cailhol 7f303e5260 Use Buffer.from instead of new Buffer 2018-01-22 17:23:34 +01:00