projecte_ionic/node_modules/eslint-plugin-jsdoc/dist/rules/checkValues.js.map
2022-02-09 18:30:03 +01:00

1 line
7.2 KiB
Plaintext
Executable file

{"version":3,"sources":["../../src/rules/checkValues.js"],"names":["utils","report","context","options","allowedLicenses","allowedAuthors","licensePattern","forEachPreferredTag","jsdocParameter","targetTagName","version","description","trim","semver","valid","licenseRegex","RegExp","match","license","includes","join","author","iterateAllJsdocs","meta","docs","url","schema","additionalProperties","properties","items","type","anyOf"],"mappings":"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","sourcesContent":["import semver from 'semver';\nimport spdxExpressionParse from 'spdx-expression-parse';\nimport iterateJsdoc from '../iterateJsdoc';\n\nexport default iterateJsdoc(({\n utils,\n report,\n context,\n}) => {\n const options = context.options[0] || {};\n const {\n allowedLicenses = null,\n allowedAuthors = null,\n licensePattern = '([^\\n]*)',\n } = options;\n\n utils.forEachPreferredTag('version', (jsdocParameter, targetTagName) => {\n const version = jsdocParameter.description.trim();\n if (!version) {\n report(\n `Missing JSDoc @${targetTagName}.`,\n null,\n jsdocParameter,\n );\n } else if (!semver.valid(version)) {\n report(\n `Invalid JSDoc @${targetTagName}: \"${jsdocParameter.description}\".`,\n null,\n jsdocParameter,\n );\n }\n });\n utils.forEachPreferredTag('since', (jsdocParameter, targetTagName) => {\n const version = jsdocParameter.description.trim();\n if (!version) {\n report(\n `Missing JSDoc @${targetTagName}.`,\n null,\n jsdocParameter,\n );\n } else if (!semver.valid(version)) {\n report(\n `Invalid JSDoc @${targetTagName}: \"${jsdocParameter.description}\".`,\n null,\n jsdocParameter,\n );\n }\n });\n utils.forEachPreferredTag('license', (jsdocParameter, targetTagName) => {\n const licenseRegex = new RegExp(licensePattern, 'g');\n const match = jsdocParameter.description.match(licenseRegex);\n const license = match && match[1] || match[0];\n if (!license.trim()) {\n report(\n `Missing JSDoc @${targetTagName}.`,\n null,\n jsdocParameter,\n );\n } else if (allowedLicenses) {\n if (allowedLicenses !== true && !allowedLicenses.includes(license)) {\n report(\n `Invalid JSDoc @${targetTagName}: \"${license}\"; expected one of ${allowedLicenses.join(', ')}.`,\n null,\n jsdocParameter,\n );\n }\n } else {\n try {\n spdxExpressionParse(license);\n } catch {\n report(\n `Invalid JSDoc @${targetTagName}: \"${license}\"; expected SPDX expression: https://spdx.org/licenses/.`,\n null,\n jsdocParameter,\n );\n }\n }\n });\n\n utils.forEachPreferredTag('author', (jsdocParameter, targetTagName) => {\n const author = jsdocParameter.description;\n if (!author.trim()) {\n report(\n `Missing JSDoc @${targetTagName}.`,\n null,\n jsdocParameter,\n );\n } else if (allowedAuthors) {\n if (!allowedAuthors.includes(author)) {\n report(\n `Invalid JSDoc @${targetTagName}: \"${jsdocParameter.description}\"; expected one of ${allowedAuthors.join(', ')}.`,\n null,\n jsdocParameter,\n );\n }\n }\n });\n}, {\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: 'This rule checks the values for a handful of tags: `@version`, `@since`, `@license` and `@author`.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-check-values',\n },\n schema: [\n {\n additionalProperties: false,\n properties: {\n allowedAuthors: {\n items: {\n type: 'string',\n },\n type: 'array',\n },\n allowedLicenses: {\n anyOf: [\n {\n items: {\n type: 'string',\n },\n type: 'array',\n },\n {\n type: 'boolean',\n },\n ],\n },\n licensePattern: {\n type: 'string',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"file":"checkValues.js"}