test: add web-admin build id and version.json helpers.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
c527af0b1d
commit
1f0130de53
2 files changed
+92
No files matched your search
@@ -0,0 +1,31 @@
|
||||
// web-admin/scripts/app-build-meta.ts
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
|
||||
export type AppBuildMeta = {
|
||||
version: string
|
||||
buildId: string
|
||||
}
|
||||
|
||||
export function readGitShort(run: () => string): string {
|
||||
try {
|
||||
const text = run().trim()
|
||||
return text || 'nogit'
|
||||
} catch {
|
||||
return 'nogit'
|
||||
}
|
||||
}
|
||||
|
||||
export function createAppBuildMeta(version: string, nowMs: number, gitShort: string): AppBuildMeta {
|
||||
const hash = gitShort.trim() || 'nogit'
|
||||
return { version, buildId: `${hash}-${nowMs}` }
|
||||
}
|
||||
|
||||
export function versionJsonText(meta: AppBuildMeta): string {
|
||||
return `${JSON.stringify({ version: meta.version, buildId: meta.buildId }, null, 2)}\n`
|
||||
}
|
||||
|
||||
export function writeVersionJson(outDir: string, meta: AppBuildMeta): void {
|
||||
fs.mkdirSync(outDir, { recursive: true })
|
||||
fs.writeFileSync(path.join(outDir, 'version.json'), versionJsonText(meta), 'utf8')
|
||||
}
|
||||
Reference in new issue
Block a user