Skip to content

Releases: eslint-functional/eslint-plugin-functional

v5.0.7

21 Mar 03:05
Compare
Choose a tag to compare

5.0.7 (2023-03-21)

v5.0.6

11 Mar 03:07
Compare
Choose a tag to compare

5.0.6 (2023-03-11)

Bug Fixes

  • type-declaration-immutability: only allow strings to be given for identifiers (#573) (e9f2f90)

v5.0.5

07 Mar 05:21
Compare
Choose a tag to compare

5.0.5 (2023-03-07)

Bug Fixes

  • no-expression-statements: allow yield expressions (#570) (81c26de)

v5.0.4

06 Feb 01:07
Compare
Choose a tag to compare

5.0.4 (2023-02-06)

Bug Fixes

  • prefer-immutable-types: inheriting of config options (b528bc7)

v5.0.3

06 Feb 00:31
Compare
Choose a tag to compare

5.0.3 (2023-02-06)

Bug Fixes

  • add missing dependency "@typescript-eslint/type-utils" (7bd4d03)

v5.0.2

04 Feb 23:22
Compare
Choose a tag to compare

5.0.2 (2023-02-04)

Bug Fixes

  • prefer-immutable-types: handling of destructuring assignment (e390f54)

v5.0.1

02 Feb 07:35
Compare
Choose a tag to compare

5.0.1 (2023-02-02)

Bug Fixes

  • improve calculation of immutability involving intersections (75cd708), closes #525

v5.0.0

29 Jan 06:37
Compare
Choose a tag to compare

5.0.0 (2023-01-29)

Overview

It's finally here. With this release, I am happy to announce that we are finally adding the long-awaited support for the Readonly<T> type (#51).
With this change, we are deprecating the rule prefer-readonly-type in favor of two new rules prefer-immutable-types and type-declaration-immutability.

These new rules split the responsibility of enforcing immutability. prefer-immutable-types is all about enforcing that immutable types are used in your runtime code (type annotations), while type-declaration-immutability is all about enforcing the immutability of type declarations (type aliases and interfaces). These rules take a different approach to enforcing immutability than the old prefer-readonly-type rule, so be sure to check each of their documentation files.

prefer-immutable-types is also designed to be a replacement for @typescript-eslint's prefer-readonly-parameter-types as it offers the same functionality plus more.

Dependancies

When updating, be sure to have add these two new dependencies to your project: @typescript-eslint/type-utils @typescript-eslint/utils

Ruleset Changes

We have introduced a new ruleset called strict. This ruleset will enforce the strictest configuration of our rules.
Note: Each rules' default configuration is in its strictest mode.

The recommended ruleset has in turn been made a little less strict.

New Rules

Deprecated Rules

Breaking Changes

Rule and Option

  • prefer-tacit now provides suggestions instead of a fixer. In turn allowFixer has been removed from the assumeTypes option.

Name Changes

  • no-method-signature => prefer-property-signatures.
    • ignoreIfReadonly => ignoreIfReadonlyWrapped (now false by default).
  • no-let (unchanged)
    • allowLocalMutation => allowInFunctions
  • no-return-void (unchanged)
    • ignoreImplicit => ignoreInferredTypes

The name of all the rules and options are now plural where appropriate.

  • no-class => no-classes.
  • no-conditional-statement => no-conditional-statements.
  • no-expression-statement => no-expression-statements.
  • no-loop-statement => no-loop-statements.
  • no-mixed-type => no-mixed-types.
  • no-this-expression => no-this-expressions.
  • no-throw-statement => no-throw-statements.
  • no-try-statement => no-try-statements.
  • immutable-data (unchanged)
    • ignoreClass => ignoreClasses

Rulesets

Name Changes

  • no-object-orientation => no-other-paradigms.
  • external-recommended split into external-vanilla-recommended and external-typescript-recommended.

Rule Changes

  • The deprecated rule prefer-readonly-type has been removed from all rulesets (except off).
  • prefer-property-signatures (formally no-method-signature) has been moved to the stylistic ruleset.
  • no-this-expressions has been removed from the recommended and lite rulesets.
  • @typescript-eslint/prefer-readonly-parameter-types has been removed from list of recommended external rules.

Dependencies

  • minimum supported TypeScript version is now v4.0.2.
  • minimum supported Node version is now v16.10.0.

Additional Features and Bug Fixes

  • functional-parameters now has an option to ignore lambda function expressions (#468).
  • no-mixed-types now supports Type Literals directly inside the Readonly type (#500).

v4.4.1

03 Oct 11:03
Compare
Choose a tag to compare

4.4.1 (2022-10-03)

Bug Fixes

  • prefer-tacit: handling of member expressions and be more strict with optional parameters (a277c2a), closes #486

v4.4.0

20 Sep 12:12
Compare
Choose a tag to compare

4.4.0 (2022-09-20)

Features

  • functional-parameters: add support for ignoring selector prefixes (af3cbcc), closes #207 #244