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

@rx-angular/import-graph-visualizer

v0.2.0

Published

A development tool for filtering and visualizing import paths within a JavaScript/TypeScript application

Downloads

5,299

Readme

Import Graph Visualizer

Import Graph Visualizer is a development tool for filtering and visualizing import paths within a JavaScript/TypeScript application.

Motivation

Although there are already excellent tools out there for visualizing imports between Node.js modules (e.g. Dependency Cruiser, which is actually used by this tool under the hood), for large apps these graphs may be too large to comprehend. This is why Import Graph Visualizer allows filtering import paths by source and target modules, allowing you to zoom in to a limited subsection of your app, which will likely be easier to analyze than the entire app as a whole.

Examples

Screenshot of Import Graph Visualizer for this repository:

self example

For an Ionic/Angular starter project:

Ionic/Angular example

For vis-network repo:

vis-network example

Setup

To install as a development dependency in your Node project:

npm install --save-dev @rx-angular/import-graph-visualizer

Alternatively, to install as a global dependency (prefix with sudo on Unix systems):

npm install --global @rx-angular/import-graph-visualizer

Usage

To run this tool, you must supply at least one entry point for your application (e.g. src/index.js):

npx import-graph-visualizer --entry-points path/to/entry/module

For Typescript projects that use path aliases, make sure to also specify your tsconfig.json path:

npx import-graph-visualizer --entry-points path/to/entry/module --ts-config path/to/tsconfig

For greater convenience, you may wish to add a script to your package.json:

{
  // ...
  "scripts": {
    // ...
    "import-graph-visualizer": "import-graph-visualizer --entry-points path/to/entry/module ..."
  }
}

Then you may run it as:

npm run import-graph-visualizer

Development

For local development, clone this repo and first install dependencies with:

npm install

Then pick a project for testing and generate its dependencies using the CLI:

npm run reporter -- --entry-points path/to/entry/module --ts-config path/to/tsconfig/file

Then run a development server with:

npm start

If you need to update icons and mappings from VSCode Material Icon Theme, run:

npm run fetch-icons