awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
mroderick avatar

mroderick/PubSubJS

0
View on GitHub↗
4,862 stars·459 forks·JavaScript·MIT·9 views

PubSubJS

PubSubJS is a lightweight JavaScript library that implements the publish-subscribe pattern to manage decoupled communication between different parts of an application. It functions as a dependency-free message broker and event bus, allowing components to exchange data without requiring direct dependencies.

The system enables the orchestration of events through named topics, allowing developers to register subscriber callbacks and broadcast messages to all interested listeners. It specifically supports the decoupling of component communication and the notification of state changes across multiple services or interface elements.

The library includes monitoring capabilities to assist with frontend debugging by allowing exceptions to bubble up to the global scope, preserving stack traces during message delivery.

Features

  • Event Bus Systems - Provides a centralized internal registry that decouples message producers from consumers.
  • Publish-Subscribe Messaging - Enables low-latency communication between application components through a publish-subscribe model.
  • Decoupled Communication Services - Implements a publish-subscribe pattern to enable independent modules to exchange data.
  • Message Brokers - Functions as a minimalist, dependency-free broker for broadcasting data to multiple subscribers.
  • Topic Message Listeners - Allows registration of callback functions that listen for messages on specific topics.
  • Named Event Dispatchers - Dispatches events identified by string names to registered listeners.
  • PubSub Libraries - Implements the publish-subscribe pattern to manage decoupled communication in JavaScript applications.
  • UI State Change Notifications - Enables multiple user interface elements to be updated instantly when specific state changes occur.
  • Event Orchestration - Coordinates the flow of events between different parts of a web application.
  • Synchronous Event Dispatch Loops - Ensures predictable delivery order by executing registered listeners sequentially upon event emission.
  • Callback Handlers - Implements registered functions that execute immediately upon receipt of a message.

Star history

Star history chart for mroderick/pubsubjsStar history chart for mroderick/pubsubjs

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does mroderick/pubsubjs do?

PubSubJS is a lightweight JavaScript library that implements the publish-subscribe pattern to manage decoupled communication between different parts of an application. It functions as a dependency-free message broker and event bus, allowing components to exchange data without requiring direct dependencies.

What are the main features of mroderick/pubsubjs?

The main features of mroderick/pubsubjs are: Event Bus Systems, Publish-Subscribe Messaging, Decoupled Communication Services, Message Brokers, Topic Message Listeners, Named Event Dispatchers, PubSub Libraries, UI State Change Notifications.

What are some open-source alternatives to mroderick/pubsubjs?

Open-source alternatives to mroderick/pubsubjs include: airtai/faststream — FastStream is an asynchronous Python framework designed for building event-driven microservices. It provides a unified… nats-io/nats-server — NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge… mqttjs/mqtt.js — MQTT.js is a JavaScript client library and asynchronous messaging client used to connect to message brokers and… hdt3213/godis — Godis is a Redis-compatible in-memory database and distributed key-value store. It functions as a replicated data… tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL… derekyrc/mini-spring — mini-spring is a Java dependency injection framework and inversion of control container. It manages the full lifecycle…

Open-source alternatives to PubSubJS

Similar open-source projects, ranked by how many features they share with PubSubJS.
  • airtai/faststreamairtai avatar

    airtai/faststream

    5,234View on GitHub↗

    FastStream is an asynchronous Python framework designed for building event-driven microservices. It provides a unified abstraction layer for interacting with various message brokers, enabling developers to manage event production and consumption through a consistent interface while maintaining access to native provider-specific features. The framework centers on a decorator-based routing model that binds application logic directly to broker topics, supported by a built-in dependency injection container that resolves resources at runtime. The framework distinguishes itself through its deep int

    Python
    View on GitHub↗5,234
  • nats-io/nats-servernats-io avatar

    nats-io/nats-server

    20,076View on GitHub↗

    NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t

    Gocloudcloud-computingcloud-native
    View on GitHub↗20,076
  • hdt3213/godisHDT3213 avatar

    HDT3213/godis

    3,836View on GitHub↗

    Godis is a Redis-compatible in-memory database and distributed key-value store. It functions as a replicated data store and distributed message broker, implementing the Redis protocol to manage complex data structures in memory. The system provides a geospatial indexing engine for proximity-based queries and distance calculations. It ensures high availability and data durability through master-slave replication and write-ahead logging. The project covers a wide range of capabilities including the management of strings, hash maps, lists, and sorted sets. It supports distributed data clusterin

    Goclustergogodis
    View on GitHub↗3,836
  • mqttjs/mqtt.jsmqttjs avatar

    mqttjs/MQTT.js

    9,033View on GitHub↗

    MQTT.js is a JavaScript client library and asynchronous messaging client used to connect to message brokers and exchange data via the MQTT protocol. It provides a broker interface for publishing and subscribing to topics, and includes a command-line interface for interacting with brokers without writing code. The library supports multiple network layers, including TCP, TLS, and WebSockets, and allows for custom WebSocket construction and transport injection to handle specific headers or subprotocols. It implements bandwidth reduction through topic aliasing, which replaces repetitive topic str

    TypeScripthacktoberfestjavascriptmqtt
    View on GitHub↗9,033
See all 30 alternatives to PubSubJS→