2025-11-12 07:54:01 -08:00

59 lines
2.1 KiB
TypeScript

const env = (() => {
if (!process.env.POCKETBASE_URL) throw new Error('POCKETBASE_URL missing in env');
if (!process.env.PORT) throw new Error('PORT missing in env');
if (!process.env.POCKETBASE_USERNAME) throw new Error('POCKETBASE_USERNAME missing in env');
if (!process.env.POCKETBASE_PASSWORD) throw new Error('POCKETBASE_PASSWORD missing in env');
if (!process.env.MUX_TOKEN_ID) throw new Error('MUX_TOKEN_ID missing in env');
if (!process.env.MUX_TOKEN_SECRET) throw new Error('MUX_TOKEN_SECRET missing in env');
if (!process.env.MUX_SIGNING_KEY_ID) throw new Error('MUX_SIGNING_KEY_ID missing in env');
if (!process.env.MUX_SIGNING_KEY_PRIVATE_KEY) throw new Error('MUX_SIGNING_KEY_PRIVATE_KEY missing in env');
if (!process.env.PATREON_CREATOR_ACCESS_TOKEN) throw new Error('PATREON_CREATOR_ACCESS_TOKEN missing in env');
if (!process.env.VIBEUI_DIR) throw new Error('VIBEUI_DIR missing in env');
if (!process.env.APP_DIR) throw new Error('APP_DIR missing in env');
if (!process.env.AWS_BUCKET) throw new Error('AWS_BUCKET missing in env');
if (!process.env.AWS_ACCESS_KEY_ID) throw new Error('AWS_ACCESS_KEY_ID missing in env');
if (!process.env.AWS_SECRET_ACCESS_KEY) throw new Error('AWS_SECRET_ACCESS_KEY missing in env');
if (!process.env.AWS_REGION) throw new Error('AWS_REGION missing in env');
if (!process.env.AWS_ENDPOINT) throw new Error('AWS_ENDPOINT missing in env');
const {
PORT,
POCKETBASE_URL,
POCKETBASE_USERNAME,
POCKETBASE_PASSWORD,
MUX_TOKEN_ID,
MUX_TOKEN_SECRET,
MUX_SIGNING_KEY_ID,
MUX_SIGNING_KEY_PRIVATE_KEY,
PATREON_CREATOR_ACCESS_TOKEN,
VIBEUI_DIR,
APP_DIR,
AWS_BUCKET,
AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY,
AWS_REGION,
AWS_ENDPOINT,
} = process.env
return {
PORT,
POCKETBASE_URL,
POCKETBASE_USERNAME,
POCKETBASE_PASSWORD,
MUX_TOKEN_ID,
MUX_TOKEN_SECRET,
MUX_SIGNING_KEY_ID,
MUX_SIGNING_KEY_PRIVATE_KEY,
PATREON_CREATOR_ACCESS_TOKEN,
VIBEUI_DIR,
APP_DIR,
AWS_BUCKET,
AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY,
AWS_REGION,
AWS_ENDPOINT,
}
})()
export default env;