2026-04-21 12:35:48 +08:00
|
|
|
import * as esbuild from 'esbuild'
|
|
|
|
|
import { resolve, dirname } from 'path'
|
|
|
|
|
import { fileURLToPath } from 'url'
|
2026-05-14 09:03:57 +08:00
|
|
|
import { cpSync, mkdirSync, readFileSync } from 'fs'
|
2026-04-21 12:35:48 +08:00
|
|
|
|
|
|
|
|
const rootDir = resolve(dirname(fileURLToPath(import.meta.url)), '..')
|
|
|
|
|
const pkg = JSON.parse(readFileSync(resolve(rootDir, 'package.json'), 'utf-8'))
|
|
|
|
|
const version = pkg.version
|
|
|
|
|
|
|
|
|
|
await esbuild.build({
|
|
|
|
|
entryPoints: [resolve(rootDir, 'packages/server/src/index.ts')],
|
|
|
|
|
bundle: true,
|
|
|
|
|
platform: 'node',
|
|
|
|
|
target: 'node23',
|
|
|
|
|
format: 'cjs',
|
|
|
|
|
outfile: resolve(rootDir, 'dist/server/index.js'),
|
2026-04-24 20:41:14 +08:00
|
|
|
external: ['node-pty', 'node:sqlite', 'socket.io'],
|
2026-04-21 12:35:48 +08:00
|
|
|
define: {
|
|
|
|
|
__APP_VERSION__: JSON.stringify(version),
|
|
|
|
|
},
|
|
|
|
|
sourcemap: true,
|
2026-04-24 20:41:14 +08:00
|
|
|
minify: true,
|
|
|
|
|
treeShaking: true,
|
2026-04-21 12:35:48 +08:00
|
|
|
logLevel: 'info',
|
|
|
|
|
})
|
2026-05-14 09:03:57 +08:00
|
|
|
|
|
|
|
|
const bridgeOutDir = resolve(rootDir, 'dist/server/agent-bridge')
|
|
|
|
|
mkdirSync(bridgeOutDir, { recursive: true })
|
|
|
|
|
cpSync(
|
|
|
|
|
resolve(rootDir, 'packages/server/src/services/hermes/agent-bridge/hermes_bridge.py'),
|
|
|
|
|
resolve(bridgeOutDir, 'hermes_bridge.py'),
|
|
|
|
|
)
|