12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- const ModulesUtils = require('./modules')
- const sizeTypes = ['stats', 'parsed', 'gzip']
- exports.processStats = function (stats) {
- const rawModules = ModulesUtils.filterModules(stats.data.modules)
- const modulesPerSizeType = {}
- const analyzer = {}
- for (const sizeType of sizeTypes) {
- const modules = ModulesUtils.buildSortedModules(rawModules, sizeType)
- const modulesTotalSize = modules.reduce((total, module) => total + module.size, 0)
- const depModules = ModulesUtils.buildDepModules(modules)
- const depModulesTotalSize = depModules.reduce((total, module) => total + module.size, 0)
- modulesPerSizeType[sizeType] = {
- modulesTotalSize,
- depModules,
- depModulesTotalSize
- }
- const modulesTrees = ModulesUtils.buildModulesTrees(rawModules, sizeType)
- analyzer[sizeType] = {
- modulesTrees
- }
- }
- stats = {
- data: {
- errors: stats.data.errors,
- warnings: stats.data.warnings,
- assets: stats.data.assets.map(a => ({
- name: a.name,
- size: a.size
- })),
- chunks: stats.data.chunks.map(c => ({
- id: c.id,
- names: c.names
- }))
- },
- computed: {
- modulesPerSizeType
- }
- }
- return {
- stats,
- analyzer
- }
- }
|