elm-format
elm-format
elm-review
Comparing with ESLint
228/263 (87%) of the core ESLint rules aren't necessary in Elm:
Elm functions always return values, there is no optional return
statement.
There are no classes in Elm.
There are no loops in Elm.
Elm functions always return values, there is no optional return
statement.
There is no async/await syntax in Elm.
There is no async/await syntax in Elm.
There are no classes in Elm.
🪄 This is automatically handled by elm-format.
Elm doesn't support mutating values.
Elm forbids name shadowing.
There are corresponding elm-review rules for this:
There are no classes in Elm.
There is no special support for regular expressions in Elm.
The compiler will report the usages of debugging functions in optimized mode.
Elm forbids name shadowing.
There are no classes in Elm.
There are corresponding elm-review rules for this:
The compiler will report duplicate keys.
This would be handled using Elm's pattern matching syntax, which makes sure that all cases are handled.
🪄 This is automatically handled by elm-format.
There is no special support for regular expressions in Elm.
There are corresponding elm-review rules for this:
There are no exceptions in Elm.
All Elm expressions are expressions, and there are no individual statements.
Elm doesn't support mutating values.
Elm doesn't support mutating values.
The underlying scoping problems don't apply to Elm.
There is no special support for regular expressions in Elm.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
There is no special support for regular expressions in Elm.
There are no symbols in Elm.
Only functions are allowed to be called.
These functions don't exist in Elm.
There are no prototypes in Elm.
The compiler will report variable definitions that depend on themselves, and there is no syntax for re-assigning variables.
There are corresponding elm-review rules for this:
There are no getters or setters in Elm.
All elements in a List must be of the same type in Elm, you can't have empty elements in a list.
There are no template literals in Elm.
There are no classes in Elm.
Can't use variables not in scope.
🪄 This is automatically handled by elm-format.
There are no loops in Elm.
All Elm expressions are expressions, and there are no individual statements.
There are no loops in Elm.
There are no exceptions in Elm.
There are no relational operators in Elm.
There is no null
or undefined
in Elm.
There are no classes in Elm.
There are corresponding elm-review rules for this:
Elm allows using things before they are defined
There is no special support for regular expressions in Elm.
Elm doesn't support mutating values.
There is only a single function to check for NaN
.
This would be handled using Elm's pattern matching syntax, which makes sure that all cases are handled.
There are no getters or setters in Elm.
All Elm expressions are expressions, and there are no individual statements.
Can't use variables not in scope.
There are corresponding elm-review rules for this:
There is as of yet no equivalent to this rule in the Elm community.
There are no concept of this
in Elm.
There are corresponding elm-review rules for this:
All Elm expressions are expressions, and there are no individual statements.
There are no concept of this
in Elm.
All Elm expressions are expressions, and there are no individual statements.
This would be handled using Elm's pattern matching syntax, which makes sure that all cases are handled.
This would be handled using Elm's pattern matching syntax, which makes sure that all cases are handled.
Each Elm function has a fixed number of parameters and takes a fixed number of arguments when called.
There are no dynamic or computed properties in Elm.
There is only one operator to check for equality.
Elm forbids name shadowing.
Anonymous functions can't have names.
There is only one way of defining functions.
There are no getters or setters in Elm.
There are no loops in Elm.
There is as of yet no equivalent to this rule in the Elm community.
There is as of yet no equivalent to this rule in the Elm community.
There are corresponding elm-review rules for this:
All values need to be initialized when they are declared.
There are no classes in Elm.
There are corresponding elm-review rules for this:
There is as of yet no equivalent to this rule in the Elm community.
There is as of yet no equivalent to this rule in the Elm community.
There is as of yet no equivalent to this rule in the Elm community.
There is as of yet no equivalent to this rule in the Elm community.
All Elm expressions are expressions, and there are no individual statements.
There is as of yet no equivalent to this rule in the Elm community.
There are no classes in Elm.
These functions don't exist in Elm.
There are no classes in Elm.
The underlying problem would result in a type error.
These functions don't exist in Elm.
This would be handled using Elm's pattern matching syntax, which makes sure that all cases are handled.
This would be a type error.
These functions don't exist in Elm.
There are no labels in Elm.
There is no delete
keyword.
There is no special support for regular expressions in Elm.
All Elm expressions are expressions, and there are no individual statements.
All Elm expressions are expressions, and there are no individual statements.
All Elm expressions are expressions, and there are no individual statements.
There is no null
or undefined
in Elm.
There is no eval
function in Elm.
Elm doesn't allow you to extend existing types.
There are no concept of this
in Elm.
There are corresponding elm-review rules for this:
There are no labels in Elm.
All Elm expressions are expressions, and there are no individual statements.
Floating numbers need to have numbers before the dot.
Elm doesn't support mutating values.
There is no syntax for coercion. Elm requires explicit type conversions.
Can't use variables not in scope.
There is no eval
function in Elm.
🪄 This is automatically handled by elm-format.
There are no concept of this
in Elm.
There are no loops in Elm.
There are no labels in Elm.
There are no labels in Elm.
All Elm expressions are expressions, and there are no individual statements.
Can't have a lonely if
that doesn't have an else
There are no loops in Elm.
There is as of yet no equivalent to this rule in the Elm community.
This is a proposal for elm-format
.
Can't declare multiple variables at once.
This is not a valid way of writing strings in Elm.
There is as of yet no equivalent to this rule in the Elm community.
There are no ternary operators, only if expressions which are more readable when nested.
There are no classes in Elm.
There are no classes in Elm.
There are no classes in Elm.
There are no classes in Elm.
There is no syntax for literal octal or binary in Elm.
There is no syntax for literal octal or binary in Elm.
There is no syntax for literal octal or binary in Elm.
Elm forbids name shadowing.
Elm doesn't support mutating values.
There are no prototypes in Elm.
Elm forbids name shadowing.
There is no special support for regular expressions in Elm.
There is as of yet no equivalent to this rule in the Elm community.
There is as of yet no equivalent to this rule in the Elm community.
There are corresponding elm-review rules for this:
There is as of yet no equivalent to this rule in the Elm community.
There is as of yet no equivalent to this rule in the Elm community.
All Elm expressions are expressions, and there are no individual statements.
There is no async/await syntax in Elm.
The virtual-dom implementation prevents the execution of arbitrary JavaScript code.
There is no such comma operator in Elm.
Elm forbids name shadowing.
Elm forbids name shadowing.
There are no ternary operators, only if expressions.
There are no exceptions in Elm.
There is no null
or undefined
in Elm.
There is no null
or undefined
in Elm.
There is as of yet no equivalent to this rule in the Elm community.
There are no ternary operators, only if expressions.
All Elm expressions are expressions, and there are no individual statements.
There are no labels in Elm.
These functions don't exist in Elm.
There are no exceptions in Elm.
There are no dynamic or computed properties in Elm.
There are corresponding elm-review rules for this:
There are no classes in Elm.
🪄 This is automatically handled by elm-format.
There are corresponding elm-review rules for this:
All Elm expressions are expressions, and there are no individual statements.
Variables are not defined using a keyword.
There is no void
operator.
There are corresponding elm-review rules for this:
There is no with
command.
Shorthands are not available
Every variable is declared separately.
🪄 This is automatically handled by elm-format.
Elm doesn't support mutating values.
There is only one way to define function expressions.
Variables are not defined using a keyword.
There is as of yet no equivalent to this rule in the Elm community.
There is only the (^)
operator in the core language.
There is no special support for regular expressions in Elm.
There is no syntax for literal octal or binary in Elm.
Available properties are always known, no need for these functions.
Elm doesn't support mutating values.
There are no exceptions in Elm.
There is only one function to create a regular expression.
Each Elm function has a fixed number of parameters and takes a fixed number of arguments when called.
Each Elm function has a fixed number of parameters and takes a fixed number of arguments when called.
There are no template literals in Elm.
Property names can't be surrounded with quotes.
Each Elm function has a fixed number of parameters and takes a fixed number of arguments when called.
There is no async/await syntax in Elm.
There is no special support for regular expressions in Elm.
There are no generators in Elm.
🪄 This is automatically handled by elm-format.
There are corresponding elm-review rules for this:
There are corresponding elm-review rules for this:
There is as of yet no equivalent to this rule in the Elm community.
There is no strict mode in Elm.
There are no symbols in Elm.
This is somewhat enforced by the design of let declarations.
Elm doesn't support mutating values.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
There are no blocks in Elm.
There are no blocks in Elm.
There are no trailing commas in Elm.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
There are no dynamic or computed properties in Elm.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
There are no generators in Elm.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
There is no support for a JSX-like syntax in Elm.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
There are no classes in Elm.
There is as of yet no equivalent to this rule in the Elm community.
All Elm expressions are expressions, and there are no individual statements.
🪄 This is automatically handled by elm-format.
There are no classes in Elm.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
Tabs are forbidden in Elm.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
Tabs are forbidden in Elm.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
There is no spread operator.
All Elm expressions are expressions, and there are no individual statements.
All Elm expressions are expressions, and there are no individual statements.
All Elm expressions are expressions, and there are no individual statements.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
🪄 This is automatically handled by elm-format.
There are no template literals in Elm.
There are no template literals in Elm.
🪄 This is automatically handled by elm-format.
There is no iife in Elm.
🪄 This is automatically handled by elm-format.
There are no generators in Elm.