UNPKG

@ts-ioc/platform-server-bootstrap

Version:

tsioc is AOP, Ioc container, via typescript decorator

98 lines (96 loc) 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const core_1 = require("@ts-ioc/core"); const bootstrap_1 = require("@ts-ioc/bootstrap"); const path = require("path"); const platform_server_1 = require("@ts-ioc/platform-server"); let ConfigureFileLoader = class ConfigureFileLoader { constructor(baseURL, container) { this.baseURL = baseURL; this.container = container; } load(uri) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const fs = require('fs'); if (uri) { if (fs.existsSync(uri)) { return require(uri); } else if (fs.existsSync(path.join(this.baseURL, uri))) { return require(path.join(this.baseURL, uri)); } else { console.log(`config file: ${uri} not exists.`); return null; } } else { let cfgmodeles; let cfgpath = path.join(this.baseURL, './config'); ['.js', '.ts', '.json'].forEach(ext => { if (cfgmodeles) { return false; } if (fs.existsSync(cfgpath + ext)) { cfgmodeles = require(cfgpath + ext); return false; } return true; }); return cfgmodeles; } }); } static getClassAnnations() { return { "name": "ConfigureFileLoader", "params": { "constructor": ["baseURL", "container"], "load": ["uri"] } }; } }; ConfigureFileLoader = tslib_1.__decorate([ core_1.Injectable(bootstrap_1.ConfigureLoaderToken), tslib_1.__metadata("design:paramtypes", [String, Object]) ], ConfigureFileLoader); exports.ConfigureFileLoader = ConfigureFileLoader; /** * server app. * * @export * @template T * @param {string} [baseURL] * @returns {IApplicationBuilderServer<T>} */ function serverApp(baseURL) { return new bootstrap_1.ApplicationBuilder(baseURL).use(ServerBootstrapModule); } exports.serverApp = serverApp; let cwd = process.cwd(); let processRoot = path.join(path.dirname(cwd), path.basename(cwd)); /** * server boot module * * @export * @class ServerBootstrapModule */ let ServerBootstrapModule = class ServerBootstrapModule { static getClassAnnations() { return { "name": "ServerBootstrapModule", "params": {} }; } }; ServerBootstrapModule = tslib_1.__decorate([ bootstrap_1.DIModule({ asRoot: true, imports: [ platform_server_1.ServerModule, ConfigureFileLoader ], providers: [ { provide: bootstrap_1.ProcessRunRootToken, useValue: processRoot } ] // exports: [ // ServerModule, // ConfigureFileLoader // ] }) ], ServerBootstrapModule); exports.ServerBootstrapModule = ServerBootstrapModule; //# sourceMappingURL=sourcemaps/BootstrapModule.js.map