An ecosystem of reactive, type-safe libraries to supercharge your Angular Signal game. :)
Hey, thanks for checking out @mmstack! :) We're building an awesome ecosystem of libraries focused on highly reactive, type-safe, and performant tools, diving deep into areas where standard Angular patterns sometimes leave us wanting more – especially when chasing truly fine-grained reactivity and predictable state. Think advanced async/resource management @mmstack/resource, signal forms @mmstack/form-core, powerful signal utilities @mmstack/primitives, a high-performance data grid (in progress...), routing/preload helpers @mmstack/router-core & more. If that piques your fancy, give some of them a try, & you'll be sure to love 'em.
@mmstack
provides a suite of libraries to enhance your Angular development experience:
@mmstack/object
: Lightweight, type-safe object and data structure utility functions. Mostly an internal utility library TBH :)@mmstack/primitives
: Foundational utilities and primitives for enhancing Angular Signals (debounced
,mutable
,stored
,mapArray
, etc.).@mmstack/resource
: Powerful, signal-based primitives for managing asynchronous data fetching and mutations (caching, retries, circuit breakers, etc.).@mmstack/router-core
: Signal-based utilities for reactive integration with the Angular Router state (queryParam
,url
, upcoming preload features).@mmstack/form-core
: Provides the core primitives (formControl
,formGroup
,formArray
) for building flexible, type-safe, signal-based reactive forms.@mmstack/form-validation
: A composable, type-safe, and localizable validation system designed for@mmstack/form-core
.@mmstack/form-adapters
: Headless, reusable state adapters for common form field types, bridging form logic and UI components.@mmstack/form-material
: A set of Angular Material components that directly consume state adapters from@mmstack/form-adapters
for easy form building.
Upcoming Libraries:
@mmstack/table-core
: (Upcoming) Headless core logic for a high-performance, signal-based data table/grid.@mmstack/table-client
: (Upcoming) Client-side data handler (sorting, filtering, pagination etc.) for@mmstack/table-core
.@mmstack/table-material
: (Upcoming) Angular Material components for rendering the@mmstack/table-core
state.
The major version of @mmstack libraries (e.g., v18.x.x, v19.x.x) aligns with the major version of Angular they are designed for. This ensures clear compatibility.
Within a major version, minor and patch versions follow Semantic Versioning (SemVer):
- Minor versions (X.y.0) introduce new, non-breaking features.
- Patch versions (X.Y.z) provide backwards-compatible bug fixes.
Contributions are welcome and greatly appreciated! Please see our Contributing Guidelines to learn how you can get involved with the @mmstack
project.
We are committed to providing a friendly, safe, and welcoming environment for all. Please read and follow our Code of Conduct.
This project is licensed under the terms of the MIT License. See the LICENSE file for the full license text.