{"analyzedAt":"2022-10-27T15:50:18.048Z","collected":{"metadata":{"name":"license-report","scope":"unscoped","version":"6.3.0","description":"creates a short report about project's dependencies (license, url etc)","date":"2022-10-26T12:19:36.792Z","author":{"name":"Yaniv Kessler"},"publisher":{"username":"kessler","email":"yanivk@gmail.com"},"maintainers":[{"username":"kessler","email":"yanivk@gmail.com"},{"username":"yaniv","email":"yanivk@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/ironSource/license-report.git"},"links":{"npm":"https://www.npmjs.com/package/license-report","homepage":"https://github.com/ironSource/license-report","repository":"https://github.com/ironSource/license-report","bugs":"https://github.com/ironSource/license-report/issues"},"license":"MIT","dependencies":{"@kessler/tableify":"^1.0.2","debug":"^4.3.4","eol":"^0.9.1","got":"^12.5.2","rc":"^1.2.8","semver":"^7.3.8","tablemark":"^3.0.0","text-table":"^0.2.0","visit-values":"^2.0.0"},"devDependencies":{"@commitlint/cli":"^17.1.2","@commitlint/config-conventional":"^17.1.0","husky":"^8.0.1","mocha":"^10.1.0","nock":"^13.2.9","standard-version":"^9.5.0"},"releases":[{"from":"2022-09-27T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":3},{"from":"2022-07-29T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":4},{"from":"2022-04-30T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":5},{"from":"2021-10-27T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":8},{"from":"2020-10-27T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":9}],"hasTestScript":true,"readme":"# license report tool\n![Version](https://img.shields.io/badge/version-6.3.0-blue.svg?cacheSeconds=2592000)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/kefranabg/readme-md-generator/blob/master/LICENSE)\n\n> Generate a license report of the projects dependencies.\n\n## Installation\n```\nnpm install -g license-report\n```\n## Functionality\n`license-report` gets the dependencies of a program or package from its  `package.json` file and for each dependency adds the installed version, the license type and the author from the corresponding `package.json` file in the `node_modules` directory and the latest available version and other data from the (npm) registry where this package was installed from.\n\n## Prerequisites\n1. The dependencies of the project under inspection must be installed so that the node_modules directory exists in the path of the `package.json` file.\n2. The registry defined in the `registry` configuration setting must be accessible (default: 'https://registry.npmjs.org/').\n\n## Usage\n\n#### simple:\n```\ncd your/project/\nlicense-report\n```\nby default, `license-report` outputs all licenses from `dependencies`, `devDependencies`, `optionalDependencies` and `peerDependencies`.  \nTo specify one or the other, use `--only`; e.g.\n```\nlicense-report --only=dev\n```\n```\nlicense-report --only=prod\n```\n```\nlicense-report --only=prod,opt,peer\n```\nThe 'only' option is a comma separated list of the dependencies to use.  \nPossible values are:\n|value|segment of package.json|\n|---|---|\n|prod|dependencies|\n|dev|devDependencies|\n|opt|optionalDependencies|\n|peer|peerDependencies|\n\n#### explicit package.json:\n```\nlicense-report --package=/path/to/package.json\n```\n\n#### customize a field's label:\nUsed as column headers in table / csv / html output. For html output the labels of all fields in the output must be unique.\n```\nlicense-report --department.label=division\n```\n\n#### customize a fields default value:\nOnly applicable for the fields in the list later in this document (look for \"Fields with data set in the configuration of license-report\")\n```\nlicense-report --department.value=ninjaSquad\n```\n\n#### use another registry:\n```\nlicense-report --registry=https://myregistry.com/\n```\n\n#### registry with authorization:\nTo use a npm registry that requires authorization, the option `npmTokenEnvVar` must contain the name of an environment variable that contains the required npm authorization token (the default name is 'NPM_TOKEN'). An example:\n```\n# if the name of the environment variable containing the bearer token for npm authorization is 'NPM_TOKEN'\nlicense-report --registry=https://myregistry.com/ --npmTokenEnvVar=NPM_TOKEN\n```\nThe name of this environment variable (in the example: 'npm_token') should not be added as an option to the license-report config file, as this implies a severe security risk, when this file is checked in into a git repository. A warning is emitted if such an option is found in the config file.\n\n#### generate different outputs:\n```\nlicense-report --output=table\nlicense-report --output=json\nlicense-report --output=csv\nlicense-report --output=html\nlicense-report --output=markdown\n\n# replace default ',' separator with something else\nlicense-report --output=csv --delimiter=\"|\" \n\n# output csv headers (fields) on first row\nlicense-report --output=csv --csvHeaders\n\n# use custom stylesheet for html output\nlicense-report --output=html --html.cssFile=/a/b/c.css\n\n# see the output immediately in your browser, use hcat (npm i -g hcat)\nlicense-report --output=html | hcat\n```\n\n#### select fields for output:\nIf only a few fields are required in the output, the easiest way of selecting the fields is via --fields command line arguments.\n\nThere must be at least 2 --fields options, otherwise license-report\nwill throw an error.\n\n```\n# set options with command line arguments\nlicense-report --output=csv --fields=name --fields=installedVersion\n```\n\nIf more fields are needed, the best way is to use a custom config file, that contains a fields array.\n```\n# set options with command line option for custom (partial) config file\nlicense-report --output=csv --config license-report-config.json\n```\n```\n# example of config file for backward compatible output:\n{\n  \"fields\": [\n    \"department\",\n    \"relatedTo\",\n    \"name\",\n    \"licensePeriod\",\n    \"material\",\n    \"licenseType\",\n    \"link\",\n    \"comment\",\n    \"installedVersion\",\n    \"author\"\n  ]\n}\n```\n\n#### exclude packages:\n```\nlicense-report --exclude=async --exclude=rc\n```\n\n### Markdown Options\nIf you want to change the default markdown table look and feel, e.g. center-align the text, you have to use a custom config file (`--config=license-report-config.json`) and in the config file use the `tablemarkConfig` property. \n\nExample config for markdown table with center-aligned content:\n```JSON\n\"output\": \"markdown\",\n\"fields\": [\n    \"department\",\n    \"relatedTo\",\n    \"name\",\n    \"licensePeriod\",\n    \"material\",\n    \"licenseType\",\n    \"link\",\n    \"comment\",\n    \"installedVersion\",\n    \"author\"\n  ],\n\"tablemarkOptions\": {\n  \"columns\": [\n    { \"name\" : \"department\", \"align\": \"center\" },\n    { \"name\" : \"relatedTo\", \"align\": \"center\" },\n    { \"name\" : \"name\", \"align\": \"center\" },\n    { \"name\" : \"licensePeriod\", \"align\": \"center\" },\n    { \"name\" : \"material\", \"align\": \"center\" },\n    { \"name\" : \"licenseType\", \"align\": \"center\" },\n    { \"name\" : \"link\", \"align\": \"center\" },\n    { \"name\" : \"comment\", \"align\": \"center\" },\n    { \"name\" : \"installedVersion\", \"align\": \"center\" },\n    { \"name\" : \"author\", \"align\": \"center\" }\n  ]\n}\n```\nFor an explanation of all available options see https://github.com/haltcase/tablemark\n\n## Screenshots\n\n![screenshot](screenshot.png)\n![screenshot1](html.png)\n![screenshot1](markdown.jpg)\n\n## Available fields\nFields with data of the installed packages:\n| fieldname | column title | data source |\n|---|---|---|\n| name | name | name of the package |\n| licenseType | license type | type of the license of the package (e.g. MIT) |\n| link | link | link to the repository of the package |\n| installedFrom | installed from | the download source for the installed package (optional field) |\n| remoteVersion | remote version | latest available version of the package in the registry following defined semver range (can be different from the installed version) |\n| installedVersion | installed version | installed version of the package (can be different from the remote version) |\n| definedVersion | defined version | version of the package as defined in the (dev-) dependencies entry (can start with a semver range character) |\n| latestRemoteVersion | latest remote version | latest version of the package available in the registry (optional field) |\n| latestRemoteModified | latest remote modified | last modification date of the package in the registry (optional field) |\n| comment | comment | deprecated (replaced by field 'remoteVersion'); will be removed in a future version |\n| author | author | author of the package |\n\nFields with data set in the configuration of license-report:\n| fieldname | column title | set value |\n|--|---|---|\n| department | department | --department.value=kessler |\n| relatedTo | related to | --relatedTo.value=stuff |\n| licensePeriod | license period | --licensePeriod.value=perpetual |\n| material | material / not material | --material.value=material |\n\n## More configuration options\nSee `lib/config.js` for more details e.g. on customizing the generated html data.\n\nlicense-report uses the 'rc' package for handling configuration. So it is possible to add options to the command line, use a custom (partial) configuration file or even a default configuration file in a project.\n\nA default project configuration file must be placed in the project root path and be named `.license-reportrc`. The file format is 'json'. An example looks like this:\n```\n{\n  \"output\": \"table\",\n  \"fields\": [\n    \"name\",\n    \"licenseType\",\n    \"installedVersion\",\n    \"definedVersion\",\n    \"remoteVersion\",\n    \"latestRemoteVersion\",\n    \"latestRemoteModified\",\n    \"author\"\n  ]\n}\n```\n\nTo find out what configuration options are available see the `/lib/config.js` file in the project source.\n\nFor more 'rc' configuration details see the [rc](https://github.com/dominictarr/rc) documentation.\n\n## Debug report generation\n\nBy setting the debug environment variable as follows, detailed log information is generated during the report generation. For details see the documentation of the debug package on npm.\n```\nexport DEBUG=license-report*\n```\n\n## Changelog\nFor list of changes and bugfixes, see [CHANGELOG.md](CHANGELOG.md).\n\n## Contributing\nThe [CHANGELOG.md](CHANGELOG.md) is generated with `standard-changelog` (using the command `npm run release`).\n\nTo make this possible the commit messages must follow the [conventinal commits specification](https://www.conventionalcommits.org/en/v1.0.0-beta.2/#specification).\n\n```\n<type>: <description>\n\n<optional body>\n```\n\nThe following is the list of supported types:\n* build: changes that affect build components like build tool, ci pipeline, dependencies, project version, etc...\n* chore: changes that aren't user-facing (e.g. merging branches).\n* docs: changes that affect the documentation.\n* feat: changes that introduce a new feature.\n* fix: changes that patch a bug.\n* perf: changes which improve performance.\n* refactor: changes which neither fix a bug nor add a feature.\n* revert: changes that revert a previous commit.\n* style: changes that don't affect code logic, such as white-spaces, formatting, missing semi-colons.\n* test: changes that add missing tests or correct existing tests.\n\nTo ensure the syntax of commit messages `commitlint` is used, triggered by `husky`. This feature must be activated with `npm run activate-commitlint` once for every local clone of `license-report`.\n\n![ironSource logo](ironsource.png)"},"npm":{"downloads":[{"from":"2022-10-26T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":1920},{"from":"2022-10-20T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":9232},{"from":"2022-09-27T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":37140},{"from":"2022-07-29T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":99661},{"from":"2022-04-30T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":196320},{"from":"2021-10-27T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":414553}],"starsCount":2},"github":{"starsCount":127,"forksCount":35,"subscribersCount":4,"issues":{"count":114,"openCount":0,"distribution":{"3600":12,"10800":3,"32400":13,"97200":5,"291600":7,"874800":14,"2624400":5,"7873200":20,"23619600":16,"70858800":17,"212576400":2},"isDisabled":false},"contributors":[{"username":"BePo65","commitsCount":145},{"username":"kessler","commitsCount":72},{"username":"joshuapassos","commitsCount":8},{"username":"JonDum","commitsCount":2},{"username":"ZoharLiran","commitsCount":2},{"username":"AndrewTasso","commitsCount":1},{"username":"dependabot[bot]","commitsCount":1},{"username":"pubmikeb","commitsCount":1},{"username":"coyoteecd","commitsCount":1},{"username":"mariusmuntean","commitsCount":1}],"commits":[{"from":"2022-10-20T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":0},{"from":"2022-09-27T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":9},{"from":"2022-07-29T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":22},{"from":"2022-04-30T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":66},{"from":"2021-10-27T00:00:00.000Z","to":"2022-10-27T00:00:00.000Z","count":93}]},"source":{"files":{"readmeSize":9859,"testsSize":87072,"hasNpmIgnore":true,"hasChangelog":true}}},"evaluation":{"quality":{"carefulness":0.8699999999999999,"tests":0.6,"health":1,"branding":0},"popularity":{"communityInterest":178,"downloadsCount":33220.333333333336,"downloadsAcceleration":14.285844748858437,"dependentsCount":0},"maintenance":{"releasesFrequency":1,"commitsFrequency":0.9925753424657534,"openIssues":1,"issuesDistribution":0.9}},"score":{"final":0.6543103983331165,"detail":{"quality":0.8217269658382096,"popularity":0.16517104749748554,"maintenance":0.9999498341643822}}}