* add twilio sdk * add twilio config use app version in config * remove default config * phone regex * bun update * create client * fix env var * create Textarea component * move TextInput * allow snippets on labels * update with label and error * move button * make button children snippet * add form props * allow region code * add twilio FROM number * rename to twilioClient * implement simple messaging * add twilio phone number as empty var * format * move twilio client to local on requests * fix story * on second thought, dont use locals since we are only using twilio in one place Don't want to init a twilio client on every request when its only used in on a single page * use i18n for page text * validate env with a script * remove Zod validation when loading env vars
19 lines
425 B
TypeScript
19 lines
425 B
TypeScript
import { PhoneRegex } from '../src/lib/regex/phone';
|
|
import { z } from 'zod';
|
|
|
|
const ValidateEnvironment = () => {
|
|
const { success, error } = z
|
|
.object({
|
|
TWILIO_ACCOUNT_SID: z.string().min(1),
|
|
TWILIO_AUTH_TOKEN: z.string().min(1),
|
|
TWILIO_PHONE_NUMBER: z.string().regex(PhoneRegex),
|
|
})
|
|
.safeParse(process.env);
|
|
|
|
if (!success) {
|
|
console.error(error.message);
|
|
process.exit(1);
|
|
}
|
|
};
|
|
|
|
ValidateEnvironment();
|