Skip to content

Commit e08d889

Browse files
committed
fix: while a fix provided for decorator detection and useful for inserting empty jsdoc blocks when fixers are enabled, it appears to have a 25% or so degradation in performance when tested with a large repository, so reverting.
Revert "fix: bug with false positive decorator detection (evident sans semi-colons); e.g., `require-jsdoc` fixer" This reverts commit 6bda6b4.
1 parent 0fc4663 commit e08d889

3 files changed

Lines changed: 10 additions & 33 deletions

File tree

README.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9942,12 +9942,6 @@ Defaults to `true`.
99429942
The following patterns are considered problems:
99439943
99449944
````js
9945-
requestAnimationFrame(draw)
9946-
9947-
function bench() {
9948-
}
9949-
// Message: Missing JSDoc comment.
9950-
99519945
function quux (foo) {
99529946
99539947
}

src/eslint/getJSDocComment.js

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ const getDecorator = (token, sourceCode) => {
3232
if (tokenBefore && tokenBefore.type === 'Punctuator') {
3333
if (tokenBefore.value === tokenClose) {
3434
nested++;
35-
} else if (tokenBefore.value === tokenOpen) {
35+
}
36+
if (tokenBefore.value === tokenOpen) {
3637
if (nested) {
3738
nested--;
3839
} else {
@@ -42,16 +43,18 @@ const getDecorator = (token, sourceCode) => {
4243
}
4344
} while (tokenBefore);
4445

45-
return getDecorator(tokenBefore, sourceCode);
46-
}
47-
if (token.value === '@') {
48-
return token;
46+
return tokenBefore;
4947
}
5048
}
5149

52-
const tokenBfr = sourceCode.getTokenBefore(token, {includeComments: true});
50+
if (token.type === 'Identifier') {
51+
const tokenBefore = sourceCode.getTokenBefore(token, {includeComments: true});
52+
if (tokenBefore && tokenBefore.type === 'Punctuator' && tokenBefore.value === '@') {
53+
return tokenBefore;
54+
}
55+
}
5356

54-
return getDecorator(tokenBfr, sourceCode);
57+
return false;
5558
};
5659

5760
/**

test/rules/assertions/requireJsdoc.js

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,6 @@ export default {
66
invalid: [
77
{
88
code: `
9-
requestAnimationFrame(draw)
10-
11-
function bench() {
12-
}
13-
`,
14-
errors: [{
15-
message: 'Missing JSDoc comment.',
16-
}],
17-
output: `
18-
requestAnimationFrame(draw)
19-
20-
/**
21-
*
22-
*/
23-
function bench() {
24-
}
25-
`,
26-
},
27-
{
28-
code: `
299
function quux (foo) {
3010
3111
}`,

0 commit comments

Comments
 (0)