@lamantin/fastpush
Version:
Typed fastlane frontend for pushing builds to store
30 lines (27 loc) • 857 B
text/typescript
import jetpack = require('fs-jetpack')
import { Version } from '../../cli/utils'
/**
* Read version from file
* @param file input
*/
export async function readVersionFrom(file: string): Promise<Version> {
const raw = await jetpack.readAsync(file)
const fileJson = JSON.parse(raw)
const version = fileJson['version'] as string
return version.trim()
}
/**
* Save version to file
* @param file input
* @param version
* @return [oldVersion, newVersion]
*/
export async function saveVersionTo(file: string, version: string): Promise<[Version, Version]> {
const oldVersion = await readVersionFrom(file)
const raw = await jetpack.readAsync(file)
const fileJson = JSON.parse(raw)
fileJson.version = version
await jetpack.writeAsync(file, fileJson)
const savedVersion = await readVersionFrom(file)
return [oldVersion, savedVersion]
}