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.

release.js 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /**
  2. * @Author: Caven
  3. * @Date: 2021-03-15 20:59:10
  4. */
  5. 'use strict'
  6. const fse = require('fs-extra')
  7. const path = require('path')
  8. const shell = require('shelljs')
  9. const chalk = require('chalk')
  10. const pkgInfo = require('../package.json')
  11. const version = pkgInfo.version
  12. shell.echo(chalk.green('release packages start'))
  13. const pkgs = ['base', 'core', 'chart', 'mapv', 'sdk']
  14. const count = pkgs.length
  15. pkgs.forEach((item, index) => {
  16. fse.exists(path.resolve(__dirname, '..', `packages/${item}/dist`), exists => {
  17. if (exists) {
  18. shell.cd(path.resolve(__dirname, '..', `packages/${item}`))
  19. try {
  20. let code = shell.exec(
  21. `yarn publish --new-version ${version} --access public`
  22. ).code
  23. if (code !== 0) {
  24. shell.echo(chalk.red(` release @dvgis/dc-${item} v${version} failed`))
  25. } else {
  26. shell.echo(
  27. chalk.yellow(` release @dvgis/dc-${item} v${version} success`)
  28. )
  29. }
  30. } catch (e) {
  31. shell.echo(chalk.red(` release @dvgis/dc-${item} v${version} failed`))
  32. }
  33. if (index === count - 1) {
  34. shell.echo(chalk.green('release packages end'))
  35. shell.exit(0)
  36. }
  37. } else {
  38. shell.echo(
  39. chalk.red(
  40. `no ${item} dist, release @dvgis/dc-${item} v${version} failed`
  41. )
  42. )
  43. if (index === count - 1) {
  44. shell.echo(chalk.green('release packages end'))
  45. shell.exit(0)
  46. }
  47. }
  48. })
  49. })