Skip to content

Commit 78b6980

Browse files
authored
feat(type-formatting): add objectTypeBracketSpacing option; fixes #1615 (#1632)
Also: - chore: update jsdoccomment, espree, typescirpt-eslint/types, devDeps
1 parent ed260c5 commit 78b6980

File tree

7 files changed

+390
-180
lines changed

7 files changed

+390
-180
lines changed

.README/rules/type-formatting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Currently offers the following options for formatting types.
1818
|Tags|`param`, `property`, `returns`, `this`, `throws`, `type`, `typedef`, `yields`|
1919
|Recommended|false|
2020
|Settings|`mode`|
21-
|Options|`arrayBrackets`, `arrowFunctionPostReturnMarkerSpacing`, `arrowFunctionPreReturnMarkerSpacing`, `enableFixer`, `functionOrClassParameterSpacing`, `functionOrClassPostGenericSpacing`, `functionOrClassPostReturnMarkerSpacing`, `functionOrClassPreReturnMarkerSpacing`, `functionOrClassTypeParameterSpacing`, `genericAndTupleElementSpacing`, `genericDot`, `keyValuePostColonSpacing`, `keyValuePostKeySpacing`, `keyValuePostOptionalSpacing`, `keyValuePostVariadicSpacing`, `methodQuotes`, `objectFieldIndent`, `objectFieldQuote`, `objectFieldSeparator`, `objectFieldSeparatorOptionalLinebreak`, `objectFieldSeparatorTrailingPunctuation`, `parameterDefaultValueSpacing`, `postMethodNameSpacing`, `postNewSpacing`, `separatorForSingleObjectField`, `stringQuotes`, `typeBracketSpacing`, `unionSpacing`|
21+
|Options|`arrayBrackets`, `arrowFunctionPostReturnMarkerSpacing`, `arrowFunctionPreReturnMarkerSpacing`, `enableFixer`, `functionOrClassParameterSpacing`, `functionOrClassPostGenericSpacing`, `functionOrClassPostReturnMarkerSpacing`, `functionOrClassPreReturnMarkerSpacing`, `functionOrClassTypeParameterSpacing`, `genericAndTupleElementSpacing`, `genericDot`, `keyValuePostColonSpacing`, `keyValuePostKeySpacing`, `keyValuePostOptionalSpacing`, `keyValuePostVariadicSpacing`, `methodQuotes`, `objectFieldIndent`, `objectFieldQuote`, `objectFieldSeparator`, `objectFieldSeparatorOptionalLinebreak`, `objectFieldSeparatorTrailingPunctuation`, `objectTypeBracketSpacing`, `parameterDefaultValueSpacing`, `postMethodNameSpacing`, `postNewSpacing`, `separatorForSingleObjectField`, `stringQuotes`, `typeBracketSpacing`, `unionSpacing`|
2222

2323
## Failing examples
2424

docs/rules/type-formatting.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,12 @@ will determine whether to add punctuation corresponding to the
157157
`objectFieldSeparator` (e.g., a semicolon) to the final object field.
158158
Defaults to `false`.
159159

160+
<a name="user-content-type-formatting-options-objecttypebracketspacing"></a>
161+
<a name="type-formatting-options-objecttypebracketspacing"></a>
162+
### <code>objectTypeBracketSpacing</code>
163+
164+
The space character (if any) to add after an object's initial curly bracket and before its ending curly bracket
165+
160166
<a name="user-content-type-formatting-options-parameterdefaultvaluespacing"></a>
161167
<a name="type-formatting-options-parameterdefaultvaluespacing"></a>
162168
### <code>parameterDefaultValueSpacing</code>
@@ -210,7 +216,7 @@ Determines the spacing to add to unions (`|`). Defaults to a single space (`" "`
210216
|Tags|`param`, `property`, `returns`, `this`, `throws`, `type`, `typedef`, `yields`|
211217
|Recommended|false|
212218
|Settings|`mode`|
213-
|Options|`arrayBrackets`, `arrowFunctionPostReturnMarkerSpacing`, `arrowFunctionPreReturnMarkerSpacing`, `enableFixer`, `functionOrClassParameterSpacing`, `functionOrClassPostGenericSpacing`, `functionOrClassPostReturnMarkerSpacing`, `functionOrClassPreReturnMarkerSpacing`, `functionOrClassTypeParameterSpacing`, `genericAndTupleElementSpacing`, `genericDot`, `keyValuePostColonSpacing`, `keyValuePostKeySpacing`, `keyValuePostOptionalSpacing`, `keyValuePostVariadicSpacing`, `methodQuotes`, `objectFieldIndent`, `objectFieldQuote`, `objectFieldSeparator`, `objectFieldSeparatorOptionalLinebreak`, `objectFieldSeparatorTrailingPunctuation`, `parameterDefaultValueSpacing`, `postMethodNameSpacing`, `postNewSpacing`, `separatorForSingleObjectField`, `stringQuotes`, `typeBracketSpacing`, `unionSpacing`|
219+
|Options|`arrayBrackets`, `arrowFunctionPostReturnMarkerSpacing`, `arrowFunctionPreReturnMarkerSpacing`, `enableFixer`, `functionOrClassParameterSpacing`, `functionOrClassPostGenericSpacing`, `functionOrClassPostReturnMarkerSpacing`, `functionOrClassPreReturnMarkerSpacing`, `functionOrClassTypeParameterSpacing`, `genericAndTupleElementSpacing`, `genericDot`, `keyValuePostColonSpacing`, `keyValuePostKeySpacing`, `keyValuePostOptionalSpacing`, `keyValuePostVariadicSpacing`, `methodQuotes`, `objectFieldIndent`, `objectFieldQuote`, `objectFieldSeparator`, `objectFieldSeparatorOptionalLinebreak`, `objectFieldSeparatorTrailingPunctuation`, `objectTypeBracketSpacing`, `parameterDefaultValueSpacing`, `postMethodNameSpacing`, `postNewSpacing`, `separatorForSingleObjectField`, `stringQuotes`, `typeBracketSpacing`, `unionSpacing`|
214220

215221
<a name="user-content-type-formatting-failing-examples"></a>
216222
<a name="type-formatting-failing-examples"></a>
@@ -504,6 +510,12 @@ The following patterns are considered problems:
504510
*/
505511
// "jsdoc/type-formatting": ["error"|"warn", {"keyValuePostVariadicSpacing":" "}]
506512
// Message: Post variadic (`...`) spacing should be " "
513+
514+
/**
515+
* @param {{a: string}} cfg
516+
*/
517+
// "jsdoc/type-formatting": ["error"|"warn", {"objectTypeBracketSpacing":" "}]
518+
// Message: Object type bracket spacing should be " "
507519
````
508520

509521

@@ -688,5 +700,10 @@ The following patterns are not considered problems:
688700
* @param {{"some-method"(a: string, b: number): void}} cfg
689701
*/
690702
// "jsdoc/type-formatting": ["error"|"warn", {"methodQuotes":"double"}]
703+
704+
/**
705+
* @param {{a: string}} cfg
706+
*/
707+
// "jsdoc/type-formatting": ["error"|"warn", {"objectTypeBracketSpacing":""}]
691708
````
692709

package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
"url": "http://gajus.com"
66
},
77
"dependencies": {
8-
"@es-joy/jsdoccomment": "~0.81.0",
8+
"@es-joy/jsdoccomment": "~0.82.0",
99
"@es-joy/resolve.exports": "1.2.0",
1010
"are-docs-informative": "^0.0.2",
1111
"comment-parser": "1.4.4",
1212
"debug": "^4.4.3",
1313
"escape-string-regexp": "^4.0.0",
14-
"espree": "^11.0.0",
14+
"espree": "^11.1.0",
1515
"esquery": "^1.7.0",
1616
"html-entities": "^2.6.0",
1717
"object-deep-merge": "^2.0.0",
@@ -47,7 +47,7 @@
4747
"@types/node": "^25.0.9",
4848
"@types/semver": "^7.7.1",
4949
"@types/spdx-expression-parse": "^3.0.5",
50-
"@typescript-eslint/types": "^8.53.0",
50+
"@typescript-eslint/types": "^8.53.1",
5151
"babel-plugin-add-module-exports": "^1.0.4",
5252
"babel-plugin-istanbul": "^7.0.1",
5353
"babel-plugin-transform-import-meta": "^2.3.3",
@@ -61,7 +61,7 @@
6161
"glob": "^13.0.0",
6262
"globals": "^17.0.0",
6363
"husky": "^9.1.7",
64-
"jsdoc-type-pratt-parser": "^7.0.0",
64+
"jsdoc-type-pratt-parser": "^7.1.0",
6565
"json-schema": "^0.4.0",
6666
"json-schema-to-typescript": "^15.0.4",
6767
"lint-staged": "^16.2.7",
@@ -70,12 +70,12 @@
7070
"playwright": "^1.57.0",
7171
"replace": "^1.2.2",
7272
"rimraf": "^6.1.2",
73-
"rollup": "^4.55.1",
73+
"rollup": "^4.55.2",
7474
"semantic-release": "^25.0.2",
7575
"sinon": "^21.0.1",
7676
"ts-api-utils": "^2.4.0",
7777
"typescript": "5.9.3",
78-
"typescript-eslint": "^8.53.0"
78+
"typescript-eslint": "^8.53.1"
7979
},
8080
"engines": {
8181
"node": "^20.19.0 || ^22.13.0 || >=24"

0 commit comments

Comments
 (0)