Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Signality logo

signality.dev

Contributing Guidelines · Submit an Issue

Signality on npm


A collection of atomic utilities for building reactive compositions in Angular.

Signality v0.1 is here! 🎉
Help us test it in your projects — minor versions may include API refinements as we fine-tune the library based on real-world feedback.

Overview

Key Features:

  • Signal-first design — built on top of Angular Signals, abstracting away from RxJS
  • Automatic cleanup — utilities manage resource lifecycles automatically
  • SSR-compatible — browser APIs are guarded with safe defaults on the server
  • Reactive inputs — seamlessly handles static and reactive values
  • Tree-Shakable — only the code you use ends up in your bundle

Framework Compatibility

Signality requires the following minimum versions:

ToolMinimum Version
Angularv20.0.0

Installation

📦 Core Package

@signality/core is the main package containing browser utilities, element utilities, and general-purpose reactive helpers:

pnpm add @signality/core

Or with npm/yarn:

npm install @signality/core # or yarn add @signality/core

🔌 Additional Packages

Signality also provides specialized integration packages:

CDK Integration

Signal-based utilities for Angular CDK:

pnpm add @signality/cdk-interop

Note: @signality/cdk-interop requires both @signality/core and @angular/cdk as peer dependencies.

Usage

Read the full documentation here: https://signality.dev

Quick Example

import { Component, effect } from '@angular/core'; import { storage, speechSynthesis, favicon } from '@signality/core'; @Component({ template: ` <input [(ngModel)]="value" /> <button (click)="synthesis.speak(value())">Speak</button> `, }) export class Demo { readonly value = storage('key', ''); // Web Storage API readonly synthesis = speechSynthesis(); // Web Speech API readonly fav = favicon(); // Dynamic Favicon constructor() { effect(() => { if (this.synthesis.isSpeaking()) { this.fav.setEmoji('🔊'); } else { this.fav.reset(); } }); } }

Packages

PackageDescription
@signality/coreCore utilities: browser APIs, element utilities, reactive helpers, router and forms integration
@signality/cdk-interopCDK integration: focus monitoring, interactivity checking, and input modality detection

Releases

For changelog, refer to the automatically generated changelog.


Development

This section is for contributors and developers who want to work on Signality.

Development Environment

The following tools are required for local development:

ToolMinimum VersionNotes
Node.jsv20.19.0Aligns with active LTS versions used in CI
npmNot supported❌ Please use pnpm instead (see below)
pnpmv9.12.0✅ Preferred package manager

Contributing

Please follow our contributing guidelines.

License

Licensed under the MIT License, Copyright © 2025-present.

关于 About

Reactive utilities for Angular
angularcdkjavascriptsignalstypescriptutilitieswebapi

语言 Languages

TypeScript69.3%
SCSS12.9%
HTML11.8%
Vue5.2%
JavaScript0.6%
CSS0.3%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
39
Total Commits
峰值: 16次/周
Less
More

核心贡献者 Contributors