lx-scan
Version:
License eXtension to find 5-tuples of all installed packages: name, version, project home page, license (e. g. Apache v2, BSD) and required notice. It includes a GUI to edit information for each package and to enter information if necessary.
56 lines (44 loc) • 1.4 kB
JavaScript
var lx = require("../lx.js"),
nopt = require ("nopt"),
fs = require("fs"),
knownOpts = { "prefix" : String},
parsed = nopt( knownOpts, undefined, process.argv),
er = null,
prefix = "",
re = /\/+$/
if(parsed.prefix==undefined) {
usage()
return 1
} else prefix = parsed.prefix
prefix = prefix.replace(re,"")
if(prefix) {
try {
var stats = fs.lstatSync(prefix + "/node_modules")
} catch (e) {
console.error(prefix + "/node_modules", " does not exist")
er = true
return 1
}
}
if (!stats.isDirectory()) {
console.error(prefix + "/node_modules", "is not a directory")
return 1
}
//console.log("path=",prefix, stats.isDirectory()); return 1
var opts = {prefix: prefix , dir: prefix + "/node_modules" }
var headers = {"user": process.env.USER?process.env.USER:process.env.USERNAME,
"date": Date(),
"path": prefix + "/node_modules",
"hostname": process.env.HOSTNAME?process.env.HOSTNAME:process.env.COMPUTERNAME,
"modified":[
{USER: process.env.USER?process.env.USER:process.env.USERNAME,
"date": Date()}]
}
lx("node", prefix+"/node_modules", opts, function(er, licobjs) {
if(er) console.error(er);
else console.log(JSON.stringify({"headers": headers, "data": licobjs}))
})
function usage(str){
console.error("Usage: <program> --prefix <directory containing a node_modules subirectory")
}