import path from "node:path" ;
import { syncIosVersioning } from "./lib/ios-version.ts" ;
type Mode = "check" | "write" ;
export function parseArgs(argv: string[]): { mode: Mode; rootDir: string } {
let mode: Mode = "write" ;
let rootDir = path.resolve("." );
for (let index = 0 ; index < argv.length; index += 1 ) {
const arg = argv[index];
switch (arg) {
case "--check" : {
mode = "check" ;
break ;
}
case "--write" : {
mode = "write" ;
break ;
}
case "--root" : {
const value = argv[index + 1 ];
if (!value) {
throw new Error("Missing value for --root." );
}
rootDir = path.resolve(value);
index += 1 ;
break ;
}
case "-h" :
case "--help" : {
console.log(
"Usage: node --import tsx scripts/ios-sync-versioning.ts [--write|--check] [--root dir]" ,
);
process.exit(0 );
}
default : {
throw new Error(`Unknown argument: ${arg}`);
}
}
}
return { mode, rootDir };
}
const options = parseArgs(process.argv.slice(2 ));
const result = syncIosVersioning({ mode: options.mode, rootDir: options.rootDir });
if (options.mode === "check" ) {
process.stdout.write("iOS versioning artifacts are up to date.\n" );
} else if (result.updatedPaths.length === 0 ) {
process.stdout.write("iOS versioning artifacts already up to date.\n" );
} else {
process.stdout.write(
`Updated iOS versioning artifacts:\n- ${result.updatedPaths.map((filePath) => path.relative(process.cwd(), filePath)).join("\n- " )}\n`,
);
}
Messung V0.5 in Prozent C=99 H=73 G=86
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland