@statoscope/stats-validator
Advanced tools
Changelog
5.28.1 (20 October 2023)
[webpack-model]
- revert chunk-asset linking logic from 5.25.1Changelog
5.27.0 (24 August 2023)
[webpack-model]
- add module_retained_modules(module)
-helper that returns retained modules by specific module
In other words: retained ones will be removed from bundle along with the module
[webpack-ui]
- support module_retained_modules
in module tree. For example, you can see retained modules in the diff-page
[webpack-ui]
- update discoveryjs from 1.0.0-beta.66 to 1.0.0-beta.77 (see changelog)
[webpack-ui]
- expose Discovery namespace
import Statoscope from '@statoscope/webpack-ui';
console.log(Statoscope.Discovery);
See usage example in dev.html
[webpack-ui]
- expose Discovery data and view inspector that helps to debug custom statoscope reports
[webpack-ui]
- add npm run dev
to develop Statoscope UI more easily
[stats-validator-reporter-stats-report]
: add disableReportCompression
-option, disable it will increase the size a lot (false
by default) (#210 by @icy0307)
[report-writer]
: use jsonxl to compress stats in binary json (replacement for old solution)
[webpack-model]
- improve initialization performanceChangelog
5.22.0 (03 July 2022)
This is 5.21 actually 🤦
[cli]
- add --custom-report
and --config
args for generate
and serve
commands (#157 by @amalitsky)[config]
- add generate.reports
field (#157 by @amalitsky)[webpack-model]
- added helpers:
asset_getSize(asset: NormalizedAsset, hash: string, useCompressed: boolean): Size
assets_getTotalSize(assets: NormalizedAsset[], hash: string, useCompressed: boolean): Size
entrypoint_getChunks(entry: NormalizedEntrypointItem): NormalizedChunk[]
entrypoint_getInitialChunks(entry: NormalizedEntrypointItem): NormalizedChunk[]
entrypoint_getInitialSize(entry: NormalizedEntrypointItem, hash: string, useCompressed: boolean): Size
entrypoint_getAsyncChunks(entry: NormalizedEntrypointItem): NormalizedChunk[]
entrypoint_getAsyncSize(entry: NormalizedEntrypointItem, hash: string, useCompressed: boolean): Size
entrypoint_getAssets(entry: NormalizedEntrypointItem): NormalizedAsset[]
entrypoint_getInitialAssets(entry: NormalizedEntrypointItem): NormalizedAsset[]
entrypoint_getAsyncAssets(entry: NormalizedEntrypointItem): NormalizedAsset[]
resolveCompilationByAsset(asset: NormalizedAsset, filename: string): NormalizedCompilation | null
resolveCompilationByChunk(chunk: NormalizedChunk, filename: string): NormalizedCompilation | null
resolveCompilationByModule(module: NormalizedModule, filename: string): NormalizedCompilation | null
resolveCompilationByEntrypoint(entry: NormalizedEntrypointItem, filename: string): NormalizedCompilation | null
[webpack-ui]
- fix dashboard data[webpack-model]
- fix handling chunks with no files (#158 by @amalitsky)Changelog
5.18.0 (O3 November 2021)
[config]
- more useful error message if any of plugins or reporters from statoscope config is not installed (#137 by @amalitsky)[webpack-model]
- fix d.tsChangelog
5.9.0 (27 September 2021)
[stats-extension-custom-reports]
- add package for passing custom reports to the UI (#108)
[webpack-plugin]
- support custom reports (#108)
[webpack-ui]
- support custom reports (#108)
[helpers]
- support lock
/unlock
for Resolver
(#107)
By default, all the resolvers is locked (no items can be added to resolver storage)
const resolver = makeResolver(modules, m => m.identifier);
modules.push(fooModule);
resolver('foo'); // null
resolver.unlock(); // allow to fetch resolver storage for new elements
modules.push(fooModule);
resolver('foo'); // fooModule
In other words, locked resolver remembers its source items and ignores any source changes.
It is useful for performance.
[helpers]
- add Indexer
to build an index (#108)
Index is more complex of resolver. It provides some API to manipulate its storage:
const moduleIndex = makeIndex(module => module.identifier); // no source needed
moduleIndex.add(fooModule);
moduleIndex.get('foo'); // fooModule
moduleIndex.get('bar'); // null
moduleIndex.add(barModule);
moduleIndex.get('bar'); // barModule
moduleIndex.getAll(); // [fooModule, barModule]
[stats-extension-compressed]
- support indexer (#108)
[stats-extension-package-info]
- support indexer (#108)
[stats-extension-stats-validation-result]
- support indexer (#108)
[config]
- add requireConfig
(#108)
[cli]
- support requireConfig
(#108)
[cli]
- add makeReplacer
helper to create json replacer (#107)
[webpack-model]
- add __statoscope.context
field (#107)
[report-writer]
- remove context path from stats (it makes all the path relative from context) (#107)
[webpack-plugin]
- remove context path from stats (it makes all the path relative from context) (#107)
[webpack-stats-extension-package-info]
- remove context path from stats (it makes all the path relative from context) (#107)
[webpack-model]
- use module.identifier to resolve a module (#107)
[webpack-model]
- decouple extension and compilation (#108)
Extensions have attached to files, not to compilations
[webpack-ui]
- use module.identifier
to resolve a module (#107)
[webpack-stats-extension-compressed]
- use module.identifier
to resolve a module (#107)
[stats-validator-plugin-webpack]
- use module.identifier
to resolve a module (#107)
[webpack-model]
- not fail when incomplete stats have usedChangelog
5.8.0 (15 September 2021)
[cli, webpack-plugin, stats-validator-reporter-stats-report]
- generate UI-reports with normalized stats (#104)
It reduces generated UI-report size (sometimes it is more than 10x smaller)[webpack-model, webpack-ui]
- support normalized UI-reports (#104)[stats-validator-plugin-webpack]
- show changed reasons in diff-deprecated-modules/packages rules[webpack-model]
- merge modules chunks info to collect more truthy info about modules chunks (#104)