{"analyzedAt":"2022-06-28T09:51:14.416Z","collected":{"metadata":{"name":"validate-npm-package-license","scope":"unscoped","version":"3.0.4","description":"Give me a string and I'll tell you if it's a valid npm package license string","keywords":["license","npm","package","validation"],"date":"2018-08-05T16:59:03.230Z","author":{"name":"Kyle E. Mitchell","email":"kyle@kemitchell.com","url":"https://kemitchell.com","username":"kemitchell"},"publisher":{"username":"kemitchell","email":"kyle@kemitchell.com"},"maintainers":[{"username":"kemitchell","email":"kyle@kemitchell.com"}],"contributors":[{"name":"Mark Stacey","email":"markjstacey@gmail.com"}],"repository":{"type":"git","url":"git+https://github.com/kemitchell/validate-npm-package-license.js.git"},"links":{"npm":"https://www.npmjs.com/package/validate-npm-package-license","homepage":"https://github.com/kemitchell/validate-npm-package-license.js#readme","repository":"https://github.com/kemitchell/validate-npm-package-license.js","bugs":"https://github.com/kemitchell/validate-npm-package-license.js/issues"},"license":"Apache-2.0","dependencies":{"spdx-correct":"^3.0.0","spdx-expression-parse":"^3.0.0"},"devDependencies":{"defence-cli":"^2.0.1","replace-require-self":"^1.0.0"},"releases":[{"from":"2022-05-29T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2022-03-30T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2021-12-30T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2021-06-28T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2020-06-28T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0}],"hasTestScript":true,"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-only 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```"},"npm":{"downloads":[{"from":"2022-06-27T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":3612964},{"from":"2022-06-21T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":19486338},{"from":"2022-05-29T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":81981173},{"from":"2022-03-30T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":247538643},{"from":"2021-12-30T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":490790903},{"from":"2021-06-28T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":972756746}],"starsCount":0},"github":{"homepage":"https://npmjs.com/packages/validate-npm-package-license","starsCount":23,"forksCount":17,"subscribersCount":4,"issues":{"count":14,"openCount":1,"distribution":{"3600":0,"10800":4,"32400":3,"97200":0,"291600":0,"874800":1,"2624400":1,"7873200":1,"23619600":2,"70858800":2,"212576400":0},"isDisabled":false},"contributors":[{"username":"kemitchell","commitsCount":54},{"username":"Gudahtt","commitsCount":1}],"commits":[{"from":"2022-06-21T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2022-05-29T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2022-03-30T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2021-12-30T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0},{"from":"2021-06-28T00:00:00.000Z","to":"2022-06-28T00:00:00.000Z","count":0}],"statuses":[{"context":"continuous-integration/travis-ci/push","state":"success"}]},"source":{"files":{"readmeSize":2566,"testsSize":0,"hasNpmIgnore":true}}},"evaluation":{"quality":{"carefulness":0.7899999999999999,"tests":0.25,"health":1,"branding":0},"popularity":{"communityInterest":46,"downloadsCount":82512881,"downloadsAcceleration":32286.985939878272,"dependentsCount":0},"maintenance":{"releasesFrequency":0.9,"commitsFrequency":0.9,"openIssues":1,"issuesDistribution":0.9}},"score":{"final":0.7996756946302728,"detail":{"quality":0.8423989548668263,"popularity":0.562825068607413,"maintenance":0.9999063833075152}}}