JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q50687F
  • License MIT

Core Engine of Kites

Package Exports

  • @kites/engine

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@kites/engine) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

kites-engine

Core Engine of Kites

Join the chat at https://gitter.im/nodevn/kites npm version npm downloads Travis

Kites is a framework providing dynamic applications assembling and API routing. It contains a lot of templates and extensions help build up applications quickly.

Extensions

You are welcome to write your own extension or even publish it to the community.

TODO:

  • Write an article for implementing custom kites extension

Extensions auto discovery

Kites by default auto discovers extensions in the application's directory tree. This means kites by default searches for files kites.config.js which describes the extensions and applies all the extensions that are found.

// let kites autodiscover the extensions
var kites = require('@kites/engine')({
    logger: {
        console: {
        transport: 'console',
        level: 'debug'
    }
});

// init the kites
kites.init().then(() => {
    kites.logger.info('done!')
})

Kites extensions auto discovery slows down the startup and can be explicitly overrided using use function

// do not let kites autodiscover the extensions
// do not load extensions from locations cache
var kites = require('@kites/engine')({
    discover: false,
    extensionsLocationCache: false,
    logger: {
        console: {
        transport: 'console',
        level: 'debug'
    }
});

// explicitly use extensions
kites.use(require('@kites/express')())
    .use(require('@kites/roomrtc')())
    .init().then((kites) => {
        kites.logger.info('done!')
    })

Logging

kites leverages winston logging abstraction together with debug utility. To output logs in the console just simply set the DEBUG environment variable

DEBUG=kites node app.js

on windows:

set DEBUG=kites & node app.js

kites exposes logger property which can be used to adapt the logging as you like. You can for example just add winston console transport and filter in only important log messages into console.

var kites = require('@kites/engine')();
var winston = require('winston');
kites.logger.add(winston.transports.Console, { level: 'info' });