/** * The Lib */ //main service framework export const Moleculer = require("moleculer"); //service decorators for ES7 import * as MoleculerDecorators from "moleculer-decorators"; export const ServiceDecorators = MoleculerDecorators; export const { loadConfig } = require("my-nconf"); /** Config, based on env */ export const config = loadConfig(); export const Promise = require("bluebird"); global.Promise = Promise; export const _ = require("lodash"); /** custom app errors */ export const errors = require("./errors"); export * from "./errors"; //base app errors /** custome app logger */ export * from "./utils/Logger"; import { logger } from "./utils/Logger"; /** Service Driver */ import { CreateServiceBroker, CreateServiceStarter } from "./drivers"; //the minium requirements to run service broker, const DefaultServiceContext = { namespace: config.get("namespace"), transporter: config.get("transporter.nats"), logger }; //override by extend or provide config to new DefaultServiceBroker(config) export const ServiceBroker = CreateServiceBroker(DefaultServiceContext); export const ServiceStarter = CreateServiceStarter(ServiceBroker); /** helper drivers */ export { RethinkDB, Redis, ElasticSearch, MongoDB, WWW, PromClient } from "./drivers"; //export { Kafka } from "./drivers"; /** * The Service */ exports.Service = require("./core.service");