Assign the max record size allowed when configuring this rule.
import LimitAliasedRecordSize
import Review.Rule exposing (Rule)
config : List Rule
config =
[ LimitAliasedRecordSize.rule
(20 |> LimitAliasedRecordSize.maxRecordSize)
]Configure the rule in your elm-review configuration:
import LimitAliasedRecordSize
import Review.Rule exposing (Rule)
config : List Rule
config =
[ LimitAliasedRecordSize.rule
(20 |> LimitAliasedRecordSize.maxRecordSize)
]type alias MyRecord =
{ oneField : Int
, anotherField : String
, yetAnotherField : Bool
}type alias MyRecord =
{ oneField : Int
, anotherField : String
, yetAnotherField : Bool
, andAnotherField : Int
, andAnotherField2 : Int
, andAnotherField3 : Int
, andAnotherField4 : Int
, andAnotherField5 : Int
, andAnotherField6 : Int
, andAnotherField7 : Int
, andAnotherField8 : Int
, andAnotherField9 : Int
, andAnotherField10 : Int
, andAnotherField11 : Int
, andAnotherField12 : Int
, andAnotherField13 : Int
}One simple approach is just to change the record into a custom type. For example, the above bad example can be changed to:
type MyRecord
= MyRecord
{ oneField : Int
, anotherField : String
, yetAnotherField : Bool
, andAnotherField : Int
, andAnotherField2 : Int
, andAnotherField3 : Int
, andAnotherField4 : Int
, andAnotherField5 : Int
, andAnotherField6 : Int
, andAnotherField7 : Int
, andAnotherField8 : Int
, andAnotherField9 : Int
, andAnotherField10 : Int
, andAnotherField11 : Int
, andAnotherField12 : Int
, andAnotherField13 : Int
}You can try the example configuration above out by running the following command:
elm-review --template matzko/elm-review-limit-aliased-record-size/example
LimitRecordSizeConfiggets passed toruleto configure the rule. You can't contruct this type directly, but you can use themaxRecordSizefunction to create a configuration value: