Skip to content

Enhancement: [member-ordering] 'natural' sorting order from from eslint-plugin-typescript-sort-keys #5597

Closed
@JoshuaKGoldberg

Description

@JoshuaKGoldberg

Before You File a Proposal Please Confirm You Have Done The Following...

My proposal is suitable for this project

  • I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).

Link to the rule's documentation

https://typescript-eslint.io/rules/member-ordering

Description

eslint-plugin-typescript-sort-keys supports a natural option for sorting. Can we add that to @typescript-eslint/member-ordering, to bring it up to parity?

Natural Order compares strings containing combination of letters and numbers in the way a human being would sort. It basically sorts numerically, instead of sorting alphabetically. So the number 10 comes after the number 3 in Natural Sorting.

Porting discussion from infctr/eslint-plugin-typescript-sort-keys#50 (comment)

Fail

interface Example {
  1: number;
  10: number;
  3: number;
  6: number;
  8: number;
}

Pass

interface Example {
  1: number;
  3: number;
  6: number;
  8: number;
  10: number;
}

Additional Info

Examples taken from https://github.com/infctr/eslint-plugin-typescript-sort-keys/blob/master/docs/rules/interface.md.

Metadata

Metadata

Labels

accepting prsGo ahead, send a pull request that resolves this issueenhancement: plugin rule optionNew rule option for an existing eslint-plugin rulepackage: eslint-pluginIssues related to @typescript-eslint/eslint-plugin

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions