Coffeelint rule requiring objects to have keys in alphabetical order
npm install coffeelint-alphabetize-keys
Put this in your coffeelint config:
"alphabetize_keys": {
"module": "coffeelint-alphabetize-keys"
}
overrides
- Array of keys to order as a separate category, keys must appear in the order provided.
{keyA, keyB, keyC} # Good
{keyC, keyB, keyA} # Bad
The rule applies to both defining and destructing objects.
# Good
class A
methodA: ->
methodB: ->
methodC: ->
# Bad
class A
methodC: ->
methodB: ->
methodA: ->
The keys are broken down into 8 categories and each are required to only be individually alphabetical. Keys are separated based on:
- function vs variable (based on the type of the value)
- public vs private (key starting with
_
is private) - instance vs static
The constructor
function is ignored.
"alphabetize_keys": {
"module": "coffeelint-alphabetize-keys",
"overrides": ["methodC", "methodB", "methodA"]
}
# Good
class A
methodC: ->
methodB: ->
methodA: ->
# Bad
class A
methodA: ->
methodB: ->
methodC: ->