{"id":14970967,"url":"https://github.com/jbjorge/diffx","last_synced_at":"2025-10-26T14:30:51.283Z","repository":{"id":49724736,"uuid":"370730616","full_name":"jbjorge/diffx","owner":"jbjorge","description":"A state management library for React, Vue.js, Svelte, Angular and vanilla javascript","archived":false,"fork":false,"pushed_at":"2021-09-27T21:21:25.000Z","size":4190,"stargazers_count":54,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-09-28T13:42:39.499Z","etag":null,"topics":["angular","async","diffx","diffx-devtools","react","react-hooks","rxjs","state-management","svelte","typescript","vue","vue3-typescript","vuejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jbjorge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-25T14:55:40.000Z","updated_at":"2024-06-25T00:33:50.000Z","dependencies_parsed_at":"2022-09-12T23:21:45.175Z","dependency_job_id":null,"html_url":"https://github.com/jbjorge/diffx","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbjorge%2Fdiffx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbjorge%2Fdiffx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbjorge%2Fdiffx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbjorge%2Fdiffx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jbjorge","download_url":"https://codeload.github.com/jbjorge/diffx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219862755,"owners_count":16555951,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","async","diffx","diffx-devtools","react","react-hooks","rxjs","state-management","svelte","typescript","vue","vue3-typescript","vuejs"],"created_at":"2024-09-24T13:44:26.132Z","updated_at":"2025-10-26T14:30:50.772Z","avatar_url":"https://github.com/jbjorge.png","language":"TypeScript","readme":"# Diffx\n\nDiffx is a state management library that focuses on three things:\n\n* Make it easy to learn and use\n* Get rid of boilerplate\n* Make great devtools\n\n### Key features\n\n🤏 Small API and a very compact syntax  \n🔍 Tracks the _reason_ behind changes to the state  \n🔧 Devtools that track:  \n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- what, when, where and **why** state changed  \n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- async start/resolution  \n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- nested changes  \n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- changes triggered by watchers  \n💾 Built in persistence  \n📝 Written in Typescript, inferring your types\n\n## Supported frameworks\n\n### ![React logo](https://github.com/jbjorge/diffx/raw/master/assets/framework-logos/react.png) React\n\n* [documentation](https://github.com/jbjorge/diffx/tree/master/react)\n* [npm package](https://npmjs.org/package/@diffx/react)\n\n### ![Vue logo](https://github.com/jbjorge/diffx/raw/master/assets/framework-logos/vue.png) Vue.js\n\n* [documentation](https://github.com/jbjorge/diffx/tree/master/vue)\n* [npm package](https://npmjs.org/package/@diffx/vue)\n\n### ![Svelte logo](https://github.com/jbjorge/diffx/raw/master/assets/framework-logos/svelte.png) Svelte\n\n* [documentation](https://github.com/jbjorge/diffx/tree/master/svelte)\n* [npm package](https://npmjs.org/package/@diffx/svelte)\n\n### ![Angular logo](https://github.com/jbjorge/diffx/raw/master/assets/framework-logos/angular.png) Angular\n\n* [documentation](https://github.com/jbjorge/diffx/tree/master/angular)\n* [npm package](https://npmjs.org/package/@diffx/angular)\n\n### ![RxJS logo](https://github.com/jbjorge/diffx/raw/master/assets/framework-logos/rxjs.png) RxJS\n\n* [documentation](https://github.com/jbjorge/diffx/tree/master/rxjs)\n* [npm package](https://npmjs.org/package/@diffx/rxjs)\n\n### No framework\n\n* [documentation](https://github.com/jbjorge/diffx/tree/master/core)\n* [npm package](https://npmjs.org/package/@diffx/core)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbjorge%2Fdiffx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbjorge%2Fdiffx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbjorge%2Fdiffx/lists"}