hiroki
v3.1.0
Published
Automatic REST API CRUD generator for Mongoose models with Express
Maintainers
Readme
hiroki
CRUD engine with pluggable adapters — expose any model as a REST API in seconds.
Installation
npm install hirokiQuick start
import express from 'express';
import mongoose from 'mongoose';
import hiroki from 'hiroki';
const User = mongoose.model('User', new mongoose.Schema({ name: String, email: String }));
hiroki.importModel(User);
const app = express();
app.use(express.json());
app.use('/api/*', async (req, res) => {
const result = await hiroki.process(req.originalUrl, {
method: req.method as any,
body: req.body,
});
res.status(result.status ?? 200).json(result);
});Gives you GET /api/users, GET /api/users/:id, POST /api/users, PUT /api/users/:id, DELETE /api/users/:id — no boilerplate.
Without a database
import hiroki, { MemoryAdapter } from 'hiroki';
hiroki.importModel('Products', {
adapter: new MemoryAdapter('Products'),
});Ecosystem
| Package | Description |
|---------|-------------|
| hiroki-drizzle | Drizzle ORM adapter (beta) |
| hiroki-sequelize | Sequelize adapter (beta) |
| hiroki-pino | Pino logger integration |
| hiroki-winston | Winston logger integration |
Documentation
License
MIT
