Skip to main content

Welcome to Plexus

The ultimate toolkit for orchestrating data in reactive web applications​
Docs are still a work in progress.

Forgive the current state of the documentation; we're still working on it. Join our Discord for additional help & updates in the meantime.


npm monthly downloads
npm total downloads
bundle size
License
License

Features​

  • ⚡ïļ SSOT-Based State Orchestration
  • 📕 Full Type Safety and Autocomplete
  • ðŸ“Ą Powerful Built in HTTP Client
  • 🚌 Custom Event Engine
  • 📜 Awesome DX - Easy to Read, Write, and Understand
  • ðŸŠķ Lightweight (Only 40kb) with 0 External Dependancies
  • 🔌 Extendable

What is it?​

Plexus is a toolkit for orchestrating data in scalable reactive applications. In other words, we make state management, api communication, event management, & data manipulation significantly easier. The word "plexus" is defined as "a network of nerves or vessels in the body". The name is a metaphor for how plexus works. The tools in this package span the entire project and each one is intelligently interconnected behind the scenes like nerves in the body!

Plexus can be adopted incrementally, over time, scales with your application, and incredibly performant.

Motivation​

We designed Plexus to be highly modular, unopinionated, and flexible, providing not only the tools needed to create scalable applications, but the flexibility to build it however you want. No ContextAPI needed to ensure all of the components using your data are in sync.

Should you addopt Plexus?​

Absolutely! You can easily incrementally adopt it into to your project no matter the stage or size.

Here are a couple of use cases to get you started. Your app can utilize some of these, or all of these. Totally up to you. And it's all treeshakable so production builds only use what's needed.

Use Cases​


SSOT​

Plexus can be used to manage and orchestrate global state in your application. This is a great way to manage data that is shared across the entire application.

Data Orchestration​

When you edit a Stateful value, it will update everything that is watching it.

Data Persistence​

You can easily persist data to a user's browser Session Storage and soon any other long term storage.

API Requests​

You can use Plexus's powerful yet simple built in http client using the api() Instance!

Event Engines​

You can emit and recieve over custom events using the event() Instance from PlexusJS. This is connected to the Plexus Network for some cool superpowers!

Community & Contributions​

This package was made with hard work from Philippe Clesca & Nicolas Theck.

We hope it helps you build awesome things! 🚀

Made With Love​

This project is made with âĪïļ Consider giving us a star if you enjoy it!