https://github.com/shanieMoonlight/moonlight-repo
https://github.com/shanieMoonlight/moonlight-repo
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/shanieMoonlight/moonlight-repo
- Owner: shanieMoonlight
- Created: 2025-04-15T10:37:39.000Z (2 months ago)
- Default Branch: master
- Last Pushed: 2025-05-13T21:07:21.000Z (about 1 month ago)
- Last Synced: 2025-05-13T22:37:44.339Z (about 1 month ago)
- Language: TypeScript
- Size: 11.2 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-angular - @shanieMoonlight/moonlight-repo - This monorepo contains a collection of open source Angular libraries and utilities developed by SpiderBaby, along with demo applications showcasing their usage. (Table of contents / Third Party Components)
- fucking-awesome-angular - @shanieMoonlight/moonlight-repo - This monorepo contains a collection of open source Angular libraries and utilities developed by SpiderBaby, along with demo applications showcasing their usage. (Table of contents / Third Party Components)
README
# SpiderBaby Open Source Libraries
This monorepo contains a collection of open source Angular libraries and utilities developed by SpiderBaby, along with demo applications showcasing their usage.
[](LICENSE)
## Overview
This repository is organized as a monorepo containing multiple packages:
- **Libraries**: Reusable packages published to npm under the `@spider-baby` scope
- **Demo Applications**: Showcase applications that demonstrate library features## Core Libraries
### [@spider-baby/material-theming](libs/packages/@spider-baby/theming)
A powerful, flexible theming system for Angular Material with dynamic theme switching, section-based theming, and Material Design 3 support.
```bash
npm install @spider-baby/material-theming
```#### Key Features:
- 🎨 **Dynamic theme switching** - Change themes without page reload
- 🌓 **Light/dark mode support** - Per-theme or system preference
- 📱 **Material Design 3 support** - CSS variables-based approach
- 🧩 **Section-based theming** - Different themes for different parts of your app
- 💾 **Theme persistence** - Remember user preferences[→ View Material Theming Demo](https://spiderbabymaterialtheming.web.app/)
### [@spider-baby/mini-state](libs/packages/@spider-baby/mini-state)
A lightweight, reactive state management library for Angular that simplifies handling async operations.
```bash
npm install @spider-baby/mini-state
```#### Key Features:
- 🔄 **Reactive state management** with both RxJS Observables and Angular Signals
- 🚦 **Built-in loading states** for async operations
- 🚨 **Error handling** with customizable error messages
- 🔄 **Automatic cleanup** with Angular's DestroyRef integration
- 📦 **CRUD operations support** for collection-based data[→ View MiniState Demo](https://your-demo-url.com/)
## Project Structure
```
moonlight-repo/
├── apps/ # Demo applications
│ ├── mini-state/ # MiniState library demos
│ └── sb-mat-thm-demo/ # Material Theming library demos
│
├── libs/ # Library packages
│ ├── packages/ # Main packages for publishing
│ │ └── @spider-baby/ # Scoped packages
│ │ ├── mini-state/ # MiniState library
│ │ └── theming/ # Material Theming library
│ ├── ui/ # UI component libraries
│ └── utils/ # Utility libraries
│
└── README.md # This file
```## Development
### Prerequisites
- Node.js (v16+)
- npm or yarn
- Angular CLI### Setup
```bash
# Clone the repository
git clone https://github.com/yourusername/moonlight-repo.git
cd moonlight-repo# Install dependencies
npm install# Start a demo application
npm run start:spider-baby-mini-state-demo
# or
npm run start:sb-mat-thm-demo
```## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request## License
All projects in this repository are licensed under the MIT License - see the [LICENSE](LICENSE) file for details.