UNPKG

rainbow-cli

Version:

Rainbow CLI application based on the Rainbow SDK for Node.js

35 lines (33 loc) 1.55 kB
import got from 'got'; import fs from 'fs'; const licences_Def = { "MIT": "http://www.opensource.org/licenses/MIT", "ISC": "http://www.opensource.org/licenses/ISC", "Apache-2.0": "http://www.opensource.org/licenses/Apache-2.0", "BSD-2-Clause": "https://opensource.org/licenses/BSD-2-Clause", "BSD-3-Clause": "https://opensource.org/licenses/BSD-3-Clause" }; const collection = []; fs.readFile("./package.json", 'utf-8', async (err, packagejson) => { if (err) throw err; const packages = JSON.parse(packagejson); for (const key of Object.keys(packages.dependencies)) { if (key === "got") return; const data = await got("https://registry.npmjs.org/" + key.toLowerCase()).json(); fs.readFile("./node_modules/" + key + "/package.json", 'utf8', (err, currentPackageJson) => { if (err) throw err; const currentPackage = JSON.parse(currentPackageJson); const version = currentPackage.version; const name = data.name; const license = data.license || "MIT"; const homepage = data.homepage || data.repository.url.replace('git:', 'https:').replace('.git', ''); const licenseUrl = licences_Def[license] || "https://opensource.org/licenses"; const result = name + " | [www](" + homepage + ") | [" + license + "](" + licenseUrl + ") | NO | " + version; collection.push(result); }); } collection.sort(); for (const entry of collection) { console.log(entry); } });