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 | |
parent | 1dc84cdb53eff394b4d057be56f3ac3b2066b0b4 (diff) |
normalize-package-data@2.3.2
Support new version of `validate-npm-package-license`.
Diffstat (limited to 'node_modules')
8 files changed, 159 insertions, 550 deletions
diff --git a/node_modules/init-package-json/node_modules/validate-npm-package-license/LICENSE b/node_modules/init-package-json/node_modules/validate-npm-package-license/LICENSE deleted file mode 100644 index a5e905d55..000000000 --- a/node_modules/init-package-json/node_modules/validate-npm-package-license/LICENSE +++ /dev/null @@ -1,174 +0,0 @@ -SPDX:Apache-2.0 - -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the -copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other -entities that control, are controlled by, or are under common control -with that entity. For the purposes of this definition, "control" means -(i) the power, direct or indirect, to cause the direction or management -of such entity, whether by contract or otherwise, or (ii) ownership of -fifty percent (50%) or more of the outstanding shares, or (iii) -beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation source, -and configuration files. - -"Object" form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but not -limited to compiled object code, generated documentation, and -conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object -form, made available under the License, as indicated by a copyright -notice that is included in or attached to the work (an example is -provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object -form, that is based on (or derived from) the Work and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. For the purposes -of this License, Derivative Works shall not include works that remain -separable from, or merely link (or bind by name) to the interfaces of, -the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original -version of the Work and any modifications or additions to that Work or -Derivative Works thereof, that is intentionally submitted to Licensor -for inclusion in the Work by the copyright owner or by an individual or -Legal Entity authorized to submit on behalf of the copyright owner. For -the purposes of this definition, "submitted" means any form of -electronic, verbal, or written communication sent to the Licensor or its -representatives, including but not limited to communication on -electronic mailing lists, source code control systems, and issue -tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding -communication that is conspicuously marked or otherwise designated in -writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on -behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright -license to reproduce, prepare Derivative Works of, publicly display, -publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this -License, each Contributor hereby grants to You a perpetual, worldwide, -non-exclusive, no-charge, royalty-free, irrevocable (except as stated in -this section) patent license to make, have made, use, offer to sell, -sell, import, and otherwise transfer the Work, where such license -applies only to those patent claims licensable by such Contributor that -are necessarily infringed by their Contribution(s) alone or by -combination of their Contribution(s) with the Work to which such -Contribution(s) was submitted. If You institute patent litigation -against any entity (including a cross-claim or counterclaim in a -lawsuit) alleging that the Work or a Contribution incorporated within -the Work constitutes direct or contributory patent infringement, then -any patent licenses granted to You under this License for that Work -shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work -or Derivative Works thereof in any medium, with or without -modifications, and in Source or Object form, provided that You meet the -following conditions: - -(a) You must give any other recipients of the Work or Derivative Works a -copy of this License; and - -(b) You must cause any modified files to carry prominent notices stating -that You changed the files; and - -(c) You must retain, in the Source form of any Derivative Works that You -distribute, all copyright, patent, trademark, and attribution notices -from the Source form of the Work, excluding those notices that do not -pertain to any part of the Derivative Works; and - -(d) If the Work includes a "NOTICE" text file as part of its -distribution, then any Derivative Works that You distribute must include -a readable copy of the attribution notices contained within such NOTICE -file, excluding those notices that do not pertain to any part of the -Derivative Works, in at least one of the following places: within a -NOTICE text file distributed as part of the Derivative Works; within the -Source form or documentation, if provided along with the Derivative -Works; or, within a display generated by the Derivative Works, if and -wherever such third-party notices normally appear. The contents of the -NOTICE file are for informational purposes only and do not modify the -License. You may add Your own attribution notices within Derivative -Works that You distribute, alongside or as an addendum to the NOTICE -text from the Work, provided that such additional attribution notices -cannot be construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may -provide additional or different license terms and conditions for use, -reproduction, or distribution of Your modifications, or for any such -Derivative Works as a whole, provided Your use, reproduction, and -distribution of the Work otherwise complies with the conditions stated -in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, -any Contribution intentionally submitted for inclusion in the Work by -You to the Licensor shall be under the terms and conditions of this -License, without any additional terms or conditions. Notwithstanding the -above, nothing herein shall supersede or modify the terms of any -separate license agreement you may have executed with Licensor regarding -such Contributions. - -6. Trademarks. This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed -to in writing, Licensor provides the Work (and each Contributor provides -its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, either express or implied, including, without limitation, -any warranties or conditions of TITLE, NON-INFRINGEMENT, -MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely -responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your -exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, unless -required by applicable law (such as deliberate and grossly negligent -acts) or agreed to in writing, shall any Contributor be liable to You -for damages, including any direct, indirect, special, incidental, or -consequential damages of any character arising as a result of this -License or out of the use or inability to use the Work (including but -not limited to damages for loss of goodwill, work stoppage, computer -failure or malfunction, or any and all other commercial damages or -losses), even if such Contributor has been advised of the possibility of -such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the -Work or Derivative Works thereof, You may choose to offer, and charge a -fee for, acceptance of support, warranty, indemnity, or other liability -obligations and/or rights consistent with this License. However, in -accepting such obligations, You may act only on Your own behalf and on -Your sole responsibility, not on behalf of any other Contributor, and -only if You agree to indemnify, defend, and hold each Contributor -harmless for any liability incurred by, or claims asserted against, such -Contributor by reason of your accepting any such warranty or additional -liability. diff --git a/node_modules/init-package-json/node_modules/validate-npm-package-license/README.md b/node_modules/init-package-json/node_modules/validate-npm-package-license/README.md deleted file mode 100644 index c5b3bfcf3..000000000 --- a/node_modules/init-package-json/node_modules/validate-npm-package-license/README.md +++ /dev/null @@ -1,113 +0,0 @@ -validate-npm-package-license -============================ - -Give me a string and I'll tell you if it's a valid npm package license string. - -```javascript -var valid = require('validate-npm-package-license'); -``` - -SPDX license identifiers are valid license strings: - -```javascript - -var assert = require('assert'); -var validSPDXExpression = { - validForNewPackages: true, - validForOldPackages: true, - spdx: true -}; - -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: - -```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"' - ] - } -); -``` - -SPDX expressions are valid, too ... - -```javascript -// Simple SPDX license expression for dual licensing -assert.deepEqual( - valid('(GPL-3.0 OR BSD-2-Clause)'), - validSPDXExpression -); -``` - -... 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"), ' + - '"UNLICENSED", or ' + - '"SEE LICENSE IN <filename>"', - ] -}; - -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/init-package-json/node_modules/validate-npm-package-license/index.js b/node_modules/init-package-json/node_modules/validate-npm-package-license/index.js deleted file mode 100644 index 2ad98d9d8..000000000 --- a/node_modules/init-package-json/node_modules/validate-npm-package-license/index.js +++ /dev/null @@ -1,84 +0,0 @@ -var parse = require('spdx-expression-parse'); -var correct = require('spdx-correct'); - -var genericWarning = ( - 'license should be ' + - 'a valid SPDX license expression (without "LicenseRef"), ' + - '"UNLICENSED", or ' + - '"SEE LICENSE IN <filename>"' -); - -var fileReferenceRE = /^SEE LICEN[CS]E IN (.+)$/; - -function startsWith(prefix, string) { - return string.slice(0, prefix.length) === prefix; -} - -function usesLicenseRef(ast) { - if (ast.hasOwnProperty('license')) { - var license = ast.license; - return ( - startsWith('LicenseRef', license) || - startsWith('DocumentRef', license) - ); - } else { - return ( - usesLicenseRef(ast.left) || - usesLicenseRef(ast.right) - ); - } -} - -module.exports = function(argument) { - var ast; - - try { - ast = parse(argument); - } catch (e) { - var match - if ( - argument === 'UNLICENSED' || - argument === 'UNLICENCED' - ) { - 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, - validForNewPackages: false, - warnings: [genericWarning] - }; - var corrected = correct(argument); - if (corrected) { - result.warnings.push( - 'license is similar to the valid expression "' + corrected + '"' - ); - } - return result; - } - } - - if (usesLicenseRef(ast)) { - return { - validForNewPackages: false, - validForOldPackages: false, - spdx: true, - warnings: [genericWarning] - }; - } else { - return { - validForNewPackages: true, - validForOldPackages: true, - spdx: true - }; - } -}; diff --git a/node_modules/init-package-json/node_modules/validate-npm-package-license/package.json b/node_modules/init-package-json/node_modules/validate-npm-package-license/package.json deleted file mode 100644 index 30c34970c..000000000 --- a/node_modules/init-package-json/node_modules/validate-npm-package-license/package.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "_args": [ - [ - "validate-npm-package-license@^3.0.1", - "/Users/ogd/Documents/projects/npm/npm/node_modules/init-package-json" - ] - ], - "_from": "validate-npm-package-license@>=3.0.1 <4.0.0", - "_id": "validate-npm-package-license@3.0.1", - "_inCache": true, - "_location": "/init-package-json/validate-npm-package-license", - "_nodeVersion": "0.12.7", - "_npmUser": { - "email": "kyle@kemitchell.com", - "name": "kemitchell" - }, - "_npmVersion": "2.13.5", - "_phantomChildren": {}, - "_requested": { - "name": "validate-npm-package-license", - "raw": "validate-npm-package-license@^3.0.1", - "rawSpec": "^3.0.1", - "scope": null, - "spec": ">=3.0.1 <4.0.0", - "type": "range" - }, - "_requiredBy": [ - "/init-package-json" - ], - "_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@^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": "https://kemitchell.com" - }, - "bugs": { - "url": "https://github.com/kemitchell/validate-npm-package-license.js/issues" - }, - "dependencies": { - "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": { - "defence-cli": "^1.0.1", - "replace-require-self": "^1.0.0" - }, - "directories": {}, - "dist": { - "shasum": "2804babe712ad3379459acfbe24746ab2c303fbc", - "tarball": "http://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" - }, - "gitHead": "00200d28f9960985f221bc1a8a71e4760daf39bf", - "homepage": "https://github.com/kemitchell/validate-npm-package-license.js#readme", - "installable": true, - "keywords": [ - "license", - "npm", - "package", - "validation" - ], - "license": "Apache-2.0", - "maintainers": [ - { - "name": "kemitchell", - "email": "kyle@kemitchell.com" - }, - { - "name": "othiym23", - "email": "ogd@aoaioxxysz.net" - } - ], - "name": "validate-npm-package-license", - "optionalDependencies": {}, - "repository": { - "type": "git", - "url": "git+https://github.com/kemitchell/validate-npm-package-license.js.git" - }, - "scripts": { - "test": "defence README.md | replace-require-self | node" - }, - "version": "3.0.1" -} diff --git a/node_modules/normalize-package-data/package.json b/node_modules/normalize-package-data/package.json index d32e802a0..fa1fb33d8 100644 --- a/node_modules/normalize-package-data/package.json +++ b/node_modules/normalize-package-data/package.json @@ -1,27 +1,30 @@ { "_args": [ [ - "normalize-package-data@~2.3.1", - "/Users/rebecca/code/npm" + "normalize-package-data@~2.3.2", + "/Users/ogd/Documents/projects/npm/npm" ] ], - "_from": "normalize-package-data@>=2.3.1 <2.4.0", - "_id": "normalize-package-data@2.3.1", + "_from": "normalize-package-data@>=2.3.2 <2.4.0", + "_id": "normalize-package-data@2.3.2", "_inCache": true, "_location": "/normalize-package-data", - "_nodeVersion": "2.3.1", + "_nodeVersion": "2.5.0", "_npmUser": { "email": "ogd@aoaioxxysz.net", "name": "othiym23" }, - "_npmVersion": "2.13.1", - "_phantomChildren": {}, + "_npmVersion": "2.14.1", + "_phantomChildren": { + "spdx-correct": "1.0.0", + "spdx-expression-parse": "1.0.0" + }, "_requested": { "name": "normalize-package-data", - "raw": "normalize-package-data@~2.3.1", - "rawSpec": "~2.3.1", + "raw": "normalize-package-data@~2.3.2", + "rawSpec": "~2.3.2", "scope": null, - "spec": ">=2.3.1 <2.4.0", + "spec": ">=2.3.2 <2.4.0", "type": "range" }, "_requiredBy": [ @@ -29,11 +32,10 @@ "/npm-registry-client", "/read-package-json" ], - "_resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.1.tgz", - "_shasum": "e2d24a5ab38a90b22cd697753407d8564f49a890", + "_shasum": "ff6d437374188a21921c85fbe5ad11e34ae6ead5", "_shrinkwrap": null, - "_spec": "normalize-package-data@~2.3.1", - "_where": "/Users/rebecca/code/npm", + "_spec": "normalize-package-data@~2.3.2", + "_where": "/Users/ogd/Documents/projects/npm/npm", "author": { "email": "merynstol@gmail.com", "name": "Meryn Stol" @@ -58,7 +60,7 @@ "dependencies": { "hosted-git-info": "^2.0.2", "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^2.0.0" + "validate-npm-package-license": "^3.0.1" }, "description": "Normalizes data that can be found in package.json files.", "devDependencies": { @@ -68,11 +70,12 @@ }, "directories": {}, "dist": { - "shasum": "e2d24a5ab38a90b22cd697753407d8564f49a890", - "tarball": "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.1.tgz" + "shasum": "ff6d437374188a21921c85fbe5ad11e34ae6ead5", + "tarball": "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.2.tgz" }, - "gitHead": "43b844bd37aac28d204be7567b731d9c55025871", + "gitHead": "c0518cf9a352af940fee94b1d3144da576c3e44b", "homepage": "https://github.com/npm/normalize-package-data#readme", + "installable": true, "license": "BSD-2-Clause", "main": "lib/normalize.js", "maintainers": [ @@ -102,5 +105,5 @@ "scripts": { "test": "tap test/*.js" }, - "version": "2.3.1" + "version": "2.3.2" } 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" } |