mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-03-25 09:25:50 +00:00
40 lines
No EOL
1.3 KiB
JavaScript
40 lines
No EOL
1.3 KiB
JavaScript
/**
|
|
* Validates that the version in package.json matches the MARKETING_VERSION in the macOS xcconfig file
|
|
*/
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
const { version } = require('../package.json');
|
|
|
|
// Path to the xcconfig file
|
|
const xcconfigPath = path.join(__dirname, '../../mac/VibeTunnel/version.xcconfig');
|
|
|
|
// Check if xcconfig file exists
|
|
if (!fs.existsSync(xcconfigPath)) {
|
|
console.error(`❌ xcconfig file not found at: ${xcconfigPath}`);
|
|
process.exit(1);
|
|
}
|
|
|
|
// Read and parse xcconfig file
|
|
const xcconfigContent = fs.readFileSync(xcconfigPath, 'utf8');
|
|
const marketingVersionMatch = xcconfigContent.match(/MARKETING_VERSION\s*=\s*(.+)/);
|
|
|
|
if (!marketingVersionMatch) {
|
|
console.error('❌ MARKETING_VERSION not found in xcconfig file');
|
|
process.exit(1);
|
|
}
|
|
|
|
const xconfigVersion = marketingVersionMatch[1].trim();
|
|
|
|
// Compare versions
|
|
if (version !== xconfigVersion) {
|
|
console.error(`❌ Version mismatch detected!`);
|
|
console.error(` package.json: ${version}`);
|
|
console.error(` xcconfig: ${xconfigVersion}`);
|
|
console.error('');
|
|
console.error('To fix this:');
|
|
console.error('1. Update package.json version field to match xcconfig');
|
|
console.error('2. Or update MARKETING_VERSION in mac/VibeTunnel/version.xcconfig');
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log(`✅ Version sync validated: ${version}`); |