publish.js 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. /*
  2. publish.js - Publish package
  3. */
  4. import * as spawn from 'child_process'
  5. import * as path from 'path'
  6. import * as gulp from 'gulp'
  7. import * as log from 'fancy-log'
  8. import * as fs from 'fs'
  9. import * as json5 from 'json5'
  10. import config from 'assist'
  11. function publish(cb) {
  12. let cmd = '../paks/assist/docker-publish'
  13. let part = path.basename(global.top)
  14. let settings = config[part]
  15. let args = ['--primary', 'true', '--aws-profile', settings.aws_profile, '--region', settings.region, settings.image]
  16. for (let [index, value] of Object.entries(args)) {
  17. args[index] = expand(value, config)
  18. }
  19. print(`Running: ${cmd} ${args.join(' ')} ...`)
  20. let pkg = spawn.spawn(cmd, args)
  21. pkg.stdout.on('data', data => process.stdout.write(data.toString()))
  22. pkg.stderr.on('data', data => process.stdout.write(data.toString()))
  23. pkg.on('exit', err => {
  24. if (err) {
  25. throw new Error(`Cannot publish ${err.toString()}`)
  26. }
  27. cb()
  28. })
  29. }
  30. export default gulp.series(publish)