Installations
npm install licenses
Developer Guide
Typescript
No
Module System
CommonJS
NPM Version
1.4.28
Score
82.9
Supply Chain
89.8
Quality
76.9
Maintenance
50
Vulnerability
78.5
License
Releases
Unable to fetch releases
Contributors
Unable to fetch Contributors
Languages
JavaScript (100%)
Developer
3rd-Eden
Download Statistics
Total Downloads
4,581,850
Last Day
982
Last Week
5,394
Last Month
23,394
Last Year
271,240
GitHub Statistics
21 Stars
102 Commits
5 Forks
8 Watching
5 Branches
5 Contributors
Bundle Size
774.64 kB
Minified
209.96 kB
Minified + Gzipped
Package Meta Information
Latest Version
0.0.20
Package Id
licenses@0.0.20
Size
465.95 kB
NPM Version
1.4.28
Publised On
19 Dec 2014
Total Downloads
Cumulative downloads
Total Downloads
4,581,850
Last day
-17.3%
982
Compared to previous day
Last week
-21.7%
5,394
Compared to previous week
Last month
-1.5%
23,394
Compared to previous month
Last year
18%
271,240
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Dependencies
5
Dev Dependencies
5
Licenses
Licenses.. This is the most painful part about Open Source. There are so many different licenses and they all have different restrictions. In order to know the license footprint of your project you need to know how your modules are licensed. You might be interested in your license footprint because:
- Some licenses might restrict you from selling your code or using it for commercial applications.
- There are unlicensed modules released in to npm on a daily basis. Just because they are added in the npm registry it doesn't mean that they are Open Source and just free to use.
- The code could be proprietary licensed.
- .. and the list goes on and on.
But the biggest problem is figuring out which license a module is actually
using. There are a lot of ways of saying that your code is licensed under MIT.
There are people who rather say licensed under MIT than just stating MIT. So the
way we write which license we use differ but also the location of our licenses.
It can be in the package.json
hiding in various of properties or specified in
the README.md
of the project or even a dedicated LICENSE
file in the
repository.
Now that you've taken the time to read about some of these issues above, you know why this module exists. It tries to fulfill one simple task. Get a human readable license from a given node module.
However, this module isn't flawless as it tries to automate a task that usually requires the interference and intelligence of a human. If you have module that is incorrectly detected or not detected at all but does have licensing information publicly available please create an issue about and we'll see if it can get resolved.
Installation
The module is released through npm and can therefor be installed using:
npm install --save licenses
CLI
There is CLI version of this module available as licensing
which can be
installed locally using:
npm install -g licensing
See https://github.com/3rd-Eden/licensing for more information.
Getting started with the API
The module exposes one single interface for retrieving the packages, which is a simple exported function:
1'use strict'; 2 3var licenses = require('licenses'); 4 5licenses('primus', function fetched(err, license) { 6 console.log(license.join(',')); // MIT 7});
As you can see in the example above, the first argument of the function can be a
string
with the name of the package you want to resolve. In addition to
supplying a string you can also give it the contents of the npm registry's data
directly:
1licenses({ name: 'primus', readme: '..', ....}, function fetched(err, license) { 2 3});
The function allows a second optional argument which allows you to configure license function. The following options are supported:
- githulk A custom or pre-authorized githulk instance. The license lookup process makes extensive use of GitHub to retrieve license information that might not be available in the package.json. But the GitHub API is rate limited so if you don't use an authorized GitHulk instance you can only do 60 calls to the API.
- order The order in which we should attempt to resolve the license. This defaults to [registry, github, content].
- registry The URL of The npm Registry we should use to retrieve package data.
- npmjs a custom npm-registry instance.
The options are completely optional and can therefore be safely omitted.
1licenses('primus', { registry: 'https://registry.npmjs.org/' }, function () { 2 3});
As you might have noticed from the options we support three different lookup algorithms:
registry
In this algorithm we attempt to search for license information directly in the
supplied or retrieved npm data. This is the fastest lookup as it only needs to
search and parse the license
and licenses
fields of the module for license
information.
github
This reads out your github repository information from the package data to get a directly listing of your project. Once the directory is listed it fetches files from the repo where a possible license or license information can be found like README and LICENSE files. All the data that is found will be scanned with the content algorithm.
content
It searches the readme or supplied content for matches the license files. If it fails to do any matching based on the license files it fallback to a really basic regexp based check.
License
MIT
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
0 existing vulnerabilities detected
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
Found 1/30 approved changesets -- score normalized to 0
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
- Warn: no security policy file detected
- Warn: no security file to analyze
- Warn: no security file to analyze
- Warn: no security file to analyze
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
branch protection not enabled on development/release branches
Details
- Warn: branch protection not enabled for branch 'master'
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
- Warn: 0 commits out of 1 are checked with a SAST tool
Score
3
/10
Last Scanned on 2025-01-27
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn MoreOther packages similar to licenses
spdx-license-ids
A list of SPDX license identifiers
@cspell/dict-public-licenses
Common Public Licenses dictionary for cspell.
spdx-licenses
Has a list of all the valid SPDX licenses, and for a given id, will return the full name and if OSI approved.
spdx-license-list
List of SPDX licenses