Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ccd45d4

Browse files
fix(eslint-plugin): [member-ordering] correctly invert optionalityOrder (typescript-eslint#6256)
1 parent bc63c92 commit ccd45d4

File tree

2 files changed

+30
-26
lines changed

2 files changed

+30
-26
lines changed

packages/eslint-plugin/src/rules/member-ordering.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -781,7 +781,7 @@ export default util.createRule<Options, MessageIds>({
781781
data: {
782782
member: getMemberName(member, context.getSourceCode()),
783783
optionalOrRequired:
784-
optionalityOrder === 'optional-first' ? 'required' : 'optional',
784+
optionalityOrder === 'required-first' ? 'required' : 'optional',
785785
},
786786
});
787787

@@ -790,7 +790,7 @@ export default util.createRule<Options, MessageIds>({
790790
// have the correct optionality
791791
if (
792792
isMemberOptional(members[0]) !==
793-
(optionalityOrder === 'required-first')
793+
(optionalityOrder === 'optional-first')
794794
) {
795795
report(members[0]);
796796
return false;

packages/eslint-plugin/tests/rules/member-ordering/member-ordering-optionalMembers.test.ts

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const ruleTester = new RuleTester({
1010

1111
const grouped: TSESLint.RunTests<MessageIds, Options> = {
1212
valid: [
13-
// optionalityOrder - optional-first
13+
// optionalityOrder - required-first
1414
{
1515
code: `
1616
interface X {
@@ -24,7 +24,7 @@ interface X {
2424
default: {
2525
memberTypes: 'never',
2626
order: 'alphabetically',
27-
optionalityOrder: 'optional-first',
27+
optionalityOrder: 'required-first',
2828
},
2929
},
3030
],
@@ -42,7 +42,7 @@ interface X {
4242
default: {
4343
memberTypes: 'never',
4444
order: 'as-written',
45-
optionalityOrder: 'optional-first',
45+
optionalityOrder: 'required-first',
4646
},
4747
},
4848
],
@@ -60,7 +60,7 @@ interface X {
6060
default: {
6161
memberTypes: 'never',
6262
order: 'as-written',
63-
optionalityOrder: 'optional-first',
63+
optionalityOrder: 'required-first',
6464
},
6565
},
6666
],
@@ -78,7 +78,7 @@ class X {
7878
default: {
7979
memberTypes: 'never',
8080
order: 'alphabetically',
81-
optionalityOrder: 'optional-first',
81+
optionalityOrder: 'required-first',
8282
},
8383
},
8484
],
@@ -96,7 +96,7 @@ class X {
9696
default: {
9797
memberTypes: 'never',
9898
order: 'alphabetically',
99-
optionalityOrder: 'optional-first',
99+
optionalityOrder: 'required-first',
100100
},
101101
},
102102
],
@@ -114,7 +114,7 @@ class X {
114114
default: {
115115
memberTypes: 'never',
116116
order: 'alphabetically',
117-
optionalityOrder: 'optional-first',
117+
optionalityOrder: 'required-first',
118118
},
119119
},
120120
],
@@ -132,7 +132,7 @@ class X {
132132
default: {
133133
memberTypes: 'never',
134134
order: 'alphabetically',
135-
optionalityOrder: 'optional-first',
135+
optionalityOrder: 'required-first',
136136
},
137137
},
138138
],
@@ -150,7 +150,7 @@ interface X {
150150
default: {
151151
memberTypes: 'never',
152152
order: 'alphabetically',
153-
optionalityOrder: 'optional-first',
153+
optionalityOrder: 'required-first',
154154
},
155155
},
156156
],
@@ -169,12 +169,12 @@ interface X {
169169
default: {
170170
memberTypes: 'never',
171171
order: 'alphabetically',
172-
optionalityOrder: 'optional-first',
172+
optionalityOrder: 'required-first',
173173
},
174174
},
175175
],
176176
},
177-
// optionalityOrder - required-first
177+
// optionalityOrder - optional-first
178178
{
179179
code: `
180180
interface X {
@@ -188,7 +188,7 @@ interface X {
188188
default: {
189189
memberTypes: 'never',
190190
order: 'alphabetically',
191-
optionalityOrder: 'required-first',
191+
optionalityOrder: 'optional-first',
192192
},
193193
},
194194
],
@@ -206,7 +206,7 @@ interface X {
206206
default: {
207207
memberTypes: 'never',
208208
order: 'as-written',
209-
optionalityOrder: 'required-first',
209+
optionalityOrder: 'optional-first',
210210
},
211211
},
212212
],
@@ -224,7 +224,7 @@ interface X {
224224
default: {
225225
memberTypes: 'never',
226226
order: 'as-written',
227-
optionalityOrder: 'required-first',
227+
optionalityOrder: 'optional-first',
228228
},
229229
},
230230
],
@@ -242,13 +242,13 @@ class X {
242242
default: {
243243
memberTypes: 'never',
244244
order: 'alphabetically',
245-
optionalityOrder: 'required-first',
245+
optionalityOrder: 'optional-first',
246246
},
247247
},
248248
],
249249
},
250250
],
251-
// optionalityOrder - optional-first
251+
// optionalityOrder - required-first
252252
invalid: [
253253
{
254254
code: `
@@ -263,12 +263,16 @@ interface X {
263263
default: {
264264
memberTypes: 'never',
265265
order: 'alphabetically',
266-
optionalityOrder: 'optional-first',
266+
optionalityOrder: 'required-first',
267267
},
268268
},
269269
],
270270
errors: [
271271
{
272+
data: {
273+
member: 'b',
274+
beforeMember: 'd',
275+
},
272276
messageId: 'incorrectOrder',
273277
line: 5,
274278
column: 3,
@@ -288,7 +292,7 @@ interface X {
288292
default: {
289293
memberTypes: ['call-signature', 'field', 'method'],
290294
order: 'as-written',
291-
optionalityOrder: 'optional-first',
295+
optionalityOrder: 'required-first',
292296
},
293297
},
294298
],
@@ -317,7 +321,7 @@ class X {
317321
default: {
318322
memberTypes: 'never',
319323
order: 'as-written',
320-
optionalityOrder: 'optional-first',
324+
optionalityOrder: 'required-first',
321325
},
322326
},
323327
],
@@ -333,7 +337,7 @@ class X {
333337
},
334338
],
335339
},
336-
// optionalityOrder - required-first
340+
// optionalityOrder - optional-first
337341
{
338342
code: `
339343
interface X {
@@ -347,7 +351,7 @@ interface X {
347351
default: {
348352
memberTypes: 'never',
349353
order: 'alphabetically',
350-
optionalityOrder: 'required-first',
354+
optionalityOrder: 'optional-first',
351355
},
352356
},
353357
],
@@ -372,7 +376,7 @@ interface X {
372376
default: {
373377
memberTypes: ['call-signature', 'field', 'method'],
374378
order: 'as-written',
375-
optionalityOrder: 'required-first',
379+
optionalityOrder: 'optional-first',
376380
},
377381
},
378382
],
@@ -405,7 +409,7 @@ class Test {
405409
default: {
406410
memberTypes: 'never',
407411
order: 'as-written',
408-
optionalityOrder: 'required-first',
412+
optionalityOrder: 'optional-first',
409413
},
410414
},
411415
],
@@ -436,7 +440,7 @@ class Test {
436440
default: {
437441
memberTypes: 'never',
438442
order: 'as-written',
439-
optionalityOrder: 'required-first',
443+
optionalityOrder: 'optional-first',
440444
},
441445
},
442446
],

0 commit comments

Comments
 (0)