Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

license-checker-rseidelsohn

RSeidelsohn657.6kBSD-3-Clause4.4.2TypeScript support: included

Extract NPM package licenses - Feature enhanced version of the original license-checker v25.0.1

license, cli, checker, oss

readme

NPM

NPM License Checker

Table of Contents

A message from the maintainer

Folks, I love and honor open software (the latter not as much as I should), and therefore I am a little ashamed of the lack of regular care I give to this project. My family (two still young kids and a wife working full-time just as me) plus my hobbies (reading - currently I read the great book "Coders at work" and plan to work my way through "Structure and interpretation of computer programs", a book many great and experienced coders say is kind of a must-read - and homebrewing) take their toll. And then there's the time I need for procrastination as well. You get the picture. I took over this project from another guy who initially built it, because he did not respond to any PRs or emails for years and I needed a feature that was not available. And I thought there are enough people out there that should profit from what I do, so I forked the license-checker under the now pretty clumpsy name license-checker-rseidelsohn - here we are. I am always happy when I see PR's being created by other coders out there or if someone writes me an email - no matter what it might be about. Just the feeling that this tool and what I do with it does not only live in the void is already amazing to me. This being said, I am really looking for more people that want to contribute, so feel free if you want to be added as maintainers. But also, I am now working for Springer Nature since mid of february, and this awesome employer (I can only and absolutely recommend working for Springer Nature, and I get no advantages whatsoever through this message - they don't even know about it!) gives their devs a 10% friday every 2nd friday, where the devs are not disturbed by any meetings and are free to work on whatever they wish (preferrably anything that helps improving their skills and/or the code base), and I plan to take this open source project and maintain it during that time. So I would like to give you hope that the updates will come more frequently and in better quality.

Berlin, 1st of April 2023.

Introduction

This is a fork of davglass' license-checker v.25.0.1 - Since that code doesn't seem to be updated regularly, I created this fork for being able to adding new features and fixing bugs.

I changed the original exclude argument to excludeLicenses in order to prevent confusion and better align it with the excludePackages argument. Also, the argument includeLicenses has been added for listing only packages that include the licenses listed.

Please notice: Version 1.2.2 is the last version working fine on node v12. From Version 2 on, you will need at least Node v14 to run this NPM license checker. Thanks to @daniel-schulz for pointing this out!

Ever needed to see all the license info for a module and its dependencies?

It's this easy:

npm install -g license-checker-rseidelsohn

mkdir foo
cd foo
npm install yui-lint
license-checker-rseidelsohn

You should see something like this:

├─ cli@0.4.3
│  ├─ repository: http://github.com/chriso/cli
│  └─ licenses: MIT
├─ glob@3.1.14
│  ├─ repository: https://github.com/isaacs/node-glob
│  └─ licenses: UNKNOWN
├─ graceful-fs@1.1.14
│  ├─ repository: https://github.com/isaacs/node-graceful-fs
│  └─ licenses: UNKNOWN
├─ inherits@1.0.0
│  ├─ repository: https://github.com/isaacs/inherits
│  └─ licenses: UNKNOWN
├─ jshint@0.9.1
│  └─ licenses: MIT
├─ lru-cache@1.0.6
│  ├─ repository: https://github.com/isaacs/node-lru-cache
│  └─ licenses: MIT
├─ lru-cache@2.0.4
│  ├─ repository: https://github.com/isaacs/node-lru-cache
│  └─ licenses: MIT
├─ minimatch@0.0.5
│  ├─ repository: https://github.com/isaacs/minimatch
│  └─ licenses: MIT
├─ minimatch@0.2.9
│  ├─ repository: https://github.com/isaacs/minimatch
│  └─ licenses: MIT
├─ sigmund@1.0.0
│  ├─ repository: https://github.com/isaacs/sigmund
│  └─ licenses: UNKNOWN
└─ yui-lint@0.1.1
   ├─ licenses: BSD
   └─ repository: http://github.com/yui/yui-lint

An asterisk next to a license name means that it was deduced from an other file than package.json (README, LICENSE, COPYING, ...) You could see something like this:

└─ debug@2.0.0
   ├─ repository: https://github.com/visionmedia/debug
   └─ licenses: MIT*

Changes (see a more detailed and always up-to-date list here)

Version 4.4.2

fix: Fix missing file name ending (sorry for these)

Version 4.4.1

fix: Fix errors that broke the whole new version (sorry for these)

Version 4.4.0

chore(deps-dev): bump braces from 3.0.2 to 3.0.3 by @dependabot in https://github.com/RSeidelsohn/license-checker-rseidelsohn/pull/114 chore: only include necessary files in package by @ol-teuto in https://github.com/RSeidelsohn/license-checker-rseidelsohn/pull/106 feat: allow specifying ranges in clarifications file and add strict usage checking for them by @ol-teuto in https://github.com/RSeidelsohn/license-checker-rseidelsohn/pull/110 feat: Add new option clarificationsMatchAll by @ol-teuto

Version 4.3.1

misc: Move from require to import in all the files misc: Update indexHelpers.js by @ArsArmandi in https://github.com/RSeidelsohn/license-checker-rseidelsohn/pull/108

Version 4.3.0

feat: Add numeric "--depth" option that overrides the ambiguous "--direct" option fix: Fix local anchors in the README

Version 4.2.11

misc: Rename a variable and use correct value for exact comparison fix: Fix ts definition issue update: Merge Dependabot update of @babel/code-frame

Version 4.2.10

fix: Fixes broken --direct attribute

Version 4.2.9

fix: Fixes broken refactoring from version 4.2.7, closes #94

Version 4.2.8

fix: methods from exports instead of global this (@chohner), closes #95

Version 4.2.7

chore(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 chore(deps): bump semver from 7.3.5 to 7.5.2

fix: Consider out option also when passed to programmatic interface, fixes #42

Version 4.2.6

fix: The bug under Windows, where @scope packages had been ignored, should be fixed now

Version 4.2.5

fix: Provide safe defaults for desctructured argument object

Version 4.2.4

Improve the detection of URLs as licenses which are no licenses at all. Previously, when no license info could be found elsewhere, any URL in the README was taken as a custom license, which is not a very bulletproof method. Now, I restrict this method which was probably meant as a fallback solution to only being considered if the README contains at least the word "license" in some form (or notation). Not good, but better than before.

Version 4.2.3

Fix --relativeModulePath not working in combination with --start.

Version 4.2.2

Fix a bug that produced incorrect relative license file paths when using --relativeLicensePath together with --files and --out.

Version 4.2.1

Refactor many more parts of the still old code, extracting more functionality into separate functions and files and providing more descriptive argument, variable and function names. Also, add a new test and improve the algorithm for finding licenses that are URLs - this previously used to catch image URLs thet quite often appear in the README file as licenses although license information was already correctly provided in the package.json. This part of the code is still subject to improvements, but for now it works better than before. Also, some minor bugs in the code have been fixed. All in all I did a lot of refactoring for helping me with future improvements (bug fixes and new features), as the code now is easier to understand than before (and still is a pretty big mess to me).

Version 4.2.0

Add the option --clarificationsFile [filepath] for a A file that describe the license clarifications for each package, see clarificationExample.json, any field available to the customFormat option can be clarified. The clarifications file can also be used to specify a subregion of a package's license file (instead reading the entire file).

Version 4.1.1

Fix list format when outputting markdown format

Version 4.1.0

Change config that required the major npm version to be 8. This led to code not compiling for some users and was done for no good reason. Now it is required to be >= 8.

Version 4.0.1

Fix some typos in the README file.

Version 4.0.0

Due to end of service for NodeJS' security updates, I decided to from now on use a current LTS-version, which is NodeJS v18.

This of course doesn't necessarily mean that older Node versions will not be able to run this license-checker-rseidelsohn, but one day this will mosrt likely happen, I guess.

Should there be any need for security updates or new features supported by older NodeJS versions, [please tell me so] (mailto:rseidelsohn@gmail.com?subject=Support%20request%20for%20old%20license-checker-rseidelsohn%20-%20version). I can not promise that I will take the time to fulfill the request, but if you do not ask me, I certainly won't.

This being said, the only change with 4.0.0 is a switch in the .nvmrc file of the project (for developers working on this module only) from NodeJS v14 to NodeJS v18 - which again is a LTS version, a version with long time support - and some minor updates to the README file, adding stuff that was missing in the past due to a lack of regular maintenance from my side.

That then being said, I really want to invite you to add pull requests to this project. If you feel like, please ask me to give you higher-level access to this repo. I am not keen on mainaining it on my own - I just took it over in order to add my own feature request after the original author stopped finding the time to further support it. Now, I am not using this module for work any more (which might change in the future), but I see my responsibility to at least taking care of pull requests and releasing them, and from time to time working on feature requests as a kind of kata for me.

Version 3.3.0

Allow combining the options --excludePackages and --excludePackagesStartingWith

Version 3.2.1

Bugfix for --excludePackagesStartingWith

Version 3.2.0

Add flag --excludePackagesStartingWith [list] and add detection of Hippocratic License 2.1

Version 3.1.0

Add new option --limitAttributes. Example usage: node bin/license-checker-rseidelsohn --limitAttributes publisher,email will only list the publisher and email attributes for every dependency.

Version 3.0.1

Fix the --direct option.

Version 3.0.0

From now on, when you give the --files option, this tool outputs the path to the copied license files rather than to the originals. When the relativeLicensePath option is given, this path will either be relative to the working directory or - if also the out option is given - relative to the out path.

When using the --out option, you will not see output in the console, as the output goes into the file specified by --out. When using the --files option without --out option, you will now get console output, which was not the case before.

All options in alphabetical order

  • --angularCli is just a synonym for --plainVertical
  • --clarificationsFile [filepath] A file that describe the license clarifications for each package, see clarificationExample.json, any field available to the customFormat option can be clarified. The clarifications file can also be used to specify a subregion of a package's license file (instead reading the entire file)
  • --clarificationsMatchAll [boolean] This optional new feature is still lacking a description - to be done
  • --csv output in csv format
  • --csvComponentPrefix prefix column for component in csv format
  • --customPath to add a custom Format file in JSON
  • --depth [number] look for "number" of levels of dependencies - overrides the ambiguously named "--direct" option'
  • --development only show development dependencies.
  • --direct [boolean|number] look for direct dependencies only if "true" or look for "number" of levels of dependencies
  • --excludeLicenses [list] exclude modules which licenses are in the comma-separated list from the output
  • --excludePackages [list] restrict output to the packages (either "package@fullversion" or "package@majorversion" or only "package") not in the semicolon-seperated list
  • --excludePackagesStartingWith [list] exclude modules which names start with the comma-separated list from the output (useful for excluding modules from a specific vendor and such). Example: --excludePackagesStartingWith "webpack;@types;@babel"
  • --excludePrivatePackages restrict output to not include any package marked as private
  • --failOn [list] fail (exit with code 1) on the first occurrence of the licenses of the semicolon-separated list
  • --files [path] copy all license files to path and rename them to module-name@version-LICENSE.txt
  • --includeLicenses [list] include only modules which licenses are in the comma-separated list from the output
  • --includePackages [list] restrict output to the packages (either "package@fullversion" or "package@majorversion" or only "package") in the semicolon-seperated list
  • --json output in json format
  • --limitAttributes [list] limit the attributes to be output
  • --markdown output in markdown format
  • --nopeer skip peer dependencies in output
  • --onlyAllow [list] fail (exit with codexclusionse 1) on the first occurrence of the licenses not in the semicolon-seperated list
  • --onlyunknown only list packages with unknown or guessed licenses
  • --out [filepath] write the data to a specific file
  • --plainVertical output license info in plain vertical format like Angular CLI does
  • --production only show production dependencies.
  • --relativeLicensePath output the location of the license files as relative paths
  • --relativeModulePath output the location of the module files as relative paths
  • --start [filepath] path of the initial json to look for
  • --summary output a summary of the license usage',
  • --unknown report guessed licenses as unknown licenses
  • --version The current version
  • --help The text you are reading right now :)

Exclusions

A list of licenses is the simplest way to describe what you want to exclude.

You can use valid SPDX identifiers. You can use valid SPDX expressions like MIT OR X11. You can use non-valid SPDX identifiers, like Public Domain, since npm does support some license strings that are not SPDX identifiers.

Examples

license-checker-rseidelsohn --json > /path/to/licenses.json
license-checker-rseidelsohn --csv --out /path/to/licenses.csv
license-checker-rseidelsohn --unknown
license-checker-rseidelsohn --customPath customFormatExample.json
license-checker-rseidelsohn --excludeLicenses 'MIT, MIT OR X11, BSD, ISC'
license-checker-rseidelsohn --includePackages 'react@16.3.0;react-dom@16.3.0;lodash@4.3.1'
license-checker-rseidelsohn --excludePackages 'internal-1;internal-2'
license-checker-rseidelsohn --onlyunknown

Clarifications

The --clarificationsFile option can be used to provide custom processing instructions on a per-package basis. The format is as so:

{
    "package_name@version": {
        // Any field available in customFormat can be clarified
        "licenses": "MIT",
        "licenseFile": "some/path",
        "licenseText": "The full text of the license to include if you need"
        // You can optionally add a SH-256 checksum of the license file contents that will be checked on each run. Intended to help detect when projects change their license.
        "checksum": "deadbeef...",
        // Add a licenseStart and optional licenseEnd to snip out a substring of the licenseText. The licenseStart will be included in the licenseText, the licenseEnd will not be.
        "licenseStart": "# MIT License",
        "licenseEnd": "=========",
    }
}

version can either be an exact version or a semver range, multiple ranges are supported for a single package, for example:

{
    "package_name@^1": {
        // Any field available in customFormat can be clarified
        "licenses": "GPL",
        // ... other fields, see above
    },
    "package_name@^2": {
        // Any field available in customFormat can be clarified
        "licenses": "MIT",
        // ... other fields, see above
    },
}

For overlapping ranges, the first matching entry is used.

The --clarificationsMatchAll option, when enabled, raises an error if not all specified clarifications were used, it is off by default.

Custom format

The --customPath option can be used with CSV to specify the columns. Note that the first column, module_name, will always be used.

When used with JSON format, it will add the specified items to the usual ones.

The available items are the following:

  • copyright
  • description
  • email
  • licenseFile
  • licenseModified
  • licenses
  • licenseText
  • name
  • publisher
  • repository
  • url
  • version

You can also give default values for each item. See an example in customFormatExample.json.

Note that outputting the license text is not recommended with Markdown formatting, as it can be very long and does not work well with Markdown lists.

Requiring

var checker = require('license-checker-rseidelsohn');

checker.init(
    {
        start: '/path/to/start/looking',
    },
    // eslint-disable-next-line no-unused-vars
    function (err, packages) {
        if (err) {
            //Handle error
        } else {
            //The sorted package data
            //as an Object
        }
    },
);

Debugging

license-checker uses debug for internal logging. There’s two internal markers:

  • license-checker-rseidelsohn:error for errors
  • license-checker-rseidelsohn:log for non-errors

Set the DEBUG environment variable to one of these to see debug output:

$ export DEBUG=license-checker-rseidelsohn*; license-checker-rseidelsohn
scanning ./yui-lint
├─ cli@0.4.3
│  ├─ repository: http://github.com/chriso/cli
│  └─ licenses: MIT
# ...

How Licenses are Found

We walk through the node_modules directory with the read-installed-packages module. Once we gathered a list of modules we walk through them and look at all of their package.json's, We try to identify the license with the spdx module to see if it has a valid SPDX license attached. If that fails, we then look into the module for the following files: LICENSE, LICENCE, COPYING, & README.

If one of the those files are found (in that order) we will attempt to parse the license data from it with a list of known license texts. This will be shown with the * next to the name of the license to show that we "guessed" at it.

  • ChooseALicense.com - aims at helping you in choosing an open source license for your project
  • TLDRLegal.com - aims at exlaining complicated legal details of software licenses in easy to understand english

changelog

Change Log

upcoming (2023/12/08 14:22 +00:00)

  • dbff514 docs: Update CHANGELOG
  • 52cbb7c Rename variable and compare with correct value
  • 35f9806 chore: Bump version
  • c523274 Fix ts definition issue
  • #100 Merge pull request #100 from RSeidelsohn/dependabot/npm_and_yarn/babel/traverse-7.23.2 (@RSeidelsohn)
  • 5e1f619 chore(deps-dev): bump @babel/traverse from 7.21.5 to 7.23.2 (@dependabot[bot])

v4.2.10 (2023/10/13 15:28 +00:00)

  • #99 Merge pull request #99 from RSeidelsohn/release-4-2-10 (@RSeidelsohn)
  • 47e5432 Merge branch 'master' into release-4-2-10 (@RSeidelsohn)
  • a4f0029 chore: Bump version (@RSeidelsohn)
  • acebf61 docs: Add changes to README (@RSeidelsohn)
  • 64dc943 fix: Fix the broken direct attribute
  • 9c0099d WIP
  • 5084e29 chore: Update nopt version from 5.0.0 to 7.2.0
  • 5616994 docs: Try to fix the markdown rendering glitch
  • 303b7f7 docs: Add more documentation to a function

v4.2.9 (2023/10/13 11:52 +00:00)

  • b767852 docs: Add latest change to README
  • 7833444 refactor: Use easier to understand functions and variable names
  • 69bd393 chore: Bump version
  • 94a363a fix: Revert breaking refactoring
  • 72ebae0 chore: Bump version and update changes (@RSeidelsohn)
  • 0c3fe21 config: Add .tool-versions file (@RSeidelsohn)
  • e549812 chore: Update contributors list (@RSeidelsohn)
  • #96 Merge pull request #96 from chohner/fix_exports_methods (@chohner)
  • 7d25eb8 fix: methods from exports instead of global this (@chohner)

v4.2.7 (2023/09/15 16:36 +00:00)

  • a43c400 docs: Update CHANGELOG
  • e0ad9bf test: Update tests after dependency updates
  • 005ae12 refactor: Simplify and secure two helper functions
  • 3e60e41 fix: Fix wrong merge
  • d72111b fix: Remove broken husky for now
  • 3fb8672 chore: Bump version, run audit fix and update README
  • #93 Merge pull request #93 from Linko91/patch-1 (@Linko91)
  • #81 Merge pull request #81 from sportsracer/fix-programmatic-out-option (@sportsracer)
  • 8387216 Merge branch 'master' into fix-programmatic-out-option (@RSeidelsohn)
  • #86 Merge pull request #86 from RSeidelsohn/dependabot/npm_and_yarn/semver-7.5.2 (@RSeidelsohn)
  • #90 Merge pull request #90 from RSeidelsohn/dependabot/npm_and_yarn/word-wrap-1.2.4 (@RSeidelsohn)
  • 2c3bfb4 docs: Add description of changes in new version
  • 5593636 updated "direct" type on index.d.ts (@Linko91)
  • ee849aa chore(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 (@dependabot[bot])
  • d697656 chore(deps): bump semver from 7.3.5 to 7.5.2 (@dependabot[bot])
  • #80 Merge pull request #80 from RSeidelsohn/dependabot/npm_and_yarn/flat-and-jenkins-mocha-5.0.2 (@RSeidelsohn)

v4.2.6 (2023/06/09 10:25 +00:00)

  • #85 Merge pull request #85 from RSeidelsohn/release_4.2.6 (@RSeidelsohn)
  • 6c7cfbb doc: Create a changelog
  • c16b8a3 chore: Bump version
  • 235cc2a fix: Update read-installed-packages to 2.0.1
  • 3b8cb4c refactor: Create helper function and use explicit node: in requires
  • 713f680 refactor: Extract a small functionality into a helper function
  • 806bc46 refactor: Combine early return conditions
  • 92c5a6a docs: Make comment more explicit
  • 4063551 refactor: Refactor and reorder constant and variable definitions
  • ca76b0f refactor: Move getCsvData and getCsvHeaders functions to index helpers
  • 0b500dd refactor: Increase type safety and simplify code
  • a3203f5 refactor: Move getOptionArray function to index helpers
  • eb87e1b refactor: Add a comment and increase type safety a bit
  • cbbbba4 refactor: Increase understandability of function
  • d7d069b Fix: Consider out option also when passed to programmatic interface (@steffen-workpath)
  • 8b94df8 docs: Add a few more comments to the code
  • 257c35b chore(deps): bump flat and jenkins-mocha (@dependabot[bot])
  • 25ec20a docs: Improve the usage message
  • edca92f refactor: Improve readability
  • #79 Merge pull request #79 from RSeidelsohn/dependabot/npm_and_yarn/yaml-2.2.2 (@RSeidelsohn)
  • 16475cf chore(deps): bump yaml from 2.2.1 to 2.2.2 (@dependabot[bot])

v4.2.5 (2023/04/16 19:26 +00:00)

  • #76 Merge pull request #76 from RSeidelsohn/release_4_2_5 (@RSeidelsohn)
  • 2535c96 chore: Increase fix version number
  • 491b5dc docs: Add description for the latest change
  • d581f46 fix: Provide safe defaults for destructured argument object

v4.2.4 (2023/04/16 18:35 +00:00)

  • #75 Merge pull request #75 from RSeidelsohn/release_4_2_4 (@RSeidelsohn)
  • 255d9a5 chore: Increase fix version number
  • aea0c2a test: Let the URL check tests pass and add new test
  • 42b67ec docs: Add description for the latest change
  • 0425c1d refactor: Rename regular expression constants and add one check

v4.2.3 (2023/04/16 14:24 +00:00)

  • 5d38eda test: comment blocked test back in
  • 078b593 chore: Bump fix version
  • 96b3f1e docs: Add change description for new fix version
  • 3c83772 fix: Fix --relativeModulePath using absolute paths when used with --start
  • 86a5bea docs: Add latest change info to README (@RSeidelsohn)

v4.2.2 (2023/04/16 11:05 +00:00)

  • #74 Merge pull request #74 from RSeidelsohn/release-4-2-2 (@RSeidelsohn)
  • 2d92105 chore: Increase fix version number (@RSeidelsohn)
  • bd6a385 fix: Fix relative path calculation (@RSeidelsohn)

v4.2.1 (2023/04/15 09:48 +00:00)

  • #73 Merge pull request #73 from RSeidelsohn/release_4_2_1 (@RSeidelsohn)
  • 681ccfa docs: Update the version history in the README file (@RSeidelsohn)
  • 62f95a1 docs: Update the options usage description (@RSeidelsohn)
  • b8cbb84 chore: Add new contributors (@RSeidelsohn)
  • 567ed5e config: Lower the coverage limits for now (@RSeidelsohn)
  • 8f738fb fix: Fix a sneaked in bug (@RSeidelsohn)
  • 429d389 fix: Fix a typo (@RSeidelsohn)
  • a4f7651 style: Remove a surplus empty line (@RSeidelsohn)
  • c5a35f3 refactor: Provide a better name for a variable (@RSeidelsohn)
  • ddf7cd7 fix: Try to skip "license" URLs ending with image file name endings (@RSeidelsohn)
  • 2e7d98c style: Delete empty line between comment and code (@RSeidelsohn)
  • 4697087 refactor: Move functionality into helpers and simplify exports (@RSeidelsohn)
  • 13c7656 refactor: Make code a bit safer (@RSeidelsohn)
  • 369f1d4 fix: Fix function parameters to strings and add documentation (@RSeidelsohn)
  • 817d7e0 refactor: Use a clearer argument name and provide a default value (@RSeidelsohn)
  • 8540df0 refactor: Move condition check after possible premature returns (@RSeidelsohn)
  • d907eac refactor: Provide a better name for the required index file. (@RSeidelsohn)
  • d24e338 fix: Fix typos (@RSeidelsohn)
  • 8008280 fix: Split helpers module in two files, so they can be required by two files (@RSeidelsohn)
  • 9b8ea62 refactor: Extract functionality to helper module file (@RSeidelsohn)
  • 01c2a06 refactor: Move getFirstNotUndefinedOrUndefined into helpers module file (@RSeidelsohn)
  • f1cf146 refactor: Extract functionality into helper functions (@RSeidelsohn)
  • 39554ab refactor: Delete superfluous condition check (@RSeidelsohn)
  • 54b43bd fix: Fix typo and remove TODO comment (@RSeidelsohn)
  • 733553d refactor: Use a better argument name (@RSeidelsohn)
  • 25fcb16 refactor: Extract function into helpers module file (@RSeidelsohn)
  • 1be32a5 refactor: Move variable declarations inside the block they belong to (@RSeidelsohn)
  • 8f403f7 style: Convert snake case into camel case (@RSeidelsohn)
  • 30aee71 style: Move comment into a prettier-satisfying position (@RSeidelsohn)
  • 7a4f006 refactor: Use a better name for the depth argument (@RSeidelsohn)
  • 03c69ee chore: Increase fix version number in package.json (@RSeidelsohn)
  • e445e7f refactor: Provide a better name for function argument (@RSeidelsohn)
  • 47904c3 fix: Fix the function for restricting to direct dependencies (@RSeidelsohn)
  • cb0e96a docs: Fix contents of function description (@RSeidelsohn)
  • 3c35163 refactor: Improve normalizing of "direct" argument and remove superfluous function (@RSeidelsohn)
  • 287e91e refactor: Rename knownOpts to knownOptions and getParsedArgs to getParsedArguments (@RSeidelsohn)
  • 98d475d refactor: Bring back alphabetical sort order to knownOpts params (@RSeidelsohn)
  • b44fc19 refactor: Use a better name for the json result from the checker (@RSeidelsohn)
  • cc750b0 docs: Improve warning message (@RSeidelsohn)
  • cb83ebb refactor: Reorder imports and constants in the file's head (@RSeidelsohn)
  • aa1e840 refactor: Extract premature process exits and warnings into separate module file (@RSeidelsohn)
  • 8cef34c refactor: Extract helper functions into separate module file (@RSeidelsohn)
  • 66cf9ab refactor: Extract usageMessage into separate file (@RSeidelsohn)
  • 0c19d56 fix: Correct a typo (@RSeidelsohn)
  • 6e1c7d4 refactor: Directly use "clarifications" as property and value (@RSeidelsohn)
  • 766f105 docs: Add explanations for option values (@RSeidelsohn)
  • 7923b06 refactor: Provide a better name for a helper function (@RSeidelsohn)
  • 9fb5226 docs: Update an outdated argument name in a function's documentation (@RSeidelsohn)
  • b8077ea refactor: Provide a better name for imported module function and its options (@RSeidelsohn)
  • ef5a5c4 refactor: Provide a better function name and move condition to function call (@RSeidelsohn)
  • 1b60109 refactor: Provide a better name for a helper function (@RSeidelsohn)
  • f4788b6 refactor: Transform snake case into camel case (@RSeidelsohn)
  • 129b6aa docs: Add a todo note (@RSeidelsohn)
  • c837b19 refactor: Provide better names for two constants (@RSeidelsohn)
  • 51273de config: Add .vscode directory to .gitignore (@RSeidelsohn)
  • 1b2aa50 feat: Add additional Apache version parser (@RSeidelsohn)
  • ca0487d test: Comment out url license test (@RSeidelsohn)
  • 7353c3f refactor: Remove superfluous code (@RSeidelsohn)
  • 7d756db refactor: Provide a better name for a function (@RSeidelsohn)
  • ad63417 fix: Revert arrow function to function expression (@RSeidelsohn)
  • 16708c1 style: Ran prettier --fix (@RSeidelsohn)
  • 5292c74 refactor: Provide better name and enhance functionality of helper function (@RSeidelsohn)
  • 17dd533 style: Convert function declarations to arrow functions (@RSeidelsohn)
  • 419437d fix: Fix choosing the wrong license info (@RSeidelsohn)
  • 0d24dca docs: Add a TODO comment for future refactoring (@RSeidelsohn)
  • 1105661 fix: Don't override custom licenses (@RSeidelsohn)
  • ac79741 docs: Add documentation helping with future refactorings (@RSeidelsohn)
  • a406048 refactor: Provide a better name for the content of the current license file (@RSeidelsohn)
  • 3105d5a refactor: Provide a better name for the files variable (@RSeidelsohn)
  • bdefc86 refactor: Restrict scope of variable and provide a better name (@RSeidelsohn)
  • 622d8b2 refactor: Give the key variable a better name (@RSeidelsohn)
  • 21380e9 style: Use double quotes for string with single quote inside (@RSeidelsohn)
  • b3e11e0 config: Increase editorconfig's indent size from 2 to 4 (@RSeidelsohn)
  • #71 Merge pull request #71 from Flydiverny/failing-test-custom-license (@Flydiverny)
  • #70 Merge pull request #70 from Semigradsky/update-dependencies (@Semigradsky)
  • #66 Merge pull request #66 from beawar/master (@beawar)
  • #65 Merge pull request #65 from marcobiedermann/patch-1 (@marcobiedermann)
  • 8165268 style: Add missing whitespace
  • bf5cf27 chore: Update version number from 4.1.1 to 4.2.0 in package.json
  • cf7cff8 docs: Add a message from the maintainer to the README
  • 0e2b4d8 fix: add failing test for custom license URL (@Flydiverny)
  • 85a2172 Update (@Semigradsky)
  • d61bc3b fix: parse direct also inside init to make it work in programmatic usage (@beawar)
  • 7fea720 Update README.md (@marcobiedermann)

v4.2.0 (2023/02/18 14:18 +00:00)

  • #64 Merge pull request #64 from zed-industries/clarifications-file-option (@zed-industries)
  • 906b3c2 Fixed ordering or command line arguments (@mikayla-maki)
  • 913fd07 Fix type (@mikayla-maki)
  • fe3182e Added licenseStart and licenseEnd (@mikayla-maki)
  • e67b6fc Fixed CLI help text (@mikayla-maki)
  • 7397cc6 Made checksum optional (@mikayla-maki)
  • a5ac9f5 Fix dropped argument in flatten recursion (@mikayla-maki)
  • 97508d6 Add a --clarificationFile option (@mikayla-maki)

v4.1.1 (2023/01/31 14:20 +00:00)

  • #62 Merge pull request #62 from RSeidelsohn/release-4.1.1 (@RSeidelsohn)
  • c009bbf chore: Bump patch level (@RSeidelsohn)
  • 66d34af docs: Update version history in README (@RSeidelsohn)
  • #60 Merge pull request #60 from slhck/fix-markdown (@slhck)
  • 4739bb1 fix: markdown list format, fixes #43 (@slhck)
  • #59 Merge pull request #59 from RSeidelsohn/release-3.1.0 (@RSeidelsohn)
  • d991030 chore: Bump minor version (@RSeidelsohn)

v4.1.0 (2023/01/30 09:36 +00:00)

  • #58 Merge pull request #58 from RSeidelsohn/release-3.1.0 (@RSeidelsohn)
  • 75f9408 config: Allow npm versions higher than 8 as well (@RSeidelsohn)

v4.0.1 (2023/01/30 09:29 +00:00)

  • #57 Merge pull request #57 from RSeidelsohn/release-3.0.1 (@RSeidelsohn)
  • #56 Merge pull request #56 from Flydiverny/patch-2 (@Flydiverny)
  • a88ccd7 style: Add missing spaces (@RSeidelsohn)
  • 3305531 docs: Update list of contributors (@RSeidelsohn)
  • f36da07 chore: Bump patch level (@RSeidelsohn)
  • 92bac36 chore: fix typo (@Flydiverny)

v4.0.0 (2023/01/21 19:43 +00:00)

  • #53 Merge pull request #53 from RSeidelsohn/feature/new_major_release_4 (@RSeidelsohn)
  • 0ac0f4b config: Add directories to .prettierignore file
  • 8bea56c config: Remove outdated config option from .prettierrc
  • 00d68a0 style: Delete trailing spaces from file
  • 33379e3 Add PrettierJS integration for ESlint and lint-staged
  • 5878be2 config: Add the tasks needed for lint-staged
  • 3a6a3ed config: Add prettier to the ESlint configuration
  • e2a740d config: Add new prettier and lint tasks to our package.json file
  • fcc3393 build: Add husky for the pre-commit hook
  • 1f45e6b config: Add pre-commit file for husky
  • e13662b chore: Bump to new major version
  • 9e42dfd build: Require a NodeJS version of 18
  • 60c1f4d config: Update package-lock.json
  • fa3bf91 docs: Add missing changes info to README file
  • 7c286b4 docs: Add "draft mode" notice to SECURITY.md
  • e6ac2ce config: Add an .editorconfig file to the project
  • 1b13ca4 config: Add NodeJS and npm version information to package.json
  • ff295d1 config: Add an .eslintignore file

v3.3.0 (2023/01/21 14:42 +00:00)

  • #52 Merge pull request #52 from RSeidelsohn/develop (@RSeidelsohn)
  • 0eb9a7e build: Update package-lock.json file
  • d4f2e4f chore: Update version
  • #50 Merge pull request #50 from eugene1g/master (@eugene1g)
  • 9b5f6f9 bug: Fix node version in .nvmrc file
  • 918e402 fix: allow to combine excludePackages and excludePackagesStartingWith options (@eugene1g)

v3.2.1 (2023/01/16 08:11 +00:00)

  • #51 Merge pull request #51 from RSeidelsohn/develop (@RSeidelsohn)
  • 38f6bba chore: Bump patch version
  • ab515f9 bug: Adjust node version to check for in test
  • 8dcd0db bug: Fix bug in excludePackagesStartingWith function
  • 646a3a8 build: Update minor and patch versions of dependencies and devdependencies
  • d84ca96 Merge branch 'master' into develop
  • ca08e1a chore: Update contributor's list
  • ff44a92 chore: Bump version

v3.2.0 (2023/01/14 17:55 +00:00)

  • #47 Merge pull request #47 from cezaris13/patch-1 (@cezaris13)
  • #39 Merge pull request #39 from Coada/patch-1 (@Coada)
  • #40 Merge pull request #40 from Coada/patch-2 (@Coada)
  • #48 Merge pull request #48 from rhl2401/master (@rhl2401)
  • #1 Merge pull request #1 from rhl2401/develop (@rhl2401)
  • 41ec1f6 Update readme (@Naviair-RHL)
  • 8686b7c Removed excludePackagesEndingWith as it was unnecessary (@Naviair-RHL)
  • 9528022 Finish up (@Naviair-RHL)
  • 964cbc8 FOrmat readme (@Naviair-RHL)
  • 63e4883 Remove console.log (@Naviair-RHL)
  • a80cf8d Added excludePackagesStartingWith (@Naviair-RHL)
  • d461398 Added args (@rhl2401)
  • df3e2d4 npm audit fix (@rhl2401)
  • d6150f6 p.lock (@rhl2401)
  • 1683c0f Updated requiring section (@cezaris13)
  • adbe3cb Update getLicenseTitle.js (@Coada)
  • 32cc054 Hippocratic License 2.1 (@Coada)
  • 88fb6c7 Exclude Licenses Example (@Coada)
  • dd42afc Update README.md (@RSeidelsohn)
  • e4363b7 Update README.md (@RSeidelsohn)
  • 2f600e5 Update README.md (@RSeidelsohn)
  • 28e6c8f Add table of contents to the README (@RSeidelsohn)
  • 72778d8 Update README.md (@RSeidelsohn)
  • a1d6b6a Update Readme.md (@RSeidelsohn)

v3.1.0 (2022/02/03 11:01 +00:00)

  • #32 Merge pull request #32 from RSeidelsohn/feature/0007_further-improvements (@RSeidelsohn)
  • 7d04599 chore: Bump minor version (@RSeidelsohn)
  • 6b3e9ba config: Improve module description text (@RSeidelsohn)
  • c87725b docs: Update changes in README (@RSeidelsohn)
  • 77dac66 docs: Add documentation for new 'limitAttributes' flag (@RSeidelsohn)
  • b5bebdc test: Test new attributes filter functionality (@RSeidelsohn)
  • 02f9d00 feat: Use new 'limitAttributes' flag (@RSeidelsohn)
  • c02e181 feat: Add filterJson function to main program (@RSeidelsohn)
  • 124ec3a feat: Add filterAttributes function for new limitAttributes flag (@RSeidelsohn)
  • 2252e1e config: Decrease expected coverage percentages (@RSeidelsohn)
  • ec15756 docs: Add "copyright" and order list alphabetically (@RSeidelsohn)
  • ef2424d config: Add provisions for a future TS version of the project (@RSeidelsohn)
  • ab1dbb2 style: Reorder variables (@RSeidelsohn)
  • 44b674a docs: Add comment to function (@RSeidelsohn)

v3.0.1 (2022/02/02 12:51 +00:00)

  • #31 Merge pull request #31 from RSeidelsohn/feature/0006_fix-direct-option (@RSeidelsohn)
  • f0f8642 chore: Bump fix version (@RSeidelsohn)
  • 5b8c7e5 fix: Respect 'direct' option correctly (@RSeidelsohn)
  • b4f1785 feat: Use new filter function (@RSeidelsohn)
  • 33a8cb3 feat: Add new helper function for removing unwanted dependencies (@RSeidelsohn)
  • 245f7a6 chore: Replace deprecated function (@RSeidelsohn)

v3.0.0 (2022/02/01 19:19 +00:00)

  • #30 Merge pull request #30 from RSeidelsohn/feature/0005_adjust-license-file-path (@RSeidelsohn)
  • 559db1b doc: Document new feature (@RSeidelsohn)
  • 97e4888 chore: Bump major version (@RSeidelsohn)
  • 26333fe build: Add lodash.clonedeep module (@RSeidelsohn)
  • 9cedc1e feat: Use licenseFile paths with --files option (@RSeidelsohn)
  • #29 Merge pull request #29 from RSeidelsohn/features/0004_maintenance (@RSeidelsohn)
  • a311bd2 Update README.md (@RSeidelsohn)

v2.4.8 (2022/01/31 21:40 +00:00)

  • 9ec6f30 chore: Bump version (@RSeidelsohn)
  • 1671afb config: Add package-lock to repo (@RSeidelsohn)

v2.4.7 (2022/01/31 21:35 +00:00)

  • bd3e97a chore: Bump version (@RSeidelsohn)
  • 3338a67 test: Update tests for npm install (@RSeidelsohn)
  • 36f95ad chore: Delete obsolete yarn.lock (@RSeidelsohn)
  • cd8765f build: Switch from yarn to npm (@RSeidelsohn)

v2.4.6 (2022/01/31 21:20 +00:00)

  • bc4dcb2 chore: Bump version (@RSeidelsohn)
  • #28 Merge pull request #28 from RSeidelsohn/feature/0003_fix-tests (@RSeidelsohn)
  • a77db58 test: Fix broken tests (@RSeidelsohn)

v2.4.5 (2022/01/31 20:48 +00:00)

  • 43715c8 chore: Bump version (@RSeidelsohn)

v2.4.4 (2022/01/31 20:44 +00:00)

  • a6e4935 build: Update lockfile (@RSeidelsohn)

v2.4.3 (2022/01/31 20:11 +00:00)

  • 1663bcb chore: Bump version (@RSeidelsohn)
  • bd51f74 fix: Add missing comma (@RSeidelsohn)
  • c0079b4 build: Increase node version (@RSeidelsohn)

v2.4.2 (2022/01/31 16:52 +00:00)

  • 6f66f8b chore: Bump version (@RSeidelsohn)
  • afaf3a3 docs: Add new feature to docs (@RSeidelsohn)
  • 90b30b2 chore: Bump version, update contributors (@RSeidelsohn)

v2.4.1 (2022/01/31 16:03 +00:00)

  • #22 Merge pull request #22 from Backfighter/patch-1 (@Backfighter)

v2.4.0 (2022/01/31 15:59 +00:00)

  • #26 Merge pull request #26 from d0b1010r/remove-console-log-failOn (@d0b1010r)

v2.3.0 (2022/01/31 15:48 +00:00)

  • #25 Merge pull request #25 from Semigradsky/master (@Semigradsky)
  • 1c49b25 Remove console.log when failOn option is given (@d0b1010r)
  • 27b301f Add nopeer option for ignoring peerDependencies. Add typings (@Semigradsky)
  • ddba2d0 Indicate required node version (@Backfighter)
  • b34fca8 Merge branch 'develop'

v2.2.0 (2021/10/12 16:45 +00:00)

  • cb91fb6 feat: Add support for detecting "unlicensed" modules
  • 35d93b4 chore: Fix a typo and a missing comma
  • 82abebf docs: Update contributors list

v2.1.4 (2021/10/12 15:23 +00:00)

  • 5f1b980 Merge branch 'develop'
  • 08cc6ee chore: bump to next version number
  • 2fce52d docs: Add info to README

v2.1.3 (2021/10/11 19:12 +00:00)

  • a43bbc0 Update dev-dependencies & fix duplicate entry in package.json
  • e554f1a config: Update dependencies
  • bdb9ca7 Update README.md (@RSeidelsohn)
  • a0160cd Update dev-dependencies & fix duplicate entry in package.json
  • 3acf3e2 config: Update dependencies
  • 78ac387 Bump path-parse from 1.0.6 to 1.0.7 (@dependabot[bot])
  • f5a3731 docs: Remove travis-ci build status as it fails for whatever reason
  • 8a717fd config: Add license field to package.json
  • fa3bfe2 config: Update lockfile and package.json
  • dccc9c0 config: Update lockfile and package.json
  • 840c82c config: Add license field to package.json
  • 1fb7df9 Update npmpublish.yml (@RSeidelsohn)
  • d37dc8e Update npmpublish.yml (@RSeidelsohn)

v2.1.1 (2021/05/30 14:42 +00:00)

  • ee23ecd config: Update fix version
  • e20ebb1 fix: Update lockfile
  • #13 Merge pull request #13 from mehmetb/mehmetb/fix-relative-module-path (@mehmetb)
  • 58b9212 Merge branch 'master' into mehmetb/fix-relative-module-path (@RSeidelsohn)

v2.1.0 (2021/05/30 14:29 +00:00)

  • e3f6dcb Update minor version
  • #12 Merge pull request #12 from mehmetb/mehmetb/fix-tests (@mehmetb)
  • be9f80b Merge branch 'master' into mehmetb/fix-tests (@RSeidelsohn)

v2.0.0 (2021/05/30 13:49 +00:00)

  • e04b9b9 conf: Update major version
  • e616329 fix: Fix broken stuff after refactoring and update failing tests
  • cdd9c4c config: Remove babel-eslint
  • 407bf06 style: Apply linter rules
  • 0ed8a22 refactor: Rename a lib file
  • 65dab1c refactor: Make a snippet more readable
  • 5a3cb04 BREAKING CHANGE: Make unknown options exit license checker
  • 9405cfb docs: Order options alphabetically and refactor some minor functions
  • 4930f10 docs: Order command line options alphabetically and fix visual glitch
  • e57d70e config: Adjust eslint rules
  • b7a20a0 Updated contributors in package.json (@mehmetb)
  • 60150a4 Fixed relative module paths option (@mehmetb)
  • eff328f Updated contributors in package.json (@mehmetb)
  • 9724ae9 Fixed a failing test (@mehmetb)
  • ebb29c8 Allow --files and --out options to be used simultaneously (WIP)

v1.2.2 (2021/05/02 14:28 +00:00)

  • 7ddc92a Increase version
  • 4b132b2 Remove debugging output
  • 2e30514 Print warning for unknown options passed to license-checker
  • 8a4000a Upgrade dependencies
  • c29f7de Create new lockfile
  • 06c5c4f New Version: Update dependencies
  • 01c804e Fix index check and update tests
  • f79e39c Update dependencies and increase version number
  • #8 Merge pull request #8 from RSeidelsohn/feature/0002_create-plain-vertical-output (@RSeidelsohn)

v1.2.0 (2021/04/08 16:55 +00:00)

  • 7244dc0 Increase version number for new option (@RSeidelsohn)
  • 0dfb384 Apply prettier formatting and use fixtures for new option test (@RSeidelsohn)
  • c8aec83 Apply prettier formatting and use const rather than var (@RSeidelsohn)
  • 305d5e5 Update documentation and add --angularCli synonym for --plainVertical (@RSeidelsohn)
  • 91a903a Add version information to module names for --plainVertical (@RSeidelsohn)
  • 4f2518a Apply prettier formatting (@RSeidelsohn)
  • 1d01481 Create SECURITY.md (@RSeidelsohn)
  • 8619690 WIP: Add new option 'plainVertical' (@RSeidelsohn)
  • 3dc7f67 Apply prettier formatting rules (@RSeidelsohn)
  • c65f153 Create codeql-analysis.yml (@RSeidelsohn)
  • #6 Merge pull request #6 from RSeidelsohn/dependabot/npm_and_yarn/y18n-4.0.1 (@RSeidelsohn)
  • #7 Merge pull request #7 from RSeidelsohn/develop (@RSeidelsohn)
  • 26264bb Update tests and start refactoring (@RSeidelsohn)
  • 25200da Upgrade dependencies to latest versions (@RSeidelsohn)
  • b8cf489 Bump y18n from 4.0.0 to 4.0.1 (@dependabot[bot])
  • e157e1c Add config files for prettier, nvm and git
  • 5bcc48d Add PrettierJS as dev dependency
  • 69e7b54 Update dependencies
  • 5598611 Remove obsolete file
  • ef0e391 Update node modules
  • c277e69 Add link to the original release
  • 3fe8111 Lower coverage affordances and fix tests
  • #4 Merge pull request #4 from gugu/patch-1 (@gugu)
  • f89cc19 Update license.js (@gugu)
  • 0f0bc30 Support zero parity license for husky module (@gugu)
  • #1 Merge pull request #1 from RSeidelsohn/dependabot/npm_and_yarn/acorn-7.1.1 (@RSeidelsohn)
  • f10d5d7 Bump acorn from 7.1.0 to 7.1.1 (@dependabot[bot])

v1.1.2 (2020/02/24 18:37 +00:00)

  • b01f461 Update version
  • 0edc410 Set up travis build process for the repository
  • da4435a Update version number
  • d4b5da6 Remove obsolete message
  • e103c66 Update version
  • dc9be2b Add new option --relativeModulePath
  • fd31c6e Update the readme
  • 1ebe5e5 Refactor code, implement new features and fix minor issues