From c1c852999736580382b2ba42f703048f582d620e Mon Sep 17 00:00:00 2001 From: pillar Date: Wed, 4 Oct 2023 03:32:22 -0700 Subject: [PATCH] feat: add dotenv --- bun.lockb | Bin 176620 -> 176953 bytes package.json | 1 + src/app.html | 14 ++++++++------ src/lib/server/middlewares/emailx.ts | 3 ++- src/lib/server/middlewares/openai.ts | 2 ++ src/lib/server/middlewares/prisma.ts | 3 +++ src/lib/server/middlewares/redisx.ts | 2 ++ src/lib/server/middlewares/s3.ts | 2 ++ 8 files changed, 20 insertions(+), 7 deletions(-) diff --git a/bun.lockb b/bun.lockb index 7b0df946e909a02efdd68f3517211816f291d413..f133597ab11e268c7e085bfea163c658170a91cb 100755 GIT binary patch delta 30519 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 delta 30209 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 diff --git a/package.json b/package.json index 784791f..deee17c 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,7 @@ "@zerodevx/svelte-toast": "^0.9.5", "aws-sdk": "^2.1458.0", "dayjs": "^1.11.9", + "dotenv": "^16.3.1", "google-auth-library": "^9.0.0", "howler": "^2.2.3", "nightwind": "^1.1.13", diff --git a/src/app.html b/src/app.html index 35bf05d..1b652b5 100644 --- a/src/app.html +++ b/src/app.html @@ -6,13 +6,7 @@ name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - - - - - - @@ -21,6 +15,7 @@ + @@ -30,6 +25,13 @@ + + + + + + + diff --git a/src/lib/server/middlewares/emailx.ts b/src/lib/server/middlewares/emailx.ts index 52457df..166d671 100644 --- a/src/lib/server/middlewares/emailx.ts +++ b/src/lib/server/middlewares/emailx.ts @@ -1,5 +1,6 @@ +import { config } from 'dotenv'; import nodemailer from 'nodemailer'; - +config(); interface Emailx { title: string; email: string; diff --git a/src/lib/server/middlewares/openai.ts b/src/lib/server/middlewares/openai.ts index 59a60c3..0cc1401 100644 --- a/src/lib/server/middlewares/openai.ts +++ b/src/lib/server/middlewares/openai.ts @@ -1,3 +1,4 @@ +import { config } from 'dotenv'; import OpenAI from 'openai'; import type { RequestOptions } from 'openai/core'; import type { @@ -6,6 +7,7 @@ import type { } from 'openai/resources/chat'; export let openai: OpenAI; +config(); // type Model = // | 'gpt-4' // | 'gpt-4-0314' diff --git a/src/lib/server/middlewares/prisma.ts b/src/lib/server/middlewares/prisma.ts index 9b6c4ce..31041e2 100644 --- a/src/lib/server/middlewares/prisma.ts +++ b/src/lib/server/middlewares/prisma.ts @@ -1,3 +1,6 @@ import { PrismaClient } from '@prisma/client'; +import { config } from 'dotenv'; + +config(); export const prisma = new PrismaClient(); diff --git a/src/lib/server/middlewares/redisx.ts b/src/lib/server/middlewares/redisx.ts index f6068e3..96be823 100644 --- a/src/lib/server/middlewares/redisx.ts +++ b/src/lib/server/middlewares/redisx.ts @@ -1,6 +1,8 @@ // import Redis from 'ioredis'; +import { config } from 'dotenv'; import { createClient } from 'redis'; +config(); export const redisx = createClient({ url: process?.env?.REDIS_URL || '' }); redisx.connect(); // export const redisx = new Redis(process?.env?.REDIS_URL || '', { lazyConnect: true }); diff --git a/src/lib/server/middlewares/s3.ts b/src/lib/server/middlewares/s3.ts index cda57fa..c065523 100644 --- a/src/lib/server/middlewares/s3.ts +++ b/src/lib/server/middlewares/s3.ts @@ -1,5 +1,7 @@ import AWS from 'aws-sdk'; +import { config } from 'dotenv'; +config(); export const s3 = new AWS.S3({ accessKeyId: process.env.AWS_ACCESS_KEY_ID, secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,