An experimental babel-plugin to enforce functional programming within JavaScript at build time.
- give error on
this
(OOP construct) - give error on
class
(OOP construct) - give error on
new
(OOP construct) - give error on
super
(OOP construct) - give error
var
(unclear scoping) - give error on function expression (unclear scoping)
- give error when assigning value to a variable outside the current function block (function purity)
- function should always have a return as last statement (functional)
- function should only have one return statement
(warning shotgun approach here)
- give error on
*.push
(mutation) - give error on
*.shift
(mutation) - give error on
*.sort
(mutation) - give error on
*.splice
(mutation) - give error on
*.unshift
(mutation) - give error on
*.copyWithin
(mutation) - give error on
*.pop
(mutation) - give error on
*.reverse
(mutation)
Are very welcome!
MIT