sync-version.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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(rootDir, "android/app/build.gradle");
  10. if (fs.existsSync(androidBuildGradlePath)) {
  11. let androidBuildGradle = fs.readFileSync(androidBuildGradlePath, "utf8");
  12. androidBuildGradle = androidBuildGradle.replace(
  13. /versionName\s+".*?"/,
  14. `versionName "${version}"`
  15. );
  16. fs.writeFileSync(androidBuildGradlePath, androidBuildGradle);
  17. } else {
  18. console.log("没有找到 Android build.gradle 文件。");
  19. }
  20. // 更新 iOS 版本
  21. const iosPlistPath = path.join(rootDir, "ios/App/App/Info.plist");
  22. if (fs.existsSync(iosPlistPath)) {
  23. let iosPlist = fs.readFileSync(iosPlistPath, "utf8");
  24. iosPlist = iosPlist.replace(
  25. /<key>CFBundleShortVersionString<\/key>\s*<string>.*?<\/string>/,
  26. `<key>CFBundleShortVersionString</key>\n\t<string>${version}</string>`
  27. );
  28. fs.writeFileSync(iosPlistPath, iosPlist);
  29. } else {
  30. console.log("没有找到iOS plist文件");
  31. }
  32. console.log(`✅ 版本号已同步至: ${version}`);
  33. return version;
  34. };
  35. export const url = () => {
  36. return import.meta.env;
  37. };