eslint-plugin-jsdoc 37.6.2 → 37.8.0
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/README.md +431 -13
- package/dist/defaultTagOrder.js +26 -0
- package/dist/defaultTagOrder.js.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/iterateJsdoc.js +33 -5
- package/dist/iterateJsdoc.js.map +1 -1
- package/dist/rules/checkTypes.js +11 -3
- package/dist/rules/checkTypes.js.map +1 -1
- package/dist/rules/sortTags.js +165 -0
- package/dist/rules/sortTags.js.map +1 -0
- package/package.json +11 -11
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _defaultTagOrder = _interopRequireDefault(require("../defaultTagOrder"));
|
|
9
|
+
|
|
10
|
+
var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
var _default = (0, _iterateJsdoc.default)(({
|
|
15
|
+
context,
|
|
16
|
+
jsdoc,
|
|
17
|
+
utils
|
|
18
|
+
}) => {
|
|
19
|
+
const {
|
|
20
|
+
tagSequence = _defaultTagOrder.default,
|
|
21
|
+
alphabetizeExtras = false
|
|
22
|
+
} = context.options[0] || {};
|
|
23
|
+
const otherPos = tagSequence.indexOf('-other');
|
|
24
|
+
const endPos = otherPos > -1 ? otherPos : tagSequence.length;
|
|
25
|
+
let ongoingCount = 0;
|
|
26
|
+
|
|
27
|
+
for (const [idx, tag] of jsdoc.tags.entries()) {
|
|
28
|
+
tag.originalIndex = idx;
|
|
29
|
+
ongoingCount += tag.source.length;
|
|
30
|
+
tag.originalLine = ongoingCount;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
let firstChangedTagLine;
|
|
34
|
+
let firstChangedTagIndex;
|
|
35
|
+
const sortedTags = JSON.parse(JSON.stringify(jsdoc.tags));
|
|
36
|
+
sortedTags.sort(({
|
|
37
|
+
tag: tagNew
|
|
38
|
+
}, {
|
|
39
|
+
originalIndex,
|
|
40
|
+
originalLine,
|
|
41
|
+
tag: tagOld
|
|
42
|
+
}) => {
|
|
43
|
+
// Optimize: Just keep relative positions if the same tag name
|
|
44
|
+
if (tagNew === tagOld) {
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const checkOrSetFirstChanged = () => {
|
|
49
|
+
if (!firstChangedTagLine || originalLine < firstChangedTagLine) {
|
|
50
|
+
firstChangedTagLine = originalLine;
|
|
51
|
+
firstChangedTagIndex = originalIndex;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
const newPos = tagSequence.indexOf(tagNew);
|
|
56
|
+
const oldPos = tagSequence.indexOf(tagOld);
|
|
57
|
+
const preferredNewPos = newPos === -1 ? endPos : newPos;
|
|
58
|
+
const preferredOldPos = oldPos === -1 ? endPos : oldPos;
|
|
59
|
+
|
|
60
|
+
if (preferredNewPos < preferredOldPos) {
|
|
61
|
+
checkOrSetFirstChanged();
|
|
62
|
+
return -1;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (preferredNewPos > preferredOldPos) {
|
|
66
|
+
return 1;
|
|
67
|
+
} // preferredNewPos === preferredOldPos
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
if (!alphabetizeExtras || // Optimize: If tagNew (or tagOld which is the same) was found in the
|
|
71
|
+
// priority array, it can maintain its relative position—without need
|
|
72
|
+
// of alphabetizing (secondary sorting)
|
|
73
|
+
newPos >= 0) {
|
|
74
|
+
return 0;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (tagNew < tagOld) {
|
|
78
|
+
checkOrSetFirstChanged();
|
|
79
|
+
return -1;
|
|
80
|
+
} // tagNew > tagOld
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
return 1;
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
if (firstChangedTagLine === undefined) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const firstLine = utils.getFirstLine();
|
|
91
|
+
|
|
92
|
+
const fix = () => {
|
|
93
|
+
const itemsToMoveRange = [...Array.from({
|
|
94
|
+
length: jsdoc.tags.length - firstChangedTagIndex
|
|
95
|
+
}).keys()];
|
|
96
|
+
const unchangedPriorTagDescriptions = jsdoc.tags.slice(0, firstChangedTagIndex).reduce((ct, {
|
|
97
|
+
source
|
|
98
|
+
}) => {
|
|
99
|
+
return ct + source.length - 1;
|
|
100
|
+
}, 0); // This offset includes not only the offset from where the first tag
|
|
101
|
+
// must begin, and the additional offset of where the first changed
|
|
102
|
+
// tag begins, but it must also account for prior descriptions
|
|
103
|
+
|
|
104
|
+
const initialOffset = firstLine + firstChangedTagIndex + // May be the first tag, so don't try finding a prior one if so
|
|
105
|
+
unchangedPriorTagDescriptions; // Use `firstChangedTagLine` for line number to begin reporting/splicing
|
|
106
|
+
|
|
107
|
+
for (const idx of itemsToMoveRange) {
|
|
108
|
+
utils.removeTag(idx + firstChangedTagIndex);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
const changedTags = sortedTags.slice(firstChangedTagIndex);
|
|
112
|
+
let extraTagCount = 0;
|
|
113
|
+
|
|
114
|
+
for (const idx of itemsToMoveRange) {
|
|
115
|
+
const changedTag = changedTags[idx];
|
|
116
|
+
utils.addTag(changedTag.tag, extraTagCount + initialOffset + idx, { ...changedTag.source[0].tokens,
|
|
117
|
+
// `comment-parser` puts the `end` within the `tags` section, so
|
|
118
|
+
// avoid adding another to jsdoc.source
|
|
119
|
+
end: ''
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
for (const {
|
|
123
|
+
tokens
|
|
124
|
+
} of changedTag.source.slice(1)) {
|
|
125
|
+
if (!tokens.end) {
|
|
126
|
+
utils.addLine(extraTagCount + initialOffset + idx + 1, { ...tokens,
|
|
127
|
+
end: ''
|
|
128
|
+
});
|
|
129
|
+
extraTagCount++;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
utils.reportJSDoc(`Tags are not in the prescribed order: ${tagSequence.join(', ')}`, jsdoc.tags[firstChangedTagIndex], fix, true);
|
|
136
|
+
}, {
|
|
137
|
+
iterateAllJsdocs: true,
|
|
138
|
+
meta: {
|
|
139
|
+
docs: {
|
|
140
|
+
description: '',
|
|
141
|
+
url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-sort-tags'
|
|
142
|
+
},
|
|
143
|
+
fixable: 'code',
|
|
144
|
+
schema: [{
|
|
145
|
+
additionalProperies: false,
|
|
146
|
+
properties: {
|
|
147
|
+
alphabetizeExtras: {
|
|
148
|
+
type: 'boolean'
|
|
149
|
+
},
|
|
150
|
+
tagSequence: {
|
|
151
|
+
items: {
|
|
152
|
+
type: 'string'
|
|
153
|
+
},
|
|
154
|
+
type: 'array'
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
type: 'object'
|
|
158
|
+
}],
|
|
159
|
+
type: 'suggestion'
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
exports.default = _default;
|
|
164
|
+
module.exports = exports.default;
|
|
165
|
+
//# sourceMappingURL=sortTags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/rules/sortTags.js"],"names":["context","jsdoc","utils","tagSequence","defaultTagOrder","alphabetizeExtras","options","otherPos","indexOf","endPos","length","ongoingCount","idx","tag","tags","entries","originalIndex","source","originalLine","firstChangedTagLine","firstChangedTagIndex","sortedTags","JSON","parse","stringify","sort","tagNew","tagOld","checkOrSetFirstChanged","newPos","oldPos","preferredNewPos","preferredOldPos","undefined","firstLine","getFirstLine","fix","itemsToMoveRange","Array","from","keys","unchangedPriorTagDescriptions","slice","reduce","ct","initialOffset","removeTag","changedTags","extraTagCount","changedTag","addTag","tokens","end","addLine","reportJSDoc","join","iterateAllJsdocs","meta","docs","description","url","fixable","schema","additionalProperies","properties","type","items"],"mappings":"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","sourcesContent":["import defaultTagOrder from '../defaultTagOrder';\nimport iterateJsdoc from '../iterateJsdoc';\n\nexport default iterateJsdoc(({\n context,\n jsdoc,\n utils,\n}) => {\n const {\n tagSequence = defaultTagOrder,\n alphabetizeExtras = false,\n } = context.options[0] || {};\n\n const otherPos = tagSequence.indexOf('-other');\n const endPos = otherPos > -1 ? otherPos : tagSequence.length;\n\n let ongoingCount = 0;\n for (const [\n idx,\n tag,\n ] of jsdoc.tags.entries()) {\n tag.originalIndex = idx;\n ongoingCount += tag.source.length;\n tag.originalLine = ongoingCount;\n }\n\n let firstChangedTagLine;\n let firstChangedTagIndex;\n const sortedTags = JSON.parse(JSON.stringify(jsdoc.tags));\n sortedTags.sort(({\n tag: tagNew,\n }, {\n originalIndex,\n originalLine,\n tag: tagOld,\n }) => {\n // Optimize: Just keep relative positions if the same tag name\n if (tagNew === tagOld) {\n return 0;\n }\n\n const checkOrSetFirstChanged = () => {\n if (!firstChangedTagLine || originalLine < firstChangedTagLine) {\n firstChangedTagLine = originalLine;\n firstChangedTagIndex = originalIndex;\n }\n };\n\n const newPos = tagSequence.indexOf(tagNew);\n const oldPos = tagSequence.indexOf(tagOld);\n\n const preferredNewPos = newPos === -1 ? endPos : newPos;\n const preferredOldPos = oldPos === -1 ? endPos : oldPos;\n\n if (preferredNewPos < preferredOldPos) {\n checkOrSetFirstChanged();\n return -1;\n }\n\n if (preferredNewPos > preferredOldPos) {\n return 1;\n }\n\n // preferredNewPos === preferredOldPos\n if (\n !alphabetizeExtras ||\n\n // Optimize: If tagNew (or tagOld which is the same) was found in the\n // priority array, it can maintain its relative position—without need\n // of alphabetizing (secondary sorting)\n newPos >= 0\n ) {\n return 0;\n }\n\n if (tagNew < tagOld) {\n checkOrSetFirstChanged();\n return -1;\n }\n\n // tagNew > tagOld\n return 1;\n });\n\n if (firstChangedTagLine === undefined) {\n return;\n }\n\n const firstLine = utils.getFirstLine();\n\n const fix = () => {\n const itemsToMoveRange = [\n ...Array.from({\n length: jsdoc.tags.length - firstChangedTagIndex,\n }).keys(),\n ];\n\n const unchangedPriorTagDescriptions = jsdoc.tags.slice(\n 0,\n firstChangedTagIndex,\n ).reduce((ct, {\n source,\n }) => {\n return ct + source.length - 1;\n }, 0);\n\n // This offset includes not only the offset from where the first tag\n // must begin, and the additional offset of where the first changed\n // tag begins, but it must also account for prior descriptions\n const initialOffset = firstLine + firstChangedTagIndex +\n\n // May be the first tag, so don't try finding a prior one if so\n unchangedPriorTagDescriptions;\n\n // Use `firstChangedTagLine` for line number to begin reporting/splicing\n for (const idx of itemsToMoveRange) {\n utils.removeTag(idx + firstChangedTagIndex);\n }\n\n const changedTags = sortedTags.slice(firstChangedTagIndex);\n let extraTagCount = 0;\n\n for (const idx of itemsToMoveRange) {\n const changedTag = changedTags[idx];\n\n utils.addTag(\n changedTag.tag,\n extraTagCount + initialOffset + idx,\n {\n ...changedTag.source[0].tokens,\n\n // `comment-parser` puts the `end` within the `tags` section, so\n // avoid adding another to jsdoc.source\n end: '',\n },\n );\n\n for (const {\n tokens,\n } of changedTag.source.slice(1)) {\n if (!tokens.end) {\n utils.addLine(\n extraTagCount + initialOffset + idx + 1,\n {\n ...tokens,\n end: '',\n },\n );\n extraTagCount++;\n }\n }\n }\n };\n\n utils.reportJSDoc(\n `Tags are not in the prescribed order: ${tagSequence.join(', ')}`,\n jsdoc.tags[firstChangedTagIndex],\n fix,\n true,\n );\n}, {\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: '',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-sort-tags',\n },\n fixable: 'code',\n schema: [\n {\n additionalProperies: false,\n properties: {\n alphabetizeExtras: {\n type: 'boolean',\n },\n tagSequence: {\n items: {\n type: 'string',\n },\n type: 'array',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"file":"sortTags.js"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"url": "http://gajus.com"
|
|
6
6
|
},
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@es-joy/jsdoccomment": "~0.
|
|
8
|
+
"@es-joy/jsdoccomment": "~0.18.0",
|
|
9
9
|
"comment-parser": "1.3.0",
|
|
10
10
|
"debug": "^4.3.3",
|
|
11
11
|
"escape-string-regexp": "^4.0.0",
|
|
@@ -16,30 +16,30 @@
|
|
|
16
16
|
},
|
|
17
17
|
"description": "JSDoc linting rules for ESLint.",
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@babel/cli": "^7.
|
|
20
|
-
"@babel/core": "^7.
|
|
21
|
-
"@babel/eslint-parser": "^7.
|
|
19
|
+
"@babel/cli": "^7.17.0",
|
|
20
|
+
"@babel/core": "^7.17.0",
|
|
21
|
+
"@babel/eslint-parser": "^7.17.0",
|
|
22
22
|
"@babel/node": "^7.16.8",
|
|
23
23
|
"@babel/plugin-syntax-class-properties": "^7.12.13",
|
|
24
24
|
"@babel/plugin-transform-flow-strip-types": "^7.16.7",
|
|
25
25
|
"@babel/preset-env": "^7.16.11",
|
|
26
|
-
"@babel/register": "^7.
|
|
26
|
+
"@babel/register": "^7.17.0",
|
|
27
27
|
"@hkdobrev/run-if-changed": "^0.3.1",
|
|
28
|
-
"@typescript-eslint/parser": "^5.10.
|
|
28
|
+
"@typescript-eslint/parser": "^5.10.2",
|
|
29
29
|
"babel-plugin-add-module-exports": "^1.0.4",
|
|
30
30
|
"babel-plugin-istanbul": "^6.1.1",
|
|
31
31
|
"camelcase": "^6.3.0",
|
|
32
|
-
"chai": "^4.3.
|
|
32
|
+
"chai": "^4.3.6",
|
|
33
33
|
"cross-env": "^7.0.3",
|
|
34
34
|
"decamelize": "^5.0.1",
|
|
35
|
-
"eslint": "^8.
|
|
35
|
+
"eslint": "^8.8.0",
|
|
36
36
|
"eslint-config-canonical": "^33.0.1",
|
|
37
37
|
"gitdown": "^3.1.4",
|
|
38
38
|
"glob": "^7.2.0",
|
|
39
39
|
"husky": "^7.0.4",
|
|
40
|
-
"lint-staged": "^12.
|
|
40
|
+
"lint-staged": "^12.3.3",
|
|
41
41
|
"lodash.defaultsdeep": "^4.6.1",
|
|
42
|
-
"mocha": "^9.
|
|
42
|
+
"mocha": "^9.2.0",
|
|
43
43
|
"nyc": "^15.1.0",
|
|
44
44
|
"open-editor": "^3.0.0",
|
|
45
45
|
"rimraf": "^3.0.2",
|
|
@@ -107,5 +107,5 @@
|
|
|
107
107
|
"test-index": "cross-env BABEL_ENV=test mocha --recursive --require @babel/register --reporter progress --timeout 12000 test/rules/index.js",
|
|
108
108
|
"test-no-cov": "cross-env BABEL_ENV=test mocha --reporter dot --recursive --require @babel/register --timeout 12000"
|
|
109
109
|
},
|
|
110
|
-
"version": "37.
|
|
110
|
+
"version": "37.8.0"
|
|
111
111
|
}
|