Skip to content
Get a module tree from package-lock.json / yarn.lock / node_modules
Branch: master
Clone or download
Latest commit 18bc126 Mar 15, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
.gitignore
.travis.yml
LICENSE
README.md
example.js
index.js
package-lock.json
package.json

README.md

universal-module-tree

Build Status

Get a full module tree from package-lock.json, yarn.lock or node_modules/**.

Usage

const getTree = require('universal-module-tree')

const tree = await getTree(__dirname)
console.log(JSON.stringify(tree, null, 2))
$ node example.js | head -n25
{
  "children": [
    {
      "data": {
        "name": "@yarnpkg/lockfile",
        "version": "1.1.0"
      },
      "children": []
    },
    {
      "data": {
        "name": "read-package-tree",
        "version": "5.2.1"
      },
      "children": [
        {
          "data": {
            "name": "debuglog",
            "version": "1.0.1"
          },
          "children": []
        },
        {
          "data": {
            "name": "dezalgo",

Or with NSolid:

const getTree = require('universal-module-tree')

nsolid.packages((err, packages) => {
  if (err) throw err
  const tree = getTree.fromNSolid(packages)
  console.log(JSON.stringify(tree, null, 2))
})

Installation

$ npm install universal-module-tree

API

getTree(dir, { noDev = false }) => Promise

getTree.fromPackageLock({ packageLock, packageJSON, noDev = false }) => Object

getTree.fromYarnLock({ yarnLock, packageJSON, noDev = false }) => Object

getTree.fromNodeModules(path, { noDev = false }) => Promise

getTree.fromNSolid(packages) => Object

getTree.flatten(tree) => Array

Options

  • noDev: exclude devDependencies

License & copyright

Copyright © NodeSource.

Licensed under the MIT open source license, see the LICENSE file for details.

You can’t perform that action at this time.