{"id":14156556,"url":"https://github.com/saasquatch/bunshi","last_synced_at":"2025-04-14T08:56:37.142Z","repository":{"id":38941028,"uuid":"476393015","full_name":"saasquatch/bunshi","owner":"saasquatch","description":"Molecule pattern for jotai, valtio, zustand, nanostores, xstate, react and vue","archived":false,"fork":false,"pushed_at":"2025-02-04T05:29:52.000Z","size":1942,"stargazers_count":263,"open_issues_count":16,"forks_count":18,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-07T16:08:57.551Z","etag":null,"topics":["dependency-injection","react","vue"],"latest_commit_sha":null,"homepage":"https://www.bunshi.org/","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/saasquatch.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-31T16:39:53.000Z","updated_at":"2025-04-03T23:42:41.000Z","dependencies_parsed_at":"2023-09-22T04:35:19.033Z","dependency_job_id":"b409e543-e102-40c4-9af8-72e753d17407","html_url":"https://github.com/saasquatch/bunshi","commit_stats":null,"previous_names":["saasquatch/bunshi"],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saasquatch%2Fbunshi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saasquatch%2Fbunshi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saasquatch%2Fbunshi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saasquatch%2Fbunshi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saasquatch","download_url":"https://codeload.github.com/saasquatch/bunshi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248852112,"owners_count":21171839,"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":["dependency-injection","react","vue"],"created_at":"2024-08-17T08:06:25.563Z","updated_at":"2025-04-14T08:56:37.120Z","avatar_url":"https://github.com/saasquatch.png","language":"TypeScript","readme":"![Jotai (light mode)](./logo/bunshi.svg)\n\n# Bunshi (formerly `jotai-molecules`)\n\n- **[Documentation](https://bunshi.org)**\n\nA tiny, fast, dependency-free 3kb library for creating states stores and other dependencies that lets you lift state up or push state down. Works out of the box with React, Vue and vanilla javascript and Typescript.\n\n\u003e Definition: Bunshi (分子 / ぶんし) - Japanese for molecule, member or element.\n\nWorks well with state solutions like:\n\n- [jotai](https://jotai.org/) atoms\n- [valtio](https://valtio.pmnd.rs/) proxies\n- [zustand](https://zustand-demo.pmnd.rs/) stores\n- [nanostores](https://github.com/nanostores/nanostores)\n- [vue reactive](https://vuejs.org/guide/scaling-up/state-management.html#simple-state-management-with-reactivity-api)\n\nComes out of the box with support for:\n\n- React\n- Vue\n- Vanilla Javascript \u0026 Typescript\n\nSee [the docs](https://bunshi.org) for more details on why we created this library and how to use it.\n\nInspired by [jotai](https://jotai.org/) and [guice](https://github.com/google/guice).\n\n## Installation\n\nThis module is published on NPM as `bunshi`\n\n```sh\nnpm i bunshi\n```\n\n## Documentation\n\nCheck out the docs on [bunshi.org](https://bunshi.org).\n\n## Migrating from jotai-molecules\n\nComing from an older version of jotai-molecules? The core API and functionality is the same, but bunshi no longer\nassumes react as the default use case.\n\n```diff\nimport { atom } from \"jotai\"\n- import { molecule, useMolecule } from \"jotai-molecules\"\n+ import { molecule, useMolecule } from \"bunshi/react\"\n\nconst countMolecule = molecule(()=\u003eatom(0));\n\nconst Counter = ()=\u003e{\n\n    const [count,setCount] = useAtom(useMolecule(countMolecule));\n\n    return \u003cdiv\u003e\n        Count is {count}\n        \u003cbutton onClick={()=\u003esetCount(c=\u003ec+1)}\u003eIncrement\u003c/button\u003e\n    \u003c/div\u003e\n}\n```\n","funding_links":[],"categories":["vue"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaasquatch%2Fbunshi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaasquatch%2Fbunshi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaasquatch%2Fbunshi/lists"}