From 1138e7be06088a4c5425d713a501516df5605043 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Fri, 8 Dec 2023 17:32:45 -1000 Subject: [PATCH] feat: Use custom importer to import config --- bun.lockb | Bin 386592 -> 386944 bytes index.ts | 13 +++---------- package.json | 1 + utils/config.ts | 37 +++++++++++++++++++++++++++++++++++-- 4 files changed, 39 insertions(+), 12 deletions(-) diff --git a/bun.lockb b/bun.lockb index a757b99e158a28df4ba1eec6f9b4a0885254ff9f..bf2b9bda1e9b02676be372d3bd61e971465ba1af 100755 GIT binary patch delta 68536 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

G3IOAvPYHfL)07!j8wfUXbwg-Cx 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 I#OGB12U|d==l}o! delta 68698 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 AuK)l5 diff --git a/index.ts b/index.ts index 8a8b924e..db74de9f 100644 --- a/index.ts +++ b/index.ts @@ -5,24 +5,21 @@ import { appendFile } from "fs/promises"; import { matches } from "ip-matching"; import { getFromRequest } from "~database/entities/User"; import { mkdir } from "fs/promises"; -import { client } from "~database/datasource"; import type { PrismaClientInitializationError } from "@prisma/client/runtime/library"; -import { HookTypes, Server } from "~plugins/types"; import { initializeRedisCache } from "@redis"; import { connectMeili } from "@meilisearch"; -import routes from "~pages/routes"; import { matchRoute } from "~routes"; const timeAtStart = performance.now(); -const server = new Server(); console.log(`${chalk.green(`>`)} ${chalk.bold("Starting Lysand...")}`); -server.emit(HookTypes.PreServe); - const config = getConfig(); const requests_log = Bun.file(process.cwd() + "/logs/requests.log"); +// Needs to be imported after config is loaded +import { client } from "~database/datasource"; + // NODE_ENV seems to be broken and output `development` even when set to production, so use the flag instead const isProd = process.env.NODE_ENV === "production" || process.argv.includes("--prod"); @@ -215,7 +212,3 @@ console.log( `Serving ${chalk.blue(postCount)} posts` )}` ); - -server.emit(HookTypes.PostServe, { - postCount, -}); diff --git a/package.json b/package.json index cb9c4cbb..dc939b4a 100644 --- a/package.json +++ b/package.json @@ -83,6 +83,7 @@ }, "dependencies": { "@aws-sdk/client-s3": "^3.461.0", + "@iarna/toml": "^2.2.5", "@prisma/client": "^5.6.0", "blurhash": "^2.0.5", "bullmq": "^4.14.4", diff --git a/utils/config.ts b/utils/config.ts index 50b76eb1..d2257dd3 100644 --- a/utils/config.ts +++ b/utils/config.ts @@ -1,4 +1,22 @@ -import data from "../config/config.toml"; +import { parse } from "@iarna/toml"; +import chalk from "chalk"; + +const scanConfig = async () => { + const config = Bun.file(process.cwd() + "/config/config.toml"); + + if (!(await config.exists())) { + console.error( + `${chalk.red(`✗`)} ${chalk.bold( + "Error while reading config: " + )} Config file not found` + ); + process.exit(1); + } + + return parse(await config.text()) as ConfigType; +}; + +let config = await scanConfig(); export interface ConfigType { database: { @@ -350,7 +368,7 @@ export const configDefaults: ConfigType = { export const getConfig = () => { return { ...configDefaults, - ...(data as ConfigType), + ...config, }; }; @@ -359,3 +377,18 @@ export const getHost = () => { return url.host; }; + +// Refresh config every 5 seconds +setInterval(() => { + scanConfig() + .then(newConfig => { + if (newConfig !== config) { + config = newConfig; + } + }) + .catch(e => { + console.error(e); + }); +}, 5000); + +export { config };