Implemented recursive calls and markdown export
This commit is contained in:
parent
8103febbb6
commit
d0e84f7391
37
exporter.js
37
exporter.js
@ -2,18 +2,18 @@ const fs = require('fs');
|
|||||||
|
|
||||||
const args = process.argv.slice(2);
|
const args = process.argv.slice(2);
|
||||||
|
|
||||||
function parsePackageInfo(path){
|
function parsePackageInfo(path) {
|
||||||
const packagecontents = JSON.parse(fs.readFileSync(path, { encoding: 'utf-8' }));
|
const packagecontents = JSON.parse(fs.readFileSync(path, { encoding: 'utf-8' }));
|
||||||
packagecontents.dependencies = Object.entries(packagecontents.dependencies || {});
|
packagecontents.dependencies = Object.entries(packagecontents.dependencies || {});
|
||||||
packagecontents.devDependencies = Object.entries(packagecontents.devDependencies || {});
|
packagecontents.devDependencies = Object.entries(packagecontents.devDependencies || {});
|
||||||
return packagecontents;
|
return packagecontents;
|
||||||
}
|
}
|
||||||
|
|
||||||
function mergeDependencies(packageInfo){
|
function mergeDependencies(packageInfo) {
|
||||||
return [].concat(packageInfo.dependencies, packageInfo.devDependencies);
|
return [].concat(packageInfo.dependencies, packageInfo.devDependencies);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getDependencyLicenseInfo(all_dependencies, recursive){
|
function getDependencyLicenseInfo(all_dependencies, recursive) {
|
||||||
let all = [];
|
let all = [];
|
||||||
|
|
||||||
all_dependencies.forEach((p) => {
|
all_dependencies.forEach((p) => {
|
||||||
@ -37,7 +37,7 @@ function getDependencyLicenseInfo(all_dependencies, recursive){
|
|||||||
licensetext
|
licensetext
|
||||||
};
|
};
|
||||||
all.push(info);
|
all.push(info);
|
||||||
if(recursive == true){
|
if (recursive == true) {
|
||||||
all.push(...getDependencyLicenseInfo(packageinfo.dependencies, true));
|
all.push(...getDependencyLicenseInfo(packageinfo.dependencies, true));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -46,9 +46,20 @@ function getDependencyLicenseInfo(all_dependencies, recursive){
|
|||||||
const packageInfo = parsePackageInfo(`./package.json`);
|
const packageInfo = parsePackageInfo(`./package.json`);
|
||||||
const all = getDependencyLicenseInfo(mergeDependencies(packageInfo), args.includes("--recursive"));
|
const all = getDependencyLicenseInfo(mergeDependencies(packageInfo), args.includes("--recursive"));
|
||||||
|
|
||||||
if(args.includes("--pretty")){
|
if (args.includes("--json")) {
|
||||||
fs.writeFileSync('./licenses.json', JSON.stringify(all, null, 4));
|
if (args.includes("--pretty")) {
|
||||||
|
fs.writeFileSync('./licenses.json', JSON.stringify(all, null, 4));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
fs.writeFileSync('./licenses.json', JSON.stringify(all));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else{
|
if (args.includes("--md")) {
|
||||||
fs.writeFileSync('./licenses.json', JSON.stringify(all));
|
fs.writeFileSync('./licenses.md', "");
|
||||||
|
all.forEach((p) => {
|
||||||
|
fs.appendFileSync("./licenses.md", `# ${p.name}\n**Author**: ${p.author}\n**Repo**: ${p.repo}\n**License**: ${p.license}\n**Description**: ${p.description}\n## License Text\n${p.licensetext} \n\n`)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return all;
|
||||||
}
|
}
|
Reference in New Issue
Block a user