stackblitz/alien-signals

👾 The lightest signal library

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 2 hours ago
Added to GitGenius on September 21st, 2026
Created on October 20th, 2023
Open Issues & Pull Requests: 6 (+0)
GitHub issues: Enabled
Number of forks: 123
Total Stargazers: 3,256 (+0)
Total Subscribers: 28 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.9 hours
Mean response time: 14.8 days
90th percentile: 19.7 days
Tracked items: 47

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 3
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 101 days
Stale 30+ days: 3
Stale 90+ days: 1

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • question (10)
  • bug (4)
  • enhancement (2)
  • help wanted (1)
  • performance (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

alien-signals is a signal library that implements a push-pull based reactivity algorithm optimized for minimal bundle size and maximum performance.

The library solves the problem of efficient reactive state management by combining push and pull propagation strategies rather than relying on a single approach. The implementation deliberately imposes constraints such as avoiding Array, Set, and Map data structures and disallowing function recursion in the algorithmic core. The authors found that under these constraints, maintaining algorithmic simplicity delivers better performance gains than implementing complex scheduling strategies. The core algorithm draws inspiration from Vue 3's propagation approach, Preact's double-linked-list strategy, Svelte's effect scheduling, and Reactively's graph-coloring technique, synthesizing these ideas into a unified design.

Developers should choose this library if they need a lightweight reactivity system with strong performance characteristics and minimal overhead. It suits projects where bundle size matters and where the push-pull propagation model aligns with the application's update patterns. The tool is particularly relevant for those building frontend frameworks or language tools that require efficient incremental updates, as evidenced by its use in Vue language tools for incremental AST parsing and virtual code generation.

The project maintains active research and development, with the core algorithm having been ported back into Vue 3 itself, demonstrating validation of the approach within a major framework. The library has inspired implementations across multiple programming languages including Dart, Lua, Java, C#, Go, and Rust, indicating sustained interest in the algorithm beyond the original TypeScript implementation.