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"); } } });