gulp.task('devServer', async(done) => {

  if (devConfig.output == null) {
    devConfig.output = {}
  }
  devConfig.output.path = config.absOutput('')

  try {
    const server = await serve({
      config : devConfig,
      host   : config.livereloadHost,
      // host  : '0.0.0.0',
      port   : config.serverPort,
      dev    : { publicPath: '', stats: 'minimal' },
      content: [],
      add    : (app, middleware) => {
        app.use(c2k(proxy(
          config.apiPrefixes,
          {
            target: `http://localhost:${config.serverPort + 1}`,
            secure: false,
          },
        ) as NextHandleFunction))

        app.use(c2k(history({
          index  : `${config.serverIndex}`,
          verbose: false,
        }) as NextHandleFunction))

        middleware.webpack()
        // middleware.content()
      },
    })

    server.on('listening', () => {
      log('Checking Dev Server status...')

      http.get({
        host   : config.livereloadHost,
        port   : config.serverPort,
        timeout: WAIT_FOR_STARTUP_IN_MS,
      }, (res: http.IncomingMessage) => {
        log(`Webpack Dev Server started at port ${config.serverPort}`)
        res.on('data', _.noop)
        res.on('end', done)
      })
        .on('error', (err?: Error) => {
          log.warn('There must be something wrong with webpack dev server:')
          log.warn(err)
          done()
        })
    })
  } catch (e) {
    log.error('Webpack Dev Server startup failed!  Detail:')
    log.error(e)
  }
})
Example #2
0
readdir(join("dist", "commands"), (error, files) => {
    if (error) {
        log.error(error);
        throw error;
    }

    files.forEach((file) => {
        const cmdFile = require(`./commands/${file}`);
        const cmdFileName = file.split(".")[0];

        const cmdClass = new cmdFile[cmdFileName]();
        app.telegram.command(cmdClass.aliases, cmdClass.execute);

        log(`Commandhandler loaded: ${cmdFileName}`);
    });
});
Example #3
0
readdir(join("dist", "events"), (error, files) => {
    if (error) {
        log.error(error);
        throw error;
    }

    files.forEach((file) => {
        const eventFile = require(`./events/${file}`);
        const eventName = file.split(".")[0];

        const eventClass = new eventFile[eventName]();

        app.telegram.on(eventClass.event, eventClass.handle);

        log(`Eventhandler loaded: ${eventName}`);
    });
});
function reportError(message: string) {
  log.error(colors.white.bgRed.bold(message));
  process.exit(1);
}