'use strict'; const { Bootstrap } = require('@midwayjs/bootstrap'); const { prepareSaasServiceHost } = require('@cool-midway/rpc/saas-host'); const path = require('path'); const { requireExactReleaseEnvironment, } = require('./release-environment'); function loadGeneratedSaasModule() { return require('./dist/saas/generated').GeneratedSaasModule; } async function start(options = {}) { const session = await prepareSaasServiceHost({ generated: loadGeneratedSaasModule(), }); if (options.verifySession) await options.verifySession(session); requireExactReleaseEnvironment(); return Bootstrap.configure({ baseDir: path.join(__dirname, 'dist'), imports: [require('./dist/configuration')], }).run(); } if (require.main === module) { start().catch(error => { process.stderr.write(`${error?.stack || error?.message || error}\n`); process.exitCode = 1; }); } module.exports = { loadGeneratedSaasModule, requireExactReleaseEnvironment, start, };