diff options
author | Forrest L Norvell <forrest@npmjs.com> | 2015-08-28 03:13:55 +0300 |
---|---|---|
committer | Forrest L Norvell <forrest@npmjs.com> | 2015-08-28 03:13:55 +0300 |
commit | eb660309a4c0c88d5caeffd02b41dfdd7c0ced20 (patch) | |
tree | 211dacd47f55f726803031cdb0167b31e55aeaf3 /node_modules/validate-npm-package-license | |
parent | 1dc84cdb53eff394b4d057be56f3ac3b2066b0b4 (diff) |
normalize-package-data@2.3.2
Support new version of `validate-npm-package-license`.
Diffstat (limited to 'node_modules/validate-npm-package-license')
-rw-r--r-- | node_modules/validate-npm-package-license/README.md | 124 | ||||
-rw-r--r-- | node_modules/validate-npm-package-license/index.js | 34 | ||||
-rw-r--r-- | node_modules/validate-npm-package-license/package.json | 52 |
3 files changed, 137 insertions, 73 deletions
diff --git a/node_modules/validate-npm-package-license/README.md b/node_modules/validate-npm-package-license/README.md index b71e26e06..c5b3bfcf3 100644 --- a/node_modules/validate-npm-package-license/README.md +++ b/node_modules/validate-npm-package-license/README.md @@ -3,59 +3,111 @@ validate-npm-package-license Give me a string and I'll tell you if it's a valid npm package license string. -<!-- js var valid = require('./'); --> +```javascript +var valid = require('validate-npm-package-license'); +``` + +SPDX license identifiers are valid license strings: -```js -var noWarnings = { +```javascript + +var assert = require('assert'); +var validSPDXExpression = { validForNewPackages: true, - validForOldPackages: true + validForOldPackages: true, + spdx: true }; -// SPDX license identifier for common open-source licenses -valid('MIT'); // => noWarnings -valid('BSD-2-Clause'); // => noWarnings -valid('Apache-2.0'); // => noWarnings -valid('ISC'); // => noWarnings - -// Simple SPDX license expression for dual licensing -valid('(GPL-3.0 OR BSD-2-Clause)'); // => noWarnings +assert.deepEqual(valid('MIT'), validSPDXExpression); +assert.deepEqual(valid('BSD-2-Clause'), validSPDXExpression); +assert.deepEqual(valid('Apache-2.0'), validSPDXExpression); +assert.deepEqual(valid('ISC'), validSPDXExpression); +``` +The function will return a warning and suggestion for nearly-correct license identifiers: -// Refer to a non-standard license found in the package -valid('SEE LICENSE IN LICENSE.txt'); // => noWarnings -valid('SEE LICENSE IN license.md'); // => noWarnings +```javascript +assert.deepEqual( + valid('Apache 2.0'), + { + validForOldPackages: false, + validForNewPackages: false, + warnings: [ + 'license should be ' + + 'a valid SPDX license expression (without "LicenseRef"), ' + + '"UNLICENSED", or ' + + '"SEE LICENSE IN <filename>"', + 'license is similar to the valid expression "Apache-2.0"' + ] + } +); +``` -// No license -valid('UNLICENSED'); // => noWarnings -valid('UNLICENCED'); // => noWarnings +SPDX expressions are valid, too ... -var warningsWithSuggestion = { - validForOldPackages: false, - validForNewPackages: false, - warnings: [ - 'license should be ' + - 'a valid SPDX license expression without "LicenseRef", ' + - '"UNLICENSED", or ' + - '"SEE LICENSE IN <filename>"', - 'license is similar to the valid expression "Apache-2.0"' - ] -}; +```javascript +// Simple SPDX license expression for dual licensing +assert.deepEqual( + valid('(GPL-3.0 OR BSD-2-Clause)'), + validSPDXExpression +); +``` -// Almost a valid SPDX license identifier -valid('Apache 2.0'); // => warningsWithSuggestion +... except if they contain `LicenseRef`: +```javascript var warningAboutLicenseRef = { validForOldPackages: false, validForNewPackages: false, + spdx: true, warnings: [ 'license should be ' + - 'a valid SPDX license expression without "LicenseRef", ' + + 'a valid SPDX license expression (without "LicenseRef"), ' + '"UNLICENSED", or ' + '"SEE LICENSE IN <filename>"', ] }; -// LicenseRef-* identifiers are valid SPDX expressions, -// but not valid in package.json -valid('LicenseRef-Made-Up'); // => warningAboutLicenseRef -valid('(MIT OR LicenseRef-Made-Up)'); // => warningAboutLicenseRef +assert.deepEqual( + valid('LicenseRef-Made-Up'), + warningAboutLicenseRef +); + +assert.deepEqual( + valid('(MIT OR LicenseRef-Made-Up)'), + warningAboutLicenseRef +); +``` + +If you can't describe your licensing terms with standardized SPDX identifiers, put the terms in a file in the package and point users there: + +```javascript +assert.deepEqual( + valid('SEE LICENSE IN LICENSE.txt'), + { + validForNewPackages: true, + validForOldPackages: true, + inFile: 'LICENSE.txt' + } +); + +assert.deepEqual( + valid('SEE LICENSE IN license.md'), + { + validForNewPackages: true, + validForOldPackages: true, + inFile: 'license.md' + } +); +``` + +If there aren't any licensing terms, use `UNLICENSED`: + +```javascript +var unlicensed = { + validForNewPackages: true, + validForOldPackages: true, + unlicensed: true +}; +assert.deepEqual(valid('UNLICENSED'), unlicensed); +assert.deepEqual(valid('UNLICENCED'), unlicensed); ``` diff --git a/node_modules/validate-npm-package-license/index.js b/node_modules/validate-npm-package-license/index.js index 2e9bc195d..2ad98d9d8 100644 --- a/node_modules/validate-npm-package-license/index.js +++ b/node_modules/validate-npm-package-license/index.js @@ -1,14 +1,9 @@ -var spdx = require('spdx'); +var parse = require('spdx-expression-parse'); var correct = require('spdx-correct'); -var validResult = { - validForNewPackages: true, - validForOldPackages: true -}; - var genericWarning = ( 'license should be ' + - 'a valid SPDX license expression without "LicenseRef", ' + + 'a valid SPDX license expression (without "LicenseRef"), ' + '"UNLICENSED", or ' + '"SEE LICENSE IN <filename>"' ); @@ -38,14 +33,24 @@ module.exports = function(argument) { var ast; try { - ast = spdx.parse(argument); + ast = parse(argument); } catch (e) { + var match if ( argument === 'UNLICENSED' || - argument === 'UNLICENCED' || - fileReferenceRE.test(argument) + argument === 'UNLICENCED' ) { - return validResult; + return { + validForOldPackages: true, + validForNewPackages: true, + unlicensed: true + }; + } else if (match = fileReferenceRE.exec(argument)) { + return { + validForOldPackages: true, + validForNewPackages: true, + inFile: match[1] + }; } else { var result = { validForOldPackages: false, @@ -66,9 +71,14 @@ module.exports = function(argument) { return { validForNewPackages: false, validForOldPackages: false, + spdx: true, warnings: [genericWarning] }; } else { - return validResult; + return { + validForNewPackages: true, + validForOldPackages: true, + spdx: true + }; } }; diff --git a/node_modules/validate-npm-package-license/package.json b/node_modules/validate-npm-package-license/package.json index 1242ca4a4..94c1433c7 100644 --- a/node_modules/validate-npm-package-license/package.json +++ b/node_modules/validate-npm-package-license/package.json @@ -1,61 +1,63 @@ { "_args": [ [ - "validate-npm-package-license@^2.0.0", - "/Users/rebecca/code/npm/node_modules/init-package-json" + "validate-npm-package-license@^3.0.1", + "/Users/ogd/Documents/projects/npm/npm/node_modules/init-package-json" ] ], - "_from": "validate-npm-package-license@>=2.0.0 <3.0.0", - "_id": "validate-npm-package-license@2.0.0", + "_from": "validate-npm-package-license@>=3.0.1 <4.0.0", + "_id": "validate-npm-package-license@3.0.1", "_inCache": true, "_location": "/validate-npm-package-license", - "_nodeVersion": "2.3.0", + "_nodeVersion": "0.12.7", "_npmUser": { "email": "kyle@kemitchell.com", "name": "kemitchell" }, - "_npmVersion": "2.11.1", + "_npmVersion": "2.13.5", "_phantomChildren": {}, "_requested": { "name": "validate-npm-package-license", - "raw": "validate-npm-package-license@^2.0.0", - "rawSpec": "^2.0.0", + "raw": "validate-npm-package-license@^3.0.1", + "rawSpec": "^3.0.1", "scope": null, - "spec": ">=2.0.0 <3.0.0", + "spec": ">=3.0.1 <4.0.0", "type": "range" }, "_requiredBy": [ "/init-package-json", "/normalize-package-data" ], - "_resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-2.0.0.tgz", - "_shasum": "ce0a29300edfa07e6ac6ad52eed8d6dfd194e42b", + "_resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "_shasum": "2804babe712ad3379459acfbe24746ab2c303fbc", "_shrinkwrap": null, - "_spec": "validate-npm-package-license@^2.0.0", - "_where": "/Users/rebecca/code/npm/node_modules/init-package-json", + "_spec": "validate-npm-package-license@^3.0.1", + "_where": "/Users/ogd/Documents/projects/npm/npm/node_modules/init-package-json", "author": { "email": "kyle@kemitchell.com", "name": "Kyle E. Mitchell", - "url": "http://kemitchell.com" + "url": "https://kemitchell.com" }, "bugs": { "url": "https://github.com/kemitchell/validate-npm-package-license.js/issues" }, "dependencies": { - "spdx": "~0.4.0", - "spdx-correct": "~1.0.0" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" }, "description": "Give me a string and I'll tell you if it's a valid npm package license string", "devDependencies": { - "jsmd": "~0.3.0" + "defence-cli": "^1.0.1", + "replace-require-self": "^1.0.0" }, "directories": {}, "dist": { - "shasum": "ce0a29300edfa07e6ac6ad52eed8d6dfd194e42b", - "tarball": "http://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-2.0.0.tgz" + "shasum": "2804babe712ad3379459acfbe24746ab2c303fbc", + "tarball": "http://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" }, - "gitHead": "24544d4688f7cc9ed9685a3f9f90bd3f3bed58c0", - "homepage": "https://github.com/kemitchell/validate-npm-package-license.js", + "gitHead": "00200d28f9960985f221bc1a8a71e4760daf39bf", + "homepage": "https://github.com/kemitchell/validate-npm-package-license.js#readme", + "installable": true, "keywords": [ "license", "npm", @@ -63,7 +65,6 @@ "validation" ], "license": "Apache-2.0", - "main": "index.js", "maintainers": [ { "name": "kemitchell", @@ -76,13 +77,14 @@ ], "name": "validate-npm-package-license", "optionalDependencies": {}, + "readme": "validate-npm-package-license\n============================\n\nGive me a string and I'll tell you if it's a valid npm package license string.\n\n```javascript\nvar valid = require('validate-npm-package-license');\n```\n\nSPDX license identifiers are valid license strings:\n\n```javascript\n\nvar assert = require('assert');\nvar validSPDXExpression = {\n validForNewPackages: true,\n validForOldPackages: true,\n spdx: true\n};\n\nassert.deepEqual(valid('MIT'), validSPDXExpression);\nassert.deepEqual(valid('BSD-2-Clause'), validSPDXExpression);\nassert.deepEqual(valid('Apache-2.0'), validSPDXExpression);\nassert.deepEqual(valid('ISC'), validSPDXExpression);\n```\nThe function will return a warning and suggestion for nearly-correct license identifiers:\n\n```javascript\nassert.deepEqual(\n valid('Apache 2.0'),\n {\n validForOldPackages: false,\n validForNewPackages: false,\n warnings: [\n 'license should be ' +\n 'a valid SPDX license expression (without \"LicenseRef\"), ' +\n '\"UNLICENSED\", or ' +\n '\"SEE LICENSE IN <filename>\"',\n 'license is similar to the valid expression \"Apache-2.0\"'\n ]\n }\n);\n```\n\nSPDX expressions are valid, too ...\n\n```javascript\n// Simple SPDX license expression for dual licensing\nassert.deepEqual(\n valid('(GPL-3.0 OR BSD-2-Clause)'),\n validSPDXExpression\n);\n```\n\n... except if they contain `LicenseRef`:\n\n```javascript\nvar warningAboutLicenseRef = {\n validForOldPackages: false,\n validForNewPackages: false,\n spdx: true,\n warnings: [\n 'license should be ' +\n 'a valid SPDX license expression (without \"LicenseRef\"), ' +\n '\"UNLICENSED\", or ' +\n '\"SEE LICENSE IN <filename>\"',\n ]\n};\n\nassert.deepEqual(\n valid('LicenseRef-Made-Up'),\n warningAboutLicenseRef\n);\n\nassert.deepEqual(\n valid('(MIT OR LicenseRef-Made-Up)'),\n warningAboutLicenseRef\n);\n```\n\nIf you can't describe your licensing terms with standardized SPDX identifiers, put the terms in a file in the package and point users there:\n\n```javascript\nassert.deepEqual(\n valid('SEE LICENSE IN LICENSE.txt'),\n {\n validForNewPackages: true,\n validForOldPackages: true,\n inFile: 'LICENSE.txt'\n }\n);\n\nassert.deepEqual(\n valid('SEE LICENSE IN license.md'),\n {\n validForNewPackages: true,\n validForOldPackages: true,\n inFile: 'license.md'\n }\n);\n```\n\nIf there aren't any licensing terms, use `UNLICENSED`:\n\n```javascript\nvar unlicensed = {\n validForNewPackages: true,\n validForOldPackages: true,\n unlicensed: true\n};\nassert.deepEqual(valid('UNLICENSED'), unlicensed);\nassert.deepEqual(valid('UNLICENCED'), unlicensed);\n```\n", + "readmeFilename": "README.md", "repository": { "type": "git", "url": "git+https://github.com/kemitchell/validate-npm-package-license.js.git" }, "scripts": { - "precommit": "npm run test", - "test": "jsmd README.md" + "test": "defence README.md | replace-require-self | node" }, - "version": "2.0.0" + "version": "3.0.1" } |