async dev () {
    this.devProcess = new DevProcess(this)
    await this.devProcess.process()
    const error = await new Promise(resolve => {
      try {
        this.devProcess
            .on('fileChanged', ({ type, target }) => {
              console.log(`Reload due to ${chalk.red(type)} ${chalk.cyan(path.relative(this.sourceDir, target))}`)
              this.process()
            })
            .createServer()
            .listen(resolve)
      } catch (err) {
        resolve(err)
      }
    })
    if (error) {
      throw error
    }
    return this
  }
Launch a dev process with current app context.

@returns {Promise<App>}
@api public