58 lines
2.2 KiB
JavaScript
58 lines
2.2 KiB
JavaScript
var checker = require('license-checker');
|
|
var consola = require('consola');
|
|
var fs = require('fs');
|
|
|
|
var args = process.argv.slice(2);
|
|
|
|
checker.init({
|
|
start: './',
|
|
relativeLicensePath: true,
|
|
customFormat: {
|
|
licenseText: "",
|
|
licenseFile: "",
|
|
description: "",
|
|
version: "",
|
|
}
|
|
}, function (err, packages) {
|
|
if (err) {
|
|
consola.error("Couldn't load the licenses.")
|
|
} else {
|
|
let licenses = new Array();
|
|
if (args.includes("--full")) {
|
|
Object.keys(packages).forEach(function (key) {
|
|
licenses.push({
|
|
"name": packages[key].name,
|
|
"licenses": packages[key].licenses,
|
|
"repository": packages[key].repository || null,
|
|
"publisher": packages[key].publisher || null,
|
|
"email": packages[key].email || null,
|
|
"version": packages[key].version || null,
|
|
"description": packages[key].description || null,
|
|
"copyright": packages[key].copyright || null,
|
|
"text": packages[key].licenseText || null,
|
|
"license_path": packages[key].licenseFile || null,
|
|
});
|
|
});
|
|
}
|
|
else {
|
|
Object.keys(packages).forEach(function (key) {
|
|
licenses.push({
|
|
"name": packages[key].name,
|
|
"licenses": packages[key].licenses,
|
|
"repository": packages[key].repository || null,
|
|
"publisher": packages[key].publisher || null,
|
|
"email": packages[key].email || null,
|
|
"version": packages[key].version || null,
|
|
"description": packages[key].description || null,
|
|
"copyright": packages[key].copyright || null,
|
|
});
|
|
});
|
|
}
|
|
try {
|
|
fs.writeFileSync("./licenses.json", JSON.stringify(licenses), { encoding: "utf-8" });
|
|
consola.success("Exported licenses to ./licenses.json");
|
|
} catch (error) {
|
|
consola.error("Couldn't export the licenses");
|
|
}
|
|
}
|
|
}); |