update-version.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import * as fs from "fs"
  2. import * as path from "path"
  3. const newVersion = process.argv[2]
  4. if (!newVersion) {
  5. console.error("Please provide a version number")
  6. process.exit(1)
  7. }
  8. // Update root package.json
  9. const rootPackagePath = path.join(__dirname, "..", "package.json")
  10. const rootPackage = JSON.parse(fs.readFileSync(rootPackagePath, "utf8"))
  11. rootPackage.version = newVersion
  12. fs.writeFileSync(rootPackagePath, JSON.stringify(rootPackage, null, 2))
  13. // Update webview package.json
  14. const webviewPackagePath = path.join(__dirname, "..", "webview-ui", "package.json")
  15. const webviewPackage = JSON.parse(fs.readFileSync(webviewPackagePath, "utf8"))
  16. webviewPackage.version = newVersion
  17. fs.writeFileSync(webviewPackagePath, JSON.stringify(webviewPackage, null, 2))
  18. // Update Announcement.tsx
  19. const announcementPath = path.join(__dirname, "..", "webview-ui", "src", "components", "Announcement.tsx")
  20. let announcementContent = fs.readFileSync(announcementPath, "utf8")
  21. announcementContent = announcementContent.replace(/New in v[\d.]+<\/h3>/, `New in v${newVersion}</h3>`)
  22. fs.writeFileSync(announcementPath, announcementContent)
  23. // Update SettingsView.tsx
  24. const settingsViewPath = path.join(__dirname, "..", "webview-ui", "src", "components", "SettingsView.tsx")
  25. let settingsViewContent = fs.readFileSync(settingsViewPath, "utf8")
  26. settingsViewContent = settingsViewContent.replace(/>v[\d.]+<\/p>/, `>v${newVersion}</p>`)
  27. fs.writeFileSync(settingsViewPath, settingsViewContent)
  28. console.log(`Version updated to ${newVersion}`)