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
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 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.
TypeScript version:
// let kites autodiscover the extensions
import kites from "@kites/engine";
(async function bootstrap() {
const app = await kites({
logger: {
console: {
transport: 'console',
level: 'debug'
}
}
}).init();
app.logger.info('A new kites started!');
})();Node/JavaScript version:
// let kites autodiscover the extensions
var kites = require('@kites/engine')({
logger: {
console: {
transport: 'console',
level: 'debug'
}
});
// init the kites
kites.init().then((app) => {
app.logger.info('A new kites started!')
})Kites extensions auto discovery might slows down the startup and can be explicitly override by 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((app) => {
app.logger.info('done!')
})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
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.json windows:
set DEBUG=kites & node app.jskites 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' });