Files
demo/bootstrap.js

38 lines
990 B
JavaScript

'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,
};