Skip to content

Config

DefineConfig

Create zely.config.js or zely.config.ts to define config.

  1. Default
ts
export default {};
export default {};
js
module.exports = {};
module.exports = {};
  1. Using defineConfig()
ts
import { defineConfig } from 'zely/config';

export default defineConfig({
  /* config */
});
import { defineConfig } from 'zely/config';

export default defineConfig({
  /* config */
});
js
const { defineConfig } = require('zely/config');

module.exports = defineConfig({
  /* config */
});
const { defineConfig } = require('zely/config');

module.exports = defineConfig({
  /* config */
});

Types

base

  • Type: string
  • Default: .

Project root directory. (only relative path)

routes

  • Type: string
  • Default: /pages/

Directory where page files are located.

middlewares

  • Type: Array<Middleware>

Middlewares Array

ts
function example(req, res, next) {
  req.message = 'Hello World';
  next();
}

export default {
  middlewares: [example],
};
function example(req, res, next) {
  req.message = 'Hello World';
  next();
}

export default {
  middlewares: [example],
};

port

  • Type: number
  • Default: 5050

Port

handler

  • Type: HandlerType

Custom Server Handler

ts
await Zely({
  handler: (req, res, routes) => {
    // ...
  },
});
await Zely({
  handler: (req, res, routes) => {
    // ...
  },
});

esbuild

  • Type: esbuild.BuildOptions

Esbuild build option.

plugins

  • Type: Plugin[]

TIP

reference: plugin

watch

  • Type: {enable: boolean; options: chokidar.WatchOptions;}

error

  • Type: (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;

allowAutoMiddlewares

  • Type: boolean

TIP

reference: auto middleware

middlewareDirectory

  • Type: string

server

ts
interface Config {
  // ...
  server?: {
    middlewareMode?: boolean;
    // osik server options
    osik?: ServerOptions;
    // if you enable `keepCache`, zely will not remove cache directory when server starts.
    keepCache?: boolean;
  };
}
interface Config {
  // ...
  server?: {
    middlewareMode?: boolean;
    // osik server options
    osik?: ServerOptions;
    // if you enable `keepCache`, zely will not remove cache directory when server starts.
    keepCache?: boolean;
  };
}

useBrackets

If you enable useBrackets, you can set routes using brackets like /[id]/index.ts.