Changelog
0.18.0
This release brings in ESLint v10 support, introduces a new rule no-units-spawn-in-render to catch spawning units during React render, and tightens mandatory-scope-binding when components are inferred from union return types.
Minor Changes
- 498b274: New rule
no-units-spawn-in-renderby @AlexandrHoroshih - d968622: Support ESLint v10 by @kireevmp
Patch Changes
- 2118d70:
mandatory-scope-binding: Improve component detection with union return type by @kireevmp
v0.17.0
Breaking Changes
- Minimum Node.js version is now
^20.9.0 || >=21.1.0(matches ESLint requirements) - Supports ESLint
^8.57.0 || ^9.0.0 - Codebase rewritten in TypeScript; 19 of 20 existing + 1 new rule (re)implemented using modern
@typescript-eslintAPIs - Now requires type-aware linting with
@typescript-eslint
Core Changes
- Native ESLint v9 flat config support via
flatConfigs(ESLint v8.eslintrcstill supported) - Public TypeScript type definitions (passes
publint&attw)
Rule Changes
no-forwardpromoted fromfuturetorecommendedpresetno-guardpromoted fromfuturetorecommendedpresetno-domain-unit-creatorsadded tofuturepreset (new rule)prefer-sample-over-forward-with-mappingremoved in favor ofno-forwardenforce-effect-naming-conventionnow handlescombine + fncorrectly
Internal
- Added bundling via
tsdown - Replaced Jest with Vitest v4; switched to
@typescript-eslint/rule-tester - Documentation upgraded to VitePress v2 with colocated markdown rule documentation
- Fixed
package.jsondependency declarations
v0.16.0
- Support typescript-eslint@8 (PR #180) by @7rulnik
v0.15.0
- Add new rule
require-pickup-in-persist(PR #163) by @kireevmp - Add support of Node.js 22
v0.14.0
- Add new rule
no-duplicate-clock-or-source-array-values(PR #155) by @gearonix - Add support of Node.js 21
- Fix false-positive in
enforce-store-naming-conventionrule (PR #159) by @kireevmp
v0.13.0
- Support new types
EventCallableandStoreWritablein all rules - Drop support of Effector 22
v0.12.0
- Migrate to TypeScript v5 and
@typescript-eslint/*v6 (PR #151) by @7rulnik - Drop support of Node.js 14 and Node.js 15 since its support is dropped by Node.js itself 2 years ago and new versions of TypeScript and
@typescript-eslint/*don't support it as well
v0.11.0
- Add support of Node.js 19 and Node.js 20 (PR #146) by @xarety
- Fixed edge-case of rule
enforce-store-naming-convention(PR #140) by @raidenmiro
v0.10.5
- Fix false-positive in
no-ambiguity-targetrule
v0.10.4
- Fix false-positive in
enforce-store-naming-conventionrule (PR #137)
v0.10.3
- Fix unhandled rejection in
enforce-store-naming-conventionrule
v0.10.2
- Fix unhandled exception in
no-patronum-debugrule
v0.10.1
- Fix false-positive in
no-patronum-debugrule (PR #126) by @raidenmiro
v0.10.0
- Allow using package on Node.js 15 and Node.js 17 (PR #124)
v0.9.1
- Fixed factory usage with
enforce-store-naming-convention(PR #122) by @Lonli-Lokli
v0.9.0
- Add new rule
no-patronum-debug(PR #121 by @raidenmiro)
v0.8.2
- Fix false-negative in
enforce-store-naming-conventionrule (PR #119 by @iposokhin)
v0.8.1
- Fix typo in
reactpreset config
v0.8.0
- Rule
mandatory-useEventis renamed tomandatory-scope-binding - Add new rule
prefer-useUnit
v0.7.6
- Fix
keep-options-ordercase for operators withgreedyoption
v0.7.5
- Fix
no-guard/no-forwardsuggestion bugs (PR #105 by @Minhir)
v0.7.4
- Fix false-positive in
mandatory-useEventon effect stores
v0.7.3
- Fix false-positive in
mandatory-useEvent
v0.7.2
- Handle case with two arguments in
guardofno-guard
v0.7.1
- Handle case with empty fields in
no-guard/no-forward
v0.7.0
Rules
- Add new rule
no-guard(PR #88) - Add new rule
mandatory-useEvent(PR #100 by @AlexandrHoroshih) - Support Node.js 18 (PR #101)
Presets
- Add
mandatory-useEventtoscopepreset
v0.6.0
- Add new rule
keep-options-order(PR #81) - Add new rule
no-forward(PR #82) - Fix false-positive on nested object with store in
no-duplicate-on(PR #86) - Fix possible exception on WIP code in some IDEs in
no-duplicate-on
v0.5.2
- Fix error of parsing empty function in
strict-effect-handlers
v0.5.1
- Fix possible exceptions on non-effector code
v0.5.0
Rules
- Add new rule
no-duplicate-on(PR #76) - Add new rule
strict-effect-handlers(PR #78) - Add new rule
enforce-gate-naming-convention(PR #80)
Presets
Fixes
- Fix incorrect suggestion in IDE in rule
enforce-store-naming-convention
v0.4.2
- Fix false-positive in
no-useless-methodsrule (PR #77)
v0.4.1
- Specify ESLint version in peerDependencies
- Fix false-positive in
no-unnecessary-combinationrule (PR #64)
v0.4.0
- Add new rule:
no-watch(PR #51 by @binjospookie) - Add new rule:
no-unnecessary-combination(PR #43) - Decrease package size in
node_modules42.4 kB -> 39.3 kB (PR #54) - Add links to rule docs to IDE prompts (PR #55)
- Support ESLint 8 (PR #58)
v0.3.1
- Fixed false-positive in
no-ambiguity-targetwith factories (PR #50)
v0.3.0
- Add new rule:
no-useless-methods(PR #41) - Add new rule:
no-ambiguity-target(PR #42) - Add possibility to configure store's naming convention — suffix of prefix (PR #37 by @ilyaryabchinski)
v0.2.0
- Add tests against Effector 22
- Specify supported Node.JS versions
- Add new rule:
prefer-sample-over-forward-with-mapping(PR #34)
v0.1.4
- Exclude test-coverage report from npm-package
- Fixed SyntaxError in
no-unnecessary-duplicationsuggestions (PR #28)