Registry / devops / cirruswave

cirruswave

JSON →
library1.0.490jsnpmunverified

CirrusWave is a comprehensive Node.js framework for building cloud-based REST-enabled microservices. It provides declarative route configuration, optional JSON Schema validation for URL parameters, query parameters, request bodies, and responses, built-in access key security, automatic API documentation, and a test framework. Current stable version is 1.0.490. The package simplifies microservices development by allowing developers to define services via configuration files, separating business logic from infrastructure. It supports both HTTP and HTTPS, and comes with default certificates for secure deployment. Alternatives include Express, Hapi, and Fastify, but CirrusWave offers a more opinionated, configuration-driven approach tailored for enterprise microservices.

npm install cirruswave
INSTALL
IMPORT
SIG · CIRRUSWAVE
C
cirruswave
devopsjavascriptv1.0.490
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.

default
const cirruswave = require('cirruswave');
import cirruswave from 'cirruswave'; // ESM not supported
Package uses CommonJS and does not support ES modules. Use require().
CirrusWave
const { CirrusWave } = require('cirruswave');
import { CirrusWave } from 'cirruswave'; // wrong import style
Named export for the main class. Must use require destructuring.
startService
const startService = require('cirruswave').startService;
import { startService } from 'cirruswave'; // ESM not supported
Utility function to start services. Use require.

Shows how to define a service config, route config, and start a CirrusWave microservice with a simple hello endpoint.

const cirruswave = require('cirruswave'); const path = require('path'); // Configuration for the service instance const serviceConfig = { services: { myservice: { protocol: 'http', port: 3000, hostname: 'localhost', description: 'My REST service', configfilepath: './config/appconfig.json', security: 'nokey' } } }; // Route configuration (appconfig.json) const appConfig = { routes: [ { name: 'hello', route: '/api/hello', method: 'GET', description: 'Returns a greeting', examples: ['GET /api/hello'], type: 'json', handlerPath: './handlers/hello.js', schema: { response: { type: 'object', properties: { message: { type: 'string' } } } } } ] }; // Business logic (hello.js) // module.exports = (req, res) => { res.json({ message: 'Hello from CirrusWave!' }); }; // Start service cirruswave.startService(serviceConfig) .then(() => console.log('Service started on port 3000')) .catch(err => console.error('Failed to start:', err));
Debug
Known issues
gotchaPackage requires Node.js >=6; may not work on newer Node versions due to deprecated APIs
fix
Ensure Node.js version is compatible; consider using a Node version manager.
affects: >=1.0.0
gotchaConfiguration files must be valid JSON; errors will cause silent failures
fix
Validate JSON files using a linter before running the service.
affects: >=1.0.0
gotchaDefault certificates are included for development only; do not use in production
fix
Replace default SSL certificates with organization-issued certificates for production deployment.
affects: >=1.0.0
deprecatedThe package uses body-parser which is deprecated in Express 4.16+
fix
Consider migrating to Express's built-in body parsing or use an alternative framework.
affects: >=1.0.0
Errors
Common errors & fixes
Error: Cannot find module 'cirruswave'
Package not installed or incorrect import path
fix
Run 'npm install cirruswave' in the project directory.
TypeError: cirruswave.startService is not a function
Using wrong export or incorrect import style
fix
Use 'const cirruswave = require('cirruswave');' then 'cirruswave.startService(...)'.
SyntaxError: Unexpected token } in JSON at position ...
Malformed JSON configuration file
fix
Validate JSON syntax with a validator or linter.
Upgrade
Version history
1.0.490latest on npm
Audit
Dependencies
expressrequiredUnderlying HTTP framework for routing and middleware
body-parserrequiredParsing request bodies (JSON, URL-encoded)
Agent activity
9 hits · last 30 days
node
8
Amazon
1
Resources
cirruswave — npm install cirruswave · libregistry