Socket
Socket
Sign inDemoInstall

@statoscope/extensions

Package Overview
Dependencies
0
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install
2Next

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.14.1 •

Changelog

Source

5.14.1 (13 October 2021)

Fix

Republish all the packages because of npm bug

No changes

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 •

smelukov
published 5.5.1 •

Changelog

Source

5.5.1 (08 July 2021)

Fixes

  • [report-writer] rollback to sync stream polling model
  • [webpack-plugin] broken html report

Chore

  • clean all the packages from dev-files
smelukov
published 5.3.0 •

Changelog

Source

5.3.0 (30 June 2021)

Features

  • [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 from webpack-plugin@>=5.3 or any source that uses stats-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 from webpack-plugin@>=5.3 or any source that uses stats-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 size
    • getAssetSize(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 network
    • getDownloadTime(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

Fixes

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

Improvements

  • [webpack-ui] better sorting of package instances

    Root-instances goes first

  • [webpack-ui] fix loading-styles

Refactor

  • [webpack-ui] refactor diff-page to make it more flexible and extendable
smelukov
published 5.3.0-alpha.3 •

smelukov
published 5.3.0-alpha.2 •

smelukov
published 5.3.0-alpha.1 •

2Next
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