correct-license-metadata

1.4.0 • Public • Published

interpret old-style npm licenses arrays and other aberrations

var correct = require('correct-license-metadata')
var assert = require('assert')
 
assert.strictEqual(
  correct({
    license: '(MIT OR GPL-2.0-only)' // valid metadata
  }),
  '(MIT OR GPL-2.0-only)'
)
 
assert.strictEqual(
  correct({
    licenses: [ // old-style licenses array
      {
        type: 'MIT',
        url: 'http://opensource.org/licenses/MIT'
      }
    ]
  }),
  'MIT'
)
 
assert.strictEqual(
  correct({
    license: {
      type: 'MIT',
      url: 'https://github.com/isaacs/rimraf/raw/master/LICENSE'
    }
  }),
  'MIT'
)
 
assert.strictEqual(
  correct({
    licenses: [
      {
        type: 'Apache License 2.0', // invalid SPDX ID
        url: 'https://github.com/Microsoft/tslib/blob/master/LICENSE.txt'
      }
    ]
  }),
  'Apache-2.0'
)
 
assert.strictEqual(
  correct({
    license: [ // old-style license array
      {
        type: 'MIT',
        url: 'http://opensource.org/licenses/MIT'
      }
    ]
  }),
  'MIT'
)
 
assert.strictEqual(
  correct({
    license: "MIT/X11"
  }),
  'MIT'
)
 
assert.strictEqual(
  correct({
    licenses: ['MIT'] // invalid
  }),
  'MIT'
)
 
assert.strictEqual(
  correct({
    licenses: ['MIT'], // invalid
    license: 'GPL-3.0' // valid, conflicting
  }),
  false
)
 
assert.throws(
  function () {
    correct('not an object')
  },
  /argument must be an object/
)

Readme

Keywords

Package Sidebar

Install

npm i correct-license-metadata

Weekly Downloads

20,810

Version

1.4.0

License

MIT

Unpacked Size

6.01 kB

Total Files

4

Last publish

Collaborators

  • kemitchell