sync-version.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import fs from "fs";
  2. import path from "path";
  3. export const updateVersion = () => {
  4. // 读取 package.json 版本
  5. const packageJson = JSON.parse(fs.readFileSync("./package.json", "utf8"));
  6. const version = packageJson.version;
  7. const rootDir = process.cwd();
  8. // 更新 Android 版本
  9. const androidBuildGradlePath = path.join(
  10. rootDir,
  11. "android/app/build.gradle"
  12. );
  13. let androidBuildGradle = fs.readFileSync(androidBuildGradlePath, "utf8");
  14. androidBuildGradle = androidBuildGradle.replace(
  15. /versionName\s+".*?"/,
  16. `versionName "${version}"`
  17. );
  18. fs.writeFileSync(androidBuildGradlePath, androidBuildGradle);
  19. // 更新 iOS 版本
  20. const iosPlistPath = path.join(rootDir, "ios/App/App/Info.plist");
  21. let iosPlist = fs.readFileSync(iosPlistPath, "utf8");
  22. iosPlist = iosPlist.replace(
  23. /<key>CFBundleShortVersionString<\/key>\s*<string>.*?<\/string>/,
  24. `<key>CFBundleShortVersionString</key>\n\t<string>${version}</string>`
  25. );
  26. fs.writeFileSync(iosPlistPath, iosPlist);
  27. console.log(`✅ 版本号已同步至: ${version}`);
  28. return version
  29. };