@dotenc/cli
Version:
🔐 Secure, encrypted environment variables that live in your codebase
23 lines (22 loc) • 735 B
JavaScript
import { existsSync } from "node:fs";
import fs from "node:fs/promises";
import os from "node:os";
import path from "node:path";
import { z } from "zod";
const homeConfigSchema = z.object({
editor: z.string().nullish(),
});
const configPath = path.join(os.homedir(), ".dotenc", "config.json");
export const setHomeConfig = async (config) => {
const parsedConfig = homeConfigSchema.parse(config);
await fs.writeFile(configPath, JSON.stringify(parsedConfig, null, 2), {
mode: 0o600,
});
};
export const getHomeConfig = async () => {
if (existsSync(configPath)) {
const config = JSON.parse(await fs.readFile(configPath, "utf-8"));
return homeConfigSchema.parse(config);
}
return {};
};