@untools/commitgen
Version:
CLI to create generate commit messages
56 lines • 1.79 kB
JavaScript
;
// ./src/config.ts
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConfigManager = void 0;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const os_1 = __importDefault(require("os"));
class ConfigManager {
constructor() {
this.configPath = path_1.default.join(os_1.default.homedir(), ".commitgenrc.json");
this.config = this.loadConfig();
}
loadConfig() {
try {
if (fs_1.default.existsSync(this.configPath)) {
const content = fs_1.default.readFileSync(this.configPath, "utf8");
return JSON.parse(content);
}
}
catch (error) {
console.warn("Failed to load config file:", error);
}
return {};
}
saveConfig(config) {
try {
fs_1.default.writeFileSync(this.configPath, JSON.stringify(config, null, 2), "utf8");
this.config = config;
}
catch (error) {
console.error("Failed to save config:", error);
}
}
getProviderConfig() {
if (this.config.provider) {
return this.config.provider;
}
// Default to vercel-google
return {
provider: this.config.defaultProvider || "vercel-google",
apiKey: process.env.GOOGLE_GENERATIVE_AI_API_KEY,
model: "gemini-2.5-flash",
};
}
setProvider(config) {
this.saveConfig({
...this.config,
provider: config,
});
}
}
exports.ConfigManager = ConfigManager;
//# sourceMappingURL=config.js.map