Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorForrest L Norvell <forrest@npmjs.com>2015-08-28 03:13:55 +0300
committerForrest L Norvell <forrest@npmjs.com>2015-08-28 03:13:55 +0300
commiteb660309a4c0c88d5caeffd02b41dfdd7c0ced20 (patch)
tree211dacd47f55f726803031cdb0167b31e55aeaf3 /node_modules/validate-npm-package-license
parent1dc84cdb53eff394b4d057be56f3ac3b2066b0b4 (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.md124
-rw-r--r--node_modules/validate-npm-package-license/index.js34
-rw-r--r--node_modules/validate-npm-package-license/package.json52
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"
}