Registry / devops / node-rest-server

node-rest-server

JSON →
library5.0.0jsnpmunverified

A configuration-only REST server built on Express, enabling zero-code API creation via JSON/YAML/JS configuration files. Version 5.0.0 is the latest stable, with frequent releases. Differentiators include declarative route definitions, built-in request validation, and auto-generated Swagger docs. Supports TypeScript out of the box with full type declarations.

npm install node-rest-server
INSTALL
IMPORT
SIG · NODE-REST-SERVER
N
node-rest-server
devopsjavascriptv5.0.0
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.

createServer
import { createServer } from 'node-rest-server'
const createServer = require('node-rest-server')
ESM-only since v5; use dynamic import in CommonJS.
RestServerConfig
import type { RestServerConfig } from 'node-rest-server'
TypeScript type import for config objects.
RouteDefinition
import type { RouteDefinition } from 'node-rest-server'
import { RouteDefinition } from 'node-rest-server'
RouteDefinition is a type only, not a runtime value.

Creates a REST server with one GET route returning a hardcoded array of users.

import { createServer } from 'node-rest-server'; const config = { port: 3000, routes: [ { method: 'GET', path: '/api/users', response: [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' } ] } ] }; createServer(config).then(server => { console.log(`Server running on port ${server.address().port}`); });
Debug
Known issues
breakingESM-only from version 5.0.0: require() no longer works in CommonJS.
fix
Use import syntax (ESM) or dynamic import(): const { createServer } = await import('node-rest-server').
affects: >=5.0.0
gotchaConfiguration validation is strict: unknown keys in config object will throw an error at startup.
fix
Ensure config object contains only documented keys (port, routes, etc.).
affects: >=4.0.0
deprecatedThe legacy config file 'rest.json' is deprecated in favor of 'rest.config.js' or 'rest.config.json'.
fix
Rename your config file to rest.config.json or rest.config.js and adjust imports.
affects: >=4.5.0
gotchaRoute responses are always wrapped in a JSON object under a 'data' key unless you set 'wrapResponse: false'.
fix
Set wrapResponse: false in route config for raw response.
affects: all
Errors
Common errors & fixes
Error: Cannot find module 'node-rest-server'
Package not installed or ESM import used in CommonJS without proper flags.
fix
Run 'npm install node-rest-server' and ensure your project is configured for ESM (e.g., 'type': 'module' in package.json).
TypeError: createServer is not a function
Default import used instead of named import.
fix
Use named import: import { createServer } from 'node-rest-server'. Do not use default import.
ValidationError: unknown key 'ssl' in config
Configuration object contains an unsupported key.
fix
Remove 'ssl' key; node-rest-server does not support HTTPS natively. Use a reverse proxy instead.
Upgrade
Version history
5.0.0latest on npm
Audit
Dependencies
expressrequiredcore HTTP server framework
body-parserrequiredrequest body parsing
corsoptionalcross-origin resource sharing
Agent activity
4 hits · last 30 days
node
4
Resources
node-rest-server — npm install node-rest-server · libregistry