import fs from "node:fs" ;
import path from "node:path" ;
import { afterEach } from "vitest" ;
import { cleanupTempDirs, makeTempDir } from "../helpers/temp-dir.js" ;
const tempDirs: string[] = [];
export function installIosFixtureCleanup(): void {
afterEach(() => {
cleanupTempDirs(tempDirs);
});
}
export function writeIosFixture(params: {
version: string;
changelog: string;
packageVersion?: string;
releaseNotes?: string;
versionXcconfig?: string;
prefix?: string;
}): string {
const rootDir = makeTempDir(tempDirs, params.prefix ?? "openclaw-ios-version-" );
fs.mkdirSync(path.join(rootDir, "apps" , "ios" , "Config" ), { recursive: true });
fs.mkdirSync(path.join(rootDir, "apps" , "ios" , "fastlane" , "metadata" , "en-US" ), {
recursive: true ,
});
fs.writeFileSync(
path.join(rootDir, "package.json" ),
`${JSON.stringify({ version: params.packageVersion ?? "2026.4.6" }, null , 2 )}\n`,
"utf8" ,
);
fs.writeFileSync(
path.join(rootDir, "apps" , "ios" , "version.json" ),
`${JSON.stringify({ version: params.version }, null , 2 )}\n`,
"utf8" ,
);
fs.writeFileSync(path.join(rootDir, "apps" , "ios" , "CHANGELOG.md" ), params.changelog, "utf8" );
fs.writeFileSync(
path.join(rootDir, "apps" , "ios" , "Config" , "Version.xcconfig" ),
params.versionXcconfig ?? "" ,
"utf8" ,
);
fs.writeFileSync(
path.join(rootDir, "apps" , "ios" , "fastlane" , "metadata" , "en-US" , "release_notes.txt" ),
params.releaseNotes ?? "" ,
"utf8" ,
);
return rootDir;
}
Messung V0.5 in Prozent C=98 H=98 G=97
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland