πŸš€ Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more β†’

webpack-dependency-size

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webpack-dependency-size

Track/evaluate dependencies bundled into a Webpack build

0.1.0
latest
Version published
Weekly downloads
31
3.33%
Maintainers
1
Weekly downloads
 
Created

πŸ‘©β€πŸ”¬ Webpack Dependency Size Plugin

Webpack plugin to get an overview of bundled dependencies and their size.

:raising_hand: Why?

  • πŸ“¦ Only Dependencies Get insight into the blackbox!
  • πŸ”₯ Fast Only analyzes the bare minium!
  • πŸ‘€ JSON Output Formatted, sorted, and portable!
  • πŸ™ˆ No distractions Ignore application code!

:rocket: Install

npm i -D webpack-dependency-size

πŸ‘©β€πŸ« Basic Usage

In your Webpack config:

// 1. Import plugin
const DependencySize = require('webpack-dependency-size');

module.exports = {
	...,

	plugins: [
		// 2. Add to plugins array
		new DependencySize()
	]
};

Options

Pass in an options object to configure:

new DependencySize({
	// Options
	gzip: true
})
  • outputPath (dependency-size.json) JSON output path relative to Webpack output directory (output.path)
  • gzip (false) Calculate gzipped size
  • indent (2 spaces) JSON output indentation

πŸ“‹ Output

Schema

type File = {
    filepath: string; // bundled-in file
    size: string; // human-readable size
    reasons: string[]; // request sources
};

type Report = {
    dependencyPath: string; // bundled-in package (sorted by `size`)
    size: string; // human-readable net import size from package
    files: File[]; // specific files imported from the package (sorted by `size`)
}[];

Example

Tip: If the output is too large, I recommend using fx to navigate the JSON

[
  {
    "dependencyPath": "./node_modules/axios",
    "size": "40.15 KB",
    "files": [
      {
        "filepath": "./node_modules/axios/lib/utils.js",
        "size": "8.61 KB",
        "reasons": [
          "./node_modules/axios/lib/adapters/xhr.js",
          ...
        ]
      },
      ...
    ]
  },
  {
    "dependencyPath": "./node_modules/lodash",
    "size": "25.37 KB",
    "files": [
      {
        "filepath": "./node_modules/lodash/_deburrLetter.js",
        "size": "3.33 KB",
        "reasons": [
          "./node_modules/lodash/deburr.js"
        ]
      },
      ...
    ]
  },
  ...
]

πŸ’Ό License

MIT

FAQs

Package last updated on 02 Feb 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts