Skip to content

mihajm/mmstack

Repository files navigation

@mmstack

An ecosystem of reactive, type-safe libraries to supercharge your Angular Signal game. :)

CI Status License PRs Welcome

Vision

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.

Key packages

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

Versioning

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.

Contributing

Contributions are welcome and greatly appreciated! Please see our Contributing Guidelines to learn how you can get involved with the @mmstack project.

Code of Conduct

We are committed to providing a friendly, safe, and welcoming environment for all. Please read and follow our Code of Conduct.

License

This project is licensed under the terms of the MIT License. See the LICENSE file for the full license text.

About

A monorepo for mmstack libraries

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published