@dotenc/cli
Version:
🔐 Secure, encrypted environment variables that live in your codebase
22 lines (21 loc) • 707 B
JavaScript
import { existsSync } from "node:fs";
import fs from "node:fs/promises";
import path from "node:path";
import { z } from "zod";
const projectConfigSchema = z.object({
projectId: z.string(),
});
const configPath = path.join(process.cwd(), "dotenc.json");
export const setProjectConfig = async (config) => {
const parsedConfig = projectConfigSchema.parse(config);
await fs.writeFile(configPath, JSON.stringify(parsedConfig, null, 2), {
mode: 0o600,
});
};
export const getProjectConfig = async () => {
if (existsSync(configPath)) {
const config = JSON.parse(await fs.readFile(configPath, "utf-8"));
return projectConfigSchema.parse(config);
}
return {};
};