MCPcopy Index your code
hub / github.com/getsentry/XcodeBuildMCP / main

Function main

scripts/generate-version.ts:32–60  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

30}
31
32async function main(): Promise<void> {
33 const repoRoot = process.cwd();
34 const packagePath = path.join(repoRoot, 'package.json');
35 const versionPath = path.join(repoRoot, 'src', 'version.ts');
36
37 const raw = await readFile(packagePath, 'utf8');
38 const pkg = JSON.parse(raw) as PackageJson;
39
40 const repoUrl = pkg.repository?.url;
41 if (!repoUrl) {
42 throw new Error('package.json must have a repository.url field');
43 }
44
45 const repo = parseGitHubOwnerAndName(repoUrl);
46
47 validateVersion('version', pkg.version);
48 validateVersion('iOSTemplateVersion', pkg.iOSTemplateVersion);
49 validateVersion('macOSTemplateVersion', pkg.macOSTemplateVersion);
50
51 const content =
52 `export const version = ${JSON.stringify(pkg.version)};\n` +
53 `export const iOSTemplateVersion = ${JSON.stringify(pkg.iOSTemplateVersion)};\n` +
54 `export const macOSTemplateVersion = ${JSON.stringify(pkg.macOSTemplateVersion)};\n` +
55 `export const packageName = ${JSON.stringify(pkg.name)};\n` +
56 `export const repositoryOwner = ${JSON.stringify(repo.owner)};\n` +
57 `export const repositoryName = ${JSON.stringify(repo.name)};\n`;
58
59 await writeFile(versionPath, content, 'utf8');
60}
61
62main().catch((error) => {
63 console.error('Failed to generate src/version.ts:', error);

Callers 1

Calls 4

readFileFunction · 0.85
parseGitHubOwnerAndNameFunction · 0.85
validateVersionFunction · 0.85
writeFileFunction · 0.85

Tested by

no test coverage detected