Giter Club home page Giter Club logo

npmgraph.an's Introduction

npmgraph.an

Visualization of npm shows dependency graph of an npm package.

Screenshots

Default view: Default view

Responsive view:

Responsive view

3d view: 3d view

How it's done?

angular.js + browserify + ngraph => gulp => https://npm.anvaka.com/

The website is entirely hosted on GitHub Pages.

The npm data is coming from registry.npmjs.cf and is collected by npmgraphbuilder at real time.

For CSS styles I'm using twitter bootstrap and less.

npm rocks

All modules of this application are provided by npm.

Local development

git clone https://github.com/anvaka/npmgraph.an.git
cd npmgraph.an
npm i
npm start

This should start local dev server and serve npm visualization.

Other projects

Here I will try to list other projects that visualize npm.

If you have other projects that you want to see here, please send me a pull request or a hint.

license

MIT

npmgraph.an's People

Contributors

anvaka avatar asaayers avatar sturman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

npmgraph.an's Issues

Mutual dependencies

Hello. I love this tool!
I noticed mutual dependencies are not correctly shown.

If the dep graph looks like:
A->[email protected]
B->[email protected]

C will be shown as only the child of one of either A or B, not both.

This is misleading. Could this be shown somehow?
The graphs might look a bit messier but they will be more informative.

Thanks!

Error for 2d view

Hi, thanks for this cool package, was recommended on dotJS conference yesterday.
I tried it for one of my projects, but got an error.
http://npm.anvaka.com/#/view/2d/penthouse

Error

{
  "message": "Cannot convert undefined or null to object"
}

screen shot 2016-12-06 at 09 41 50

Any ideas what this is about? A broken package.json somewhere in my dependency chain?

Let me know if there's any other info I can provide to help debug.
Thanks again!

npm.anvaka.com not working in chrome

Site does not work for me - neither in chrome nor in safari. In chrome I can see this on the console:

DevTools failed to load source map: Could not load content for chrome-extension://gnldpbnocfnlkkicnaplmkaphfdnlplb/ContentScript/CustomisedWorkItemMessaging.js.map: System error: net::ERR_BLOCKED_BY_CLIENT
DevTools failed to load source map: Could not load content for chrome-extension://gnldpbnocfnlkkicnaplmkaphfdnlplb/ContentScript/CaptureBrowserEvent.js.map: System error: net::ERR_BLOCKED_BY_CLIENT
DevTools failed to load source map: Could not load content for https://npm.anvaka.com/angular.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

Any ideas?

Add support for scoped packages

Scoped packages are packages belonging to an organization or individual, but may still be public.

I'd be really nice to be able to view those as well.

No labels in 3d?

Maybe it's right in front of me, but is there currently no way to see labels in 3D?

It's tantalizing, as I actually do find the 3D visualization a lot more meaningful for my particularly large and tangled forest of dependencies.

The labels work fine in 2D mode.

I don't expect anyone to jump up and solve this for me, mainly I'm just curious if I straight-up missed it.

(Thanks for your excellent work on this!)

Local deployment angular concatenation problem

I'm trying to use local deployment using commands from, but the angular concatenation doesn't work for me.

I even try to run gulp task itself but with the same result

Uncaught TypeError: Cannot read property 'module' of undefined external.min.js:25(anonymous function) external.min.js:25(anonymous function) external.min.js:921
Uncaught ReferenceError: angular is not defined bundle.js:7370./navbar/navbar bundle.js:7370s bundle.js:1e bundle.js:1(anonymous function)

copyDist is being invoked

[22:17:58] Starting 'copyDist'...
[22:17:58] Finished 'copyDist' after 21 ms

Deprecations in dependencies (grunt tools)

I've tried to npm install and encountered the warnings about deprecations of two grunt tools:

npm WARN deprecated [email protected]: Deprecated in favor of grunt-contrib-watch which now have Livereload support built-in.
npm WARN deprecated [email protected]: Deprecated in favor of grunt-contrib-watch which now have Livereload support built-in.

optional and dev dependencies?

Any chance of getting support for optional and dev dependencies? It'd be good to be able to analyze the complexity of dev installs too. ๐Ÿ˜ธ

Feature request: Maybe can add optional color gradient ?

The color gradient will indicate how many steps to central (original) node. Maybe color gradients of 4-5 steps will be enough, nodes more far from 4-5 steps will be paint all the same color (grey, white, or similar color)

Filtering to @scope

While looking awesome (thanks!!!), there is one practical aspect that I think is missing -- an ability to filter the graph to just one scope, or a sub-string search. For example, if I maintain a large number of components that cross-depend on one another, it would greatly help to view just my components (they would probably share organizational scope in npm. Once again, thanks for an awesome tool!

Feature Request - Add Peer dependencies to the tree

Hello, With all the new install issues with V7 of npm, many folks are left confused with the older peer dependency versions that have not been updated, breaking their install.

It would be very helpful to see the peers and the version in this tree - especially since the npm pages themselves don't show this.

The only way I am aware of is "npm info name-of-module peerDependencies" & looking at the installed package json.

A Big thank you to all contributors of this project!!

Bug: Getting TypeError: $http.get(...).success is not a function

Thanks for this cool tool!
I was exploring the website today but faced this issue. I am not sure whether this ticket is duplicate or not.
Getting this error in console when I am clicking on 'Show'

TypeError: $http.get(...).success is not a function
    at Object.link (bundle.js:18080)
    at external.min.js:17
    at external.min.js:89
    at Ca (external.min.js:89)
    at p (external.min.js:73)
    at g (external.min.js:65)
    at p (external.min.js:73)
    at g (external.min.js:65)
    at external.min.js:64
    at external.min.js:70
    at d (external.min.js:67)
    at m (external.min.js:71)
    at external.min.js:330
    at external.min.js:151
    at m.$digest (external.min.js:152)
    at m.$apply (external.min.js:155) "<div typeahead-match="" index="$index" match="match" query="query" template-url="match.templateUrl" class="ng-isolate-scope">"

Release Date for the Versions!

Would be very helpful to have release dates for the versions too.
This way it would be easier to spot problematic depencencies or other issues.

Thank you.

Add a favicon

Have bookmarked this page... it would be nice to have a favicon

Analyze a local package.json file

This is somewhat related to #24

Instead of pointing to a package.json file with a URL, it would be great to allow uploading a package.json file available locally (of course, that would not upload it elsewhere than inside a client-side <input type=file> as everything is done client-side). This would allow visualizing the dependencies of a project even if the project package.json is not available on a public url.

Feature request: dependencies for GitHub repos

End-user applications are often not published as NPM packages.
Yet, it would be interesting to see what are the dependencies of various apps.

Is it possible to do with the current setup, or would you consider adding it?

3D, right-click and Vivaldi

Vivaldi (a web browser based on Chromium) uses "right-click and drag" gestures for navigation (like "right-click and drag left" to go back), and when viewing the graph in 3D, the "right-click and drag" of the browser is still active over the one from the graph, so it gets pretty tricky to actually pan the 3D graph.

I believe there should be a way for the web page to specify that it expects to receive "right-click and drag" gestures, so the browser ignores them.

Vivaldi Help | Mouse Gestures

Inverse view of dependents?

For open source projects, it would be really cool to see a graph of dependents for a project too. Maybe a toggle to show dependents vs dependencies?

Sort Names and Licenses (A-Z)

I've recently used this site and was wondering if sorting the names and licenses by alphabetical order could help a user find specific dependencies? If so, I'd like to take a shot at this. Thank you @anvaka and hope to hear from you soon.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.