mirror of
https://github.com/pezkuwichain/pezkuwi-telegram-miniapp.git
synced 2026-04-22 01:57:56 +00:00
57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
#!/usr/bin/env node
|
|
/**
|
|
* Auto-increment version on each build
|
|
* Usage: node scripts/bump-version.js [major|minor|patch]
|
|
* Default: patch
|
|
*/
|
|
|
|
import fs from 'fs';
|
|
import path from 'path';
|
|
import { fileURLToPath } from 'url';
|
|
|
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
const packagePath = path.resolve(__dirname, '../package.json');
|
|
|
|
// Read package.json
|
|
const pkg = JSON.parse(fs.readFileSync(packagePath, 'utf-8'));
|
|
|
|
// Parse current version
|
|
const [major, minor, patch] = pkg.version.split('.').map(Number);
|
|
|
|
// Determine bump type from argument
|
|
const bumpType = process.argv[2] || 'patch';
|
|
|
|
let newVersion;
|
|
switch (bumpType) {
|
|
case 'major':
|
|
newVersion = `${major + 1}.0.0`;
|
|
break;
|
|
case 'minor':
|
|
newVersion = `${major}.${minor + 1}.0`;
|
|
break;
|
|
case 'patch':
|
|
default:
|
|
newVersion = `${major}.${minor}.${patch + 1}`;
|
|
break;
|
|
}
|
|
|
|
// Add build timestamp for cache busting
|
|
const buildTime = new Date().toISOString();
|
|
|
|
// Update package.json
|
|
pkg.version = newVersion;
|
|
fs.writeFileSync(packagePath, JSON.stringify(pkg, null, 2) + '\n');
|
|
|
|
// Write version info to a separate file for the app
|
|
const versionInfo = {
|
|
version: newVersion,
|
|
buildTime,
|
|
buildNumber: Date.now(),
|
|
};
|
|
|
|
const versionFilePath = path.resolve(__dirname, '../src/version.json');
|
|
fs.writeFileSync(versionFilePath, JSON.stringify(versionInfo, null, 2) + '\n');
|
|
|
|
console.log(`✓ Version bumped: ${major}.${minor}.${patch} → ${newVersion}`);
|
|
console.log(`✓ Build time: ${buildTime}`);
|