Skip to content

Commit 4c0161a

Browse files
hugop95azat-io
authored andcommitted
feat!: drop deprecated selectors support for multiple rules
1 parent 5452245 commit 4c0161a

File tree

10 files changed

+196
-779
lines changed

10 files changed

+196
-779
lines changed

rules/sort-jsx-props.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,9 @@ export default createEslintRule<Options, MessageId>({
132132
let modifiers: Modifier[] = []
133133

134134
if (attribute.value === null) {
135-
selectors.push('shorthand')
136135
modifiers.push('shorthand')
137136
}
138137
if (attribute.loc.start.line !== attribute.loc.end.line) {
139-
selectors.push('multiline')
140138
modifiers.push('multiline')
141139
}
142140
selectors.push('prop')

rules/sort-jsx-props/types.ts

Lines changed: 8 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -113,18 +113,18 @@ export interface SingleCustomGroup {
113113
selector?: Selector
114114
}
115115

116-
/**
117-
* Union type of all available JSX prop selectors. Used to categorize different
118-
* types of JSX props.
119-
*/
120-
export type Selector = MultilineSelector | ShorthandSelector | PropertySelector
121-
122116
/**
123117
* Union type of all available JSX prop modifiers. Used to identify specific
124118
* characteristics of JSX props.
125119
*/
126120
export type Modifier = MultilineModifier | ShorthandModifier
127121

122+
/**
123+
* Union type of all available JSX prop selectors. Used to categorize different
124+
* types of JSX props.
125+
*/
126+
export type Selector = PropertySelector
127+
128128
/**
129129
* Represents all possible group combinations for regular JSX props. Combines
130130
* modifiers with the property selector using dash notation.
@@ -137,36 +137,7 @@ type PropertyGroup = JoinWithDash<
137137
* Represents a group identifier for JSX prop categorization. Can be a
138138
* predefined group, 'unknown' for uncategorized props, or a custom group name.
139139
*/
140-
type Group =
141-
| ShorthandGroup
142-
| MultilineGroup
143-
| PropertyGroup
144-
| 'unknown'
145-
| string
146-
147-
/**
148-
* @deprecated Since v4.11.0. Will be removed in v5.0.0. Use
149-
* {@link `MultilineModifier`} instead.
150-
*/
151-
type MultilineGroup = JoinWithDash<[MultilineSelector]>
152-
153-
/**
154-
* @deprecated Since v4.11.0. Will be removed in v5.0.0. Use
155-
* {@link `ShorthandModifier`} instead.
156-
*/
157-
type ShorthandGroup = JoinWithDash<[ShorthandSelector]>
158-
159-
/**
160-
* @deprecated Since v4.11.0. Will be removed in v5.0.0. Use
161-
* {@link `ShorthandModifier`} instead.
162-
*/
163-
type ShorthandSelector = 'shorthand'
164-
165-
/**
166-
* @deprecated Since v4.11.0. Will be removed in v5.0.0. Use
167-
* {@link `MultilineModifier`} instead.
168-
*/
169-
type MultilineSelector = 'multiline'
140+
type Group = PropertyGroup | 'unknown' | string
170141

171142
/** Modifier for JSX props that span multiple lines. */
172143
type MultilineModifier = 'multiline'
@@ -181,7 +152,7 @@ type PropertySelector = 'prop'
181152
* Complete list of available JSX prop selectors. Used for validation and JSON
182153
* schema generation.
183154
*/
184-
export let allSelectors: Selector[] = ['multiline', 'prop', 'shorthand']
155+
export let allSelectors: Selector[] = ['prop']
185156

186157
/**
187158
* Complete list of available JSX prop modifiers. Used for validation and JSON

rules/sort-object-types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,6 @@ export function sortObjectTypeElements<MessageIds extends string>({
238238

239239
if (typeElement.loc.start.line !== typeElement.loc.end.line) {
240240
modifiers.push('multiline')
241-
selectors.push('multiline')
242241
}
243242

244243
if (

rules/sort-object-types/types.ts

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,6 @@ export type SingleCustomGroup = (
130130
sortBy?: 'value' | 'name'
131131
} & BaseSingleCustomGroup<PropertySelector>)
132132
| BaseSingleCustomGroup<IndexSignatureSelector>
133-
| BaseSingleCustomGroup<MultilineSelector>
134133
| BaseSingleCustomGroup<MethodSelector>
135134
| BaseSingleCustomGroup<MemberSelector>
136135
) &
@@ -144,7 +143,6 @@ export type SingleCustomGroup = (
144143
*/
145144
export type Selector =
146145
| IndexSignatureSelector
147-
| MultilineSelector
148146
| PropertySelector
149147
| MemberSelector
150148
| MethodSelector
@@ -230,6 +228,17 @@ type IndexSignatureGroup = JoinWithDash<
230228
]
231229
>
232230

231+
/**
232+
* Group type for property members.
233+
*
234+
* Represents all possible combinations of modifiers with the property selector,
235+
* joined with dashes to form group identifiers like 'property' or
236+
* 'optional-property'.
237+
*/
238+
type PropertyGroup = JoinWithDash<
239+
[OptionalModifier, RequiredModifier, MultilineModifier, PropertySelector]
240+
>
241+
233242
/**
234243
* Union type of all possible group identifiers for object type members.
235244
*
@@ -239,24 +248,12 @@ type IndexSignatureGroup = JoinWithDash<
239248
*/
240249
type Group =
241250
| IndexSignatureGroup
242-
| MultilineGroup
243251
| PropertyGroup
244252
| MethodGroup
245253
| MemberGroup
246254
| 'unknown'
247255
| string
248256

249-
/**
250-
* Group type for property members.
251-
*
252-
* Represents all possible combinations of modifiers with the property selector,
253-
* joined with dashes to form group identifiers like 'property' or
254-
* 'optional-property'.
255-
*/
256-
type PropertyGroup = JoinWithDash<
257-
[OptionalModifier, RequiredModifier, MultilineModifier, PropertySelector]
258-
>
259-
260257
/**
261258
* Group type for generic member elements.
262259
*
@@ -279,21 +276,13 @@ type MethodGroup = JoinWithDash<
279276
[OptionalModifier, RequiredModifier, MultilineModifier, MethodSelector]
280277
>
281278

282-
/** @deprecated For {@link `MultilineModifier`}. Will be removed in v5.0.0. */
283-
type MultilineGroup = JoinWithDash<
284-
[OptionalModifier, RequiredModifier, MultilineSelector]
285-
>
286-
287279
/**
288280
* Selector for index signature members.
289281
*
290282
* Matches TypeScript index signatures like `[key: string]: any`.
291283
*/
292284
type IndexSignatureSelector = 'index-signature'
293285

294-
/** @deprecated For {@link `MultilineModifier`}. Will be removed in v5.0.0. */
295-
type MultilineSelector = 'multiline'
296-
297286
/**
298287
* Modifier indicating a member spans multiple lines.
299288
*
@@ -346,7 +335,6 @@ export let allSelectors: Selector[] = [
346335
'index-signature',
347336
'member',
348337
'method',
349-
'multiline',
350338
'property',
351339
]
352340

rules/sort-objects.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,6 @@ export default createEslintRule<Options, MessageId>({
304304

305305
if (property.loc.start.line !== property.loc.end.line) {
306306
modifiers.push('multiline')
307-
selectors.push('multiline')
308307
}
309308

310309
let name = getNodeName({ sourceCode, property })

rules/sort-objects/types.ts

Lines changed: 10 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -135,24 +135,11 @@ export type SingleCustomGroup = {
135135
*/
136136
elementNamePattern?: RegexOption
137137
} & (
138-
| BaseSingleCustomGroup<MultilineSelector>
139138
| BaseSingleCustomGroup<PropertySelector>
140139
| BaseSingleCustomGroup<MethodSelector>
141140
| BaseSingleCustomGroup<MemberSelector>
142141
)
143142

144-
/**
145-
* Union type of all available selectors for object members.
146-
*
147-
* Selectors identify the type of object member for grouping and sorting
148-
* purposes.
149-
*/
150-
export type Selector =
151-
| MultilineSelector
152-
| PropertySelector
153-
| MemberSelector
154-
| MethodSelector
155-
156143
/**
157144
* Union type of all available modifiers for object members.
158145
*
@@ -161,6 +148,14 @@ export type Selector =
161148
*/
162149
export type Modifier = MultilineModifier | RequiredModifier | OptionalModifier
163150

151+
/**
152+
* Union type of all available selectors for object members.
153+
*
154+
* Selectors identify the type of object member for grouping and sorting
155+
* purposes.
156+
*/
157+
export type Selector = PropertySelector | MemberSelector | MethodSelector
158+
164159
/**
165160
* Maps each selector type to its allowed modifiers.
166161
*
@@ -243,21 +238,7 @@ type MethodGroup = JoinWithDash<
243238
* predefined group types, 'unknown' for unmatched members, or custom string
244239
* identifiers.
245240
*/
246-
type Group =
247-
| MultilineGroup
248-
| PropertyGroup
249-
| MethodGroup
250-
| MemberGroup
251-
| 'unknown'
252-
| string
253-
254-
/** @deprecated For {@link `MultilineModifier`}. Will be removed in v5.0.0. */
255-
type MultilineGroup = JoinWithDash<
256-
[OptionalModifier, RequiredModifier, MultilineSelector]
257-
>
258-
259-
/** @deprecated For {@link `MultilineModifier`}. Will be removed in v5.0.0. */
260-
type MultilineSelector = 'multiline'
241+
type Group = PropertyGroup | MethodGroup | MemberGroup | 'unknown' | string
261242

262243
/**
263244
* Modifier indicating a member spans multiple lines.
@@ -309,12 +290,7 @@ type MethodSelector = 'method'
309290
*
310291
* Used for validation and configuration in the ESLint rule.
311292
*/
312-
export let allSelectors: Selector[] = [
313-
'member',
314-
'method',
315-
'multiline',
316-
'property',
317-
]
293+
export let allSelectors: Selector[] = ['member', 'method', 'property']
318294

319295
/**
320296
* Array of all available modifiers for object members.

0 commit comments

Comments
 (0)