@intlayer/config
Version:
Retrieve Intlayer configurations and manage environment variables for both server-side and client-side environments.
120 lines (118 loc) • 7.81 kB
JavaScript
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
const require_utils_normalizePath = require('../utils/normalizePath.cjs');
const require_defaultValues_build = require('../defaultValues/build.cjs');
const require_defaultValues_content = require('../defaultValues/content.cjs');
const require_defaultValues_dictionary = require('../defaultValues/dictionary.cjs');
const require_defaultValues_editor = require('../defaultValues/editor.cjs');
const require_defaultValues_internationalization = require('../defaultValues/internationalization.cjs');
const require_defaultValues_log = require('../defaultValues/log.cjs');
const require_defaultValues_routing = require('../defaultValues/routing.cjs');
let node_path = require("node:path");
node_path = require_rolldown_runtime.__toESM(node_path);
//#region src/configFile/buildConfigurationFields.ts
let storedConfiguration;
const buildInternationalizationFields = (customConfiguration) => ({
locales: customConfiguration?.locales ?? require_defaultValues_internationalization.LOCALES,
requiredLocales: customConfiguration?.requiredLocales ?? customConfiguration?.locales ?? require_defaultValues_internationalization.REQUIRED_LOCALES,
strictMode: customConfiguration?.strictMode ?? require_defaultValues_internationalization.STRICT_MODE,
defaultLocale: customConfiguration?.defaultLocale ?? require_defaultValues_internationalization.DEFAULT_LOCALE
});
const buildRoutingFields = (customConfiguration) => ({
mode: customConfiguration?.mode ?? require_defaultValues_routing.ROUTING_MODE,
storage: customConfiguration?.storage ?? require_defaultValues_routing.STORAGE,
basePath: customConfiguration?.basePath ?? require_defaultValues_routing.BASE_PATH
});
const buildContentFields = (customConfiguration, baseDir) => {
const notDerivedContentConfig = {
fileExtensions: customConfiguration?.fileExtensions ?? require_defaultValues_content.FILE_EXTENSIONS,
baseDir: customConfiguration?.baseDir ?? baseDir ?? process.cwd(),
excludedPath: customConfiguration?.excludedPath ?? require_defaultValues_content.EXCLUDED_PATHS,
watch: customConfiguration?.watch ?? require_defaultValues_content.WATCH,
formatCommand: customConfiguration?.formatCommand
};
const optionalJoinBaseDir = (path) => {
if ((0, node_path.isAbsolute)(path)) return path;
return (0, node_path.join)(notDerivedContentConfig.baseDir, path);
};
const baseDirDerivedConfiguration = {
contentDir: (customConfiguration?.contentDir ?? require_defaultValues_content.CONTENT_DIR).map(optionalJoinBaseDir),
moduleAugmentationDir: optionalJoinBaseDir(customConfiguration?.moduleAugmentationDir ?? require_defaultValues_content.MODULE_AUGMENTATION_DIR),
unmergedDictionariesDir: optionalJoinBaseDir(customConfiguration?.unmergedDictionariesDir ?? require_defaultValues_content.UNMERGED_DICTIONARIES_DIR),
remoteDictionariesDir: optionalJoinBaseDir(customConfiguration?.remoteDictionariesDir ?? require_defaultValues_content.REMOTE_DICTIONARIES_DIR),
dictionariesDir: optionalJoinBaseDir(customConfiguration?.dictionariesDir ?? require_defaultValues_content.DICTIONARIES_DIR),
dynamicDictionariesDir: optionalJoinBaseDir(customConfiguration?.dynamicDictionariesDir ?? require_defaultValues_content.DYNAMIC_DICTIONARIES_DIR),
fetchDictionariesDir: optionalJoinBaseDir(customConfiguration?.fetchDictionariesDir ?? require_defaultValues_content.FETCH_DICTIONARIES_DIR),
typesDir: optionalJoinBaseDir(customConfiguration?.typesDir ?? require_defaultValues_content.TYPES_DIR),
mainDir: optionalJoinBaseDir(customConfiguration?.mainDir ?? require_defaultValues_content.MAIN_DIR),
configDir: optionalJoinBaseDir(customConfiguration?.configDir ?? require_defaultValues_content.CONFIG_DIR),
cacheDir: optionalJoinBaseDir(customConfiguration?.cacheDir ?? require_defaultValues_content.CACHE_DIR)
};
const patternsConfiguration = {
watchedFilesPattern: notDerivedContentConfig.fileExtensions.map((ext) => `/**/*${ext}`),
watchedFilesPatternWithPath: notDerivedContentConfig.fileExtensions.flatMap((ext) => baseDirDerivedConfiguration.contentDir.map((contentDir) => `${require_utils_normalizePath.normalizePath(contentDir)}/**/*${ext}`)),
outputFilesPatternWithPath: `${require_utils_normalizePath.normalizePath(baseDirDerivedConfiguration.dictionariesDir)}/**/*.json`
};
return {
...notDerivedContentConfig,
...baseDirDerivedConfiguration,
...patternsConfiguration
};
};
const buildEditorFields = (customConfiguration) => ({
applicationURL: customConfiguration?.applicationURL ?? require_defaultValues_editor.APPLICATION_URL,
editorURL: customConfiguration?.editorURL ?? require_defaultValues_editor.EDITOR_URL,
cmsURL: customConfiguration?.cmsURL ?? require_defaultValues_editor.CMS_URL,
backendURL: customConfiguration?.backendURL ?? require_defaultValues_editor.BACKEND_URL,
port: customConfiguration?.port ?? require_defaultValues_editor.PORT,
enabled: customConfiguration?.enabled ?? require_defaultValues_editor.IS_ENABLED,
clientId: customConfiguration?.clientId ?? void 0,
clientSecret: customConfiguration?.clientSecret ?? void 0,
dictionaryPriorityStrategy: customConfiguration?.dictionaryPriorityStrategy ?? require_defaultValues_editor.DICTIONARY_PRIORITY_STRATEGY,
liveSync: customConfiguration?.liveSync ?? require_defaultValues_editor.LIVE_SYNC,
liveSyncPort: customConfiguration?.liveSyncPort ?? require_defaultValues_editor.LIVE_SYNC_PORT,
liveSyncURL: customConfiguration?.liveSyncURL ?? `http://localhost:${customConfiguration?.liveSyncPort ?? require_defaultValues_editor.LIVE_SYNC_PORT}`
});
const buildLogFields = (customConfiguration, logFunctions) => ({
mode: customConfiguration?.mode ?? require_defaultValues_log.MODE,
prefix: customConfiguration?.prefix ?? require_defaultValues_log.PREFIX,
error: logFunctions?.error,
log: logFunctions?.log,
info: logFunctions?.info,
warn: logFunctions?.warn
});
const buildAiFields = (customConfiguration) => ({
provider: customConfiguration?.provider,
apiKey: customConfiguration?.apiKey,
model: customConfiguration?.model,
temperature: customConfiguration?.temperature,
applicationContext: customConfiguration?.applicationContext
});
const buildBuildFields = (customConfiguration) => ({
optimize: customConfiguration?.optimize ?? require_defaultValues_build.OPTIMIZE,
importMode: customConfiguration?.importMode ?? require_defaultValues_build.IMPORT_MODE,
traversePattern: customConfiguration?.traversePattern ?? require_defaultValues_build.TRAVERSE_PATTERN,
outputFormat: customConfiguration?.outputFormat ?? require_defaultValues_build.OUTPUT_FORMAT,
cache: customConfiguration?.cache ?? require_defaultValues_build.CACHE,
require: customConfiguration?.require
});
const buildDictionaryFields = (customConfiguration) => ({ fill: customConfiguration?.fill ?? require_defaultValues_dictionary.FILL });
/**
* Build the configuration fields by merging the default values with the custom configuration
*/
const buildConfigurationFields = (customConfiguration, baseDir, logFunctions) => {
storedConfiguration = {
internationalization: buildInternationalizationFields(customConfiguration?.internationalization),
routing: buildRoutingFields(customConfiguration?.routing),
content: buildContentFields(customConfiguration?.content, baseDir),
editor: buildEditorFields(customConfiguration?.editor),
log: buildLogFields(customConfiguration?.log, logFunctions),
ai: buildAiFields(customConfiguration?.ai),
build: buildBuildFields(customConfiguration?.build),
dictionary: buildDictionaryFields(customConfiguration?.dictionary),
plugins: customConfiguration?.plugins
};
return storedConfiguration;
};
//#endregion
exports.buildConfigurationFields = buildConfigurationFields;
//# sourceMappingURL=buildConfigurationFields.cjs.map