/** * 从模板生成本地测试内核的配置。 * * 模板 dev/config.yaml 进 git,生成的 dev/home/config.yaml 不进——因为订阅地址里 * 通常带访问令牌。所以模板里写占位符,这个脚本从 .env 取真值替换。 * * 用法:bun run dev:reset */ import { mkdir, readFile, writeFile } from 'node:fs/promises' const TEMPLATE = './dev/config.yaml' const TARGET = './dev/home/config.yaml' const PLACEHOLDER = '__SUBSCRIPTION_URL__' const url = Bun.env.DEV_SUBSCRIPTION_URL const template = await readFile(TEMPLATE, 'utf8') if (template.includes(PLACEHOLDER) && !url) { console.error(`模板里有 ${PLACEHOLDER},但 .env 里没有 DEV_SUBSCRIPTION_URL。`) console.error('填一个能拉到线路的订阅地址;开发时通常是 SSH 隧道映射过来的 Sub-Store。') process.exit(1) } await mkdir('./dev/home', { recursive: true }) await writeFile(TARGET, template.replaceAll(PLACEHOLDER, url ?? ''), 'utf8') console.log(`${TARGET} 已从模板重新生成`)