update-version.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import consola from 'consola'
  2. import chalk from 'chalk'
  3. import { errorAndExit, getWorkspacePackages } from '@element-plus/build-utils'
  4. import type { Project } from '@pnpm/find-workspace-packages'
  5. async function main() {
  6. const tagVersion = process.env.TAG_VERSION
  7. const gitHead = process.env.GIT_HEAD
  8. if (!tagVersion || !gitHead) {
  9. errorAndExit(
  10. new Error(
  11. 'No tag version or git head were found, make sure that you set the environment variable $TAG_VERSION \n'
  12. )
  13. )
  14. }
  15. consola.log(chalk.cyan('Start updating version'))
  16. consola.log(chalk.cyan(`$TAG_VERSION: ${tagVersion}`))
  17. consola.log(chalk.cyan(`$GIT_HEAD: ${gitHead}`))
  18. consola.debug(chalk.yellow(`Updating package.json for element-plus`))
  19. const pkgs = Object.fromEntries(
  20. (await getWorkspacePackages()).map((pkg) => [pkg.manifest.name!, pkg])
  21. )
  22. const elementPlus = pkgs['element-plus'] || pkgs['@element-plus/nightly']
  23. const eslintConfig = pkgs['@element-plus/eslint-config']
  24. const metadata = pkgs['@element-plus/metadata']
  25. const writeVersion = async (project: Project) => {
  26. await project.writeProjectManifest({
  27. ...project.manifest,
  28. version: tagVersion,
  29. gitHead,
  30. } as any)
  31. }
  32. try {
  33. await writeVersion(elementPlus)
  34. await writeVersion(eslintConfig)
  35. await writeVersion(metadata)
  36. } catch (err: any) {
  37. errorAndExit(err)
  38. }
  39. consola.debug(chalk.green(`$GIT_HEAD: ${gitHead}`))
  40. consola.success(chalk.green(`Git head updated to ${gitHead}`))
  41. }
  42. main()