Files
Jack Franklin fd72c071cc Enforce alignment of JSDoc comments
This CL adds the eslint-plugin-jsdoc plugin and enables just one rule,
`jsdoc/check-alignment`, which ensures that all the lines in a comment
are correctly aligned. For example:

```
/**
* foo
 * bar
*/
```

Would fail the check and be corrected to:

```
/**
 * foo
 * bar
 */
```

DISABLE_THIRD_PARTY_CHECK=deliberate install + use of
eslint-plugin-jsdoc node_module

Bug: none
Change-Id: I969983cd550653654a334ede3409b8c850467245
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4110906
Commit-Queue: Andres Olivares <andoli@chromium.org>
Reviewed-by: Andres Olivares <andoli@chromium.org>
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2022-12-21 12:30:47 +00:00

50 lines
1.2 KiB
JavaScript

const { parse, inspect } = require('../../lib/index.cjs');
const source = `
/**
* Typedef with multi-line property type.
*
* @typedef {object} MyType
* @property {function(
* number,
* {x:string}
* )} numberEater Method
* which takes a number.
*/`;
test('default', () => {
const parsed = parse(source);
// console.log(inspect(parsed[0]));
expect(parsed[0].tags[1]).toMatchObject({
tag: 'property',
type: 'function(number,{x:string})',
name: 'numberEater',
description: 'Method which takes a number.',
problems: [],
});
});
test('preserve', () => {
const parsed = parse(source, { spacing: 'preserve' });
// console.log(inspect(parsed[0]));
expect(parsed[0].tags[1]).toMatchObject({
tag: 'property',
type: 'function(\n number,\n {x:string}\n)',
name: 'numberEater',
description: 'Method\n which takes a number.',
problems: [],
});
});
test('compact', () => {
const parsed = parse(source, { spacing: 'compact' });
// console.log(inspect(parsed[0]));
expect(parsed[0].tags[1]).toMatchObject({
tag: 'property',
type: 'function(number,{x:string})',
name: 'numberEater',
description: 'Method which takes a number.',
problems: [],
});
});