diff --git a/app/package.json b/app/package.json index 5d1a319..6b96f51 100644 --- a/app/package.json +++ b/app/package.json @@ -7,11 +7,12 @@ "type": "module", "private": true, "scripts": { + "gen:commit": "node ./scripts/generate-commit-info.mjs", "lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"", "format": "prettier --write \"**/*.{js,ts,vue,scss,html,md,json}\" --ignore-path .gitignore", "test": "echo \"No test specified\" && exit 0", - "dev": "quasar dev", - "build": "quasar build", + "dev": "node ./scripts/generate-commit-info.mjs && quasar dev", + "build": "node ./scripts/generate-commit-info.mjs && quasar build", "tsc": "vue-tsc --noEmit", "docs:pdf": "pnpm -s dlx md-to-pdf ./docs/Manuale_Utente.md --launch-options '{\"executablePath\":\"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome\"}'", "postinstall": "quasar prepare" diff --git a/app/scripts/generate-commit-info.mjs b/app/scripts/generate-commit-info.mjs new file mode 100644 index 0000000..d19b2db --- /dev/null +++ b/app/scripts/generate-commit-info.mjs @@ -0,0 +1,30 @@ +import { execSync } from 'node:child_process' +import { mkdirSync, writeFileSync } from 'node:fs' +import { dirname, resolve } from 'node:path' +import { fileURLToPath } from 'node:url' + +const __dirname = dirname(fileURLToPath(import.meta.url)) +const appRoot = resolve(__dirname, '..') +const outFile = resolve(appRoot, 'src/generated/commit-info.ts') + +function readCommitCode() { + try { + return execSync('git rev-parse --short HEAD', { + cwd: appRoot, + stdio: ['ignore', 'pipe', 'ignore'], + encoding: 'utf8' + }).trim() + } catch { + return 'unknown' + } +} + +const commitCode = readCommitCode() +const content = + `// Auto-generated by scripts/generate-commit-info.mjs\n` + + `export const COMMIT_CODE = ${JSON.stringify(commitCode)} as const\n` + +mkdirSync(dirname(outFile), { recursive: true }) +writeFileSync(outFile, content, 'utf8') + +console.log(`Generated commit info: ${commitCode}`) diff --git a/app/src/generated/commit-info.ts b/app/src/generated/commit-info.ts new file mode 100644 index 0000000..c1a1cb3 --- /dev/null +++ b/app/src/generated/commit-info.ts @@ -0,0 +1,2 @@ +// Auto-generated by scripts/generate-commit-info.mjs +export const COMMIT_CODE = "a75f970" as const diff --git a/app/src/layouts/MainLayout.vue b/app/src/layouts/MainLayout.vue index cae3e45..b62e5bf 100644 --- a/app/src/layouts/MainLayout.vue +++ b/app/src/layouts/MainLayout.vue @@ -10,6 +10,8 @@