npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

webpack-dep-finder

v1.2.1

Published

A Webpack plugin and CLI tool for efficiently pinpointing and analyzing dependencies in your Webpack bundles using regex. Ideal for optimizing and streamlining the build process during iterative development, helping to detangle complex dependency trees qu

Downloads

89

Readme

GitHub Actions Workflow Status NPM Version NPM Downloads npm package minimized gzipped size

Example Output

Found target dependency: /path/to/your/dependency.js
/path/to/your/entry-file.js
  /path/to/another/dependency.js
    /path/to/your/dependency.js

This output shows the path from the entry file to the target dependency.

Usage

As a CLI Utility

You can use webpack-dep-finder as a CLI tool:

# Install the package globally
npm install -g webpack-dep-finder

# Run the CLI tool
npx webpack-dep-finder --dependency-pattern /your-regex-pattern/ --config path/to/webpack.config.js

New Features

  • Specify an entry point: You can specify an entry point using the --entry-point option or search for an entry point using a partial string or regex match with --entry-match.
  • Override ts-loader: If ts-loader is detected, it is automatically overridden to use transpileOnly: true to speed up TypeScript builds during dependency scanning.

CLI Options

-d, --dependency-pattern <pattern>   Regex pattern to match the resource path/filename to locate. (Required)
--no-halt-on-match                   Continue searching even after the dependency is found. (Default: false)
--show-webpack-output                Display Webpack's build output. (Default: false)
-c, --config <path>                  Path to the Webpack configuration file. (Default: "webpack.config.js")
--entry-point <path>                 Specify an entry point to begin the search from.
--entry-match <pattern>              Specify a regex or partial string to match the entry point filename.
-V, --version                        Output the version number.
-h, --help                           Output usage information.

As a Webpack Plugin

# NPM
npm install --save-dev webpack-dep-finder
# Yarn
yarn add -D webpack-dep-finder
const WebpackDepFinder = require("webpack-dep-finder");

new WebpackDepFinder({
    dependencyPattern: /your-regex-pattern/,
    haltOnMatch: true,
    showWebpackOutput: false
});

Performance Insights

Speed Benefits:

  • Up to 100x Faster: Unlike tools that analyze the entire Webpack build, webpack-dep-finder identifies dependencies quickly by stopping the search as soon as the specified dependency is found.
  • Conditional Timing: If the dependency is not found, the tool will run for the entire build duration. The effectiveness can vary based on your project’s size and structure.

Visualizing Speedup:

Major Use Cases

  • Optimizing Script Evaluation Time: Speed up the process of finding and analyzing dependencies, crucial for large React web applications.
  • Reducing Bundle Chunk Size: Efficiently locate and manage dependencies to optimize bundle sizes and overall performance.

Troubleshooting

Why is webpack-dep-finder so fast?

webpack-dep-finder is designed for speed by stopping the search as soon as the specified dependency is found during the Webpack compilation process. This approach contrasts with tools that analyze the entire bundle, making webpack-dep-finder a quicker option for targeted searches.

What happens if the dependency is not found?

If the specified dependency isn't found, webpack-dep-finder will complete the entire build process without performing any additional analysis. Ensure that the dependency name is correct and that it is included in your Webpack build.

Other Tools

  • Statoscope - A more comprehensive Webpack bundle analysis tool with additional features like interactive treemaps.

Maintainers

Support the developer!

"Buy Me A Coffee"

Contributing

We welcome contributions to Webpack Dep Finder! Please see CONTRIBUTING.md for more details.