npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

hermes-queue

v0.23.1

Published

Hermes is a modular framework for node.js to make gRPC APIs.

Downloads

61

Readme

GitHub package.json version npm GitHub repo size GitHub issues GitHub pull requests

Hermes is a modular framework for node.js to make gRPC APIs.

We follow a documentation first philosophy, with the objective of quality delivery focusing on the developer’s experience. Hermes is a tool made by devs for all devs, ranging all the way from college work to corporate level projects.

IntroductionContributorsExternal documentation

Table of contents

Introduction

Hermes is a modular framework for node.js based on gRPC that works as a Message Oriented Middleware (MOM) by using the Observable pattern, functioning as the observer between publisher and subscriber communication.

By acting simultaneously as the bridge for publisher and subscriber communication and as the notification handler, Hermes removes the need for a connection with a third party for sending and receiving messages, centralizing and simplifying these functionalities.

Hermes' core features, being fully compatible with gRPC, are:

  • Easy integration
  • Multi-language communication
  • High Performance
  • Trustworthy APIs

Our motivations

Our motivation is to turn coding into a more pleasant experience for the developer by making the process simpler, centralized, and better optimized.

The main premises Hermes was based on are:

  • DX (Development Experience)
  • Security
  • Scalability
  • Optimization

Why should you use Hermes?

Development cost

  • Usually, in the making of an API, you'd need to integrate a variety of different tools. Not with Hermes! What you have is what you need. Hermes' architecture is decoupled, making integrations a whole lot easier. Never again spend your precious time on unnecessarily complicated processes.

Contract automation

  • No need to build manually any machine-to-machine communication. Hermes is fully automated.

Security

  • You are safe with us! Hermes was thought out for security: its security module is programmed with Rust to reduce memory issues and common vulnerabilities. Plus, all communication is encrypted and authenticated with symmetrical signatures.

Compatibility

  • Compatible with ANY systems: desktop, web, mobile, embedded. You are the boss!

Availability

  • Hermes has many functionalities to ensure 24/7 availability for all your needs, including (but not limited to) monitoring, health check, health point, and logging. You will never be left in the dark.

Productivity

  • Hermes will save you time, money, and stress (we all know we need it).

Scalability

  • Hermes has native integration with tools for CI/CD and cluster control. This way, you can automate the build process of gRPC APIs and server applications. With only a few clicks, you can scale your application and avoid the dreadful problems of timeout or too many simultaneous users.

Extensibility with native and/or third party tools

  • Think of Hermes not as a marriage but as a "friends with benefits" relationship. You'll have a compilation of all features and functionalities needed at your disposal with no strings attached. Operate Hermes by itself or with external assistance alongside it, use it as it is or go crazy with customizations: your experience is what matters.

If you are unhappy after your experience with Hermes, we will give you all your money back! (Obs. We are open source)

Features

  • Authentication
  • Caching
  • Logging
  • Throttling
  • Debouncing
  • Message-broker
  • Health check
  • Health point
  • Protobuf compiler
  • Server-client implementation
  • Server-side streaming

Technologies used

| Technologies | How we used them | Version | | :--- |:--- |:---: | | TypeScript | Sole language used in the structuring of the library, architecture, communication, type checking, and functionality exporting | latest version | | NodeJs | Base language for Hermes | latest version | | gRPC | RPC communication mechanism | latest version | | ProtoBuf | Contract creation mechanism for machine-to-machine communication | latest version | | RxJs | Notification and observer handling tool | latest version | | Redis | Cache management tool | latest version | | Rust | Employed in the writing of the security modules, compilators, multithreading, and memory management | latest version | | NPM | Package and library publishing | latest version | | GitHub Actions | CI/CD pipeline and version monitoring | latest version |

Architecture

Branch flow

Be a part of our community!

Contributors

We thank these people

  • Andre Junior
  • Cibelli Oliveira
  • Gabriele Jorge
  • Gutem
  • Janaina Centini
  • Marcela Silva
  • Melissa Kilpp