"feat: 增加助手应用配置管理功能与服务器守护进程支持"

This commit is contained in:
2025-04-27 00:35:44 +08:00
parent bcc12209e0
commit f2abfbf17c
27 changed files with 658 additions and 102 deletions

View File

@@ -1,17 +1,26 @@
// @ts-check
// https://bun.sh/docs/bundler
// @ts-ignore
import path from 'node:path';
import pkg from './package.json';
import fs from 'node:fs';
// bun run src/index.ts --
import { fileURLToPath } from 'node:url';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
/**
*
* @param {string} p
* @returns
*/
export const w = (p) => path.join(__dirname, p);
await Bun.build({
target: 'node',
format: 'esm',
entrypoints: ['./src/index.ts'],
outdir: './dist',
entrypoints: [w('./src/index.ts')],
outdir: w('./dist'),
naming: {
entry: 'assistant.mjs',
},
external: ['pm2'],
define: {
ENVISION_VERSION: JSON.stringify(pkg.version),
},
@@ -21,13 +30,33 @@ await Bun.build({
await Bun.build({
target: 'node',
format: 'esm',
entrypoints: ['./src/server.ts'],
outdir: './dist',
entrypoints: [w('./src/server.ts')],
outdir: w('./dist'),
naming: {
entry: 'assistan-server.mjs',
},
define: {
ENVISION_VERSION: JSON.stringify(pkg.version),
entry: 'assistant-server.mjs',
},
external: ['pm2'],
env: 'ENVISION_*',
});
export const copyFileToEnvision = async () => {
const src = ['dist', 'bin'].map((dir) => {
return { absolute: path.join(__dirname, dir), name: dir };
});
const dest = path.join(__dirname, '..');
for (const dir of src) {
const files = fs.readdirSync(dir.absolute);
for (const file of files) {
const srcFile = path.join(dir.absolute, file);
const destFile = path.join(dest, dir.name, file);
try {
fs.copyFileSync(srcFile, destFile);
} catch (err) {
console.error('Error copying files: origin: ', srcFile, 'dest: ', destFile);
console.error('Error copying files:', err);
continue;
}
}
}
};
await copyFileToEnvision();