nmtree

Get a (flat) tree representation of the modules in your node_modules folder

Usage no npm install needed!

<script type="module">
  import nmtree from 'https://cdn.skypack.dev/nmtree';
</script>

README

nmtree

Build Status Coverage Status JavaScript Style Guide

Get a node_modules directory with all its package.json files as a parsable flat tree.

alt text

what is this?

Given an npm library, this tool would recursively go through its node_modules and create a flat tree with the paths of libraries as keys and their parsed package.json files as values. eg.

{
  "myLib": <myPackageJson>,
  "myLib/node_modules/myDep": <depPackageJson>,
  "myLib/node_modules/myDep/node_modules/myOtherDep": <otherDepPackageJson>
}

install

npm install -g nmtree - for the cli tool

npm install nmtree for the require-able library

usage

const nmtree = require('nmtree')

const libPath = '/path/to/my/lib'
const tree = nmtree(libPath)

const installedReactVersions = Object.keys(tree).reduce((versions, libPath) => {
  const { name, version } = tree[libPath]
  if (name === 'react') versions.push(version)
  return versions
}, [])
// or whatever else you can think of!

command line usage

nmtree /path/to/my/lib > my-lib-node-modules.json

License

MIT