38 lines
990 B
JavaScript
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,
|
|
};
|