/store

🚀 NGXS - State Management for Angular

Primary LanguageTypeScriptMIT LicenseMIT


NGXS is a state management pattern + library for Angular


Greenkeeper badge


Quick Links


The Goal of NGXS

NGXS 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.

The Goal of NGXS Labs

The 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.

Getting Started - Local Development

Installation

To get started locally, follow these instructions:

  1. If you haven't done it already, make a fork of this repo.
  2. Clone to your local computer using git.
  3. Make sure that you have installed NodeJS.
  4. Make sure that you have yarn installed.
  5. Run yarn install.
  6. Run yarn build:packages.

Creating new packages or add feature/fix

if you make changes @ngxs/store
  1. Run development mode yarn build:packages --package store --watch
  2. Run serve integration examples yarn start
  3. ...development...
  4. Run tests yarn test:ci
  5. Create pull request
if you add a new package @ngxs/my-super-plugin
  1. Create a new project folder packages/my-super-plugin
  2. Create template library with ngPackagr
  3. Add your project to package.json
  4. Run development mode yarn build:packages --package my-super-plugin --watch
  5. ...development...
  6. Run build yarn build:packages --package my-super-plugin
  7. Run tests yarn test:ci
  8. Create pull request

NGXS Labs

If 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.

Packages

Tools

Project Package Version Links
NGXS CLI @ngxs/cli latest README
NGXS Schematics @ngxs/schematics latest README

Packages

Project Package Version Links
NGXS Store @ngxs/store latest README snapshot
NGXS Logger-plugin @ngxs/logger-plugin latest README snapshot
NGXS Devtools-plugin @ngxs/devtools-plugin latest README snapshot
NGXS WebSocket-plugin @ngxs/websocket-plugin latest README snapshot
NGXS Form-plugin @ngxs/form-plugin latest README snapshot
NGXS Router-plugin @ngxs/router-plugin latest README snapshot
NGXS Storage-plugin @ngxs/storage-plugin latest README snapshot
NGXS HMR @ngxs/hmr-plugin latest README snapshot

NGXS Labs

Project Package Version Links
NGXS-labs Emitter @ngxs-labs/emitter latest README
NGXS-labs Immer-adapter @ngxs-labs/immer-adapter latest README
NGXS-labs Dispatch @ngxs-labs/dispatch-decorator latest README
NGXS-labs Async-storage-plugin @ngxs-labs/async-storage-plugin latest README
NGXS-labs Entity-state @ngxs-labs/entity-state latest README