UNPKG

@dotenc/cli

Version:

🔐 Secure, encrypted environment variables that live in your codebase

23 lines (22 loc) 735 B
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 {}; };