Skip to content

rx-store/rx-store

Repository files navigation

RX Store

All Contributors

Build status

Rx Store is a reactive state management solution for frontend component libraries such as React & Angular, allowing you to build your application's logic using RxJS.

Read the documentation to learn more about rx store and get started!

Packages

Package Version Description
@rx-store/core npm Reactive State Management
@rx-store/react npm React Bindings
@rx-store/visualizer experimental Visualizes data flow over time
@rx-store/devtools experimental Debugging solution using the visualizer

Development

First, clone the monorepo onto your machine:

git clone git@github.com:rx-store/rx-store.git

Then, install the monorepo dependencies:

yarn

This monorepo uses Nx, which allows:

  • Visualizing the dependencies between packages
  • Automatically compiling affected packages when there are changes
  • Run CI checks only for affected packages when there are changes.

To develop locally, you may install Nx globally:

npm install -g @nrwl/cli

The packages are organized into apps folder, which are runnable, and libs for library code. To generate a new app or lib, see the Nx docs.

Running the "Examples" in the "apps" folder

Replace react-example-counter with the name of the project in the apps folder you want to run.

Develop:

nx serve react-example-counter

When editing files in the core during development, the example you are running will re-compile. Nx builds a dependency graph, and runs webpack from the top level. If changes are made in a package that the example app depends on, or any package it in turn depends on, Nx will figure it out & re-build the affected packages.

Build:

nx build --with-deps react-example-counter

By passing --with-deps, we are telling Nx to build a dependency graph & compile all of the package(s) the example project depends on, and all of the package(s) those in turn depend on.

Developing on the Website / Docs

Develop:

nx run rx-store-website:docusaurus

Build:

nx build rx-store-website:docusaurus

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Kostia P

📖 👀 🧑‍🏫

Josh Ribakoff

💻 🚧 📦 📆 👀 🤔 📖

Kyle Cannon

🚇 🚧 📦 📆 👀 🤔

gennadypolakov

💻

This project follows the all-contributors specification. Contributions of any kind welcome!