469cdfcc90
and images on landingpage
88 lines
1.9 KiB
Markdown
88 lines
1.9 KiB
Markdown
# Frontend Version Management
|
|
|
|
## Current Version: 0.1.25
|
|
|
|
The frontend version is managed independently from the backend.
|
|
|
|
## Version Locations
|
|
|
|
1. **Primary source**: `/frontend/src/version.js`
|
|
- Contains the VERSION constant
|
|
- Exports version info functions
|
|
|
|
2. **Package metadata**: `/frontend/package.json`
|
|
- Standard npm version field
|
|
- Should match version.js
|
|
|
|
## Updating the Version
|
|
|
|
### Option 1: Using the update script (Recommended)
|
|
```bash
|
|
# Updates both backend and frontend
|
|
./scripts/update-version.sh 0.1.31
|
|
```
|
|
|
|
### Option 2: Manual update
|
|
Edit `/frontend/src/version.js`:
|
|
```javascript
|
|
export const VERSION = '0.1.31' // Update this
|
|
```
|
|
|
|
And `/frontend/package.json`:
|
|
```json
|
|
{
|
|
"version": "0.1.31" // Update this
|
|
}
|
|
```
|
|
|
|
## Git Commit Information
|
|
|
|
The git commit is injected via environment variable:
|
|
- Set `VITE_GIT_COMMIT` in `.env` or at build time
|
|
- Falls back to "unknown" if not set
|
|
|
|
Example `.env`:
|
|
```bash
|
|
VITE_GIT_COMMIT=d0c177b
|
|
```
|
|
|
|
## Usage in Components
|
|
|
|
```javascript
|
|
import { getVersion, getGitCommit, getVersionInfo } from '@/version'
|
|
|
|
// Get version string
|
|
const version = getVersion() // "0.1.30"
|
|
|
|
// Get git commit
|
|
const commit = getGitCommit() // "d0c177b" or "unknown"
|
|
|
|
// Get full info object
|
|
const info = getVersionInfo() // { version: "0.1.30", gitCommit: "d0c177b" }
|
|
```
|
|
|
|
## Landing Page Display
|
|
|
|
The landing page shows both:
|
|
- **Frontend Version**: From `/frontend/src/version.js`
|
|
- **Backend Version**: Fetched from `/api/public/version`
|
|
|
|
This allows users to see if frontend and backend are in sync.
|
|
|
|
## Build-time Version Injection
|
|
|
|
To inject git commit at build time, update `vite.config.js`:
|
|
|
|
```javascript
|
|
import { defineConfig } from 'vite'
|
|
import { execSync } from 'child_process'
|
|
|
|
const gitCommit = execSync('git rev-parse --short HEAD').toString().trim()
|
|
|
|
export default defineConfig({
|
|
define: {
|
|
'import.meta.env.VITE_GIT_COMMIT': JSON.stringify(gitCommit)
|
|
}
|
|
})
|
|
```
|