{"id":13559132,"url":"https://github.com/vuex-orm/vuex-orm","last_synced_at":"2025-05-15T00:07:02.951Z","repository":{"id":21966172,"uuid":"94569514","full_name":"vuex-orm/vuex-orm","owner":"vuex-orm","description":"The Vuex plugin to enable Object-Relational Mapping access to the Vuex Store.","archived":false,"fork":false,"pushed_at":"2022-12-10T17:16:42.000Z","size":7961,"stargazers_count":2343,"open_issues_count":157,"forks_count":163,"subscribers_count":36,"default_branch":"master","last_synced_at":"2025-05-13T23:15:31.062Z","etag":null,"topics":["orm","vue","vuex","vuex-orm","vuex-plugin"],"latest_commit_sha":null,"homepage":"https://vuex-orm.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/vuex-orm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"kiaking"}},"created_at":"2017-06-16T18:05:37.000Z","updated_at":"2025-05-12T18:25:25.000Z","dependencies_parsed_at":"2023-01-11T21:25:41.676Z","dependency_job_id":null,"html_url":"https://github.com/vuex-orm/vuex-orm","commit_stats":null,"previous_names":["revolver-app/vuex-orm"],"tags_count":104,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuex-orm%2Fvuex-orm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuex-orm%2Fvuex-orm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuex-orm%2Fvuex-orm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vuex-orm%2Fvuex-orm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vuex-orm","download_url":"https://codeload.github.com/vuex-orm/vuex-orm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254249198,"owners_count":22039029,"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":["orm","vue","vuex","vuex-orm","vuex-plugin"],"created_at":"2024-08-01T12:05:22.222Z","updated_at":"2025-05-15T00:06:57.936Z","avatar_url":"https://github.com/vuex-orm.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"192\" src=\"https://github.com/vuex-orm/vuex-orm/raw/master/logo-vuex-orm.png\" alt=\"Vuex ORM\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eVuex ORM\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://travis-ci.org/vuex-orm/vuex-orm\"\u003e\n    \u003cimg src=\"https://travis-ci.org/vuex-orm/vuex-orm.svg?branch=master\" alt=\"Travis CI\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/vuex-orm/vuex-orm\"\u003e\n    \u003cimg src=\"https://codecov.io/gh/vuex-orm/vuex-orm/branch/master/graph/badge.svg\" alt=\"codecov\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@vuex-orm/core\"\u003e\n    \u003cimg alt=\"npm\" src=\"https://img.shields.io/npm/v/@vuex-orm/core?color=blue\" alt=\"NPM\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://standardjs.com\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/code_style-standard-brightgreen.svg\" alt=\"JavaScript Style Guide\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/vuex-orm/vuex-orm/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/l/@vuex-orm/core.svg\" alt=\"License\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n:fire: **HEADS UP!** Currently, [Vuex ORM Next](https://github.com/vuex-orm/vuex-orm-next) project is on going, and we are hoping it is going to be the foundation of the version 1.0.0 release. We're not planning to add features to current v0.36.3 due to focusing more on Vuex ORM Next development. If you're new to Vuex ORM, please try out Vuex ORM Next.\n\n---\n\nVuex ORM is a plugin for [Vuex](https://github.com/vuejs/vuex) to enable Object-Relational Mapping access to the Vuex Store. Vuex ORM lets you create \"normalized\" data schema within Vuex Store with relationships such as \"Has One\" and \"Belongs To Many\" like any other usual ORM library. It also provides fluent API to get, search and update Store state.\n\nVuex ORM is heavily inspired by Redux recipe of [\"Normalizing State Shape\"](https://redux.js.org/recipes/structuring-reducers/normalizing-state-shape) and [\"Updating Normalized Data\"](https://redux.js.org/recipes/structuring-reducers/updating-normalized-data). Learn more about the concept and motivation of Vuex ORM at [What is Vuex ORM?](https://vuex-orm.github.io/vuex-orm/guide/prologue/what-is-vuex-orm.html).\n\n\u003ch2 align=\"center\"\u003eSponsors\u003c/h2\u003e\n\n\u003cp align=\"center\"\u003eVuex ORM is sponsored by awesome folks. Big love to all of them from whole Vuex ORM community :two_hearts:\u003c/p\u003e\n\n\u003ch4 align=\"center\"\u003eSuper Love Sponsors\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/petertoth\"\u003e\n    \u003cimg src=\"https://avatars2.githubusercontent.com/u/3661783?s=460\u0026v=4\" alt=\"Peter Tóth\" width=\"88\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/phaust\"\u003e\n    \u003cimg src=\"https://avatars1.githubusercontent.com/u/2367770?s=460\u0026v=4\" alt=\"Mario Kolli\" width=\"88\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/cannikan\"\u003e\n    \u003cimg src=\"https://avatars2.githubusercontent.com/u/21893904?s=460\u0026v=4\" alt=\"Cannikan\" width=\"88\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/somazx\"\u003e\n    \u003cimg src=\"https://avatars0.githubusercontent.com/u/7306?s=460\u0026v=4\" alt=\"Andy Koch\" width=\"88\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/dylancopeland\"\u003e\n    \u003cimg src=\"https://avatars1.githubusercontent.com/u/99355?s=460\u0026v=4\" alt=\"Dylan Copeland\" width=\"88\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch4 align=\"center\"\u003eBig Love Sponsors\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/geraldbiggs\"\u003e\n    \u003cimg src=\"https://avatars1.githubusercontent.com/u/3213608?s=460\u0026v=4\" alt=\"geraldbiggs\" width=\"64\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/cuebit\"\u003e\n    \u003cimg src=\"https://avatars0.githubusercontent.com/u/1493221?s=460\u0026v=4\" alt=\"Cue\" width=\"64\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/kazupon\"\u003e\n    \u003cimg src=\"https://avatars0.githubusercontent.com/u/72989?s=400\u0026u=d333c3048e3d6f8ed2a476a3564dba1fa5288b86\u0026v=4\" alt=\"Kazuya Kawaguchi\" width=\"64\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/jShaf\"\u003e\n    \u003cimg src=\"https://avatars3.githubusercontent.com/u/30289?s=400\u0026u=0460c0bd3a14fdd0a2858c38e4ef9b9bca6feba0\u0026v=4\" alt=\"jShaf\" width=\"64\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ibrainventures\"\u003e\n    \u003cimg src=\"https://avatars3.githubusercontent.com/u/8803626?s=460\u0026u=503790fc336254a8ac7987108996cc6c0b176229\u0026v=4\" alt=\"ibrainventures\" width=\"64\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch4 align=\"center\"\u003eA Love Sponsors\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/georgechaduneli\"\u003e\n    \u003cimg src=\"https://avatars1.githubusercontent.com/u/9340753?s=460\u0026v=4\" alt=\"George Chaduneli\" width=\"48\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/bpuig\"\u003e\n    \u003cimg src=\"https://avatars3.githubusercontent.com/u/22938625?s=460\u0026v=4\" alt=\"bpuig\" width=\"48\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/robokozo\"\u003e\n    \u003cimg src=\"https://avatars2.githubusercontent.com/u/1719221?s=400\u0026u=b5739798ee9a3d713f5ca3bd3d6a086c13d229a3\u0026v=4\" alt=\"John\" width=\"48\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/mean-cj\"\u003e\n    \u003cimg src=\"https://avatars3.githubusercontent.com/u/1191385?s=400\u0026u=d32b39fe065ee369e94bec47e5c3bde776262d3d\u0026v=4\" alt=\"mean-cj\" width=\"48\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/WoodyDark\"\u003e\n    \u003cimg src=\"https://avatars3.githubusercontent.com/u/40813266?s=400\u0026u=76a849aa78dfcaeb5abe8252d3d598c169cd1a82\u0026v=4\" alt=\"Jeffrey Soong\" width=\"48\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Documentation\n\nYou can check out the full documentation for Vuex ORM at https://vuex-orm.org.\n\n## Questions \u0026 Discussions\n\nJoin us on our [Slack Channel](https://join.slack.com/t/vuex-orm/shared_invite/enQtNDQ0NjE3NTgyOTY2LTc1YTI2N2FjMGRlNGNmMzBkMGZlMmYxOTgzYzkzZDM2OTQ3OGExZDRkN2FmMGQ1MGJlOWM1NjU0MmRiN2VhYzQ) for any questions and discussions.\n\nAlthough there is the Slack Channel, do not hesitate to open an [issue](https://github.com/vuex-orm/vuex-orm/issues) for any question you might have. We're always more than happy to hear any feedback, and we don't care what kind of form they are.\n\n## Examples\n\nYou can find example applications built using Vuex ORM at;\n\n- [Vuex ORM Examples](https://github.com/vuex-orm/vuex-orm-examples) – Simple ToDo App built on top of a plain Vue structure generated by [Vue CLI](https://cli.vuejs.org/).\n- [Vuex ORM Examples Nuxt](https://github.com/vuex-orm/vuex-orm-examples-nuxt) – Simple ToDo App built on top of [Nuxt.js](https://nuxtjs.org/).\n\n## Plugins\n\nVuex ORM can be extended via plugins to add additional features. Here is a list of available plugins.\n\n- [Vuex ORM Axios](https://github.com/vuex-orm/plugin-axios) – The plugin to sync the store against a RESTful API.\n- [Vuex ORM GraphQL](https://github.com/vuex-orm/plugin-graphql) – The plugin to sync the store against a [GraphQL](https://graphql.org) API.\n- [Vuex ORM Search](https://github.com/vuex-orm/plugin-search) – The plugin adds a search() method to filter records using fuzzy search logic from the [Fuse.js](http://fusejs.io).\n- [Vuex ORM Change Flags](https://github.com/vuex-orm/plugin-change-flags) - Vuex ORM plugin for adding IsDirty / IsNew flags to model entities.\n- [Vuex ORM Soft Delete](https://github.com/vuex-orm/plugin-soft-delete) – Vuex ORM plugin for adding soft delete feature to model entities.\n\nAlso, you can find a list of awesome things related to Vuex ORM at [Awesome Vuex ORM](https://github.com/vuex-orm/awesome-vuex-orm).\n\n## Contribution\n\nWe are excited that you are interested in contributing to Vuex ORM! Anything from raising an issue, submitting an idea of a new feature, or making a pull request is welcome! Before submitting your contribution though, please make sure to take a moment and read through the following guidelines.\n\n### Pull Request Guidelines\n\nWhen submitting a new pull request, please make sure to follow these guidelines:\n\n- **For feature requests:** Checkout a topic branch from `dev` branch, and merge back against `dev` branch.\n- **For bug fixes:** Checkout a topic branch from `master` branch, and merge back against `master` branch.\n\nThese rules also apply to the documentation. If you're submitting documentation about a new feature that isn't released yet, you must checkout the `dev` branch, but for non-functional updates, such as fixing a typo, you may checkout and commit to the `master` branch.\n\n### Scripts\n\nThere are several scripts to help with development.\n\n```bash\n$ yarn build\n```\n\nCompile files and generate bundles in `dist` directory.\n\n```bash\n$ yarn lint\n```\n\nLint files using a rule of Standard JS.\n\n```bash\n$ yarn test\n```\n\nRun the test using [Jest](https://jestjs.io/).\n\n```bash\n$ yarn test:watch\n```\n\nRun the test in watch mode.\n\n```bash\n$ yarn test:perf\n```\n\nRun the performance test.\n\n```bash\n$ yarn coverage\n```\n\nGenerate test coverage in `coverage` directory.\n\n```bash\n$ yarn docs\n```\n\nBuild and boot documentation server with [VuePress](https://vuepress.vuejs.org/).\n\n## License\n\nThe Vuex ORM is open-sourced software licensed under the [MIT License](./LICENSE).\n","funding_links":["https://github.com/sponsors/kiaking"],"categories":["TypeScript","vue","Components \u0026 Libraries","Utilities","Utilities [🔝](#readme)"],"sub_categories":["Utilities","State Management"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvuex-orm%2Fvuex-orm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvuex-orm%2Fvuex-orm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvuex-orm%2Fvuex-orm/lists"}