You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1234567891011121314151617181920212223242526272829303132
  1. require('dotenv').config()
  2. const Glue = require('@hapi/glue')
  3. const Exiting = require('exiting')
  4. const Manifest = require('./manifest')
  5. /**
  6. * Our main app server
  7. * @param {boolean} start
  8. * @returns {Server}
  9. */
  10. exports.deployment = async ({ start } = {}) => {
  11. const manifest = Manifest.get('/', process.env)
  12. const server = await Glue.compose(manifest, { relativeTo: __dirname })
  13. if (start) {
  14. await Exiting.createManager(server).start()
  15. server.log(['start'], `Server started at ${server.info.uri}`)
  16. process.title = 'siimee_backend'
  17. return server
  18. }
  19. await server.initialize()
  20. return server
  21. }
  22. if (require.main === module) {
  23. exports.deployment({ start: true })
  24. process.on('unhandledRejection', err => {
  25. throw err
  26. })
  27. }