Socket
Socket
Sign inDemoInstall

eslint-plugin-jsdoc

Package Overview
Dependencies
Maintainers
1
Versions
656
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-jsdoc - npm Package Compare versions

Comparing version 2.2.1 to 2.2.2

12

dist/iterateJsdoc.js

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc