Skip to content

Latest commit

 

History

History
825 lines (472 loc) · 56.6 KB

CHANGELOG.md

File metadata and controls

825 lines (472 loc) · 56.6 KB

Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

7.1.0 (2024-10-20)

Features

7.0.3 (2024-10-20)

Bug Fixes

  • ensure default options are applied (#889) (5b57cd2)
  • functional-parameters: default options not being applied to option overrides (#888) (06f2b80)

7.0.2 (2024-08-26)

Bug Fixes

  • no-expression-statements: ignore Promise<void> when ignoreVoid is set (#866) (2e1a992)

7.0.1 (2024-08-07)

Bug Fixes

  • don't throw when typescript can't be resolved (afb05bd)

7.0.0 (2024-08-05)

Bug Fixes

  • checking of types from ts's lib are now more strict (#862) (39beb25)

Features

  • eslint 9 migration (#809) (de4e3ea)
  • functional-parameters: allow overriding options based on where the function type is declared (#803) (21396d5), closes #575
  • functional-parameters: change options in recommended and lite configs (#811) (b3cb8d9)
  • immutable-data: allows for applying overrides to the options based on the root object's type (#826) (c04e425)
  • no-classes: add options ignoreIdentifierPattern and ignoreCodePattern (#863) (18aede1), closes #851
  • no-throw-statements: replace option allowInAsyncFunctions with allowToRejectPromises (#839) (c2c589c), closes #838
  • prefer-immutable-types: allow overriding options based on where the type is declared (#804) (86fa76a), closes #800
  • prefer-immutable-types: change the options in recommeneded and lite configs (#810) (defd713)

BREAKING CHANGES

  • The minimum supported Node version is now 18.18.0 (#809)
  • The minimum supported TypeScript version is now 4.7.4 (#809)
  • The minimum supported Eslint version is now 9.0.0 (#809)
  • no-throw-statements: replace option allowInAsyncFunctions with allowToRejectPromises (#839)

6.6.3 (2024-07-11)

Bug Fixes

  • immutable-data: ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions (#849) (f6ff69b), closes #840

6.6.2 (2024-07-11)

Bug Fixes

  • no-conditional-statements: allow continue and break statements with labels to be considered "returning" (#846) (969b77b)
  • no-expression-statements: arrow functions cannot be self returning (#847) (7217fa4)
  • no-promise-reject: new Promises and throw statements are now also checked (#848) (fbe27ad)

6.6.1 (2024-07-06)

6.6.0 (2024-06-19)

Features

  • prefer-immutable-types: allow for changing suggestion messages (#828) (822cc33)

6.5.2 (2024-06-19)

6.5.1 (2024-04-15)

Bug Fixes

  • prefer-tacit: don't check member functions by default (#808) (4e6c3a9), closes #805

6.5.0 (2024-04-15)

Features

6.4.1 (2024-04-14)

Bug Fixes

  • prefer-tacit: handling functions that don't map to directly to an eslint node (#802) (423e249)

6.4.0 (2024-04-01)

Bug Fixes

  • type-declaration-immutability: replace fixer with suggestions for recommended and lite configs (ae62abb)

Features

  • type-declaration-immutability: add support for in-editor suggestions (7a0a790), closes #797

6.3.2 (2024-04-01)

Bug Fixes

  • readonly-type: empty object types should not trigger reports (fc6a394), closes #796

6.3.1 (2024-04-01)

Bug Fixes

  • improve types for flat configs (68e6450)

6.3.0 (2024-03-25)

Features

  • immutable-data: add option for ignoreNonConstDeclarations to treatParametersAsConst (#794) (059591a), closes #724

6.2.3 (2024-03-25)

Bug Fixes

  • no-mixed-types: handle more than just property signatures, check the type of type references (#793) (55bd794), closes #734

6.2.2 (2024-03-25)

Bug Fixes

  • immutable-data: ignore casting when evaluating the expressions (#792) (50e789a), closes #790

6.2.1 (2024-03-24)

Bug Fixes

6.2.0 (2024-03-22)

Bug Fixes

  • type-declaration-immutability: some (hopefully all) maximum call stack size exceeded errors (61c561c), closes #767

Features

6.2.0-next.3 (2024-03-14)

Features

  • move flat configs to new "flat" subpackage (1d3533f)

6.2.0-next.2 (2024-03-14)

Bug Fixes

6.2.0-next.1 (2024-03-13)

Features

  • add support for flat configs (901d52a)

6.1.1 (2024-03-11)

Bug Fixes

  • immutable-data: handle immediate mutation of arrays generated from strings (b003d1c), closes #759

6.1.0 (2024-03-10)

Bug Fixes

  • immutable-data: treat Object.entries({}).sort() as immediate mutation (245886f), closes #773

Features

  • new config to disable all rules that require type info (af30f15)

6.0.1 (2024-02-23)

Bug Fixes

  • typos in function names (05b2f9c)

6.0.0 (2023-07-30)

Features

  • functional-parameters: add option to ignore getters and setters (9c89b9e)
  • immutable-data: add new option ignoreNonConstDeclarations (ecde24a), closes #691
  • no-expression-statements: add option to ignore self returning functions (894fb91), closes #611
  • prefer-immutable-types: use suggestions instead of a fixer by default (#598) (3fb9028)
  • remove assumeTypes option (6be5862)
  • add sanity checks to type immutablity override settings (d3ce5b0)
  • replace ignorePattern option with ignoreIdentifierPattern and ignoreCodePattern (48d8eba), closes #467

Build System

  • increase minimum supported TypeScript version to 4.3.5 (aefe6b2)

BREAKING CHANGES

  • replace ignorePattern option with ignoreIdentifierPattern and ignoreCodePattern
  • increase minimum supported TypeScript version to 4.3.5
  • remove assumeTypes option
  • prefer-immutable-types: The fixer config no longer inherits as many options as before; be sure to be explicit in your configs.

5.0.8 (2023-04-15)

Bug Fixes

  • prefer-immutable-types: support private identifier (#634) (6349a92)

5.0.7 (2023-03-21)

5.0.6 (2023-03-11)

Bug Fixes

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

5.0.5 (2023-03-07)

Bug Fixes

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

5.0.4 (2023-02-06)

Bug Fixes

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

5.0.3 (2023-02-06)

Bug Fixes

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

5.0.2 (2023-02-04)

Bug Fixes

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

5.0.1 (2023-02-02)

Bug Fixes

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

5.0.0 (2023-01-29)

Bug Fixes

  • drop dependency on tsutils (7a63d89)
  • fix meta data and improve doc generation (1f50625)
  • no-mixed-types: add support for TypeLiteral inside Readonly<> (1da622d), closes #500
  • prefer-immutable-types: fix string[] to readonly string[] (a6a27ff)
  • prefer-immutable-types: improve the fixer (4bba113)
  • prefer-tacit: use suggestions instead of a fixer and improve how that suggestion works (8473743)
  • type-declaration-immutability: don't strip whitespace formatting from node text (8dcaa4d)

Build System

  • bump minimum supported version of node to 16.10 (23b45d2)
  • bump minimum supported version of TypeScript to 4.0.2 (405102b)

Features

  • add new strict ruleset and reduce strictness of the recommended ruleset (26424e0)
  • functional-parameters: add option to ignore lambda function expressions (044e54b)
  • no-classes: rename rule from no-class (76a8e2d)
  • no-conditional-statements: rename rule from no-conditional-statement (82b21fa)
  • no-expression-statements: rename rule from no-expression-statement (d0f9e98)
  • no-loop-statements: rename rule from no-loop-statement (683209d)
  • no-method-signature: rename to prefer-property-signatures & move it to stylistic ruleset (da2259f)
  • no-mixed-types: rename rule from no-mixed-type (392f9e8)
  • no-this-expression: remove no-this-expression from recommended and lite rulesets (bbd798b)
  • no-this-expressions: rename rule from no-this-expression (10c3bb6)
  • no-throw-statements: rename rule from no-throw-statement (4be92c8)
  • no-try-statements: rename rule from no-try-statement (e88828a)
  • prefer-immutable-types: add fixer for class properties (5e047c2)
  • prefer-immutable-types: add support for a fixer (195ee1a)
  • prefer-immutable-types: create rule (2552d55)
  • prefer-immutable-types: improve ignore options (8a35e52)
  • prefer-property-signatures: rename ignoreIfReadonly to ignoreIfReadonlyWrapped (86f354b)
  • prefer-readonly-type: deprecated this rule (82816a0)
  • readonly-type: create rule (64af937)
  • remove @typescript-eslint/prefer-readonly-parameter-types from external-recommended (72aa204)
  • rename many of the options (b47e983)
  • rename ruleset no-object-orientation to no-other-paradigms (7ec10c6)
  • split external-recommended rulesets into vanilla and typescript variants (1e7f77a)
  • type-declaration-immutability: add fixer support (2189397)
  • type-declaration-immutability: create rule (941e774)
  • update ruleset configurations (c195d8e)

BREAKING CHANGES

  • rename many of the options
  • no-try-statements: rename rule from no-try-statement
  • no-throw-statements: rename rule from no-throw-statement
  • no-this-expressions: rename rule from no-this-expression
  • no-mixed-types: rename rule from no-mixed-type
  • no-loop-statements: rename rule from no-loop-statement
  • no-expression-statements: rename rule from no-expression-statement
  • no-conditional-statements: rename rule from no-conditional-statement
  • no-classes: rename rule from no-class
  • no-this-expression: remove no-this-expression from recommended and lite rulesets
  • prefer-property-signatures: rename ignoreIfReadonly to ignoreIfReadonlyWrapped and set it to false by default
  • rename ruleset no-object-orientation to no-other-paradigms
  • add new strict ruleset and reduce strictness of the recommended ruleset
  • update ruleset configurations
  • split external-recommended rulesets into vanilla and typescript variants
  • remove @typescript-eslint/prefer-readonly-parameter-types from external-recommended
  • no-method-signature: rename to prefer-property-signatures & move it to stylistic ruleset
  • bump minimum supported version of TypeScript to 4.0.2
  • bump minimum supported version of node to 16.10

4.4.1 (2022-10-03)

Bug Fixes

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

4.4.0 (2022-09-20)

Features

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

4.3.2 (2022-09-19)

4.3.1 (2022-09-14)

Bug Fixes

  • no-return-void: check additional ts function types (3db661d)

4.3.0 (2022-09-08)

Bug Fixes

  • prefer-tacit: assign callee to a new variable when autofixing function declarations (4467d1b)

Features

  • prefer-tacit: support autofixing function calls with type parameters (#415) (e752ced)

4.2.2 (2022-07-22)

Bug Fixes

  • typos and tighten a sentence (9da0455)

4.2.1 (2022-04-06)

4.2.0 (2022-02-06)

Features

  • no-throw-statements: add an option to allow throw statements within async functions (#330) (7cee76b)

4.1.1 (2022-01-08)

Bug Fixes

4.1.0 (2022-01-08)

Features

  • no-let: add option to allow lets inside of for loop initializers (#306) (71769f3)

4.0.2 (2021-10-24)

Bug Fixes

  • get the coorect identifier text of values in object expressions (#285) (a267af6)
  • off config no longer contains "overrides" (#286) (5ad533d)

4.0.1 (2021-10-24)

Bug Fixes

  • ignore pattern - "id" and "key" values are only used if defined (77d6dd6)

4.0.0 (2021-10-17)

Bug Fixes

  • bring rule meta data "recommended" into line with the recommend config (3c4a042)

chore

  • remove deprecated rule: prefer-type-literal (3a54331)
  • remove deprecated stylitic ruleset (2b96760)
  • update minimum required node version to 12 (97acb3f)

Features

  • add an off preset (686b7fe)
  • add stylistic rules to lite and recommended rule sets (b81b4c7)
  • external-recommended: update recommended external rules (353acb3)
  • no-return-void: implicit types are now checked by default (2adbe14)
  • prefer-tacit: disable prefer-tacit by default in recommended and lite configs (6f9204d)

BREAKING CHANGES

  • no-return-void: implicit types are now checked by default
  • external-recommended: update recommended external rules
  • rule "prefer-type-literal" has been removed.
  • removed stylitic ruleset in favor of stylistic ruleset
  • Node ^12.22.0 or ^14.17.0 or >=16.0.0 is now required

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Generated by auto-changelog.

Fixed

  • fix(no-conditional-statements): break/continue are no longer treated as returning inside of a switch #272

v3.7.1 - 2021-09-20

Fixed

  • fix(no-conditional-statements): branch with break/continue statements now treated as returning branch #269

v3.7.0 - 2021-08-28

Commits

  • refactor: change implementation to not to be selector-based as requested 8350384
  • feat(no-method-signature): properly handle Readonly&lt;{TSMethodSignature}&gt; 18d178f
  • feat: add option ignoreIfReadonly 2d4963b

v3.6.0 - 2021-08-13

Merged

  • Use pull_request_target #254

Fixed

  • feat(no-expression-statements): add option ignoreVoid #71
  • docs: update tslint migration guide #214

v3.5.0 - 2021-08-01

Commits

  • feat(no-return-void): add option to allow for checking implicit return types 6fb1604
  • docs: update readme for using with typescript ba8fe86
  • build(deps-dev): bump tsutils from 3.17.1 to 3.21.0 1c921ea

v3.4.1 - 2021-07-31

Commits

  • feat(no-conditional-statements): allow switches that exhaust all types 35a72f1

v3.4.0 - 2021-07-31

Merged

  • docs: enable github discussions and remove link to spectrum #238

Fixed

  • fix(prefer-tacit): cannot read property 'type' of undefined #221 #194
  • fix(prefer-readonly-type): allow inline mutable return types #98
  • fix(prefer-readonly-type): computed property fixer #200

v3.3.0 - 2021-07-27

Fixed

  • feat(no-conditional-statements): support never-returning functions for option allowReturningBranches #99

v3.2.2 - 2021-07-23

Fixed

  • fix(prefer-type-literal): deprecated rule #170

v3.2.1 - 2021-01-01

Merged

  • build(deps-dev): bump @typescript-eslint/eslint-plugin from 4.9.1 to 4.11.1 #175
  • build(deps-dev): bump @rollup/plugin-typescript from 8.0.0 to 8.1.0 #164
  • build(deps): bump @typescript-eslint/experimental-utils from 4.9.1 to 4.11.0 #162
  • build(deps-dev): bump eslint from 7.15.0 to 7.16.0 #163
  • build(deps-dev): bump @typescript-eslint/parser from 4.9.1 to 4.11.0 #165
  • build(deps-dev): bump rollup from 2.34.2 to 2.35.1 #166
  • Automerge dependabot updates #167
  • chore: configure github settings #161
  • refactor: general tidy up of code and configs #149

v3.1.0 - 2020-10-08

Commits

  • feat(prefer-readonly-type): add option ignoreCollections ad53072
  • docs(prefer-type-literal): remove mention of removed option allowLocalMutation from docs c4b4051

v3.0.2 - 2020-08-23

Merged

  • improvement(prefer-type-literal): remove option allowLocalMutation #148
  • build(deps-dev): add peer dependencies #147
  • build(deps-peer): update typescript #146
  • build(deps-dev): update jest #145
  • build(deps-dev): bump eslint #144
  • build(deps-dev): bump typescript from 3.7.4 to 4.0.2 #141
  • build(deps-dev): bump lint-staged from 9.5.0 to 10.2.11 #135
  • build(deps-dev): bump rollup-plugin-typescript2 from 0.25.3 to 0.27.2 #139
  • build(deps-dev): bump shelljs from 0.8.3 to 0.8.4 #140
  • build(deps-dev): bump rollup from 1.29.0 to 2.26.5 #138
  • build(deps-dev): bump rimraf from 3.0.0 to 3.0.2 #137
  • build(deps-dev): bump husky from 4.0.6 to 4.2.5 #134
  • build(deps-dev): bump eslint-plugin-prettier from 3.1.2 to 3.1.4 #133
  • build(deps-dev): bump eslint-plugin-jsdoc from 20.1.0 to 30.2.4 #132
  • build(deps-dev): bump eslint-plugin-jest from 23.4.0 to 23.20.0 #131
  • build(deps-dev): bump babel-eslint from 10.0.3 to 10.1.0 #126
  • build(deps-dev): bump eslint-plugin-import from 2.20.0 to 2.22.0 #130
  • build(deps-dev): bump eslint-plugin-eslint-plugin from 2.2.0 to 2.3.0 #129
  • build(deps-dev): bump eslint-config-prettier from 6.9.0 to 6.11.0 #128
  • build(deps-dev): bump codecov from 3.7.1 to 3.7.2 #127
  • build(deps-dev): bump auto-changelog from 1.16.2 to 2.2.0 #125
  • build(deps-dev): bump @typescript-eslint/parser from 2.15.0 to 2.34.0 #124
  • build(deps-dev): bump @typescript-eslint/eslint-plugin from 2.15.0 to 2.34.0 #123
  • build(deps-dev): bump @types/estree from 0.0.42 to 0.0.45 #119
  • build(deps-dev): bump @types/jest from 24.0.25 to 26.0.10 #121
  • build(deps-dev): bump @types/glob from 7.1.1 to 7.1.3 #120
  • build(deps-dev): bump @types/eslint from 6.1.3 to 7.2.1 #118
  • build(deps): bump escape-string-regexp from 2.0.0 to 4.0.0 #117
  • Faster CI #142
  • fix(prefer-readonly-type): add support for mapped types #107
  • fix(immutable-data): add support for ignoring exceptions for update expressions #108
  • fix(type guard): cast with as as the type guard doesn't seem to be working correctly anymore #111
  • improvement(no-mixed-types): rule violations now mark the type as wrong, not members of the type #93
  • Reduce use of .reduce() #92

Fixed

  • improvement(prefer-type-literal): remove option allowLocalMutation #87
  • fix(prefer-readonly-type): add support for mapped types #106
  • fix(immutable-data): add support for ignoring exceptions for UpdateExpression #97

v3.0.1 - 2020-01-12

Commits

  • docs(changelog): update changelog for v3.0.0 d248311
  • build: auto changelog changes are now part of the same git commit as the release 7c369c8
  • docs(readme): fix issue with svg image not displaying on npmjs aa4f573

v3.0.0 - 2020-01-12

Merged

  • set up auto-changelog so we don't have to do it manually #90
  • Dependency Update. #89
  • Examples of correct/incorrect code for each rule #60
  • docs: rename 'allow-pattern.md' to 'ignore-pattern.md' #88
  • Prettier readme #85
  • Additional tests #86

Commits

  • Breaking change: build(dep): update all dependencies ce90405

v2.0.0 - 2019-12-29

Merged

  • build(deps): bump handlebars from 4.1.2 to 4.5.3 #84
  • Do not enforce a parameter count by default in the lite ruleset #83
  • Add a section to explicitly list all the rulesets #77
  • no longer include external recommended rules in the rulesets; put them in their own ruleset #80

Fixed

  • Breaking change: feat(functional-parameters): do not enforce a parameter count by default in the lite ruleset #79

Commits

  • fix: fix config type infor 0c4e097

v1.0.3 - 2019-12-29

Merged

  • Local mutation in a function now only refers to within the function's body #78
  • no-mixed-interface rule does not exist anymore #81

Fixed

  • fix(prefer-readonly-type): local mutation in a function only refers to within the function's body #75

v1.0.2 - 2019-12-11

Merged

  • feat(no-expression-statements): allow specifying directive prologues #74

Fixed

  • fix(no-expression-statements): allow specifying directive prologues #68

v1.0.1 - 2019-12-11

Merged

  • fix(typeguards): only assume types if type information is not avaliable #73
  • docs(readme): change tslint-immutable to eslint-plugin-functional #66 #69
  • docs(readme): fix typos #70

Fixed

  • fix(typeguards): only assume types if type information is not avaliable #72

v1.0.0 - 2019-10-14

Merged

  • Upgrade typescript-eslint packages #65
  • Rename to no-mutations #62

v1.0.0-rc.2 - 2019-08-07

Fixed

  • fix(prefer-readonly-type): index signatures in type literals can now be ignored #56

v1.0.0-rc.1 - 2019-08-07

Merged

  • fix(immutable-data): Implement option ignoreImmediateMutation #59
  • Rename Options #55
  • Fix #56 #57
  • tslint migration guide #54
  • Rename Rules #53

Fixed

  • Merge pull request #57 from jonaskello/issue-56 #56

v0.5.3 - 2019-08-03

Fixed

  • fix(immutable-data): ignore call expressions on ignored arrays #56

v0.5.2 - 2019-07-31

Merged

  • Ignore Pattern Improvements #52

v0.5.1 - 2019-07-30

Merged

  • feat(no-try): Add options allowCatch and allowFinally. #50

Fixed

  • build: Remove @typescript-eslint as a dependency and thus remove typescript as a dependency. #49

v0.5.0 - 2019-07-29

Merged

  • Refactor out the checkNode function for createRule. #48
  • Text matching of MemberExpression nodes now includes the property name #47
  • Test configs #43
  • feat(no-mixed-types): no-mixed-interface -> no-mixed-types #42
  • feat(configs): Create additional configs for each category of rules. #40
  • feat(functional-parameters): Add option to allow iifes #39
  • new rule: prefer-type #38

Fixed

  • feat(functional-parameters): Add option to allow iifes #37

Commits

  • Breaking change: feat(ignore options): text matching MemberExpression nodes should include the property name f4ab878

v0.4.0 - 2019-07-19

Merged

  • Rename the package #36

v0.3.0 - 2019-07-19

Merged

  • ReadonlySet and ReadonlyMap #30
  • prefer-readonly-types #29
  • no-return-void #28
  • functional-parameters #27
  • feat(readonly-keyword) Add support for parameter properties #26
  • no-conditional-statements #23
  • chore: Remove no-delete rule. #21
  • new rule: immutable-data #22

Fixed

  • feat(immutable-data): Prevent object mutation methods. #16

v0.2.1 - 2019-07-12

Merged

  • Remove no-let fixer #14

v0.2.0 - 2019-07-12

Merged

  • docs: Update supported rules. #8
  • Make the code more functional #9
  • Added ignoreAccessorPattern, ignorePattern now uses Regex matching #7
  • Ignore option fix #6
  • Consistent file casing #5
  • WIP: Port docs for each rule #3

Fixed

  • Breaking change: feat(ignore-option): Add ignoreAccessorPattern option to deal with accessors and switch ignorePatter #4

Commits

  • chore(no-array-mutation): Port of rule. 48d6c71

v0.1.0 - 2019-07-01

Merged

  • Update readme for eslint #2