https://github.com/sergeydus/ng-tailwind-workspace
https://github.com/sergeydus/ng-tailwind-workspace
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/sergeydus/ng-tailwind-workspace
- Owner: sergeydus
- Created: 2026-01-01T00:38:20.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2026-01-01T13:21:48.000Z (5 months ago)
- Last Synced: 2026-01-06T12:46:51.072Z (5 months ago)
- Language: TypeScript
- Size: 88.9 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-angular - Angular Directive Workspace - An Angular monorepo that hosts several standalone directive and utility libraries, including [ng-signals-utils](https://www.npmjs.com/package/@sergeydus/ng-signals-utils). (Third Party Components / Mixed Utilities)
- fucking-awesome-angular - Angular Directive Workspace - An Angular monorepo that hosts several standalone directive and utility libraries, including 🌎 [ng-signals-utils](www.npmjs.com/package/@sergeydus/ng-signals-utils). (Third Party Components / Mixed Utilities)
README
# Angular Directive Workspace
An Angular monorepo workspace containing multiple standalone directive and utility libraries. Built with Angular 21+ using `ng-packagr` for npm publishing.
## Projects
### [`ng-tailwind-merge`](./projects/ng-tailwind-merge)
An Angular standalone directive that merges Tailwind CSS classes using `tailwind-merge` and `clsx`.
**Features:**
- `[twMerge]` directive - merges `class` and `ngClass` attributes
- `[merge]` directive - dynamic class merging via property binding
- `cn()` and `mergeTailwindClasses()` utility functions
- Signal-based inputs
- Tree-shakeable
See [ng-tailwind-merge README](./projects/ng-tailwind-merge/README.md) for detailed usage.
### [`@sergeydus/ng-signals-utils`](./projects/ng-signals-utils)
Utility functions for working with Angular signals.
**Features:**
- Signal transformations - `mapSignal`, `filterSignal`, `debounceSignal`, `combineSignals`, `distinctSignal`
- Array utilities - `arraySignalPush`, `arraySignalFilter`, `arraySignalMap`, `arraySignalSort`, and more
- Object utilities - `patchSignal`, `pickSignal`, `omitSignal`, `pluckSignal`, and more
- Effect helpers - `watchSignal`, `watchUntil`, `throttleEffect`, `debounceEffect`
- Type-safe with full TypeScript support
- Tree-shakeable
See [@sergeydus/ng-signals-utils README](./projects/ng-signals-utils/README.md) for detailed usage.
### Other Libraries
- `my-directive-lib` - foundational directive library
- `ng-tailwind-merge1` - additional Tailwind utilities
## Setup
### Prerequisites
- Node.js 18+
- npm 9+
### Installation
```bash
npm install
```
## Development
### Build All Libraries
```bash
npm run build
```
### Build Specific Library
```bash
ng build ng-tailwind-merge
ng build ng-signals-utils
```
### Run Tests
```bash
npm run test
```
### Development Server
```bash
npm start
```
## Publishing to npm
Build the library:
```bash
# or
ng build ng-signals-utils
```
Publish:
```bash
cd dist/ng-tailwind-merge
npm publish
# or
cd dist/ng-signals-utils
cd dist/ng-tailwind-merge
npm publish
```
Each library is configured with `ng-packagr` for automated bundling and distribution.