Skip to content

Commit 0418908

Browse files
committed
Fixed linting issues.
1 parent c12fb0f commit 0418908

14 files changed

+66
-140
lines changed

src/iterateJsdoc.js

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,8 @@ import _ from 'lodash';
22
import commentParser from 'comment-parser';
33
import jsdocUtils from './jsdocUtils';
44

5-
let curryUtils;
6-
7-
curryUtils = (functionNode, jsdoc, tagNamePreference) => {
8-
let utils;
9-
10-
utils = {};
5+
const curryUtils = (functionNode, jsdoc, tagNamePreference) => {
6+
const utils = {};
117

128
utils.getFunctionParameterNames = () => {
139
return jsdocUtils.getFunctionParameterNames(functionNode);
@@ -34,27 +30,17 @@ curryUtils = (functionNode, jsdoc, tagNamePreference) => {
3430

3531
export default (iterator) => {
3632
return (context) => {
37-
let checkJsdoc,
38-
sourceCode,
39-
tagNamePreference;
40-
41-
sourceCode = context.getSourceCode();
42-
43-
tagNamePreference = _.get(context, 'settings.jsdoc.tagNamePreference') || {};
44-
45-
checkJsdoc = (functionNode) => {
46-
let jsdoc,
47-
jsdocNode,
48-
report,
49-
utils;
33+
const sourceCode = context.getSourceCode();
34+
const tagNamePreference = _.get(context, 'settings.jsdoc.tagNamePreference') || {};
5035

51-
jsdocNode = sourceCode.getJSDocComment(functionNode);
36+
const checkJsdoc = (functionNode) => {
37+
const jsdocNode = sourceCode.getJSDocComment(functionNode);
5238

5339
if (!jsdocNode) {
5440
return;
5541
}
5642

57-
jsdoc = commentParser('/*' + jsdocNode.value + '*/', {
43+
const jsdoc = commentParser('/*' + jsdocNode.value + '*/', {
5844
// @see https://github.com/yavorskiy/comment-parser/issues/21
5945
parsers: [
6046
commentParser.PARSERS.parse_tag,
@@ -69,11 +55,11 @@ export default (iterator) => {
6955
]
7056
})[0] || {};
7157

72-
report = (message) => {
58+
const report = (message) => {
7359
context.report(jsdocNode, message);
7460
};
7561

76-
utils = curryUtils(functionNode, jsdoc, tagNamePreference);
62+
const utils = curryUtils(functionNode, jsdoc, tagNamePreference);
7763

7864
iterator({
7965
context,

src/jsdocUtils.js

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
11
import _ from 'lodash';
22
import tagNames from './tagNames';
33

4-
let getFunctionParameterNames,
5-
getJsdocParameterNames,
6-
getJsdocParameterNamesDeep,
7-
getPreferredTagName,
8-
isValidTag;
9-
10-
getFunctionParameterNames = (functionNode : Object) : Array<string> => {
4+
const getFunctionParameterNames = (functionNode : Object) : Array<string> => {
115
return _.map(functionNode.params, (param) => {
126
if (_.has(param, 'name')) {
137
return param.name;
@@ -28,7 +22,7 @@ getFunctionParameterNames = (functionNode : Object) : Array<string> => {
2822
/**
2923
* Gets all parameter names, including those that refer to a path, e.g. "@param foo; @param foo.bar".
3024
*/
31-
getJsdocParameterNamesDeep = (jsdoc : Object, targetTagName : string) : Array<string> => {
25+
const getJsdocParameterNamesDeep = (jsdoc : Object, targetTagName : string) : Array<string> => {
3226
let jsdocParameterNames;
3327

3428
jsdocParameterNames = _.filter(jsdoc.tags, {
@@ -40,7 +34,7 @@ getJsdocParameterNamesDeep = (jsdoc : Object, targetTagName : string) : Array<st
4034
return jsdocParameterNames;
4135
};
4236

43-
getJsdocParameterNames = (jsdoc : Object, targetTagName : string) : Array<string> => {
37+
const getJsdocParameterNames = (jsdoc : Object, targetTagName : string) : Array<string> => {
4438
let jsdocParameterNames;
4539

4640
jsdocParameterNames = getJsdocParameterNamesDeep(jsdoc, targetTagName);
@@ -52,14 +46,12 @@ getJsdocParameterNames = (jsdoc : Object, targetTagName : string) : Array<string
5246
return jsdocParameterNames;
5347
};
5448

55-
getPreferredTagName = (name : string, tagPreference : Object = {}) : string => {
56-
let preferredTagName;
57-
49+
const getPreferredTagName = (name : string, tagPreference : Object = {}) : string => {
5850
if (_.includes(_.values(tagPreference), name)) {
5951
return name;
6052
}
6153

62-
preferredTagName = _.findKey(tagNames, (aliases) => {
54+
const preferredTagName = _.findKey(tagNames, (aliases) => {
6355
return _.includes(aliases, name);
6456
});
6557

@@ -70,10 +62,8 @@ getPreferredTagName = (name : string, tagPreference : Object = {}) : string => {
7062
return _.has(tagPreference, name) ? tagPreference[name] : name;
7163
};
7264

73-
isValidTag = (name : string) : boolean => {
74-
let validTagNames;
75-
76-
validTagNames = _.keys(tagNames).concat(_.flatten(_.values(tagNames)));
65+
const isValidTag = (name : string) : boolean => {
66+
const validTagNames = _.keys(tagNames).concat(_.flatten(_.values(tagNames)));
7767

7868
return _.includes(validTagNames, name);
7969
};

src/rules/checkParamNames.js

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
11
import _ from 'lodash';
22
import iterateJsdoc from './../iterateJsdoc';
33

4-
let validateParameterNames,
5-
validateParameterNamesDeep;
6-
7-
validateParameterNames = (targetTagName : string, functionParameterNames : Array<string>, jsdocParameterNames : Array<string>, report : Function) => {
4+
const validateParameterNames = (targetTagName : string, functionParameterNames : Array<string>, jsdocParameterNames : Array<string>, report : Function) => {
85
return _.some(jsdocParameterNames, (jsdocParameterName, index) => {
9-
let functionParameterName;
10-
11-
functionParameterName = functionParameterNames[index];
6+
const functionParameterName = functionParameterNames[index];
127

138
if (!functionParameterName) {
149
report('@' + targetTagName + ' "' + jsdocParameterName + '" does not match an existing function parameter.');
@@ -25,27 +20,25 @@ validateParameterNames = (targetTagName : string, functionParameterNames : Array
2520

2621
return true;
2722
}
23+
24+
return false;
2825
});
2926
};
3027

31-
validateParameterNamesDeep = (targetTagName : string, jsdocParameterNames : Array<string>, report : Function) => {
28+
const validateParameterNamesDeep = (targetTagName : string, jsdocParameterNames : Array<string>, report : Function) => {
3229
let lastRealParameter;
3330

3431
return _.some(jsdocParameterNames, (jsdocParameterName) => {
35-
let isPropertyPath;
36-
37-
isPropertyPath = _.includes(jsdocParameterName, '.');
32+
const isPropertyPath = _.includes(jsdocParameterName, '.');
3833

3934
if (isPropertyPath) {
40-
let pathRootNodeName;
41-
4235
if (!lastRealParameter) {
4336
report('@' + targetTagName + ' path declaration ("' + jsdocParameterName + '") appears before any real parameter.');
4437

4538
return true;
4639
}
4740

48-
pathRootNodeName = jsdocParameterName.slice(0, jsdocParameterName.indexOf('.'));
41+
const pathRootNodeName = jsdocParameterName.slice(0, jsdocParameterName.indexOf('.'));
4942

5043
if (pathRootNodeName !== lastRealParameter) {
5144
report('@' + targetTagName + ' path declaration ("' + jsdocParameterName + '") root node name ("' + pathRootNodeName + '") does not match previous real parameter name ("' + lastRealParameter + '").');
@@ -55,25 +48,20 @@ validateParameterNamesDeep = (targetTagName : string, jsdocParameterNames : Arra
5548
} else {
5649
lastRealParameter = jsdocParameterName;
5750
}
51+
52+
return false;
5853
});
5954
};
6055

6156
export default iterateJsdoc(({
6257
report,
6358
utils
6459
}) => {
65-
let functionParameterNames,
66-
isError,
67-
jsdocParameterNames,
68-
jsdocParameterNamesDeep,
69-
targetTagName;
70-
71-
functionParameterNames = utils.getFunctionParameterNames();
72-
jsdocParameterNames = utils.getJsdocParameterNames();
73-
jsdocParameterNamesDeep = utils.getJsdocParameterNamesDeep();
74-
targetTagName = utils.getPreferredTagName('param');
75-
76-
isError = validateParameterNames(targetTagName, functionParameterNames, jsdocParameterNames, report);
60+
const functionParameterNames = utils.getFunctionParameterNames();
61+
const jsdocParameterNames = utils.getJsdocParameterNames();
62+
const jsdocParameterNamesDeep = utils.getJsdocParameterNamesDeep();
63+
const targetTagName = utils.getPreferredTagName('param');
64+
const isError = validateParameterNames(targetTagName, functionParameterNames, jsdocParameterNames, report);
7765

7866
if (isError) {
7967
return;

src/rules/checkTagNames.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@ export default iterateJsdoc(({
88
}) => {
99
_.forEach(jsdoc.tags, (jsdocTag) => {
1010
if (utils.isValidTag(jsdocTag.tag)) {
11-
let preferredTagName;
12-
13-
preferredTagName = utils.getPreferredTagName(jsdocTag.tag);
11+
const preferredTagName = utils.getPreferredTagName(jsdocTag.tag);
1412

1513
if (preferredTagName !== jsdocTag.tag) {
1614
report('Invalid JSDoc tag (preference). Replace "' + jsdocTag.tag + '" JSDoc tag with "' + preferredTagName + '".');

src/rules/checkTypes.js

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
import _ from 'lodash';
22
import iterateJsdoc from './../iterateJsdoc';
33

4-
let strictNativeTypes,
5-
targetTagAliases,
6-
targetTags;
7-
8-
targetTags = [
4+
let targetTags = [
95
'class',
106
'constant',
117
'enum',
@@ -20,7 +16,7 @@ targetTags = [
2016
'typedef'
2117
];
2218

23-
targetTagAliases = [
19+
const targetTagAliases = [
2420
'constructor',
2521
'const',
2622
'var',
@@ -33,7 +29,7 @@ targetTagAliases = [
3329

3430
targetTags = targetTags.concat(targetTagAliases);
3531

36-
strictNativeTypes = [
32+
const strictNativeTypes = [
3733
'boolean',
3834
'number',
3935
'string',
@@ -48,9 +44,7 @@ export default iterateJsdoc(({
4844
jsdoc,
4945
report
5046
}) => {
51-
let jsdocTags;
52-
53-
jsdocTags = _.filter(jsdoc.tags, (tag) => {
47+
const jsdocTags = _.filter(jsdoc.tags, (tag) => {
5448
return _.includes(targetTags, tag.tag);
5549
});
5650

src/rules/newlineAfterDescription.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ export default iterateJsdoc(({
66
report,
77
context
88
}) => {
9-
let always,
10-
descriptionEndsWithANewline;
9+
let always;
1110

1211
if (!jsdoc.description || !jsdoc.tags.length) {
1312
return;
@@ -22,7 +21,7 @@ export default iterateJsdoc(({
2221
// The contents of the jsdoc.source and of jsdoc.description is left trimmed.
2322
// The contents of the jsdoc.description is right trimmed.
2423
// This gets the text following the description.
25-
descriptionEndsWithANewline = _.startsWith(jsdoc.source.slice(jsdoc.description.length), '\n\n');
24+
const descriptionEndsWithANewline = _.startsWith(jsdoc.source.slice(jsdoc.description.length), '\n\n');
2625

2726
if (always) {
2827
if (!descriptionEndsWithANewline) {

src/rules/requireDescriptionCompleteSentence.js

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,32 @@
11
import _ from 'lodash';
22
import iterateJsdoc from './../iterateJsdoc';
33

4-
let extractParagraphs,
5-
isNewLinePrecededByAPeriod,
6-
validateDescription;
7-
8-
extractParagraphs = (text) => {
4+
const extractParagraphs = (text) => {
95
return text.split(/\n\n/);
106
};
117

12-
isNewLinePrecededByAPeriod = (text) => {
13-
let lastLineEndsSentence,
14-
lines;
8+
const isNewLinePrecededByAPeriod = (text) => {
9+
let lastLineEndsSentence;
1510

16-
lines = text.split('\n');
11+
const lines = text.split('\n');
1712

1813
return !_.some(lines, (line) => {
1914
if (_.isBoolean(lastLineEndsSentence) && !lastLineEndsSentence && /^[A-Z]/.test(line)) {
2015
return true;
2116
}
2217

2318
lastLineEndsSentence = /\.$/.test(line);
19+
20+
return false;
2421
});
2522
};
2623

27-
validateDescription = (description, report) => {
28-
let paragraphs;
29-
24+
const validateDescription = (description, report) => {
3025
if (!description) {
3126
return false;
3227
}
3328

34-
paragraphs = extractParagraphs(description);
29+
const paragraphs = extractParagraphs(description);
3530

3631
return _.some(paragraphs, (paragraph, index) => {
3732
if (!/^[A-Z]/.test(paragraph)) {
@@ -55,27 +50,25 @@ validateDescription = (description, report) => {
5550

5651
return true;
5752
}
53+
54+
return false;
5855
});
5956
};
6057

6158
export default iterateJsdoc(({
6259
jsdoc,
6360
report
6461
}) => {
65-
let tags;
66-
6762
if (validateDescription(jsdoc.description, report)) {
6863
return;
6964
}
7065

71-
tags = _.filter(jsdoc.tags, (tag) => {
66+
const tags = _.filter(jsdoc.tags, (tag) => {
7267
return _.includes(['param', 'returns'], tag.tag);
7368
});
7469

7570
_.some(tags, (tag) => {
76-
let description;
77-
78-
description = _.trimStart(tag.description, '- ');
71+
const description = _.trimStart(tag.description, '- ');
7972

8073
return validateDescription(description, report);
8174
});

src/rules/requireHyphenBeforeDescription.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ export default iterateJsdoc(({
55
jsdoc,
66
report
77
}) => {
8-
let jsdocTags;
9-
10-
jsdocTags = _.filter(jsdoc.tags, {
8+
const jsdocTags = _.filter(jsdoc.tags, {
119
tag: 'param'
1210
});
1311

src/rules/requireParam.js

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,18 @@ export default iterateJsdoc(({
55
report,
66
utils
77
}) => {
8-
let functionParameterNames,
9-
jsdocParameterNames;
10-
11-
functionParameterNames = utils.getFunctionParameterNames();
12-
jsdocParameterNames = utils.getJsdocParameterNames();
8+
const functionParameterNames = utils.getFunctionParameterNames();
9+
const jsdocParameterNames = utils.getJsdocParameterNames();
1310

1411
_.some(functionParameterNames, (functionParameterName, index) => {
15-
let jsdocParameterName;
16-
17-
jsdocParameterName = jsdocParameterNames[index];
12+
const jsdocParameterName = jsdocParameterNames[index];
1813

1914
if (!jsdocParameterName) {
2015
report('Missing JSDoc @' + utils.getPreferredTagName('param') + ' "' + functionParameterName + '" declaration.');
2116

2217
return true;
2318
}
19+
20+
return false;
2421
});
2522
});

0 commit comments

Comments
 (0)