Compare commits

...

11 Commits

Author SHA1 Message Date
cf460a8d88 version bump 2021-03-08 22:05:58 +01:00
847d842b7e added changelog + updated licenses.md file 2021-03-08 22:05:20 +01:00
3cafa53318 several fixes for repo + author parsing 2021-03-08 22:04:59 +01:00
4b1326e826 📃 change author to object for this package 2021-03-08 22:04:39 +01:00
a074b82c47 Fixed md output containing object as repo
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-13 13:47:05 +01:00
48008e5ebe Version bump 2021-02-13 13:45:33 +01:00
fb15002582 Merge branch 'main' of git.odit.services:odit/license-exporter into main
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-13 13:44:56 +01:00
0992179dfd Fixed bug for empty repo info 2021-02-13 13:44:52 +01:00
2eeacf1219 Fixed table in readme
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-25 10:54:44 +00:00
350497cfdb 🚀 Version bump to 0.0.9
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-09 13:39:04 +01:00
29d8b9ccb8 also export dependency versions 2021-01-09 13:38:29 +01:00
6 changed files with 68 additions and 20 deletions

View File

@@ -6,3 +6,4 @@ node_modules
.gitignore
lib
package-lock.json
changelog.md

View File

@@ -24,12 +24,12 @@ Export all dependencies to markdown: `licenseexporter --md --recursive`
## Options
Arg | Description | Type | Default
- | - | - | -
-j, --json | Exports the license information into ./licenses.json as json. | flag/[boolean] | N/A
-p, --pretty | Prettify the json output.|flag/[boolean] | N/A
-m, --markdown | Exports the license information into ./licenses.md as markdown. | flag/[boolean] | N/A
-r, --recursive | Include all of the dependencies' subdependencies. | flag/[boolean] | N/A
-o, --output | Output folder for the exports. | [string] | Current folder
-i, --input | Path to the input folder containing your package.json and node_modules | [string] | Current folder
-h, --help | Show help | flag/[boolean] | N/A
-v, --version | Show version number | flag/[boolean] | N/A
| - | - | - | -
\-j, --json | Exports the license information into ./licenses.json as json. | flag/[boolean] | N/A
\-p, --pretty | Prettify the json output.|flag/[boolean] | N/A
\-m, --markdown | Exports the license information into ./licenses.md as markdown. | flag/[boolean] | N/A
\-r, --recursive | Include all of the dependencies' subdependencies. | flag/[boolean] | N/A
\-o, --output | Output folder for the exports. | [string] | Current folder
\-i, --input | Path to the input folder containing your package.json and node_modules | [string] | Current folder
\-h, --help | Show help | flag/[boolean] | N/A
\-v, --version | Show version number | flag/[boolean] | N/A

View File

@@ -26,13 +26,13 @@ const args = yargs
type: 'boolean',
})
.option('output', {
alias : 'o',
alias: 'o',
describe: 'Output folder for the exports (Default: Current folder).',
type: 'string',
default: '.'
})
.option('input', {
alias : 'i',
alias: 'i',
describe: 'Path to the input folder containing your package.json and node_modules (Default: Current folder).',
type: 'string',
default: '.'
@@ -69,13 +69,42 @@ function getDependencyLicenseInfo(all_dependencies, recursive) {
licensetext = fs.readFileSync(`${args.input}/node_modules/${p[0]}/LICENSE.txt`, { encoding: 'utf-8' });
}
const info = {
author: packageinfo.author,
repo: packageinfo.repository || packageinfo.repository.url,
description: packageinfo.description,
author: "?",
repo: packageinfo.repository || packageinfo.repository?.url,
description: packageinfo.description || "",
name: packageinfo.name,
license: packageinfo.license,
version: packageinfo.version,
licensetext
};
if (info.repo) {
if (typeof info.repo === "object") {
info.repo.url = info.repo.url.replace(/git\:\/\/github.com\//gi, "https://github.com");
info.repo.url = info.repo.url.replace(/git\+https:\/\/github.com\//gi, "https://github.com/");
}
if (typeof info.repo === "string") {
info.repo = {
url: info.repo
};
}
info.repo.url = info.repo.url.replace(/github:/gi, "https://github.com/");
if (info.repo.url.includes("github.com")) {
info.repo.url = info.repo.url.replace(/\.git/gi, "");
}
}
if (packageinfo.author) {
if (typeof packageinfo.author === "string") info.author = packageinfo.author;
if (packageinfo.author.name) {
info.author = packageinfo.author.name;
}
}
if (packageinfo.homepage && packageinfo.repository) {
if (typeof packageinfo.repository === "string") {
if (packageinfo.homepage.toLowerCase().includes(packageinfo.repository.toLowerCase())) {
info.repo = packageinfo.homepage;
}
}
}
all.push(info);
if (recursive == true) {
all.push(...getDependencyLicenseInfo(packageinfo.dependencies, true));
@@ -98,7 +127,7 @@ if (args.markdown) {
all.forEach((p) => {
fs.appendFileSync(
(args.output+'/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`
`# ${p.name}\n**Author**: ${p.author}\n**Repo**: ${p.repo?.url || p.repo}\n**License**: ${p.license}\n**Description**: ${p.description}\n## License Text\n${p.licensetext} \n\n`
);
});
} else {

14
changelog.md Normal file
View File

@@ -0,0 +1,14 @@
## Changes from 0.0.10 to 0.0.11
I noticed some packages not exporting properly/ in a standardized way
npm package|0.0.10|0.0.11|what
--- | --- | --- | ---
|core-js|❌|✅|repo contains `.git`
|quasar|❌|✅|repo contains `.git` + `git+https://`
|vue-property-decorator|❌|✅|repo contains `.git` + `git+https://`
|vue-geolocation-api|❌|✅|repo contains `github:` + description=`undefined`
|@types/node|❌|✅|author=`undefined`
|@typescript-eslint/eslint-plugin|❌|✅|author=`undefined`
|@typescript-eslint/parser|❌|✅|author=`undefined`
|eslint-config-standard|❌|✅|repo contains `.git` + `git://github.com`
|workbox-webpack-plugin|❌|✅|repo without url

View File

@@ -1,6 +1,6 @@
# yargs
**Author**: undefined
**Repo**: [object Object]
**Author**: ?
**Repo**: https://github.com/yargs/yargs
**License**: MIT
**Description**: yargs the modern, pirate-themed, successor to optimist.
## License Text

View File

@@ -1,6 +1,6 @@
{
"name": "@odit/license-exporter",
"version": "0.0.8",
"version": "0.0.11",
"description": "A simple license crawler for crediting open source work",
"keywords": [
"license",
@@ -11,7 +11,11 @@
"type": "git",
"url": "https://git.odit.services/odit/license-exporter"
},
"author": "ODIT.Services",
"author": {
"name": "ODIT.Services",
"email": "info@odit.services",
"url": "https://odit.services"
},
"license": "MIT",
"publishConfig": {
"access": "public"