Display version in frontend
This commit is contained in:
parent
e2452d8565
commit
5de340facf
|
@ -44,3 +44,5 @@ testem.log
|
|||
# System Files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
src/environments/versions.ts
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
//based on https://stackoverflow.com/a/42199863
|
||||
|
||||
const { writeFileSync } = require('fs');
|
||||
const { promisify } = require('util');
|
||||
const { exec } = require('child_process');
|
||||
const exec_promise = promisify(exec);
|
||||
|
||||
async function createVersionsFile(filename) {
|
||||
const revision = (await exec_promise('git rev-parse --short HEAD')).stdout.toString().trim();
|
||||
const revision_timestamp = parseInt((await exec_promise('git log -1 --format="%at"')).stdout.toString().trim())*1000;
|
||||
const branch = (await exec_promise('git rev-parse --abbrev-ref HEAD')).stdout.toString().trim();
|
||||
const remote_url = (await exec_promise('git config --get remote.origin.url')).stdout.toString().trim();
|
||||
|
||||
console.log(`revision: '${revision}', revision_timestamp: '${revision_timestamp}', branch: '${branch}', remote_url: '${remote_url}'`);
|
||||
|
||||
const content =
|
||||
`// this file is automatically generated by git.version.js script
|
||||
export const versions = {
|
||||
revision: '${revision}',
|
||||
revision_timestamp: ${revision_timestamp},
|
||||
branch: '${branch}',
|
||||
remote_url: '${remote_url}'
|
||||
};`;
|
||||
|
||||
writeFileSync(filename, content, {encoding: 'utf8'});
|
||||
}
|
||||
|
||||
createVersionsFile('src/environments/versions.ts');
|
|
@ -2,6 +2,8 @@
|
|||
"name": "allerta-vvf",
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"prestart": "node git.version.js",
|
||||
"prebuild": "node git.version.js",
|
||||
"ng": "ng",
|
||||
"start": "ng serve",
|
||||
"build": "ng build --base-href=./",
|
||||
|
|
|
@ -7,4 +7,9 @@
|
|||
<a class="icon" id="menuButton" (click)="menuButtonClicked = !menuButtonClicked">☰</a>
|
||||
</div>
|
||||
|
||||
<router-outlet></router-outlet>
|
||||
<router-outlet></router-outlet>
|
||||
|
||||
<div id="footer" class="footer text-center p-3">
|
||||
Allerta-VVF, software libero realizzato per i Vigili del Fuoco volontari.<br>
|
||||
<p>Revisione {{ versions.revision }} ({{ revision_datetime_string }})</p>
|
||||
</div>
|
||||
|
|
|
@ -63,3 +63,14 @@
|
|||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.footer {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
font-style: italic;
|
||||
margin-top: 2em;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.footer > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import { Component } from '@angular/core';
|
||||
import { AuthService } from './_services/auth.service';
|
||||
import { versions } from 'src/environments/versions';
|
||||
|
||||
@Component({
|
||||
selector: 'app-root',
|
||||
|
@ -8,6 +9,10 @@ import { AuthService } from './_services/auth.service';
|
|||
})
|
||||
export class AppComponent {
|
||||
public menuButtonClicked = false;
|
||||
public revision_datetime_string;
|
||||
public versions = versions;
|
||||
|
||||
constructor(public auth: AuthService) {}
|
||||
constructor(public auth: AuthService) {
|
||||
this.revision_datetime_string = new Date(versions.revision_timestamp).toLocaleString(undefined, { day: '2-digit', month: '2-digit', year: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric' });
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue