diff --git a/license_exporter.js b/license_exporter.js new file mode 100644 index 0000000..339d4c9 --- /dev/null +++ b/license_exporter.js @@ -0,0 +1,34 @@ +var checker = require('license-checker'); +var consola = require('consola'); +var fs = require('fs'); + + +checker.init({ + start: './', +}, 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, + }); + }); + + 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"); + } + } +}); \ No newline at end of file diff --git a/package.json b/package.json index b277aab..cad0f36 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "cp-cli": "^2.0.0", "jest": "^26.6.3", "nodemon": "^2.0.6", + "license-checker": "^25.0.1", "rimraf": "^2.7.1", "start-server-and-test": "^1.11.6", "ts-jest": "^26.4.4", @@ -74,7 +75,8 @@ "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 src/openapi_export.ts" + "openapi:export": "ts-node src/openapi_export.ts", + "licenses:export": "node license_exporter.js" }, "nodemonConfig": { "ignore": [