eslint-plugin-jsdoc 39.2.5 → 39.2.6

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.
@@ -300,6 +300,7 @@ var _default = {
300
300
  } = node.loc;
301
301
  const loc = {
302
302
  end: {
303
+ column: start.column,
303
304
  line: start.line + 1
304
305
  },
305
306
  start: node.loc.start
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/rules/requireJsdoc.js"],"names":["OPTIONS_SCHEMA","additionalProperties","properties","checkConstructors","default","type","checkGetters","anyOf","enum","checkSetters","contexts","items","context","inlineCommentBlock","minLineCount","enableFixer","exemptEmptyConstructors","exemptEmptyFunctions","fixerMessage","publicOnly","oneOf","ancestorsOnly","cjs","esm","window","require","ArrowFunctionExpression","ClassDeclaration","ClassExpression","FunctionDeclaration","FunctionExpression","MethodDefinition","getOption","baseObject","option","key","options","getOptions","undefined","baseObj","prop","Object","keys","opt","create","sourceCode","getSourceCode","settings","requireOption","checkJsDoc","info","handler","node","some","count","underMinLine","getText","match","length","contextMinLineCount","find","ctxt","selector","jsDocNode","jsdocUtils","exemptSpeciaMethods","tags","isFunctionContext","isConstructor","functionParameterNames","getFunctionParameterNames","hasReturnValue","fix","fixer","lines","minLines","maxLines","baseNode","decorator","indent","getIndent","text","loc","start","column","insertion","repeat","slice","insertTextBefore","report","end","line","messageId","Boolean","initModuleExports","initWindow","exported","exportParser","isUncommentedExport","hasOption","getContextObject","enforcedContexts","includes","parent","value","meta","docs","category","description","recommended","url","fixable","messages","missingJsDoc","schema"],"mappings":"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","sourcesContent":["import {\n getJSDocComment,\n getReducedASTNode,\n getDecorator,\n} from '@es-joy/jsdoccomment';\nimport exportParser from '../exportParser';\nimport {\n getSettings,\n} from '../iterateJsdoc';\nimport jsdocUtils from '../jsdocUtils';\n\nconst OPTIONS_SCHEMA = {\n additionalProperties: false,\n properties: {\n checkConstructors: {\n default: true,\n type: 'boolean',\n },\n checkGetters: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n enum: [\n 'no-setter',\n ],\n type: 'string',\n },\n ],\n default: true,\n },\n checkSetters: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n enum: [\n 'no-getter',\n ],\n type: 'string',\n },\n ],\n default: true,\n },\n contexts: {\n items: {\n anyOf: [\n {\n type: 'string',\n },\n {\n additionalProperties: false,\n properties: {\n context: {\n type: 'string',\n },\n inlineCommentBlock: {\n type: 'boolean',\n },\n minLineCount: {\n type: 'integer',\n },\n },\n type: 'object',\n },\n ],\n },\n type: 'array',\n },\n enableFixer: {\n default: true,\n type: 'boolean',\n },\n exemptEmptyConstructors: {\n default: false,\n type: 'boolean',\n },\n exemptEmptyFunctions: {\n default: false,\n type: 'boolean',\n },\n fixerMessage: {\n default: '',\n type: 'string',\n },\n minLineCount: {\n type: 'integer',\n },\n publicOnly: {\n oneOf: [\n {\n default: false,\n type: 'boolean',\n },\n {\n additionalProperties: false,\n default: {},\n properties: {\n ancestorsOnly: {\n type: 'boolean',\n },\n cjs: {\n type: 'boolean',\n },\n esm: {\n type: 'boolean',\n },\n window: {\n type: 'boolean',\n },\n },\n type: 'object',\n },\n ],\n },\n require: {\n additionalProperties: false,\n default: {},\n properties: {\n ArrowFunctionExpression: {\n default: false,\n type: 'boolean',\n },\n ClassDeclaration: {\n default: false,\n type: 'boolean',\n },\n ClassExpression: {\n default: false,\n type: 'boolean',\n },\n FunctionDeclaration: {\n default: true,\n type: 'boolean',\n },\n FunctionExpression: {\n default: false,\n type: 'boolean',\n },\n MethodDefinition: {\n default: false,\n type: 'boolean',\n },\n },\n type: 'object',\n },\n },\n type: 'object',\n};\n\nconst getOption = (context, baseObject, option, key) => {\n if (context.options[0] && option in context.options[0] &&\n // Todo: boolean shouldn't be returning property, but tests currently require\n (typeof context.options[0][option] === 'boolean' ||\n key in context.options[0][option])\n ) {\n return context.options[0][option][key];\n }\n\n return baseObject.properties[key].default;\n};\n\nconst getOptions = (context) => {\n const {\n publicOnly,\n contexts = [],\n exemptEmptyConstructors = true,\n exemptEmptyFunctions = false,\n enableFixer = true,\n fixerMessage = '',\n minLineCount = undefined,\n } = context.options[0] || {};\n\n return {\n contexts,\n enableFixer,\n exemptEmptyConstructors,\n exemptEmptyFunctions,\n fixerMessage,\n minLineCount,\n publicOnly: ((baseObj) => {\n if (!publicOnly) {\n return false;\n }\n\n const properties = {};\n for (const prop of Object.keys(baseObj.properties)) {\n const opt = getOption(context, baseObj, 'publicOnly', prop);\n properties[prop] = opt;\n }\n\n return properties;\n })(OPTIONS_SCHEMA.properties.publicOnly.oneOf[1]),\n require: ((baseObj) => {\n const properties = {};\n for (const prop of Object.keys(baseObj.properties)) {\n const opt = getOption(context, baseObj, 'require', prop);\n properties[prop] = opt;\n }\n\n return properties;\n })(OPTIONS_SCHEMA.properties.require),\n };\n};\n\nexport default {\n create (context) {\n const sourceCode = context.getSourceCode();\n const settings = getSettings(context);\n if (!settings) {\n return {};\n }\n\n const {\n require: requireOption,\n contexts,\n publicOnly,\n exemptEmptyFunctions,\n exemptEmptyConstructors,\n enableFixer,\n fixerMessage,\n minLineCount,\n } = getOptions(context);\n\n const checkJsDoc = (info, handler, node) => {\n if (\n // Optimize\n minLineCount !== undefined || contexts.some(({\n minLineCount: count,\n }) => {\n return count !== undefined;\n })\n ) {\n const underMinLine = (count) => {\n return count !== undefined && count >\n (sourceCode.getText(node).match(/\\n/gu)?.length ?? 0) + 1;\n };\n\n if (underMinLine(minLineCount)) {\n return;\n }\n\n const {\n minLineCount: contextMinLineCount,\n } = contexts.find(({\n context: ctxt,\n }) => {\n return ctxt === (info.selector || node.type);\n }) || {};\n if (underMinLine(contextMinLineCount)) {\n return;\n }\n }\n\n const jsDocNode = getJSDocComment(sourceCode, node, settings);\n\n if (jsDocNode) {\n return;\n }\n\n // For those who have options configured against ANY constructors (or\n // setters or getters) being reported\n if (jsdocUtils.exemptSpeciaMethods(\n {\n tags: [],\n }, node, context, [\n OPTIONS_SCHEMA,\n ],\n )) {\n return;\n }\n\n if (\n // Avoid reporting param-less, return-less functions (when\n // `exemptEmptyFunctions` option is set)\n exemptEmptyFunctions && info.isFunctionContext ||\n\n // Avoid reporting param-less, return-less constructor methods (when\n // `exemptEmptyConstructors` option is set)\n exemptEmptyConstructors && jsdocUtils.isConstructor(node)\n ) {\n const functionParameterNames = jsdocUtils.getFunctionParameterNames(node);\n if (!functionParameterNames.length && !jsdocUtils.hasReturnValue(node)) {\n return;\n }\n }\n\n const fix = (fixer) => {\n // Default to one line break if the `minLines`/`maxLines` settings allow\n const lines = settings.minLines === 0 && settings.maxLines >= 1 ? 1 : settings.minLines;\n let baseNode = getReducedASTNode(node, sourceCode);\n\n const decorator = getDecorator(baseNode);\n if (decorator) {\n baseNode = decorator;\n }\n\n const indent = jsdocUtils.getIndent({\n text: sourceCode.getText(\n baseNode,\n baseNode.loc.start.column,\n ),\n });\n\n const {\n inlineCommentBlock,\n } = contexts.find(({\n context: ctxt,\n }) => {\n return ctxt === node.type;\n }) || {};\n const insertion = (inlineCommentBlock ?\n `/** ${fixerMessage}` :\n `/**\\n${indent}*${fixerMessage}\\n${indent}`) +\n `*/${'\\n'.repeat(lines)}${indent.slice(0, -1)}`;\n\n return fixer.insertTextBefore(baseNode, insertion);\n };\n\n const report = () => {\n const {\n start,\n } = node.loc;\n const loc = {\n end: {\n line: start.line + 1,\n },\n start: node.loc.start,\n };\n context.report({\n fix: enableFixer ? fix : null,\n loc,\n messageId: 'missingJsDoc',\n node,\n });\n };\n\n if (publicOnly) {\n const opt = {\n ancestorsOnly: Boolean(publicOnly?.ancestorsOnly ?? false),\n esm: Boolean(publicOnly?.esm ?? true),\n initModuleExports: Boolean(publicOnly?.cjs ?? true),\n initWindow: Boolean(publicOnly?.window ?? false),\n };\n const exported = exportParser.isUncommentedExport(node, sourceCode, opt, settings);\n\n if (exported) {\n report();\n }\n } else {\n report();\n }\n };\n\n const hasOption = (prop) => {\n return requireOption[prop] || contexts.some((ctxt) => {\n return typeof ctxt === 'object' ? ctxt.context === prop : ctxt === prop;\n });\n };\n\n return {\n ...jsdocUtils.getContextObject(\n jsdocUtils.enforcedContexts(context, []),\n checkJsDoc,\n ),\n ArrowFunctionExpression (node) {\n if (!hasOption('ArrowFunctionExpression')) {\n return;\n }\n\n if (\n [\n 'VariableDeclarator', 'AssignmentExpression', 'ExportDefaultDeclaration',\n ].includes(node.parent.type) ||\n [\n 'Property', 'ObjectProperty', 'ClassProperty', 'PropertyDefinition',\n ].includes(node.parent.type) && node === node.parent.value\n ) {\n checkJsDoc({\n isFunctionContext: true,\n }, null, node);\n }\n },\n\n ClassDeclaration (node) {\n if (!hasOption('ClassDeclaration')) {\n return;\n }\n\n checkJsDoc({\n isFunctionContext: false,\n }, null, node);\n },\n\n ClassExpression (node) {\n if (!hasOption('ClassExpression')) {\n return;\n }\n\n checkJsDoc({\n isFunctionContext: false,\n }, null, node);\n },\n\n FunctionDeclaration (node) {\n if (!hasOption('FunctionDeclaration')) {\n return;\n }\n\n checkJsDoc({\n isFunctionContext: true,\n }, null, node);\n },\n\n FunctionExpression (node) {\n if (!hasOption('FunctionExpression')) {\n return;\n }\n\n if (\n [\n 'VariableDeclarator', 'AssignmentExpression', 'ExportDefaultDeclaration',\n ].includes(node.parent.type) ||\n [\n 'Property', 'ObjectProperty', 'ClassProperty', 'PropertyDefinition',\n ].includes(node.parent.type) && node === node.parent.value\n ) {\n checkJsDoc({\n isFunctionContext: true,\n }, null, node);\n }\n },\n\n MethodDefinition (node) {\n if (!hasOption('MethodDefinition')) {\n return;\n }\n\n checkJsDoc({\n isFunctionContext: true,\n selector: 'MethodDefinition',\n }, null, node.value);\n },\n };\n },\n meta: {\n docs: {\n category: 'Stylistic Issues',\n description: 'Require JSDoc comments',\n recommended: 'true',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-jsdoc',\n },\n\n fixable: 'code',\n\n messages: {\n missingJsDoc: 'Missing JSDoc comment.',\n },\n\n schema: [\n OPTIONS_SCHEMA,\n ],\n\n type: 'suggestion',\n },\n};\n"],"file":"requireJsdoc.js"}
1
+ {"version":3,"sources":["../../src/rules/requireJsdoc.js"],"names":["OPTIONS_SCHEMA","additionalProperties","properties","checkConstructors","default","type","checkGetters","anyOf","enum","checkSetters","contexts","items","context","inlineCommentBlock","minLineCount","enableFixer","exemptEmptyConstructors","exemptEmptyFunctions","fixerMessage","publicOnly","oneOf","ancestorsOnly","cjs","esm","window","require","ArrowFunctionExpression","ClassDeclaration","ClassExpression","FunctionDeclaration","FunctionExpression","MethodDefinition","getOption","baseObject","option","key","options","getOptions","undefined","baseObj","prop","Object","keys","opt","create","sourceCode","getSourceCode","settings","requireOption","checkJsDoc","info","handler","node","some","count","underMinLine","getText","match","length","contextMinLineCount","find","ctxt","selector","jsDocNode","jsdocUtils","exemptSpeciaMethods","tags","isFunctionContext","isConstructor","functionParameterNames","getFunctionParameterNames","hasReturnValue","fix","fixer","lines","minLines","maxLines","baseNode","decorator","indent","getIndent","text","loc","start","column","insertion","repeat","slice","insertTextBefore","report","end","line","messageId","Boolean","initModuleExports","initWindow","exported","exportParser","isUncommentedExport","hasOption","getContextObject","enforcedContexts","includes","parent","value","meta","docs","category","description","recommended","url","fixable","messages","missingJsDoc","schema"],"mappings":"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","sourcesContent":["import {\n getJSDocComment,\n getReducedASTNode,\n getDecorator,\n} from '@es-joy/jsdoccomment';\nimport exportParser from '../exportParser';\nimport {\n getSettings,\n} from '../iterateJsdoc';\nimport jsdocUtils from '../jsdocUtils';\n\nconst OPTIONS_SCHEMA = {\n additionalProperties: false,\n properties: {\n checkConstructors: {\n default: true,\n type: 'boolean',\n },\n checkGetters: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n enum: [\n 'no-setter',\n ],\n type: 'string',\n },\n ],\n default: true,\n },\n checkSetters: {\n anyOf: [\n {\n type: 'boolean',\n },\n {\n enum: [\n 'no-getter',\n ],\n type: 'string',\n },\n ],\n default: true,\n },\n contexts: {\n items: {\n anyOf: [\n {\n type: 'string',\n },\n {\n additionalProperties: false,\n properties: {\n context: {\n type: 'string',\n },\n inlineCommentBlock: {\n type: 'boolean',\n },\n minLineCount: {\n type: 'integer',\n },\n },\n type: 'object',\n },\n ],\n },\n type: 'array',\n },\n enableFixer: {\n default: true,\n type: 'boolean',\n },\n exemptEmptyConstructors: {\n default: false,\n type: 'boolean',\n },\n exemptEmptyFunctions: {\n default: false,\n type: 'boolean',\n },\n fixerMessage: {\n default: '',\n type: 'string',\n },\n minLineCount: {\n type: 'integer',\n },\n publicOnly: {\n oneOf: [\n {\n default: false,\n type: 'boolean',\n },\n {\n additionalProperties: false,\n default: {},\n properties: {\n ancestorsOnly: {\n type: 'boolean',\n },\n cjs: {\n type: 'boolean',\n },\n esm: {\n type: 'boolean',\n },\n window: {\n type: 'boolean',\n },\n },\n type: 'object',\n },\n ],\n },\n require: {\n additionalProperties: false,\n default: {},\n properties: {\n ArrowFunctionExpression: {\n default: false,\n type: 'boolean',\n },\n ClassDeclaration: {\n default: false,\n type: 'boolean',\n },\n ClassExpression: {\n default: false,\n type: 'boolean',\n },\n FunctionDeclaration: {\n default: true,\n type: 'boolean',\n },\n FunctionExpression: {\n default: false,\n type: 'boolean',\n },\n MethodDefinition: {\n default: false,\n type: 'boolean',\n },\n },\n type: 'object',\n },\n },\n type: 'object',\n};\n\nconst getOption = (context, baseObject, option, key) => {\n if (context.options[0] && option in context.options[0] &&\n // Todo: boolean shouldn't be returning property, but tests currently require\n (typeof context.options[0][option] === 'boolean' ||\n key in context.options[0][option])\n ) {\n return context.options[0][option][key];\n }\n\n return baseObject.properties[key].default;\n};\n\nconst getOptions = (context) => {\n const {\n publicOnly,\n contexts = [],\n exemptEmptyConstructors = true,\n exemptEmptyFunctions = false,\n enableFixer = true,\n fixerMessage = '',\n minLineCount = undefined,\n } = context.options[0] || {};\n\n return {\n contexts,\n enableFixer,\n exemptEmptyConstructors,\n exemptEmptyFunctions,\n fixerMessage,\n minLineCount,\n publicOnly: ((baseObj) => {\n if (!publicOnly) {\n return false;\n }\n\n const properties = {};\n for (const prop of Object.keys(baseObj.properties)) {\n const opt = getOption(context, baseObj, 'publicOnly', prop);\n properties[prop] = opt;\n }\n\n return properties;\n })(OPTIONS_SCHEMA.properties.publicOnly.oneOf[1]),\n require: ((baseObj) => {\n const properties = {};\n for (const prop of Object.keys(baseObj.properties)) {\n const opt = getOption(context, baseObj, 'require', prop);\n properties[prop] = opt;\n }\n\n return properties;\n })(OPTIONS_SCHEMA.properties.require),\n };\n};\n\nexport default {\n create (context) {\n const sourceCode = context.getSourceCode();\n const settings = getSettings(context);\n if (!settings) {\n return {};\n }\n\n const {\n require: requireOption,\n contexts,\n publicOnly,\n exemptEmptyFunctions,\n exemptEmptyConstructors,\n enableFixer,\n fixerMessage,\n minLineCount,\n } = getOptions(context);\n\n const checkJsDoc = (info, handler, node) => {\n if (\n // Optimize\n minLineCount !== undefined || contexts.some(({\n minLineCount: count,\n }) => {\n return count !== undefined;\n })\n ) {\n const underMinLine = (count) => {\n return count !== undefined && count >\n (sourceCode.getText(node).match(/\\n/gu)?.length ?? 0) + 1;\n };\n\n if (underMinLine(minLineCount)) {\n return;\n }\n\n const {\n minLineCount: contextMinLineCount,\n } = contexts.find(({\n context: ctxt,\n }) => {\n return ctxt === (info.selector || node.type);\n }) || {};\n if (underMinLine(contextMinLineCount)) {\n return;\n }\n }\n\n const jsDocNode = getJSDocComment(sourceCode, node, settings);\n\n if (jsDocNode) {\n return;\n }\n\n // For those who have options configured against ANY constructors (or\n // setters or getters) being reported\n if (jsdocUtils.exemptSpeciaMethods(\n {\n tags: [],\n }, node, context, [\n OPTIONS_SCHEMA,\n ],\n )) {\n return;\n }\n\n if (\n // Avoid reporting param-less, return-less functions (when\n // `exemptEmptyFunctions` option is set)\n exemptEmptyFunctions && info.isFunctionContext ||\n\n // Avoid reporting param-less, return-less constructor methods (when\n // `exemptEmptyConstructors` option is set)\n exemptEmptyConstructors && jsdocUtils.isConstructor(node)\n ) {\n const functionParameterNames = jsdocUtils.getFunctionParameterNames(node);\n if (!functionParameterNames.length && !jsdocUtils.hasReturnValue(node)) {\n return;\n }\n }\n\n const fix = (fixer) => {\n // Default to one line break if the `minLines`/`maxLines` settings allow\n const lines = settings.minLines === 0 && settings.maxLines >= 1 ? 1 : settings.minLines;\n let baseNode = getReducedASTNode(node, sourceCode);\n\n const decorator = getDecorator(baseNode);\n if (decorator) {\n baseNode = decorator;\n }\n\n const indent = jsdocUtils.getIndent({\n text: sourceCode.getText(\n baseNode,\n baseNode.loc.start.column,\n ),\n });\n\n const {\n inlineCommentBlock,\n } = contexts.find(({\n context: ctxt,\n }) => {\n return ctxt === node.type;\n }) || {};\n const insertion = (inlineCommentBlock ?\n `/** ${fixerMessage}` :\n `/**\\n${indent}*${fixerMessage}\\n${indent}`) +\n `*/${'\\n'.repeat(lines)}${indent.slice(0, -1)}`;\n\n return fixer.insertTextBefore(baseNode, insertion);\n };\n\n const report = () => {\n const {\n start,\n } = node.loc;\n const loc = {\n end: {\n column: start.column,\n line: start.line + 1,\n },\n start: node.loc.start,\n };\n context.report({\n fix: enableFixer ? fix : null,\n loc,\n messageId: 'missingJsDoc',\n node,\n });\n };\n\n if (publicOnly) {\n const opt = {\n ancestorsOnly: Boolean(publicOnly?.ancestorsOnly ?? false),\n esm: Boolean(publicOnly?.esm ?? true),\n initModuleExports: Boolean(publicOnly?.cjs ?? true),\n initWindow: Boolean(publicOnly?.window ?? false),\n };\n const exported = exportParser.isUncommentedExport(node, sourceCode, opt, settings);\n\n if (exported) {\n report();\n }\n } else {\n report();\n }\n };\n\n const hasOption = (prop) => {\n return requireOption[prop] || contexts.some((ctxt) => {\n return typeof ctxt === 'object' ? ctxt.context === prop : ctxt === prop;\n });\n };\n\n return {\n ...jsdocUtils.getContextObject(\n jsdocUtils.enforcedContexts(context, []),\n checkJsDoc,\n ),\n ArrowFunctionExpression (node) {\n if (!hasOption('ArrowFunctionExpression')) {\n return;\n }\n\n if (\n [\n 'VariableDeclarator', 'AssignmentExpression', 'ExportDefaultDeclaration',\n ].includes(node.parent.type) ||\n [\n 'Property', 'ObjectProperty', 'ClassProperty', 'PropertyDefinition',\n ].includes(node.parent.type) && node === node.parent.value\n ) {\n checkJsDoc({\n isFunctionContext: true,\n }, null, node);\n }\n },\n\n ClassDeclaration (node) {\n if (!hasOption('ClassDeclaration')) {\n return;\n }\n\n checkJsDoc({\n isFunctionContext: false,\n }, null, node);\n },\n\n ClassExpression (node) {\n if (!hasOption('ClassExpression')) {\n return;\n }\n\n checkJsDoc({\n isFunctionContext: false,\n }, null, node);\n },\n\n FunctionDeclaration (node) {\n if (!hasOption('FunctionDeclaration')) {\n return;\n }\n\n checkJsDoc({\n isFunctionContext: true,\n }, null, node);\n },\n\n FunctionExpression (node) {\n if (!hasOption('FunctionExpression')) {\n return;\n }\n\n if (\n [\n 'VariableDeclarator', 'AssignmentExpression', 'ExportDefaultDeclaration',\n ].includes(node.parent.type) ||\n [\n 'Property', 'ObjectProperty', 'ClassProperty', 'PropertyDefinition',\n ].includes(node.parent.type) && node === node.parent.value\n ) {\n checkJsDoc({\n isFunctionContext: true,\n }, null, node);\n }\n },\n\n MethodDefinition (node) {\n if (!hasOption('MethodDefinition')) {\n return;\n }\n\n checkJsDoc({\n isFunctionContext: true,\n selector: 'MethodDefinition',\n }, null, node.value);\n },\n };\n },\n meta: {\n docs: {\n category: 'Stylistic Issues',\n description: 'Require JSDoc comments',\n recommended: 'true',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-jsdoc',\n },\n\n fixable: 'code',\n\n messages: {\n missingJsDoc: 'Missing JSDoc comment.',\n },\n\n schema: [\n OPTIONS_SCHEMA,\n ],\n\n type: 'suggestion',\n },\n};\n"],"file":"requireJsdoc.js"}
package/package.json CHANGED
@@ -117,5 +117,5 @@
117
117
  "test-cov": "cross-env TIMING=1 nyc --reporter text npm run test-no-cov",
118
118
  "test-index": "npm run test-no-cov -- test/rules/index.js"
119
119
  },
120
- "version": "39.2.5"
120
+ "version": "39.2.6"
121
121
  }