import fs from "node:fs/promises" import YAML from "yaml" import _ from "lodash" export default async function(name, config, keep) { const configFile = `config/${name}.yaml` const configSave = () => fs.writeFile(configFile, YAML.stringify(config), "utf8") let configData try { configData = YAML.parse(await fs.readFile(configFile, "utf8")) _.merge(config, configData) } catch (err) { logger.debug("配置文件", configFile, "读取失败", err) } _.merge(config, keep) if (YAML.stringify(config) != YAML.stringify(configData)) await configSave() return { config, configSave } }