Options
All
  • Public
  • Public/Protected
  • All
Menu

whoss

Utility to parse npm packages used in a project and generate an attribution file to include in your product.

Travis npm Coverage Status npm npm Codacy grade

Installation

Local installation:

npm i whoss

or

yarn add whoss

Global installation:

npm i -g whoss

or

yarn global add whoss

Usage

For a single Node project

cd pathToYourProject
whoss
git add ./oss-attribution
git commit -m 'adding open source attribution output from whoss'

Help

Use the --help argument to get further usage details about the various program arguments:

whoss --help

Understanding the "overrides"

Ignoring a package

Sometimes, you may have an "internal" module which you/your team developed, or a module where you've arranged a special license with the owner. These wouldn't belong in your license attributions, so you can ignore them by creating an overrides.json file like so:

{
  "signaling-agent": {
      "ignore": true 
  }
}

Changing the properties of package in the attribution file only

Other times, you may need to supply your own text for the purpose of the attribution/credits. You have full control of this in the overrides.json file as well:

{
  "some-package": {
    "name": "some-other-package-name",
    "version": "1.0.0-someotherversion",
    "authors": "some person",
    "url": "https://thatwebsite.com/since/their/original/link/was/broken",
    "license": "MIT",
    "licenseText": "you can even override the license text in case the original contents of the LICENSE file were wrong for some reason"
  }
}

Running on CI

For a large project with multiple maintainers you will probably want to run this on your CI build server, so that the attributions are always up to date.

Prior art

Like most software, this component is built on the shoulders of giants; whoss was inspired in part by the following work:

Index

Type aliases

Author

Author: object

Type declaration

  • email: string
  • homepage: string
  • name: string
  • url: string

Options

Options: object

Type declaration

  • baseDir: Array<string>
  • outputDir: string

Variables

Const DEFAULT_SEPARATOR

DEFAULT_SEPARATOR: string = `${os.EOL}${os.EOL}******************************${os.EOL}${os.EOL}`

Functions

getAttributionForAuthor

  • getAttributionForAuthor(a: Author): string

getNpmLicenses

  • getNpmLicenses(options: Options): never[] | Bluebird<any[]>
  • Parameters

    Returns never[] | Bluebird<any[]>

whoss

  • whoss

    Utility to parse npm packages used in a project and generate an attribution file to include in your product.

    Parameters

    Returns void

Object literals

Const licenseCheckerCustomFormat

licenseCheckerCustomFormat: object

description

description: string = ""

email

email: string = ""

licenseFile

licenseFile: string = ""

licenseModified

licenseModified: boolean = false

licenses

licenses: string = ""

name

name: string = ""

publisher

publisher: string = ""

repository

repository: string = ""

url

url: string = ""

version

version: string = ""

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method

Generated using TypeDoc