GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • Devisjs
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles

This view

  • Original page
  • New address

GeezerVison is showing github.com — Devis Microservices Framework

README.md

Devis

Pattern-matching microservices for Node.js. Register handlers under plain-object patterns, then call them in the same process or over TCP, Unix sockets, named pipes or RabbitMQ, with the same calling code.

// math.js
const devis = require("devis");
devis.push({ role: "math", cmd: "sum" }, async ({ left, right }) => left + right);
devis.listen({ host: "127.0.0.1", port: 3030 });
// client.js
const devis = require("devis");
devis.connect({ id: "math", host: "127.0.0.1", port: 3030 }, async () => {
    console.log(await devis.call({ role: "math", cmd: "sum" }, { left: 1, right: 2 })); // 3
    devis.close();
});

The client needs no service name: each service announces its patterns, and Devis routes every call to the one that matches best, in turn when several instances run. Since Devis 4.1: partial matching, automatic reconnection, load balancing and OpenTelemetry traces across services, on top of async handlers, timeouts, graceful shutdown and TypeScript types.

npm install devis   # Node.js 22 or later

Packages

Package What it does
devis The framework: patterns, local calls, TCP, Unix sockets, named pipes npm
devisPattern The pattern matcher behind Devis npm
devis-mongo-client MongoDB plugin npm
devis-pub_sub-redis Redis pub/sub plugin npm
devis_rabbitmq RabbitMQ transport with per-call RPC replies npm
generator-devis yo devis: scaffold a gateway and a microservice npm

Get started

  • Read the devis README for the API and recipes.
  • Run the examples: local calls, TCP, MongoDB, Redis, RabbitMQ.
  • Scaffold a project: npm install -g yo generator-devis && yo devis.

All packages are MIT licensed and tested on Node.js 22 and 24.

Pinned Loading

  1. devis devis Public

    Pattern-matching microservices for Node.js: async calls routed over TCP or Unix sockets, load balancing, reconnection, OpenTelemetry traces

    JavaScript 79 12

  2. generator-devis generator-devis Public

    Yeoman generator for Devis microservices projects

    JavaScript 10 3

  3. devisPattern devisPattern Public

    Exact and partial pattern matcher on JavaScript object properties, used by Devis

    JavaScript 10 2

  4. devis-mongo-client devis-mongo-client Public

    MongoDB plugin for the Devis microservices framework

    JavaScript 2

  5. devis-pub_sub-redis devis-pub_sub-redis Public

    Redis pub/sub plugin for the Devis microservices framework

    JavaScript 4

  6. devis_rabbitmq devis_rabbitmq Public

    RabbitMQ transport plugin for Devis, with per-call RPC replies

    JavaScript 3

Repositories

Loading
Type
Language
Sort
Showing 10 of 10 repositories
  • .github Public

    Devis organization profile

    Uh oh!

    There was an error while loading. Please reload this page.

    Devisjs/.github's past year of commit activity
    0 0 0 0 Updated Nov 3, 2026
  • generator-devis Public

    Yeoman generator for Devis microservices projects

    Uh oh!

    There was an error while loading. Please reload this page.

    Devisjs/generator-devis's past year of commit activity
    JavaScript 10 MIT 3 0 0 Updated Nov 3, 2026
  • Devis-Examples Public

    Runnable examples for the Devis microservices framework: TCP, MongoDB, Redis, RabbitMQ

    Uh oh!

    There was an error while loading. Please reload this page.

    Devisjs/Devis-Examples's past year of commit activity
    JavaScript 9 2 0 0 Updated Nov 3, 2026
  • devis Public

    Pattern-matching microservices for Node.js: async calls routed over TCP or Unix sockets, load balancing, reconnection, OpenTelemetry traces

    Uh oh!

    There was an error while loading. Please reload this page.

    Devisjs/devis's past year of commit activity
    JavaScript 79 MIT 12 1 0 Updated Nov 3, 2026
  • devisPattern Public

    Exact and partial pattern matcher on JavaScript object properties, used by Devis

    Uh oh!

    There was an error while loading. Please reload this page.

    Devisjs/devisPattern's past year of commit activity
    JavaScript 10 MIT 2 0 0 Updated Nov 3, 2026
  • devis_rabbitmq Public

    RabbitMQ transport plugin for Devis, with per-call RPC replies

    Uh oh!

    There was an error while loading. Please reload this page.

    Devisjs/devis_rabbitmq's past year of commit activity
    JavaScript 3 MIT 0 0 0 Updated Nov 3, 2026
  • devis-pub_sub-redis Public

    Redis pub/sub plugin for the Devis microservices framework

    Uh oh!

    There was an error while loading. Please reload this page.

    Devisjs/devis-pub_sub-redis's past year of commit activity
    JavaScript 4 MIT 0 0 0 Updated Nov 3, 2026
  • devis-mongo-client Public

    MongoDB plugin for the Devis microservices framework

    Uh oh!

    There was an error while loading. Please reload this page.

    Devisjs/devis-mongo-client's past year of commit activity
    JavaScript 2 MIT 0 0 0 Updated Nov 3, 2026
  • node-iohook Public archive Forked from ayoubserti/node-iohook

    Binding of libuiohook for nodejs

    Uh oh!

    There was an error while loading. Please reload this page.

    Devisjs/node-iohook's past year of commit activity
    C++ 0 12 0 0 Updated Mar 22, 2017
  • generator-wakanda-devis Public archive

    Uh oh!

    There was an error while loading. Please reload this page.

    Devisjs/generator-wakanda-devis's past year of commit activity
    JavaScript 6 0 0 0 Updated Dec 2, 2016

People

@aoulaika @ismailrei @tarikchakur

Top languages

Loading…

Uh oh!

There was an error while loading. Please reload this page.

Most used topics

Loading…

Uh oh!

There was an error while loading. Please reload this page.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.