{
  "_args": [
    [
      {
        "raw": "spdx-expression-parse@~1.0.0",
        "scope": null,
        "escapedName": "spdx-expression-parse",
        "name": "spdx-expression-parse",
        "rawSpec": "~1.0.0",
        "spec": ">=1.0.0 <1.1.0",
        "type": "range"
      },
      "/build/npm-check-updates/pkg/npm-check-updates/usr/lib/node_modules/npm-check-updates/node_modules/validate-npm-package-license"
    ]
  ],
  "_from": "spdx-expression-parse@>=1.0.0 <1.1.0",
  "_id": "spdx-expression-parse@1.0.4",
  "_inCache": true,
  "_location": "/npm-check-updates/spdx-expression-parse",
  "_nodeVersion": "4.6.0",
  "_npmOperationalInternal": {
    "host": "packages-16-east.internal.npmjs.com",
    "tmp": "tmp/spdx-expression-parse-1.0.4.tgz_1475698361593_0.7478717286139727"
  },
  "_npmUser": {
    "name": "kemitchell",
    "email": "kyle@kemitchell.com"
  },
  "_npmVersion": "3.10.8",
  "_phantomChildren": {},
  "_requested": {
    "raw": "spdx-expression-parse@~1.0.0",
    "scope": null,
    "escapedName": "spdx-expression-parse",
    "name": "spdx-expression-parse",
    "rawSpec": "~1.0.0",
    "spec": ">=1.0.0 <1.1.0",
    "type": "range"
  },
  "_requiredBy": [
    "/npm-check-updates/validate-npm-package-license"
  ],
  "_resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
  "_shasum": "9bdf2f20e1f40ed447fbe273266191fced51626c",
  "_shrinkwrap": null,
  "_spec": "spdx-expression-parse@~1.0.0",
  "_where": "/build/npm-check-updates/pkg/npm-check-updates/usr/lib/node_modules/npm-check-updates/node_modules/validate-npm-package-license",
  "author": {
    "name": "Kyle E. Mitchell",
    "email": "kyle@kemitchell.com",
    "url": "http://kemitchell.com"
  },
  "bugs": {
    "url": "https://github.com/kemitchell/spdx-expression-parse.js/issues"
  },
  "contributors": [
    {
      "name": "C. Scott Ananian",
      "email": "cscott@cscott.net",
      "url": "http://cscott.net"
    },
    {
      "name": "Kyle E. Mitchell",
      "email": "kyle@kemitchell.com",
      "url": "https://kemitchell.com"
    },
    {
      "name": "Shinnosuke Watanabe",
      "email": "snnskwtnb@gmail.com"
    }
  ],
  "dependencies": {},
  "description": "parse SPDX license expressions",
  "devDependencies": {
    "defence-cli": "^1.0.1",
    "jison": "^0.4.15",
    "replace-require-self": "^1.0.0",
    "spdx-exceptions": "^1.0.4",
    "spdx-license-ids": "^1.0.0",
    "standard": "^8.0.0"
  },
  "directories": {},
  "dist": {
    "shasum": "9bdf2f20e1f40ed447fbe273266191fced51626c",
    "tarball": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz"
  },
  "files": [
    "AUTHORS",
    "index.js",
    "parser.js"
  ],
  "gitHead": "326b222ed9e89e9ef472656e9970649b9ee4e8f3",
  "homepage": "https://github.com/kemitchell/spdx-expression-parse.js#readme",
  "keywords": [
    "SPDX",
    "law",
    "legal",
    "license",
    "metadata",
    "package",
    "package.json",
    "standards"
  ],
  "license": "(MIT AND CC-BY-3.0)",
  "maintainers": [
    {
      "name": "kemitchell",
      "email": "kyle@kemitchell.com"
    }
  ],
  "name": "spdx-expression-parse",
  "optionalDependencies": {},
  "readme": "This package parses SPDX license expression strings describing license terms, like [package.json license strings](https://docs.npmjs.com/files/package.json#license), into consistently structured ECMAScript objects.  The npm command-line interface depends on this package, as do many automatic license-audit tools.\n\nIn a nutshell:\n\n```javascript\nvar parse = require('spdx-expression-parse')\nvar assert = require('assert')\n\nassert.deepEqual(\n  // Licensed under the terms of the Two-Clause BSD License.\n  parse('BSD-2-Clause'),\n  {license: 'BSD-2-Clause'}\n)\n\nassert.throws(function () {\n  // An invalid SPDX license expression.\n  // Should be `Apache-2.0`.\n  parse('Apache 2')\n})\n\nassert.deepEqual(\n  // Dual licensed under LGPL 2.1 or a combination of the Three-Clause\n  // BSD License and the MIT License.\n  parse('(LGPL-2.1 OR BSD-3-Clause AND MIT)'),\n  {\n    left: {license: 'LGPL-2.1'},\n    conjunction: 'or',\n    right: {\n      left: {license: 'BSD-3-Clause'},\n      conjunction: 'and',\n      right: {license: 'MIT'}\n    }\n  }\n)\n```\n\nThe syntax comes from the [Software Package Data eXchange (SPDX)](https://spdx.org/), a standard from the [Linux Foundation](https://www.linuxfoundation.org) for shareable data about software package license terms.  SPDX aims to make sharing and auditing license data easy, especially for users of open-source software.\n\nThe bulk of the SPDX standard describes syntax and semantics of XML metadata files.  This package implements two lightweight, plain-text components of that larger standard:\n\n1.  The [license list](https://spdx.org/licenses), a mapping from specific string identifiers, like `Apache-2.0`, to standard form license texts and bolt-on license exceptions.  The [spdx-license-ids](https://www.npmjs.com/package/spdx-exceptions) and [spdx-exceptions](https://www.npmjs.com/package/spdx-license-ids) packages implement the license list.  They are development dependencies of this package.\n\n    Any license identifier from the license list is a valid license expression:\n\n    ```javascript\n    require('spdx-license-ids').forEach(function (id) {\n      assert.deepEqual(parse(id), {license: id})\n    })\n    ```\n\n    So is any license identifier `WITH` a standardized license exception:\n\n    ```javascript\n    require('spdx-license-ids').forEach(function (id) {\n      require('spdx-exceptions').forEach(function (e) {\n        assert.deepEqual(\n          parse(id + ' WITH ' + e),\n          {license: id, exception: e}\n        )\n      })\n    })\n    ```\n\n2.  The license expression language, for describing simple and complex license terms, like `MIT` for MIT-licensed and `(GPL-2.0 OR Apache-2.0)` for dual-licensing under GPL 2.0 and Apache 2.0.  This package implements the license expression language.\n\n    ```javascript\n    assert.deepEqual(\n      // Licensed under a combination of the MIT License and a combination\n      // of LGPL 2.1 (or a later version) and the Three-Clause BSD License.\n      parse('(MIT AND (LGPL-2.1+ AND BSD-3-Clause))'),\n      {\n        left: {license: 'MIT'},\n        conjunction: 'and',\n        right: {\n          left: {license: 'LGPL-2.1', plus: true},\n          conjunction: 'and',\n          right: {license: 'BSD-3-Clause'}\n        }\n      }\n    )\n    ```\n\nThe Linux Foundation and its contributors license the SPDX standard under the terms of [the Creative Commons Attribution License 3.0 Unported (SPDX: \"CC-BY-3.0\")](http://spdx.org/licenses/CC-BY-3.0).  \"SPDX\" is a United States federally registered trademark of the Linux Foundation.  The authors of this package license their work under the terms of the MIT License.\n",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/kemitchell/spdx-expression-parse.js.git"
  },
  "scripts": {
    "lint": "standard",
    "prepublish": "node generate-parser.js > parser.js",
    "pretest": "npm run prepublish",
    "test": "defence -i javascript README.md | replace-require-self | node"
  },
  "version": "1.0.4"
}
