effector

Business logic with ease ☄️

https://github.com/effector/effector

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 169 committers (0.6%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.6%) to scientific vocabulary

Keywords

business-logic effector event-driven reactive state state-management state-manager

Keywords from Contributors

pdes hack interpretability meshing json-schema milp optim battery standardization swagger-ui
Last synced: 6 months ago · JSON representation ·

Repository

Business logic with ease ☄️

Basic Info
  • Host: GitHub
  • Owner: effector
  • License: mit
  • Language: TypeScript
  • Default Branch: master
  • Homepage: https://effector.dev
  • Size: 133 MB
Statistics
  • Stars: 4,755
  • Watchers: 48
  • Forks: 254
  • Open Issues: 144
  • Releases: 167
Topics
business-logic effector event-driven reactive state state-management state-manager
Created almost 8 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing Funding License Code of conduct Citation

README.md

Effector Comet Logo


join gitter build status discord chat become a patron Ask DeepWiki

☄️ effector

Business logic with ease

Visit effector.dev for docs, guides and examples

Table of Contents

Introduction

Effector implements business logic with ease for Javascript apps (React/React Native/Vue/Svelte/Node.js/Vanilla), allows you to manage data flow in complex applications. Effector provides best TypeScript support out of the box.

Effector follows five basic principles:

  • Application stores should be as light as possible - the idea of adding a store for specific needs should not be frightening or damaging to the developer.
  • Application stores should be freely combined - data that the application needs can be statically distributed, showing how it will be converted in runtime.
  • Autonomy from controversial concepts - no decorators, no need to use classes or proxies - this is not required to control the state of the application and therefore the api library uses only functions and plain js objects
  • Predictability and clarity of API - a small number of basic principles are reused in different cases, reducing the user's workload and increasing recognition. For example, if you know how .watch works for events, you already know how .watch works for stores.
  • The application is built from simple elements - space and way to take any required business logic out of the view, maximizing the simplicity of the components.

Installation

You can use any package manager

bash npm add effector

React

To getting started read our article how to write React and Typescript application.

bash npm add effector effector-react

SolidJS

bash npm add effector effector-solid

Vue

bash npm add effector effector-vue

Svelte

Svelte works with effector out of the box, no additional packages needed. See word chain game application written with svelte and effector.

CDN

  • https://www.jsdelivr.com/package/npm/effector
  • https://cdn.jsdelivr.net/npm/effector/effector.cjs.js
  • https://cdn.jsdelivr.net/npm/effector/effector.mjs
  • https://cdn.jsdelivr.net/npm/effector-react/effector-react.cjs.js
  • https://cdn.jsdelivr.net/npm/effector-vue/effector-vue.cjs.js

Documentation

For additional information, guides and api reference visit our documentation site

Packages

Articles

Community

Online playground

You can try effector with online playground

Code sharing, Typescript and react supported out of the box. Playground repository

DevTools

Use effector-logger for printing updates to console, displaying current store values with ui or connecting application to familiar redux devtools


More examples in documentation

Learn more

Support us

Your support allows us to improve the developer experience 🧡.

Contributors

Dmitry/
Dmitry
andretshurotshka/
andretshurotshka
Sova/
Sova
Alexander
Alexander Khoroshikh
popuguy/
popuguy
Igor
Igor Kamyşev
pxbuffer/
pxbuffer
Valeriy
Valeriy Kobzar
Yan/
Yan
Ruslan
Ruslan @doasync
Illia
Illia Osmanov
mg901/
mg901
Igor
Igor Ryzhov
Nikita
Nikita Kungurcev
Edward
Edward Gigolaev
Viktor/
Viktor
Arthur
Arthur Irgashev
Ilya/
Ilya
Ainur/
Ainur
Ilya
Ilya Olovyannikov
Mikhail
Mikhail Kireev
Arutyunyan
Arutyunyan Artem
Dmitrij
Dmitrij Shuleshov
Nikita
Nikita Nafranets
Ivan
Ivan Savichev
Aleksandr
Aleksandr Osipov
bakugod/
bakugod
Зухриддин
Зухриддин Камильжанов
Mikhail
Mikhail Krilov
Victor
Victor Didenko
Viktor
Viktor Pasynok
Kirill
Kirill Mironov
Andrei/
Andrei
Denis/
Denis
Filipkin
Filipkin Denis
Ivan/
Ivan
Ivanov
Ivanov Vadim
sergey20x25/
sergey20x25
Rastrapon/
Rastrapon
Dan/
Dan
Bohdan
Bohdan Petrov
Bartłomiej
Bartłomiej Wendt
Andrei
Andrei Antropov
☃︎/
☃︎
xaota/
xaota
cqh/
cqh
Aldiyar
Aldiyar Batyrbekov
Vladimir
Vladimir Ivakin
Vitaly
Vitaly Afonin
Victor/
Victor
Tauyekel
Tauyekel Kunzhol
Ivan/
Ivan
Sozonov/
Sozonov
Samir/
Samir
Renat
Renat Sagdeev
Kirill/
Kirill
Denis
Denis Sikuler
Chshanovskiy
Chshanovskiy Maxim
Arsen-95/
Arsen-95
Anton
Anton Yurovskykh
Anton
Anton Kosykh
Aleksandr
Aleksandr Belov
Usman
Usman Yunusov
Vasili
Vasili Sviridov
Vasili
Vasili Svirydau
Victor
Victor Kolb
Vladislav/
Vladislav
Vladislav
Vladislav Melnikov
Vladislav
Vladislav Botvin
Will
Will Heslam
xxxxue/
xxxxue
The
The Gitter Badger
Simon
Simon Muravev
Shiyan7/
Shiyan7
Sergey
Sergey Belozyorcev
Satya
Satya Rohith
Roman
Roman Paravaev
Roman/
Roman
Robert
Robert Kuzhin
Raman
Raman Aktsisiuk
Rachael
Rachael Dawn
vladthelittleone/
vladthelittleone
Vladimir/
Vladimir
roman/
roman
Eris/
Eris
lightningmq/
lightningmq
Kirill
Kirill Leushkin
kanno/
kanno
Ilya/
Ilya
ilfey/
ilfey
Houston
Houston (Bot)
Grigory
Grigory Zaripov
dmitryplyaskin/
dmitryplyaskin
Stanislav/
Stanislav
Артём
Артём Жолудь
ansunrisein/
ansunrisein
Anatoly
Anatoly Kopyl
Yesset
Yesset Zhussupov
Rasul
Rasul
bigslycat/
bigslycat
Dmitry
Dmitry Dudin
Dmitry/
Dmitry
Denis
Denis Skiba
Dinislam
Dinislam Maushov
Ayu/
Ayu
David/
David
Egor
Egor Gorochkin
Amar
Amar Sood
Александр/
Александр
Alexander/
Alexander
Alex
Alex Anokhin
jokecodes/
jokecodes
Alex
Alex Arro
Aleksandr
Aleksandr Grigorii
Abel
Abel Soares Siqueira
7iomka/
7iomka
Abdukerim
Abdukerim Radjapov
0xflotus/
0xflotus
Pavel
Pavel Hrakovich
Oleh/
Oleh
Oleg/
Oleg
Mike
Mike Cann
Nikita
Nikita Svoyachenko
Marco
Marco Pasqualetti
Ludovic
Ludovic Dem
Leniorko/
Leniorko
Lebedev
Lebedev Konstantin
Joel
Joel Bandi
Jesse
Jesse Jackson
Jan
Jan Keromnes
Ivan/
Ivan
Infant
Infant Frontender
Ilya
Ilya Martynov
Gleb
Gleb Kotovsky
Gabriel
Gabriel Husek
Ed
Ed Prince

Tested with browserstack

Owner

  • Name: effector ☄️
  • Login: effector
  • Kind: organization

Effector implements business logic with ease for Javascript apps

Citation (CITATION.cff)

authors: 
  - given-names: Zero Bias
cff-version: "1.2.0"
date-released: 2018-01-21
license: MIT
abstract: "Effector is an effective business logic manager for Javascript apps"
message: "If you use this software, please cite it using these metadata."
repository-code: "https://github.com/effector/effector/"
title: effector
version: "22.3.0"
url: "https://effector.dev"

GitHub Events

Total
  • Create event: 16
  • Release event: 4
  • Issues event: 44
  • Watch event: 173
  • Delete event: 10
  • Issue comment event: 56
  • Push event: 181
  • Pull request review comment event: 51
  • Pull request review event: 101
  • Pull request event: 152
  • Fork event: 23
Last Year
  • Create event: 16
  • Release event: 4
  • Issues event: 44
  • Watch event: 173
  • Delete event: 10
  • Issue comment event: 56
  • Push event: 181
  • Pull request review comment event: 51
  • Pull request review event: 101
  • Pull request event: 152
  • Fork event: 23

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 7,299
  • Total Committers: 169
  • Avg Commits per committer: 43.189
  • Development Distribution Score (DDS): 0.402
Past Year
  • Commits: 399
  • Committers: 32
  • Avg Commits per committer: 12.469
  • Development Distribution Score (DDS): 0.704
Top Committers
Name Email Commits
Zero Bias z****s@i****m 4,367
andretshurotshka a****r@g****m 814
Sergey Sova m****l@s****m 618
Alexander Khoroshikh 3****h 170
github-actions[bot] 4****] 153
popuguytheparrot d****w@g****m 121
Никита Кунгурцев N****v@a****u 118
Igor Kamyshev i****r@k****e 76
Egor Guscha f****e@g****m 65
Valery Kobzar k****s@g****m 54
doasync d****c@g****m 48
YanLobat y****v@g****m 43
Illia Osmanov i****v@g****m 36
mg901 m****7@g****m 32
Illia Osmanov (iosmanov) i****v@c****m 30
Igor Ryzhov v****1@g****m 26
bloadvenro b****o@m****u 24
Sergey Sova s****a@r****m 24
Arthur Irgashev a****v@g****m 23
Ilya 1****f 21
movpushmov g****d@g****m 19
Ainur Sharaev a****v@g****m 18
Kirill Mironov k****v@t****u 16
Ilya Olovyannikov 5****v 15
Arutyunyan Artyom a****r@y****u 14
Mikhail Kireev 2****p 13
Dmitrij Shuleshov 3****t@g****m 13
dependabot[bot] 4****] 13
Nikita Nafranets e****i@g****m 12
sterios_sav s****v@m****u 12
and 139 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 201
  • Total pull requests: 470
  • Average time to close issues: 11 months
  • Average time to close pull requests: 24 days
  • Total issue authors: 83
  • Total pull request authors: 58
  • Average comments per issue: 1.99
  • Average comments per pull request: 0.61
  • Merged pull requests: 387
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 33
  • Pull requests: 188
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 7 days
  • Issue authors: 21
  • Pull request authors: 28
  • Average comments per issue: 0.42
  • Average comments per pull request: 0.32
  • Merged pull requests: 147
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • zerobias (26)
  • igorkamyshev (19)
  • sergeysova (17)
  • AlexandrHoroshih (11)
  • mkhoussid (9)
  • domosedov (7)
  • kireevmp (5)
  • smenshikov (5)
  • NazariiShvets (4)
  • 7iomka (4)
  • xaota (4)
  • dovranJorayev (3)
  • Lonli-Lokli (3)
  • pijng (3)
  • velialiev (3)
Pull Request Authors
  • zerobias (92)
  • AlexandrHoroshih (59)
  • sentend (45)
  • igorkamyshev (45)
  • senzujuju (38)
  • Olovyannikov (23)
  • sergeysova (19)
  • kireevmp (19)
  • movpushmov (17)
  • egoson (8)
  • YanLobat (7)
  • alekcena (6)
  • ainursharaev (6)
  • Zukhrik (5)
  • ifeelBALANCED (4)
Top Labels
Issue Labels
bug (66) RFC (44) documentation (35) core (26) question (24) typings (23) needs triage (19) fork api (18) enhancement (13) effector-vue (12) effector-react (11) good first issue (10) breaking changes (10) effector/babel-plugin (8) forest (7) effector-solid (6) help wanted (6) seems outdated (4) nextjs (4) website (3) wontfix (3) integration (2) discussion (2) effector-react/scope (2) compatibility (1) invalid (1)
Pull Request Labels
documentation (38) enhancement (11) bug (6) typings (5) effector/babel-plugin (4) effector-solid (2) core (2) RFC (2) infra (2) breaking changes (1) effector-react (1) effector-vue (1) forest (1)

Packages

  • Total packages: 10
  • Total downloads:
    • npm 424,168 last-month
  • Total docker downloads: 150
  • Total dependent packages: 297
    (may contain duplicates)
  • Total dependent repositories: 1,528
    (may contain duplicates)
  • Total versions: 726
  • Total maintainers: 7
npmjs.org: effector

Business logic with ease

  • Versions: 276
  • Dependent Packages: 180
  • Dependent Repositories: 775
  • Downloads: 239,085 Last month
  • Docker Downloads: 75
Rankings
Dependent packages count: 0.3%
Downloads: 0.6%
Dependent repos count: 0.7%
Average: 1.1%
Stargazers count: 1.5%
Forks count: 2.4%
Funding
  • type: patreon: url: https://www.patreon.com/zero_bias
  • type: opencollective: url: https://opencollective.com/effector
Last synced: 6 months ago
npmjs.org: effector-react

React bindings for effector

  • Versions: 143
  • Dependent Packages: 96
  • Dependent Repositories: 640
  • Downloads: 175,952 Last month
  • Docker Downloads: 75
Rankings
Dependent packages count: 0.4%
Dependent repos count: 0.7%
Downloads: 0.7%
Average: 1.1%
Stargazers count: 1.5%
Forks count: 2.4%
Funding
  • type: patreon: url: https://www.patreon.com/zero_bias
  • type: opencollective: url: https://opencollective.com/effector
Last synced: about 1 year ago
npmjs.org: forest

UI engine for web

  • Versions: 34
  • Dependent Packages: 9
  • Dependent Repositories: 67
  • Downloads: 6,143 Last month
Rankings
Stargazers count: 1.5%
Downloads: 1.6%
Dependent repos count: 1.7%
Average: 1.9%
Dependent packages count: 2.2%
Forks count: 2.4%
Funding
  • type: patreon: url: https://www.patreon.com/zero_bias
  • type: opencollective: url: https://opencollective.com/effector
Last synced: 6 months ago
npmjs.org: effector-vue

Vue bindings for effector

  • Versions: 46
  • Dependent Packages: 5
  • Dependent Repositories: 36
  • Downloads: 1,670 Last month
Rankings
Stargazers count: 1.4%
Dependent repos count: 2.1%
Forks count: 2.3%
Downloads: 2.3%
Average: 2.4%
Dependent packages count: 3.7%
Funding
  • type: patreon: url: https://www.patreon.com/zero_bias
  • type: opencollective: url: https://opencollective.com/effector
Last synced: 6 months ago
npmjs.org: effector-solid

SolidJS bindings for effector

  • Versions: 16
  • Dependent Packages: 4
  • Dependent Repositories: 10
  • Downloads: 1,318 Last month
Rankings
Stargazers count: 1.4%
Forks count: 2.3%
Downloads: 2.7%
Average: 2.9%
Dependent repos count: 3.7%
Dependent packages count: 4.5%
Funding
  • type: patreon: url: https://www.patreon.com/zero_bias
  • type: opencollective: url: https://opencollective.com/effector
Last synced: 6 months ago
proxy.golang.org: github.com/effector/effector
  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.5%
Average: 5.7%
Dependent repos count: 5.9%
Last synced: 6 months ago
deno.land: effector

Business logic with ease ☄️

  • Versions: 195
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Stargazers count: 0.6%
Forks count: 0.7%
Average: 15.0%
Dependent packages count: 58.5%
Last synced: 6 months ago
npmjs.org: @sergeysova/effector-react

React bindings for effector

  • Versions: 2
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 0 Last month
Rankings
Stargazers count: 1.7%
Forks count: 2.7%
Dependent packages count: 16.2%
Average: 16.6%
Dependent repos count: 25.3%
Downloads: 37.2%
Maintainers (1)
Funding
  • type: patreon: url: https://www.patreon.com/zero_bias
  • type: opencollective: url: https://opencollective.com/effector
Last synced: 6 months ago
npmjs.org: @sergeysova/effector

The state manager

  • Versions: 2
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 0 Last month
Rankings
Stargazers count: 1.7%
Forks count: 2.7%
Dependent packages count: 16.2%
Average: 16.7%
Dependent repos count: 25.3%
Downloads: 37.2%
Maintainers (1)
Funding
  • type: patreon: url: https://www.patreon.com/zero_bias
  • type: opencollective: url: https://opencollective.com/effector
Last synced: 6 months ago
npmjs.org: @sergeysova/forest

UI engine for web

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 0 Last month
Rankings
Stargazers count: 1.7%
Forks count: 2.7%
Dependent packages count: 16.2%
Average: 18.4%
Dependent repos count: 25.3%
Downloads: 45.8%
Maintainers (1)
Funding
  • type: patreon: url: https://www.patreon.com/zero_bias
  • type: opencollective: url: https://opencollective.com/effector
Last synced: 6 months ago