Files
wpop/src/lib/env.ts

19 lines
585 B
TypeScript

import { z } from "zod";
const deployEnvSchema = z.object({
REMOTE_HOST: z.string().min(1),
REMOTE_USER: z.string().min(1),
REMOTE_PATH: z.string().min(1),
REMOTE_PORT: z.coerce.number().int().positive().default(22),
SSH_PRIVATE_KEY: z.string().optional(),
CACHE_DIR: z.string().default("/cache/wpop"),
WP_VERSION: z.string().default("latest"),
WP_LOCALE: z.string().default("fr_CA"),
});
export type DeployEnv = z.infer<typeof deployEnvSchema>;
export function readDeployEnv(env: NodeJS.ProcessEnv = process.env): DeployEnv {
return deployEnvSchema.parse(env);
}