@@ -15,11 +15,18 @@ const { contextify } = require("./util/identifier");
15
15
/** @typedef {import("../declarations/plugins/ProgressPlugin").HandlerFunction } HandlerFunction */
16
16
/** @typedef {import("../declarations/plugins/ProgressPlugin").ProgressPluginArgument } ProgressPluginArgument */
17
17
/** @typedef {import("../declarations/plugins/ProgressPlugin").ProgressPluginOptions } ProgressPluginOptions */
18
+ /** @typedef {import("./Compilation").FactorizeModuleOptions } FactorizeModuleOptions */
18
19
/** @typedef {import("./Dependency") } Dependency */
19
20
/** @typedef {import("./Entrypoint").EntryOptions } EntryOptions */
20
21
/** @typedef {import("./Module") } Module */
22
+ /** @typedef {import("./ModuleFactory").ModuleFactoryResult } ModuleFactoryResult */
21
23
/** @typedef {import("./logging/Logger").Logger } Logger */
22
24
25
+ /**
26
+ * @template T, K, R
27
+ * @typedef {import("./util/AsyncQueue")<T, K, R> } AsyncQueue
28
+ */
29
+
23
30
/**
24
31
* @typedef {object } CountsData
25
32
* @property {number } modulesCount modules count
@@ -217,7 +224,9 @@ class ProgressPlugin {
217
224
let lastDependenciesCount = 0 ;
218
225
let lastEntriesCount = 0 ;
219
226
let modulesCount = 0 ;
227
+ let skippedModulesCount = 0 ;
220
228
let dependenciesCount = 0 ;
229
+ let skippedDependenciesCount = 0 ;
221
230
let entriesCount = 1 ;
222
231
let doneModules = 0 ;
223
232
let doneDependencies = 0 ;
@@ -298,7 +307,15 @@ class ProgressPlugin {
298
307
lastUpdate = Date . now ( ) ;
299
308
} ;
300
309
301
- const factorizeAdd = ( ) => {
310
+ /**
311
+ * @template T
312
+ * @param {AsyncQueue<FactorizeModuleOptions, string, Module | ModuleFactoryResult> } factorizeQueue async queue
313
+ * @param {T } _item item
314
+ */
315
+ const factorizeAdd = ( factorizeQueue , _item ) => {
316
+ if ( factorizeQueue . getContext ( ) === "import-module" ) {
317
+ skippedDependenciesCount ++ ;
318
+ }
302
319
dependenciesCount ++ ;
303
320
if ( dependenciesCount < 50 || dependenciesCount % 100 === 0 )
304
321
updateThrottled ( ) ;
@@ -310,7 +327,15 @@ class ProgressPlugin {
310
327
updateThrottled ( ) ;
311
328
} ;
312
329
313
- const moduleAdd = ( ) => {
330
+ /**
331
+ * @template T
332
+ * @param {AsyncQueue<Module, string, Module> } addModuleQueue async queue
333
+ * @param {T } _item item
334
+ */
335
+ const moduleAdd = ( addModuleQueue , _item ) => {
336
+ if ( addModuleQueue . getContext ( ) === "import-module" ) {
337
+ skippedModulesCount ++ ;
338
+ }
314
339
modulesCount ++ ;
315
340
if ( modulesCount < 50 || modulesCount % 100 === 0 ) updateThrottled ( ) ;
316
341
} ;
@@ -397,12 +422,19 @@ class ProgressPlugin {
397
422
if ( compilation . compiler . isChild ( ) ) return Promise . resolve ( ) ;
398
423
return /** @type {Promise<CountsData> } */ ( cacheGetPromise ) . then (
399
424
async oldData => {
425
+ const realModulesCount = modulesCount - skippedModulesCount ;
426
+ const realDependenciesCount =
427
+ dependenciesCount - skippedDependenciesCount ;
428
+
400
429
if (
401
430
! oldData ||
402
- oldData . modulesCount !== modulesCount ||
403
- oldData . dependenciesCount !== dependenciesCount
431
+ oldData . modulesCount !== realModulesCount ||
432
+ oldData . dependenciesCount !== realDependenciesCount
404
433
) {
405
- await cache . storePromise ( { modulesCount, dependenciesCount } ) ;
434
+ await cache . storePromise ( {
435
+ modulesCount : realModulesCount ,
436
+ dependenciesCount : realDependenciesCount
437
+ } ) ;
406
438
}
407
439
}
408
440
) ;
@@ -413,19 +445,25 @@ class ProgressPlugin {
413
445
lastModulesCount = modulesCount ;
414
446
lastEntriesCount = entriesCount ;
415
447
lastDependenciesCount = dependenciesCount ;
416
- modulesCount = dependenciesCount = entriesCount = 0 ;
448
+ modulesCount =
449
+ skippedModulesCount =
450
+ dependenciesCount =
451
+ skippedDependenciesCount =
452
+ entriesCount =
453
+ 0 ;
417
454
doneModules = doneDependencies = doneEntries = 0 ;
418
455
419
- compilation . factorizeQueue . hooks . added . tap (
420
- "ProgressPlugin" ,
421
- factorizeAdd
456
+ compilation . factorizeQueue . hooks . added . tap ( "ProgressPlugin" , item =>
457
+ factorizeAdd ( compilation . factorizeQueue , item )
422
458
) ;
423
459
compilation . factorizeQueue . hooks . result . tap (
424
460
"ProgressPlugin" ,
425
461
factorizeDone
426
462
) ;
427
463
428
- compilation . addModuleQueue . hooks . added . tap ( "ProgressPlugin" , moduleAdd ) ;
464
+ compilation . addModuleQueue . hooks . added . tap ( "ProgressPlugin" , item =>
465
+ moduleAdd ( compilation . addModuleQueue , item )
466
+ ) ;
429
467
compilation . processDependenciesQueue . hooks . result . tap (
430
468
"ProgressPlugin" ,
431
469
moduleDone
0 commit comments