名称: cosmiconfig-配置 描述: 为分层配置加载设置cosmiconfig,支持从多个来源和格式加载配置。 允许工具: 读取, 写入, 编辑, Bash, Glob, Grep
Cosmiconfig 配置
设置cosmiconfig以实现分层配置加载。
功能
- 配置cosmiconfig搜索路径
- 设置格式加载器(JSON, YAML, TOML)
- 创建TypeScript配置支持
- 实现配置缓存
- 处理配置验证
生成模式
import { cosmiconfig, cosmiconfigSync } from 'cosmiconfig';
import { TypeScriptLoader } from 'cosmiconfig-typescript-loader';
const moduleName = 'myapp';
const explorer = cosmiconfig(moduleName, {
searchPlaces: [
'package.json',
`.${moduleName}rc`,
`.${moduleName}rc.json`,
`.${moduleName}rc.yaml`,
`.${moduleName}rc.yml`,
`.${moduleName}rc.js`,
`.${moduleName}rc.ts`,
`.${moduleName}rc.cjs`,
`${moduleName}.config.js`,
`${moduleName}.config.ts`,
`${moduleName}.config.cjs`,
],
loaders: {
'.ts': TypeScriptLoader(),
},
});
export async function loadConfig(searchFrom?: string) {
const result = await explorer.search(searchFrom);
if (!result || result.isEmpty) {
return { config: getDefaultConfig(), filepath: null };
}
return { config: { ...getDefaultConfig(), ...result.config }, filepath: result.filepath };
}
目标流程
- 配置管理系统
- CLI应用程序引导
- MCP服务器引导