diff --git a/apps/cs/src/app/providers/app-provider.tsx b/apps/cs/src/app/providers/app-provider.tsx index 7732d34ba..87c0ec616 100644 --- a/apps/cs/src/app/providers/app-provider.tsx +++ b/apps/cs/src/app/providers/app-provider.tsx @@ -10,13 +10,9 @@ import { PromptProvider, StoreProvider } from "@/shared/providers"; import { AlertDialog } from "@/shared/ui/alert-dialog"; import { PromptDialog } from "@/shared/ui/prompt-dialog"; import { ConfirmDialog } from "@/shared/ui/confirm-dialog"; -import { initializeNextClientConfig } from "@common/config"; const AppProvider = ({ children }: Readonly<{ children: React.ReactNode }>) => { const queryClient = new QueryClient(); - - initializeNextClientConfig(); - return ( diff --git a/package.json b/package.json index 159f30a50..5f8057c3e 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ ], "scripts": { "build": "turbo run build --filter=!wr", + "build:common": "turbo run build --filter=@common/*", "dev": "turbo run dev", "dev:cs": "turbo run dev --filter=cs", "dev:wr": "turbo run dev --filter=wr", diff --git a/packages/common/config/src/index.ts b/packages/common/config/src/index.ts index dd33ecdef..94b333c08 100644 --- a/packages/common/config/src/index.ts +++ b/packages/common/config/src/index.ts @@ -1,2 +1 @@ export * from "./initialize-config"; -export * from "./initializer"; diff --git a/packages/common/config/src/initialize-config.ts b/packages/common/config/src/initialize-config.ts index 5076e65c9..f1d3178f5 100644 --- a/packages/common/config/src/initialize-config.ts +++ b/packages/common/config/src/initialize-config.ts @@ -13,23 +13,14 @@ const defaultConfig: EnvConfig = { PORT: "3000", PROXY_HOST: "", SERVER_API_URL: "", - SITE_ID: "CS", + SITE_ID: "", CLAIM_NAME: "Authorization", ACCESS_TOKEN: "access-token", REFRESH_TOKEN: "refresh-token", AUTH_USER_ID: "token-id", }; -let isInitialized = false; -let envConfig: EnvConfig = { ...defaultConfig }; - -export function initializeConfig(values: Partial): void { - console.log("initializeConfig >>>> values: ", values); - if (isInitialized) { - console.warn("Configuration already initialized. Skipping."); - return; - } - +export function generateEnvConfig(values: Partial): EnvConfig { const filteredValues = Object.entries(values).reduce((acc, [key, value]) => { if (value !== undefined && value !== null) { acc[key as keyof EnvConfig] = value; @@ -37,19 +28,44 @@ export function initializeConfig(values: Partial): void { return acc; }, {} as Partial); - if (filteredValues.PORT && !filteredValues.PROXY_HOST) { - filteredValues.PROXY_HOST = `http://localhost:${filteredValues.PORT}`; + if (!filteredValues.PROXY_HOST) { + filteredValues.PROXY_HOST = `http://localhost:${filteredValues.PORT || defaultConfig.PORT}`; } - envConfig = { ...defaultConfig, ...filteredValues }; - isInitialized = true; + return { ...defaultConfig, ...filteredValues }; +} + +export function getNextConfig(): EnvConfig { + const env: Partial = { + PORT: process.env.NEXT_PUBLIC_PORT, + PROXY_HOST: process.env.NEXT_PUBLIC_PROXY_HOST, + SERVER_API_URL: process.env.NEXT_PUBLIC_SERVER_API_URL, + SITE_ID: process.env.NEXT_PUBLIC_SITE_ID, + CLAIM_NAME: process.env.NEXT_PUBLIC_CLAIM_NAME, + ACCESS_TOKEN: process.env.NEXT_PUBLIC_ACCESS_TOKEN, + REFRESH_TOKEN: process.env.NEXT_PUBLIC_REFRESH_TOKEN, + AUTH_USER_ID: process.env.NEXT_PUBLIC_AUTH_USER_ID, + }; + return generateEnvConfig(env); +} + +export function getViteConfig(): EnvConfig { + const env: Partial = { + PORT: import.meta.env.VITE_PORT, + PROXY_HOST: import.meta.env.VITE_PROXY_HOST, + SERVER_API_URL: import.meta.env.VITE_SERVER_API_URL, + SITE_ID: import.meta.env.VITE_SITE_ID, + CLAIM_NAME: import.meta.env.VITE_CLAIM_NAME, + ACCESS_TOKEN: import.meta.env.VITE_ACCESS_TOKEN, + REFRESH_TOKEN: import.meta.env.VITE_REFRESH_TOKEN, + AUTH_USER_ID: import.meta.env.VITE_AUTH_USER_ID, + }; + return generateEnvConfig(env); } export function getConfig(): EnvConfig { - if (!isInitialized) { - console.warn( - "Attempted to access config before initialization. Returning default values." - ); + if (typeof import.meta?.env !== "undefined") { + return getViteConfig(); } - return envConfig; + return getNextConfig(); } diff --git a/packages/common/config/src/initializer.ts b/packages/common/config/src/initializer.ts deleted file mode 100644 index 1e814e8bb..000000000 --- a/packages/common/config/src/initializer.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { initializeConfig, type EnvConfig } from "./initialize-config"; - -export function initializeNextClientConfig(): void { - if (typeof window === "undefined") { - console.warn("initializeNextClientConfig called on the server. Skipping."); - return; - } - - const env: Partial = { - PORT: process.env.NEXT_PUBLIC_PORT, - PROXY_HOST: process.env.NEXT_PUBLIC_PROXY_HOST, - SERVER_API_URL: process.env.NEXT_PUBLIC_SERVER_API_URL, - SITE_ID: process.env.NEXT_PUBLIC_SITE_ID, - CLAIM_NAME: process.env.NEXT_PUBLIC_CLAIM_NAME, - ACCESS_TOKEN: process.env.NEXT_PUBLIC_ACCESS_TOKEN, - REFRESH_TOKEN: process.env.NEXT_PUBLIC_REFRESH_TOKEN, - AUTH_USER_ID: process.env.NEXT_PUBLIC_AUTH_USER_ID, - }; - initializeConfig(env); -} - -export function initializeViteClientConfig(): void { - if (typeof window === "undefined") { - console.warn("initializeViteClientConfig called on the server. Skipping."); - return; - } - - const env: Partial = { - PORT: import.meta.env.VITE_PORT, - PROXY_HOST: import.meta.env.VITE_PROXY_HOST, - SERVER_API_URL: import.meta.env.VITE_SERVER_API_URL, - SITE_ID: import.meta.env.VITE_SITE_ID, - CLAIM_NAME: import.meta.env.VITE_CLAIM_NAME, - ACCESS_TOKEN: import.meta.env.VITE_ACCESS_TOKEN, - REFRESH_TOKEN: import.meta.env.VITE_REFRESH_TOKEN, - AUTH_USER_ID: import.meta.env.VITE_AUTH_USER_ID, - }; - initializeConfig(env); -} diff --git a/packages/common/network/client.ts b/packages/common/network/client.ts index 6f9ee3bd2..1b82d31c6 100644 --- a/packages/common/network/client.ts +++ b/packages/common/network/client.ts @@ -51,7 +51,6 @@ class Client { public static getInstance(config: ClientConfig): Client { if (!Client.instance) { - console.log("getInstance >>>> config: ", config); Client.instance = new Client(config); } return Client.instance;