Added --full option for the license exporter to export the license path and text as well

ref #59
This commit is contained in:
Nicolai Ort 2020-12-30 21:05:16 +01:00
parent 18e3ef9a79
commit 62c7f26540
2 changed files with 41 additions and 16 deletions

View File

@ -75,8 +75,9 @@
"test:watch": "jest --watchAll",
"test:ci": "start-server-and-test dev http://localhost:4010/api/docs/openapi.json test",
"seed": "ts-node ./node_modules/typeorm/cli.js schema:sync && ts-node ./node_modules/typeorm-seeding/dist/cli.js seed",
"openapi:export": "ts-node scripts/openapi_export.ts",
"licenses:export": "node scripts/license_exporter.js"
"openapi:export": "node scripts/openapi_export.js",
"licenses:export": "node scripts/license_exporter.js",
"licenses:full": "node scripts/license_exporter.js --full"
},
"nodemonConfig": {
"ignore": [

View File

@ -2,28 +2,52 @@ var checker = require('license-checker');
var consola = require('consola');
var fs = require('fs');
var args = process.argv.slice(2);
checker.init({
start: './',
}, function(err, packages) {
relativeLicensePath: true,
customFormat: {
licenseText: "",
licenseFile: "",
description: "",
version: "",
}
}, function (err, packages) {
if (err) {
consola.error("Couldn't load the licenses.")
} else {
let licenses = new Array();
Object.keys(packages).forEach(function(key) {
licenses.push({
"name": packages[key].name,
"licenses": packages[key].licenses || null,
"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,
"url": packages[key].url || null,
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");