All notable changes to this project will be documented in this file. Dates are displayed in UTC.
7.1.0 (2024-10-20)
7.0.3 (2024-10-20)
- 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)
7.0.1 (2024-08-07)
- don't throw when typescript can't be resolved (afb05bd)
7.0.0 (2024-08-05)
- 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
withallowToRejectPromises
(#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)
- 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
withallowToRejectPromises
(#839)
6.6.3 (2024-07-11)
- immutable-data: ignoreAccessorPattern can now handle NonNullExpressions and ChainExpressions (#849) (f6ff69b), closes #840
6.6.2 (2024-07-11)
- 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)
6.5.2 (2024-06-19)
6.5.1 (2024-04-15)
6.5.0 (2024-04-15)
6.4.1 (2024-04-14)
6.4.0 (2024-04-01)
- type-declaration-immutability: replace fixer with suggestions for recommended and lite configs (ae62abb)
6.3.2 (2024-04-01)
6.3.1 (2024-04-01)
- improve types for flat configs (68e6450)
6.3.0 (2024-03-25)
- immutable-data: add option for
ignoreNonConstDeclarations
totreatParametersAsConst
(#794) (059591a), closes #724
6.2.3 (2024-03-25)
- 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)
6.2.1 (2024-03-24)
- esm conditional imports (a31b512), closes #791
- improve typing exposed for flat configs (6a65ac1)
- type errors (b73bcd2)
6.2.0 (2024-03-22)
- type-declaration-immutability: some (hopefully all) maximum call stack size exceeded errors (61c561c), closes #767
6.2.0-next.3 (2024-03-14)
- move flat configs to new "flat" subpackage (1d3533f)
6.2.0-next.2 (2024-03-14)
6.2.0-next.1 (2024-03-13)
- add support for flat configs (901d52a)
6.1.1 (2024-03-11)
6.1.0 (2024-03-10)
- new config to disable all rules that require type info (af30f15)
6.0.1 (2024-02-23)
- typos in function names (05b2f9c)
6.0.0 (2023-07-30)
- 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 withignoreIdentifierPattern
andignoreCodePattern
(48d8eba), closes #467
- increase minimum supported TypeScript version to 4.3.5 (aefe6b2)
- replace
ignorePattern
option withignoreIdentifierPattern
andignoreCodePattern
- 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)
5.0.7 (2023-03-21)
5.0.6 (2023-03-11)
5.0.5 (2023-03-07)
5.0.4 (2023-02-06)
- prefer-immutable-types: inheriting of config options (b528bc7)
5.0.3 (2023-02-06)
- add missing dependency "@typescript-eslint/type-utils" (7bd4d03)
5.0.2 (2023-02-04)
- prefer-immutable-types: handling of destructuring assignment (e390f54)
5.0.1 (2023-02-02)
5.0.0 (2023-01-29)
- 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[]
toreadonly 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)
- bump minimum supported version of node to 16.10 (23b45d2)
- bump minimum supported version of TypeScript to 4.0.2 (405102b)
- 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 tostylistic
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
toignoreIfReadonlyWrapped
(86f354b) - prefer-readonly-type: deprecated this rule (82816a0)
- readonly-type: create rule (64af937)
- remove
@typescript-eslint/prefer-readonly-parameter-types
fromexternal-recommended
(72aa204) - rename many of the options (b47e983)
- rename ruleset
no-object-orientation
tono-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)
- 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
toignoreIfReadonlyWrapped
and set it tofalse
by default - rename ruleset
no-object-orientation
tono-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
fromexternal-recommended
- no-method-signature: rename to
prefer-property-signatures
& move it tostylistic
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)
- prefer-tacit: handling of member expressions and be more strict with optional parameters (a277c2a), closes #486
4.4.0 (2022-09-20)
4.3.2 (2022-09-19)
4.3.1 (2022-09-14)
- no-return-void: check additional ts function types (3db661d)
4.3.0 (2022-09-08)
- prefer-tacit: assign callee to a new variable when autofixing function declarations (4467d1b)
4.2.2 (2022-07-22)
- typos and tighten a sentence (9da0455)
4.2.1 (2022-04-06)
4.2.0 (2022-02-06)
- no-throw-statements: add an option to allow throw statements within async functions (#330) (7cee76b)
4.1.1 (2022-01-08)
4.1.0 (2022-01-08)
4.0.2 (2021-10-24)
- 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)
- ignore pattern - "id" and "key" values are only used if defined (77d6dd6)
4.0.0 (2021-10-17)
- bring rule meta data "recommended" into line with the recommend config (3c4a042)
- remove deprecated rule: prefer-type-literal (3a54331)
- remove deprecated stylitic ruleset (2b96760)
- update minimum required node version to 12 (97acb3f)
- 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)
- 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
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
.
- fix(no-conditional-statements): break/continue are no longer treated as returning inside of a switch
#272
v3.7.1 - 2021-09-20
- fix(no-conditional-statements): branch with break/continue statements now treated as returning branch
#269
v3.7.0 - 2021-08-28
- refactor: change implementation to not to be selector-based as requested
8350384
- feat(no-method-signature): properly handle
Readonly<{TSMethodSignature}>
18d178f
- feat: add option
ignoreIfReadonly
2d4963b
v3.6.0 - 2021-08-13
- Use pull_request_target
#254
v3.5.0 - 2021-08-01
- 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
- feat(no-conditional-statements): allow switches that exhaust all types
35a72f1
v3.4.0 - 2021-07-31
- docs: enable github discussions and remove link to spectrum
#238
- 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
- feat(no-conditional-statements): support never-returning functions for option allowReturningBranches
#99
v3.2.2 - 2021-07-23
- fix(prefer-type-literal): deprecated rule
#170
v3.2.1 - 2021-01-01
- 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
- 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
- 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
- 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
- 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
- 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
- Breaking change: build(dep): update all dependencies
ce90405
v2.0.0 - 2019-12-29
- 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
- Breaking change: feat(functional-parameters): do not enforce a parameter count by default in the lite ruleset
#79
- fix: fix config type infor
0c4e097
v1.0.3 - 2019-12-29
- Local mutation in a function now only refers to within the function's body
#78
- no-mixed-interface rule does not exist anymore
#81
- fix(prefer-readonly-type): local mutation in a function only refers to within the function's body
#75
v1.0.2 - 2019-12-11
- feat(no-expression-statements): allow specifying directive prologues
#74
- fix(no-expression-statements): allow specifying directive prologues
#68
v1.0.1 - 2019-12-11
- 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
- fix(typeguards): only assume types if type information is not avaliable
#72
v1.0.0 - 2019-10-14
v1.0.0-rc.2 - 2019-08-07
- fix(prefer-readonly-type): index signatures in type literals can now be ignored
#56
v1.0.0-rc.1 - 2019-08-07
- fix(immutable-data): Implement option ignoreImmediateMutation
#59
- Rename Options
#55
- Fix #56
#57
- tslint migration guide
#54
- Rename Rules
#53
- Merge pull request #57 from jonaskello/issue-56
#56
v0.5.3 - 2019-08-03
- fix(immutable-data): ignore call expressions on ignored arrays
#56
v0.5.2 - 2019-07-31
- Ignore Pattern Improvements
#52
v0.5.1 - 2019-07-30
- feat(no-try): Add options allowCatch and allowFinally.
#50
- build: Remove @typescript-eslint as a dependency and thus remove typescript as a dependency.
#49
v0.5.0 - 2019-07-29
- 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
- feat(functional-parameters): Add option to allow iifes
#37
- Breaking change: feat(ignore options): text matching MemberExpression nodes should include the property name
f4ab878
v0.4.0 - 2019-07-19
- Rename the package
#36
v0.3.0 - 2019-07-19
- 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
- feat(immutable-data): Prevent object mutation methods.
#16
v0.2.1 - 2019-07-12
- Remove no-let fixer
#14
v0.2.0 - 2019-07-12
- 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
- Breaking change: feat(ignore-option): Add ignoreAccessorPattern option to deal with accessors and switch ignorePatter
#4
- chore(no-array-mutation): Port of rule.
48d6c71
- Update readme for eslint
#2