eslint-plugin-jsdoc 37.4.0 → 37.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/dist/alignTransform.js.map +1 -1
- package/dist/bin/generateRule.js.map +1 -1
- package/dist/exportParser.js.map +1 -1
- package/dist/generateRule.js.map +1 -1
- package/dist/getDefaultTagStructureForMode.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/iterateJsdoc.js.map +1 -1
- package/dist/jsdocUtils.js.map +1 -1
- package/dist/rules/checkAccess.js.map +1 -1
- package/dist/rules/checkExamples.js +2 -2
- package/dist/rules/checkExamples.js.map +1 -1
- package/dist/rules/checkIndentation.js.map +1 -1
- package/dist/rules/checkLineAlignment.js.map +1 -1
- package/dist/rules/checkParamNames.js.map +1 -1
- package/dist/rules/checkPropertyNames.js.map +1 -1
- package/dist/rules/checkSyntax.js.map +1 -1
- package/dist/rules/checkTagNames.js.map +1 -1
- package/dist/rules/checkTypes.js.map +1 -1
- package/dist/rules/emptyTags.js.map +1 -1
- package/dist/rules/matchDescription.js.map +1 -1
- package/dist/rules/matchName.js.map +1 -1
- package/dist/rules/multilineBlocks.js.map +1 -1
- package/dist/rules/newlineAfterDescription.js.map +1 -1
- package/dist/rules/noBadBlocks.js.map +1 -1
- package/dist/rules/noDefaults.js.map +1 -1
- package/dist/rules/noMissingSyntax.js.map +1 -1
- package/dist/rules/noMultiAsterisks.js.map +1 -1
- package/dist/rules/noRestrictedSyntax.js.map +1 -1
- package/dist/rules/noTypes.js.map +1 -1
- package/dist/rules/noUndefinedTypes.js.map +1 -1
- package/dist/rules/requireAsteriskPrefix.js.map +1 -1
- package/dist/rules/requireDescription.js.map +1 -1
- package/dist/rules/requireDescriptionCompleteSentence.js.map +1 -1
- package/dist/rules/requireExample.js.map +1 -1
- package/dist/rules/requireFileOverview.js.map +1 -1
- package/dist/rules/requireHyphenBeforeParamDescription.js.map +1 -1
- package/dist/rules/requireJsdoc.js.map +1 -1
- package/dist/rules/requireParam.js.map +1 -1
- package/dist/rules/requireProperty.js.map +1 -1
- package/dist/rules/requireReturns.js.map +1 -1
- package/dist/rules/requireReturnsCheck.js.map +1 -1
- package/dist/rules/requireReturnsDescription.js.map +1 -1
- package/dist/rules/requireThrows.js.map +1 -1
- package/dist/rules/requireYields.js.map +1 -1
- package/dist/rules/requireYieldsCheck.js.map +1 -1
- package/dist/rules/tagLines.js.map +1 -1
- package/dist/rules/validTypes.js.map +1 -1
- package/dist/tagNames.js.map +1 -1
- package/package.json +14 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/rules/validTypes.js"],"names":["asExpression","suppressTypes","Set","tryParsePathIgnoreError","path","jsdoc","report","utils","context","settings","allowEmptyNamepaths","options","mode","tag","tags","validNamepathParsing","namepath","tagName","handled","startsWith","endChar","slice","includes","startChar","charAt","validTypeParsing","type","thisNamepath","getTagDescription","replace","trim","test","thatNamepath","name","parsedTypes","node","value","undefined","has","otherModeMaps","filter","mde","map","getTagStructureForMode","tagMightHaveNamePosition","modeInfo","mightHaveTypePosition","tagMightHaveTypePosition","tagMustHaveNamePosition","mustHaveTypePosition","tagMustHaveTypePosition","tagMissingRequiredTypeOrNamepath","hasTypePosition","Boolean","hasNameOrNamepathPosition","tagMightHaveNamepath","parseClosureTemplateTag","iterateAllJsdocs","meta","docs","description","url","schema","additionalProperies","properties","default"],"mappings":"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","sourcesContent":["import {\n tryParse, parse, traverse,\n} from 'jsdoc-type-pratt-parser';\nimport iterateJsdoc from '../iterateJsdoc';\n\nconst asExpression = /as\\s+/u;\n\nconst suppressTypes = new Set([\n // https://github.com/google/closure-compiler/wiki/@suppress-annotations\n // https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/parsing/ParserConfig.properties#L154\n 'accessControls',\n 'checkDebuggerStatement',\n 'checkPrototypalTypes',\n 'checkRegExp',\n 'checkTypes',\n 'checkVars',\n 'closureDepMethodUsageChecks',\n 'const',\n 'constantProperty',\n 'deprecated',\n 'duplicate',\n 'es5Strict',\n 'externsValidation',\n 'extraProvide',\n 'extraRequire',\n 'globalThis',\n 'invalidCasts',\n 'lateProvide',\n 'legacyGoogScopeRequire',\n 'lintChecks',\n 'messageConventions',\n 'misplacedTypeAnnotation',\n 'missingOverride',\n 'missingPolyfill',\n 'missingProperties',\n 'missingProvide',\n 'missingRequire',\n 'missingSourcesWarnings',\n 'moduleLoad',\n 'nonStandardJsDocs',\n 'partialAlias',\n 'polymer',\n 'reportUnknownTypes',\n 'strictMissingProperties',\n 'strictModuleDepCheck',\n 'strictPrimitiveOperators',\n 'suspiciousCode',\n\n // Not documented in enum\n 'switch',\n 'transitionalSuspiciousCodeWarnings',\n 'undefinedNames',\n 'undefinedVars',\n 'underscore',\n 'unknownDefines',\n 'untranspilableFeatures',\n 'unusedLocalVariables',\n 'unusedPrivateMembers',\n 'useOfGoogProvide',\n 'uselessCode',\n 'visibility',\n 'with',\n]);\n\nconst tryParsePathIgnoreError = (path) => {\n try {\n tryParse(path);\n\n return true;\n } catch {\n // Keep the original error for including the whole type\n }\n\n return false;\n};\n\n// eslint-disable-next-line complexity\nexport default iterateJsdoc(({\n jsdoc,\n report,\n utils,\n context,\n settings,\n}) => {\n const {\n allowEmptyNamepaths = false,\n } = context.options[0] || {};\n const {mode} = settings;\n\n for (const tag of jsdoc.tags) {\n const validNamepathParsing = function (namepath, tagName) {\n if (tryParsePathIgnoreError(namepath)) {\n return true;\n }\n\n let handled = false;\n\n if (tagName) {\n // eslint-disable-next-line default-case\n switch (tagName) {\n case 'module': {\n if (!namepath.startsWith('module:')) {\n handled = tryParsePathIgnoreError(`module:${namepath}`);\n }\n\n break;\n }\n\n case 'memberof': case 'memberof!': {\n const endChar = namepath.slice(-1);\n if (['#', '.', '~'].includes(endChar)) {\n handled = tryParsePathIgnoreError(namepath.slice(0, -1));\n }\n\n break;\n }\n\n case 'borrows': {\n const startChar = namepath.charAt();\n if (['#', '.', '~'].includes(startChar)) {\n handled = tryParsePathIgnoreError(namepath.slice(1));\n }\n }\n }\n }\n\n if (!handled) {\n report(`Syntax error in namepath: ${namepath}`, null, tag);\n\n return false;\n }\n\n return true;\n };\n\n const validTypeParsing = function (type) {\n try {\n if (mode === 'permissive') {\n tryParse(type);\n } else {\n parse(type, mode);\n }\n } catch {\n report(`Syntax error in type: ${type}`, null, tag);\n\n return false;\n }\n\n return true;\n };\n\n if (tag.tag === 'borrows') {\n const thisNamepath = utils.getTagDescription(tag).replace(asExpression, '')\n .trim();\n\n if (!asExpression.test(utils.getTagDescription(tag)) || !thisNamepath) {\n report(`@borrows must have an \"as\" expression. Found \"${utils.getTagDescription(tag)}\"`, null, tag);\n\n continue;\n }\n\n if (validNamepathParsing(thisNamepath, 'borrows')) {\n const thatNamepath = tag.name;\n\n validNamepathParsing(thatNamepath);\n }\n\n continue;\n }\n\n if (tag.tag === 'suppress' && mode === 'closure') {\n let parsedTypes;\n\n try {\n parsedTypes = tryParse(tag.type);\n } catch {\n // Ignore\n }\n\n if (parsedTypes) {\n traverse(parsedTypes, (node) => {\n const {value: type} = node;\n if (type !== undefined && !suppressTypes.has(type)) {\n report(`Syntax error in supresss type: ${type}`, null, tag);\n }\n });\n }\n }\n\n const otherModeMaps = ['jsdoc', 'typescript', 'closure', 'permissive'].filter(\n (mde) => {\n return mde !== mode;\n },\n ).map((mde) => {\n return utils.getTagStructureForMode(mde);\n });\n\n const tagMightHaveNamePosition = utils.tagMightHaveNamePosition(tag.tag, otherModeMaps);\n if (tagMightHaveNamePosition !== true && tag.name) {\n const modeInfo = tagMightHaveNamePosition === false ? '' : ` in \"${mode}\" mode`;\n report(`@${tag.tag} should not have a name${modeInfo}.`, null, tag);\n\n continue;\n }\n\n const mightHaveTypePosition = utils.tagMightHaveTypePosition(tag.tag, otherModeMaps);\n if (mightHaveTypePosition !== true && tag.type) {\n const modeInfo = mightHaveTypePosition === false ? '' : ` in \"${mode}\" mode`;\n report(`@${tag.tag} should not have a bracketed type${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // REQUIRED NAME\n const tagMustHaveNamePosition = utils.tagMustHaveNamePosition(tag.tag, otherModeMaps);\n\n // Don't handle `@param` here though it does require name as handled by\n // `require-param-name` (`@property` would similarly seem to require one,\n // but is handled by `require-property-name`)\n if (tagMustHaveNamePosition !== false && !tag.name && !allowEmptyNamepaths && ![\n 'param', 'arg', 'argument',\n 'property', 'prop',\n ].includes(tag.tag) &&\n (tag.tag !== 'see' || !utils.getTagDescription(tag).includes('{@link'))\n ) {\n const modeInfo = tagMustHaveNamePosition === true ? '' : ` in \"${mode}\" mode`;\n report(`Tag @${tag.tag} must have a name/namepath${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // REQUIRED TYPE\n const mustHaveTypePosition = utils.tagMustHaveTypePosition(tag.tag, otherModeMaps);\n if (mustHaveTypePosition !== false && !tag.type) {\n const modeInfo = mustHaveTypePosition === true ? '' : ` in \"${mode}\" mode`;\n report(`Tag @${tag.tag} must have a type${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // REQUIRED TYPE OR NAME/NAMEPATH\n const tagMissingRequiredTypeOrNamepath = utils.tagMissingRequiredTypeOrNamepath(tag, otherModeMaps);\n if (tagMissingRequiredTypeOrNamepath !== false && !allowEmptyNamepaths) {\n const modeInfo = tagMissingRequiredTypeOrNamepath === true ? '' : ` in \"${mode}\" mode`;\n report(`Tag @${tag.tag} must have either a type or namepath${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // VALID TYPE\n const hasTypePosition = mightHaveTypePosition === true && Boolean(tag.type);\n if (hasTypePosition) {\n validTypeParsing(tag.type);\n }\n\n // VALID NAME/NAMEPATH\n const hasNameOrNamepathPosition = (\n tagMustHaveNamePosition !== false ||\n utils.tagMightHaveNamepath(tag.tag)\n ) && Boolean(tag.name);\n\n if (hasNameOrNamepathPosition) {\n if (mode !== 'jsdoc' && tag.tag === 'template') {\n for (const namepath of utils.parseClosureTemplateTag(tag)) {\n validNamepathParsing(namepath);\n }\n } else {\n validNamepathParsing(tag.name, tag.tag);\n }\n }\n }\n}, {\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: 'Requires all types to be valid JSDoc or Closure compiler types without syntax errors.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-valid-types',\n },\n schema: [\n {\n additionalProperies: false,\n properties: {\n allowEmptyNamepaths: {\n default: false,\n type: 'boolean',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"file":"validTypes.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/rules/validTypes.js"],"names":["asExpression","suppressTypes","Set","tryParsePathIgnoreError","path","jsdoc","report","utils","context","settings","allowEmptyNamepaths","options","mode","tag","tags","validNamepathParsing","namepath","tagName","handled","startsWith","endChar","slice","includes","startChar","charAt","validTypeParsing","type","thisNamepath","getTagDescription","replace","trim","test","thatNamepath","name","parsedTypes","node","value","undefined","has","otherModeMaps","filter","mde","map","getTagStructureForMode","tagMightHaveNamePosition","modeInfo","mightHaveTypePosition","tagMightHaveTypePosition","tagMustHaveNamePosition","mustHaveTypePosition","tagMustHaveTypePosition","tagMissingRequiredTypeOrNamepath","hasTypePosition","Boolean","hasNameOrNamepathPosition","tagMightHaveNamepath","parseClosureTemplateTag","iterateAllJsdocs","meta","docs","description","url","schema","additionalProperies","properties","default"],"mappings":"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","sourcesContent":["import {\n tryParse,\n parse,\n traverse,\n} from 'jsdoc-type-pratt-parser';\nimport iterateJsdoc from '../iterateJsdoc';\n\nconst asExpression = /as\\s+/u;\n\nconst suppressTypes = new Set([\n // https://github.com/google/closure-compiler/wiki/@suppress-annotations\n // https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/parsing/ParserConfig.properties#L154\n 'accessControls',\n 'checkDebuggerStatement',\n 'checkPrototypalTypes',\n 'checkRegExp',\n 'checkTypes',\n 'checkVars',\n 'closureDepMethodUsageChecks',\n 'const',\n 'constantProperty',\n 'deprecated',\n 'duplicate',\n 'es5Strict',\n 'externsValidation',\n 'extraProvide',\n 'extraRequire',\n 'globalThis',\n 'invalidCasts',\n 'lateProvide',\n 'legacyGoogScopeRequire',\n 'lintChecks',\n 'messageConventions',\n 'misplacedTypeAnnotation',\n 'missingOverride',\n 'missingPolyfill',\n 'missingProperties',\n 'missingProvide',\n 'missingRequire',\n 'missingSourcesWarnings',\n 'moduleLoad',\n 'nonStandardJsDocs',\n 'partialAlias',\n 'polymer',\n 'reportUnknownTypes',\n 'strictMissingProperties',\n 'strictModuleDepCheck',\n 'strictPrimitiveOperators',\n 'suspiciousCode',\n\n // Not documented in enum\n 'switch',\n 'transitionalSuspiciousCodeWarnings',\n 'undefinedNames',\n 'undefinedVars',\n 'underscore',\n 'unknownDefines',\n 'untranspilableFeatures',\n 'unusedLocalVariables',\n 'unusedPrivateMembers',\n 'useOfGoogProvide',\n 'uselessCode',\n 'visibility',\n 'with',\n]);\n\nconst tryParsePathIgnoreError = (path) => {\n try {\n tryParse(path);\n\n return true;\n } catch {\n // Keep the original error for including the whole type\n }\n\n return false;\n};\n\n// eslint-disable-next-line complexity\nexport default iterateJsdoc(({\n jsdoc,\n report,\n utils,\n context,\n settings,\n}) => {\n const {\n allowEmptyNamepaths = false,\n } = context.options[0] || {};\n const {\n mode,\n } = settings;\n\n for (const tag of jsdoc.tags) {\n const validNamepathParsing = function (namepath, tagName) {\n if (tryParsePathIgnoreError(namepath)) {\n return true;\n }\n\n let handled = false;\n\n if (tagName) {\n // eslint-disable-next-line default-case\n switch (tagName) {\n case 'module': {\n if (!namepath.startsWith('module:')) {\n handled = tryParsePathIgnoreError(`module:${namepath}`);\n }\n\n break;\n }\n\n case 'memberof': case 'memberof!': {\n const endChar = namepath.slice(-1);\n if ([\n '#', '.', '~',\n ].includes(endChar)) {\n handled = tryParsePathIgnoreError(namepath.slice(0, -1));\n }\n\n break;\n }\n\n case 'borrows': {\n const startChar = namepath.charAt();\n if ([\n '#', '.', '~',\n ].includes(startChar)) {\n handled = tryParsePathIgnoreError(namepath.slice(1));\n }\n }\n }\n }\n\n if (!handled) {\n report(`Syntax error in namepath: ${namepath}`, null, tag);\n\n return false;\n }\n\n return true;\n };\n\n const validTypeParsing = function (type) {\n try {\n if (mode === 'permissive') {\n tryParse(type);\n } else {\n parse(type, mode);\n }\n } catch {\n report(`Syntax error in type: ${type}`, null, tag);\n\n return false;\n }\n\n return true;\n };\n\n if (tag.tag === 'borrows') {\n const thisNamepath = utils.getTagDescription(tag).replace(asExpression, '')\n .trim();\n\n if (!asExpression.test(utils.getTagDescription(tag)) || !thisNamepath) {\n report(`@borrows must have an \"as\" expression. Found \"${utils.getTagDescription(tag)}\"`, null, tag);\n\n continue;\n }\n\n if (validNamepathParsing(thisNamepath, 'borrows')) {\n const thatNamepath = tag.name;\n\n validNamepathParsing(thatNamepath);\n }\n\n continue;\n }\n\n if (tag.tag === 'suppress' && mode === 'closure') {\n let parsedTypes;\n\n try {\n parsedTypes = tryParse(tag.type);\n } catch {\n // Ignore\n }\n\n if (parsedTypes) {\n traverse(parsedTypes, (node) => {\n const {\n value: type,\n } = node;\n if (type !== undefined && !suppressTypes.has(type)) {\n report(`Syntax error in supresss type: ${type}`, null, tag);\n }\n });\n }\n }\n\n const otherModeMaps = [\n 'jsdoc', 'typescript', 'closure', 'permissive',\n ].filter(\n (mde) => {\n return mde !== mode;\n },\n ).map((mde) => {\n return utils.getTagStructureForMode(mde);\n });\n\n const tagMightHaveNamePosition = utils.tagMightHaveNamePosition(tag.tag, otherModeMaps);\n if (tagMightHaveNamePosition !== true && tag.name) {\n const modeInfo = tagMightHaveNamePosition === false ? '' : ` in \"${mode}\" mode`;\n report(`@${tag.tag} should not have a name${modeInfo}.`, null, tag);\n\n continue;\n }\n\n const mightHaveTypePosition = utils.tagMightHaveTypePosition(tag.tag, otherModeMaps);\n if (mightHaveTypePosition !== true && tag.type) {\n const modeInfo = mightHaveTypePosition === false ? '' : ` in \"${mode}\" mode`;\n report(`@${tag.tag} should not have a bracketed type${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // REQUIRED NAME\n const tagMustHaveNamePosition = utils.tagMustHaveNamePosition(tag.tag, otherModeMaps);\n\n // Don't handle `@param` here though it does require name as handled by\n // `require-param-name` (`@property` would similarly seem to require one,\n // but is handled by `require-property-name`)\n if (tagMustHaveNamePosition !== false && !tag.name && !allowEmptyNamepaths && ![\n 'param', 'arg', 'argument',\n 'property', 'prop',\n ].includes(tag.tag) &&\n (tag.tag !== 'see' || !utils.getTagDescription(tag).includes('{@link'))\n ) {\n const modeInfo = tagMustHaveNamePosition === true ? '' : ` in \"${mode}\" mode`;\n report(`Tag @${tag.tag} must have a name/namepath${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // REQUIRED TYPE\n const mustHaveTypePosition = utils.tagMustHaveTypePosition(tag.tag, otherModeMaps);\n if (mustHaveTypePosition !== false && !tag.type) {\n const modeInfo = mustHaveTypePosition === true ? '' : ` in \"${mode}\" mode`;\n report(`Tag @${tag.tag} must have a type${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // REQUIRED TYPE OR NAME/NAMEPATH\n const tagMissingRequiredTypeOrNamepath = utils.tagMissingRequiredTypeOrNamepath(tag, otherModeMaps);\n if (tagMissingRequiredTypeOrNamepath !== false && !allowEmptyNamepaths) {\n const modeInfo = tagMissingRequiredTypeOrNamepath === true ? '' : ` in \"${mode}\" mode`;\n report(`Tag @${tag.tag} must have either a type or namepath${modeInfo}.`, null, tag);\n\n continue;\n }\n\n // VALID TYPE\n const hasTypePosition = mightHaveTypePosition === true && Boolean(tag.type);\n if (hasTypePosition) {\n validTypeParsing(tag.type);\n }\n\n // VALID NAME/NAMEPATH\n const hasNameOrNamepathPosition = (\n tagMustHaveNamePosition !== false ||\n utils.tagMightHaveNamepath(tag.tag)\n ) && Boolean(tag.name);\n\n if (hasNameOrNamepathPosition) {\n if (mode !== 'jsdoc' && tag.tag === 'template') {\n for (const namepath of utils.parseClosureTemplateTag(tag)) {\n validNamepathParsing(namepath);\n }\n } else {\n validNamepathParsing(tag.name, tag.tag);\n }\n }\n }\n}, {\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: 'Requires all types to be valid JSDoc or Closure compiler types without syntax errors.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-valid-types',\n },\n schema: [\n {\n additionalProperies: false,\n properties: {\n allowEmptyNamepaths: {\n default: false,\n type: 'boolean',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"file":"validTypes.js"}
|
package/dist/tagNames.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/tagNames.js"],"names":["jsdocTagsUndocumented","modifies","jsdocTags","abstract","access","alias","async","augments","author","borrows","callback","class","classdesc","constant","constructs","copyright","default","deprecated","description","enum","event","example","exports","external","file","fires","function","generator","global","hideconstructor","ignore","implements","inheritdoc","inheritDoc","inner","instance","interface","kind","lends","license","listens","member","memberof","mixes","mixin","module","name","namespace","override","package","param","private","property","protected","public","readonly","requires","returns","see","since","static","summary","this","throws","todo","tutorial","type","typedef","variation","version","yields","typeScriptTags","template","undocumentedClosureTags","closurePrimitive","customElement","expose","hidden","idGenerator","meaning","mixinClass","mixinFunction","ngInject","owner","typeSummary","wizaction","typeScriptTagsInClosure","closureTags","define","dict","export","externs","final","implicitCast","noalias","nocollapse","nocompile","noinline","nosideeffects","polymer","polymerBehavior","preserve","record","return","struct","suppress","unrestricted"],"mappings":"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","sourcesContent":["const jsdocTagsUndocumented = {\n // Undocumented but present; see\n // https://github.com/jsdoc/jsdoc/issues/1283#issuecomment-516816802\n // https://github.com/jsdoc/jsdoc/blob/master/packages/jsdoc/lib/jsdoc/tag/dictionary/definitions.js#L594\n modifies: [],\n};\n\nconst jsdocTags = {\n ...jsdocTagsUndocumented,\n abstract: [\n 'virtual',\n ],\n access: [],\n alias: [],\n async: [],\n augments: [\n 'extends',\n ],\n author: [],\n borrows: [],\n callback: [],\n class: [\n 'constructor',\n ],\n classdesc: [],\n constant: [\n 'const',\n ],\n constructs: [],\n copyright: [],\n default: [\n 'defaultvalue',\n ],\n deprecated: [],\n description: [\n 'desc',\n ],\n enum: [],\n event: [],\n example: [],\n exports: [],\n external: [\n 'host',\n ],\n file: [\n 'fileoverview',\n 'overview',\n ],\n fires: [\n 'emits',\n ],\n function: [\n 'func',\n 'method',\n ],\n generator: [],\n global: [],\n hideconstructor: [],\n ignore: [],\n implements: [],\n inheritdoc: [],\n\n // Allowing casing distinct from jsdoc `definitions.js` (required in Closure)\n inheritDoc: [],\n\n inner: [],\n instance: [],\n interface: [],\n kind: [],\n lends: [],\n license: [],\n listens: [],\n member: [\n 'var',\n ],\n memberof: [],\n 'memberof!': [],\n mixes: [],\n mixin: [],\n\n module: [],\n name: [],\n namespace: [],\n override: [],\n package: [],\n param: [\n 'arg',\n 'argument',\n ],\n private: [],\n property: [\n 'prop',\n ],\n protected: [],\n public: [],\n readonly: [],\n requires: [],\n returns: [\n 'return',\n ],\n see: [],\n since: [],\n static: [],\n summary: [],\n\n this: [],\n throws: [\n 'exception',\n ],\n todo: [],\n tutorial: [],\n type: [],\n typedef: [],\n variation: [],\n version: [],\n yields: [\n 'yield',\n ],\n};\n\nconst typeScriptTags = {\n ...jsdocTags,\n\n // `@template` is also in TypeScript per:\n // https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html#supported-jsdoc\n template: [],\n};\n\nconst undocumentedClosureTags = {\n // These are in Closure source but not in jsdoc source nor in the Closure\n // docs: https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/parsing/Annotation.java\n closurePrimitive: [],\n customElement: [],\n expose: [],\n hidden: [],\n idGenerator: [],\n meaning: [],\n mixinClass: [],\n mixinFunction: [],\n ngInject: [],\n owner: [],\n typeSummary: [],\n wizaction: [],\n};\n\nconst {\n /* eslint-disable no-unused-vars */\n inheritdoc,\n\n // Will be inverted to prefer `return`\n returns,\n /* eslint-enable no-unused-vars */\n ...typeScriptTagsInClosure\n} = typeScriptTags;\n\nconst closureTags = {\n ...typeScriptTagsInClosure,\n ...undocumentedClosureTags,\n\n // From https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler\n // These are all recognized in https://github.com/jsdoc/jsdoc/blob/master/packages/jsdoc/lib/jsdoc/tag/dictionary/definitions.js\n // except for the experimental `noinline` and the casing differences noted below\n\n // Defined as a synonym of `const` in jsdoc `definitions.js`\n define: [],\n\n dict: [],\n export: [],\n externs: [],\n final: [],\n\n // With casing distinct from jsdoc `definitions.js`\n implicitCast: [],\n\n noalias: [],\n nocollapse: [],\n nocompile: [],\n noinline: [],\n nosideeffects: [],\n polymer: [],\n polymerBehavior: [],\n preserve: [],\n\n // Defined as a synonym of `interface` in jsdoc `definitions.js`\n record: [],\n\n return: [\n 'returns',\n ],\n\n struct: [],\n suppress: [],\n\n unrestricted: [],\n};\n\nexport {\n jsdocTags
|
|
1
|
+
{"version":3,"sources":["../src/tagNames.js"],"names":["jsdocTagsUndocumented","modifies","jsdocTags","abstract","access","alias","async","augments","author","borrows","callback","class","classdesc","constant","constructs","copyright","default","deprecated","description","enum","event","example","exports","external","file","fires","function","generator","global","hideconstructor","ignore","implements","inheritdoc","inheritDoc","inner","instance","interface","kind","lends","license","listens","member","memberof","mixes","mixin","module","name","namespace","override","package","param","private","property","protected","public","readonly","requires","returns","see","since","static","summary","this","throws","todo","tutorial","type","typedef","variation","version","yields","typeScriptTags","template","undocumentedClosureTags","closurePrimitive","customElement","expose","hidden","idGenerator","meaning","mixinClass","mixinFunction","ngInject","owner","typeSummary","wizaction","typeScriptTagsInClosure","closureTags","define","dict","export","externs","final","implicitCast","noalias","nocollapse","nocompile","noinline","nosideeffects","polymer","polymerBehavior","preserve","record","return","struct","suppress","unrestricted"],"mappings":"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","sourcesContent":["const jsdocTagsUndocumented = {\n // Undocumented but present; see\n // https://github.com/jsdoc/jsdoc/issues/1283#issuecomment-516816802\n // https://github.com/jsdoc/jsdoc/blob/master/packages/jsdoc/lib/jsdoc/tag/dictionary/definitions.js#L594\n modifies: [],\n};\n\nconst jsdocTags = {\n ...jsdocTagsUndocumented,\n abstract: [\n 'virtual',\n ],\n access: [],\n alias: [],\n async: [],\n augments: [\n 'extends',\n ],\n author: [],\n borrows: [],\n callback: [],\n class: [\n 'constructor',\n ],\n classdesc: [],\n constant: [\n 'const',\n ],\n constructs: [],\n copyright: [],\n default: [\n 'defaultvalue',\n ],\n deprecated: [],\n description: [\n 'desc',\n ],\n enum: [],\n event: [],\n example: [],\n exports: [],\n external: [\n 'host',\n ],\n file: [\n 'fileoverview',\n 'overview',\n ],\n fires: [\n 'emits',\n ],\n function: [\n 'func',\n 'method',\n ],\n generator: [],\n global: [],\n hideconstructor: [],\n ignore: [],\n implements: [],\n inheritdoc: [],\n\n // Allowing casing distinct from jsdoc `definitions.js` (required in Closure)\n inheritDoc: [],\n\n inner: [],\n instance: [],\n interface: [],\n kind: [],\n lends: [],\n license: [],\n listens: [],\n member: [\n 'var',\n ],\n memberof: [],\n 'memberof!': [],\n mixes: [],\n mixin: [],\n\n module: [],\n name: [],\n namespace: [],\n override: [],\n package: [],\n param: [\n 'arg',\n 'argument',\n ],\n private: [],\n property: [\n 'prop',\n ],\n protected: [],\n public: [],\n readonly: [],\n requires: [],\n returns: [\n 'return',\n ],\n see: [],\n since: [],\n static: [],\n summary: [],\n\n this: [],\n throws: [\n 'exception',\n ],\n todo: [],\n tutorial: [],\n type: [],\n typedef: [],\n variation: [],\n version: [],\n yields: [\n 'yield',\n ],\n};\n\nconst typeScriptTags = {\n ...jsdocTags,\n\n // `@template` is also in TypeScript per:\n // https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html#supported-jsdoc\n template: [],\n};\n\nconst undocumentedClosureTags = {\n // These are in Closure source but not in jsdoc source nor in the Closure\n // docs: https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/parsing/Annotation.java\n closurePrimitive: [],\n customElement: [],\n expose: [],\n hidden: [],\n idGenerator: [],\n meaning: [],\n mixinClass: [],\n mixinFunction: [],\n ngInject: [],\n owner: [],\n typeSummary: [],\n wizaction: [],\n};\n\nconst {\n /* eslint-disable no-unused-vars */\n inheritdoc,\n\n // Will be inverted to prefer `return`\n returns,\n /* eslint-enable no-unused-vars */\n ...typeScriptTagsInClosure\n} = typeScriptTags;\n\nconst closureTags = {\n ...typeScriptTagsInClosure,\n ...undocumentedClosureTags,\n\n // From https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler\n // These are all recognized in https://github.com/jsdoc/jsdoc/blob/master/packages/jsdoc/lib/jsdoc/tag/dictionary/definitions.js\n // except for the experimental `noinline` and the casing differences noted below\n\n // Defined as a synonym of `const` in jsdoc `definitions.js`\n define: [],\n\n dict: [],\n export: [],\n externs: [],\n final: [],\n\n // With casing distinct from jsdoc `definitions.js`\n implicitCast: [],\n\n noalias: [],\n nocollapse: [],\n nocompile: [],\n noinline: [],\n nosideeffects: [],\n polymer: [],\n polymerBehavior: [],\n preserve: [],\n\n // Defined as a synonym of `interface` in jsdoc `definitions.js`\n record: [],\n\n return: [\n 'returns',\n ],\n\n struct: [],\n suppress: [],\n\n unrestricted: [],\n};\n\nexport {\n jsdocTags,\n closureTags,\n typeScriptTags,\n};\n"],"file":"tagNames.js"}
|
package/package.json
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
"url": "http://gajus.com"
|
|
6
6
|
},
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@es-joy/jsdoccomment": "0.
|
|
8
|
+
"@es-joy/jsdoccomment": "0.14.0",
|
|
9
9
|
"comment-parser": "1.3.0",
|
|
10
10
|
"debug": "^4.3.3",
|
|
11
11
|
"escape-string-regexp": "^4.0.0",
|
|
12
12
|
"esquery": "^1.4.0",
|
|
13
|
-
"jsdoc-type-pratt-parser": "^2.0.
|
|
13
|
+
"jsdoc-type-pratt-parser": "^2.0.1",
|
|
14
14
|
"regextras": "^0.8.0",
|
|
15
15
|
"semver": "^7.3.5",
|
|
16
16
|
"spdx-expression-parse": "^3.0.1"
|
|
@@ -26,19 +26,19 @@
|
|
|
26
26
|
"@babel/preset-env": "^7.16.5",
|
|
27
27
|
"@babel/register": "^7.16.5",
|
|
28
28
|
"@hkdobrev/run-if-changed": "^0.3.1",
|
|
29
|
-
"@typescript-eslint/parser": "^5.
|
|
29
|
+
"@typescript-eslint/parser": "^5.8.1",
|
|
30
30
|
"babel-plugin-add-module-exports": "^1.0.4",
|
|
31
31
|
"babel-plugin-istanbul": "^6.1.1",
|
|
32
32
|
"camelcase": "^6.2.1",
|
|
33
33
|
"chai": "^4.3.4",
|
|
34
34
|
"cross-env": "^7.0.3",
|
|
35
35
|
"decamelize": "^5.0.1",
|
|
36
|
-
"eslint": "^8.
|
|
37
|
-
"eslint-config-canonical": "^
|
|
36
|
+
"eslint": "^8.5.0",
|
|
37
|
+
"eslint-config-canonical": "^33.0.0",
|
|
38
38
|
"gitdown": "^3.1.4",
|
|
39
39
|
"glob": "^7.2.0",
|
|
40
40
|
"husky": "^7.0.4",
|
|
41
|
-
"lint-staged": "^12.1.
|
|
41
|
+
"lint-staged": "^12.1.4",
|
|
42
42
|
"lodash.defaultsdeep": "^4.6.1",
|
|
43
43
|
"mocha": "^9.1.3",
|
|
44
44
|
"nyc": "^15.1.0",
|
|
@@ -57,10 +57,11 @@
|
|
|
57
57
|
],
|
|
58
58
|
"license": "BSD-3-Clause",
|
|
59
59
|
"lint-staged": {
|
|
60
|
-
"
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
".eslintignore": [
|
|
61
|
+
"npm run lint-fix",
|
|
62
|
+
"git add ."
|
|
63
|
+
],
|
|
64
|
+
"*.js": "npm run lint-arg -- --fix"
|
|
64
65
|
},
|
|
65
66
|
"main": "./dist/index.js",
|
|
66
67
|
"name": "eslint-plugin-jsdoc",
|
|
@@ -98,14 +99,14 @@
|
|
|
98
99
|
"create-readme": "babel-node ./src/bin/generateReadme.js",
|
|
99
100
|
"create-rule": "babel-node ./src/bin/generateRule.js",
|
|
100
101
|
"install-offline": "npm install --prefer-offline --no-audit",
|
|
101
|
-
"lint": "
|
|
102
|
+
"lint": "npm run lint-arg -- .",
|
|
102
103
|
"lint-arg": "eslint --report-unused-disable-directives",
|
|
103
|
-
"lint-fix": "
|
|
104
|
+
"lint-fix": "npm run lint-arg -- --fix .",
|
|
104
105
|
"prepare": "husky install",
|
|
105
106
|
"test": "cross-env BABEL_ENV=test nyc --reporter text-summary mocha --reporter dot --recursive --require @babel/register --timeout 12000",
|
|
106
107
|
"test-cov": "cross-env BABEL_ENV=test nyc mocha --reporter dot --recursive --require @babel/register --timeout 12000",
|
|
107
108
|
"test-index": "cross-env BABEL_ENV=test mocha --recursive --require @babel/register --reporter progress --timeout 12000 test/rules/index.js",
|
|
108
109
|
"test-no-cov": "cross-env BABEL_ENV=test mocha --reporter dot --recursive --require @babel/register --timeout 12000"
|
|
109
110
|
},
|
|
110
|
-
"version": "37.4.
|
|
111
|
+
"version": "37.4.1"
|
|
111
112
|
}
|