Skip to content

Commit 734fc59

Browse files
show app version in footer
1 parent 476d858 commit 734fc59

11 files changed

Lines changed: 46 additions & 10 deletions

frontend/Dockerfile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
11
FROM public.ecr.aws/docker/library/node:18-alpine as builder
2+
ARG VERSION
23
WORKDIR /app
34
COPY package.json yarn.lock ./
45
RUN yarn global add @angular/cli && yarn install
56
COPY angular.json browserslist tsconfig.app.json tsconfig.json tslint.json ./
7+
COPY scripts ./scripts/
68
COPY src ./src/
9+
10+
# Update version if VERSION build arg is provided
11+
RUN if [ -n "$VERSION" ]; then \
12+
echo "Updating package.json version to $VERSION" && \
13+
npm version $VERSION --no-git-tag-version && \
14+
yarn update-version; \
15+
fi
16+
717
RUN ng build --configuration=production
818

919
FROM public.ecr.aws/docker/library/nginx:alpine

frontend/package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
{
22
"name": "dissendium-v0",
3-
"version": "0.0.0",
3+
"version": "1.0.0",
44
"scripts": {
55
"ng": "ng",
6-
"start": "ng serve",
7-
"build": "ng build",
6+
"start": "node scripts/update-version.js && ng serve",
7+
"build": "node scripts/update-version.js && ng build",
88
"test": "ng test",
99
"test:ci": "ng test --watch=false --browsers=ChromeHeadlessCustom",
1010
"lint": "ng lint",
1111
"e2e": "ng e2e",
1212
"analyze": "webpack-bundle-analyzer dist/dissendium-v0/stats.json",
13-
"build:stats": "ng build --stats-json"
13+
"build:stats": "node scripts/update-version.js && ng build --stats-json",
14+
"update-version": "node scripts/update-version.js"
1415
},
1516
"private": true,
1617
"dependencies": {

frontend/scripts/update-version.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const fs = require('fs');
2+
const path = require('path');
3+
4+
// Read package.json to get the version
5+
const packageJsonPath = path.join(__dirname, '..', 'package.json');
6+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
7+
const version = packageJson.version;
8+
9+
// Update the version.ts file
10+
const versionTsPath = path.join(__dirname, '..', 'src', 'app', 'version.ts');
11+
const versionTsContent = `// This file is auto-generated during build
12+
export const version = '${version}';
13+
`;
14+
15+
fs.writeFileSync(versionTsPath, versionTsContent);
16+
console.log(`Updated version.ts with version ${version}`);

frontend/src/app/app.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@
220220
</mat-tab-nav-panel>
221221

222222
<div *ngIf="!authBarTheme" class="footer">
223-
<span class="footer__text">&copy; 2025 Rocketadmin</span>
223+
<span class="footer__text">&copy; 2025 Rocketadmin • v{{appVersion}}</span>
224224
</div>
225225
<app-feature-notification *ngIf="isFeatureNotificationShown" (dismiss)="dismissFeatureNotification()"></app-feature-notification>
226226
</mat-sidenav-content>

frontend/src/app/app.component.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import { UserService } from './services/user.service';
2929
import amplitude from 'amplitude-js';
3030
import { differenceInMilliseconds } from 'date-fns';
3131
import { environment } from '../environments/environment';
32+
import { version } from './version';
3233

3334
//@ts-ignore
3435
window.amplitude = amplitude;
@@ -58,6 +59,7 @@ amplitude.getInstance().init("9afd282be91f94da735c11418d5ff4f5");
5859
export class AppComponent {
5960

6061
public isSaas = (environment as any).saas;
62+
public appVersion = version;
6163
userActivity;
6264
userInactive: Subject<any> = new Subject();
6365
currentFeatureNotificationId: string = 'saved-filters';

frontend/src/app/version.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// This file is auto-generated during build
2+
export const version = '1.0.0';

frontend/src/environments/environment.dev.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ export const environment = {
44
apiRoot: "https://app.rocketadmin.com/api",
55
saasURL: "https://app.rocketadmin.com",
66
saasHostnames: ['localhost'],
7-
stagingHost: ""
7+
stagingHost: "",
8+
version: '0.0.0'
89
};

frontend/src/environments/environment.prod.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ export const environment = {
22
production: true,
33
apiRoot: "/api",
44
saasURL: "",
5-
stagingHost: "rocketadmin-dev.tail9f8b2.ts.net" // Tailscale host
5+
stagingHost: "rocketadmin-dev.tail9f8b2.ts.net", // Tailscale host
6+
version: '0.0.0'
67
};

frontend/src/environments/environment.saas-prod.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ export const environment = {
44
apiRoot: "/api",
55
saasURL: "",
66
saasHostnames: ['app.rocketadmin.com', 'localhost', 'rocketadmin-dev.tail9f8b2.ts.net'],
7-
stagingHost: "rocketadmin-dev.tail9f8b2.ts.net" // Tailscale host
7+
stagingHost: "rocketadmin-dev.tail9f8b2.ts.net", // Tailscale host
8+
version: '0.0.0'
89
};

frontend/src/environments/environment.saas.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ export const environment = {
44
apiRoot: "/api",
55
saasURL: "",
66
saasHostnames: ['app.rocketadmin.com', 'localhost', 'rocketadmin-dev.tail9f8b2.ts.net'],
7-
stagingHost: "rocketadmin-dev.tail9f8b2.ts.net" // Tailscale host
7+
stagingHost: "rocketadmin-dev.tail9f8b2.ts.net", // Tailscale host
8+
version: '0.0.0'
89
};

0 commit comments

Comments
 (0)