Skip to content

Commit b4497fe

Browse files
Exterskybrettz9
authored andcommitted
Change public functions option name
* Change property name from publicFunctionsOnly to publicOnly * The option was changed earlier to also check class declarations
1 parent 287232b commit b4497fe

File tree

4 files changed

+109
-67
lines changed

4 files changed

+109
-67
lines changed

.README/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ Finally, enable all of the rules that you would like to use.
120120

121121
### Requiring JSDoc comments for exported functions in <code>require-jsdoc</code>
122122

123-
- `settings.jsdoc.publicFunctionsOnly` - Missing jsdoc blocks
124-
are only reported for function bodies that are exported from the module.
123+
- `settings.jsdoc.publicOnly` - Missing jsdoc blocks
124+
are only reported for function bodies / class declarations that are exported from the module.
125125
May be a boolean or object.
126126

127127
This setting object supports the following keys:

README.md

Lines changed: 73 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,8 @@ Finally, enable all of the rules that you would like to use.
171171
<a name="eslint-plugin-jsdoc-settings-requiring-jsdoc-comments-for-exported-functions-in-code-require-jsdoc-code"></a>
172172
### Requiring JSDoc comments for exported functions in <code>require-jsdoc</code>
173173

174-
- `settings.jsdoc.publicFunctionsOnly` - Missing jsdoc blocks
175-
are only reported for function bodies that are exported from the module.
174+
- `settings.jsdoc.publicOnly` - Missing jsdoc blocks
175+
are only reported for function bodies / class declarations that are exported from the module.
176176
May be a boolean or object.
177177

178178
This setting object supports the following keys:
@@ -3539,7 +3539,7 @@ function foo () {
35393539
module.exports = function quux () {
35403540

35413541
}
3542-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3542+
// Settings: {"jsdoc":{"publicOnly":true}}
35433543
// Options: [{"require":{"FunctionExpression":true}}]
35443544
// Message: Missing JSDoc comment.
35453545

@@ -3548,7 +3548,7 @@ module.exports = {
35483548

35493549
}
35503550
}
3551-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3551+
// Settings: {"jsdoc":{"publicOnly":true}}
35523552
// Options: [{"require":{"FunctionExpression":true}}]
35533553
// Message: Missing JSDoc comment.
35543554

@@ -3559,14 +3559,14 @@ module.exports = {
35593559
}
35603560
}
35613561
}
3562-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3562+
// Settings: {"jsdoc":{"publicOnly":true}}
35633563
// Options: [{"require":{"FunctionExpression":true}}]
35643564
// Message: Missing JSDoc comment.
35653565

35663566
const test = module.exports = function () {
35673567

35683568
}
3569-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3569+
// Settings: {"jsdoc":{"publicOnly":true}}
35703570
// Options: [{"require":{"FunctionExpression":true}}]
35713571
// Message: Missing JSDoc comment.
35723572

@@ -3578,7 +3578,7 @@ const test = module.exports = function () {
35783578
}
35793579

35803580
test.prototype.method = function() {}
3581-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3581+
// Settings: {"jsdoc":{"publicOnly":true}}
35823582
// Options: [{"require":{"FunctionExpression":true}}]
35833583
// Message: Missing JSDoc comment.
35843584

@@ -3588,7 +3588,7 @@ const test = function () {
35883588
module.exports = {
35893589
test: test
35903590
}
3591-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3591+
// Settings: {"jsdoc":{"publicOnly":true}}
35923592
// Options: [{"require":{"FunctionExpression":true}}]
35933593
// Message: Missing JSDoc comment.
35943594

@@ -3598,7 +3598,7 @@ const test = () => {
35983598
module.exports = {
35993599
test: test
36003600
}
3601-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3601+
// Settings: {"jsdoc":{"publicOnly":true}}
36023602
// Options: [{"require":{"ArrowFunctionExpression":true}}]
36033603
// Message: Missing JSDoc comment.
36043604

@@ -3608,29 +3608,29 @@ class Test {
36083608
}
36093609
}
36103610
module.exports = Test;
3611-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3611+
// Settings: {"jsdoc":{"publicOnly":true}}
36123612
// Options: [{"require":{"MethodDefinition":true}}]
36133613
// Message: Missing JSDoc comment.
36143614

36153615
export default function quux () {
36163616

36173617
}
3618-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3618+
// Settings: {"jsdoc":{"publicOnly":true}}
36193619
// Options: [{"require":{"FunctionExpression":true}}]
36203620
// Message: Missing JSDoc comment.
36213621

36223622
function quux () {
36233623

36243624
}
36253625
export default quux;
3626-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3626+
// Settings: {"jsdoc":{"publicOnly":true}}
36273627
// Options: [{"require":{"FunctionExpression":true}}]
36283628
// Message: Missing JSDoc comment.
36293629

36303630
export function test() {
36313631

36323632
}
3633-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3633+
// Settings: {"jsdoc":{"publicOnly":true}}
36343634
// Options: [{"require":{"FunctionExpression":true}}]
36353635
// Message: Missing JSDoc comment.
36363636

@@ -3639,22 +3639,22 @@ var test = function () {
36393639
}
36403640
var test2 = 2;
36413641
export { test, test2 }
3642-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3642+
// Settings: {"jsdoc":{"publicOnly":true}}
36433643
// Options: [{"require":{"FunctionExpression":true}}]
36443644
// Message: Missing JSDoc comment.
36453645

36463646
var test = function () {
36473647

36483648
}
36493649
export { test as test2 }
3650-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3650+
// Settings: {"jsdoc":{"publicOnly":true}}
36513651
// Options: [{"require":{"FunctionExpression":true}}]
36523652
// Message: Missing JSDoc comment.
36533653

36543654
export default class A {
36553655

36563656
}
3657-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3657+
// Settings: {"jsdoc":{"publicOnly":true}}
36583658
// Options: [{"require":{"ClassDeclaration":true}}]
36593659
// Message: Missing JSDoc comment.
36603660
````
@@ -3873,7 +3873,7 @@ const test = {};
38733873
module.exports = {
38743874
prop: { prop2: test.method }
38753875
}
3876-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3876+
// Settings: {"jsdoc":{"publicOnly":true}}
38773877
// Options: [{"require":{"FunctionExpression":true}}]
38783878

38793879
/**
@@ -3886,7 +3886,7 @@ function test() {
38863886
module.exports = {
38873887
prop: { prop2: test }
38883888
}
3889-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3889+
// Settings: {"jsdoc":{"publicOnly":true}}
38903890
// Options: [{"require":{"FunctionExpression":true}}]
38913891

38923892
/**
@@ -3899,7 +3899,7 @@ test = function() {
38993899
module.exports = {
39003900
prop: { prop2: test }
39013901
}
3902-
// Settings: {"jsdoc":{"publicFunctionsOnly":{"browserEnv":false,"modules":true}}}
3902+
// Settings: {"jsdoc":{"publicOnly":{"browserEnv":false,"modules":true}}}
39033903
// Options: [{"require":{"FunctionExpression":true}}]
39043904

39053905
/**
@@ -3912,7 +3912,7 @@ test = function() {
39123912
exports.someMethod = {
39133913
prop: { prop2: test }
39143914
}
3915-
// Settings: {"jsdoc":{"publicFunctionsOnly":{"browserEnv":false,"exports":true}}}
3915+
// Settings: {"jsdoc":{"publicOnly":{"browserEnv":false,"exports":true}}}
39163916
// Options: [{"require":{"FunctionExpression":true}}]
39173917

39183918
/**
@@ -3925,7 +3925,7 @@ const test = () => {
39253925
module.exports = {
39263926
prop: { prop2: test }
39273927
}
3928-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3928+
// Settings: {"jsdoc":{"publicOnly":true}}
39293929
// Options: [{"require":{"ArrowFunctionExpression":true}}]
39303930

39313931
/**
@@ -3938,7 +3938,7 @@ window.test = function() {
39383938
module.exports = {
39393939
prop: window
39403940
}
3941-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3941+
// Settings: {"jsdoc":{"publicOnly":true}}
39423942
// Options: [{"require":{"FunctionExpression":true}}]
39433943

39443944
test = function() {
@@ -3955,7 +3955,7 @@ test = function() {
39553955
module.exports = {
39563956
prop: { prop2: test }
39573957
}
3958-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3958+
// Settings: {"jsdoc":{"publicOnly":true}}
39593959
// Options: [{"require":{"FunctionExpression":true}}]
39603960

39613961
test = function() {
@@ -3967,7 +3967,7 @@ test = 2;
39673967
module.exports = {
39683968
prop: { prop2: test }
39693969
}
3970-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3970+
// Settings: {"jsdoc":{"publicOnly":true}}
39713971
// Options: [{"require":{"FunctionExpression":true}}]
39723972

39733973
/**
@@ -3987,7 +3987,7 @@ test.prototype.method = function() {
39873987
module.exports = {
39883988
prop: { prop2: test }
39893989
}
3990-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
3990+
// Settings: {"jsdoc":{"publicOnly":true}}
39913991
// Options: [{"require":{"FunctionExpression":true}}]
39923992

39933993
class Test {
@@ -3999,7 +3999,7 @@ class Test {
39993999
}
40004000
}
40014001
module.exports = Test;
4002-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
4002+
// Settings: {"jsdoc":{"publicOnly":true}}
40034003
// Options: [{"require":{"MethodDefinition":true}}]
40044004

40054005
/**
@@ -4008,7 +4008,7 @@ module.exports = Test;
40084008
export default function quux () {
40094009

40104010
}
4011-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
4011+
// Settings: {"jsdoc":{"publicOnly":true}}
40124012
// Options: [{"require":{"FunctionExpression":true}}]
40134013

40144014
/**
@@ -4018,7 +4018,7 @@ function quux () {
40184018

40194019
}
40204020
export default quux;
4021-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
4021+
// Settings: {"jsdoc":{"publicOnly":true}}
40224022
// Options: [{"require":{"FunctionExpression":true}}]
40234023

40244024
/**
@@ -4027,7 +4027,7 @@ export default quux;
40274027
export function test() {
40284028

40294029
}
4030-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
4030+
// Settings: {"jsdoc":{"publicOnly":true}}
40314031
// Options: [{"require":{"FunctionExpression":true}}]
40324032

40334033
/**
@@ -4038,7 +4038,7 @@ var test = function () {
40384038
}
40394039
var test2 = 2;
40404040
export { test, test2 }
4041-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
4041+
// Settings: {"jsdoc":{"publicOnly":true}}
40424042
// Options: [{"require":{"FunctionExpression":true}}]
40434043

40444044
/**
@@ -4048,7 +4048,7 @@ var test = function () {
40484048

40494049
}
40504050
export { test as test2 }
4051-
// Settings: {"jsdoc":{"publicFunctionsOnly":true}}
4051+
// Settings: {"jsdoc":{"publicOnly":true}}
40524052
// Options: [{"require":{"FunctionExpression":true}}]
40534053
````
40544054

@@ -4230,6 +4230,7 @@ The following patterns are considered problems:
42304230
function quux (foo) {
42314231

42324232
}
4233+
// Settings: {"jsdoc":{"allowOverrideWithoutParam":false}}
42334234
// Message: Missing JSDoc @param "foo" declaration.
42344235

42354236
/**
@@ -4255,6 +4256,7 @@ function quux (foo, bar) {
42554256
function quux (foo) {
42564257

42574258
}
4259+
// Settings: {"jsdoc":{"allowImplementsWithoutParam":false}}
42584260
// Message: Missing JSDoc @param "foo" declaration.
42594261

42604262
/**
@@ -4292,6 +4294,7 @@ class A {
42924294

42934295
}
42944296
}
4297+
// Settings: {"jsdoc":{"allowOverrideWithoutParam":false}}
42954298
// Message: Missing JSDoc @param "foo" declaration.
42964299

42974300
/**
@@ -4305,6 +4308,7 @@ class A {
43054308

43064309
}
43074310
}
4311+
// Settings: {"jsdoc":{"allowImplementsWithoutParam":false}}
43084312
// Message: Missing JSDoc @param "foo" declaration.
43094313

43104314
/**
@@ -4372,9 +4376,47 @@ function quux (foo) {
43724376
*/
43734377
function quux (foo) {
43744378

4379+
}
4380+
4381+
/**
4382+
* @override
4383+
*/
4384+
class A {
4385+
/**
4386+
*
4387+
*/
4388+
quux (foo) {
4389+
4390+
}
4391+
}
4392+
4393+
/**
4394+
* @override
4395+
*/
4396+
function quux (foo) {
4397+
43754398
}
43764399
// Settings: {"jsdoc":{"allowOverrideWithoutParam":true}}
43774400

4401+
/**
4402+
* @implements
4403+
*/
4404+
class A {
4405+
/**
4406+
*
4407+
*/
4408+
quux (foo) {
4409+
4410+
}
4411+
}
4412+
4413+
/**
4414+
* @implements
4415+
*/
4416+
function quux (foo) {
4417+
4418+
}
4419+
43784420
/**
43794421
* @implements
43804422
*/

src/rules/requireJsdoc.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,12 @@ export default iterateJsdoc(null, {
100100
}
101101
}
102102

103-
const publicFunctionsOnly = _.get(context, 'settings.jsdoc.publicFunctionsOnly');
104-
if (publicFunctionsOnly) {
103+
const publicOnly = _.get(context, 'settings.jsdoc.publicOnly');
104+
if (publicOnly) {
105105
const opt = {
106-
exports: Boolean(_.get(publicFunctionsOnly, 'exports', true)),
107-
initModuleExports: Boolean(_.get(publicFunctionsOnly, 'modules', true)),
108-
initWindow: Boolean(_.get(publicFunctionsOnly, 'browserEnv', false))
106+
exports: Boolean(_.get(publicOnly, 'exports', true)),
107+
initModuleExports: Boolean(_.get(publicOnly, 'modules', true)),
108+
initWindow: Boolean(_.get(publicOnly, 'browserEnv', false))
109109
};
110110
const parseResult = exportParser.parse(sourceCode.ast, opt);
111111
const exported = exportParser.isExported(node, parseResult, opt);

0 commit comments

Comments
 (0)