run.js 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. run - Run and watch
  3. */
  4. import * as spawn from 'child_process'
  5. import * as gulp from 'gulp'
  6. import * as log from 'fancy-log'
  7. import config from 'assist'
  8. function run(cb) {
  9. let name = config.name
  10. let cmd = '../paks/assist/gulp/docker-app/run.sh'
  11. spawn.execSync(`docker stop -t 0 ${config.name} >/dev/null 2>&1; docker rm ${config.name} >/dev/null 2>&1 ; true`)
  12. print(`Running: ${cmd}`)
  13. let pkg = spawn.spawn(cmd, ['debug', 'background'])
  14. pkg.stdout.on('data', data => process.stdout.write(data.toString()))
  15. pkg.stderr.on('data', data => process.stdout.write(data.toString()))
  16. pkg.on('exit', err => {
  17. if (err) {
  18. throw new Error('Cannot run server')
  19. }
  20. cb()
  21. })
  22. process.on('SIGINT', function () {
  23. log('Cleanup', `docker stop -t 0 ${config.name}; docker rm ${config.name}`)
  24. spawn.execSync(`docker stop -t 0 ${config.name} >/dev/null 2>&1; docker rm ${config.name} >/dev/null 2>&1 ; true`)
  25. process.exit(0)
  26. })
  27. }
  28. export default gulp.series(run)