@statoscope/stats-extension-package-info
Advanced tools
Changelog
5.3.0 (30 June 2021)
[webpack-plugin]
collect compressed (e.g. gzip) size of the resources (assets and modules)
There is a new compressor
- option that can be false | 'gzip' | ['gzip', ZlibOptions] | CompressFunction
:
'gzip'
(default) - compress all the resources with gzip (compression level - 6) and collect the compressed sizes
['gzip', ZlibOptions]
- the same as gzip
but with custom zlib settings
CompressFunction
- a function that takes source as an input and should return compressed size for this resource (useful if you want to use a non-gzip compressor)
false
- don't collect compressed sizes
It uses
webpack-stats-extension-compressed
under the hood
[webpack-plugin]
collect packages versions
It uses
webpack-stats-extension-package-info
under the hood
[webpack-ui]
taking compressed (e.g. gzip) size of the resources into account
There is a new setting to taking resources compressed size into account.
If enabled then all the sizes will be shown as compressed.
New jora-helpers:
getModuleSize(module, hash)
return compressed or normal module size
getAssetSize(asset, hash)
return compressed or normal asset size
It uses
stats-extension-compressed
under the hood and works only when the stats-file was taken fromwebpack-plugin@>=5.3
or any source that usesstats-extension-compressed
[webpack-ui]
taking packages versions into account and output these in all the package items
Also, added instance version into compilations.nodeModules.instance
It uses
stats-extension-package-info
under the hood and works only when the stats-file was taken fromwebpack-plugin@>=5.3
or any source that usesstats-extension-package-info
[webpack-ui]
download time measure
There are two new settings to select network speed and assets inject type. A download time for assets/chunks/entrypoints will be calculated based on specified network speed and assets inject type.
There are two assets inject types:
sync
: download time = sum(downloadTime(assets))
Download time is a sum of the download time of all the assets
async
: download time = max(downloadTime(assets))
Download time is a download time of most heavy asset (usefull if async
/defer
used to inject your assets)
The default network type is 3G Fast (1.37 MBit/s)
(like in Chromium).
Assets inject type is sync
by default.
[webpack-ui]
add compact
-property to asset/chunk/module/entry-item
-widget
This property removes all the badges from the entity item
[webpack-ui]
add Entrypoints
tab on diff
-page
Honestly, I just forgot to enable this tab a few releases ago 🙈
[stats-extension-compressed]
extension for collecting compressed resource sizes
It allows compressing specified resource content (string
or Buffer
) with gzip
or any other compressor.
Also, it contains the API to generate and extract this info.
[webpack-stats-extension-compressed]
webpack adapter for stats-extension-compressed
It allows collecting compressed resource sizes from webpack compilation
[stats-extension-package-info]
extension for collecting packages versions
It allows compressing specified resource content (string
or Buffer
) with gzip
or any other compressor.
Also, it contains the API to generate and extract this info.
[webpack-stats-extension-package-info]
webpack adapter for stats-extension-package-info
It allows collecting package versions from webpack compilation
[webpack-model]
added resolveExtension(name)
jora-helper that returns extension API
[webpack-model]
support stats-extension-package-info
extension
There is a new jora-helpers:
getPackageInstanceInfo(package, instancePath, hash)
that returns a package instance information[webpack-model]
support stats-extension-compressed
extension
There are new jora-helpers:
getModuleSize(module, compressed?, hash?)
returns compressed or normal module sizegetAssetSize(asset, compressed?, hash?)
returns compressed or normal asset size[webpack-model]
added jora-helpers to getting network type and download speed:
getNetworkTypeInfo(networkType: string)
return full info about specified network by its name (full list of type you can find at network-type-list.ts)getNetworkTypeName(networkType: Item)
return full name for specified networkgetDownloadTime(size: number, networkType: string)
calculate download time based on selected network type[helpers]
add locale
-parameter to formatDate
-helper
[cli]
(validate): use info
-type for messages by default
[stats]
a new package that contains Statoscope own stats format (extension-entity for now, but there are will be more entities)
[extensions]
a new package that contains Statoscope extensions toolkit
[report-writer]
add Piper - a proxy to ensure that all stream consumers have got a chunk
[webpack-model]
fix cases in normalization when no compilation.modules
[webpack-model]
fix normalization of chunk.children
[webpack-model]
fix isRoot
-field for node-modules instances
isRoot
was falsy positive if the module name not starts from .
[webpack-plugin]
fix saveStatsTo
Now it works
[webpack-ui]
fix packages instances list on diff
-page
There was undefined
instead of instances links
[webpack-ui]
fix modules diff calculation
[cli]
(validate): use console.info for info
-type messages
[webpack-ui]
better sorting of package instances
Root-instances goes first
[webpack-ui]
fix loading-styles
[webpack-ui]
refactor diff-page to make it more flexible and extendable