adding version and commit into the setting section

This commit is contained in:
Sebastian 2022-09-04 23:08:45 -03:00
parent 36376bdeb6
commit d439c3e1bc
No known key found for this signature in database
GPG Key ID: BE4FF68352439FC1
3 changed files with 47 additions and 5 deletions

View File

@ -40,9 +40,10 @@ function getFilesInDirectory(startPath, regex) {
return result return result
} }
const allTestFiles = getFilesInDirectory(path.join(process.cwd(), 'src'), /.test.ts$/) const BASE = process.cwd()
const allTestFiles = getFilesInDirectory(path.join(BASE, 'src'), /.test.ts$/)
const preact = path.join(process.cwd(), "node_modules", "preact", "compat", "dist", "compat.module.js"); const preact = path.join(BASE, "node_modules", "preact", "compat", "dist", "compat.module.js");
const preactCompatPlugin = { const preactCompatPlugin = {
name: "preact-compat", name: "preact-compat",
setup(build) { setup(build) {
@ -61,6 +62,28 @@ const entryPoints = [
'src/browserWorkerEntry.ts' 'src/browserWorkerEntry.ts'
] ]
let GIT_ROOT = BASE
while (!fs.existsSync(path.join(GIT_ROOT, '.git')) && GIT_ROOT !== '/') {
GIT_ROOT = path.join(GIT_ROOT, '../')
}
if (GIT_ROOT === '/') {
console.log("not found")
process.exit(1);
}
const GIT_HASH = GIT_ROOT === '/' ? undefined : git_hash()
let _package = JSON.parse(fs.readFileSync(path.join(BASE, 'package.json')));
function git_hash() {
const rev = fs.readFileSync(path.join(GIT_ROOT, '.git', 'HEAD')).toString().trim().split(/.*[: ]/).slice(-1)[0];
if (rev.indexOf('/') === -1) {
return rev;
} else {
return fs.readFileSync(path.join(GIT_ROOT, '.git', rev)).toString().trim();
}
}
export const buildConfig = { export const buildConfig = {
entryPoints: [...entryPoints, ...allTestFiles], entryPoints: [...entryPoints, ...allTestFiles],
bundle: true, bundle: true,
@ -79,9 +102,10 @@ export const buildConfig = {
sourcemap: true, sourcemap: true,
jsxFactory: 'h', jsxFactory: 'h',
jsxFragment: 'Fragment', jsxFragment: 'Fragment',
// define: { define: {
// 'process.env.NODE_ENV': '"development"', '__VERSION__': `"${_package.version}"`,
// }, '__GIT_HASH__': `"${GIT_HASH}"`,
},
plugins: [ plugins: [
preactCompatPlugin, preactCompatPlugin,
linaria.default({ linaria.default({

View File

@ -29,3 +29,5 @@ declare module "*.svg" {
const content: any; const content: any;
export default content; export default content;
} }
declare const __VERSION__: string;
declare const __GIT_HASH__: string;

View File

@ -19,6 +19,7 @@ import { Fragment, h, VNode } from "preact";
import { Checkbox } from "../components/Checkbox.js"; import { Checkbox } from "../components/Checkbox.js";
import { ErrorTalerOperation } from "../components/ErrorTalerOperation.js"; import { ErrorTalerOperation } from "../components/ErrorTalerOperation.js";
import { JustInDevMode } from "../components/JustInDevMode.js"; import { JustInDevMode } from "../components/JustInDevMode.js";
import { Part } from "../components/Part.js";
import { SelectList } from "../components/SelectList.js"; import { SelectList } from "../components/SelectList.js";
import { import {
DestructiveText, DestructiveText,
@ -69,6 +70,8 @@ export interface ViewProps {
toggleDeveloperMode: () => Promise<void>; toggleDeveloperMode: () => Promise<void>;
knownExchanges: Array<ExchangeListItem>; knownExchanges: Array<ExchangeListItem>;
} }
const VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "dev";
const GIT_HASH = typeof __GIT_HASH__ !== "undefined" ? __GIT_HASH__ : undefined;
export function SettingsView({ export function SettingsView({
knownExchanges, knownExchanges,
@ -210,6 +213,19 @@ export function SettingsView({
/> />
</Input> </Input>
</JustInDevMode> </JustInDevMode>
<SubTitle>
<i18n.Translate>Version</i18n.Translate>
</SubTitle>
<Part
title={<i18n.Translate>Release</i18n.Translate>}
text={<span>{VERSION}</span>}
/>
{GIT_HASH && (
<Part
title={<i18n.Translate>Hash</i18n.Translate>}
text={<span>{GIT_HASH}</span>}
/>
)}
</section> </section>
</Fragment> </Fragment>
); );