Registry / devops / sipahi

sipahi

JSON →
library1.1.0-beta.30jsnpmunverified

Batteries-included gRPC server framework for Node.js (v1.1.0-beta.30). Provides a full-stack setup out of the box including health checking, reflection, graceful shutdown, logging, error handling, TLS, and rate limiting. Differentiates from vanilla @grpc/grpc-js by offering integrated middleware, automatic server management, and a cleaner API for building gRPC microservices. Currently in beta with active development on GitHub.

npm install sipahi
INSTALL
IMPORT
SIG · SIPAHI
S
sipahi
devopsjavascriptv1.1.0-beta.30
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Server
import { Server } from 'sipahi'
const { Server } = require('sipahi')
ESM-only package; no CommonJS support.
ServiceDefinition
import { ServiceDefinition } from 'sipahi'
Type import for TypeScript users.
GrpcServerOptions
import { GrpcServerOptions } from 'sipahi'
Type import for configuration options.

Creates and starts a secure gRPC server with health checking, reflection, logging, and graceful shutdown.

import { Server } from 'sipahi'; const server = new Server({ port: 50051, host: '0.0.0.0', tls: false, reflection: true, healthCheck: true, gracefulShutdown: true, logging: true, }); server.addService('./path/to/your.proto', 'packageName.ServiceName', { async myMethod(call, callback) { callback(null, { message: 'Hello, ' + call.request.name }); }, }); server.start().then(() => { console.log('gRPC server started on port 50051'); });
Debug
Known issues
gotchaESM-only: Sipahi ships as ES Modules. require() will not work even with dynamic imports in CJS projects.
fix
Set "type": "module" in package.json or use .mjs extension.
affects: >=1.0.0
gotchaBeta software: Sipahi is in beta (v1.1.0-beta.30). API may change without major version bump.
fix
Pin exact version and test upgrades thoroughly.
affects: <2.0.0
breakingServer constructor options changed in v1.1.0-beta.20: 'port' and 'host' now required.
fix
Pass port and host explicitly in Server options.
affects: >=1.1.0-beta.20
deprecatedaddService path argument expects absolute or relative path; previously only supported absolute paths.
fix
Update to use relative path; ensure your proto files are accessible.
affects: <1.1.0-beta.25
gotchaReflection and healthCheck features must be enabled explicitly; they are off by default.
fix
Set reflection: true and healthCheck: true in Server options to enable.
affects: >=1.1.0-beta.1
Errors
Common errors & fixes
Error [ERR_MODULE_NOT_FOUND]: Cannot find module .../node_modules/sipahi/lib/Server.js' imported from ...
Using CommonJS require() on an ESM-only package.
fix
Convert to ES modules or use dynamic import eg: const { Server } = await import('sipahi');
TypeError: server.start is not a function
Importing the wrong export (e.g., GrpcServer instead of Server) or using older API.
fix
Ensure you import Server from 'sipahi' and check version >=1.1.0-beta.20.
Error: ENOENT: no such file or directory, open './path/to/protofile.proto'
Proto file path provided to addService is incorrect or relative path resolved from wrong location.
fix
Use an absolute path or ensure relative path is correct from process.cwd().
TypeError: Cannot read properties of undefined (reading 'ServiceName')
Proto package name or service name mismatch in addService call.
fix
Verify the package and service names in your .proto file match exactly.
Upgrade
Version history
1.1.0-beta.30latest on npm
Audit
Dependencies
@grpc/grpc-jsrequiredCore gRPC implementation used by sipahi
@grpc/proto-loaderrequiredRequired for loading .proto files dynamically
Agent activity
6 hits · last 30 days
node
6
Resources
packagesipahi
sipahi — npm install sipahi · libregistry