eslint-plugin-jsdoc
Advanced tools
Comparing version 2.2.1 to 2.2.2
@@ -7,9 +7,9 @@ 'use strict'; | ||
var _includes = require('lodash/collection/includes'); | ||
var _includes2 = require('lodash/collection/includes'); | ||
var _includes2 = _interopRequireDefault(_includes); | ||
var _includes3 = _interopRequireDefault(_includes2); | ||
var _get = require('lodash/object/get'); | ||
var _get2 = require('lodash/object/get'); | ||
var _get2 = _interopRequireDefault(_get); | ||
var _get3 = _interopRequireDefault(_get2); | ||
@@ -64,3 +64,3 @@ var _commentParser = require('comment-parser'); | ||
tagNamePreference = (0, _get2.default)(context, 'settings.jsdoc.tagNamePreference') || {}; | ||
tagNamePreference = (0, _get3.default)(context, 'settings.jsdoc.tagNamePreference') || {}; | ||
@@ -82,3 +82,3 @@ checkJsdoc = function (functionNode) { | ||
parsers: [_commentParser2.default.PARSERS.parse_tag, _commentParser2.default.PARSERS.parse_type, function (str, data) { | ||
if ((0, _includes2.default)(['return', 'returns'], data.tag)) { | ||
if ((0, _includes3.default)(['return', 'returns'], data.tag)) { | ||
return null; | ||
@@ -85,0 +85,0 @@ } |
@@ -7,33 +7,33 @@ 'use strict'; | ||
var _flatten = require('lodash/array/flatten'); | ||
var _flatten2 = require('lodash/array/flatten'); | ||
var _flatten2 = _interopRequireDefault(_flatten); | ||
var _flatten3 = _interopRequireDefault(_flatten2); | ||
var _keys = require('lodash/object/keys'); | ||
var _keys2 = require('lodash/object/keys'); | ||
var _keys2 = _interopRequireDefault(_keys); | ||
var _keys3 = _interopRequireDefault(_keys2); | ||
var _findKey = require('lodash/object/findKey'); | ||
var _findKey2 = require('lodash/object/findKey'); | ||
var _findKey2 = _interopRequireDefault(_findKey); | ||
var _findKey3 = _interopRequireDefault(_findKey2); | ||
var _values = require('lodash/object/values'); | ||
var _values2 = require('lodash/object/values'); | ||
var _values2 = _interopRequireDefault(_values); | ||
var _values3 = _interopRequireDefault(_values2); | ||
var _includes = require('lodash/collection/includes'); | ||
var _includes2 = require('lodash/collection/includes'); | ||
var _includes2 = _interopRequireDefault(_includes); | ||
var _includes3 = _interopRequireDefault(_includes2); | ||
var _filter = require('lodash/collection/filter'); | ||
var _filter2 = require('lodash/collection/filter'); | ||
var _filter2 = _interopRequireDefault(_filter); | ||
var _filter3 = _interopRequireDefault(_filter2); | ||
var _has = require('lodash/object/has'); | ||
var _has2 = require('lodash/object/has'); | ||
var _has2 = _interopRequireDefault(_has); | ||
var _has3 = _interopRequireDefault(_has2); | ||
var _map = require('lodash/collection/map'); | ||
var _map2 = require('lodash/collection/map'); | ||
var _map2 = _interopRequireDefault(_map); | ||
var _map3 = _interopRequireDefault(_map2); | ||
@@ -53,11 +53,15 @@ var _tagNames = require('./tagNames'); | ||
getFunctionParameterNames = function (functionNode) { | ||
return (0, _map2.default)(functionNode.params, function (param) { | ||
if ((0, _has2.default)(param, 'name')) { | ||
return (0, _map3.default)(functionNode.params, function (param) { | ||
if ((0, _has3.default)(param, 'name')) { | ||
return param.name; | ||
} | ||
if ((0, _has2.default)(param, 'left.name')) { | ||
if ((0, _has3.default)(param, 'left.name')) { | ||
return param.left.name; | ||
} | ||
if (param.type === 'ObjectPattern') { | ||
return '<ObjectPattern>'; | ||
} | ||
throw new Error('Unsupported function signature format.'); | ||
@@ -73,7 +77,7 @@ }); | ||
jsdocParameterNames = (0, _filter2.default)(jsdoc.tags, { | ||
jsdocParameterNames = (0, _filter3.default)(jsdoc.tags, { | ||
tag: targetTagName | ||
}); | ||
jsdocParameterNames = (0, _map2.default)(jsdocParameterNames, 'name'); | ||
jsdocParameterNames = (0, _map3.default)(jsdocParameterNames, 'name'); | ||
@@ -88,3 +92,3 @@ return jsdocParameterNames; | ||
jsdocParameterNames = (0, _filter2.default)(jsdocParameterNames, function (name) { | ||
jsdocParameterNames = (0, _filter3.default)(jsdocParameterNames, function (name) { | ||
return name.indexOf('.') === -1; | ||
@@ -101,8 +105,8 @@ }); | ||
if ((0, _includes2.default)((0, _values2.default)(tagPreference), name)) { | ||
if ((0, _includes3.default)((0, _values3.default)(tagPreference), name)) { | ||
return name; | ||
} | ||
preferredTagName = (0, _findKey2.default)(_tagNames2.default, function (aliases) { | ||
return (0, _includes2.default)(aliases, name); | ||
preferredTagName = (0, _findKey3.default)(_tagNames2.default, function (aliases) { | ||
return (0, _includes3.default)(aliases, name); | ||
}); | ||
@@ -114,3 +118,3 @@ | ||
return (0, _has2.default)(tagPreference, name) ? tagPreference[name] : name; | ||
return (0, _has3.default)(tagPreference, name) ? tagPreference[name] : name; | ||
}; | ||
@@ -121,5 +125,5 @@ | ||
validTagNames = (0, _keys2.default)(_tagNames2.default).concat((0, _flatten2.default)((0, _values2.default)(_tagNames2.default))); | ||
validTagNames = (0, _keys3.default)(_tagNames2.default).concat((0, _flatten3.default)((0, _values3.default)(_tagNames2.default))); | ||
return (0, _includes2.default)(validTagNames, name); | ||
return (0, _includes3.default)(validTagNames, name); | ||
}; | ||
@@ -126,0 +130,0 @@ |
@@ -7,9 +7,9 @@ 'use strict'; | ||
var _includes = require('lodash/collection/includes'); | ||
var _includes2 = require('lodash/collection/includes'); | ||
var _includes2 = _interopRequireDefault(_includes); | ||
var _includes3 = _interopRequireDefault(_includes2); | ||
var _some = require('lodash/collection/some'); | ||
var _some2 = require('lodash/collection/some'); | ||
var _some2 = _interopRequireDefault(_some); | ||
var _some3 = _interopRequireDefault(_some2); | ||
@@ -26,3 +26,3 @@ var _iterateJsdoc = require('./../iterateJsdoc'); | ||
validateParameterNames = function (targetTagName, functionParameterNames, jsdocParameterNames, report) { | ||
return (0, _some2.default)(jsdocParameterNames, function (jsdocParameterName, index) { | ||
return (0, _some3.default)(jsdocParameterNames, function (jsdocParameterName, index) { | ||
var functionParameterName = undefined; | ||
@@ -38,2 +38,6 @@ | ||
if (functionParameterName === '<ObjectPattern>') { | ||
return; | ||
} | ||
if (functionParameterName !== jsdocParameterName) { | ||
@@ -50,6 +54,6 @@ report('Expected @' + targetTagName + ' names to be "' + functionParameterNames.join(', ') + '". Got "' + jsdocParameterNames.join(', ') + '".'); | ||
return (0, _some2.default)(jsdocParameterNames, function (jsdocParameterName) { | ||
return (0, _some3.default)(jsdocParameterNames, function (jsdocParameterName) { | ||
var isPropertyPath = undefined; | ||
isPropertyPath = (0, _includes2.default)(jsdocParameterName, '.'); | ||
isPropertyPath = (0, _includes3.default)(jsdocParameterName, '.'); | ||
@@ -56,0 +60,0 @@ if (isPropertyPath) { |
@@ -7,5 +7,5 @@ 'use strict'; | ||
var _forEach = require('lodash/collection/forEach'); | ||
var _forEach2 = require('lodash/collection/forEach'); | ||
var _forEach2 = _interopRequireDefault(_forEach); | ||
var _forEach3 = _interopRequireDefault(_forEach2); | ||
@@ -23,3 +23,3 @@ var _iterateJsdoc = require('./../iterateJsdoc'); | ||
(0, _forEach2.default)(jsdoc.tags, function (jsdocTag) { | ||
(0, _forEach3.default)(jsdoc.tags, function (jsdocTag) { | ||
if (utils.isValidTag(jsdocTag.tag)) { | ||
@@ -26,0 +26,0 @@ var preferredTagName = undefined; |
@@ -7,17 +7,17 @@ 'use strict'; | ||
var _some = require('lodash/collection/some'); | ||
var _some2 = require('lodash/collection/some'); | ||
var _some2 = _interopRequireDefault(_some); | ||
var _some3 = _interopRequireDefault(_some2); | ||
var _forEach = require('lodash/collection/forEach'); | ||
var _forEach2 = require('lodash/collection/forEach'); | ||
var _forEach2 = _interopRequireDefault(_forEach); | ||
var _forEach3 = _interopRequireDefault(_forEach2); | ||
var _includes = require('lodash/collection/includes'); | ||
var _includes2 = require('lodash/collection/includes'); | ||
var _includes2 = _interopRequireDefault(_includes); | ||
var _includes3 = _interopRequireDefault(_includes2); | ||
var _filter = require('lodash/collection/filter'); | ||
var _filter2 = require('lodash/collection/filter'); | ||
var _filter2 = _interopRequireDefault(_filter); | ||
var _filter3 = _interopRequireDefault(_filter2); | ||
@@ -48,8 +48,8 @@ var _iterateJsdoc = require('./../iterateJsdoc'); | ||
jsdocTags = (0, _filter2.default)(jsdoc.tags, function (tag) { | ||
return (0, _includes2.default)(targetTags, tag.tag); | ||
jsdocTags = (0, _filter3.default)(jsdoc.tags, function (tag) { | ||
return (0, _includes3.default)(targetTags, tag.tag); | ||
}); | ||
(0, _forEach2.default)(jsdocTags, function (jsdocTag) { | ||
(0, _some2.default)(strictNativeTypes, function (strictNativeType) { | ||
(0, _forEach3.default)(jsdocTags, function (jsdocTag) { | ||
(0, _some3.default)(strictNativeTypes, function (strictNativeType) { | ||
if (strictNativeType.toLowerCase() === jsdocTag.type.toLowerCase() && strictNativeType !== jsdocTag.type) { | ||
@@ -56,0 +56,0 @@ report('Invalid JSDoc @' + jsdocTag.tag + ' "' + jsdocTag.name + '" type "' + jsdocTag.type + '".'); |
@@ -7,9 +7,9 @@ 'use strict'; | ||
var _startsWith = require('lodash/string/startsWith'); | ||
var _startsWith2 = require('lodash/string/startsWith'); | ||
var _startsWith2 = _interopRequireDefault(_startsWith); | ||
var _startsWith3 = _interopRequireDefault(_startsWith2); | ||
var _has = require('lodash/object/has'); | ||
var _has2 = require('lodash/object/has'); | ||
var _has2 = _interopRequireDefault(_has); | ||
var _has3 = _interopRequireDefault(_has2); | ||
@@ -34,3 +34,3 @@ var _iterateJsdoc = require('./../iterateJsdoc'); | ||
if ((0, _has2.default)(context.options, 0)) { | ||
if ((0, _has3.default)(context.options, 0)) { | ||
always = context.options[0] === 'always'; | ||
@@ -44,3 +44,3 @@ } else { | ||
// This gets the text following the description. | ||
descriptionEndsWithANewline = (0, _startsWith2.default)(jsdoc.source.slice(jsdoc.description.length), '\n\n'); | ||
descriptionEndsWithANewline = (0, _startsWith3.default)(jsdoc.source.slice(jsdoc.description.length), '\n\n'); | ||
@@ -47,0 +47,0 @@ if (always) { |
@@ -7,21 +7,21 @@ 'use strict'; | ||
var _trimLeft = require('lodash/string/trimLeft'); | ||
var _trimLeft2 = require('lodash/string/trimLeft'); | ||
var _trimLeft2 = _interopRequireDefault(_trimLeft); | ||
var _trimLeft3 = _interopRequireDefault(_trimLeft2); | ||
var _includes = require('lodash/collection/includes'); | ||
var _includes2 = require('lodash/collection/includes'); | ||
var _includes2 = _interopRequireDefault(_includes); | ||
var _includes3 = _interopRequireDefault(_includes2); | ||
var _filter = require('lodash/collection/filter'); | ||
var _filter2 = require('lodash/collection/filter'); | ||
var _filter2 = _interopRequireDefault(_filter); | ||
var _filter3 = _interopRequireDefault(_filter2); | ||
var _isBoolean = require('lodash/lang/isBoolean'); | ||
var _isBoolean2 = require('lodash/lang/isBoolean'); | ||
var _isBoolean2 = _interopRequireDefault(_isBoolean); | ||
var _isBoolean3 = _interopRequireDefault(_isBoolean2); | ||
var _some = require('lodash/collection/some'); | ||
var _some2 = require('lodash/collection/some'); | ||
var _some2 = _interopRequireDefault(_some); | ||
var _some3 = _interopRequireDefault(_some2); | ||
@@ -48,4 +48,4 @@ var _iterateJsdoc = require('./../iterateJsdoc'); | ||
return !(0, _some2.default)(lines, function (line) { | ||
if ((0, _isBoolean2.default)(lastLineEndsSentence) && !lastLineEndsSentence && /^[A-Z]/.test(line)) { | ||
return !(0, _some3.default)(lines, function (line) { | ||
if ((0, _isBoolean3.default)(lastLineEndsSentence) && !lastLineEndsSentence && /^[A-Z]/.test(line)) { | ||
return true; | ||
@@ -67,3 +67,3 @@ } | ||
return (0, _some2.default)(paragraphs, function (paragraph, index) { | ||
return (0, _some3.default)(paragraphs, function (paragraph, index) { | ||
if (!/^[A-Z]/.test(paragraph)) { | ||
@@ -103,10 +103,10 @@ if (index === 0) { | ||
tags = (0, _filter2.default)(jsdoc.tags, function (tag) { | ||
return (0, _includes2.default)(['param', 'returns'], tag.tag); | ||
tags = (0, _filter3.default)(jsdoc.tags, function (tag) { | ||
return (0, _includes3.default)(['param', 'returns'], tag.tag); | ||
}); | ||
(0, _some2.default)(tags, function (tag) { | ||
(0, _some3.default)(tags, function (tag) { | ||
var description = undefined; | ||
description = (0, _trimLeft2.default)(tag.description, '- '); | ||
description = (0, _trimLeft3.default)(tag.description, '- '); | ||
@@ -113,0 +113,0 @@ return validateDescription(description, report); |
@@ -7,13 +7,13 @@ 'use strict'; | ||
var _startsWith = require('lodash/string/startsWith'); | ||
var _startsWith2 = require('lodash/string/startsWith'); | ||
var _startsWith2 = _interopRequireDefault(_startsWith); | ||
var _startsWith3 = _interopRequireDefault(_startsWith2); | ||
var _forEach = require('lodash/collection/forEach'); | ||
var _forEach2 = require('lodash/collection/forEach'); | ||
var _forEach2 = _interopRequireDefault(_forEach); | ||
var _forEach3 = _interopRequireDefault(_forEach2); | ||
var _filter = require('lodash/collection/filter'); | ||
var _filter2 = require('lodash/collection/filter'); | ||
var _filter2 = _interopRequireDefault(_filter); | ||
var _filter3 = _interopRequireDefault(_filter2); | ||
@@ -32,8 +32,8 @@ var _iterateJsdoc = require('./../iterateJsdoc'); | ||
jsdocTags = (0, _filter2.default)(jsdoc.tags, { | ||
jsdocTags = (0, _filter3.default)(jsdoc.tags, { | ||
tag: 'param' | ||
}); | ||
(0, _forEach2.default)(jsdocTags, function (jsdocTag) { | ||
if (jsdocTag.description && !(0, _startsWith2.default)(jsdocTag.description, '-')) { | ||
(0, _forEach3.default)(jsdocTags, function (jsdocTag) { | ||
if (jsdocTag.description && !(0, _startsWith3.default)(jsdocTag.description, '-')) { | ||
report('There must be a hyphen before @param description.'); | ||
@@ -40,0 +40,0 @@ } |
@@ -7,5 +7,5 @@ 'use strict'; | ||
var _some = require('lodash/collection/some'); | ||
var _some2 = require('lodash/collection/some'); | ||
var _some2 = _interopRequireDefault(_some); | ||
var _some3 = _interopRequireDefault(_some2); | ||
@@ -28,3 +28,3 @@ var _iterateJsdoc = require('./../iterateJsdoc'); | ||
(0, _some2.default)(functionParameterNames, function (functionParameterName, index) { | ||
(0, _some3.default)(functionParameterNames, function (functionParameterName, index) { | ||
var jsdocParameterName = undefined; | ||
@@ -31,0 +31,0 @@ |
@@ -7,9 +7,9 @@ 'use strict'; | ||
var _forEach = require('lodash/collection/forEach'); | ||
var _forEach2 = require('lodash/collection/forEach'); | ||
var _forEach2 = _interopRequireDefault(_forEach); | ||
var _forEach3 = _interopRequireDefault(_forEach2); | ||
var _filter = require('lodash/collection/filter'); | ||
var _filter2 = require('lodash/collection/filter'); | ||
var _filter2 = _interopRequireDefault(_filter); | ||
var _filter3 = _interopRequireDefault(_filter2); | ||
@@ -32,7 +32,7 @@ var _iterateJsdoc = require('./../iterateJsdoc'); | ||
jsdocParameters = (0, _filter2.default)(jsdoc.tags, { | ||
jsdocParameters = (0, _filter3.default)(jsdoc.tags, { | ||
tag: targetTagName | ||
}); | ||
(0, _forEach2.default)(jsdocParameters, function (jsdocParameter) { | ||
(0, _forEach3.default)(jsdocParameters, function (jsdocParameter) { | ||
if (!jsdocParameter.description) { | ||
@@ -39,0 +39,0 @@ report('Missing JSDoc @' + targetTagName + ' "' + jsdocParameter.name + '" description.'); |
@@ -7,9 +7,9 @@ 'use strict'; | ||
var _forEach = require('lodash/collection/forEach'); | ||
var _forEach2 = require('lodash/collection/forEach'); | ||
var _forEach2 = _interopRequireDefault(_forEach); | ||
var _forEach3 = _interopRequireDefault(_forEach2); | ||
var _filter = require('lodash/collection/filter'); | ||
var _filter2 = require('lodash/collection/filter'); | ||
var _filter2 = _interopRequireDefault(_filter); | ||
var _filter3 = _interopRequireDefault(_filter2); | ||
@@ -32,7 +32,7 @@ var _iterateJsdoc = require('./../iterateJsdoc'); | ||
jsdocParameters = (0, _filter2.default)(jsdoc.tags, { | ||
jsdocParameters = (0, _filter3.default)(jsdoc.tags, { | ||
tag: targetTagName | ||
}); | ||
(0, _forEach2.default)(jsdocParameters, function (jsdocParameter) { | ||
(0, _forEach3.default)(jsdocParameters, function (jsdocParameter) { | ||
if (!jsdocParameter.type) { | ||
@@ -39,0 +39,0 @@ report('Missing JSDoc @' + targetTagName + ' "' + jsdocParameter.name + '" type.'); |
@@ -7,9 +7,9 @@ 'use strict'; | ||
var _forEach = require('lodash/collection/forEach'); | ||
var _forEach2 = require('lodash/collection/forEach'); | ||
var _forEach2 = _interopRequireDefault(_forEach); | ||
var _forEach3 = _interopRequireDefault(_forEach2); | ||
var _filter = require('lodash/collection/filter'); | ||
var _filter2 = require('lodash/collection/filter'); | ||
var _filter2 = _interopRequireDefault(_filter); | ||
var _filter3 = _interopRequireDefault(_filter2); | ||
@@ -32,7 +32,7 @@ var _iterateJsdoc = require('./../iterateJsdoc'); | ||
jsdocTags = (0, _filter2.default)(jsdoc.tags, { | ||
jsdocTags = (0, _filter3.default)(jsdoc.tags, { | ||
tag: targetTagName | ||
}); | ||
(0, _forEach2.default)(jsdocTags, function (jsdocTag) { | ||
(0, _forEach3.default)(jsdocTags, function (jsdocTag) { | ||
if (!jsdocTag.description) { | ||
@@ -39,0 +39,0 @@ report('Missing JSDoc @' + targetTagName + ' description.'); |
@@ -7,9 +7,9 @@ 'use strict'; | ||
var _forEach = require('lodash/collection/forEach'); | ||
var _forEach2 = require('lodash/collection/forEach'); | ||
var _forEach2 = _interopRequireDefault(_forEach); | ||
var _forEach3 = _interopRequireDefault(_forEach2); | ||
var _filter = require('lodash/collection/filter'); | ||
var _filter2 = require('lodash/collection/filter'); | ||
var _filter2 = _interopRequireDefault(_filter); | ||
var _filter3 = _interopRequireDefault(_filter2); | ||
@@ -32,7 +32,7 @@ var _iterateJsdoc = require('./../iterateJsdoc'); | ||
jsdocTags = (0, _filter2.default)(jsdoc.tags, { | ||
jsdocTags = (0, _filter3.default)(jsdoc.tags, { | ||
tag: targetTagName | ||
}); | ||
(0, _forEach2.default)(jsdocTags, function (jsdocTag) { | ||
(0, _forEach3.default)(jsdocTags, function (jsdocTag) { | ||
if (!jsdocTag.type) { | ||
@@ -39,0 +39,0 @@ report('Missing JSDoc @' + targetTagName + ' type.'); |
{ | ||
"name": "eslint-plugin-jsdoc", | ||
"description": "JSDoc linting rules for ESLint.", | ||
"version": "2.2.1", | ||
"version": "2.2.2", | ||
"main": "./dist/index.js", | ||
@@ -48,4 +48,4 @@ "repository": { | ||
"mocha": "^2.3.4", | ||
"pragmatist": "^2.3.13" | ||
"pragmatist": "^2.3.67" | ||
} | ||
} |
@@ -228,5 +228,30 @@ <h1 id="eslint-plugin-jsdoc">eslint-plugin-jsdoc</h1> | ||
} | ||
/** | ||
* @param foo | ||
*/ | ||
function quux ({a, b}) { | ||
} | ||
``` | ||
<h4 id="eslint-plugin-jsdoc-rules-check-param-names-deconstructing-function-parameter">Deconstructing Function Parameter</h4> | ||
`eslint-plugin-jsdoc` does not validate names of parameters in function deconstruction, e.g. | ||
```js | ||
/** | ||
* @param foo | ||
*/ | ||
function quux ({ | ||
a, | ||
b | ||
}) { | ||
} | ||
``` | ||
`{a, b}` is an [`ObjectType`](https://github.com/estree/estree/blob/master/es6.md#objectpattern) AST type and does not have a name. Therefore, the associated parameter in JSDoc block can have any name. | ||
<h3 id="eslint-plugin-jsdoc-rules-check-tag-names"><code>check-tag-names</code></h3> | ||
@@ -601,2 +626,9 @@ | ||
} | ||
/** | ||
* @returns Foo bar. | ||
*/ | ||
function quux () { | ||
} | ||
``` | ||
@@ -603,0 +635,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
87865
784
918