|
@@ -1,4 +1,5 @@
|
|
|
import { build } from 'esbuild'
|
|
import { build } from 'esbuild'
|
|
|
|
|
+import { execFileSync } from 'node:child_process'
|
|
|
import { buildRunner } from './build-runner.mjs'
|
|
import { buildRunner } from './build-runner.mjs'
|
|
|
import { cp, mkdir, rm, readdir, readFile, writeFile } from 'node:fs/promises'
|
|
import { cp, mkdir, rm, readdir, readFile, writeFile } from 'node:fs/promises'
|
|
|
import { resolve } from 'node:path'
|
|
import { resolve } from 'node:path'
|
|
@@ -21,6 +22,9 @@ for (const file of await readdir(resolve(root, 'desktop'))) {
|
|
|
if (file.endsWith('.test.mjs') || !/\.(mjs|cjs|html|css|png)$/.test(file)) continue
|
|
if (file.endsWith('.test.mjs') || !/\.(mjs|cjs|html|css|png)$/.test(file)) continue
|
|
|
await cp(resolve(root, 'desktop', file), resolve(shell, file))
|
|
await cp(resolve(root, 'desktop', file), resolve(shell, file))
|
|
|
}
|
|
}
|
|
|
|
|
+let commit='source-archive',dirty=false
|
|
|
|
|
+try{commit=execFileSync('git',['rev-parse','HEAD'],{cwd:root,encoding:'utf8'}).trim();dirty=!!execFileSync('git',['status','--porcelain'],{cwd:root,encoding:'utf8'}).trim()}catch{}
|
|
|
|
|
+await writeFile(resolve(out,'build-info.json'),JSON.stringify({commit,dirty,builtAt:new Date().toISOString()},null,2)+'\n')
|
|
|
const manifest = JSON.parse(await readFile(resolve(root, 'release.json'), 'utf8'))
|
|
const manifest = JSON.parse(await readFile(resolve(root, 'release.json'), 'utf8'))
|
|
|
await writeFile(resolve(shell, 'package.json'), JSON.stringify({ name: 'hermes-yaoyao-desktop', version: manifest.webVersion,
|
|
await writeFile(resolve(shell, 'package.json'), JSON.stringify({ name: 'hermes-yaoyao-desktop', version: manifest.webVersion,
|
|
|
productName: '夭夭', description: '夭夭:本地服务、多 Agent 团队与电脑工作空间',
|
|
productName: '夭夭', description: '夭夭:本地服务、多 Agent 团队与电脑工作空间',
|