diff --git a/packages/eslint-plugin/src/rules/member-ordering.ts b/packages/eslint-plugin/src/rules/member-ordering.ts index f6b76c4bfad..cadd1023058 100644 --- a/packages/eslint-plugin/src/rules/member-ordering.ts +++ b/packages/eslint-plugin/src/rules/member-ordering.ts @@ -952,6 +952,8 @@ export default util.createRule({ } checkOrder(members.slice(0, switchIndex)); checkOrder(members.slice(switchIndex)); + } else { + checkOrder(members); } } diff --git a/packages/eslint-plugin/tests/rules/member-ordering/member-ordering-optionalMembers.test.ts b/packages/eslint-plugin/tests/rules/member-ordering/member-ordering-optionalMembers.test.ts index 4f7d789798d..612c7011b02 100644 --- a/packages/eslint-plugin/tests/rules/member-ordering/member-ordering-optionalMembers.test.ts +++ b/packages/eslint-plugin/tests/rules/member-ordering/member-ordering-optionalMembers.test.ts @@ -105,8 +105,8 @@ class X { code: ` class X { a: string; - static {} b: string; + static {} } `, options: [ @@ -337,6 +337,35 @@ class X { }, ], }, + { + code: ` +class X { + b: string; + a: string; +} + `, + options: [ + { + default: { + memberTypes: 'never', + order: 'natural-case-insensitive', + optionalityOrder: 'required-first', + }, + }, + ], + errors: [ + { + messageId: 'incorrectOrder', + line: 4, + column: 3, + data: { + member: 'a', + beforeMember: 'b', + optionalOrRequired: 'required', + }, + }, + ], + }, // optionalityOrder - optional-first { code: `