dependency-viewer

1.0.2 • Public • Published

Node.js CI

Dependency viewer across nodejs projects

1. Support

Currently the project has support for:

  • [x] Gitlab
  • [ ] Github
  • [ ] Bitbucket

2. Install

npm install dependency-viewer

3. Usage

const Gitlab = require('./lib/wrappers/Gitlab');
const GraphBuilder = require('./lib/GraphBuilder');

const gitlab = new Gitlab('organization', { token: 'super-secret-token' });
const graphBuilder = new GraphBuilder(gitlab);

graphBuilder.buildDependencyGraph({
  wrapperOptions: {
    excludeProjects: [],
    packageInclude: '',
    packagePrefix: '',
  },
}).then(async (dependencyGraphs) => {
  // do something with your dependecy graphs
});

4. API

Classes

GraphBuilder

GraphBuilder builds the dependency graph given a wrapper

GitlabWrapper

GitlabWrapper implements all the communication with Gitlab api

Wrapper

Wrapper extend it when implementing a Wrapper

GraphBuilder

GraphBuilder builds the dependency graph given a wrapper

GraphBuilder

new GraphBuilder(wrapper)

Create new GraphBuilder

Param Type
wrapper Wrapper

graphBuilder.buildDependencyGraph(wrapperOptions) ⇒ Object

build the dependency graph

Kind: instance method of GraphBuilder

Returns: Object - all dependencies {allDepsGraph, proDepsGraph, devDepsGraph }

Param Type
wrapperOptions Object

GitlabWrapper

GitlabWrapper implements all the communication with Gitlab api

GitlabWrapper

new GitlabWrapper([organization], options)

Create new GitlabWrapper

Param Type Default Description
[organization] String '' name of organization
options Object options object
[options.protocol] String https protocol to be used
[options.domain] String gitlab.com domain to be used
options.token String token from Gitlab

gitlabWrapper.getAllPackages(options) ⇒ Object

Get all package.json from gitlab projects

Kind: instance method of GitlabWrapper

Returns: Object - All dependencies objects

Param Type Default Description
options Object options object
[options.excludeProjects] Array.<String> [] array of strings representing projects to exclude
[options.packagePrefix] String '' inlcude packages that have this prefix in their name. Useful for organization packages
[options.packageInclude] String '' include packages that contain this this in their name

Wrapper

Wrapper extend it when implementing a Wrapper

wrapper.getAllPackages(options)

Kind: instance method of Wrapper

Param Type Description
options Object options object
options.excludeProjects Array.<String> array of strings representing projects to exclude
options.packagePrefix String inlcude packages that have this prefix in their name. Useful for organization packages
options.packageInclude String include packages that contain this this in their name

Readme

Keywords

none

Package Sidebar

Install

npm i dependency-viewer

Weekly Downloads

1

Version

1.0.2

License

ISC

Unpacked Size

48.4 kB

Total Files

21

Last publish

Collaborators

  • stelescuraul