{"id":13406289,"url":"https://github.com/ngxs/store","last_synced_at":"2025-05-14T07:07:30.929Z","repository":{"id":37257983,"uuid":"121422793","full_name":"ngxs/store","owner":"ngxs","description":"🚀 NGXS - State Management for Angular","archived":false,"fork":false,"pushed_at":"2025-05-01T15:05:09.000Z","size":36835,"stargazers_count":3550,"open_issues_count":38,"forks_count":405,"subscribers_count":88,"default_branch":"master","last_synced_at":"2025-05-07T06:18:28.346Z","etag":null,"topics":["angular","cqrs","event-sourcing","ngrx","ngxs","redux","state-management"],"latest_commit_sha":null,"homepage":"http://ngxs.io","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/ngxs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-02-13T18:55:44.000Z","updated_at":"2025-05-06T14:53:41.000Z","dependencies_parsed_at":"2023-09-27T02:58:25.385Z","dependency_job_id":"c468f320-e3d0-4367-8c24-020f1a6c38d7","html_url":"https://github.com/ngxs/store","commit_stats":{"total_commits":1919,"total_committers":175,"mean_commits":"10.965714285714286","dds":0.7879103699843668,"last_synced_commit":"f22f4cb504f8008d9753cf5df0e392918586c7e7"},"previous_names":["amcdnl/ngxs"],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngxs%2Fstore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngxs%2Fstore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngxs%2Fstore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngxs%2Fstore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ngxs","download_url":"https://codeload.github.com/ngxs/store/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253284791,"owners_count":21883885,"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","cqrs","event-sourcing","ngrx","ngxs","redux","state-management"],"created_at":"2024-07-30T19:02:26.335Z","updated_at":"2025-05-14T07:07:30.867Z","avatar_url":"https://github.com/ngxs.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cfigure\u003e\u003cpicture\u003e\u003csource srcset=\"docs/assets/ngxs-logo_dark_theme.png\" media=\"(prefers-color-scheme: dark)\"\u003e\u003cimg src=\"docs/assets/ngxs-logo_light_theme.png\" alt=\"\"\u003e\u003c/picture\u003e\u003c/figure\u003e\n  \u003cbr /\u003e\n  NGXS is a state management pattern + library for Angular\n  \u003cbr /\u003e\u003cbr /\u003e\n  \n  \u003ca href=\"https://travis-ci.org/ngxs/store\"\u003e\n    \u003cimg src=\"https://api.travis-ci.org/ngxs/store.svg?branch=master\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://join.slack.com/t/ngxs/shared_invite/zt-by26i24h-2CC5~vqwNCiZa~RRibh60Q\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/slack-join%20us-blue.svg?style=flat\u0026logo=slack\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://badge.fury.io/js/%40ngxs%2Fstore\"\u003e\n    \u003cimg src=\"https://badge.fury.io/js/%40ngxs%2Fstore.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@ngxs/store\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/dw/@ngxs/store.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://gurubase.io/g/ngxs\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Gurubase-Ask%20NGXS%20Guru-006BFF\" /\u003e\n  \u003c/a\u003e\n  \n  \u003cbr /\u003e\n  \n  \u003ca href=\"https://npm-stat.com/charts.html?package=%40ngxs%2Fstore\u0026from=2017-01-12\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/dt/@ngxs/store.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://codeclimate.com/github/ngxs/store/maintainability\"\u003e\n    \u003cimg src=\"https://api.codeclimate.com/v1/badges/5b43106a1ddff7d76a04/maintainability\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://codeclimate.com/github/ngxs/store/test_coverage\"\u003e\n    \u003cimg src=\"https://api.codeclimate.com/v1/badges/5b43106a1ddff7d76a04/test_coverage\" /\u003e\n  \u003c/a\u003e \n  \u003ca href=\"https://circleci.com/gh/ngxs/store\"\u003e\n    \u003cimg src=\"https://circleci.com/gh/ngxs/store/tree/master.svg?style=svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/ngxs/store/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/Naereen/StrapDown.js.svg\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n### Quick Links\n\n- ✨ Learn about it on the [docs site](https://ngxs.io/)\n- 💬 Ask a question in our [Discord](https://discord.gg/yT3Q8cXTnz) server (we are migrating from our [slack](https://join.slack.com/t/ngxs/shared_invite/zt-by26i24h-2CC5~vqwNCiZa~RRibh60Q) server).\n- 🚀 See it in action on [Stackblitz](https://stackblitz.com/edit/ngxs-repro)\n- 😎 Checkout the [sample application](integration)\n- 🔧 Scaffolding application using [NGXS Schematics](https://www.ngxs.io/introduction/schematics)\n- 📖 Read the blog [posts](https://medium.com/ngxs)\n- ⚡️ Development of [NGXS Labs](https://github.com/ngxs-labs)\n- 📝 Learn about updates from the [changelog](CHANGELOG.md)\n- ❤️ Give back by becoming a [Contributor](docs/community-and-labs/community/contributors.md) or a [Sponsor](/docs/community-and-labs/community/sponsors.md)\n- 👂 We would love to hear about your experience with NGXS, you can [leave your feedback here](https://forms.gle/2Nf9tNyZnaD8AZL89)\n\n---\n\n### The Goal of NGXS\n\nNGXS tries to make things as simple and accessible as possible. There can be a lot of boilerplate code in state management, thus a main goal of NGXS is to reduce boilerplate allowing you to do more things with less. It is also not necessary to be super familiar with RxJs.\n\n### The Goal of NGXS Labs\n\nThe idea with this github organisation is to provide a place for the community to create libraries that augment the main framework with functionality that does not need to be integrated directly into the framework and therefore can evolve through their initial iterations of experimentation without affecting the main @ngxs/store library.\n\n### Developer Guides\n\n- [Getting Started](docs/community-and-labs/community/developer-guide.md) - Installation and local development.\n- [Contributing](docs/community-and-labs/community/contributing.md) - Learn how to contribute to the project.\n- [Style Guide](docs/style-guide.md) - Coding conventions and best practices.\n- [Code of Conduct](CODE_OF_CONDUCT.md) - Contributor Code of Conduct.\n\n#### NGXS Labs\n\nIf you have ideas for creating unique libraries, you can join us. Email us at `ngxs.lead@gmail.com`. Or you can email us on Twitter or Slack.\n\n### Packages\n\n#### Tools\n\n| Project             | Package                                                          | Version                                                                                                               | Links                                                                                                                      |\n| ------------------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |\n| **NGXS CLI**        | [`@ngxs/cli`](https://npmjs.com/package/@ngxs/cli)               | [![latest](https://img.shields.io/npm/v/%40ngxs%2Fcli/latest.svg)](https://npmjs.com/package/@ngxs/cli)               | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs/store/blob/master/docs/plugins/cli.md) |\n| **NGXS Schematics** | [`@ngxs/schematics`](https://npmjs.com/package/@ngxs/schematics) | [![latest](https://img.shields.io/npm/v/%40ngxs%2Fschematics/latest.svg)](https://npmjs.com/package/@ngxs/schematics) | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs/schematics/blob/master/README.md)      |\n\n#### Packages\n\n| Project                   | Package                                                                      | Version                                                                                                                           | Links                                                                                                                                                                                                                                                       |\n| ------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **NGXS Store**            | [`@ngxs/store`](https://npmjs.com/package/@ngxs/store)                       | [![latest](https://img.shields.io/npm/v/%40ngxs%2Fstore/latest.svg)](https://npmjs.com/package/@ngxs/store)                       | [![README](https://img.shields.io/badge/README--green.svg)](http://ngxs.io) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://www.npmjs.com/package/@ngxs/store/v/dev)                                                                 |\n| **NGXS Logger-plugin**    | [`@ngxs/logger-plugin`](https://npmjs.com/package/@ngxs/logger-plugin)       | [![latest](https://img.shields.io/npm/v/%40ngxs%2Flogger-plugin/latest.svg)](https://npmjs.com/package/@ngxs/logger-plugin)       | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs/store/blob/master/docs/plugins/logger.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://www.npmjs.com/package/@ngxs/logger-plugin/v/dev)       |\n| **NGXS Devtools-plugin**  | [`@ngxs/devtools-plugin`](https://npmjs.com/package/@ngxs/devtools-plugin)   | [![latest](https://img.shields.io/npm/v/%40ngxs%2Fdevtools-plugin/latest.svg)](https://npmjs.com/package/@ngxs/devtools-plugin)   | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs/store/blob/master/docs/plugins/devtools.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://www.npmjs.com/package/@ngxs/devtools-plugin/v/dev)   |\n| **NGXS WebSocket-plugin** | [`@ngxs/websocket-plugin`](https://npmjs.com/package/@ngxs/websocket-plugin) | [![latest](https://img.shields.io/npm/v/%40ngxs%2Fwebsocket-plugin/latest.svg)](https://npmjs.com/package/@ngxs/websocket-plugin) | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs/store/blob/master/docs/plugins/websocket.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://www.npmjs.com/package/@ngxs/websocket-plugin/v/dev) |\n| **NGXS Form-plugin**      | [`@ngxs/form-plugin`](https://npmjs.com/package/@ngxs/form-plugin)           | [![latest](https://img.shields.io/npm/v/%40ngxs%2Fform-plugin/latest.svg)](https://npmjs.com/package/@ngxs/form-plugin)           | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs/store/blob/master/docs/plugins/form.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://www.npmjs.com/package/@ngxs/form-plugin/v/dev)           |\n| **NGXS Router-plugin**    | [`@ngxs/router-plugin`](https://npmjs.com/package/@ngxs/router-plugin)       | [![latest](https://img.shields.io/npm/v/%40ngxs%2Frouter-plugin/latest.svg)](https://npmjs.com/package/@ngxs/router-plugin)       | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs/store/blob/master/docs/plugins/router.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://www.npmjs.com/package/@ngxs/router-plugin/v/dev)       |\n| **NGXS Storage-plugin**   | [`@ngxs/storage-plugin`](https://npmjs.com/package/@ngxs/storage-plugin)     | [![latest](https://img.shields.io/npm/v/%40ngxs%2Fstorage-plugin/latest.svg)](https://npmjs.com/package/@ngxs/storage-plugin)     | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs/store/blob/master/docs/plugins/storage.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://www.npmjs.com/package/@ngxs/storage-plugin/v/dev)     |\n| **NGXS HMR**              | [`@ngxs/hmr-plugin`](https://npmjs.com/package/@ngxs/hmr-plugin)             | [![latest](https://img.shields.io/npm/v/%40ngxs%2Fhmr-plugin/latest.svg)](https://npmjs.com/package/@ngxs/hmr-plugin)             | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs/store/blob/master/docs/plugins/hmr.md) [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://www.npmjs.com/package/@ngxs/hmr-plugin/v/dev)             |\n\n#### NGXS Labs\n\n| Project                                 | Package                                                                                        | Version                                                                                                                                             | Links                                                                                                          |\n| --------------------------------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |\n| **NGXS Persistence API**                | [`@anglar-ru/ngxs`](https://angular-ru.gitbook.io/sdk/ngxs/ngxs)                               | [![latest](https://img.shields.io/npm/v/%40angular-ru%2Fngxs/latest.svg)](https://npmjs.com/package/@angular-ru/ngxs)                               | [![README](https://img.shields.io/badge/README--green.svg)](https://angular-ru.gitbook.io/sdk/ngxs/ngxs)       |\n| **NGXS-labs Emitter**                   | [`@ngxs-labs/emitter`](https://npmjs.com/package/@ngxs-labs/emitter)                           | [![latest](https://img.shields.io/npm/v/%40ngxs-labs%2Femitter/latest.svg)](https://npmjs.com/package/@ngxs-labs/emitter)                           | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs-labs/emitter)              |\n| **NGXS-labs Immer adapter**             | [`@ngxs-labs/immer-adapter`](https://npmjs.com/package/@ngxs-labs/immer-adapter)               | [![latest](https://img.shields.io/npm/v/%40ngxs-labs%2Fimmer-adapter/latest.svg)](https://npmjs.com/package/@ngxs-labs/immer-adapter)               | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs-labs/immer-adapter)        |\n| **NGXS-labs Dispatch decorator**        | [`@ngxs-labs/dispatch-decorator`](https://npmjs.com/package/@ngxs-labs/dispatch-decorator)     | [![latest](https://img.shields.io/npm/v/%40ngxs-labs%2Fdispatch-decorator/latest.svg)](https://npmjs.com/package/@ngxs-labs/dispatch-decorator)     | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs-labs/dispatch-decorator)   |\n| **NGXS-labs Select snapshot decorator** | [`@ngxs-labs/select-snapshot`](https://npmjs.com/package/@ngxs-labs/select-snapshot)           | [![latest](https://img.shields.io/npm/v/%40ngxs-labs%2Fselect-snapshot/latest.svg)](https://npmjs.com/package/@ngxs-labs/select-snapshot)           | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs-labs/select-snapshot)      |\n| **NGXS-labs Async storage plugin**      | [`@ngxs-labs/async-storage-plugin`](https://npmjs.com/package/@ngxs-labs/async-storage-plugin) | [![latest](https://img.shields.io/npm/v/%40ngxs-labs%2Fasync-storage-plugin/latest.svg)](https://npmjs.com/package/@ngxs-labs/async-storage-plugin) | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs-labs/async-storage-plugin) |\n| **NGXS-labs Entity state**              | [`@ngxs-labs/entity-state`](https://npmjs.com/package/@ngxs-labs/entity-state)                 | [![latest](https://img.shields.io/npm/v/%40ngxs-labs%2Fentity-state/latest.svg)](https://npmjs.com/package/@ngxs-labs/entity-state)                 | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs-labs/entity-state)         |\n| **NGXS-labs Testing tools**             | [`@ngxs-labs/testing`](https://npmjs.com/package/@ngxs-labs/testing)                           | [![latest](https://img.shields.io/npm/v/%40ngxs-labs%2Ftesting/latest.svg)](https://npmjs.com/package/@ngxs-labs/testing)                           | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs-labs/testing)              |\n| **NGXS-labs Actions Executing**         | [`@ngxs-labs/actions-executing`](https://npmjs.com/package/@ngxs-labs/actions-executing)       | [![latest](https://img.shields.io/npm/v/%40ngxs-labs%2Ftesting/latest.svg)](https://npmjs.com/package/@ngxs-labs/actions-executing)                 | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs-labs/actions-executing)    |\n| **NGXS-labs Attach Action**             | [`@ngxs-labs/attach-action`](https://npmjs.com/package/@ngxs-labs/attach-action)               | [![latest](https://img.shields.io/npm/v/%40ngxs-labs%2Fattach-action/latest.svg)](https://npmjs.com/package/@ngxs-labs/attach-action)               | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ngxs-labs/attach-action)        |\n\n#### Community\n\n| Project                 | Package                                                                    | Version                                                                                                                     | Links                                                                                                                                                         |\n| ----------------------- | -------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **Reset Plugin**        | [`ngxs-reset-plugin`](https://npmjs.com/package/ngxs-reset-plugin)         | [![latest](https://img.shields.io/npm/v/ngxs-reset-plugin/latest.svg)](https://npmjs.com/package/ngxs-reset-plugin)         | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/ng-turkey/ngxs-reset-plugin/blob/master/README.md)                             |\n| **NGXS-Loading-plugin** | [`ngxs-loading-plugin`](https://www.npmjs.com/package/ngxs-loading-plugin) | [![latest](https://img.shields.io/npm/v/ngxs-loading-plugin/latest.svg)](https://www.npmjs.com/package/ngxs-loading-plugin) | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/sa-bangash/ngxs-plugin/blob/master/README.md)                                  |\n| **NGXS-History-plugin** | [`ngxs-history-plugin`](https://www.npmjs.com/package/ngxs-history-plugin) | [![latest](https://img.shields.io/npm/v/ngxs-history-plugin/latest.svg)](https://www.npmjs.com/package/ngxs-history-plugin) | [![README](https://img.shields.io/badge/README--green.svg)](https://github.com/profanis/ngxs-history-plugin/blob/main/projects/ngxs-history-plugin/README.md) |\n\n# Contributors\n\nThanks to all our contributors!\n\n\u003ca href=\"https://github.com/ngxs/ngxs/graphs/contributors\"\u003e\u003cimg src=\"https://opencollective.com/ngxs/contributors.svg?width=890\" /\u003e\u003c/a\u003e\n","funding_links":[],"categories":["TypeScript","angular","State Management"],"sub_categories":["NGXS"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngxs%2Fstore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fngxs%2Fstore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngxs%2Fstore/lists"}