Skip to content

Commit 8e504c2

Browse files
committed
docs(version): add show version public component
It must be generated
1 parent e0fad63 commit 8e504c2

File tree

10 files changed

+130
-6
lines changed

10 files changed

+130
-6
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
/.idea/
22
/node_modules/
3+
/frontend/src/environments/version.ts

frontend/src/app/public/public-routing.module.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { HomepageComponent } from './bookmarks/homepage.component';
66
import { PrivacyPolicyComponent } from './privacy/privacy-policy.component';
77
import { TermsOfServiceComponent } from './terms/terms-of-service.component';
88
import { UserPublicProfileComponent } from './user-public-profile/user-public-profile.component';
9+
import { VersionComponent } from './version/version.component';
910

1011
const publicBookmarksRoutes: Routes = [
1112
{
@@ -57,6 +58,10 @@ const publicBookmarksRoutes: Routes = [
5758
path: 'privacy-policy',
5859
component: PrivacyPolicyComponent,
5960
},
61+
{
62+
path: 'version',
63+
component: VersionComponent,
64+
},
6065
{
6166
path: 'terms-and-conditions',
6267
component: TermsOfServiceComponent,

frontend/src/app/public/public.module.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { CodeletModule } from '../codelet/codelet.module';
1515
import { MatTabsModule } from '@angular/material/tabs';
1616
import { MatAutocompleteModule } from '@angular/material/autocomplete';
1717
import { MatSelectModule } from '@angular/material/select';
18+
import { VersionComponent } from './version/version.component';
1819

1920
@NgModule({
2021
declarations : [
@@ -23,7 +24,8 @@ import { MatSelectModule } from '@angular/material/select';
2324
TermsOfServiceComponent,
2425
HomepageComponent,
2526
UserPublicProfileComponent,
26-
TagComponent
27+
TagComponent,
28+
VersionComponent
2729
],
2830
imports: [
2931
SharedModule,

frontend/src/app/public/version/version.component.css

Whitespace-only changes.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<div id="about-content" class="jumbotron">
2+
<h2 class="display-4">Version</h2>
3+
<ul>
4+
<li>Version: {{version.version}}</li>
5+
<li>Git-sha: {{version.hash}}</li>
6+
</ul>
7+
</div>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
2+
3+
import { VersionComponent } from './version.component';
4+
5+
describe('VersionComponent', () => {
6+
let component: VersionComponent;
7+
let fixture: ComponentFixture<VersionComponent>;
8+
9+
beforeEach(async(() => {
10+
TestBed.configureTestingModule({
11+
declarations: [ VersionComponent ]
12+
})
13+
.compileComponents();
14+
}));
15+
16+
beforeEach(() => {
17+
fixture = TestBed.createComponent(VersionComponent);
18+
component = fixture.componentInstance;
19+
fixture.detectChanges();
20+
});
21+
22+
it('should create', () => {
23+
expect(component).toBeTruthy();
24+
});
25+
});
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { Component, OnInit } from '@angular/core';
2+
import { VERSION } from 'environments/version';
3+
@Component({
4+
selector: 'app-version',
5+
templateUrl: './version.component.html',
6+
styleUrls: ['./version.component.css']
7+
})
8+
export class VersionComponent implements OnInit {
9+
version = VERSION;
10+
11+
constructor() { }
12+
13+
ngOnInit(): void {
14+
}
15+
16+
}

git-version.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
const { gitDescribeSync } = require('git-describe');
2+
const { version } = require('./package.json');
3+
const { resolve, relative } = require('path');
4+
const { writeFileSync } = require('fs-extra');
5+
6+
const gitInfo = gitDescribeSync({
7+
dirtyMark: false,
8+
dirtySemver: false
9+
});
10+
11+
gitInfo.version = version;
12+
console.log("__dirname: ", __dirname);
13+
14+
const file = resolve(__dirname, 'frontend/src', 'environments', 'version.ts');
15+
writeFileSync(file,
16+
`// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
17+
/* tslint:disable */
18+
export const VERSION = ${JSON.stringify(gitInfo, null, 4)};
19+
/* tslint:enable */
20+
`, { encoding: 'utf-8' });
21+
22+
console.log(`Wrote version info ${gitInfo.raw} to ${relative(resolve(__dirname, '..'), file)}`);

package-lock.json

Lines changed: 47 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,9 @@
2828
"homepage": "https://github.com/BookmarksDev/bookmarks.dev#readme",
2929
"devDependencies": {
3030
"npm-run-all": "^4.1.5"
31+
},
32+
"dependencies": {
33+
"fs-extra": "^9.0.1",
34+
"git-describe": "^4.0.4"
3135
}
3236
}

0 commit comments

Comments
 (0)