many many fixes

This commit is contained in:
2026-10-26 10:06:30 -04:00
parent 79e15cb8c3
commit f1a13a3065
25 changed files with 642 additions and 9964 deletions

33
scripts/bump-version.mjs Normal file
View File

@@ -0,0 +1,33 @@
#!/usr/bin/env node
// Bumps the app version in src/version.json.
//
// node scripts/bump-version.mjs -> patch (1.0.0 -> 1.0.1)
// node scripts/bump-version.mjs minor -> 1.0.1 -> 1.1.0
// node scripts/bump-version.mjs major -> 1.1.0 -> 2.0.0
//
// Run automatically by the pre-commit hook (.githooks/pre-commit).
import fs from 'node:fs';
const VERSION_FILE = new URL('../src/version.json', import.meta.url);
const level = (process.argv[2] || 'patch').toLowerCase();
const data = JSON.parse(fs.readFileSync(VERSION_FILE, 'utf8'));
const match = /^(\d+)\.(\d+)\.(\d+)$/.exec(data.version || '');
if (!match) {
console.error(`bump-version: invalid version "${data.version}" in src/version.json (expected X.Y.Z)`);
process.exit(1);
}
let [major, minor, patch] = match.slice(1).map(Number);
if (level === 'major') { major++; minor = 0; patch = 0; }
else if (level === 'minor') { minor++; patch = 0; }
else if (level === 'patch') { patch++; }
else {
console.error(`bump-version: unknown level "${level}" (use patch, minor or major)`);
process.exit(1);
}
const previous = data.version;
data.version = `${major}.${minor}.${patch}`;
fs.writeFileSync(VERSION_FILE, JSON.stringify(data, null, 2) + '\n', 'utf8');
console.log(`bump-version: ${previous} -> ${data.version}`);