mirror of
https://github.com/tiajinsha/JKVideo.git
synced 2026-04-04 22:49:02 +08:00
38 lines
1.3 KiB
JavaScript
38 lines
1.3 KiB
JavaScript
#!/usr/bin/env node
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const root = path.resolve(__dirname, '..');
|
|
|
|
// Read app.json
|
|
const appJsonPath = path.join(root, 'app.json');
|
|
const appJson = JSON.parse(fs.readFileSync(appJsonPath, 'utf8'));
|
|
const currentVersion = appJson.expo.version;
|
|
|
|
// Parse semver
|
|
const parts = currentVersion.split('.').map(Number);
|
|
parts[2] += 1;
|
|
const newVersion = parts.join('.');
|
|
const newVersionCode = parts[0] * 10000 + parts[1] * 100 + parts[2];
|
|
|
|
// Update app.json
|
|
appJson.expo.version = newVersion;
|
|
fs.writeFileSync(appJsonPath, JSON.stringify(appJson, null, 2) + '\n');
|
|
|
|
// Update package.json
|
|
const pkgJsonPath = path.join(root, 'package.json');
|
|
const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf8'));
|
|
pkgJson.version = newVersion;
|
|
fs.writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, 2) + '\n');
|
|
|
|
// Update android/app/build.gradle if it exists (skipped in CI before prebuild)
|
|
const gradlePath = path.join(root, 'android', 'app', 'build.gradle');
|
|
if (fs.existsSync(gradlePath)) {
|
|
let gradle = fs.readFileSync(gradlePath, 'utf8');
|
|
gradle = gradle.replace(/versionCode\s+\d+/, `versionCode ${newVersionCode}`);
|
|
gradle = gradle.replace(/versionName\s+"[^"]+"/, `versionName "${newVersion}"`);
|
|
fs.writeFileSync(gradlePath, gradle);
|
|
}
|
|
|
|
console.log(newVersion);
|