Socket
Socket
Sign inDemoInstall

@statoscope/types

Package Overview
Dependencies
1
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

5.28.1

Diff

Changelog

Source

5.28.1 (20 October 2023)

Fixes

  • [webpack-model] - revert chunk-asset linking logic from 5.25.1
smelukov
published 5.27.0 •

Changelog

Source

5.27.0 (24 August 2023)

Features

  • [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)

Performance

  • [webpack-model] - improve initialization performance
smelukov
published 5.22.0 •

Changelog

Source

5.22.0 (03 July 2022)

This is 5.21 actually 🤦

Features

  • [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

Fixes

  • [webpack-ui] - fix dashboard data
  • [webpack-model] - fix handling chunks with no files (#158 by @amalitsky)
smelukov
published 5.14.1 •

Changelog

Source

5.14.1 (13 October 2021)

Fix

Republish all the packages because of npm bug

No changes

smelukov
published 5.13.1 •

Changelog

Source

5.13.1 (11 October 2021)

Fixes

  • [types] - rename .ts to .d.ts
smelukov
published 5.12.1 •

Changelog

Source

5.12.1 (08 October 2021)

Fixes

  • [types] - add types into package
smelukov
published 5.9.0 •

Changelog

Source

5.9.0 (27 September 2021)

Features

  • [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)

Refactor

  • [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)

Fixes

  • [webpack-model] - not fail when incomplete stats have used
smelukov
published 5.7.1 •

Changelog

Source

5.7.1 (1 September 2021)

Fixes

  • [webpack-model] - add missed json into the package
smelukov
published 5.7.0 •

Changelog

Source

5.7.0 (1 September 2021)

Features

  • [stats-validator] - add package for validating stats
  • [stats-validator-plugin-webpack] - add stats-validator plugin with webpack-rules
  • [stats-validator-reporter-console] - add stats-validator reporter to output results into console
  • [stats-validator-reporter-stats-report] - add stats-validator reporter to output results into descovery-based UI
  • [stats-extension-stats-validation-result] - add stats extension to pass validation messages info descovery-based UI
  • [config] - add package that contains config-helpers
  • [webpack-ui] - support new validation results
    • support stats-extension-stats-validation-result
    • show badge in the main page
    • new page with validation results
    • new page with details of a validation message
    • mark entities (modules, chunks, packages, etc.) that have messages from the validator
    • show validation messages of the entities pages (modules, chunks, packages, etc.)
  • [webpack-ui] - add some jora-helpers
    • resolveEntrypoint(id: string, hash: string): NormalizedEntrypointItem | null Resolve entrypoint by its name
    • resolveFile(id: string): NormalizedFile | null Resolve file by its name
    • resolveInputFile(): NormalizedFile | null Resolve file with input.json
    • resolveReferenceFile(): NormalizedFile | null Resolve file with reference.json
    • validation_getItems(hash?: string, relatedType?: RelatedItem['type'] | null, relatedId?: string | number): Item[] Get validation messages
    • validation_getItem(id?: number, hash?: string): Item | null Get validation message
    • validation_resolveRelatedItem(item?: RelatedItem, hash?: string): ResolvedRelatedItem Resolve an entity (module, chunk, etc.) that related with some message
    • validation_resolveRule(name?: string, hash?: string): RuleDescriptor | null Resolve detail info about a rule
  • [cli] - support new validators in validate command
    • add reference-parameter
    • add config-parameter
    • use stats-validator package
  • [types] - add package with statoscope ts-types
  • [helpers] - add get-parameter into makeResolver-function
  • [helpers] - add asciiTree-helper that generate ASCII tree from object-tree (useful for TTY-reporters)
  • [helpers] - add a bunch of useful jora-helpers
    • typeof(value: unknown): string

      works like native typeof operator

    • isNullish(value: unknown): boolean

      returns true if value is null or undefined

    • isArray(value: unknown): boolean

      returns true if value is array

    • useNotNullish<T>(values: readonly T[]): T | null

      return first not-nullish element from values-array or null ([null, 123].useNotNullish() = 123)

    • serializeStringOrRegexp(value?: string | RegExp): SerializedStringOrRegexp | null

      transform string or regexp into json-compatible format

    • deserializeStringOrRegexp(value?: SerializedStringOrRegexp | null): string | RegExp | null

      reverse the result of serializeStringOrRegexp

    • semverSatisfies(version: string | SemVer, range: string | Range): boolean

      returns true if version satisfied of range

    • isMatch(a?: string, b?: string | RegExp): boolean

      returns true if a matches b

    • exclude<T>(
        items: readonly T[],
        params?: {
          exclude?: Array<string | RegExp>;
          get?: (arg: T) => string | undefined;
        }
      ): T[]
      

      Helps to exclude elements. Examples:

      • ['foo', 'bar', 'foo'].exclude({exclude: 'foo'}) = ['bar']
      • [fooCompilation, barCompilation, bazCompilation].exclude({exclude: /foo|bar/, get: <name>}) = [bazCompilation]
    • diff_normalizeLimit(limit?: number | Limit | null): Limit | null Normalize the limit

    • diff_isLTETheLimit(valueDiff: ValueDiff, limit?: number | Limit | null): boolean Returns true if valueDiff has not been exceeded the limit

Refactor

  • [report-writer] - move transform function from cli
  • [report-writer] - to-parameter of transform function now is required
  • [report-writer] - from-parameter of transform might be file name or stats object
  • [cli] - use transform from report-writer
  • [helpers] - move prepareWithJora from webpack-model
  • [webpck-model] - use prepareWithJora from helpers

Fixes

  • [helpers] - fix max-parameter bug in graph_findPaths-helper

Deprecate

  • [cli] - validator parameter in validate command (use statoscope config with rules instead)
smelukov
published 5.7.0-alpha.0 •

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc