Awesome
installed
Read all the installed packages in a folder, and produce an Array of all the data.
A wrapper around npm's read-installed that produces a flat array rather than a nested tree structure. Also adds a few bells and whistles.
Why? Arrays are far easier to process and reason about than nested objects.
Installation
npm install --save installed
Usage
var installed = require('installed')
// default options
var options = {
dev: false, // exclude all dev dependencies
depth: Infinity, // depth to traverse
extraneous: true // includes extraneous deps. Set to false to filter extraneous dependencies out.
}
// options is optional
installed(process.cwd(), options, function(err, pkgs) {
if (err) throw err;
var pkgVersions = pkgs.map(function(dep) {
return dep.name + '@' + dep.version
})
console.log(pkgVersions.join('\n'))
})
installed.toArray
var installed = require('installed')
// some pre-calculated npm-ls json data
// e.g. npm ls --json > ./data.json
var depsData = require('./data.json')
// convert nested deps data to array
var depsArray = installed.toArray(depsData)
CLI
> installed --help
Read installed package data.
Usage: installed [options]
Options:
--dev Include development dependencies.
--extraneous Show extraneous dependencies [default: true]
--no-extraneous Filter extraneous dependencies. This will include --dev dependencies if --dev is not enabled.
--depth Traversal depth. use --depth=Infinity or --depth=-1 to traverse entire dependency tree. [default: 0]
--color Display coloured output. Auto-disabled if output is not a terminal. [default: true]
--no-color Don't display coloured output, strictly JSON.
--json Produce JSON output. Implies --no-color.
--help Show help
--version Show version number
Data Structure Sample
The program below serializes the result of running installed
in the
installed
directory. You can see the result of this output at installed-sample.json
Note you'll need to use something like json-stringify-safe in order to safely serialize the data produced by installed
, as it contains circular references.
var stringify = require('json-stringify-safe');
var installed = require('installed')
var fs = require('fs')
installed(process.cwd(), {depth: 0}, function(err, pkgs) {
if(err) throw err;
console.log(stringify(i, null, 2))
})
See Also
Note about versions < 2.0.0
pkgrep was briefly known as installed
so versions of installed
<
2.0.0
are actually deprecated versions of pkgrep
.
License
MIT