Yekonga Server

raw JSON →
4.4.3 verified Sat Apr 25 auth: no javascript

Yekonga Server v4.4.3 is an open-source Node.js backend framework built on Express and Socket.IO, providing REST, GraphQL, CLI scaffolding, and cloud functions. It integrates GraphQL with an optional authQuery, configurable permissions, database modeling, and mail (SMTP) support. Requires Node >=21.0.0. Differentiators: opinionated CLI (create, generate triggers), JSON configuration, and built-in GraphQL auth. Release cadence is irregular.

error Cannot find module 'yekonga-server'
cause Package not installed or node_modules missing
fix
Run 'npm install yekonga-server' in your project root
error Yekonga is not defined
cause Missing require('yekonga-server')
fix
Add 'const Yekonga = require('yekonga-server');' at the top
error Error: config.app is required
cause Config object missing app property
fix
Include 'app: { title: ... }' in config
error TypeError: Yekonga.setConfig is not a function
cause setConfig removed in v3+, use constructor
fix
Use 'new Yekonga(config)' directly
breaking Node >=21.0.0 required since v4.0.0
fix Update Node to v21 or later
deprecated Yekonga.setConfig() deprecated, pass config in constructor
fix Use new Yekonga(config) instead
gotcha GraphQL authQuery misconfiguration breaks auth
fix Ensure graphql.authQuery returns a valid query string
gotcha CJS-only; no ESM support
fix Use require() syntax; do not import package in ES modules
breaking Socket.IO version mismatch may cause runtime errors
fix Ensure installed socket.io version matches peer dependency
npm install yekonga-server
yarn add yekonga-server
pnpm add yekonga-server

Create a Yekonga server instance with inline config JSON and start on port 3000.

const Yekonga = require('yekonga-server');
const config = {
  app: { title: 'My App', version: '1.0.0' },
  permissions: { default: 'public' },
  database: { users: { fields: { name: 'string', email: 'string' } } }
};
const app = new Yekonga(config);
app.start(3000, () => console.log('Server running on port 3000'));