refactor: finalize type-safe env and config using @mintel/next-utils 1.7.8
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
* Centralized configuration management for the application.
|
* Centralized configuration management for the application.
|
||||||
* This file provides a type-safe way to access environment variables.
|
* This file provides a type-safe way to access environment variables.
|
||||||
*/
|
*/
|
||||||
import { envSchema, getRawEnv } from './env';
|
import { env, getRawEnv } from './env';
|
||||||
|
|
||||||
let memoizedConfig: ReturnType<typeof createConfig> | undefined;
|
let memoizedConfig: ReturnType<typeof createConfig> | undefined;
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ let memoizedConfig: ReturnType<typeof createConfig> | undefined;
|
|||||||
* Throws if validation fails.
|
* Throws if validation fails.
|
||||||
*/
|
*/
|
||||||
function createConfig() {
|
function createConfig() {
|
||||||
const env = envSchema.parse(getRawEnv()) as any;
|
const env = getRawEnv();
|
||||||
|
|
||||||
const target = env.NEXT_PUBLIC_TARGET || env.TARGET;
|
const target = env.NEXT_PUBLIC_TARGET || env.TARGET;
|
||||||
|
|
||||||
|
|||||||
@@ -10,9 +10,7 @@ import { validateMintelEnv, mintelEnvSchema } from '@mintel/next-utils';
|
|||||||
* - Logging
|
* - Logging
|
||||||
* - Analytics
|
* - Analytics
|
||||||
*/
|
*/
|
||||||
export const envSchema = z.object({
|
const envExtension = {
|
||||||
...mintelEnvSchema,
|
|
||||||
|
|
||||||
// Project specific overrides or additions
|
// Project specific overrides or additions
|
||||||
AUTH_COOKIE_NAME: z.string().default('klz_gatekeeper_session'),
|
AUTH_COOKIE_NAME: z.string().default('klz_gatekeeper_session'),
|
||||||
|
|
||||||
@@ -29,12 +27,12 @@ export const envSchema = z.object({
|
|||||||
|
|
||||||
INFRA_DIRECTUS_URL: z.string().url().optional(),
|
INFRA_DIRECTUS_URL: z.string().url().optional(),
|
||||||
INFRA_DIRECTUS_TOKEN: z.string().optional(),
|
INFRA_DIRECTUS_TOKEN: z.string().optional(),
|
||||||
});
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validated environment object.
|
* Validated environment object.
|
||||||
*/
|
*/
|
||||||
export const env = validateMintelEnv(envSchema.shape);
|
export const env = validateMintelEnv(envExtension);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For legacy compatibility with existing code.
|
* For legacy compatibility with existing code.
|
||||||
|
|||||||
Reference in New Issue
Block a user