eslint-plugin-jsdoc 63.0.10 → 63.0.12
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/dist/WarnSettings.cjs.map +1 -1
- package/dist/alignTransform.cjs.map +1 -1
- package/dist/buildForbidRuleDefinition.cjs.map +1 -1
- package/dist/buildRejectOrPreferRuleDefinition.cjs.map +1 -1
- package/dist/defaultTagOrder.cjs.map +1 -1
- package/dist/exportParser.cjs.map +1 -1
- package/dist/generateDocs.cjs.map +1 -1
- package/dist/generateOptions.cjs.map +1 -1
- package/dist/generateRule.cjs.map +1 -1
- package/dist/generateRuleTypes.cjs.map +1 -1
- package/dist/getDefaultTagStructureForMode.cjs.map +1 -1
- package/dist/getJsdocProcessorPlugin.cjs.map +1 -1
- package/dist/index-cjs.cjs.map +1 -1
- package/dist/index-esm.cjs.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/iterateJsdoc.cjs.map +1 -1
- package/dist/jsdocUtils.cjs.map +1 -1
- package/dist/rules/checkAccess.cjs.map +1 -1
- package/dist/rules/checkAlignment.cjs.map +1 -1
- package/dist/rules/checkExamples.cjs.map +1 -1
- package/dist/rules/checkIndentation.cjs.map +1 -1
- package/dist/rules/checkLineAlignment.cjs.map +1 -1
- package/dist/rules/checkParamNames.cjs.map +1 -1
- package/dist/rules/checkPropertyNames.cjs.map +1 -1
- package/dist/rules/checkSyntax.cjs.map +1 -1
- package/dist/rules/checkTagNames.cjs.map +1 -1
- package/dist/rules/checkTemplateNames.cjs +0 -1
- package/dist/rules/checkTemplateNames.cjs.map +1 -1
- package/dist/rules/checkTypes.cjs.map +1 -1
- package/dist/rules/checkValues.cjs.map +1 -1
- package/dist/rules/convertToJsdocComments.cjs.map +1 -1
- package/dist/rules/emptyTags.cjs.map +1 -1
- package/dist/rules/escapeInlineTags.cjs.map +1 -1
- package/dist/rules/implementsOnClasses.cjs.map +1 -1
- package/dist/rules/importsAsDependencies.cjs.map +1 -1
- package/dist/rules/informativeDocs.cjs.map +1 -1
- package/dist/rules/linesBeforeBlock.cjs.map +1 -1
- package/dist/rules/matchDescription.cjs.map +1 -1
- package/dist/rules/matchName.cjs.map +1 -1
- package/dist/rules/multilineBlocks.cjs.map +1 -1
- package/dist/rules/noBadBlocks.cjs.map +1 -1
- package/dist/rules/noBlankBlockDescriptions.cjs.map +1 -1
- package/dist/rules/noBlankBlocks.cjs.map +1 -1
- package/dist/rules/noDefaults.cjs.map +1 -1
- package/dist/rules/noMissingSyntax.cjs.map +1 -1
- package/dist/rules/noMultiAsterisks.cjs.map +1 -1
- package/dist/rules/noRestrictedSyntax.cjs.map +1 -1
- package/dist/rules/noTypes.cjs.map +1 -1
- package/dist/rules/noUndefinedTypes.cjs.map +1 -1
- package/dist/rules/preferImportTag.cjs.map +1 -1
- package/dist/rules/requireAsteriskPrefix.cjs.map +1 -1
- package/dist/rules/requireDescription.cjs.map +1 -1
- package/dist/rules/requireDescriptionCompleteSentence.cjs.map +1 -1
- package/dist/rules/requireExample.cjs.map +1 -1
- package/dist/rules/requireFileOverview.cjs.map +1 -1
- package/dist/rules/requireHyphenBeforeParamDescription.cjs.map +1 -1
- package/dist/rules/requireJsdoc.cjs +0 -1
- package/dist/rules/requireJsdoc.cjs.map +1 -1
- package/dist/rules/requireParam.cjs.map +1 -1
- package/dist/rules/requireParamDescription.cjs.map +1 -1
- package/dist/rules/requireParamName.cjs.map +1 -1
- package/dist/rules/requireParamType.cjs.map +1 -1
- package/dist/rules/requireProperty.cjs.map +1 -1
- package/dist/rules/requirePropertyDescription.cjs.map +1 -1
- package/dist/rules/requirePropertyName.cjs.map +1 -1
- package/dist/rules/requirePropertyType.cjs.map +1 -1
- package/dist/rules/requireRejects.cjs.map +1 -1
- package/dist/rules/requireReturns.cjs.map +1 -1
- package/dist/rules/requireReturnsCheck.cjs.map +1 -1
- package/dist/rules/requireReturnsDescription.cjs.map +1 -1
- package/dist/rules/requireReturnsType.cjs.map +1 -1
- package/dist/rules/requireTags.cjs.map +1 -1
- package/dist/rules/requireTemplate.cjs.map +1 -1
- package/dist/rules/requireThrows.cjs.map +1 -1
- package/dist/rules/requireYields.cjs.map +1 -1
- package/dist/rules/requireYieldsCheck.cjs.map +1 -1
- package/dist/rules/sortTags.cjs.map +1 -1
- package/dist/rules/tagLines.cjs.map +1 -1
- package/dist/rules/textEscaping.cjs.map +1 -1
- package/dist/rules/tsMethodSignatureStyle.cjs.map +1 -1
- package/dist/rules/tsNoEmptyObjectType.cjs.map +1 -1
- package/dist/rules/tsNoUnnecessaryTemplateExpression.cjs.map +1 -1
- package/dist/rules/tsPreferFunctionType.cjs.map +1 -1
- package/dist/rules/typeFormatting.cjs.map +1 -1
- package/dist/rules/validTypes.cjs.map +1 -1
- package/dist/tagNames.cjs.map +1 -1
- package/dist/utils/hasReturnValue.cjs.map +1 -1
- package/package.json +21 -21
- package/src/rules/checkTemplateNames.js +0 -1
- package/src/rules/requireJsdoc.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getJsdocProcessorPlugin.cjs","names":["_jsdocUtils","require","_jsdoccomment","espree","_interopRequireWildcard","_htmlEntities","_nodeFs","_nodePath","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","version","JSON","parse","readFileSync","join","__dirname","likelyNestedJSDocIndentSpace","preTagSpaceLength","firstLinePrefixLength","hasCaptionRegex","escapeStringRegexp","str","replaceAll","countChars","ch","match","RegExp","length","getLinesCols","text","matchLines","colDelta","slice","lastIndexOf","getJsdocProcessorPlugin","options","allowedLanguagesToProcess","captionRequired","checkDefaults","checkExamples","checkParams","checkProperties","exampleCodeRegex","matchingFileName","matchingFileNameDefaults","matchingFileNameParams","matchingFileNameProperties","paddedIndent","parser","undefined","rejectExampleCodeRegex","sourceType","exampleCodeRegExp","rejectExampleCodeRegExp","getRegexFromString","otherInfo","extraMessages","getTextsAndFileNames","jsdoc","jsFileName","commentLineCols","textsAndFileNames","checkSource","cols","defaultFileName","ext","filename","lines","skipInit","source","sources","tag","line","targetTagName","push","nonJSPrefacingCols","nonJSPrefacingLines","string","addSourceInfo","src","file","number","codeStartLine","codeStartCol","_","code","test","String","fromCodePoint","Number","parseInt","decode","level","targetSource","getFilenameInfo","includes","replace","filenameInfo","forEachPreferredTag","description","trim","getTagDescription","tagName","getPreferredTagName","hasTag","matchingFilenameInfo","column","message","ruleId","severity","matches","exec","groups","language","toLowerCase","startingIndex","lastStringCount","exampleCode","lastIndex","n0","n1","index","preMatch","preMatchLines","nonJSPreface","nonJSPrefaceLineCount","idx","indexOf","charsInLastLine","global","meta","name","processors","examples","postprocess","jsMessages","messages","entries","msg","endColumn","endLine","fatal","messageText","fix","codeCtxLine","codeCtxColumn","startLine","startCol","ret","concat","preprocess","ast","parseForESLint","comment","ecmaVersion","jsdocComments","comments","filter","value","map","start","range","textToStart","parseComment","flatMap","error","console","log","supportsAutofix","exports"],"sources":["../src/getJsdocProcessorPlugin.js"],"sourcesContent":["import {\n forEachPreferredTag,\n getPreferredTagName,\n getRegexFromString,\n getTagDescription,\n hasTag,\n} from './jsdocUtils.js';\nimport {\n parseComment,\n} from '@es-joy/jsdoccomment';\nimport * as espree from 'espree';\nimport {\n decode,\n} from 'html-entities';\nimport {\n readFileSync,\n} from 'node:fs';\nimport {\n join,\n} from 'node:path';\n/**\n * @import {\n * Integer,\n * JsdocBlockWithInline,\n * } from './iterateJsdoc.js';\n * @import {\n * ESLint,\n * Linter,\n * } from 'eslint';\n */\n\nconst {\n version,\n} = JSON.parse(\n readFileSync(join(import.meta.dirname, '../package.json'), 'utf8'),\n);\n\n// const zeroBasedLineIndexAdjust = -1;\nconst likelyNestedJSDocIndentSpace = 1;\nconst preTagSpaceLength = 1;\n\n// If a space is present, we should ignore it\nconst firstLinePrefixLength = preTagSpaceLength;\n\nconst hasCaptionRegex = /^\\s*<caption>([\\s\\S]*?)<\\/caption>/v;\n\n/**\n * @param {string} str\n * @returns {string}\n */\nconst escapeStringRegexp = (str) => {\n return str.replaceAll(/[.*+?^$\\{\\}\\(\\)\\|\\[\\]\\\\]/gv, '\\\\$&');\n};\n\n/**\n * @param {string} str\n * @param {string} ch\n * @returns {Integer}\n */\nconst countChars = (str, ch) => {\n return (str.match(new RegExp(escapeStringRegexp(ch), 'gv')) || []).length;\n};\n\n/**\n * @param {string} text\n * @returns {[\n * Integer,\n * Integer\n * ]}\n */\nconst getLinesCols = (text) => {\n const matchLines = countChars(text, '\\n');\n\n const colDelta = matchLines ?\n text.slice(text.lastIndexOf('\\n') + 1).length :\n text.length;\n\n return [\n matchLines, colDelta,\n ];\n};\n\n/**\n * @typedef {number} Integer\n */\n/**\n * @typedef {object} JsdocProcessorOptions\n * @property {boolean} [captionRequired] Require captions for example tags\n * @property {Integer} [paddedIndent] See docs\n * @property {boolean} [checkDefaults] See docs\n * @property {boolean} [checkParams] See docs\n * @property {boolean} [checkExamples] See docs\n * @property {boolean} [checkProperties] See docs\n * @property {string} [matchingFileName] See docs\n * @property {string} [matchingFileNameDefaults] See docs\n * @property {string} [matchingFileNameParams] See docs\n * @property {string} [matchingFileNameProperties] See docs\n * @property {string|RegExp} [exampleCodeRegex] See docs\n * @property {string|RegExp} [rejectExampleCodeRegex] See docs\n * @property {string[]} [allowedLanguagesToProcess] See docs\n * @property {\"script\"|\"module\"} [sourceType] See docs\n * @property {import('eslint').Linter.ESTreeParser|import('eslint').Linter.NonESTreeParser} [parser] See docs\n */\n\n/**\n * We use a function for the ability of the user to pass in a config, but\n * without requiring all users of the plugin to do so.\n * @param {JsdocProcessorOptions} [options]\n * @returns {ESLint.Plugin}\n */\nexport const getJsdocProcessorPlugin = (options = {}) => {\n /**\n * @typedef {{\n * text: string,\n * filename: string|null|undefined\n * }} TextAndFileName\n */\n\n const {\n allowedLanguagesToProcess = [\n 'js', 'ts', 'javascript', 'typescript',\n ],\n captionRequired = false,\n checkDefaults = false,\n checkExamples = true,\n checkParams = false,\n checkProperties = false,\n exampleCodeRegex = null,\n matchingFileName = null,\n matchingFileNameDefaults = null,\n matchingFileNameParams = null,\n matchingFileNameProperties = null,\n paddedIndent = 0,\n parser = undefined,\n rejectExampleCodeRegex = null,\n sourceType = 'module',\n } = options;\n\n /** @type {RegExp} */\n let exampleCodeRegExp;\n /** @type {RegExp} */\n let rejectExampleCodeRegExp;\n\n if (exampleCodeRegex) {\n exampleCodeRegExp = typeof exampleCodeRegex === 'string' ?\n getRegexFromString(exampleCodeRegex) :\n exampleCodeRegex;\n }\n\n if (rejectExampleCodeRegex) {\n rejectExampleCodeRegExp = typeof rejectExampleCodeRegex === 'string' ?\n getRegexFromString(rejectExampleCodeRegex) :\n rejectExampleCodeRegex;\n }\n\n /**\n * @type {{\n * targetTagName: string,\n * ext: string,\n * codeStartLine: number,\n * codeStartCol: number,\n * nonJSPrefacingCols: number,\n * commentLineCols: [number, number]\n * }[]}\n */\n const otherInfo = [];\n\n /** @type {import('eslint').Linter.LintMessage[]} */\n let extraMessages = [];\n\n /**\n * @param {JsdocBlockWithInline} jsdoc\n * @param {string} jsFileName\n * @param {[number, number]} commentLineCols\n */\n const getTextsAndFileNames = (jsdoc, jsFileName, commentLineCols) => {\n /**\n * @type {TextAndFileName[]}\n */\n const textsAndFileNames = [];\n\n /**\n * @param {{\n * filename: string|null,\n * defaultFileName: string|undefined,\n * source: string,\n * targetTagName: string,\n * rules?: import('eslint').Linter.RulesRecord|undefined,\n * lines?: Integer,\n * cols?: Integer,\n * skipInit?: boolean,\n * ext: string,\n * sources?: {\n * nonJSPrefacingCols: Integer,\n * nonJSPrefacingLines: Integer,\n * string: string,\n * }[],\n * tag?: import('comment-parser').Spec & {\n * line?: Integer,\n * }|{\n * line: Integer,\n * }\n * }} cfg\n */\n const checkSource = ({\n cols = 0,\n defaultFileName,\n ext,\n filename,\n lines = 0,\n skipInit,\n source,\n sources = [],\n tag = {\n line: 0,\n },\n targetTagName,\n }) => {\n if (!skipInit) {\n sources.push({\n nonJSPrefacingCols: cols,\n nonJSPrefacingLines: lines,\n string: source,\n });\n }\n\n /**\n * @param {{\n * nonJSPrefacingCols: Integer,\n * nonJSPrefacingLines: Integer,\n * string: string\n * }} cfg\n */\n const addSourceInfo = function ({\n nonJSPrefacingCols,\n nonJSPrefacingLines,\n string,\n }) {\n const src = paddedIndent ?\n string.replaceAll(new RegExp(`(^|\\n) {${paddedIndent}}(?!$)`, 'gv'), '\\n') :\n string;\n\n // Programmatic ESLint API: https://eslint.org/docs/developer-guide/nodejs-api\n const file = filename || defaultFileName;\n\n if (!('line' in tag)) {\n tag.line = tag.source[0].number;\n }\n\n // NOTE: `tag.line` can be 0 if of form `/** @tag ... */`\n const codeStartLine = /**\n * @type {import('comment-parser').Spec & {\n * line: Integer,\n * }}\n */ (tag).line + nonJSPrefacingLines;\n const codeStartCol = likelyNestedJSDocIndentSpace;\n\n textsAndFileNames.push({\n filename: file,\n // See https://github.com/gajus/eslint-plugin-jsdoc/issues/710\n text: src.replaceAll(/(?<=\\*)\\\\(?=\\\\*\\/)/gv, '').replaceAll(/&([^\\s;]+);/gv, (_, code) => {\n // Dec\n if ((/^#\\d+$/v).test(code)) {\n return String.fromCodePoint(Number.parseInt(code.slice(1), 10));\n }\n\n // Hex\n if ((/^#x\\d+$/v).test(code)) {\n return String.fromCodePoint(Number.parseInt(code.slice(2), 16));\n }\n\n return decode(_, {\n level: 'html5',\n });\n }),\n });\n otherInfo.push({\n codeStartCol,\n codeStartLine,\n commentLineCols,\n ext,\n nonJSPrefacingCols,\n targetTagName,\n });\n };\n\n for (const targetSource of sources) {\n addSourceInfo(targetSource);\n }\n };\n\n /**\n *\n * @param {string|null} filename\n * @param {string} [ext] Since `eslint-plugin-markdown` v2, and\n * ESLint 7, this is the default which other JS-fenced rules will used.\n * Formerly \"md\" was the default.\n * @returns {{\n * defaultFileName: string|undefined,\n * filename: string|null,\n * ext: string\n * }}\n */\n const getFilenameInfo = (filename, ext = 'md/*.js') => {\n let defaultFileName;\n if (!filename) {\n if (typeof jsFileName === 'string' && jsFileName.includes('.')) {\n defaultFileName = jsFileName.replace(/\\.[^.]*$/v, `.${ext}`);\n } else {\n defaultFileName = `dummy.${ext}`;\n }\n }\n\n return {\n defaultFileName,\n ext,\n filename,\n };\n };\n\n if (checkDefaults) {\n const filenameInfo = getFilenameInfo(matchingFileNameDefaults, 'jsdoc-defaults');\n forEachPreferredTag(jsdoc, 'default', (tag, targetTagName) => {\n if (!tag.description.trim()) {\n return;\n }\n\n checkSource({\n source: `(${getTagDescription(tag)})`,\n targetTagName,\n ...filenameInfo,\n });\n });\n }\n\n if (checkParams) {\n const filenameInfo = getFilenameInfo(matchingFileNameParams, 'jsdoc-params');\n forEachPreferredTag(jsdoc, 'param', (tag, targetTagName) => {\n if (!tag.default || !tag.default.trim()) {\n return;\n }\n\n checkSource({\n source: `(${tag.default})`,\n targetTagName,\n ...filenameInfo,\n });\n });\n }\n\n if (checkProperties) {\n const filenameInfo = getFilenameInfo(matchingFileNameProperties, 'jsdoc-properties');\n forEachPreferredTag(jsdoc, 'property', (tag, targetTagName) => {\n if (!tag.default || !tag.default.trim()) {\n return;\n }\n\n checkSource({\n source: `(${tag.default})`,\n targetTagName,\n ...filenameInfo,\n });\n });\n }\n\n if (!checkExamples) {\n return textsAndFileNames;\n }\n\n const tagName = /** @type {string} */ (getPreferredTagName(jsdoc, {\n tagName: 'example',\n }));\n if (!hasTag(jsdoc, tagName)) {\n return textsAndFileNames;\n }\n\n const matchingFilenameInfo = getFilenameInfo(matchingFileName);\n\n forEachPreferredTag(jsdoc, 'example', (tag, targetTagName) => {\n let source = /** @type {string} */ (getTagDescription(tag));\n const match = source.match(hasCaptionRegex);\n\n if (captionRequired && (!match || !match[1].trim())) {\n extraMessages.push({\n column: commentLineCols[1] + 1,\n line: 1 + commentLineCols[0] + (tag.line ?? tag.source[0].number),\n message: `@${targetTagName} error - Caption is expected for examples.`,\n ruleId: 'jsdoc/example-missing-caption',\n severity: 2,\n });\n return;\n }\n\n source = source.replace(hasCaptionRegex, '');\n const [\n lines,\n cols,\n ] = match ? getLinesCols(match[0]) : [\n 0, 0,\n ];\n\n if (exampleCodeRegex && !exampleCodeRegExp.test(source) ||\n rejectExampleCodeRegex && rejectExampleCodeRegExp.test(source)\n ) {\n return;\n }\n\n // If `allowedLanguagesToProcess` is falsy, all languages should be processed.\n if (allowedLanguagesToProcess) {\n const matches = (/^\\s*```(?<language>\\S+)([\\s\\S]*)```\\s*$/v).exec(source);\n if (matches?.groups && !allowedLanguagesToProcess.includes(\n matches.groups.language.toLowerCase(),\n )) {\n return;\n }\n }\n\n const sources = [];\n let skipInit = false;\n if (exampleCodeRegex) {\n let nonJSPrefacingCols = 0;\n let nonJSPrefacingLines = 0;\n\n let startingIndex = 0;\n let lastStringCount = 0;\n\n let exampleCode;\n exampleCodeRegExp.lastIndex = 0;\n while ((exampleCode = exampleCodeRegExp.exec(source)) !== null) {\n const {\n '0': n0,\n '1': n1,\n index,\n } = exampleCode;\n\n // Count anything preceding user regex match (can affect line numbering)\n const preMatch = source.slice(startingIndex, index);\n\n const [\n preMatchLines,\n colDelta,\n ] = getLinesCols(preMatch);\n\n let nonJSPreface;\n let nonJSPrefaceLineCount;\n if (n1) {\n const idx = n0.indexOf(n1);\n nonJSPreface = n0.slice(0, idx);\n nonJSPrefaceLineCount = countChars(nonJSPreface, '\\n');\n } else {\n nonJSPreface = '';\n nonJSPrefaceLineCount = 0;\n }\n\n nonJSPrefacingLines += lastStringCount + preMatchLines + nonJSPrefaceLineCount;\n\n // Ignore `preMatch` delta if newlines here\n if (nonJSPrefaceLineCount) {\n const charsInLastLine = nonJSPreface.slice(nonJSPreface.lastIndexOf('\\n') + 1).length;\n\n nonJSPrefacingCols += charsInLastLine;\n } else {\n nonJSPrefacingCols += colDelta + nonJSPreface.length;\n }\n\n const string = n1 || n0;\n sources.push({\n nonJSPrefacingCols,\n nonJSPrefacingLines,\n string,\n });\n startingIndex = exampleCodeRegExp.lastIndex;\n lastStringCount = countChars(string, '\\n');\n if (!exampleCodeRegExp.global) {\n break;\n }\n }\n\n skipInit = true;\n }\n\n checkSource({\n cols,\n lines,\n skipInit,\n source,\n sources,\n tag,\n targetTagName,\n ...matchingFilenameInfo,\n });\n });\n\n return textsAndFileNames;\n };\n\n // See https://eslint.org/docs/latest/extend/plugins#processors-in-plugins\n // See https://eslint.org/docs/latest/extend/custom-processors\n // From https://github.com/eslint/eslint/issues/14745#issuecomment-869457265\n /*\n {\n \"files\": [\"*.js\", \"*.ts\"],\n \"processor\": \"jsdoc/example\" // a pretended value here\n },\n {\n \"files\": [\n \"*.js/*_jsdoc-example.js\",\n \"*.ts/*_jsdoc-example.js\",\n \"*.js/*_jsdoc-example.ts\"\n ],\n \"rules\": {\n // specific rules for examples in jsdoc only here\n // And other rules for `.js` and `.ts` will also be enabled for them\n }\n }\n */\n return {\n meta: {\n name: 'eslint-plugin-jsdoc/processor',\n version,\n },\n processors: {\n examples: {\n meta: {\n name: 'eslint-plugin-jsdoc/preprocessor',\n version,\n },\n /**\n * @param {import('eslint').Linter.LintMessage[][]} messages\n * @param {string} filename\n */\n postprocess ([\n jsMessages,\n ...messages\n // eslint-disable-next-line no-unused-vars -- Placeholder\n ], filename) {\n for (const [\n idx,\n message,\n ] of messages.entries()) {\n const {\n codeStartCol,\n codeStartLine,\n commentLineCols,\n nonJSPrefacingCols,\n targetTagName,\n } = otherInfo[idx];\n\n for (const msg of message) {\n const {\n column,\n endColumn,\n endLine,\n fatal,\n line,\n message: messageText,\n ruleId,\n severity,\n\n // Todo: Make fixable\n // fix\n // fix: {range: [number, number], text: string}\n // suggestions: {desc: , messageId:, fix: }[],\n } = msg;\n delete msg.fix;\n\n const [\n codeCtxLine,\n codeCtxColumn,\n ] = commentLineCols;\n const startLine = codeCtxLine + codeStartLine + line;\n\n // Seems to need one more now\n const startCol = 1 +\n codeCtxColumn + codeStartCol + (\n // This might not work for line 0, but line 0 is unlikely for examples\n line <= 1 ? nonJSPrefacingCols + firstLinePrefixLength : preTagSpaceLength\n ) + column;\n\n msg.message = '@' + targetTagName + ' ' + (severity === 2 ? 'error' : 'warning') +\n (ruleId ? ' (' + ruleId + ')' : '') + ': ' +\n (fatal ? 'Fatal: ' : '') +\n messageText;\n msg.line = startLine;\n msg.column = startCol;\n msg.endLine = endLine ? startLine + endLine : startLine;\n // added `- column` to offset what `endColumn` already seemed to include\n msg.endColumn = endColumn ? startCol - column + endColumn : startCol;\n }\n }\n\n const ret = [\n ...jsMessages,\n ].concat(...messages, ...extraMessages);\n extraMessages = [];\n return ret;\n },\n\n /**\n * @param {string} text\n * @param {string} filename\n * @returns {(string | Linter.ProcessorFile)[]}\n */\n preprocess (text, filename) {\n try {\n let ast;\n\n // May be running a second time so catch and ignore\n try {\n ast = parser ?\n // @ts-expect-error Should be present\n parser.parseForESLint(text, {\n comment: true,\n ecmaVersion: 'latest',\n sourceType,\n }).ast :\n espree.parse(text, {\n comment: true,\n ecmaVersion: 'latest',\n sourceType,\n });\n } catch {\n return [\n text,\n ];\n }\n\n /** @type {[number, number][]} */\n const commentLineCols = [];\n const jsdocComments = /** @type {import('estree').Comment[]} */ (\n /**\n * @type {import('estree').Program & {\n * comments?: import('estree').Comment[]\n * }}\n */\n (ast).comments\n ).filter((comment) => {\n return (/^\\*\\s/v).test(comment.value);\n }).map((comment) => {\n const [\n start,\n /* c8 ignore next -- Unsupporting processors only? */\n ] = comment.range ?? [];\n const textToStart = text.slice(0, start);\n\n const [\n lines,\n cols,\n ] = getLinesCols(textToStart);\n\n // const lines = [...textToStart.matchAll(/\\n/gv)].length\n // const lastLinePos = textToStart.lastIndexOf('\\n');\n // const cols = lastLinePos === -1\n // ? 0\n // : textToStart.slice(lastLinePos).length;\n commentLineCols.push([\n lines, cols,\n ]);\n return parseComment(comment);\n });\n\n return [\n text,\n ...jsdocComments.flatMap((jsdoc, idx) => {\n return getTextsAndFileNames(\n jsdoc,\n filename,\n commentLineCols[idx],\n );\n }).filter(\n /**\n * @param {TextAndFileName} file\n * @returns {file is Linter.ProcessorFile}\n */\n (file) => {\n return file !== null && file !== undefined;\n },\n ),\n ];\n /* c8 ignore next 6 */\n } catch (error) {\n // eslint-disable-next-line no-console -- Debugging\n console.log('err', filename, error);\n }\n\n return [];\n },\n supportsAutofix: true,\n },\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"getJsdocProcessorPlugin.cjs","names":["readFileSync","join","getRegexFromString","decode","forEachPreferredTag","getTagDescription","getPreferredTagName","hasTag","parseComment"],"sources":["../src/getJsdocProcessorPlugin.js"],"sourcesContent":["import {\n forEachPreferredTag,\n getPreferredTagName,\n getRegexFromString,\n getTagDescription,\n hasTag,\n} from './jsdocUtils.js';\nimport {\n parseComment,\n} from '@es-joy/jsdoccomment';\nimport * as espree from 'espree';\nimport {\n decode,\n} from 'html-entities';\nimport {\n readFileSync,\n} from 'node:fs';\nimport {\n join,\n} from 'node:path';\n/**\n * @import {\n * Integer,\n * JsdocBlockWithInline,\n * } from './iterateJsdoc.js';\n * @import {\n * ESLint,\n * Linter,\n * } from 'eslint';\n */\n\nconst {\n version,\n} = JSON.parse(\n readFileSync(join(import.meta.dirname, '../package.json'), 'utf8'),\n);\n\n// const zeroBasedLineIndexAdjust = -1;\nconst likelyNestedJSDocIndentSpace = 1;\nconst preTagSpaceLength = 1;\n\n// If a space is present, we should ignore it\nconst firstLinePrefixLength = preTagSpaceLength;\n\nconst hasCaptionRegex = /^\\s*<caption>([\\s\\S]*?)<\\/caption>/v;\n\n/**\n * @param {string} str\n * @returns {string}\n */\nconst escapeStringRegexp = (str) => {\n return str.replaceAll(/[.*+?^$\\{\\}\\(\\)\\|\\[\\]\\\\]/gv, '\\\\$&');\n};\n\n/**\n * @param {string} str\n * @param {string} ch\n * @returns {Integer}\n */\nconst countChars = (str, ch) => {\n return (str.match(new RegExp(escapeStringRegexp(ch), 'gv')) || []).length;\n};\n\n/**\n * @param {string} text\n * @returns {[\n * Integer,\n * Integer\n * ]}\n */\nconst getLinesCols = (text) => {\n const matchLines = countChars(text, '\\n');\n\n const colDelta = matchLines ?\n text.slice(text.lastIndexOf('\\n') + 1).length :\n text.length;\n\n return [\n matchLines, colDelta,\n ];\n};\n\n/**\n * @typedef {number} Integer\n */\n/**\n * @typedef {object} JsdocProcessorOptions\n * @property {boolean} [captionRequired] Require captions for example tags\n * @property {Integer} [paddedIndent] See docs\n * @property {boolean} [checkDefaults] See docs\n * @property {boolean} [checkParams] See docs\n * @property {boolean} [checkExamples] See docs\n * @property {boolean} [checkProperties] See docs\n * @property {string} [matchingFileName] See docs\n * @property {string} [matchingFileNameDefaults] See docs\n * @property {string} [matchingFileNameParams] See docs\n * @property {string} [matchingFileNameProperties] See docs\n * @property {string|RegExp} [exampleCodeRegex] See docs\n * @property {string|RegExp} [rejectExampleCodeRegex] See docs\n * @property {string[]} [allowedLanguagesToProcess] See docs\n * @property {\"script\"|\"module\"} [sourceType] See docs\n * @property {import('eslint').Linter.ESTreeParser|import('eslint').Linter.NonESTreeParser} [parser] See docs\n */\n\n/**\n * We use a function for the ability of the user to pass in a config, but\n * without requiring all users of the plugin to do so.\n * @param {JsdocProcessorOptions} [options]\n * @returns {ESLint.Plugin}\n */\nexport const getJsdocProcessorPlugin = (options = {}) => {\n /**\n * @typedef {{\n * text: string,\n * filename: string|null|undefined\n * }} TextAndFileName\n */\n\n const {\n allowedLanguagesToProcess = [\n 'js', 'ts', 'javascript', 'typescript',\n ],\n captionRequired = false,\n checkDefaults = false,\n checkExamples = true,\n checkParams = false,\n checkProperties = false,\n exampleCodeRegex = null,\n matchingFileName = null,\n matchingFileNameDefaults = null,\n matchingFileNameParams = null,\n matchingFileNameProperties = null,\n paddedIndent = 0,\n parser = undefined,\n rejectExampleCodeRegex = null,\n sourceType = 'module',\n } = options;\n\n /** @type {RegExp} */\n let exampleCodeRegExp;\n /** @type {RegExp} */\n let rejectExampleCodeRegExp;\n\n if (exampleCodeRegex) {\n exampleCodeRegExp = typeof exampleCodeRegex === 'string' ?\n getRegexFromString(exampleCodeRegex) :\n exampleCodeRegex;\n }\n\n if (rejectExampleCodeRegex) {\n rejectExampleCodeRegExp = typeof rejectExampleCodeRegex === 'string' ?\n getRegexFromString(rejectExampleCodeRegex) :\n rejectExampleCodeRegex;\n }\n\n /**\n * @type {{\n * targetTagName: string,\n * ext: string,\n * codeStartLine: number,\n * codeStartCol: number,\n * nonJSPrefacingCols: number,\n * commentLineCols: [number, number]\n * }[]}\n */\n const otherInfo = [];\n\n /** @type {import('eslint').Linter.LintMessage[]} */\n let extraMessages = [];\n\n /**\n * @param {JsdocBlockWithInline} jsdoc\n * @param {string} jsFileName\n * @param {[number, number]} commentLineCols\n */\n const getTextsAndFileNames = (jsdoc, jsFileName, commentLineCols) => {\n /**\n * @type {TextAndFileName[]}\n */\n const textsAndFileNames = [];\n\n /**\n * @param {{\n * filename: string|null,\n * defaultFileName: string|undefined,\n * source: string,\n * targetTagName: string,\n * rules?: import('eslint').Linter.RulesRecord|undefined,\n * lines?: Integer,\n * cols?: Integer,\n * skipInit?: boolean,\n * ext: string,\n * sources?: {\n * nonJSPrefacingCols: Integer,\n * nonJSPrefacingLines: Integer,\n * string: string,\n * }[],\n * tag?: import('comment-parser').Spec & {\n * line?: Integer,\n * }|{\n * line: Integer,\n * }\n * }} cfg\n */\n const checkSource = ({\n cols = 0,\n defaultFileName,\n ext,\n filename,\n lines = 0,\n skipInit,\n source,\n sources = [],\n tag = {\n line: 0,\n },\n targetTagName,\n }) => {\n if (!skipInit) {\n sources.push({\n nonJSPrefacingCols: cols,\n nonJSPrefacingLines: lines,\n string: source,\n });\n }\n\n /**\n * @param {{\n * nonJSPrefacingCols: Integer,\n * nonJSPrefacingLines: Integer,\n * string: string\n * }} cfg\n */\n const addSourceInfo = function ({\n nonJSPrefacingCols,\n nonJSPrefacingLines,\n string,\n }) {\n const src = paddedIndent ?\n string.replaceAll(new RegExp(`(^|\\n) {${paddedIndent}}(?!$)`, 'gv'), '\\n') :\n string;\n\n // Programmatic ESLint API: https://eslint.org/docs/developer-guide/nodejs-api\n const file = filename || defaultFileName;\n\n if (!('line' in tag)) {\n tag.line = tag.source[0].number;\n }\n\n // NOTE: `tag.line` can be 0 if of form `/** @tag ... */`\n const codeStartLine = /**\n * @type {import('comment-parser').Spec & {\n * line: Integer,\n * }}\n */ (tag).line + nonJSPrefacingLines;\n const codeStartCol = likelyNestedJSDocIndentSpace;\n\n textsAndFileNames.push({\n filename: file,\n // See https://github.com/gajus/eslint-plugin-jsdoc/issues/710\n text: src.replaceAll(/(?<=\\*)\\\\(?=\\\\*\\/)/gv, '').replaceAll(/&([^\\s;]+);/gv, (_, code) => {\n // Dec\n if ((/^#\\d+$/v).test(code)) {\n return String.fromCodePoint(Number.parseInt(code.slice(1), 10));\n }\n\n // Hex\n if ((/^#x\\d+$/v).test(code)) {\n return String.fromCodePoint(Number.parseInt(code.slice(2), 16));\n }\n\n return decode(_, {\n level: 'html5',\n });\n }),\n });\n otherInfo.push({\n codeStartCol,\n codeStartLine,\n commentLineCols,\n ext,\n nonJSPrefacingCols,\n targetTagName,\n });\n };\n\n for (const targetSource of sources) {\n addSourceInfo(targetSource);\n }\n };\n\n /**\n *\n * @param {string|null} filename\n * @param {string} [ext] Since `eslint-plugin-markdown` v2, and\n * ESLint 7, this is the default which other JS-fenced rules will used.\n * Formerly \"md\" was the default.\n * @returns {{\n * defaultFileName: string|undefined,\n * filename: string|null,\n * ext: string\n * }}\n */\n const getFilenameInfo = (filename, ext = 'md/*.js') => {\n let defaultFileName;\n if (!filename) {\n if (typeof jsFileName === 'string' && jsFileName.includes('.')) {\n defaultFileName = jsFileName.replace(/\\.[^.]*$/v, `.${ext}`);\n } else {\n defaultFileName = `dummy.${ext}`;\n }\n }\n\n return {\n defaultFileName,\n ext,\n filename,\n };\n };\n\n if (checkDefaults) {\n const filenameInfo = getFilenameInfo(matchingFileNameDefaults, 'jsdoc-defaults');\n forEachPreferredTag(jsdoc, 'default', (tag, targetTagName) => {\n if (!tag.description.trim()) {\n return;\n }\n\n checkSource({\n source: `(${getTagDescription(tag)})`,\n targetTagName,\n ...filenameInfo,\n });\n });\n }\n\n if (checkParams) {\n const filenameInfo = getFilenameInfo(matchingFileNameParams, 'jsdoc-params');\n forEachPreferredTag(jsdoc, 'param', (tag, targetTagName) => {\n if (!tag.default || !tag.default.trim()) {\n return;\n }\n\n checkSource({\n source: `(${tag.default})`,\n targetTagName,\n ...filenameInfo,\n });\n });\n }\n\n if (checkProperties) {\n const filenameInfo = getFilenameInfo(matchingFileNameProperties, 'jsdoc-properties');\n forEachPreferredTag(jsdoc, 'property', (tag, targetTagName) => {\n if (!tag.default || !tag.default.trim()) {\n return;\n }\n\n checkSource({\n source: `(${tag.default})`,\n targetTagName,\n ...filenameInfo,\n });\n });\n }\n\n if (!checkExamples) {\n return textsAndFileNames;\n }\n\n const tagName = /** @type {string} */ (getPreferredTagName(jsdoc, {\n tagName: 'example',\n }));\n if (!hasTag(jsdoc, tagName)) {\n return textsAndFileNames;\n }\n\n const matchingFilenameInfo = getFilenameInfo(matchingFileName);\n\n forEachPreferredTag(jsdoc, 'example', (tag, targetTagName) => {\n let source = /** @type {string} */ (getTagDescription(tag));\n const match = source.match(hasCaptionRegex);\n\n if (captionRequired && (!match || !match[1].trim())) {\n extraMessages.push({\n column: commentLineCols[1] + 1,\n line: 1 + commentLineCols[0] + (tag.line ?? tag.source[0].number),\n message: `@${targetTagName} error - Caption is expected for examples.`,\n ruleId: 'jsdoc/example-missing-caption',\n severity: 2,\n });\n return;\n }\n\n source = source.replace(hasCaptionRegex, '');\n const [\n lines,\n cols,\n ] = match ? getLinesCols(match[0]) : [\n 0, 0,\n ];\n\n if (exampleCodeRegex && !exampleCodeRegExp.test(source) ||\n rejectExampleCodeRegex && rejectExampleCodeRegExp.test(source)\n ) {\n return;\n }\n\n // If `allowedLanguagesToProcess` is falsy, all languages should be processed.\n if (allowedLanguagesToProcess) {\n const matches = (/^\\s*```(?<language>\\S+)([\\s\\S]*)```\\s*$/v).exec(source);\n if (matches?.groups && !allowedLanguagesToProcess.includes(\n matches.groups.language.toLowerCase(),\n )) {\n return;\n }\n }\n\n const sources = [];\n let skipInit = false;\n if (exampleCodeRegex) {\n let nonJSPrefacingCols = 0;\n let nonJSPrefacingLines = 0;\n\n let startingIndex = 0;\n let lastStringCount = 0;\n\n let exampleCode;\n exampleCodeRegExp.lastIndex = 0;\n while ((exampleCode = exampleCodeRegExp.exec(source)) !== null) {\n const {\n '0': n0,\n '1': n1,\n index,\n } = exampleCode;\n\n // Count anything preceding user regex match (can affect line numbering)\n const preMatch = source.slice(startingIndex, index);\n\n const [\n preMatchLines,\n colDelta,\n ] = getLinesCols(preMatch);\n\n let nonJSPreface;\n let nonJSPrefaceLineCount;\n if (n1) {\n const idx = n0.indexOf(n1);\n nonJSPreface = n0.slice(0, idx);\n nonJSPrefaceLineCount = countChars(nonJSPreface, '\\n');\n } else {\n nonJSPreface = '';\n nonJSPrefaceLineCount = 0;\n }\n\n nonJSPrefacingLines += lastStringCount + preMatchLines + nonJSPrefaceLineCount;\n\n // Ignore `preMatch` delta if newlines here\n if (nonJSPrefaceLineCount) {\n const charsInLastLine = nonJSPreface.slice(nonJSPreface.lastIndexOf('\\n') + 1).length;\n\n nonJSPrefacingCols += charsInLastLine;\n } else {\n nonJSPrefacingCols += colDelta + nonJSPreface.length;\n }\n\n const string = n1 || n0;\n sources.push({\n nonJSPrefacingCols,\n nonJSPrefacingLines,\n string,\n });\n startingIndex = exampleCodeRegExp.lastIndex;\n lastStringCount = countChars(string, '\\n');\n if (!exampleCodeRegExp.global) {\n break;\n }\n }\n\n skipInit = true;\n }\n\n checkSource({\n cols,\n lines,\n skipInit,\n source,\n sources,\n tag,\n targetTagName,\n ...matchingFilenameInfo,\n });\n });\n\n return textsAndFileNames;\n };\n\n // See https://eslint.org/docs/latest/extend/plugins#processors-in-plugins\n // See https://eslint.org/docs/latest/extend/custom-processors\n // From https://github.com/eslint/eslint/issues/14745#issuecomment-869457265\n /*\n {\n \"files\": [\"*.js\", \"*.ts\"],\n \"processor\": \"jsdoc/example\" // a pretended value here\n },\n {\n \"files\": [\n \"*.js/*_jsdoc-example.js\",\n \"*.ts/*_jsdoc-example.js\",\n \"*.js/*_jsdoc-example.ts\"\n ],\n \"rules\": {\n // specific rules for examples in jsdoc only here\n // And other rules for `.js` and `.ts` will also be enabled for them\n }\n }\n */\n return {\n meta: {\n name: 'eslint-plugin-jsdoc/processor',\n version,\n },\n processors: {\n examples: {\n meta: {\n name: 'eslint-plugin-jsdoc/preprocessor',\n version,\n },\n /**\n * @param {import('eslint').Linter.LintMessage[][]} messages\n * @param {string} filename\n */\n postprocess ([\n jsMessages,\n ...messages\n // eslint-disable-next-line no-unused-vars -- Placeholder\n ], filename) {\n for (const [\n idx,\n message,\n ] of messages.entries()) {\n const {\n codeStartCol,\n codeStartLine,\n commentLineCols,\n nonJSPrefacingCols,\n targetTagName,\n } = otherInfo[idx];\n\n for (const msg of message) {\n const {\n column,\n endColumn,\n endLine,\n fatal,\n line,\n message: messageText,\n ruleId,\n severity,\n\n // Todo: Make fixable\n // fix\n // fix: {range: [number, number], text: string}\n // suggestions: {desc: , messageId:, fix: }[],\n } = msg;\n delete msg.fix;\n\n const [\n codeCtxLine,\n codeCtxColumn,\n ] = commentLineCols;\n const startLine = codeCtxLine + codeStartLine + line;\n\n // Seems to need one more now\n const startCol = 1 +\n codeCtxColumn + codeStartCol + (\n // This might not work for line 0, but line 0 is unlikely for examples\n line <= 1 ? nonJSPrefacingCols + firstLinePrefixLength : preTagSpaceLength\n ) + column;\n\n msg.message = '@' + targetTagName + ' ' + (severity === 2 ? 'error' : 'warning') +\n (ruleId ? ' (' + ruleId + ')' : '') + ': ' +\n (fatal ? 'Fatal: ' : '') +\n messageText;\n msg.line = startLine;\n msg.column = startCol;\n msg.endLine = endLine ? startLine + endLine : startLine;\n // added `- column` to offset what `endColumn` already seemed to include\n msg.endColumn = endColumn ? startCol - column + endColumn : startCol;\n }\n }\n\n const ret = [\n ...jsMessages,\n ].concat(...messages, ...extraMessages);\n extraMessages = [];\n return ret;\n },\n\n /**\n * @param {string} text\n * @param {string} filename\n * @returns {(string | Linter.ProcessorFile)[]}\n */\n preprocess (text, filename) {\n try {\n let ast;\n\n // May be running a second time so catch and ignore\n try {\n ast = parser ?\n // @ts-expect-error Should be present\n parser.parseForESLint(text, {\n comment: true,\n ecmaVersion: 'latest',\n sourceType,\n }).ast :\n espree.parse(text, {\n comment: true,\n ecmaVersion: 'latest',\n sourceType,\n });\n } catch {\n return [\n text,\n ];\n }\n\n /** @type {[number, number][]} */\n const commentLineCols = [];\n const jsdocComments = /** @type {import('estree').Comment[]} */ (\n /**\n * @type {import('estree').Program & {\n * comments?: import('estree').Comment[]\n * }}\n */\n (ast).comments\n ).filter((comment) => {\n return (/^\\*\\s/v).test(comment.value);\n }).map((comment) => {\n const [\n start,\n /* c8 ignore next -- Unsupporting processors only? */\n ] = comment.range ?? [];\n const textToStart = text.slice(0, start);\n\n const [\n lines,\n cols,\n ] = getLinesCols(textToStart);\n\n // const lines = [...textToStart.matchAll(/\\n/gv)].length\n // const lastLinePos = textToStart.lastIndexOf('\\n');\n // const cols = lastLinePos === -1\n // ? 0\n // : textToStart.slice(lastLinePos).length;\n commentLineCols.push([\n lines, cols,\n ]);\n return parseComment(comment);\n });\n\n return [\n text,\n ...jsdocComments.flatMap((jsdoc, idx) => {\n return getTextsAndFileNames(\n jsdoc,\n filename,\n commentLineCols[idx],\n );\n }).filter(\n /**\n * @param {TextAndFileName} file\n * @returns {file is Linter.ProcessorFile}\n */\n (file) => {\n return file !== null && file !== undefined;\n },\n ),\n ];\n /* c8 ignore next 6 */\n } catch (error) {\n // eslint-disable-next-line no-console -- Debugging\n console.log('err', filename, error);\n }\n\n return [];\n },\n supportsAutofix: true,\n },\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
package/dist/index-cjs.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-cjs.cjs","names":["_buildForbidRuleDefinition","require","_buildRejectOrPreferRuleDefinition","_getJsdocProcessorPlugin","_checkAccess","_interopRequireDefault","_checkAlignment","_checkExamples","_checkIndentation","_checkLineAlignment","_checkParamNames","_checkPropertyNames","_checkSyntax","_checkTagNames","_checkTemplateNames","_checkTypes","_checkValues","_convertToJsdocComments","_emptyTags","_escapeInlineTags","_implementsOnClasses","_importsAsDependencies","_informativeDocs","_linesBeforeBlock","_matchDescription","_matchName","_multilineBlocks","_noBadBlocks","_noBlankBlockDescriptions","_noBlankBlocks","_noDefaults","_noMissingSyntax","_noMultiAsterisks","_noRestrictedSyntax","_noTypes","_noUndefinedTypes","_preferImportTag","_requireAsteriskPrefix","_requireDescription","_requireDescriptionCompleteSentence","_requireExample","_requireFileOverview","_requireHyphenBeforeParamDescription","_requireJsdoc","_requireParam","_requireParamDescription","_requireParamName","_requireParamType","_requireProperty","_requirePropertyDescription","_requirePropertyName","_requirePropertyType","_requireRejects","_requireReturns","_requireReturnsCheck","_requireReturnsDescription","_requireReturnsType","_requireTags","_requireTemplate","_requireThrows","_requireYields","_requireYieldsCheck","_sortTags","_tagLines","_textEscaping","_tsMethodSignatureStyle","_tsNoEmptyObjectType","_tsNoUnnecessaryTemplateExpression","_tsPreferFunctionType","_typeFormatting","_validTypes","_eslint","_semver","e","__esModule","default","index","configs","rules","checkAccess","checkAlignment","checkExamples","checkIndentation","checkLineAlignment","checkParamNames","checkPropertyNames","checkSyntax","checkTagNames","checkTemplateNames","checkTypes","checkValues","convertToJsdocComments","emptyTags","escapeInlineTags","implementsOnClasses","importsAsDependencies","informativeDocs","linesBeforeBlock","matchDescription","matchName","multilineBlocks","noBadBlocks","noBlankBlockDescriptions","noBlankBlocks","noDefaults","noMissingSyntax","noMultiAsterisks","noRestrictedSyntax","noTypes","noUndefinedTypes","preferImportTag","buildRejectOrPreferRuleDefinition","description","overrideSettings","message","replacement","unifyParentAndChildTypeChecks","any","url","Function","requireAsteriskPrefix","requireDescription","requireDescriptionCompleteSentence","requireExample","requireFileOverview","requireHyphenBeforeParamDescription","requireJsdoc","buildForbidRuleDefinition","contexts","comment","context","requireParam","requireParamDescription","requireParamName","requireParamType","requireProperty","requirePropertyDescription","requirePropertyName","requirePropertyType","requireRejects","requireReturns","requireReturnsCheck","requireReturnsDescription","requireReturnsType","requireTags","requireTemplate","requireThrows","requireYields","requireYieldsCheck","sortTags","tagLines","textEscaping","tsMethodSignatureStyle","tsNoEmptyObjectType","tsNoUnnecessaryTemplateExpression","tsPreferFunctionType","typeFormatting","validTypes","createRecommendedRuleset","warnOrError","flatName","name","plugins","jsdoc","createRecommendedTypeScriptRuleset","ruleset","typed","createRecommendedTsDocRuleset","createRecommendedTypeScriptFlavorRuleset","createStandaloneRulesetFactory","ruleNames","Object","fromEntries","map","ruleName","slice","contentsRules","escapeHTML","createContentsTypescriptRuleset","createContentsTypescriptFlavorRuleset","logicalRules","createLogicalTypescriptRuleset","createLogicalTypescriptFlavorRuleset","requirementsRules","createRequirementsTypeScriptRuleset","createRequirementsTypeScriptFlavorRuleset","stylisticRules","createStylisticTypeScriptRuleset","createStylisticTypeScriptFlavorRuleset","Error","recommended","examples","files","getJsdocProcessorPlugin","processor","semver","gte","coerce","ESLint","version","checkDefaults","checkParams","checkProperties","quotes","semi","strict","config","_default","exports","module"],"sources":["../src/index-cjs.js"],"sourcesContent":["import {\n buildForbidRuleDefinition,\n} from './buildForbidRuleDefinition.js';\nimport {\n buildRejectOrPreferRuleDefinition,\n} from './buildRejectOrPreferRuleDefinition.js';\nimport {\n getJsdocProcessorPlugin,\n} from './getJsdocProcessorPlugin.js';\nimport checkAccess from './rules/checkAccess.js';\nimport checkAlignment from './rules/checkAlignment.js';\nimport checkExamples from './rules/checkExamples.js';\nimport checkIndentation from './rules/checkIndentation.js';\nimport checkLineAlignment from './rules/checkLineAlignment.js';\nimport checkParamNames from './rules/checkParamNames.js';\nimport checkPropertyNames from './rules/checkPropertyNames.js';\nimport checkSyntax from './rules/checkSyntax.js';\nimport checkTagNames from './rules/checkTagNames.js';\nimport checkTemplateNames from './rules/checkTemplateNames.js';\nimport checkTypes from './rules/checkTypes.js';\nimport checkValues from './rules/checkValues.js';\nimport convertToJsdocComments from './rules/convertToJsdocComments.js';\nimport emptyTags from './rules/emptyTags.js';\nimport escapeInlineTags from './rules/escapeInlineTags.js';\nimport implementsOnClasses from './rules/implementsOnClasses.js';\nimport importsAsDependencies from './rules/importsAsDependencies.js';\nimport informativeDocs from './rules/informativeDocs.js';\nimport linesBeforeBlock from './rules/linesBeforeBlock.js';\nimport matchDescription from './rules/matchDescription.js';\nimport matchName from './rules/matchName.js';\nimport multilineBlocks from './rules/multilineBlocks.js';\nimport noBadBlocks from './rules/noBadBlocks.js';\nimport noBlankBlockDescriptions from './rules/noBlankBlockDescriptions.js';\nimport noBlankBlocks from './rules/noBlankBlocks.js';\nimport noDefaults from './rules/noDefaults.js';\nimport noMissingSyntax from './rules/noMissingSyntax.js';\nimport noMultiAsterisks from './rules/noMultiAsterisks.js';\nimport noRestrictedSyntax from './rules/noRestrictedSyntax.js';\nimport noTypes from './rules/noTypes.js';\nimport noUndefinedTypes from './rules/noUndefinedTypes.js';\nimport preferImportTag from './rules/preferImportTag.js';\nimport requireAsteriskPrefix from './rules/requireAsteriskPrefix.js';\nimport requireDescription from './rules/requireDescription.js';\nimport requireDescriptionCompleteSentence from './rules/requireDescriptionCompleteSentence.js';\nimport requireExample from './rules/requireExample.js';\nimport requireFileOverview from './rules/requireFileOverview.js';\nimport requireHyphenBeforeParamDescription from './rules/requireHyphenBeforeParamDescription.js';\nimport requireJsdoc from './rules/requireJsdoc.js';\nimport requireParam from './rules/requireParam.js';\nimport requireParamDescription from './rules/requireParamDescription.js';\nimport requireParamName from './rules/requireParamName.js';\nimport requireParamType from './rules/requireParamType.js';\nimport requireProperty from './rules/requireProperty.js';\nimport requirePropertyDescription from './rules/requirePropertyDescription.js';\nimport requirePropertyName from './rules/requirePropertyName.js';\nimport requirePropertyType from './rules/requirePropertyType.js';\nimport requireRejects from './rules/requireRejects.js';\nimport requireReturns from './rules/requireReturns.js';\nimport requireReturnsCheck from './rules/requireReturnsCheck.js';\nimport requireReturnsDescription from './rules/requireReturnsDescription.js';\nimport requireReturnsType from './rules/requireReturnsType.js';\nimport requireTags from './rules/requireTags.js';\nimport requireTemplate from './rules/requireTemplate.js';\nimport requireThrows from './rules/requireThrows.js';\nimport requireYields from './rules/requireYields.js';\nimport requireYieldsCheck from './rules/requireYieldsCheck.js';\nimport sortTags from './rules/sortTags.js';\nimport tagLines from './rules/tagLines.js';\nimport textEscaping from './rules/textEscaping.js';\nimport tsMethodSignatureStyle from './rules/tsMethodSignatureStyle.js';\nimport tsNoEmptyObjectType from './rules/tsNoEmptyObjectType.js';\nimport tsNoUnnecessaryTemplateExpression from './rules/tsNoUnnecessaryTemplateExpression.js';\nimport tsPreferFunctionType from './rules/tsPreferFunctionType.js';\nimport typeFormatting from './rules/typeFormatting.js';\nimport validTypes from './rules/validTypes.js';\nimport {\n ESLint,\n} from 'eslint';\nimport semver from 'semver';\n\n/**\n * @typedef {\"recommended\" | \"stylistic\" | \"contents\" | \"logical\" | \"requirements\"} ConfigGroups\n * @typedef {\"\" | \"-typescript\" | \"-typescript-flavor\"} ConfigVariants\n * @typedef {\"\" | \"-error\"} ErrorLevelVariants\n * @type {import('eslint').ESLint.Plugin & {\n * configs: Record<\n * `flat/${ConfigGroups}${ConfigVariants}${ErrorLevelVariants}`,\n * import('eslint').Linter.Config\n * > &\n * Record<\n * \"examples\"|\"default-expressions\"|\"examples-and-default-expressions\",\n * import('eslint').Linter.Config[]\n * > &\n * Record<\"flat/recommended-mixed\", import('eslint').Linter.Config[]>\n * }}\n */\nconst index = {};\nindex.configs = {};\nindex.rules = {\n 'check-access': checkAccess,\n 'check-alignment': checkAlignment,\n 'check-examples': checkExamples,\n 'check-indentation': checkIndentation,\n 'check-line-alignment': checkLineAlignment,\n 'check-param-names': checkParamNames,\n 'check-property-names': checkPropertyNames,\n 'check-syntax': checkSyntax,\n 'check-tag-names': checkTagNames,\n 'check-template-names': checkTemplateNames,\n 'check-types': checkTypes,\n 'check-values': checkValues,\n 'convert-to-jsdoc-comments': convertToJsdocComments,\n 'empty-tags': emptyTags,\n 'escape-inline-tags': escapeInlineTags,\n 'implements-on-classes': implementsOnClasses,\n 'imports-as-dependencies': importsAsDependencies,\n 'informative-docs': informativeDocs,\n 'lines-before-block': linesBeforeBlock,\n 'match-description': matchDescription,\n 'match-name': matchName,\n 'multiline-blocks': multilineBlocks,\n 'no-bad-blocks': noBadBlocks,\n 'no-blank-block-descriptions': noBlankBlockDescriptions,\n 'no-blank-blocks': noBlankBlocks,\n 'no-defaults': noDefaults,\n 'no-missing-syntax': noMissingSyntax,\n 'no-multi-asterisks': noMultiAsterisks,\n 'no-restricted-syntax': noRestrictedSyntax,\n 'no-types': noTypes,\n 'no-undefined-types': noUndefinedTypes,\n 'prefer-import-tag': preferImportTag,\n 'reject-any-type': buildRejectOrPreferRuleDefinition({\n description: 'Reports use of `any` or `*` type',\n overrideSettings: {\n '*': {\n message: 'Prefer a more specific type to `*`',\n replacement: false,\n unifyParentAndChildTypeChecks: true,\n },\n any: {\n message: 'Prefer a more specific type to `any`',\n replacement: false,\n unifyParentAndChildTypeChecks: true,\n },\n },\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md#repos-sticky-header',\n }),\n 'reject-function-type': buildRejectOrPreferRuleDefinition({\n description: 'Reports use of `Function` type',\n overrideSettings: {\n Function: {\n message: 'Prefer a more specific type to `Function`',\n replacement: false,\n unifyParentAndChildTypeChecks: true,\n },\n },\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-function-type.md#repos-sticky-header',\n }),\n 'require-asterisk-prefix': requireAsteriskPrefix,\n 'require-description': requireDescription,\n 'require-description-complete-sentence': requireDescriptionCompleteSentence,\n 'require-example': requireExample,\n 'require-file-overview': requireFileOverview,\n 'require-hyphen-before-param-description': requireHyphenBeforeParamDescription,\n 'require-jsdoc': requireJsdoc,\n 'require-next-description': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=next]:not([name!=\"\"]):not([description!=\"\"]))',\n context: 'any',\n message: '@next should have a description',\n },\n ],\n description: 'Requires a description for `@next` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-description.md#repos-sticky-header',\n }),\n 'require-next-type': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=next]:not([parsedType.type]))',\n context: 'any',\n message: '@next should have a type',\n },\n ],\n description: 'Requires a type for `@next` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-type.md#repos-sticky-header',\n }),\n 'require-param': requireParam,\n 'require-param-description': requireParamDescription,\n 'require-param-name': requireParamName,\n 'require-param-type': requireParamType,\n 'require-property': requireProperty,\n 'require-property-description': requirePropertyDescription,\n 'require-property-name': requirePropertyName,\n 'require-property-type': requirePropertyType,\n 'require-rejects': requireRejects,\n 'require-returns': requireReturns,\n 'require-returns-check': requireReturnsCheck,\n 'require-returns-description': requireReturnsDescription,\n 'require-returns-type': requireReturnsType,\n 'require-tags': requireTags,\n 'require-template': requireTemplate,\n 'require-template-description': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=template]:not([description!=\"\"]))',\n context: 'any',\n message: '@template should have a description',\n },\n ],\n description: 'Requires a description for `@template` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template-description.md#repos-sticky-header',\n }),\n 'require-throws': requireThrows,\n 'require-throws-description': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=/^(?:throws|exception)$/]:not([description!=\"\"]))',\n context: 'any',\n message: '@throws should have a description',\n },\n ],\n description: 'Requires a description for `@throws` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-description.md#repos-sticky-header',\n }),\n 'require-throws-type': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=/^(?:throws|exception)$/]:not([parsedType.type]))',\n context: 'any',\n message: '@throws should have a type',\n },\n ],\n description: 'Requires a type for `@throws` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-type.md#repos-sticky-header',\n }),\n 'require-yields': requireYields,\n 'require-yields-check': requireYieldsCheck,\n 'require-yields-description': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=/^yields?$/]:not([name!=\"\"]):not([description!=\"\"]))',\n context: 'any',\n message: '@yields should have a description',\n },\n ],\n description: 'Requires a description for `@yields` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-description.md#repos-sticky-header',\n }),\n 'require-yields-type': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=/^yields?$/]:not([parsedType.type]))',\n context: 'any',\n message: '@yields should have a type',\n },\n ],\n description: 'Requires a type for `@yields` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-type.md#repos-sticky-header',\n }),\n 'sort-tags': sortTags,\n 'tag-lines': tagLines,\n 'text-escaping': textEscaping,\n 'ts-method-signature-style': tsMethodSignatureStyle,\n 'ts-no-empty-object-type': tsNoEmptyObjectType,\n 'ts-no-unnecessary-template-expression': tsNoUnnecessaryTemplateExpression,\n 'ts-prefer-function-type': tsPreferFunctionType,\n 'type-formatting': typeFormatting,\n 'valid-types': validTypes,\n};\n\n/**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\nconst createRecommendedRuleset = (warnOrError, flatName) => {\n return {\n ...(flatName ? {\n name: 'jsdoc/' + flatName,\n } : {}),\n // @ts-expect-error ESLint 8 plugins\n plugins:\n flatName ? {\n jsdoc: index,\n } : [\n 'jsdoc',\n ],\n rules: {\n 'jsdoc/check-access': warnOrError,\n 'jsdoc/check-alignment': warnOrError,\n 'jsdoc/check-examples': 'off',\n 'jsdoc/check-indentation': 'off',\n 'jsdoc/check-line-alignment': 'off',\n 'jsdoc/check-param-names': warnOrError,\n 'jsdoc/check-property-names': warnOrError,\n 'jsdoc/check-syntax': 'off',\n 'jsdoc/check-tag-names': warnOrError,\n 'jsdoc/check-template-names': 'off',\n 'jsdoc/check-types': warnOrError,\n 'jsdoc/check-values': warnOrError,\n 'jsdoc/convert-to-jsdoc-comments': 'off',\n 'jsdoc/empty-tags': warnOrError,\n 'jsdoc/escape-inline-tags': warnOrError,\n 'jsdoc/implements-on-classes': warnOrError,\n 'jsdoc/imports-as-dependencies': 'off',\n 'jsdoc/informative-docs': 'off',\n 'jsdoc/lines-before-block': 'off',\n 'jsdoc/match-description': 'off',\n 'jsdoc/match-name': 'off',\n 'jsdoc/multiline-blocks': warnOrError,\n 'jsdoc/no-bad-blocks': 'off',\n 'jsdoc/no-blank-block-descriptions': 'off',\n 'jsdoc/no-blank-blocks': 'off',\n 'jsdoc/no-defaults': warnOrError,\n 'jsdoc/no-missing-syntax': 'off',\n 'jsdoc/no-multi-asterisks': warnOrError,\n 'jsdoc/no-restricted-syntax': 'off',\n 'jsdoc/no-types': 'off',\n 'jsdoc/no-undefined-types': warnOrError,\n 'jsdoc/prefer-import-tag': 'off',\n 'jsdoc/reject-any-type': warnOrError,\n 'jsdoc/reject-function-type': warnOrError,\n 'jsdoc/require-asterisk-prefix': 'off',\n 'jsdoc/require-description': 'off',\n 'jsdoc/require-description-complete-sentence': 'off',\n 'jsdoc/require-example': 'off',\n 'jsdoc/require-file-overview': 'off',\n 'jsdoc/require-hyphen-before-param-description': 'off',\n 'jsdoc/require-jsdoc': warnOrError,\n 'jsdoc/require-next-description': 'off',\n 'jsdoc/require-next-type': warnOrError,\n 'jsdoc/require-param': warnOrError,\n 'jsdoc/require-param-description': warnOrError,\n 'jsdoc/require-param-name': warnOrError,\n 'jsdoc/require-param-type': warnOrError,\n 'jsdoc/require-property': warnOrError,\n 'jsdoc/require-property-description': warnOrError,\n 'jsdoc/require-property-name': warnOrError,\n 'jsdoc/require-property-type': warnOrError,\n 'jsdoc/require-rejects': 'off',\n 'jsdoc/require-returns': warnOrError,\n 'jsdoc/require-returns-check': warnOrError,\n 'jsdoc/require-returns-description': warnOrError,\n 'jsdoc/require-returns-type': warnOrError,\n 'jsdoc/require-tags': 'off',\n 'jsdoc/require-template': 'off',\n 'jsdoc/require-template-description': 'off',\n 'jsdoc/require-throws': 'off',\n 'jsdoc/require-throws-description': 'off',\n 'jsdoc/require-throws-type': warnOrError,\n 'jsdoc/require-yields': warnOrError,\n 'jsdoc/require-yields-check': warnOrError,\n 'jsdoc/require-yields-description': 'off',\n 'jsdoc/require-yields-type': warnOrError,\n 'jsdoc/sort-tags': 'off',\n 'jsdoc/tag-lines': warnOrError,\n 'jsdoc/text-escaping': 'off',\n 'jsdoc/ts-method-signature-style': 'off',\n 'jsdoc/ts-no-empty-object-type': warnOrError,\n 'jsdoc/ts-no-unnecessary-template-expression': 'off',\n 'jsdoc/ts-prefer-function-type': 'off',\n 'jsdoc/type-formatting': 'off',\n 'jsdoc/valid-types': warnOrError,\n },\n };\n};\n\n/**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\nconst createRecommendedTypeScriptRuleset = (warnOrError, flatName) => {\n const ruleset = createRecommendedRuleset(warnOrError, flatName);\n\n return {\n ...ruleset,\n rules: {\n ...ruleset.rules,\n /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */\n 'jsdoc/check-tag-names': [\n warnOrError, {\n typed: true,\n },\n ],\n 'jsdoc/no-types': warnOrError,\n 'jsdoc/no-undefined-types': 'off',\n 'jsdoc/require-param-type': 'off',\n 'jsdoc/require-property-type': 'off',\n 'jsdoc/require-returns-type': 'off',\n /* eslint-enable @stylistic/indent */\n },\n };\n};\n\n/**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\nconst createRecommendedTsDocRuleset = (warnOrError, flatName) => {\n const ruleset = createRecommendedTypeScriptRuleset(warnOrError, flatName);\n\n return {\n ...ruleset,\n rules: {\n ...ruleset.rules,\n /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */\n 'jsdoc/require-next-type': 'off',\n 'jsdoc/require-throws-type': 'off',\n 'jsdoc/require-yields-type': 'off',\n /* eslint-enable @stylistic/indent */\n },\n };\n};\n\n/**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\nconst createRecommendedTypeScriptFlavorRuleset = (warnOrError, flatName) => {\n const ruleset = createRecommendedRuleset(warnOrError, flatName);\n\n return {\n ...ruleset,\n rules: {\n ...ruleset.rules,\n /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */\n 'jsdoc/no-undefined-types': 'off',\n /* eslint-enable @stylistic/indent */\n },\n };\n};\n\n/**\n * @param {(string | unknown[])[]} ruleNames\n */\nconst createStandaloneRulesetFactory = (ruleNames) => {\n /**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\n return (warnOrError, flatName) => {\n return {\n name: 'jsdoc/' + flatName,\n plugins: {\n jsdoc: index,\n },\n rules: Object.fromEntries(\n ruleNames.map(\n (ruleName) => {\n return (typeof ruleName === 'string' ?\n [\n ruleName, warnOrError,\n ] :\n [\n ruleName[0], [\n warnOrError, ...ruleName.slice(1),\n ],\n ]);\n },\n ),\n ),\n };\n };\n};\n\nconst contentsRules = [\n 'jsdoc/informative-docs',\n 'jsdoc/match-description',\n 'jsdoc/no-blank-block-descriptions',\n 'jsdoc/no-blank-blocks',\n [\n 'jsdoc/text-escaping', {\n escapeHTML: true,\n },\n ],\n];\n\nconst createContentsTypescriptRuleset = createStandaloneRulesetFactory(contentsRules);\n\nconst createContentsTypescriptFlavorRuleset = createStandaloneRulesetFactory(contentsRules);\n\nconst logicalRules = [\n 'jsdoc/check-access',\n 'jsdoc/check-param-names',\n 'jsdoc/check-property-names',\n 'jsdoc/check-syntax',\n 'jsdoc/check-tag-names',\n 'jsdoc/check-template-names',\n 'jsdoc/check-types',\n 'jsdoc/check-values',\n 'jsdoc/empty-tags',\n 'jsdoc/escape-inline-tags',\n 'jsdoc/implements-on-classes',\n 'jsdoc/require-returns-check',\n 'jsdoc/require-yields-check',\n 'jsdoc/no-bad-blocks',\n 'jsdoc/no-defaults',\n 'jsdoc/no-types',\n 'jsdoc/no-undefined-types',\n 'jsdoc/valid-types',\n];\n\nconst createLogicalTypescriptRuleset = createStandaloneRulesetFactory(logicalRules);\n\nconst createLogicalTypescriptFlavorRuleset = createStandaloneRulesetFactory(logicalRules);\n\nconst requirementsRules = [\n 'jsdoc/require-example',\n 'jsdoc/require-jsdoc',\n 'jsdoc/require-next-type',\n 'jsdoc/require-param',\n 'jsdoc/require-param-description',\n 'jsdoc/require-param-name',\n 'jsdoc/require-property',\n 'jsdoc/require-property-description',\n 'jsdoc/require-property-name',\n 'jsdoc/require-returns',\n 'jsdoc/require-returns-description',\n 'jsdoc/require-throws-type',\n 'jsdoc/require-yields',\n 'jsdoc/require-yields-type',\n];\n\nconst createRequirementsTypeScriptRuleset = createStandaloneRulesetFactory(requirementsRules);\n\nconst createRequirementsTypeScriptFlavorRuleset = createStandaloneRulesetFactory([\n ...requirementsRules,\n 'jsdoc/require-param-type',\n 'jsdoc/require-property-type',\n 'jsdoc/require-returns-type',\n 'jsdoc/require-template',\n]);\n\nconst stylisticRules = [\n 'jsdoc/check-alignment',\n 'jsdoc/check-line-alignment',\n 'jsdoc/lines-before-block',\n 'jsdoc/multiline-blocks',\n 'jsdoc/no-multi-asterisks',\n 'jsdoc/require-asterisk-prefix',\n [\n 'jsdoc/require-hyphen-before-param-description', 'never',\n ],\n 'jsdoc/tag-lines',\n];\n\nconst createStylisticTypeScriptRuleset = createStandaloneRulesetFactory(stylisticRules);\n\nconst createStylisticTypeScriptFlavorRuleset = createStandaloneRulesetFactory(stylisticRules);\n\n/* c8 ignore next 3 -- TS */\nif (!index.configs) {\n throw new Error('TypeScript guard');\n}\n\nindex.configs.recommended = createRecommendedRuleset('warn');\nindex.configs['recommended-error'] = createRecommendedRuleset('error');\nindex.configs['recommended-typescript'] = createRecommendedTypeScriptRuleset('warn');\nindex.configs['recommended-typescript-error'] = createRecommendedTypeScriptRuleset('error');\nindex.configs['recommended-typescript-flavor'] = createRecommendedTypeScriptFlavorRuleset('warn');\nindex.configs['recommended-typescript-flavor-error'] = createRecommendedTypeScriptFlavorRuleset('error');\nindex.configs['recommended-tsdoc'] = createRecommendedTsDocRuleset('warn');\nindex.configs['recommended-tsdoc-error'] = createRecommendedTsDocRuleset('error');\n\nindex.configs['flat/recommended'] = createRecommendedRuleset('warn', 'flat/recommended');\nindex.configs['flat/recommended-error'] = createRecommendedRuleset('error', 'flat/recommended-error');\nindex.configs['flat/recommended-typescript'] = createRecommendedTypeScriptRuleset('warn', 'flat/recommended-typescript');\nindex.configs['flat/recommended-typescript-error'] = createRecommendedTypeScriptRuleset('error', 'flat/recommended-typescript-error');\nindex.configs['flat/recommended-typescript-flavor'] = createRecommendedTypeScriptFlavorRuleset('warn', 'flat/recommended-typescript-flavor');\nindex.configs['flat/recommended-typescript-flavor-error'] = createRecommendedTypeScriptFlavorRuleset('error', 'flat/recommended-typescript-flavor-error');\nindex.configs['flat/recommended-tsdoc'] = createRecommendedTsDocRuleset('warn', 'flat/recommended-tsdoc');\nindex.configs['flat/recommended-tsdoc-error'] = createRecommendedTsDocRuleset('error', 'flat/recommended-tsdoc-error');\n\nindex.configs['flat/contents-typescript'] = createContentsTypescriptRuleset('warn', 'flat/contents-typescript');\nindex.configs['flat/contents-typescript-error'] = createContentsTypescriptRuleset('error', 'flat/contents-typescript-error');\nindex.configs['flat/contents-typescript-flavor'] = createContentsTypescriptFlavorRuleset('warn', 'flat/contents-typescript-flavor');\nindex.configs['flat/contents-typescript-flavor-error'] = createContentsTypescriptFlavorRuleset('error', 'flat/contents-typescript-error-flavor');\nindex.configs['flat/logical-typescript'] = createLogicalTypescriptRuleset('warn', 'flat/logical-typescript');\nindex.configs['flat/logical-typescript-error'] = createLogicalTypescriptRuleset('error', 'flat/logical-typescript-error');\nindex.configs['flat/logical-typescript-flavor'] = createLogicalTypescriptFlavorRuleset('warn', 'flat/logical-typescript-flavor');\nindex.configs['flat/logical-typescript-flavor-error'] = createLogicalTypescriptFlavorRuleset('error', 'flat/logical-typescript-error-flavor');\nindex.configs['flat/requirements-typescript'] = createRequirementsTypeScriptRuleset('warn', 'flat/requirements-typescript');\nindex.configs['flat/requirements-typescript-error'] = createRequirementsTypeScriptRuleset('error', 'flat/requirements-typescript-error');\nindex.configs['flat/requirements-typescript-flavor'] = createRequirementsTypeScriptFlavorRuleset('warn', 'flat/requirements-typescript-flavor');\nindex.configs['flat/requirements-typescript-flavor-error'] = createRequirementsTypeScriptFlavorRuleset('error', 'flat/requirements-typescript-error-flavor');\nindex.configs['flat/stylistic-typescript'] = createStylisticTypeScriptRuleset('warn', 'flat/stylistic-typescript');\nindex.configs['flat/stylistic-typescript-error'] = createStylisticTypeScriptRuleset('error', 'flat/stylistic-typescript-error');\nindex.configs['flat/stylistic-typescript-flavor'] = createStylisticTypeScriptFlavorRuleset('warn', 'flat/stylistic-typescript-flavor');\nindex.configs['flat/stylistic-typescript-flavor-error'] = createStylisticTypeScriptFlavorRuleset('error', 'flat/stylistic-typescript-error-flavor');\n\nindex.configs.examples = /** @type {import('eslint').Linter.Config[]} */ ([\n {\n files: [\n '**/*.js',\n ],\n name: 'jsdoc/examples/processor',\n plugins: {\n examples: getJsdocProcessorPlugin(),\n },\n processor: 'examples/examples',\n },\n {\n files: [\n '**/*.md/*.js',\n ],\n name: 'jsdoc/examples/rules',\n rules: {\n // \"always\" newline rule at end unlikely in sample code\n '@stylistic/eol-last': 0,\n // Often wish to start `@example` code after newline; also may use\n // empty lines for spacing\n '@stylistic/no-multiple-empty-lines': 0,\n\n // Can generally look nicer to pad a little even if code imposes more stringency\n '@stylistic/padded-blocks': 0,\n\n '@typescript-eslint/no-unused-vars': 0,\n\n // Wouldn't generally expect example paths to resolve relative to JS file\n 'import/no-unresolved': 0,\n\n // Snippets likely too short to always include import/export info\n 'import/unambiguous': 0,\n\n 'jsdoc/require-file-overview': 0,\n\n // The end of a multiline comment would end the comment the example is in.\n 'jsdoc/require-jsdoc': 0,\n\n // See import/no-unresolved\n 'n/no-missing-import': 0,\n\n 'n/no-missing-require': 0,\n\n // Unlikely to have inadvertent debugging within examples\n 'no-console': 0,\n\n /* c8 ignore next 11 -- Coercion should work */\n ...(semver.gte(semver.coerce(ESLint.version) ?? '9.0.0', '9.0.0') ? {} : {\n // \"always\" newline rule at end unlikely in sample code\n 'eol-last': 0,\n\n // Often wish to start `@example` code after newline; also may use\n // empty lines for spacing\n 'no-multiple-empty-lines': 0,\n\n // Can generally look nicer to pad a little even if code imposes more stringency\n 'padded-blocks': 0,\n }),\n\n // Many variables in examples will be `undefined`\n 'no-undef': 0,\n // Common to define variables for clarity without always using them\n 'no-unused-vars': 0,\n\n // See import/no-unresolved\n 'node/no-missing-import': 0,\n 'node/no-missing-require': 0,\n },\n },\n]);\n\nindex.configs['default-expressions'] = /** @type {import('eslint').Linter.Config[]} */ ([\n {\n files: [\n '**/*.js',\n ],\n name: 'jsdoc/default-expressions/processor',\n plugins: {\n examples: getJsdocProcessorPlugin({\n checkDefaults: true,\n checkParams: true,\n checkProperties: true,\n }),\n },\n processor: 'examples/examples',\n },\n {\n files: [\n '**/*.jsdoc-defaults', '**/*.jsdoc-params', '**/*.jsdoc-properties',\n ],\n name: 'jsdoc/default-expressions/rules',\n rules: {\n ...index.configs.examples[1].rules,\n '@stylistic/quotes': [\n 'error', 'double',\n ],\n '@stylistic/semi': [\n 'error', 'never',\n ],\n '@typescript-eslint/no-unused-expressions': 0,\n 'chai-friendly/no-unused-expressions': 0,\n 'no-empty-function': 0,\n 'no-new': 0,\n 'no-unused-expressions': 0,\n /* c8 ignore next 8 -- Coercion should work */\n ...(semver.gte(semver.coerce(ESLint.version) ?? '9.0.0', '9.0.0') ? {} : {\n quotes: [\n 'error', 'double',\n ],\n semi: [\n 'error', 'never',\n ],\n }),\n strict: 0,\n },\n },\n]);\n\nindex.configs['examples-and-default-expressions'] = /** @type {import('eslint').Linter.Config[]} */ ([\n {\n name: 'jsdoc/examples-and-default-expressions',\n plugins: {\n examples: getJsdocProcessorPlugin({\n checkDefaults: true,\n checkParams: true,\n checkProperties: true,\n }),\n },\n },\n ...index.configs.examples.map((config) => {\n return {\n ...config,\n plugins: {},\n };\n }),\n ...index.configs['default-expressions'].map((config) => {\n return {\n ...config,\n plugins: {},\n };\n }),\n]);\n\nindex.configs['flat/recommended-mixed'] = [\n {\n ...index.configs['flat/recommended-typescript-flavor'],\n files: [\n '**/*.{js,jsx,cjs,mjs}',\n ],\n },\n {\n ...index.configs['flat/recommended-typescript'],\n files: [\n '**/*.{ts,tsx,cts,mts}',\n ],\n },\n];\n\nexport default index;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index-cjs.cjs","names":["checkAccess","checkAlignment","checkExamples","checkIndentation","checkLineAlignment","checkParamNames","checkPropertyNames","checkSyntax","checkTagNames","checkTemplateNames","checkTypes","checkValues","convertToJsdocComments","emptyTags","escapeInlineTags","implementsOnClasses","importsAsDependencies","informativeDocs","linesBeforeBlock","matchDescription","matchName","multilineBlocks","noBadBlocks","noBlankBlockDescriptions","noBlankBlocks","noDefaults","noMissingSyntax","noMultiAsterisks","noRestrictedSyntax","noTypes","noUndefinedTypes","preferImportTag","buildRejectOrPreferRuleDefinition","requireAsteriskPrefix","requireDescription","requireDescriptionCompleteSentence","requireExample","requireFileOverview","requireHyphenBeforeParamDescription","requireJsdoc","buildForbidRuleDefinition","requireParam","requireParamDescription","requireParamName","requireParamType","requireProperty","requirePropertyDescription","requirePropertyName","requirePropertyType","requireRejects","requireReturns","requireReturnsCheck","requireReturnsDescription","requireReturnsType","requireTags","requireTemplate","requireThrows","requireYields","requireYieldsCheck","sortTags","tagLines","textEscaping","tsMethodSignatureStyle","tsNoEmptyObjectType","tsNoUnnecessaryTemplateExpression","tsPreferFunctionType","typeFormatting","validTypes","getJsdocProcessorPlugin","semver","ESLint"],"sources":["../src/index-cjs.js"],"sourcesContent":["import {\n buildForbidRuleDefinition,\n} from './buildForbidRuleDefinition.js';\nimport {\n buildRejectOrPreferRuleDefinition,\n} from './buildRejectOrPreferRuleDefinition.js';\nimport {\n getJsdocProcessorPlugin,\n} from './getJsdocProcessorPlugin.js';\nimport checkAccess from './rules/checkAccess.js';\nimport checkAlignment from './rules/checkAlignment.js';\nimport checkExamples from './rules/checkExamples.js';\nimport checkIndentation from './rules/checkIndentation.js';\nimport checkLineAlignment from './rules/checkLineAlignment.js';\nimport checkParamNames from './rules/checkParamNames.js';\nimport checkPropertyNames from './rules/checkPropertyNames.js';\nimport checkSyntax from './rules/checkSyntax.js';\nimport checkTagNames from './rules/checkTagNames.js';\nimport checkTemplateNames from './rules/checkTemplateNames.js';\nimport checkTypes from './rules/checkTypes.js';\nimport checkValues from './rules/checkValues.js';\nimport convertToJsdocComments from './rules/convertToJsdocComments.js';\nimport emptyTags from './rules/emptyTags.js';\nimport escapeInlineTags from './rules/escapeInlineTags.js';\nimport implementsOnClasses from './rules/implementsOnClasses.js';\nimport importsAsDependencies from './rules/importsAsDependencies.js';\nimport informativeDocs from './rules/informativeDocs.js';\nimport linesBeforeBlock from './rules/linesBeforeBlock.js';\nimport matchDescription from './rules/matchDescription.js';\nimport matchName from './rules/matchName.js';\nimport multilineBlocks from './rules/multilineBlocks.js';\nimport noBadBlocks from './rules/noBadBlocks.js';\nimport noBlankBlockDescriptions from './rules/noBlankBlockDescriptions.js';\nimport noBlankBlocks from './rules/noBlankBlocks.js';\nimport noDefaults from './rules/noDefaults.js';\nimport noMissingSyntax from './rules/noMissingSyntax.js';\nimport noMultiAsterisks from './rules/noMultiAsterisks.js';\nimport noRestrictedSyntax from './rules/noRestrictedSyntax.js';\nimport noTypes from './rules/noTypes.js';\nimport noUndefinedTypes from './rules/noUndefinedTypes.js';\nimport preferImportTag from './rules/preferImportTag.js';\nimport requireAsteriskPrefix from './rules/requireAsteriskPrefix.js';\nimport requireDescription from './rules/requireDescription.js';\nimport requireDescriptionCompleteSentence from './rules/requireDescriptionCompleteSentence.js';\nimport requireExample from './rules/requireExample.js';\nimport requireFileOverview from './rules/requireFileOverview.js';\nimport requireHyphenBeforeParamDescription from './rules/requireHyphenBeforeParamDescription.js';\nimport requireJsdoc from './rules/requireJsdoc.js';\nimport requireParam from './rules/requireParam.js';\nimport requireParamDescription from './rules/requireParamDescription.js';\nimport requireParamName from './rules/requireParamName.js';\nimport requireParamType from './rules/requireParamType.js';\nimport requireProperty from './rules/requireProperty.js';\nimport requirePropertyDescription from './rules/requirePropertyDescription.js';\nimport requirePropertyName from './rules/requirePropertyName.js';\nimport requirePropertyType from './rules/requirePropertyType.js';\nimport requireRejects from './rules/requireRejects.js';\nimport requireReturns from './rules/requireReturns.js';\nimport requireReturnsCheck from './rules/requireReturnsCheck.js';\nimport requireReturnsDescription from './rules/requireReturnsDescription.js';\nimport requireReturnsType from './rules/requireReturnsType.js';\nimport requireTags from './rules/requireTags.js';\nimport requireTemplate from './rules/requireTemplate.js';\nimport requireThrows from './rules/requireThrows.js';\nimport requireYields from './rules/requireYields.js';\nimport requireYieldsCheck from './rules/requireYieldsCheck.js';\nimport sortTags from './rules/sortTags.js';\nimport tagLines from './rules/tagLines.js';\nimport textEscaping from './rules/textEscaping.js';\nimport tsMethodSignatureStyle from './rules/tsMethodSignatureStyle.js';\nimport tsNoEmptyObjectType from './rules/tsNoEmptyObjectType.js';\nimport tsNoUnnecessaryTemplateExpression from './rules/tsNoUnnecessaryTemplateExpression.js';\nimport tsPreferFunctionType from './rules/tsPreferFunctionType.js';\nimport typeFormatting from './rules/typeFormatting.js';\nimport validTypes from './rules/validTypes.js';\nimport {\n ESLint,\n} from 'eslint';\nimport semver from 'semver';\n\n/**\n * @typedef {\"recommended\" | \"stylistic\" | \"contents\" | \"logical\" | \"requirements\"} ConfigGroups\n * @typedef {\"\" | \"-typescript\" | \"-typescript-flavor\"} ConfigVariants\n * @typedef {\"\" | \"-error\"} ErrorLevelVariants\n * @type {import('eslint').ESLint.Plugin & {\n * configs: Record<\n * `flat/${ConfigGroups}${ConfigVariants}${ErrorLevelVariants}`,\n * import('eslint').Linter.Config\n * > &\n * Record<\n * \"examples\"|\"default-expressions\"|\"examples-and-default-expressions\",\n * import('eslint').Linter.Config[]\n * > &\n * Record<\"flat/recommended-mixed\", import('eslint').Linter.Config[]>\n * }}\n */\nconst index = {};\nindex.configs = {};\nindex.rules = {\n 'check-access': checkAccess,\n 'check-alignment': checkAlignment,\n 'check-examples': checkExamples,\n 'check-indentation': checkIndentation,\n 'check-line-alignment': checkLineAlignment,\n 'check-param-names': checkParamNames,\n 'check-property-names': checkPropertyNames,\n 'check-syntax': checkSyntax,\n 'check-tag-names': checkTagNames,\n 'check-template-names': checkTemplateNames,\n 'check-types': checkTypes,\n 'check-values': checkValues,\n 'convert-to-jsdoc-comments': convertToJsdocComments,\n 'empty-tags': emptyTags,\n 'escape-inline-tags': escapeInlineTags,\n 'implements-on-classes': implementsOnClasses,\n 'imports-as-dependencies': importsAsDependencies,\n 'informative-docs': informativeDocs,\n 'lines-before-block': linesBeforeBlock,\n 'match-description': matchDescription,\n 'match-name': matchName,\n 'multiline-blocks': multilineBlocks,\n 'no-bad-blocks': noBadBlocks,\n 'no-blank-block-descriptions': noBlankBlockDescriptions,\n 'no-blank-blocks': noBlankBlocks,\n 'no-defaults': noDefaults,\n 'no-missing-syntax': noMissingSyntax,\n 'no-multi-asterisks': noMultiAsterisks,\n 'no-restricted-syntax': noRestrictedSyntax,\n 'no-types': noTypes,\n 'no-undefined-types': noUndefinedTypes,\n 'prefer-import-tag': preferImportTag,\n 'reject-any-type': buildRejectOrPreferRuleDefinition({\n description: 'Reports use of `any` or `*` type',\n overrideSettings: {\n '*': {\n message: 'Prefer a more specific type to `*`',\n replacement: false,\n unifyParentAndChildTypeChecks: true,\n },\n any: {\n message: 'Prefer a more specific type to `any`',\n replacement: false,\n unifyParentAndChildTypeChecks: true,\n },\n },\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md#repos-sticky-header',\n }),\n 'reject-function-type': buildRejectOrPreferRuleDefinition({\n description: 'Reports use of `Function` type',\n overrideSettings: {\n Function: {\n message: 'Prefer a more specific type to `Function`',\n replacement: false,\n unifyParentAndChildTypeChecks: true,\n },\n },\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-function-type.md#repos-sticky-header',\n }),\n 'require-asterisk-prefix': requireAsteriskPrefix,\n 'require-description': requireDescription,\n 'require-description-complete-sentence': requireDescriptionCompleteSentence,\n 'require-example': requireExample,\n 'require-file-overview': requireFileOverview,\n 'require-hyphen-before-param-description': requireHyphenBeforeParamDescription,\n 'require-jsdoc': requireJsdoc,\n 'require-next-description': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=next]:not([name!=\"\"]):not([description!=\"\"]))',\n context: 'any',\n message: '@next should have a description',\n },\n ],\n description: 'Requires a description for `@next` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-description.md#repos-sticky-header',\n }),\n 'require-next-type': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=next]:not([parsedType.type]))',\n context: 'any',\n message: '@next should have a type',\n },\n ],\n description: 'Requires a type for `@next` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-type.md#repos-sticky-header',\n }),\n 'require-param': requireParam,\n 'require-param-description': requireParamDescription,\n 'require-param-name': requireParamName,\n 'require-param-type': requireParamType,\n 'require-property': requireProperty,\n 'require-property-description': requirePropertyDescription,\n 'require-property-name': requirePropertyName,\n 'require-property-type': requirePropertyType,\n 'require-rejects': requireRejects,\n 'require-returns': requireReturns,\n 'require-returns-check': requireReturnsCheck,\n 'require-returns-description': requireReturnsDescription,\n 'require-returns-type': requireReturnsType,\n 'require-tags': requireTags,\n 'require-template': requireTemplate,\n 'require-template-description': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=template]:not([description!=\"\"]))',\n context: 'any',\n message: '@template should have a description',\n },\n ],\n description: 'Requires a description for `@template` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template-description.md#repos-sticky-header',\n }),\n 'require-throws': requireThrows,\n 'require-throws-description': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=/^(?:throws|exception)$/]:not([description!=\"\"]))',\n context: 'any',\n message: '@throws should have a description',\n },\n ],\n description: 'Requires a description for `@throws` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-description.md#repos-sticky-header',\n }),\n 'require-throws-type': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=/^(?:throws|exception)$/]:not([parsedType.type]))',\n context: 'any',\n message: '@throws should have a type',\n },\n ],\n description: 'Requires a type for `@throws` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-type.md#repos-sticky-header',\n }),\n 'require-yields': requireYields,\n 'require-yields-check': requireYieldsCheck,\n 'require-yields-description': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=/^yields?$/]:not([name!=\"\"]):not([description!=\"\"]))',\n context: 'any',\n message: '@yields should have a description',\n },\n ],\n description: 'Requires a description for `@yields` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-description.md#repos-sticky-header',\n }),\n 'require-yields-type': buildForbidRuleDefinition({\n contexts: [\n {\n comment: 'JsdocBlock:has(JsdocTag[tag=/^yields?$/]:not([parsedType.type]))',\n context: 'any',\n message: '@yields should have a type',\n },\n ],\n description: 'Requires a type for `@yields` tags',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-type.md#repos-sticky-header',\n }),\n 'sort-tags': sortTags,\n 'tag-lines': tagLines,\n 'text-escaping': textEscaping,\n 'ts-method-signature-style': tsMethodSignatureStyle,\n 'ts-no-empty-object-type': tsNoEmptyObjectType,\n 'ts-no-unnecessary-template-expression': tsNoUnnecessaryTemplateExpression,\n 'ts-prefer-function-type': tsPreferFunctionType,\n 'type-formatting': typeFormatting,\n 'valid-types': validTypes,\n};\n\n/**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\nconst createRecommendedRuleset = (warnOrError, flatName) => {\n return {\n ...(flatName ? {\n name: 'jsdoc/' + flatName,\n } : {}),\n // @ts-expect-error ESLint 8 plugins\n plugins:\n flatName ? {\n jsdoc: index,\n } : [\n 'jsdoc',\n ],\n rules: {\n 'jsdoc/check-access': warnOrError,\n 'jsdoc/check-alignment': warnOrError,\n 'jsdoc/check-examples': 'off',\n 'jsdoc/check-indentation': 'off',\n 'jsdoc/check-line-alignment': 'off',\n 'jsdoc/check-param-names': warnOrError,\n 'jsdoc/check-property-names': warnOrError,\n 'jsdoc/check-syntax': 'off',\n 'jsdoc/check-tag-names': warnOrError,\n 'jsdoc/check-template-names': 'off',\n 'jsdoc/check-types': warnOrError,\n 'jsdoc/check-values': warnOrError,\n 'jsdoc/convert-to-jsdoc-comments': 'off',\n 'jsdoc/empty-tags': warnOrError,\n 'jsdoc/escape-inline-tags': warnOrError,\n 'jsdoc/implements-on-classes': warnOrError,\n 'jsdoc/imports-as-dependencies': 'off',\n 'jsdoc/informative-docs': 'off',\n 'jsdoc/lines-before-block': 'off',\n 'jsdoc/match-description': 'off',\n 'jsdoc/match-name': 'off',\n 'jsdoc/multiline-blocks': warnOrError,\n 'jsdoc/no-bad-blocks': 'off',\n 'jsdoc/no-blank-block-descriptions': 'off',\n 'jsdoc/no-blank-blocks': 'off',\n 'jsdoc/no-defaults': warnOrError,\n 'jsdoc/no-missing-syntax': 'off',\n 'jsdoc/no-multi-asterisks': warnOrError,\n 'jsdoc/no-restricted-syntax': 'off',\n 'jsdoc/no-types': 'off',\n 'jsdoc/no-undefined-types': warnOrError,\n 'jsdoc/prefer-import-tag': 'off',\n 'jsdoc/reject-any-type': warnOrError,\n 'jsdoc/reject-function-type': warnOrError,\n 'jsdoc/require-asterisk-prefix': 'off',\n 'jsdoc/require-description': 'off',\n 'jsdoc/require-description-complete-sentence': 'off',\n 'jsdoc/require-example': 'off',\n 'jsdoc/require-file-overview': 'off',\n 'jsdoc/require-hyphen-before-param-description': 'off',\n 'jsdoc/require-jsdoc': warnOrError,\n 'jsdoc/require-next-description': 'off',\n 'jsdoc/require-next-type': warnOrError,\n 'jsdoc/require-param': warnOrError,\n 'jsdoc/require-param-description': warnOrError,\n 'jsdoc/require-param-name': warnOrError,\n 'jsdoc/require-param-type': warnOrError,\n 'jsdoc/require-property': warnOrError,\n 'jsdoc/require-property-description': warnOrError,\n 'jsdoc/require-property-name': warnOrError,\n 'jsdoc/require-property-type': warnOrError,\n 'jsdoc/require-rejects': 'off',\n 'jsdoc/require-returns': warnOrError,\n 'jsdoc/require-returns-check': warnOrError,\n 'jsdoc/require-returns-description': warnOrError,\n 'jsdoc/require-returns-type': warnOrError,\n 'jsdoc/require-tags': 'off',\n 'jsdoc/require-template': 'off',\n 'jsdoc/require-template-description': 'off',\n 'jsdoc/require-throws': 'off',\n 'jsdoc/require-throws-description': 'off',\n 'jsdoc/require-throws-type': warnOrError,\n 'jsdoc/require-yields': warnOrError,\n 'jsdoc/require-yields-check': warnOrError,\n 'jsdoc/require-yields-description': 'off',\n 'jsdoc/require-yields-type': warnOrError,\n 'jsdoc/sort-tags': 'off',\n 'jsdoc/tag-lines': warnOrError,\n 'jsdoc/text-escaping': 'off',\n 'jsdoc/ts-method-signature-style': 'off',\n 'jsdoc/ts-no-empty-object-type': warnOrError,\n 'jsdoc/ts-no-unnecessary-template-expression': 'off',\n 'jsdoc/ts-prefer-function-type': 'off',\n 'jsdoc/type-formatting': 'off',\n 'jsdoc/valid-types': warnOrError,\n },\n };\n};\n\n/**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\nconst createRecommendedTypeScriptRuleset = (warnOrError, flatName) => {\n const ruleset = createRecommendedRuleset(warnOrError, flatName);\n\n return {\n ...ruleset,\n rules: {\n ...ruleset.rules,\n /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */\n 'jsdoc/check-tag-names': [\n warnOrError, {\n typed: true,\n },\n ],\n 'jsdoc/no-types': warnOrError,\n 'jsdoc/no-undefined-types': 'off',\n 'jsdoc/require-param-type': 'off',\n 'jsdoc/require-property-type': 'off',\n 'jsdoc/require-returns-type': 'off',\n /* eslint-enable @stylistic/indent */\n },\n };\n};\n\n/**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\nconst createRecommendedTsDocRuleset = (warnOrError, flatName) => {\n const ruleset = createRecommendedTypeScriptRuleset(warnOrError, flatName);\n\n return {\n ...ruleset,\n rules: {\n ...ruleset.rules,\n /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */\n 'jsdoc/require-next-type': 'off',\n 'jsdoc/require-throws-type': 'off',\n 'jsdoc/require-yields-type': 'off',\n /* eslint-enable @stylistic/indent */\n },\n };\n};\n\n/**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\nconst createRecommendedTypeScriptFlavorRuleset = (warnOrError, flatName) => {\n const ruleset = createRecommendedRuleset(warnOrError, flatName);\n\n return {\n ...ruleset,\n rules: {\n ...ruleset.rules,\n /* eslint-disable @stylistic/indent -- Extra indent to avoid use by auto-rule-editing */\n 'jsdoc/no-undefined-types': 'off',\n /* eslint-enable @stylistic/indent */\n },\n };\n};\n\n/**\n * @param {(string | unknown[])[]} ruleNames\n */\nconst createStandaloneRulesetFactory = (ruleNames) => {\n /**\n * @param {\"warn\"|\"error\"} warnOrError\n * @param {string} [flatName]\n * @returns {import('eslint').Linter.Config}\n */\n return (warnOrError, flatName) => {\n return {\n name: 'jsdoc/' + flatName,\n plugins: {\n jsdoc: index,\n },\n rules: Object.fromEntries(\n ruleNames.map(\n (ruleName) => {\n return (typeof ruleName === 'string' ?\n [\n ruleName, warnOrError,\n ] :\n [\n ruleName[0], [\n warnOrError, ...ruleName.slice(1),\n ],\n ]);\n },\n ),\n ),\n };\n };\n};\n\nconst contentsRules = [\n 'jsdoc/informative-docs',\n 'jsdoc/match-description',\n 'jsdoc/no-blank-block-descriptions',\n 'jsdoc/no-blank-blocks',\n [\n 'jsdoc/text-escaping', {\n escapeHTML: true,\n },\n ],\n];\n\nconst createContentsTypescriptRuleset = createStandaloneRulesetFactory(contentsRules);\n\nconst createContentsTypescriptFlavorRuleset = createStandaloneRulesetFactory(contentsRules);\n\nconst logicalRules = [\n 'jsdoc/check-access',\n 'jsdoc/check-param-names',\n 'jsdoc/check-property-names',\n 'jsdoc/check-syntax',\n 'jsdoc/check-tag-names',\n 'jsdoc/check-template-names',\n 'jsdoc/check-types',\n 'jsdoc/check-values',\n 'jsdoc/empty-tags',\n 'jsdoc/escape-inline-tags',\n 'jsdoc/implements-on-classes',\n 'jsdoc/require-returns-check',\n 'jsdoc/require-yields-check',\n 'jsdoc/no-bad-blocks',\n 'jsdoc/no-defaults',\n 'jsdoc/no-types',\n 'jsdoc/no-undefined-types',\n 'jsdoc/valid-types',\n];\n\nconst createLogicalTypescriptRuleset = createStandaloneRulesetFactory(logicalRules);\n\nconst createLogicalTypescriptFlavorRuleset = createStandaloneRulesetFactory(logicalRules);\n\nconst requirementsRules = [\n 'jsdoc/require-example',\n 'jsdoc/require-jsdoc',\n 'jsdoc/require-next-type',\n 'jsdoc/require-param',\n 'jsdoc/require-param-description',\n 'jsdoc/require-param-name',\n 'jsdoc/require-property',\n 'jsdoc/require-property-description',\n 'jsdoc/require-property-name',\n 'jsdoc/require-returns',\n 'jsdoc/require-returns-description',\n 'jsdoc/require-throws-type',\n 'jsdoc/require-yields',\n 'jsdoc/require-yields-type',\n];\n\nconst createRequirementsTypeScriptRuleset = createStandaloneRulesetFactory(requirementsRules);\n\nconst createRequirementsTypeScriptFlavorRuleset = createStandaloneRulesetFactory([\n ...requirementsRules,\n 'jsdoc/require-param-type',\n 'jsdoc/require-property-type',\n 'jsdoc/require-returns-type',\n 'jsdoc/require-template',\n]);\n\nconst stylisticRules = [\n 'jsdoc/check-alignment',\n 'jsdoc/check-line-alignment',\n 'jsdoc/lines-before-block',\n 'jsdoc/multiline-blocks',\n 'jsdoc/no-multi-asterisks',\n 'jsdoc/require-asterisk-prefix',\n [\n 'jsdoc/require-hyphen-before-param-description', 'never',\n ],\n 'jsdoc/tag-lines',\n];\n\nconst createStylisticTypeScriptRuleset = createStandaloneRulesetFactory(stylisticRules);\n\nconst createStylisticTypeScriptFlavorRuleset = createStandaloneRulesetFactory(stylisticRules);\n\n/* c8 ignore next 3 -- TS */\nif (!index.configs) {\n throw new Error('TypeScript guard');\n}\n\nindex.configs.recommended = createRecommendedRuleset('warn');\nindex.configs['recommended-error'] = createRecommendedRuleset('error');\nindex.configs['recommended-typescript'] = createRecommendedTypeScriptRuleset('warn');\nindex.configs['recommended-typescript-error'] = createRecommendedTypeScriptRuleset('error');\nindex.configs['recommended-typescript-flavor'] = createRecommendedTypeScriptFlavorRuleset('warn');\nindex.configs['recommended-typescript-flavor-error'] = createRecommendedTypeScriptFlavorRuleset('error');\nindex.configs['recommended-tsdoc'] = createRecommendedTsDocRuleset('warn');\nindex.configs['recommended-tsdoc-error'] = createRecommendedTsDocRuleset('error');\n\nindex.configs['flat/recommended'] = createRecommendedRuleset('warn', 'flat/recommended');\nindex.configs['flat/recommended-error'] = createRecommendedRuleset('error', 'flat/recommended-error');\nindex.configs['flat/recommended-typescript'] = createRecommendedTypeScriptRuleset('warn', 'flat/recommended-typescript');\nindex.configs['flat/recommended-typescript-error'] = createRecommendedTypeScriptRuleset('error', 'flat/recommended-typescript-error');\nindex.configs['flat/recommended-typescript-flavor'] = createRecommendedTypeScriptFlavorRuleset('warn', 'flat/recommended-typescript-flavor');\nindex.configs['flat/recommended-typescript-flavor-error'] = createRecommendedTypeScriptFlavorRuleset('error', 'flat/recommended-typescript-flavor-error');\nindex.configs['flat/recommended-tsdoc'] = createRecommendedTsDocRuleset('warn', 'flat/recommended-tsdoc');\nindex.configs['flat/recommended-tsdoc-error'] = createRecommendedTsDocRuleset('error', 'flat/recommended-tsdoc-error');\n\nindex.configs['flat/contents-typescript'] = createContentsTypescriptRuleset('warn', 'flat/contents-typescript');\nindex.configs['flat/contents-typescript-error'] = createContentsTypescriptRuleset('error', 'flat/contents-typescript-error');\nindex.configs['flat/contents-typescript-flavor'] = createContentsTypescriptFlavorRuleset('warn', 'flat/contents-typescript-flavor');\nindex.configs['flat/contents-typescript-flavor-error'] = createContentsTypescriptFlavorRuleset('error', 'flat/contents-typescript-error-flavor');\nindex.configs['flat/logical-typescript'] = createLogicalTypescriptRuleset('warn', 'flat/logical-typescript');\nindex.configs['flat/logical-typescript-error'] = createLogicalTypescriptRuleset('error', 'flat/logical-typescript-error');\nindex.configs['flat/logical-typescript-flavor'] = createLogicalTypescriptFlavorRuleset('warn', 'flat/logical-typescript-flavor');\nindex.configs['flat/logical-typescript-flavor-error'] = createLogicalTypescriptFlavorRuleset('error', 'flat/logical-typescript-error-flavor');\nindex.configs['flat/requirements-typescript'] = createRequirementsTypeScriptRuleset('warn', 'flat/requirements-typescript');\nindex.configs['flat/requirements-typescript-error'] = createRequirementsTypeScriptRuleset('error', 'flat/requirements-typescript-error');\nindex.configs['flat/requirements-typescript-flavor'] = createRequirementsTypeScriptFlavorRuleset('warn', 'flat/requirements-typescript-flavor');\nindex.configs['flat/requirements-typescript-flavor-error'] = createRequirementsTypeScriptFlavorRuleset('error', 'flat/requirements-typescript-error-flavor');\nindex.configs['flat/stylistic-typescript'] = createStylisticTypeScriptRuleset('warn', 'flat/stylistic-typescript');\nindex.configs['flat/stylistic-typescript-error'] = createStylisticTypeScriptRuleset('error', 'flat/stylistic-typescript-error');\nindex.configs['flat/stylistic-typescript-flavor'] = createStylisticTypeScriptFlavorRuleset('warn', 'flat/stylistic-typescript-flavor');\nindex.configs['flat/stylistic-typescript-flavor-error'] = createStylisticTypeScriptFlavorRuleset('error', 'flat/stylistic-typescript-error-flavor');\n\nindex.configs.examples = /** @type {import('eslint').Linter.Config[]} */ ([\n {\n files: [\n '**/*.js',\n ],\n name: 'jsdoc/examples/processor',\n plugins: {\n examples: getJsdocProcessorPlugin(),\n },\n processor: 'examples/examples',\n },\n {\n files: [\n '**/*.md/*.js',\n ],\n name: 'jsdoc/examples/rules',\n rules: {\n // \"always\" newline rule at end unlikely in sample code\n '@stylistic/eol-last': 0,\n // Often wish to start `@example` code after newline; also may use\n // empty lines for spacing\n '@stylistic/no-multiple-empty-lines': 0,\n\n // Can generally look nicer to pad a little even if code imposes more stringency\n '@stylistic/padded-blocks': 0,\n\n '@typescript-eslint/no-unused-vars': 0,\n\n // Wouldn't generally expect example paths to resolve relative to JS file\n 'import/no-unresolved': 0,\n\n // Snippets likely too short to always include import/export info\n 'import/unambiguous': 0,\n\n 'jsdoc/require-file-overview': 0,\n\n // The end of a multiline comment would end the comment the example is in.\n 'jsdoc/require-jsdoc': 0,\n\n // See import/no-unresolved\n 'n/no-missing-import': 0,\n\n 'n/no-missing-require': 0,\n\n // Unlikely to have inadvertent debugging within examples\n 'no-console': 0,\n\n /* c8 ignore next 11 -- Coercion should work */\n ...(semver.gte(semver.coerce(ESLint.version) ?? '9.0.0', '9.0.0') ? {} : {\n // \"always\" newline rule at end unlikely in sample code\n 'eol-last': 0,\n\n // Often wish to start `@example` code after newline; also may use\n // empty lines for spacing\n 'no-multiple-empty-lines': 0,\n\n // Can generally look nicer to pad a little even if code imposes more stringency\n 'padded-blocks': 0,\n }),\n\n // Many variables in examples will be `undefined`\n 'no-undef': 0,\n // Common to define variables for clarity without always using them\n 'no-unused-vars': 0,\n\n // See import/no-unresolved\n 'node/no-missing-import': 0,\n 'node/no-missing-require': 0,\n },\n },\n]);\n\nindex.configs['default-expressions'] = /** @type {import('eslint').Linter.Config[]} */ ([\n {\n files: [\n '**/*.js',\n ],\n name: 'jsdoc/default-expressions/processor',\n plugins: {\n examples: getJsdocProcessorPlugin({\n checkDefaults: true,\n checkParams: true,\n checkProperties: true,\n }),\n },\n processor: 'examples/examples',\n },\n {\n files: [\n '**/*.jsdoc-defaults', '**/*.jsdoc-params', '**/*.jsdoc-properties',\n ],\n name: 'jsdoc/default-expressions/rules',\n rules: {\n ...index.configs.examples[1].rules,\n '@stylistic/quotes': [\n 'error', 'double',\n ],\n '@stylistic/semi': [\n 'error', 'never',\n ],\n '@typescript-eslint/no-unused-expressions': 0,\n 'chai-friendly/no-unused-expressions': 0,\n 'no-empty-function': 0,\n 'no-new': 0,\n 'no-unused-expressions': 0,\n /* c8 ignore next 8 -- Coercion should work */\n ...(semver.gte(semver.coerce(ESLint.version) ?? '9.0.0', '9.0.0') ? {} : {\n quotes: [\n 'error', 'double',\n ],\n semi: [\n 'error', 'never',\n ],\n }),\n strict: 0,\n },\n },\n]);\n\nindex.configs['examples-and-default-expressions'] = /** @type {import('eslint').Linter.Config[]} */ ([\n {\n name: 'jsdoc/examples-and-default-expressions',\n plugins: {\n examples: getJsdocProcessorPlugin({\n checkDefaults: true,\n checkParams: true,\n checkProperties: true,\n }),\n },\n },\n ...index.configs.examples.map((config) => {\n return {\n ...config,\n plugins: {},\n };\n }),\n ...index.configs['default-expressions'].map((config) => {\n return {\n ...config,\n plugins: {},\n };\n }),\n]);\n\nindex.configs['flat/recommended-mixed'] = [\n {\n ...index.configs['flat/recommended-typescript-flavor'],\n files: [\n '**/*.{js,jsx,cjs,mjs}',\n ],\n },\n {\n ...index.configs['flat/recommended-typescript'],\n files: [\n '**/*.{ts,tsx,cts,mts}',\n ],\n },\n];\n\nexport default index;\n"],"mappings":";;;;;;AAAA;AAGA;AAGA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAA4B;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAK,GAAG,CAAC,CAAC;AAChB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AAClB,KAAK,CAAC,KAAK,GAAG;EACZ,cAAc,EAAEA,oBAAW;EAC3B,iBAAiB,EAAEC,uBAAc;EACjC,gBAAgB,EAAEC,sBAAa;EAC/B,mBAAmB,EAAEC,yBAAgB;EACrC,sBAAsB,EAAEC,2BAAkB;EAC1C,mBAAmB,EAAEC,wBAAe;EACpC,sBAAsB,EAAEC,2BAAkB;EAC1C,cAAc,EAAEC,oBAAW;EAC3B,iBAAiB,EAAEC,sBAAa;EAChC,sBAAsB,EAAEC,2BAAkB;EAC1C,aAAa,EAAEC,mBAAU;EACzB,cAAc,EAAEC,oBAAW;EAC3B,2BAA2B,EAAEC,+BAAsB;EACnD,YAAY,EAAEC,kBAAS;EACvB,oBAAoB,EAAEC,yBAAgB;EACtC,uBAAuB,EAAEC,4BAAmB;EAC5C,yBAAyB,EAAEC,8BAAqB;EAChD,kBAAkB,EAAEC,wBAAe;EACnC,oBAAoB,EAAEC,yBAAgB;EACtC,mBAAmB,EAAEC,yBAAgB;EACrC,YAAY,EAAEC,kBAAS;EACvB,kBAAkB,EAAEC,wBAAe;EACnC,eAAe,EAAEC,oBAAW;EAC5B,6BAA6B,EAAEC,iCAAwB;EACvD,iBAAiB,EAAEC,sBAAa;EAChC,aAAa,EAAEC,mBAAU;EACzB,mBAAmB,EAAEC,wBAAe;EACpC,oBAAoB,EAAEC,yBAAgB;EACtC,sBAAsB,EAAEC,2BAAkB;EAC1C,UAAU,EAAEC,gBAAO;EACnB,oBAAoB,EAAEC,yBAAgB;EACtC,mBAAmB,EAAEC,wBAAe;EACpC,iBAAiB,EAAE,IAAAC,mCAAA,iCAAiC,EAAC;IACnD,WAAW,EAAE,kCAAkC;IAC/C,gBAAgB,EAAE;MAChB,GAAG,EAAE;QACH,OAAO,EAAE,oCAAoC;QAC7C,WAAW,EAAE,KAAK;QAClB,6BAA6B,EAAE;MACjC,CAAC;MACD,GAAG,EAAE;QACH,OAAO,EAAE,sCAAsC;QAC/C,WAAW,EAAE,KAAK;QAClB,6BAA6B,EAAE;MACjC;IACF,CAAC;IACD,GAAG,EAAE;EACP,CAAC,CAAC;EACF,sBAAsB,EAAE,IAAAA,mCAAA,iCAAiC,EAAC;IACxD,WAAW,EAAE,gCAAgC;IAC7C,gBAAgB,EAAE;MAChB,QAAQ,EAAE;QACR,OAAO,EAAE,2CAA2C;QACpD,WAAW,EAAE,KAAK;QAClB,6BAA6B,EAAE;MACjC;IACF,CAAC;IACD,GAAG,EAAE;EACP,CAAC,CAAC;EACF,yBAAyB,EAAEC,8BAAqB;EAChD,qBAAqB,EAAEC,2BAAkB;EACzC,uCAAuC,EAAEC,2CAAkC;EAC3E,iBAAiB,EAAEC,uBAAc;EACjC,uBAAuB,EAAEC,4BAAmB;EAC5C,yCAAyC,EAAEC,4CAAmC;EAC9E,eAAe,EAAEC,qBAAY;EAC7B,0BAA0B,EAAE,IAAAC,2BAAA,yBAAyB,EAAC;IACpD,QAAQ,EAAE,CACR;MACE,OAAO,EAAE,2EAA2E;MACpF,OAAO,EAAE,KAAK;MACd,OAAO,EAAE;IACX,CAAC,CACF;IACD,WAAW,EAAE,yCAAyC;IACtD,GAAG,EAAE;EACP,CAAC,CAAC;EACF,mBAAmB,EAAE,IAAAA,2BAAA,yBAAyB,EAAC;IAC7C,QAAQ,EAAE,CACR;MACE,OAAO,EAAE,2DAA2D;MACpE,OAAO,EAAE,KAAK;MACd,OAAO,EAAE;IACX,CAAC,CACF;IACD,WAAW,EAAE,kCAAkC;IAC/C,GAAG,EAAE;EACP,CAAC,CAAC;EACF,eAAe,EAAEC,qBAAY;EAC7B,2BAA2B,EAAEC,gCAAuB;EACpD,oBAAoB,EAAEC,yBAAgB;EACtC,oBAAoB,EAAEC,yBAAgB;EACtC,kBAAkB,EAAEC,wBAAe;EACnC,8BAA8B,EAAEC,mCAA0B;EAC1D,uBAAuB,EAAEC,4BAAmB;EAC5C,uBAAuB,EAAEC,4BAAmB;EAC5C,iBAAiB,EAAEC,uBAAc;EACjC,iBAAiB,EAAEC,uBAAc;EACjC,uBAAuB,EAAEC,4BAAmB;EAC5C,6BAA6B,EAAEC,kCAAyB;EACxD,sBAAsB,EAAEC,2BAAkB;EAC1C,cAAc,EAAEC,oBAAW;EAC3B,kBAAkB,EAAEC,wBAAe;EACnC,8BAA8B,EAAE,IAAAf,2BAAA,yBAAyB,EAAC;IACxD,QAAQ,EAAE,CACR;MACE,OAAO,EAAE,+DAA+D;MACxE,OAAO,EAAE,KAAK;MACd,OAAO,EAAE;IACX,CAAC,CACF;IACD,WAAW,EAAE,6CAA6C;IAC1D,GAAG,EAAE;EACP,CAAC,CAAC;EACF,gBAAgB,EAAEgB,sBAAa;EAC/B,4BAA4B,EAAE,IAAAhB,2BAAA,yBAAyB,EAAC;IACtD,QAAQ,EAAE,CACR;MACE,OAAO,EAAE,+EAA+E;MACxF,OAAO,EAAE,KAAK;MACd,OAAO,EAAE;IACX,CAAC,CACF;IACD,WAAW,EAAE,2CAA2C;IACxD,GAAG,EAAE;EACP,CAAC,CAAC;EACF,qBAAqB,EAAE,IAAAA,2BAAA,yBAAyB,EAAC;IAC/C,QAAQ,EAAE,CACR;MACE,OAAO,EAAE,+EAA+E;MACxF,OAAO,EAAE,KAAK;MACd,OAAO,EAAE;IACX,CAAC,CACF;IACD,WAAW,EAAE,oCAAoC;IACjD,GAAG,EAAE;EACP,CAAC,CAAC;EACF,gBAAgB,EAAEiB,sBAAa;EAC/B,sBAAsB,EAAEC,2BAAkB;EAC1C,4BAA4B,EAAE,IAAAlB,2BAAA,yBAAyB,EAAC;IACtD,QAAQ,EAAE,CACR;MACE,OAAO,EAAE,kFAAkF;MAC3F,OAAO,EAAE,KAAK;MACd,OAAO,EAAE;IACX,CAAC,CACF;IACD,WAAW,EAAE,2CAA2C;IACxD,GAAG,EAAE;EACP,CAAC,CAAC;EACF,qBAAqB,EAAE,IAAAA,2BAAA,yBAAyB,EAAC;IAC/C,QAAQ,EAAE,CACR;MACE,OAAO,EAAE,kEAAkE;MAC3E,OAAO,EAAE,KAAK;MACd,OAAO,EAAE;IACX,CAAC,CACF;IACD,WAAW,EAAE,oCAAoC;IACjD,GAAG,EAAE;EACP,CAAC,CAAC;EACF,WAAW,EAAEmB,iBAAQ;EACrB,WAAW,EAAEC,iBAAQ;EACrB,eAAe,EAAEC,qBAAY;EAC7B,2BAA2B,EAAEC,+BAAsB;EACnD,yBAAyB,EAAEC,4BAAmB;EAC9C,uCAAuC,EAAEC,0CAAiC;EAC1E,yBAAyB,EAAEC,6BAAoB;EAC/C,iBAAiB,EAAEC,uBAAc;EACjC,aAAa,EAAEC;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAM,wBAAwB,GAAG,CAAC,WAAW,EAAE,QAAQ,KAAK;EAC1D,OAAO;IACL,IAAI,QAAQ,GAAG;MACb,IAAI,EAAE,QAAQ,GAAG;IACnB,CAAC,GAAG,CAAC,CAAC,CAAC;IACP;IACA,OAAO,EACL,QAAQ,GAAG;MACT,KAAK,EAAE;IACT,CAAC,GAAG,CACF,OAAO,CACR;IACH,KAAK,EAAE;MACL,oBAAoB,EAAE,WAAW;MACjC,uBAAuB,EAAE,WAAW;MACpC,sBAAsB,EAAE,KAAK;MAC7B,yBAAyB,EAAE,KAAK;MAChC,4BAA4B,EAAE,KAAK;MACnC,yBAAyB,EAAE,WAAW;MACtC,4BAA4B,EAAE,WAAW;MACzC,oBAAoB,EAAE,KAAK;MAC3B,uBAAuB,EAAE,WAAW;MACpC,4BAA4B,EAAE,KAAK;MACnC,mBAAmB,EAAE,WAAW;MAChC,oBAAoB,EAAE,WAAW;MACjC,iCAAiC,EAAE,KAAK;MACxC,kBAAkB,EAAE,WAAW;MAC/B,0BAA0B,EAAE,WAAW;MACvC,6BAA6B,EAAE,WAAW;MAC1C,+BAA+B,EAAE,KAAK;MACtC,wBAAwB,EAAE,KAAK;MAC/B,0BAA0B,EAAE,KAAK;MACjC,yBAAyB,EAAE,KAAK;MAChC,kBAAkB,EAAE,KAAK;MACzB,wBAAwB,EAAE,WAAW;MACrC,qBAAqB,EAAE,KAAK;MAC5B,mCAAmC,EAAE,KAAK;MAC1C,uBAAuB,EAAE,KAAK;MAC9B,mBAAmB,EAAE,WAAW;MAChC,yBAAyB,EAAE,KAAK;MAChC,0BAA0B,EAAE,WAAW;MACvC,4BAA4B,EAAE,KAAK;MACnC,gBAAgB,EAAE,KAAK;MACvB,0BAA0B,EAAE,WAAW;MACvC,yBAAyB,EAAE,KAAK;MAChC,uBAAuB,EAAE,WAAW;MACpC,4BAA4B,EAAE,WAAW;MACzC,+BAA+B,EAAE,KAAK;MACtC,2BAA2B,EAAE,KAAK;MAClC,6CAA6C,EAAE,KAAK;MACpD,uBAAuB,EAAE,KAAK;MAC9B,6BAA6B,EAAE,KAAK;MACpC,+CAA+C,EAAE,KAAK;MACtD,qBAAqB,EAAE,WAAW;MAClC,gCAAgC,EAAE,KAAK;MACvC,yBAAyB,EAAE,WAAW;MACtC,qBAAqB,EAAE,WAAW;MAClC,iCAAiC,EAAE,WAAW;MAC9C,0BAA0B,EAAE,WAAW;MACvC,0BAA0B,EAAE,WAAW;MACvC,wBAAwB,EAAE,WAAW;MACrC,oCAAoC,EAAE,WAAW;MACjD,6BAA6B,EAAE,WAAW;MAC1C,6BAA6B,EAAE,WAAW;MAC1C,uBAAuB,EAAE,KAAK;MAC9B,uBAAuB,EAAE,WAAW;MACpC,6BAA6B,EAAE,WAAW;MAC1C,mCAAmC,EAAE,WAAW;MAChD,4BAA4B,EAAE,WAAW;MACzC,oBAAoB,EAAE,KAAK;MAC3B,wBAAwB,EAAE,KAAK;MAC/B,oCAAoC,EAAE,KAAK;MAC3C,sBAAsB,EAAE,KAAK;MAC7B,kCAAkC,EAAE,KAAK;MACzC,2BAA2B,EAAE,WAAW;MACxC,sBAAsB,EAAE,WAAW;MACnC,4BAA4B,EAAE,WAAW;MACzC,kCAAkC,EAAE,KAAK;MACzC,2BAA2B,EAAE,WAAW;MACxC,iBAAiB,EAAE,KAAK;MACxB,iBAAiB,EAAE,WAAW;MAC9B,qBAAqB,EAAE,KAAK;MAC5B,iCAAiC,EAAE,KAAK;MACxC,+BAA+B,EAAE,WAAW;MAC5C,6CAA6C,EAAE,KAAK;MACpD,+BAA+B,EAAE,KAAK;MACtC,uBAAuB,EAAE,KAAK;MAC9B,mBAAmB,EAAE;IACvB;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAM,kCAAkC,GAAG,CAAC,WAAW,EAAE,QAAQ,KAAK;EACpE,MAAM,OAAO,GAAG,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC;EAE/D,OAAO;IACL,GAAG,OAAO;IACV,KAAK,EAAE;MACL,GAAG,OAAO,CAAC,KAAK;MAChB;MACE,uBAAuB,EAAE,CACvB,WAAW,EAAE;QACX,KAAK,EAAE;MACT,CAAC,CACF;MACD,gBAAgB,EAAE,WAAW;MAC7B,0BAA0B,EAAE,KAAK;MACjC,0BAA0B,EAAE,KAAK;MACjC,6BAA6B,EAAE,KAAK;MACpC,4BAA4B,EAAE;MAChC;IACF;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAM,6BAA6B,GAAG,CAAC,WAAW,EAAE,QAAQ,KAAK;EAC/D,MAAM,OAAO,GAAG,kCAAkC,CAAC,WAAW,EAAE,QAAQ,CAAC;EAEzE,OAAO;IACL,GAAG,OAAO;IACV,KAAK,EAAE;MACL,GAAG,OAAO,CAAC,KAAK;MAChB;MACE,yBAAyB,EAAE,KAAK;MAChC,2BAA2B,EAAE,KAAK;MAClC,2BAA2B,EAAE;MAC/B;IACF;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAM,wCAAwC,GAAG,CAAC,WAAW,EAAE,QAAQ,KAAK;EAC1E,MAAM,OAAO,GAAG,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC;EAE/D,OAAO;IACL,GAAG,OAAO;IACV,KAAK,EAAE;MACL,GAAG,OAAO,CAAC,KAAK;MAChB;MACE,0BAA0B,EAAE;MAC9B;IACF;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,MAAM,8BAA8B,GAAI,SAAS,IAAK;EACpD;AACF;AACA;AACA;AACA;EACE,OAAO,CAAC,WAAW,EAAE,QAAQ,KAAK;IAChC,OAAO;MACL,IAAI,EAAE,QAAQ,GAAG,QAAQ;MACzB,OAAO,EAAE;QACP,KAAK,EAAE;MACT,CAAC;MACD,KAAK,EAAE,MAAM,CAAC,WAAW,CACvB,SAAS,CAAC,GAAG,CACV,QAAQ,IAAK;QACZ,OAAQ,OAAO,QAAQ,KAAK,QAAQ,GAClC,CACE,QAAQ,EAAE,WAAW,CACtB,GACD,CACE,QAAQ,CAAC,CAAC,CAAC,EAAE,CACX,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAClC,CACF;MACL,CACF,CACF;IACF,CAAC;EACH,CAAC;AACH,CAAC;AAED,MAAM,aAAa,GAAG,CACpB,wBAAwB,EACxB,yBAAyB,EACzB,mCAAmC,EACnC,uBAAuB,EACvB,CACE,qBAAqB,EAAE;EACrB,UAAU,EAAE;AACd,CAAC,CACF,CACF;AAED,MAAM,+BAA+B,GAAG,8BAA8B,CAAC,aAAa,CAAC;AAErF,MAAM,qCAAqC,GAAG,8BAA8B,CAAC,aAAa,CAAC;AAE3F,MAAM,YAAY,GAAG,CACnB,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,EAC5B,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,EAC1B,mBAAmB,CACpB;AAED,MAAM,8BAA8B,GAAG,8BAA8B,CAAC,YAAY,CAAC;AAEnF,MAAM,oCAAoC,GAAG,8BAA8B,CAAC,YAAY,CAAC;AAEzF,MAAM,iBAAiB,GAAG,CACxB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,iCAAiC,EACjC,0BAA0B,EAC1B,wBAAwB,EACxB,oCAAoC,EACpC,6BAA6B,EAC7B,uBAAuB,EACvB,mCAAmC,EACnC,2BAA2B,EAC3B,sBAAsB,EACtB,2BAA2B,CAC5B;AAED,MAAM,mCAAmC,GAAG,8BAA8B,CAAC,iBAAiB,CAAC;AAE7F,MAAM,yCAAyC,GAAG,8BAA8B,CAAC,CAC/E,GAAG,iBAAiB,EACpB,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,CACzB,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,+BAA+B,EAC/B,CACE,+CAA+C,EAAE,OAAO,CACzD,EACD,iBAAiB,CAClB;AAED,MAAM,gCAAgC,GAAG,8BAA8B,CAAC,cAAc,CAAC;AAEvF,MAAM,sCAAsC,GAAG,8BAA8B,CAAC,cAAc,CAAC;;AAE7F;AACA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;EAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;AACrC;AAEA,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,wBAAwB,CAAC,MAAM,CAAC;AAC5D,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,wBAAwB,CAAC,OAAO,CAAC;AACtE,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,kCAAkC,CAAC,MAAM,CAAC;AACpF,KAAK,CAAC,OAAO,CAAC,8BAA8B,CAAC,GAAG,kCAAkC,CAAC,OAAO,CAAC;AAC3F,KAAK,CAAC,OAAO,CAAC,+BAA+B,CAAC,GAAG,wCAAwC,CAAC,MAAM,CAAC;AACjG,KAAK,CAAC,OAAO,CAAC,qCAAqC,CAAC,GAAG,wCAAwC,CAAC,OAAO,CAAC;AACxG,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,6BAA6B,CAAC,MAAM,CAAC;AAC1E,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,6BAA6B,CAAC,OAAO,CAAC;AAEjF,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,CAAC;AACxF,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,CAAC;AACrG,KAAK,CAAC,OAAO,CAAC,6BAA6B,CAAC,GAAG,kCAAkC,CAAC,MAAM,EAAE,6BAA6B,CAAC;AACxH,KAAK,CAAC,OAAO,CAAC,mCAAmC,CAAC,GAAG,kCAAkC,CAAC,OAAO,EAAE,mCAAmC,CAAC;AACrI,KAAK,CAAC,OAAO,CAAC,oCAAoC,CAAC,GAAG,wCAAwC,CAAC,MAAM,EAAE,oCAAoC,CAAC;AAC5I,KAAK,CAAC,OAAO,CAAC,0CAA0C,CAAC,GAAG,wCAAwC,CAAC,OAAO,EAAE,0CAA0C,CAAC;AACzJ,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,6BAA6B,CAAC,MAAM,EAAE,wBAAwB,CAAC;AACzG,KAAK,CAAC,OAAO,CAAC,8BAA8B,CAAC,GAAG,6BAA6B,CAAC,OAAO,EAAE,8BAA8B,CAAC;AAEtH,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,GAAG,+BAA+B,CAAC,MAAM,EAAE,0BAA0B,CAAC;AAC/G,KAAK,CAAC,OAAO,CAAC,gCAAgC,CAAC,GAAG,+BAA+B,CAAC,OAAO,EAAE,gCAAgC,CAAC;AAC5H,KAAK,CAAC,OAAO,CAAC,iCAAiC,CAAC,GAAG,qCAAqC,CAAC,MAAM,EAAE,iCAAiC,CAAC;AACnI,KAAK,CAAC,OAAO,CAAC,uCAAuC,CAAC,GAAG,qCAAqC,CAAC,OAAO,EAAE,uCAAuC,CAAC;AAChJ,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,8BAA8B,CAAC,MAAM,EAAE,yBAAyB,CAAC;AAC5G,KAAK,CAAC,OAAO,CAAC,+BAA+B,CAAC,GAAG,8BAA8B,CAAC,OAAO,EAAE,+BAA+B,CAAC;AACzH,KAAK,CAAC,OAAO,CAAC,gCAAgC,CAAC,GAAG,oCAAoC,CAAC,MAAM,EAAE,gCAAgC,CAAC;AAChI,KAAK,CAAC,OAAO,CAAC,sCAAsC,CAAC,GAAG,oCAAoC,CAAC,OAAO,EAAE,sCAAsC,CAAC;AAC7I,KAAK,CAAC,OAAO,CAAC,8BAA8B,CAAC,GAAG,mCAAmC,CAAC,MAAM,EAAE,8BAA8B,CAAC;AAC3H,KAAK,CAAC,OAAO,CAAC,oCAAoC,CAAC,GAAG,mCAAmC,CAAC,OAAO,EAAE,oCAAoC,CAAC;AACxI,KAAK,CAAC,OAAO,CAAC,qCAAqC,CAAC,GAAG,yCAAyC,CAAC,MAAM,EAAE,qCAAqC,CAAC;AAC/I,KAAK,CAAC,OAAO,CAAC,2CAA2C,CAAC,GAAG,yCAAyC,CAAC,OAAO,EAAE,2CAA2C,CAAC;AAC5J,KAAK,CAAC,OAAO,CAAC,2BAA2B,CAAC,GAAG,gCAAgC,CAAC,MAAM,EAAE,2BAA2B,CAAC;AAClH,KAAK,CAAC,OAAO,CAAC,iCAAiC,CAAC,GAAG,gCAAgC,CAAC,OAAO,EAAE,iCAAiC,CAAC;AAC/H,KAAK,CAAC,OAAO,CAAC,kCAAkC,CAAC,GAAG,sCAAsC,CAAC,MAAM,EAAE,kCAAkC,CAAC;AACtI,KAAK,CAAC,OAAO,CAAC,wCAAwC,CAAC,GAAG,sCAAsC,CAAC,OAAO,EAAE,wCAAwC,CAAC;AAEnJ,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,+CAAiD,CACxE;EACE,KAAK,EAAE,CACL,SAAS,CACV;EACD,IAAI,EAAE,0BAA0B;EAChC,OAAO,EAAE;IACP,QAAQ,EAAE,IAAAC,yBAAA,uBAAuB,EAAC;EACpC,CAAC;EACD,SAAS,EAAE;AACb,CAAC,EACD;EACE,KAAK,EAAE,CACL,cAAc,CACf;EACD,IAAI,EAAE,sBAAsB;EAC5B,KAAK,EAAE;IACL;IACA,qBAAqB,EAAE,CAAC;IACxB;IACA;IACA,oCAAoC,EAAE,CAAC;IAEvC;IACA,0BAA0B,EAAE,CAAC;IAE7B,mCAAmC,EAAE,CAAC;IAEtC;IACA,sBAAsB,EAAE,CAAC;IAEzB;IACA,oBAAoB,EAAE,CAAC;IAEvB,6BAA6B,EAAE,CAAC;IAEhC;IACA,qBAAqB,EAAE,CAAC;IAExB;IACA,qBAAqB,EAAE,CAAC;IAExB,sBAAsB,EAAE,CAAC;IAEzB;IACA,YAAY,EAAE,CAAC;IAEf;IACA,IAAIC,eAAM,CAAC,GAAG,CAACA,eAAM,CAAC,MAAM,CAACC,QAAA,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG;MACvE;MACA,UAAU,EAAE,CAAC;MAEb;MACA;MACA,yBAAyB,EAAE,CAAC;MAE5B;MACA,eAAe,EAAE;IACnB,CAAC,CAAC;IAEF;IACA,UAAU,EAAE,CAAC;IACb;IACA,gBAAgB,EAAE,CAAC;IAEnB;IACA,wBAAwB,EAAE,CAAC;IAC3B,yBAAyB,EAAE;EAC7B;AACF,CAAC,CACD;AAEF,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,+CAAiD,CACtF;EACE,KAAK,EAAE,CACL,SAAS,CACV;EACD,IAAI,EAAE,qCAAqC;EAC3C,OAAO,EAAE;IACP,QAAQ,EAAE,IAAAF,yBAAA,uBAAuB,EAAC;MAChC,aAAa,EAAE,IAAI;MACnB,WAAW,EAAE,IAAI;MACjB,eAAe,EAAE;IACnB,CAAC;EACH,CAAC;EACD,SAAS,EAAE;AACb,CAAC,EACD;EACE,KAAK,EAAE,CACL,qBAAqB,EAAE,mBAAmB,EAAE,uBAAuB,CACpE;EACD,IAAI,EAAE,iCAAiC;EACvC,KAAK,EAAE;IACL,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;IAClC,mBAAmB,EAAE,CACnB,OAAO,EAAE,QAAQ,CAClB;IACD,iBAAiB,EAAE,CACjB,OAAO,EAAE,OAAO,CACjB;IACD,0CAA0C,EAAE,CAAC;IAC7C,qCAAqC,EAAE,CAAC;IACxC,mBAAmB,EAAE,CAAC;IACtB,QAAQ,EAAE,CAAC;IACX,uBAAuB,EAAE,CAAC;IAC1B;IACA,IAAIC,eAAM,CAAC,GAAG,CAACA,eAAM,CAAC,MAAM,CAACC,QAAA,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG;MACvE,MAAM,EAAE,CACN,OAAO,EAAE,QAAQ,CAClB;MACD,IAAI,EAAE,CACJ,OAAO,EAAE,OAAO;IAEpB,CAAC,CAAC;IACF,MAAM,EAAE;EACV;AACF,CAAC,CACD;AAEF,KAAK,CAAC,OAAO,CAAC,kCAAkC,CAAC,GAAG,+CAAiD,CACnG;EACE,IAAI,EAAE,wCAAwC;EAC9C,OAAO,EAAE;IACP,QAAQ,EAAE,IAAAF,yBAAA,uBAAuB,EAAC;MAChC,aAAa,EAAE,IAAI;MACnB,WAAW,EAAE,IAAI;MACjB,eAAe,EAAE;IACnB,CAAC;EACH;AACF,CAAC,EACD,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAE,MAAM,IAAK;EACxC,OAAO;IACL,GAAG,MAAM;IACT,OAAO,EAAE,CAAC;EACZ,CAAC;AACH,CAAC,CAAC,EACF,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAE,MAAM,IAAK;EACtD,OAAO;IACL,GAAG,MAAM;IACT,OAAO,EAAE,CAAC;EACZ,CAAC;AACH,CAAC,CAAC,CACF;AAEF,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CACxC;EACE,GAAG,KAAK,CAAC,OAAO,CAAC,oCAAoC,CAAC;EACtD,KAAK,EAAE,CACL,uBAAuB;AAE3B,CAAC,EACD;EACE,GAAG,KAAK,CAAC,OAAO,CAAC,6BAA6B,CAAC;EAC/C,KAAK,EAAE,CACL,uBAAuB;AAE3B,CAAC,CACF;AAAC,iCAEa,KAAK;AAAA","ignoreList":[]}
|
package/dist/index-esm.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-esm.cjs","names":["
|
|
1
|
+
{"version":3,"file":"index-esm.cjs","names":["index","buildForbidRuleDefinition","buildRejectOrPreferRuleDefinition","merge"],"sources":["../src/index-esm.js"],"sourcesContent":["/* eslint-disable perfectionist/sort-imports -- For auto-generate; Do not remove */\nimport {\n merge,\n} from 'object-deep-merge';\n\n// BEGIN REPLACE\nimport index from './index-cjs.js';\nimport {\n buildForbidRuleDefinition,\n} from './buildForbidRuleDefinition.js';\nimport {\n buildRejectOrPreferRuleDefinition,\n} from './buildRejectOrPreferRuleDefinition.js';\n\n// eslint-disable-next-line unicorn/prefer-export-from --- Reusing `index`\nexport default index;\n// END REPLACE\n\n/**\n * @type {((\n * cfg?: import('eslint').Linter.Config & {\n * config?: `flat/${import('./index-cjs.js').ConfigGroups}${import('./index-cjs.js').ConfigVariants}${import('./index-cjs.js').ErrorLevelVariants}`,\n * mergeSettings?: boolean,\n * settings?: Partial<import('./iterateJsdoc.js').Settings>,\n * rules?: {[key in keyof import('./rules.d.ts').Rules]?: import('eslint').Linter.RuleEntry<import('./rules.d.ts').Rules[key]>},\n * extraRuleDefinitions?: {\n * forbid?: {\n * [contextName: string]: {\n * description?: string,\n * url?: string,\n * contexts: (string|{\n * message: string,\n * context: string,\n * comment: string\n * })[]\n * }\n * },\n * preferTypes?: {\n * [typeName: string]: {\n * description: string,\n * overrideSettings: {\n * [typeNodeName: string]: {\n * message: string,\n * replacement?: false|string,\n * unifyParentAndChildTypeChecks?: boolean,\n * }\n * },\n * url: string,\n * }\n * }\n * }\n * }\n * ) => import('eslint').Linter.Config)}\n */\nexport const jsdoc = function (cfg) {\n /** @type {import('eslint').Linter.Config} */\n let outputConfig = {\n plugins: {\n jsdoc: index,\n },\n };\n\n if (cfg) {\n if (cfg.config) {\n // @ts-expect-error Security check\n if (cfg.config === '__proto__') {\n throw new TypeError('Disallowed config value');\n }\n\n outputConfig = /** @type {import('eslint').Linter.Config} */ (index.configs[cfg.config]);\n }\n\n if (cfg.rules) {\n outputConfig.rules = {\n ...outputConfig.rules,\n ...cfg.rules,\n };\n }\n\n if (cfg.plugins) {\n outputConfig.plugins = {\n ...outputConfig.plugins,\n ...cfg.plugins,\n };\n }\n\n if (cfg.name) {\n outputConfig.name = cfg.name;\n }\n\n if (cfg.basePath) {\n outputConfig.basePath = cfg.basePath;\n }\n\n if (cfg.files) {\n outputConfig.files = cfg.files;\n }\n\n if (cfg.ignores) {\n outputConfig.ignores = cfg.ignores;\n }\n\n if (cfg.language) {\n outputConfig.language = cfg.language;\n }\n\n if (cfg.languageOptions) {\n outputConfig.languageOptions = cfg.languageOptions;\n }\n\n if (cfg.linterOptions) {\n outputConfig.linterOptions = cfg.linterOptions;\n }\n\n if (cfg.processor) {\n outputConfig.processor = cfg.processor;\n }\n\n if (cfg.extraRuleDefinitions) {\n if (!outputConfig.plugins?.jsdoc?.rules) {\n throw new Error('JSDoc plugin required for `extraRuleDefinitions`');\n }\n\n if (cfg.extraRuleDefinitions.forbid) {\n for (const [\n contextName,\n {\n contexts,\n description,\n url,\n },\n ] of Object.entries(cfg.extraRuleDefinitions.forbid)) {\n outputConfig.plugins.jsdoc.rules[`forbid-${contextName}`] =\n buildForbidRuleDefinition({\n contextName,\n contexts,\n description,\n url,\n });\n }\n }\n\n if (cfg.extraRuleDefinitions.preferTypes) {\n for (const [\n typeName,\n {\n description,\n overrideSettings,\n url,\n },\n ] of Object.entries(cfg.extraRuleDefinitions.preferTypes)) {\n outputConfig.plugins.jsdoc.rules[`prefer-type-${typeName}`] =\n buildRejectOrPreferRuleDefinition({\n description,\n overrideSettings,\n typeName,\n url,\n });\n }\n }\n }\n }\n\n outputConfig.settings = {\n jsdoc: cfg?.mergeSettings === false ?\n cfg.settings :\n merge(\n {},\n cfg?.settings ?? {},\n cfg?.config?.includes('recommended') ?\n {\n // We may need to drop these for \"typescript\" (non-\"flavor\") configs,\n // if support is later added: https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html\n structuredTags: {\n next: {\n required: [\n 'type',\n ],\n },\n rejects: {\n required: [\n 'type',\n ],\n },\n },\n } :\n {},\n ),\n };\n\n return outputConfig;\n};\n\nexport {\n getJsdocProcessorPlugin,\n} from './getJsdocProcessorPlugin.js';\n"],"mappings":"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","ignoreList":[]}
|