diff --git a/frontend/constants.ts b/frontend/constants.ts index c0be682..5294422 100644 --- a/frontend/constants.ts +++ b/frontend/constants.ts @@ -1 +1 @@ -export const APP_VERSION = 'V1.0.2'; +export const APP_VERSION = 'V1.0.3'; diff --git a/frontend/package.json b/frontend/package.json index 780e0bb..2874e29 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -5,7 +5,7 @@ "type": "module", "scripts": { "dev": "vite", - "build": "vite build", + "build": "node ../update-version.js && vite build", "preview": "vite preview" }, "dependencies": { diff --git a/update-version.js b/update-version.js new file mode 100644 index 0000000..f16e1e2 --- /dev/null +++ b/update-version.js @@ -0,0 +1,24 @@ +#!/usr/bin/env node +// Increments the patch number in frontend/constants.ts before every build. +// Called via: node ../update-version.js (from inside frontend/) +const fs = require('fs'); +const path = require('path'); + +const constantsPath = path.join(__dirname, 'frontend', 'constants.ts'); +const content = fs.readFileSync(constantsPath, 'utf8'); + +const match = content.match(/APP_VERSION\s*=\s*['"]V(\d+)\.(\d+)\.(\d+)['"]/); +if (!match) { + console.error('[update-version] Could not parse APP_VERSION in constants.ts'); + process.exit(1); +} + +const [, major, minor, patch] = match; +const next = `V${major}.${minor}.${parseInt(patch, 10) + 1}`; +const updated = content.replace( + /APP_VERSION\s*=\s*['"]V\d+\.\d+\.\d+['"]/, + `APP_VERSION = '${next}'` +); + +fs.writeFileSync(constantsPath, updated, 'utf8'); +console.log(`[update-version] ${match[0].match(/V\d+\.\d+\.\d+/)[0]} → ${next}`);