nats-io/nats.js

JavaScript client for Node.js, Bun, Deno and browser for NATS, the cloud native messaging system

Hosted by Cloud Native Computing Foundation · part of Linux Foundation

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

nats-io/nats.js has 400+ stars and 50+ forks on GitHub, is written in TypeScript, and was last pushed on Oct 16, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 55 minutes ago
Added to GitGenius on October 15th, 2026
Created on July 2nd, 2024
Open Issues & Pull Requests: 26 (+0)
GitHub issues: Enabled
Number of forks: 51
Total Stargazers: 445 (+0)
Total Subscribers: 10 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 28.9 hours
Mean response time: 25.6 days
90th percentile: 26.1 days
Tracked items: 85

Maintainer activity

2 people did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 18, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits. How this is counted.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 19
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 259 days
Stale 30+ days: 15
Stale 90+ days: 11

Recent activity

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

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

NATS.js is a JavaScript client library for Node.js, Bun, Deno, and browsers that connects to NATS, a cloud native messaging system.

NATS.js solves the problem of providing unified access to NATS messaging across multiple JavaScript runtimes. The library achieves this through a modular architecture that separates runtime-agnostic core functionality from runtime-specific transports. Rather than bundling all features into a single monolithic client, the tool splits functionality into focused modules: Core for basic NATS operations, JetStream for streaming, KV for key-value storage, Obj for object storage, and Services for building NATS-based service frameworks. This modular design allows developers to import only the functionality they need, reducing bundle size and simplifying the initial learning curve.

Developers should choose this tool if they need to connect JavaScript applications to NATS across different runtime environments without maintaining separate client libraries. The modular structure suits projects that want to start with a specific NATS feature—such as KV or JetStream—without being overwhelmed by the full API surface. The project consolidates what were previously separate repositories, making it the canonical JavaScript client for NATS going forward.

The project maintains active development with regular updates to its modular components. The codebase is written in TypeScript, providing type safety across all modules. The repository includes comprehensive migration documentation for users transitioning from earlier versions, indicating attention to developer experience during upgrades. The decoupled architecture between connection logic and feature modules enables the project to version components independently, allowing maintainers to signal the scope of changes through semantic versioning and preventing unnecessary upgrade pressure on users of unaffected modules.