UNPKG

@intlayer/config

Version:

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

127 lines 4.37 kB
import { extractEnvVariable } from "./extractEnvVariable/index.mjs"; import { getEnvValue } from "./utils.mjs"; const getConfiguration = (options) => { const env = extractEnvVariable(options); const intlayerIntlConfiguration = { locales: getEnvValue(env.internationalization.locales, "array"), requiredLocales: getEnvValue( env.internationalization.requiredLocales, "array" ), strictMode: getEnvValue( env.internationalization.strictMode, "string" ), defaultLocale: getEnvValue( env?.internationalization.defaultLocale, "string" ) }; const intlayerMiddlewareConfiguration = { headerName: getEnvValue(env.middleware.headerName, "string"), cookieName: getEnvValue(env.middleware.cookieName, "string"), prefixDefault: getEnvValue(env.middleware.prefixDefault, "boolean"), basePath: getEnvValue(env.middleware.basePath, "string"), serverSetCookie: getEnvValue( env.middleware.serverSetCookie, "string" ), noPrefix: getEnvValue(env.middleware.noPrefix, "boolean") }; const intlayerContentConfiguration = { fileExtensions: getEnvValue(env.content.fileExtensions, "array"), baseDir: getEnvValue(env.content.baseDir, "string"), contentDir: getEnvValue(env.content.contentDir, "array"), excludedPath: getEnvValue(env.content.excludedPath, "array"), dictionariesDir: getEnvValue(env.content.dictionariesDir, "string"), moduleAugmentationDir: getEnvValue( env.content.moduleAugmentationDir, "string" ), dictionaryOutput: getEnvValue( env.content.dictionaryOutput, "array" ), unmergedDictionariesDir: getEnvValue( env.content.unmergedDictionariesDir, "string" ), dynamicDictionariesDir: getEnvValue( env.content.dynamicDictionariesDir, "string" ), i18nextResourcesDir: getEnvValue( env.content.i18nextResourcesDir, "string" ), reactIntlMessagesDir: getEnvValue( env.content.reactIntlMessagesDir, "string" ), typesDir: getEnvValue(env.content.typesDir, "string"), mainDir: getEnvValue(env.content.mainDir, "string"), configDir: getEnvValue(env.content.configDir, "string"), watchedFilesPattern: getEnvValue( env.content.watchedFilesPattern, "array" ), watchedFilesPatternWithPath: getEnvValue( env.content.watchedFilesPatternWithPath, "array" ), outputFilesPatternWithPath: getEnvValue( env.content.outputFilesPatternWithPath, "string" ), watch: getEnvValue(env.content.watch, "boolean") }; const intlayerEditorConfiguration = { applicationURL: getEnvValue(env.editor.applicationURL, "string"), editorURL: getEnvValue(env.editor.editorURL, "string"), cmsURL: getEnvValue(env.editor.cmsURL, "string"), backendURL: getEnvValue(env.editor.backendURL, "string"), port: getEnvValue(env.editor.port, "number"), enabled: getEnvValue(env.editor.enabled, "boolean"), clientId: getEnvValue(env.editor.clientId, "string"), clientSecret: getEnvValue(env.editor.clientSecret, "string"), dictionaryPriorityStrategy: getEnvValue( env.editor.dictionaryPriorityStrategy, "string" ), hotReload: getEnvValue(env.editor.hotReload, "boolean") }; const logConfiguration = { mode: getEnvValue(env.log.mode, "string"), prefix: getEnvValue(env.log.prefix, "string") }; const aiConfiguration = { provider: getEnvValue(env.ai?.provider, "string"), model: getEnvValue(env.ai?.model, "string"), temperature: getEnvValue(env.ai?.temperature, "number"), apiKey: getEnvValue(env.ai?.apiKey, "string") }; const buildConfiguration = { optimize: getEnvValue(env.build.optimize, "boolean"), activateDynamicImport: getEnvValue( env.build.activateDynamicImport, "boolean" ), traversePattern: getEnvValue(env.build.traversePattern, "array") }; const intlayerConfiguration = { internationalization: intlayerIntlConfiguration, middleware: intlayerMiddlewareConfiguration, content: intlayerContentConfiguration, editor: intlayerEditorConfiguration, log: logConfiguration, ai: aiConfiguration, build: buildConfiguration }; return intlayerConfiguration; }; export { getConfiguration }; //# sourceMappingURL=getConfiguration.mjs.map