Skip to content

Commit dcdf809

Browse files
committed
Fix: prevent TypeError when assets or modules are undefined in analyzer
1 parent 8755634 commit dcdf809

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/analyzer.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ function getViewerData(bundleStats, bundleDir, opts) {
5252
}
5353

5454
// Picking only `*.js, *.cjs or *.mjs` assets from bundle that has non-empty `chunks` array
55-
bundleStats.assets = bundleStats.assets.filter(asset => {
55+
bundleStats.assets = (bundleStats.assets || []).filter(asset => {
5656
// Filter out non 'asset' type asset if type is provided (Webpack 5 add a type to indicate asset types)
5757
if (asset.type && asset.type !== 'asset') {
5858
return false;
@@ -116,7 +116,7 @@ function getViewerData(bundleStats, bundleDir, opts) {
116116
}
117117

118118
// Picking modules from current bundle script
119-
let assetModules = modules.filter(statModule => assetHasModule(statAsset, statModule));
119+
let assetModules = (modules || []).filter(statModule => assetHasModule(statAsset, statModule));
120120

121121
// Adding parsed sources
122122
if (parsedModules) {
@@ -140,7 +140,7 @@ function getViewerData(bundleStats, bundleDir, opts) {
140140
unparsedEntryModules[0].parsedSrc = assetSources.runtimeSrc;
141141
} else {
142142
// If there are multiple entry points we move all of them under synthetic concatenated module.
143-
assetModules = assetModules.filter(mod => !unparsedEntryModules.includes(mod));
143+
assetModules = (assetModules || []).filter(mod => !unparsedEntryModules.includes(mod));
144144
assetModules.unshift({
145145
identifier: './entry modules',
146146
name: './entry modules',

0 commit comments

Comments
 (0)