{"action":"opened","issue":{"url":"https://api.github.com/repos/npm/npm/issues/14270","repository_url":"https://api.github.com/repos/npm/npm","labels_url":"https://api.github.com/repos/npm/npm/issues/14270/labels{/name}","comments_url":"https://api.github.com/repos/npm/npm/issues/14270/comments","events_url":"https://api.github.com/repos/npm/npm/issues/14270/events","html_url":"https://github.com/npm/npm/issues/14270","id":182736263,"number":14270,"title":"Check all the licenses used in a project","user":{"login":"franciscop","id":2801252,"avatar_url":"https://avatars.githubusercontent.com/u/2801252?v=3","gravatar_id":"","url":"https://api.github.com/users/franciscop","html_url":"https://github.com/franciscop","followers_url":"https://api.github.com/users/franciscop/followers","following_url":"https://api.github.com/users/franciscop/following{/other_user}","gists_url":"https://api.github.com/users/franciscop/gists{/gist_id}","starred_url":"https://api.github.com/users/franciscop/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/franciscop/subscriptions","organizations_url":"https://api.github.com/users/franciscop/orgs","repos_url":"https://api.github.com/users/franciscop/repos","events_url":"https://api.github.com/users/franciscop/events{/privacy}","received_events_url":"https://api.github.com/users/franciscop/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-10-13T09:15:03Z","updated_at":"2016-10-13T09:15:03Z","closed_at":null,"body":"#### What's the feature?\r\n\r\nAdd an easy way to check the **licenses of all the packages within your repository** with a command:\r\n\r\n```bash\r\nnpm licenses            # Check all the installed package's licenses\r\nnpm licenses express    # Check licenses for 'express' and its dependencies\r\nnpm licenses -report    # Only show the report instead of the full analysis\r\n```\r\n\r\nI actually implemented it in [legally](https://github.com/franciscop/legally). To try it just replace `npm licenses` => `legally` after `npm install legally -g`.\r\n\r\nPossible outputs (currently implemented) are an overview per package, an overview per license and a report with recommendations:\r\n\r\n![packages](https://cloud.githubusercontent.com/assets/2801252/19343019/6bf1b46e-916f-11e6-8562-478f1206aed9.png)\r\n\r\n![licenses](https://cloud.githubusercontent.com/assets/2801252/19343026/76c876de-916f-11e6-9906-5a8519945cde.png)\r\n\r\n![reports-error](https://cloud.githubusercontent.com/assets/2801252/19343143/f13c7118-916f-11e6-80b6-770ef76eb543.png)\r\n\r\n\r\n#### What problem is the feature intended to solve?\r\n\r\nNot knowing what license you are able to use because a package might have an incompatible license 3 levels down. Getting NPM to a more enterprise sector by showing that NPM cares about protecting the companies that work with us.\r\n\r\n\r\n#### Is the absence of this feature blocking you or your team? If so, how?\r\n\r\nNo, I released [legally](https://github.com/franciscop/legally) which does this, but I think it's an important feature to bring into the core of NPM.\r\n\r\n\r\n#### Is this feature similar to an existing feature in another tool?\r\n\r\nYes, it is similar to **[legally](https://github.com/franciscop/legally)**.\r\n\r\n\r\n#### Is this a feature you're prepared to implement, with support from the npm CLI team?\r\n\r\nYes, the implementation is mostly done. For my purposes it's working fine, but to release it under NPM I think these would need to be done if it was accepted (and I'm prepared to do it):\r\n\r\n1. Testing. There's a bit of testing but most of it has been done manually. It's prepared and set up to be tested so it's just adding more and more cases and searching for extreme situations.\r\n2. Documentation. It's really basic so it'd have to be expanded.\r\n3. Integration. I will probably need help from NPM team to integrate it.\r\n4. Feature definition. I think it'd be a good idea to discuss the scope, features and interface for integrating it with NPM.\r\n"}}
{"actor":{"display_login":"franciscop"}}