UNPKG

@intlayer/config

Version:

Retrieve Intlayer configurations and manage environment variables for both server-side and client-side environments.

1 lines 1.96 kB
{"version":3,"sources":["../../../src/envVariables/formatEnvVariable.ts"],"sourcesContent":["import { getConfiguration } from '../configFile/getConfiguration';\nimport { getPrefix, type Platform } from './detectPlatform';\nimport { removeUndefinedValueObject } from './removeUndefinedValueObject';\n\n/**\n * Format a key to corresponding environment variable name\n *\n * Example:\n * toEnvVariable('mainDir') => 'INTLAYER_MAIN_DIR'\n */\nconst formatEnvName = (key: string, prefix: string): string =>\n prefix + key.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toUpperCase();\n\n/**\n * Format all configuration values as environment variables\n */\nexport const formatEnvVariable = (\n platform: Platform\n): Record<string, string> => {\n const intlayerConfig = getConfiguration();\n\n const prefix = getPrefix(platform);\n\n // Set all configuration values as environment variables\n const env: Record<string, string> = {};\n for (const [key, value] of Object.entries({\n ...intlayerConfig.content,\n ...intlayerConfig.internationalization,\n ...intlayerConfig.middleware,\n ...intlayerConfig.editor,\n })) {\n if (typeof value === 'string') {\n env[formatEnvName(key, prefix)] = value;\n } else {\n env[formatEnvName(key, prefix)] = JSON.stringify(value);\n }\n }\n\n return removeUndefinedValueObject(env);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAiC;AACjC,4BAAyC;AACzC,wCAA2C;AAQ3C,MAAM,gBAAgB,CAAC,KAAa,WAClC,SAAS,IAAI,QAAQ,sBAAsB,OAAO,EAAE,YAAY;AAK3D,MAAM,oBAAoB,CAC/B,aAC2B;AAC3B,QAAM,qBAAiB,0CAAiB;AAExC,QAAM,aAAS,iCAAU,QAAQ;AAGjC,QAAM,MAA8B,CAAC;AACrC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ;AAAA,IACxC,GAAG,eAAe;AAAA,IAClB,GAAG,eAAe;AAAA,IAClB,GAAG,eAAe;AAAA,IAClB,GAAG,eAAe;AAAA,EACpB,CAAC,GAAG;AACF,QAAI,OAAO,UAAU,UAAU;AAC7B,UAAI,cAAc,KAAK,MAAM,CAAC,IAAI;AAAA,IACpC,OAAO;AACL,UAAI,cAAc,KAAK,MAAM,CAAC,IAAI,KAAK,UAAU,KAAK;AAAA,IACxD;AAAA,EACF;AAEA,aAAO,8DAA2B,GAAG;AACvC;","names":[]}