New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@intlayer/types

Package Overview
Dependencies
Maintainers
1
Versions
154
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@intlayer/types - npm Package Compare versions

Comparing version
8.6.8
to
8.6.9
+1
-1
dist/cjs/config.cjs.map

@@ -1,1 +0,1 @@

{"version":3,"file":"config.cjs","names":[],"sources":["../../src/config.ts"],"sourcesContent":["import type { Locale } from './allLocales';\nimport type {\n ContentAutoTransformation,\n DictionaryLocation,\n Fill,\n} from './dictionary';\nimport type { LocalesValues, StrictModeLocaleMap } from './module_augmentation';\nimport type { Plugin } from './plugin';\n\n/**\n * Structural type for schema validation, compatible with Zod and other\n * schema libraries that implement safeParse. Avoids a hard dependency on Zod.\n */\nexport type Schema = {\n safeParse(data: unknown): {\n success: boolean;\n data?: unknown;\n error?: unknown;\n };\n};\n\nexport type StrictMode = 'strict' | 'inclusive' | 'loose';\n\ntype Protocol = 'http' | 'https';\n\ntype URLPath = `/${string}`;\n\ntype OptionalURLPath = `/${string}` | '';\n\n// Localhost: STRICTLY requires a port\ntype LocalhostURL = `${Protocol}://localhost:${number}${OptionalURLPath}`;\n// IP Address: Start with number, allows optional port\n// (Heuristic: Starts with a number, contains dots)\ntype IPUrl =\n | `${Protocol}://${number}.${string}${OptionalURLPath}`\n | `${Protocol}://${number}.${string}:${number}${OptionalURLPath}`;\n\n// Standard Domain: Requires at least one dot to rule out plain \"localhost\"\n// (Heuristic: starts with non-number string, contains dot)\ntype DomainURL = `${Protocol}://${string}.${string}${OptionalURLPath}`;\n\nexport type URLType = LocalhostURL | IPUrl | DomainURL | (string & {});\n\n/**\n * Configuration for internationalization settings\n */\nexport type InternationalizationConfig = {\n /**\n * Locales available in the application\n *\n * Default: [Locales.ENGLISH]\n *\n * You can define a list of available locales to support in the application.\n */\n locales: Locale[];\n\n /**\n * Locales required by TypeScript to ensure strong implementations of internationalized content using typescript.\n *\n * Default: []\n *\n * If empty, all locales are required in `strict` mode.\n *\n * Ensure required locales are also defined in the `locales` field.\n */\n requiredLocales: Locale[];\n\n /**\n * Ensure strong implementations of internationalized content using typescript.\n * - If set to \"strict\", the translation `t` function will require each declared locales to be defined. If one locale is missing, or if a locale is not declared in your config, it will throw an error.\n * - If set to \"inclusive\", the translation `t` function will require each declared locales to be defined. If one locale is missing, it will throw a warning. But will accept if a locale is not declared in your config, but exist.\n * - If set to \"loose\", the translation `t` function will accept any existing locale.\n *\n * Default: \"inclusive\"\n */\n strictMode: StrictMode;\n\n /**\n * Default locale of the application for fallback\n *\n * Default: Locales.ENGLISH\n *\n * Used to specify a fallback locale in case no other locale is set.\n */\n defaultLocale: Locale;\n};\n\nexport type CookiesAttributes = {\n /**\n * Type of the storage\n *\n * The type of the storage. It can be 'cookie'.\n */\n type: 'cookie';\n /**\n * Cookie name to store the locale information\n *\n * Default: 'INTLAYER_LOCALE'\n *\n * The cookie key where the locale information is stored.\n */\n name?: string;\n /**\n * Cookie domain to store the locale information\n *\n * Default: undefined\n *\n * Define the domain where the cookie is available. Defaults to\n * the domain of the page where the cookie was created.\n */\n domain?: string;\n /**\n * Cookie path to store the locale information\n *\n * Default: undefined\n *\n * Define the path where the cookie is available. Defaults to '/'\n */\n path?: string;\n /**\n * Cookie secure to store the locale information\n *\n * Default: undefined\n *\n * A Boolean indicating if the cookie transmission requires a\n * secure protocol (https). Defaults to false.\n */\n secure?: boolean;\n /**\n * Cookie httpOnly to store the locale information\n *\n * Default: undefined\n *\n * The cookie httpOnly where the locale information is stored.\n */\n httpOnly?: boolean;\n /**\n * Cookie sameSite to store the locale information\n *\n * Default: undefined\n *\n * Asserts that a cookie must not be sent with cross-origin requests,\n * providing some protection against cross-site request forgery\n * attacks (CSRF)\n */\n sameSite?: 'strict' | 'lax' | 'none';\n\n /**\n * Cookie expires to store the locale information\n *\n * Default: undefined\n *\n * Define when the cookie will be removed. Value can be a Number\n * which will be interpreted as days from time of creation or a\n * Date instance. If omitted, the cookie becomes a session cookie.\n */\n expires?: Date | number | undefined;\n};\n\nexport type StorageAttributes = {\n /**\n * Storage type where the locale is stored\n *\n * Determines whether the locale is persisted in `localStorage` (across sessions)\n * or `sessionStorage` (cleared when the browser session ends) or `header` (from the request header).\n */\n type: 'localStorage' | 'sessionStorage' | 'header';\n\n /**\n * Storage key to store the locale information\n *\n * Default: 'INTLAYER_LOCALE'\n *\n * The key name used in the client storage to save the locale.\n */\n name?: string;\n};\n\n/**\n * Pre-computed storage attributes derived from `RoutingConfig.storage`.\n * Computed at config-build time to avoid repeated processing at runtime.\n */\nexport type ProcessedStorageAttributes = {\n cookies?: {\n name: string;\n attributes: Omit<CookiesAttributes, 'type' | 'name'>;\n }[];\n localStorage?: {\n name: string;\n }[];\n sessionStorage?: {\n name: string;\n }[];\n headers?: {\n name: string;\n }[];\n};\n\nexport type RewriteRule<T extends string = string> = {\n canonical: T;\n localized: StrictModeLocaleMap<string>;\n};\n\nexport type RewriteRules = {\n rules: RewriteRule[];\n};\n\nexport type RewriteObject = {\n /**\n * Used for client-side URL generation (e.g., getLocalizedUrl).\n * Patterns are usually stripped of locale prefixes as the core logic handles prefixing.\n */\n url: RewriteRules;\n /**\n * Used for Next.js middleware / proxy.\n * Patterns usually include [locale] or :locale to match incoming full URLs.\n */\n nextjs?: RewriteRules;\n /**\n * Used for Vite proxy middleware.\n */\n vite?: RewriteRules;\n};\n\n/**\n * Configuration for routing behaviors\n */\nexport type RoutingConfig = {\n /**\n * Rewrite the URLs to a localized path\n *\n * Example:\n * ```ts\n * // ...\n * routing: {\n * rewrite: nextjsRewrite({\n * '[locale]/about': {\n * fr: '[locale]/a-propos'\n * }\n * })\n * }\n * ```\n */\n rewrite?: Record<URLPath, StrictModeLocaleMap<URLPath>> | RewriteObject;\n\n /**\n * URL routing mode for locale handling\n *\n * Controls how locales are represented in application URLs:\n * - 'prefix-no-default': Prefix all locales except the default locale\n * - 'prefix-all': Prefix all locales including the default locale\n * - 'no-prefix': No locale prefixing in URLs\n * - 'search-params': Use search parameters for locale handling\n *\n * Examples with defaultLocale = 'en':\n * - 'prefix-no-default': /dashboard (en) or /fr/dashboard (fr)\n * - 'prefix-all': /en/dashboard (en) or /fr/dashboard (fr)\n * - 'no-prefix': /dashboard (locale handled via other means)\n * - 'search-params': /dashboard?locale=fr\n *\n * Note: This setting do not impact the cookie, or locale storage management.\n *\n * Default: 'prefix-no-default'\n */\n mode: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params';\n\n /**\n * Pre-computed storage attributes derived from the raw `storage` input.\n * Populated at config-build time by `getStorageAttributes(rawStorage)`.\n * Use this at runtime instead of re-processing the raw storage config.\n */\n storage: ProcessedStorageAttributes;\n\n /**\n * Base path for application URLs\n *\n * Default: ''\n *\n * Defines the base path where the application is accessible from.\n */\n basePath?: string;\n\n /**\n * Maps locales to specific domain hostnames for domain-based routing.\n * When a locale is mapped to a domain, URLs generated for that locale\n * will use that domain as the base URL (absolute URL), and no locale\n * prefix will be added to the path (the domain itself implies the locale).\n *\n * Default: undefined\n *\n * Example:\n * ```ts\n * domains: {\n * en: 'intlayer.org',\n * zh: 'intlayer.cn',\n * }\n * ```\n */\n domains?: Partial<Record<LocalesValues, string>>;\n};\n\n/**\n * Raw storage input accepted in the user-facing config (`intlayer.config.ts`).\n * Converted to {@link ProcessedStorageAttributes} during config build.\n *\n * Configuration for storing the locale in the client (localStorage or sessionStorage)\n *\n * If false, the locale will not be stored by the middleware.\n * If true, the locale storage will consider all default values.\n *\n * Default: ['cookie', 'header]\n *\n * Note: Check out GDPR compliance for cookies. See https://gdpr.eu/cookies/\n * Note: useLocale hook includes a prop to disable the cookie storage.\n * Note: Even if storage is disabled, the middleware will still detect the locale from the request header (1- check for `x-intlayer-locale`, 2- fallback to the `accept-language`).\n *\n * Recommendation:\n * - Config both localStorage and cookies for the storage of the locale if you want to support GDPR compliance.\n * - Disable the cookie storage by default on the useLocale hook by waiting for the user to consent to the cookie storage.\n */\nexport type RoutingStorageInput =\n | false\n | 'cookie'\n | 'localStorage'\n | 'sessionStorage'\n | 'header'\n | CookiesAttributes\n | StorageAttributes\n | (\n | 'cookie'\n | 'localStorage'\n | 'sessionStorage'\n | 'header'\n | CookiesAttributes\n | StorageAttributes\n )[];\n\n/**\n * User-facing routing configuration (accepted in `intlayer.config.ts`).\n */\nexport type CustomRoutingConfig = Omit<RoutingConfig, 'storage'> & {\n storage?: RoutingStorageInput;\n};\n\n/**\n * Configuration for intlayer editor\n */\nexport type EditorConfig = {\n /**\n * URL of the application. Used to restrict the origin of the editor for security reasons.\n *\n * Default: ''\n */\n applicationURL?: URLType;\n editorURL?: URLType;\n cmsURL?: URLType;\n backendURL?: URLType;\n\n /**\n * Indicates if the application interact with the visual editor\n *\n * Default: false;\n *\n * If true, the editor will be able to interact with the application.\n * If false, the editor will not be able to interact with the application.\n * In any case, the editor can only be enabled by the visual editor.\n * Disabling the editor for specific environments is a way to enforce the security.\n *\n * Usage:\n * ```js\n * {\n * // Other configurations\n * editor: {\n * enabled: process.env.NODE_ENV !== 'production',\n * }\n * };\n * ```\n *\n */\n enabled: boolean;\n\n /** Port of the editor server\n *\n * Default: 8000\n */\n port: number;\n\n /**\n * clientId and clientSecret allow the intlayer packages to authenticate with the backend using oAuth2 authentication.\n * An access token is use to authenticate the user related to the project.\n * To get an access token, go to https://app.intlayer.org/project and create an account.\n *\n * Default: undefined\n *\n * > Important: The clientId and clientSecret should be kept secret and not shared publicly. Please ensure to keep them in a secure location, such as environment variables.\n */\n clientId?: string;\n\n /**\n * clientId and clientSecret allow the intlayer packages to authenticate with the backend using oAuth2 authentication.\n * An access token is use to authenticate the user related to the project.\n * To get an access token, go to https://app.intlayer.org/project and create an account.\n *\n * Default: undefined\n *\n * > Important: The clientId and clientSecret should be kept secret and not shared publicly. Please ensure to keep them in a secure location, such as environment variables.\n */\n clientSecret?: string;\n\n /**\n * Strategy for prioritizing dictionaries. If a dictionary is both present online and locally, the content will be merge.\n * However, is a field is defined in both dictionary, this setting determines which fields takes the priority over the other.\n *\n * Default: 'local_first'\n *\n * The strategy for prioritizing dictionaries. It can be either 'local_first' or 'distant_first'.\n * - 'local_first': The first dictionary found in the locale is used.\n * - 'distant_first': The first dictionary found in the distant locales is used.\n */\n dictionaryPriorityStrategy: 'local_first' | 'distant_first';\n\n /**\n * Indicates if the application should hot reload the locale configurations when a change is detected.\n * For example, when a new dictionary is added or updated, the application will update the content tu display in the page.\n *\n * Default: true\n */\n liveSync: boolean;\n\n /**\n * Port of the live sync server\n *\n * Default: 4000\n */\n liveSyncPort: number;\n\n /**\n * URL of the live sync server in case of remote live sync server\n *\n * Default: `http://localhost:${liveSyncPort}`\n */\n liveSyncURL: URLType;\n};\n\nexport enum AiProviders {\n OPENAI = 'openai',\n ANTHROPIC = 'anthropic',\n MISTRAL = 'mistral',\n DEEPSEEK = 'deepseek',\n GEMINI = 'gemini',\n OLLAMA = 'ollama',\n OPENROUTER = 'openrouter',\n ALIBABA = 'alibaba',\n FIREWORKS = 'fireworks',\n GROQ = 'groq',\n HUGGINGFACE = 'huggingface',\n BEDROCK = 'bedrock',\n GOOGLEVERTEX = 'googlevertex',\n GOOGLEGENERATIVEAI = 'googlegenerativeai',\n TOGETHERAI = 'togetherai',\n}\n\nexport type CommonAiConfig = {\n /**\n * API model\n *\n * The model to use for the AI features of Intlayer.\n *\n * Example: 'gpt-4o-2024-11-20'\n *\n */\n model?: string;\n\n /**\n * temperature\n *\n * The temperature to use for the AI features of Intlayer.\n * The temperature controls the randomness of the AI's responses.\n * A higher temperature will make the AI more creative and less predictable.\n *\n * Example: 0.1\n */\n temperature?: number;\n\n /**\n * API key\n *\n * Use your own OpenAI API key to use the AI features of Intlayer.\n * If you don't have an OpenAI API key, you can get one for free at https://openai.com/api/.\n *\n */\n apiKey?: string;\n\n /**\n * Application context\n *\n * The context of the application to use for the AI features of Intlayer.\n *\n * Example: 'This is a website for a company that sells products online.'\n */\n applicationContext?: string;\n\n /**\n * Base URL\n *\n * The base URL to use for the AI features of Intlayer.\n *\n * Example: 'https://api.openai.com/v1'\n */\n baseURL?: string;\n\n /**\n * Data serialization\n *\n * The data serialization format to use for the AI features of Intlayer.\n *\n * Default: 'json'\n */\n dataSerialization?: 'json' | 'toon';\n};\n\nexport type AiProviderConfigMap = {};\n\ntype AiConfigUnion = {\n [P in keyof AiProviderConfigMap]: {\n provider: P | `${P}`;\n } & AiProviderConfigMap[P];\n}[keyof AiProviderConfigMap];\n\nexport type AiConfig = CommonAiConfig &\n (AiConfigUnion | { provider?: AiProviders | `${AiProviders}` });\n\nexport type BuildConfig = {\n /**\n * Indicates the mode of the build\n *\n * Default: 'auto'\n *\n * If 'auto', the build will be enabled automatically when the application is built.\n * If 'manual', the build will be set only when the build command is executed.\n *\n * Can be used to disable dictionaries build, for instance when execution on Node.js environment should be avoided.\n */\n mode: 'auto' | 'manual';\n\n /**\n * Indicates if the build should be optimized\n *\n * Default: undefined\n *\n * If true, the build will be optimized.\n * If false, the build will not be optimized.\n *\n * Intlayer will replace all calls of dictionaries to optimize chunking. That way the final bundle will import only the dictionaries that are used.\n * All imports will stay as static import to avoid async processing when loading the dictionaries.\n *\n * Note:\n * - Intlayer will replace all call of `useIntlayer` with the defined mode by the `importMode` option.\n * - Intlayer will replace all call of `getIntlayer` with `getDictionary`.\n * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.\n * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.\n */\n optimize?: boolean;\n\n /**\n * Indicates the mode of import to use for the dictionaries.\n *\n * Available modes:\n * - \"static\": The dictionaries are imported statically.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionary`.\n * - \"dynamic\": The dictionaries are imported dynamically in a synchronous component using the suspense API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * - \"fetch\": The dictionaries are imported dynamically using the live sync API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * Fetch mode will use the live sync API to fetch the dictionaries. If the API call fails, the dictionaries will be imported dynamically as \"dynamic\" mode.\n *\n * Default: \"static\"\n *\n * By default, when a dictionary is loaded, it imports content for all locales as it's imported statically.\n *\n * Note:\n * - Dynamic imports rely on Suspense and may slightly impact rendering performance.\n * - If desabled all locales will be loaded at once, even if they are not used.\n * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.\n * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.\n * - This option will be ignored if `optimize` is disabled.\n * - This option will not impact the `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` and `useDictionaryDynamic` functions. You can still use them to refine you code on manual optimization.\n * - The \"fetch\" allows to sync the dictionaries to the live sync server.\n * - Require static key to work. Example of invalid code: `const navbarKey = \"my-key\"; useIntlayer(navbarKey)`.\n *\n * @deprecated Use `dictionary.importMode` instead.\n */\n importMode?: 'static' | 'dynamic' | 'fetch';\n\n /**\n * Pattern to traverse the code to optimize.\n *\n * Allows to avoid to traverse the code that is not relevant to the optimization.\n * Improve build performance.\n *\n * Default: ['**\\/*.{js,ts,mjs,cjs,jsx,tsx}', '!**\\/node_modules/**']\n *\n * Example: `['src/**\\/*.{ts,tsx}', '../ui-library/**\\/*.{ts,tsx}', '!**\\/node_modules/**']`\n *\n * Note:\n * - This option will be ignored if `optimize` is disabled.\n * - Use glob pattern.\n */\n traversePattern: string[];\n\n /**\n * Output format of the dictionaries\n *\n * Default: ['cjs', 'esm']\n *\n * The output format of the dictionaries. It can be either 'cjs' or 'esm'. Even if dictionaries are written in JSON, entry point to access the dictionaries are generated.\n * This function will use the output format defined using this option.\n * The default format is 'cjs' as it allows better interoperability with other libraries, scripts, and applications. But some build tools, such as Vite, require ES modules.\n */\n outputFormat: ('cjs' | 'esm')[];\n\n /**\n * Indicates if the cache should be enabled\n *\n * Default: true\n *\n * If true, the cache will be enabled.\n * If false, the cache will not be enabled.\n */\n cache: boolean;\n\n /**\n * Require function\n *\n * In some environments, as VSCode extension, the require function should be set relatively to the project root to work properly.\n *\n * Default: undefined\n *\n * If undefined, the require function will be set to the default require function.\n * If defined, the require function will be set to the defined require function.\n *\n * Example:\n * ```js\n * {\n * require: require\n * }\n * ```\n */\n require?: NodeJS.Require;\n\n /**\n * Indicates if the build should check TypeScript types\n *\n * Default: false\n *\n * If true, the build will check TypeScript types and log errors.\n * Note: This can slow down the build.\n */\n checkTypes: boolean;\n};\n\nexport type CompilerConfig = {\n /**\n * Indicates if the compiler should be enabled.\n * If 'build-only', the compiler will be skipped during development mode to speed up start times.\n */\n enabled: boolean | 'build-only';\n\n /**\n * Prefix for the extracted dictionary keys.\n * Default: ''\n */\n dictionaryKeyPrefix?: string;\n\n /**\n * Pattern to traverse the code to optimize.\n *\n * Allows to avoid to traverse the code that is not relevant to the optimization.\n * Improve build performance.\n *\n * Default: ['**\\/*.{ts,tsx,jsx,js,cjs,mjs,svelte,vue}', '!**\\/node_modules/**']\n *\n * Example: `['src/**\\/*.{ts,tsx}', '../ui-library/**\\/*.{ts,tsx}', '!**\\/node_modules/**']`\n *\n * Note:\n * - This option will be ignored if `optimize` is disabled.\n * - Use glob pattern.\n *\n * @deprecated use build.traversePattern instead\n */\n transformPattern?: string | string[];\n\n /**\n * Pattern to exclude from the optimization.\n *\n * Allows to exclude files from the optimization.\n *\n * Default: ['**\\/node_modules/**']\n *\n * Example: `['**\\/node_modules/**', '!**\\/node_modules/react/**']`\n *\n * @deprecated use build.traversePattern instead\n */\n excludePattern?: string | string[];\n\n /**\n * Defines the output files path. Replaces `outputDir`.\n *\n * - `./` paths are resolved relative to the component directory.\n * - `/` paths are resolved relative to the project root (`baseDir`).\n *\n * - Including the `{{locale}}` variable in the path will trigger the generation of separate dictionaries per locale.\n *\n * Example:\n * ```ts\n * {\n * // Create Multilingual .content.ts files close to the component\n * output: ({ fileName, extension }) => `./${fileName}${extension}`,\n *\n * // output: './{{fileName}}{{extension}}', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create centralize per-locale JSON at the root of the project\n * output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,\n *\n * // output: '/locales/{{locale}}/{{key}}.content.json', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create per-locale JSON files with locale-specific output paths\n * output: {\n * en: ({ fileName, locale }) => `${fileName}.${locale}.content.json`,\n * fr: '{{fileName}}.{{locale}}.content.json',\n * es: false, // skip this locale\n * },\n * }\n * ```\n *\n * Variable list:\n * - `fileName`: The name of the file.\n * - `key`: The key of the content.\n * - `locale`: The locale of the content.\n * - `extension`: The extension of the file.\n * - `componentFileName`: The name of the component file.\n * - `componentExtension`: The extension of the component file.\n * - `format`: The format of the dictionary.\n * - `componentFormat`: The format of the component dictionary.\n * - `componentDirPath`: The directory path of the component.\n */\n output?: Fill;\n\n /**\n * Indicates if the metadata should be saved in the file.\n *\n * If true, the compiler will not save the metadata of the dictionaries.\n *\n * If true:\n *\n * ```json\n * {\n * \"key\": \"value\"\n * }\n * ```\n *\n * If false:\n *\n * ```json\n * {\n * \"key\": \"value\",\n * \"content\": {\n * \"key\": \"value\"\n * }\n * }\n * ```\n *\n * Default: false\n *\n * Note: Useful if used with loadJSON plugin\n *\n */\n noMetadata?: boolean;\n\n /**\n * Indicates if the components should be saved after being transformed.\n *\n * If true, the compiler will replace the original files with the transformed files.\n * That way, the compiler can be run only once to transform the app, and then it can be removed.\n *\n * Default: false\n */\n saveComponents: boolean;\n};\n\n/**\n * Custom configuration that can be provided to override default settings\n */\nexport type CustomIntlayerConfig = {\n /**\n * Custom internationalization configuration\n */\n internationalization?: Partial<InternationalizationConfig>;\n\n /**\n * Custom dictionary configuration\n */\n dictionary?: Partial<DictionaryConfig>;\n\n /**\n * Custom routing configuration\n */\n routing?: Partial<CustomRoutingConfig>;\n\n /**\n * Custom content configuration\n */\n content?: Partial<ContentConfig>;\n\n /**\n * Custom editor configuration\n */\n editor?: Partial<EditorConfig>;\n\n /**\n * Custom log configuration\n */\n log?: Partial<LogConfig>;\n\n /**\n * Custom AI configuration\n */\n ai?: Partial<AiConfig>;\n\n /**\n * Custom build configuration\n */\n build?: Partial<BuildConfig>;\n\n /**\n * Custom compiler configuration\n */\n compiler?: Partial<CompilerConfig>;\n\n /**\n * Custom system configuration\n */\n system?: Partial<SystemConfig>;\n\n /**\n * Custom schemas to validate the dictionaries content.\n *\n * Example:\n * ```ts\n * {\n * schemas: {\n * 'my-schema': z.object({\n * title: z.string(),\n * description: z.string(),\n * }),\n * }\n * }\n * ```\n */\n schemas?: Record<string, Schema>;\n\n /**\n * Custom plugins configuration\n */\n plugins?: (Plugin | Promise<Plugin>)[];\n};\n\nexport type DictionaryConfig = {\n /**\n * Indicate how the dictionary should be filled using AI.\n *\n * Default: `true`\n *\n * - If `true`, will consider the `compiler.output` field.\n * - If `false`, will skip the fill process.\n *\n * - `./` paths are resolved relative to the component directory.\n * - `/` paths are resolved relative to the project root (`baseDir`).\n *\n * - If includes `{{locale}}` variable in the path, will trigger the generation of separate dictionaries per locale.\n *\n * Example:\n * ```ts\n * {\n * // Create Multilingual .content.ts files close to the component\n * fill: ({ fileName, extension }) => `./${fileName}${extension}`,\n *\n * // fill: './{{fileName}}{{extension}}', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create centralize per-locale JSON at the root of the project\n * fill: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,\n *\n * // fill: '/locales/{{locale}}/{{key}}.content.json', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create custom output based on the locale\n * fill: {\n * en: ({ key }) => `/locales/en/${key}.content.json`,\n * fr: '/locales/fr/{{key}}.content.json',\n * es: false,\n * de: true,\n * },\n * }\n * ```\n *\n *\n * Variable list:\n * - `fileName`: The name of the file.\n * - `key`: The key of the content.\n * - `locale`: The locale of the content.\n * - `extension`: The extension of the file.\n * - `componentFileName`: The name of the component file.\n * - `componentExtension`: The extension of the component file.\n * - `format`: The format of the dictionary.\n * - `componentFormat`: The format of the component dictionary.\n * - `componentDirPath`: The directory path of the component.\n */\n fill?: Fill;\n /**\n * The description of the dictionary. Helps to understand the purpose of the dictionary in the editor, and the CMS.\n * The description is also used as context for translations generation.\n *\n * Example:\n * ```ts\n * {\n * \"key\": \"about-page-meta\",\n * \"description\":[\n * \"This dictionary is manage the metadata of the About Page\",\n * \"Consider good practices for SEO:\",\n * \"- The title should be between 50 and 60 characters\",\n * \"- The description should be between 150 and 160 characters\",\n * ].join('\\n'),\n * \"content\": { ... }\n * }\n * ```\n */\n description?: string;\n /**\n * Transform the dictionary in a per-locale dictionary.\n * Each field declared in a per-locale dictionary will be transformed in a translation node.\n * If missing, the dictionary will be treated as a multilingual dictionary.\n * If declared, do not use translation nodes in the content.\n *\n * Example:\n * ```json\n * {\n * \"key\": \"about-page\",\n * \"locale\": \"en\",\n * \"content\": {\n * \"multilingualContent\": \"English content\"\n * }\n * }\n * ```\n */\n locale?: LocalesValues;\n /**\n * Indicators if the content of the dictionary should be automatically transformed.\n * If true, the content will be transformed to the corresponding node type.\n * - Markdown: `### Title` -> `md('### Title')`\n * - HTML: `<div>Title</div>` -> `html('<div>Title</div>')`\n * - Insertion: `Hello {{name}}` -> `insert('Hello {{name}}')`\n *\n * If an object is provided, you can specify which transformations should be enabled.\n *\n * Default: false\n */\n contentAutoTransformation?: ContentAutoTransformation;\n /**\n * Indicates the priority of the dictionary.\n * In the case of conflicts, the dictionary with the highest priority will override the other dictionaries.\n */\n priority?: number;\n /**\n * Indicates the mode of import to use for the dictionaries.\n *\n * Available modes:\n * - \"static\": The dictionaries are imported statically.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionary`.\n * - \"dynamic\": The dictionaries are imported dynamically in a synchronous component using the suspense API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * - \"fetch\": The dictionaries are imported dynamically using the live sync API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * Fetch mode will use the live sync API to fetch the dictionaries. If the API call fails, the dictionaries will be imported dynamically as \"dynamic\" mode.\n *\n * Default: \"static\"\n *\n * By default, when a dictionary is loaded, it imports content for all locales as it's imported statically.\n *\n * Note:\n * - Dynamic imports rely on Suspense and may slightly impact rendering performance.\n * - If disabled all locales will be loaded at once, even if they are not used.\n * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.\n * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.\n * - This option will be ignored if `optimize` is disabled.\n * - This option will not impact the `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` and `useDictionaryDynamic` functions. You can still use them to refine you code on manual optimization.\n * - The \"fetch\" allows to sync the dictionaries to the live sync server.\n * - Require static key to work. Example of invalid code: `const navbarKey = \"my-key\"; useIntlayer(navbarKey)`.\n */\n importMode?: 'static' | 'dynamic' | 'fetch';\n /**\n * The title of the dictionary. Helps to identify the dictionary in the editor, and the CMS.\n *\n * Example:\n * ```json\n * {\n * \"key\": \"about-page-meta\",\n * \"title\": \"About Page\",\n * \"content\": { ... }\n * }\n * ```\n */\n title?: string;\n /**\n * Helps to categorize the dictionaries. The tags can provide more context and instructions for the dictionary.\n *\n * Example:\n * ```json\n * {\n * \"key\": \"about-page-meta\",\n * \"tags\": [\"metadata\",\"about-page\"]\n * }\n * ```\n */\n tags?: string[];\n /**\n * Indicates the location of the dictionary and controls how it synchronizes with the CMS.\n *\n * - 'hybrid': The dictionary is managed locally and remotely. Once pushed on the CMS, it will be synchronized from the local one. The local dictionary will be pulled from the CMS.\n * - 'remote': The dictionary is managed remotely only. Once pushed on the CMS, it will be detached from the local one. At content load time, the remote dictionary will be pulled from the CMS. A '.content' file with remote location will be ignored.\n * - 'local': The dictionary is managed locally. It will not be pushed to the remote CMS.\n * - 'plugin' (or any custom string): The dictionary is managed by a plugin, or a custom source. When you will try to push it, the system will ask an action to the user.\n */\n location?: DictionaryLocation;\n};\n\n/**\n * Combined configuration for internationalization, middleware, and content\n */\nexport type IntlayerConfig = {\n /**\n * Internationalization configuration\n */\n internationalization: InternationalizationConfig;\n\n /**\n * Default dictionary configuration\n */\n dictionary?: Partial<DictionaryConfig>;\n\n /**\n * Routing configuration\n */\n routing: RoutingConfig;\n\n /**\n * Content configuration\n */\n content: ContentConfig;\n\n /**\n * System configuration\n */\n system: SystemConfig;\n\n /**\n * Intlayer editor configuration\n */\n editor: EditorConfig;\n\n /**\n * Logger configuration\n */\n log: LogConfig;\n\n /**\n * AI configuration\n */\n ai?: Partial<AiConfig>;\n\n /**\n * Build configuration\n */\n build: BuildConfig;\n\n /**\n * Compiler configuration\n */\n compiler: CompilerConfig;\n\n /**\n * Custom schemas to validate the dictionaries content.\n */\n schemas?: Record<string, Schema>;\n\n /**\n * Plugins configuration\n */\n plugins?: Plugin[];\n};\n\n/**\n * Configuration for content handling\n */\nexport type ContentConfig = {\n /**\n * File extensions of content to look for\n *\n * Default: ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']\n *\n * List of file extensions to scan for content.\n */\n fileExtensions: string[];\n\n /**\n * Directory where the content is stored, relative to the base directory\n *\n * Default: ['.']\n *\n * Derived content directory based on the base configuration.\n *\n * Note: This is used to watch for content files.\n */\n contentDir: string[];\n\n /**\n * Directory where the code is stored, relative to the base directory\n *\n * Default: ['.']\n *\n * Derived code directory based on the base configuration.\n *\n * Note: This is used to watch for code files to transform.\n */\n codeDir: string[];\n\n /**\n * Directories to be excluded from content processing\n *\n * Default: ['node_modules', '.intlayer']\n *\n * A list of directories to exclude from content processing.\n */\n excludedPath: string[];\n\n /**\n * Indicates if Intlayer should watch for changes in the content declaration files in the app to rebuild the related dictionaries.\n *\n * Default: process.env.NODE_ENV === 'development'\n */\n watch: boolean;\n\n /**\n * Command to format the content. When intlayer write your .content files locally, this command will be used to format the content.\n *\n * Example:\n *\n * ```bash\n * npx prettier --write {{file}}\n * ```\n *\n * ```bash\n * bunx biome format {{file}}\n * ```\n *\n * ```bash\n * bun format {{file}}\n * ```\n *\n * ```bash\n * npx eslint --fix {{file}}\n * ```\n *\n * Intlayer will replace the {{file}} with the path of the file to format.\n *\n * Default: undefined\n */\n formatCommand: string | undefined;\n};\n\nexport type SystemConfig = {\n /**\n * Absolute path of the project's base directory\n *\n * Default: process.cwd()\n *\n * The root directory of the project, typically used for resolving other paths.\n */\n baseDir: string;\n\n /**\n * Directory for module augmentation, relative to the base directory\n *\n * Default: .intlayer/types\n *\n * Defines the derived path for module augmentation.\n */\n moduleAugmentationDir: string;\n\n /**\n * Directory where unmerged dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/unmerged_dictionary\n *\n * Specifies the derived path for unmerged dictionaries relative to the result directory.\n */\n unmergedDictionariesDir: string;\n\n /**\n * Directory where remote dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/remote_dictionary\n *\n * Specifies the derived path for remote dictionaries relative to the result directory.\n */\n remoteDictionariesDir: string;\n\n /**\n * Directory where final dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/dictionary\n *\n * Specifies the derived path for dictionaries relative to the result directory.\n */\n dictionariesDir: string;\n\n /**\n * Directory where dynamic dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/dynamic_dictionary\n *\n * Specifies the derived path for dynamic dictionaries relative to the result directory.\n */\n dynamicDictionariesDir: string;\n\n /**\n * Directory where fetch dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/fetch_dictionary\n *\n * Specifies the derived path for fetch dictionaries relative to the result directory.\n */\n fetchDictionariesDir: string;\n\n /**\n * Directory where dictionary types are stored, relative to the result directory\n *\n * Default: .intlayer/types\n *\n * Specifies the derived path for dictionary types relative to the result directory.\n */\n typesDir: string;\n\n /**\n * Directory where the main files are stored, relative to the result directory\n *\n * Default: .intlayer/main\n *\n * Specifies the derived path for the main files relative to the result directory.\n */\n mainDir: string;\n\n /**\n * Directory where the configuration files are stored, relative to the result directory\n *\n * Default: .intlayer/config\n *\n * Specifies the derived path for the configuration files relative to the result directory.\n */\n configDir: string;\n\n /**\n * Directory where the cache files are stored, relative to the result directory\n *\n * Default: .intlayer/cache\n *\n * Specifies the derived path for the cache files relative to the result directory.\n */\n cacheDir: string;\n\n /**\n * Directory where the temp files are stored, relative to the result directory\n *\n * Default: .intlayer/tmp\n *\n * Specifies the derived path for the tmp files relative to the result directory.\n */\n tempDir: string;\n};\n\nexport type LogFunctions = {\n error?: typeof console.error;\n log?: typeof console.log;\n info?: typeof console.info;\n warn?: typeof console.warn;\n};\n\nexport type LogConfig = {\n /**\n * Indicates if the logger is enabled\n *\n * Default: true\n *\n * If 'default', the logger is enabled and can be used.\n * If 'verbose', the logger will be enabled and can be used, but will log more information.\n * If 'disabled', the logger is disabled and cannot be used.\n */\n mode: 'default' | 'verbose' | 'disabled';\n\n /**\n * Prefix of the logger\n *\n * Default: '[intlayer]'\n *\n * The prefix of the logger.\n */\n prefix: string;\n\n /**\n * Functions to log\n */\n error?: typeof console.error;\n log?: typeof console.log;\n info?: typeof console.info;\n warn?: typeof console.warn;\n debug?: typeof console.debug;\n};\n"],"mappings":";;;AA4bA,IAAY,cAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;KACD"}
{"version":3,"file":"config.cjs","names":[],"sources":["../../src/config.ts"],"sourcesContent":["import type { Locale } from './allLocales';\nimport type {\n ContentAutoTransformation,\n DictionaryLocation,\n Fill,\n} from './dictionary';\nimport type { LocalesValues, StrictModeLocaleMap } from './module_augmentation';\nimport type { Plugin } from './plugin';\n\n/**\n * Structural type for schema validation, compatible with Zod and other\n * schema libraries that implement safeParse. Avoids a hard dependency on Zod.\n */\nexport type ConfigSchema = {\n safeParse(data: unknown): {\n success: boolean;\n data?: unknown;\n error?: unknown;\n };\n};\n\nexport type StrictMode = 'strict' | 'inclusive' | 'loose';\n\ntype Protocol = 'http' | 'https';\n\ntype URLPath = `/${string}`;\n\ntype OptionalURLPath = `/${string}` | '';\n\n// Localhost: STRICTLY requires a port\ntype LocalhostURL = `${Protocol}://localhost:${number}${OptionalURLPath}`;\n// IP Address: Start with number, allows optional port\n// (Heuristic: Starts with a number, contains dots)\ntype IPUrl =\n | `${Protocol}://${number}.${string}${OptionalURLPath}`\n | `${Protocol}://${number}.${string}:${number}${OptionalURLPath}`;\n\n// Standard Domain: Requires at least one dot to rule out plain \"localhost\"\n// (Heuristic: starts with non-number string, contains dot)\ntype DomainURL = `${Protocol}://${string}.${string}${OptionalURLPath}`;\n\nexport type URLType = LocalhostURL | IPUrl | DomainURL | (string & {});\n\n/**\n * Configuration for internationalization settings\n */\nexport type InternationalizationConfig = {\n /**\n * Locales available in the application\n *\n * Default: [Locales.ENGLISH]\n *\n * You can define a list of available locales to support in the application.\n */\n locales: Locale[];\n\n /**\n * Locales required by TypeScript to ensure strong implementations of internationalized content using typescript.\n *\n * Default: []\n *\n * If empty, all locales are required in `strict` mode.\n *\n * Ensure required locales are also defined in the `locales` field.\n */\n requiredLocales: Locale[];\n\n /**\n * Ensure strong implementations of internationalized content using typescript.\n * - If set to \"strict\", the translation `t` function will require each declared locales to be defined. If one locale is missing, or if a locale is not declared in your config, it will throw an error.\n * - If set to \"inclusive\", the translation `t` function will require each declared locales to be defined. If one locale is missing, it will throw a warning. But will accept if a locale is not declared in your config, but exist.\n * - If set to \"loose\", the translation `t` function will accept any existing locale.\n *\n * Default: \"inclusive\"\n */\n strictMode: StrictMode;\n\n /**\n * Default locale of the application for fallback\n *\n * Default: Locales.ENGLISH\n *\n * Used to specify a fallback locale in case no other locale is set.\n */\n defaultLocale: Locale;\n};\n\nexport type CookiesAttributes = {\n /**\n * Type of the storage\n *\n * The type of the storage. It can be 'cookie'.\n */\n type: 'cookie';\n /**\n * Cookie name to store the locale information\n *\n * Default: 'INTLAYER_LOCALE'\n *\n * The cookie key where the locale information is stored.\n */\n name?: string;\n /**\n * Cookie domain to store the locale information\n *\n * Default: undefined\n *\n * Define the domain where the cookie is available. Defaults to\n * the domain of the page where the cookie was created.\n */\n domain?: string;\n /**\n * Cookie path to store the locale information\n *\n * Default: undefined\n *\n * Define the path where the cookie is available. Defaults to '/'\n */\n path?: string;\n /**\n * Cookie secure to store the locale information\n *\n * Default: undefined\n *\n * A Boolean indicating if the cookie transmission requires a\n * secure protocol (https). Defaults to false.\n */\n secure?: boolean;\n /**\n * Cookie httpOnly to store the locale information\n *\n * Default: undefined\n *\n * The cookie httpOnly where the locale information is stored.\n */\n httpOnly?: boolean;\n /**\n * Cookie sameSite to store the locale information\n *\n * Default: undefined\n *\n * Asserts that a cookie must not be sent with cross-origin requests,\n * providing some protection against cross-site request forgery\n * attacks (CSRF)\n */\n sameSite?: 'strict' | 'lax' | 'none';\n\n /**\n * Cookie expires to store the locale information\n *\n * Default: undefined\n *\n * Define when the cookie will be removed. Value can be a Number\n * which will be interpreted as days from time of creation or a\n * Date instance. If omitted, the cookie becomes a session cookie.\n */\n expires?: Date | number | undefined;\n};\n\nexport type StorageAttributes = {\n /**\n * Storage type where the locale is stored\n *\n * Determines whether the locale is persisted in `localStorage` (across sessions)\n * or `sessionStorage` (cleared when the browser session ends) or `header` (from the request header).\n */\n type: 'localStorage' | 'sessionStorage' | 'header';\n\n /**\n * Storage key to store the locale information\n *\n * Default: 'INTLAYER_LOCALE'\n *\n * The key name used in the client storage to save the locale.\n */\n name?: string;\n};\n\n/**\n * Pre-computed storage attributes derived from `RoutingConfig.storage`.\n * Computed at config-build time to avoid repeated processing at runtime.\n */\nexport type ProcessedStorageAttributes = {\n cookies?: {\n name: string;\n attributes: Omit<CookiesAttributes, 'type' | 'name'>;\n }[];\n localStorage?: {\n name: string;\n }[];\n sessionStorage?: {\n name: string;\n }[];\n headers?: {\n name: string;\n }[];\n};\n\nexport type RewriteRule<T extends string = string> = {\n canonical: T;\n localized: StrictModeLocaleMap<string>;\n};\n\nexport type RewriteRules = {\n rules: RewriteRule[];\n};\n\nexport type RewriteObject = {\n /**\n * Used for client-side URL generation (e.g., getLocalizedUrl).\n * Patterns are usually stripped of locale prefixes as the core logic handles prefixing.\n */\n url: RewriteRules;\n /**\n * Used for Next.js middleware / proxy.\n * Patterns usually include [locale] or :locale to match incoming full URLs.\n */\n nextjs?: RewriteRules;\n /**\n * Used for Vite proxy middleware.\n */\n vite?: RewriteRules;\n};\n\n/**\n * Configuration for routing behaviors\n */\nexport type RoutingConfig = {\n /**\n * Rewrite the URLs to a localized path\n *\n * Example:\n * ```ts\n * // ...\n * routing: {\n * rewrite: nextjsRewrite({\n * '[locale]/about': {\n * fr: '[locale]/a-propos'\n * }\n * })\n * }\n * ```\n */\n rewrite?: Record<URLPath, StrictModeLocaleMap<URLPath>> | RewriteObject;\n\n /**\n * URL routing mode for locale handling\n *\n * Controls how locales are represented in application URLs:\n * - 'prefix-no-default': Prefix all locales except the default locale\n * - 'prefix-all': Prefix all locales including the default locale\n * - 'no-prefix': No locale prefixing in URLs\n * - 'search-params': Use search parameters for locale handling\n *\n * Examples with defaultLocale = 'en':\n * - 'prefix-no-default': /dashboard (en) or /fr/dashboard (fr)\n * - 'prefix-all': /en/dashboard (en) or /fr/dashboard (fr)\n * - 'no-prefix': /dashboard (locale handled via other means)\n * - 'search-params': /dashboard?locale=fr\n *\n * Note: This setting do not impact the cookie, or locale storage management.\n *\n * Default: 'prefix-no-default'\n */\n mode: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params';\n\n /**\n * Pre-computed storage attributes derived from the raw `storage` input.\n * Populated at config-build time by `getStorageAttributes(rawStorage)`.\n * Use this at runtime instead of re-processing the raw storage config.\n */\n storage: ProcessedStorageAttributes;\n\n /**\n * Base path for application URLs\n *\n * Default: ''\n *\n * Defines the base path where the application is accessible from.\n */\n basePath?: string;\n\n /**\n * Maps locales to specific domain hostnames for domain-based routing.\n * When a locale is mapped to a domain, URLs generated for that locale\n * will use that domain as the base URL (absolute URL), and no locale\n * prefix will be added to the path (the domain itself implies the locale).\n *\n * Default: undefined\n *\n * Example:\n * ```ts\n * domains: {\n * en: 'intlayer.org',\n * zh: 'intlayer.cn',\n * }\n * ```\n */\n domains?: Partial<Record<LocalesValues, string>>;\n};\n\n/**\n * Raw storage input accepted in the user-facing config (`intlayer.config.ts`).\n * Converted to {@link ProcessedStorageAttributes} during config build.\n *\n * Configuration for storing the locale in the client (localStorage or sessionStorage)\n *\n * If false, the locale will not be stored by the middleware.\n * If true, the locale storage will consider all default values.\n *\n * Default: ['cookie', 'header]\n *\n * Note: Check out GDPR compliance for cookies. See https://gdpr.eu/cookies/\n * Note: useLocale hook includes a prop to disable the cookie storage.\n * Note: Even if storage is disabled, the middleware will still detect the locale from the request header (1- check for `x-intlayer-locale`, 2- fallback to the `accept-language`).\n *\n * Recommendation:\n * - Config both localStorage and cookies for the storage of the locale if you want to support GDPR compliance.\n * - Disable the cookie storage by default on the useLocale hook by waiting for the user to consent to the cookie storage.\n */\nexport type RoutingStorageInput =\n | false\n | 'cookie'\n | 'localStorage'\n | 'sessionStorage'\n | 'header'\n | CookiesAttributes\n | StorageAttributes\n | (\n | 'cookie'\n | 'localStorage'\n | 'sessionStorage'\n | 'header'\n | CookiesAttributes\n | StorageAttributes\n )[];\n\n/**\n * User-facing routing configuration (accepted in `intlayer.config.ts`).\n */\nexport type CustomRoutingConfig = Omit<RoutingConfig, 'storage'> & {\n storage?: RoutingStorageInput;\n};\n\n/**\n * Configuration for intlayer editor\n */\nexport type EditorConfig = {\n /**\n * URL of the application. Used to restrict the origin of the editor for security reasons.\n *\n * Default: ''\n */\n applicationURL?: URLType;\n editorURL?: URLType;\n cmsURL?: URLType;\n backendURL?: URLType;\n\n /**\n * Indicates if the application interact with the visual editor\n *\n * Default: false;\n *\n * If true, the editor will be able to interact with the application.\n * If false, the editor will not be able to interact with the application.\n * In any case, the editor can only be enabled by the visual editor.\n * Disabling the editor for specific environments is a way to enforce the security.\n *\n * Usage:\n * ```js\n * {\n * // Other configurations\n * editor: {\n * enabled: process.env.NODE_ENV !== 'production',\n * }\n * };\n * ```\n *\n */\n enabled: boolean;\n\n /** Port of the editor server\n *\n * Default: 8000\n */\n port: number;\n\n /**\n * clientId and clientSecret allow the intlayer packages to authenticate with the backend using oAuth2 authentication.\n * An access token is use to authenticate the user related to the project.\n * To get an access token, go to https://app.intlayer.org/project and create an account.\n *\n * Default: undefined\n *\n * > Important: The clientId and clientSecret should be kept secret and not shared publicly. Please ensure to keep them in a secure location, such as environment variables.\n */\n clientId?: string;\n\n /**\n * clientId and clientSecret allow the intlayer packages to authenticate with the backend using oAuth2 authentication.\n * An access token is use to authenticate the user related to the project.\n * To get an access token, go to https://app.intlayer.org/project and create an account.\n *\n * Default: undefined\n *\n * > Important: The clientId and clientSecret should be kept secret and not shared publicly. Please ensure to keep them in a secure location, such as environment variables.\n */\n clientSecret?: string;\n\n /**\n * Strategy for prioritizing dictionaries. If a dictionary is both present online and locally, the content will be merge.\n * However, is a field is defined in both dictionary, this setting determines which fields takes the priority over the other.\n *\n * Default: 'local_first'\n *\n * The strategy for prioritizing dictionaries. It can be either 'local_first' or 'distant_first'.\n * - 'local_first': The first dictionary found in the locale is used.\n * - 'distant_first': The first dictionary found in the distant locales is used.\n */\n dictionaryPriorityStrategy: 'local_first' | 'distant_first';\n\n /**\n * Indicates if the application should hot reload the locale configurations when a change is detected.\n * For example, when a new dictionary is added or updated, the application will update the content tu display in the page.\n *\n * Default: true\n */\n liveSync: boolean;\n\n /**\n * Port of the live sync server\n *\n * Default: 4000\n */\n liveSyncPort: number;\n\n /**\n * URL of the live sync server in case of remote live sync server\n *\n * Default: `http://localhost:${liveSyncPort}`\n */\n liveSyncURL: URLType;\n};\n\nexport enum AiProviders {\n OPENAI = 'openai',\n ANTHROPIC = 'anthropic',\n MISTRAL = 'mistral',\n DEEPSEEK = 'deepseek',\n GEMINI = 'gemini',\n OLLAMA = 'ollama',\n OPENROUTER = 'openrouter',\n ALIBABA = 'alibaba',\n FIREWORKS = 'fireworks',\n GROQ = 'groq',\n HUGGINGFACE = 'huggingface',\n BEDROCK = 'bedrock',\n GOOGLEVERTEX = 'googlevertex',\n GOOGLEGENERATIVEAI = 'googlegenerativeai',\n TOGETHERAI = 'togetherai',\n}\n\nexport type CommonAiConfig = {\n /**\n * API model\n *\n * The model to use for the AI features of Intlayer.\n *\n * Example: 'gpt-4o-2024-11-20'\n *\n */\n model?: string;\n\n /**\n * temperature\n *\n * The temperature to use for the AI features of Intlayer.\n * The temperature controls the randomness of the AI's responses.\n * A higher temperature will make the AI more creative and less predictable.\n *\n * Example: 0.1\n */\n temperature?: number;\n\n /**\n * API key\n *\n * Use your own OpenAI API key to use the AI features of Intlayer.\n * If you don't have an OpenAI API key, you can get one for free at https://openai.com/api/.\n *\n */\n apiKey?: string;\n\n /**\n * Application context\n *\n * The context of the application to use for the AI features of Intlayer.\n *\n * Example: 'This is a website for a company that sells products online.'\n */\n applicationContext?: string;\n\n /**\n * Base URL\n *\n * The base URL to use for the AI features of Intlayer.\n *\n * Example: 'https://api.openai.com/v1'\n */\n baseURL?: string;\n\n /**\n * Data serialization\n *\n * The data serialization format to use for the AI features of Intlayer.\n *\n * Default: 'json'\n */\n dataSerialization?: 'json' | 'toon';\n};\n\nexport type AiProviderConfigMap = {};\n\ntype AiConfigUnion = {\n [P in keyof AiProviderConfigMap]: {\n provider: P | `${P}`;\n } & AiProviderConfigMap[P];\n}[keyof AiProviderConfigMap];\n\nexport type AiConfig = CommonAiConfig &\n (AiConfigUnion | { provider?: AiProviders | `${AiProviders}` });\n\nexport type BuildConfig = {\n /**\n * Indicates the mode of the build\n *\n * Default: 'auto'\n *\n * If 'auto', the build will be enabled automatically when the application is built.\n * If 'manual', the build will be set only when the build command is executed.\n *\n * Can be used to disable dictionaries build, for instance when execution on Node.js environment should be avoided.\n */\n mode: 'auto' | 'manual';\n\n /**\n * Indicates if the build should be optimized\n *\n * Default: undefined\n *\n * If true, the build will be optimized.\n * If false, the build will not be optimized.\n *\n * Intlayer will replace all calls of dictionaries to optimize chunking. That way the final bundle will import only the dictionaries that are used.\n * All imports will stay as static import to avoid async processing when loading the dictionaries.\n *\n * Note:\n * - Intlayer will replace all call of `useIntlayer` with the defined mode by the `importMode` option.\n * - Intlayer will replace all call of `getIntlayer` with `getDictionary`.\n * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.\n * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.\n */\n optimize?: boolean;\n\n /**\n * Indicates the mode of import to use for the dictionaries.\n *\n * Available modes:\n * - \"static\": The dictionaries are imported statically.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionary`.\n * - \"dynamic\": The dictionaries are imported dynamically in a synchronous component using the suspense API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * - \"fetch\": The dictionaries are imported dynamically using the live sync API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * Fetch mode will use the live sync API to fetch the dictionaries. If the API call fails, the dictionaries will be imported dynamically as \"dynamic\" mode.\n *\n * Default: \"static\"\n *\n * By default, when a dictionary is loaded, it imports content for all locales as it's imported statically.\n *\n * Note:\n * - Dynamic imports rely on Suspense and may slightly impact rendering performance.\n * - If desabled all locales will be loaded at once, even if they are not used.\n * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.\n * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.\n * - This option will be ignored if `optimize` is disabled.\n * - This option will not impact the `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` and `useDictionaryDynamic` functions. You can still use them to refine you code on manual optimization.\n * - The \"fetch\" allows to sync the dictionaries to the live sync server.\n * - Require static key to work. Example of invalid code: `const navbarKey = \"my-key\"; useIntlayer(navbarKey)`.\n *\n * @deprecated Use `dictionary.importMode` instead.\n */\n importMode?: 'static' | 'dynamic' | 'fetch';\n\n /**\n * Pattern to traverse the code to optimize.\n *\n * Allows to avoid to traverse the code that is not relevant to the optimization.\n * Improve build performance.\n *\n * Default: ['**\\/*.{js,ts,mjs,cjs,jsx,tsx}', '!**\\/node_modules/**']\n *\n * Example: `['src/**\\/*.{ts,tsx}', '../ui-library/**\\/*.{ts,tsx}', '!**\\/node_modules/**']`\n *\n * Note:\n * - This option will be ignored if `optimize` is disabled.\n * - Use glob pattern.\n */\n traversePattern: string[];\n\n /**\n * Output format of the dictionaries\n *\n * Default: ['cjs', 'esm']\n *\n * The output format of the dictionaries. It can be either 'cjs' or 'esm'. Even if dictionaries are written in JSON, entry point to access the dictionaries are generated.\n * This function will use the output format defined using this option.\n * The default format is 'cjs' as it allows better interoperability with other libraries, scripts, and applications. But some build tools, such as Vite, require ES modules.\n */\n outputFormat: ('cjs' | 'esm')[];\n\n /**\n * Indicates if the cache should be enabled\n *\n * Default: true\n *\n * If true, the cache will be enabled.\n * If false, the cache will not be enabled.\n */\n cache: boolean;\n\n /**\n * Require function\n *\n * In some environments, as VSCode extension, the require function should be set relatively to the project root to work properly.\n *\n * Default: undefined\n *\n * If undefined, the require function will be set to the default require function.\n * If defined, the require function will be set to the defined require function.\n *\n * Example:\n * ```js\n * {\n * require: require\n * }\n * ```\n */\n require?: NodeJS.Require;\n\n /**\n * Indicates if the build should check TypeScript types\n *\n * Default: false\n *\n * If true, the build will check TypeScript types and log errors.\n * Note: This can slow down the build.\n */\n checkTypes: boolean;\n};\n\nexport type CompilerConfig = {\n /**\n * Indicates if the compiler should be enabled.\n * If 'build-only', the compiler will be skipped during development mode to speed up start times.\n */\n enabled: boolean | 'build-only';\n\n /**\n * Prefix for the extracted dictionary keys.\n * Default: ''\n */\n dictionaryKeyPrefix?: string;\n\n /**\n * Pattern to traverse the code to optimize.\n *\n * Allows to avoid to traverse the code that is not relevant to the optimization.\n * Improve build performance.\n *\n * Default: ['**\\/*.{ts,tsx,jsx,js,cjs,mjs,svelte,vue}', '!**\\/node_modules/**']\n *\n * Example: `['src/**\\/*.{ts,tsx}', '../ui-library/**\\/*.{ts,tsx}', '!**\\/node_modules/**']`\n *\n * Note:\n * - This option will be ignored if `optimize` is disabled.\n * - Use glob pattern.\n *\n * @deprecated use build.traversePattern instead\n */\n transformPattern?: string | string[];\n\n /**\n * Pattern to exclude from the optimization.\n *\n * Allows to exclude files from the optimization.\n *\n * Default: ['**\\/node_modules/**']\n *\n * Example: `['**\\/node_modules/**', '!**\\/node_modules/react/**']`\n *\n * @deprecated use build.traversePattern instead\n */\n excludePattern?: string | string[];\n\n /**\n * Defines the output files path. Replaces `outputDir`.\n *\n * - `./` paths are resolved relative to the component directory.\n * - `/` paths are resolved relative to the project root (`baseDir`).\n *\n * - Including the `{{locale}}` variable in the path will trigger the generation of separate dictionaries per locale.\n *\n * Example:\n * ```ts\n * {\n * // Create Multilingual .content.ts files close to the component\n * output: ({ fileName, extension }) => `./${fileName}${extension}`,\n *\n * // output: './{{fileName}}{{extension}}', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create centralize per-locale JSON at the root of the project\n * output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,\n *\n * // output: '/locales/{{locale}}/{{key}}.content.json', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create per-locale JSON files with locale-specific output paths\n * output: {\n * en: ({ fileName, locale }) => `${fileName}.${locale}.content.json`,\n * fr: '{{fileName}}.{{locale}}.content.json',\n * es: false, // skip this locale\n * },\n * }\n * ```\n *\n * Variable list:\n * - `fileName`: The name of the file.\n * - `key`: The key of the content.\n * - `locale`: The locale of the content.\n * - `extension`: The extension of the file.\n * - `componentFileName`: The name of the component file.\n * - `componentExtension`: The extension of the component file.\n * - `format`: The format of the dictionary.\n * - `componentFormat`: The format of the component dictionary.\n * - `componentDirPath`: The directory path of the component.\n */\n output?: Fill;\n\n /**\n * Indicates if the metadata should be saved in the file.\n *\n * If true, the compiler will not save the metadata of the dictionaries.\n *\n * If true:\n *\n * ```json\n * {\n * \"key\": \"value\"\n * }\n * ```\n *\n * If false:\n *\n * ```json\n * {\n * \"key\": \"value\",\n * \"content\": {\n * \"key\": \"value\"\n * }\n * }\n * ```\n *\n * Default: false\n *\n * Note: Useful if used with loadJSON plugin\n *\n */\n noMetadata?: boolean;\n\n /**\n * Indicates if the components should be saved after being transformed.\n *\n * If true, the compiler will replace the original files with the transformed files.\n * That way, the compiler can be run only once to transform the app, and then it can be removed.\n *\n * Default: false\n */\n saveComponents: boolean;\n};\n\n/**\n * Custom configuration that can be provided to override default settings\n */\nexport type CustomIntlayerConfig = {\n /**\n * Custom internationalization configuration\n */\n internationalization?: Partial<InternationalizationConfig>;\n\n /**\n * Custom dictionary configuration\n */\n dictionary?: Partial<DictionaryConfig>;\n\n /**\n * Custom routing configuration\n */\n routing?: Partial<CustomRoutingConfig>;\n\n /**\n * Custom content configuration\n */\n content?: Partial<ContentConfig>;\n\n /**\n * Custom editor configuration\n */\n editor?: Partial<EditorConfig>;\n\n /**\n * Custom log configuration\n */\n log?: Partial<LogConfig>;\n\n /**\n * Custom AI configuration\n */\n ai?: Partial<AiConfig>;\n\n /**\n * Custom build configuration\n */\n build?: Partial<BuildConfig>;\n\n /**\n * Custom compiler configuration\n */\n compiler?: Partial<CompilerConfig>;\n\n /**\n * Custom system configuration\n */\n system?: Partial<SystemConfig>;\n\n /**\n * Custom schemas to validate the dictionaries content.\n *\n * Example:\n * ```ts\n * {\n * schemas: {\n * 'my-schema': z.object({\n * title: z.string(),\n * description: z.string(),\n * }),\n * }\n * }\n * ```\n */\n schemas?: Record<string, ConfigSchema>;\n\n /**\n * Custom plugins configuration\n */\n plugins?: (Plugin | Promise<Plugin>)[];\n};\n\nexport type DictionaryConfig = {\n /**\n * Indicate how the dictionary should be filled using AI.\n *\n * Default: `true`\n *\n * - If `true`, will consider the `compiler.output` field.\n * - If `false`, will skip the fill process.\n *\n * - `./` paths are resolved relative to the component directory.\n * - `/` paths are resolved relative to the project root (`baseDir`).\n *\n * - If includes `{{locale}}` variable in the path, will trigger the generation of separate dictionaries per locale.\n *\n * Example:\n * ```ts\n * {\n * // Create Multilingual .content.ts files close to the component\n * fill: ({ fileName, extension }) => `./${fileName}${extension}`,\n *\n * // fill: './{{fileName}}{{extension}}', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create centralize per-locale JSON at the root of the project\n * fill: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,\n *\n * // fill: '/locales/{{locale}}/{{key}}.content.json', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create custom output based on the locale\n * fill: {\n * en: ({ key }) => `/locales/en/${key}.content.json`,\n * fr: '/locales/fr/{{key}}.content.json',\n * es: false,\n * de: true,\n * },\n * }\n * ```\n *\n *\n * Variable list:\n * - `fileName`: The name of the file.\n * - `key`: The key of the content.\n * - `locale`: The locale of the content.\n * - `extension`: The extension of the file.\n * - `componentFileName`: The name of the component file.\n * - `componentExtension`: The extension of the component file.\n * - `format`: The format of the dictionary.\n * - `componentFormat`: The format of the component dictionary.\n * - `componentDirPath`: The directory path of the component.\n */\n fill?: Fill;\n /**\n * The description of the dictionary. Helps to understand the purpose of the dictionary in the editor, and the CMS.\n * The description is also used as context for translations generation.\n *\n * Example:\n * ```ts\n * {\n * \"key\": \"about-page-meta\",\n * \"description\":[\n * \"This dictionary is manage the metadata of the About Page\",\n * \"Consider good practices for SEO:\",\n * \"- The title should be between 50 and 60 characters\",\n * \"- The description should be between 150 and 160 characters\",\n * ].join('\\n'),\n * \"content\": { ... }\n * }\n * ```\n */\n description?: string;\n /**\n * Transform the dictionary in a per-locale dictionary.\n * Each field declared in a per-locale dictionary will be transformed in a translation node.\n * If missing, the dictionary will be treated as a multilingual dictionary.\n * If declared, do not use translation nodes in the content.\n *\n * Example:\n * ```json\n * {\n * \"key\": \"about-page\",\n * \"locale\": \"en\",\n * \"content\": {\n * \"multilingualContent\": \"English content\"\n * }\n * }\n * ```\n */\n locale?: LocalesValues;\n /**\n * Indicators if the content of the dictionary should be automatically transformed.\n * If true, the content will be transformed to the corresponding node type.\n * - Markdown: `### Title` -> `md('### Title')`\n * - HTML: `<div>Title</div>` -> `html('<div>Title</div>')`\n * - Insertion: `Hello {{name}}` -> `insert('Hello {{name}}')`\n *\n * If an object is provided, you can specify which transformations should be enabled.\n *\n * Default: false\n */\n contentAutoTransformation?: ContentAutoTransformation;\n /**\n * Indicates the priority of the dictionary.\n * In the case of conflicts, the dictionary with the highest priority will override the other dictionaries.\n */\n priority?: number;\n /**\n * Indicates the mode of import to use for the dictionaries.\n *\n * Available modes:\n * - \"static\": The dictionaries are imported statically.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionary`.\n * - \"dynamic\": The dictionaries are imported dynamically in a synchronous component using the suspense API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * - \"fetch\": The dictionaries are imported dynamically using the live sync API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * Fetch mode will use the live sync API to fetch the dictionaries. If the API call fails, the dictionaries will be imported dynamically as \"dynamic\" mode.\n *\n * Default: \"static\"\n *\n * By default, when a dictionary is loaded, it imports content for all locales as it's imported statically.\n *\n * Note:\n * - Dynamic imports rely on Suspense and may slightly impact rendering performance.\n * - If disabled all locales will be loaded at once, even if they are not used.\n * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.\n * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.\n * - This option will be ignored if `optimize` is disabled.\n * - This option will not impact the `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` and `useDictionaryDynamic` functions. You can still use them to refine you code on manual optimization.\n * - The \"fetch\" allows to sync the dictionaries to the live sync server.\n * - Require static key to work. Example of invalid code: `const navbarKey = \"my-key\"; useIntlayer(navbarKey)`.\n */\n importMode?: 'static' | 'dynamic' | 'fetch';\n /**\n * The title of the dictionary. Helps to identify the dictionary in the editor, and the CMS.\n *\n * Example:\n * ```json\n * {\n * \"key\": \"about-page-meta\",\n * \"title\": \"About Page\",\n * \"content\": { ... }\n * }\n * ```\n */\n title?: string;\n /**\n * Helps to categorize the dictionaries. The tags can provide more context and instructions for the dictionary.\n *\n * Example:\n * ```json\n * {\n * \"key\": \"about-page-meta\",\n * \"tags\": [\"metadata\",\"about-page\"]\n * }\n * ```\n */\n tags?: string[];\n /**\n * Indicates the location of the dictionary and controls how it synchronizes with the CMS.\n *\n * - 'hybrid': The dictionary is managed locally and remotely. Once pushed on the CMS, it will be synchronized from the local one. The local dictionary will be pulled from the CMS.\n * - 'remote': The dictionary is managed remotely only. Once pushed on the CMS, it will be detached from the local one. At content load time, the remote dictionary will be pulled from the CMS. A '.content' file with remote location will be ignored.\n * - 'local': The dictionary is managed locally. It will not be pushed to the remote CMS.\n * - 'plugin' (or any custom string): The dictionary is managed by a plugin, or a custom source. When you will try to push it, the system will ask an action to the user.\n */\n location?: DictionaryLocation;\n};\n\n/**\n * Combined configuration for internationalization, middleware, and content\n */\nexport type IntlayerConfig = {\n /**\n * Internationalization configuration\n */\n internationalization: InternationalizationConfig;\n\n /**\n * Default dictionary configuration\n */\n dictionary?: Partial<DictionaryConfig>;\n\n /**\n * Routing configuration\n */\n routing: RoutingConfig;\n\n /**\n * Content configuration\n */\n content: ContentConfig;\n\n /**\n * System configuration\n */\n system: SystemConfig;\n\n /**\n * Intlayer editor configuration\n */\n editor: EditorConfig;\n\n /**\n * Logger configuration\n */\n log: LogConfig;\n\n /**\n * AI configuration\n */\n ai?: Partial<AiConfig>;\n\n /**\n * Build configuration\n */\n build: BuildConfig;\n\n /**\n * Compiler configuration\n */\n compiler: CompilerConfig;\n\n /**\n * Custom schemas to validate the dictionaries content.\n */\n schemas?: Record<string, ConfigSchema>;\n\n /**\n * Plugins configuration\n */\n plugins?: Plugin[];\n};\n\n/**\n * Configuration for content handling\n */\nexport type ContentConfig = {\n /**\n * File extensions of content to look for\n *\n * Default: ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']\n *\n * List of file extensions to scan for content.\n */\n fileExtensions: string[];\n\n /**\n * Directory where the content is stored, relative to the base directory\n *\n * Default: ['.']\n *\n * Derived content directory based on the base configuration.\n *\n * Note: This is used to watch for content files.\n */\n contentDir: string[];\n\n /**\n * Directory where the code is stored, relative to the base directory\n *\n * Default: ['.']\n *\n * Derived code directory based on the base configuration.\n *\n * Note: This is used to watch for code files to transform.\n */\n codeDir: string[];\n\n /**\n * Directories to be excluded from content processing\n *\n * Default: ['node_modules', '.intlayer']\n *\n * A list of directories to exclude from content processing.\n */\n excludedPath: string[];\n\n /**\n * Indicates if Intlayer should watch for changes in the content declaration files in the app to rebuild the related dictionaries.\n *\n * Default: process.env.NODE_ENV === 'development'\n */\n watch: boolean;\n\n /**\n * Command to format the content. When intlayer write your .content files locally, this command will be used to format the content.\n *\n * Example:\n *\n * ```bash\n * npx prettier --write {{file}}\n * ```\n *\n * ```bash\n * bunx biome format {{file}}\n * ```\n *\n * ```bash\n * bun format {{file}}\n * ```\n *\n * ```bash\n * npx eslint --fix {{file}}\n * ```\n *\n * Intlayer will replace the {{file}} with the path of the file to format.\n *\n * Default: undefined\n */\n formatCommand: string | undefined;\n};\n\nexport type SystemConfig = {\n /**\n * Absolute path of the project's base directory\n *\n * Default: process.cwd()\n *\n * The root directory of the project, typically used for resolving other paths.\n */\n baseDir: string;\n\n /**\n * Directory for module augmentation, relative to the base directory\n *\n * Default: .intlayer/types\n *\n * Defines the derived path for module augmentation.\n */\n moduleAugmentationDir: string;\n\n /**\n * Directory where unmerged dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/unmerged_dictionary\n *\n * Specifies the derived path for unmerged dictionaries relative to the result directory.\n */\n unmergedDictionariesDir: string;\n\n /**\n * Directory where remote dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/remote_dictionary\n *\n * Specifies the derived path for remote dictionaries relative to the result directory.\n */\n remoteDictionariesDir: string;\n\n /**\n * Directory where final dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/dictionary\n *\n * Specifies the derived path for dictionaries relative to the result directory.\n */\n dictionariesDir: string;\n\n /**\n * Directory where dynamic dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/dynamic_dictionary\n *\n * Specifies the derived path for dynamic dictionaries relative to the result directory.\n */\n dynamicDictionariesDir: string;\n\n /**\n * Directory where fetch dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/fetch_dictionary\n *\n * Specifies the derived path for fetch dictionaries relative to the result directory.\n */\n fetchDictionariesDir: string;\n\n /**\n * Directory where dictionary types are stored, relative to the result directory\n *\n * Default: .intlayer/types\n *\n * Specifies the derived path for dictionary types relative to the result directory.\n */\n typesDir: string;\n\n /**\n * Directory where the main files are stored, relative to the result directory\n *\n * Default: .intlayer/main\n *\n * Specifies the derived path for the main files relative to the result directory.\n */\n mainDir: string;\n\n /**\n * Directory where the configuration files are stored, relative to the result directory\n *\n * Default: .intlayer/config\n *\n * Specifies the derived path for the configuration files relative to the result directory.\n */\n configDir: string;\n\n /**\n * Directory where the cache files are stored, relative to the result directory\n *\n * Default: .intlayer/cache\n *\n * Specifies the derived path for the cache files relative to the result directory.\n */\n cacheDir: string;\n\n /**\n * Directory where the temp files are stored, relative to the result directory\n *\n * Default: .intlayer/tmp\n *\n * Specifies the derived path for the tmp files relative to the result directory.\n */\n tempDir: string;\n};\n\nexport type LogFunctions = {\n error?: typeof console.error;\n log?: typeof console.log;\n info?: typeof console.info;\n warn?: typeof console.warn;\n};\n\nexport type LogConfig = {\n /**\n * Indicates if the logger is enabled\n *\n * Default: true\n *\n * If 'default', the logger is enabled and can be used.\n * If 'verbose', the logger will be enabled and can be used, but will log more information.\n * If 'disabled', the logger is disabled and cannot be used.\n */\n mode: 'default' | 'verbose' | 'disabled';\n\n /**\n * Prefix of the logger\n *\n * Default: '[intlayer]'\n *\n * The prefix of the logger.\n */\n prefix: string;\n\n /**\n * Functions to log\n */\n error?: typeof console.error;\n log?: typeof console.log;\n info?: typeof console.info;\n warn?: typeof console.warn;\n debug?: typeof console.debug;\n};\n"],"mappings":";;;AA4bA,IAAY,cAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;KACD"}
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_nodeType = require('./nodeType.cjs');
require('./dictionary.cjs');
const require_locales = require('./locales.cjs');
require('./plugin.cjs');
require('./filePathPattern.cjs');
require('./keyPath.cjs');
require('./module_augmentation.cjs');
const require_allLocales = require('./allLocales.cjs');

@@ -5,0 +10,0 @@ const require_config = require('./config.cjs');

@@ -1,2 +0,2 @@

import { locales_exports } from "./locales.mjs";
import * as locales_exports from "./locales.mjs";

@@ -3,0 +3,0 @@ //#region src/allLocales.ts

@@ -1,1 +0,1 @@

{"version":3,"file":"config.mjs","names":[],"sources":["../../src/config.ts"],"sourcesContent":["import type { Locale } from './allLocales';\nimport type {\n ContentAutoTransformation,\n DictionaryLocation,\n Fill,\n} from './dictionary';\nimport type { LocalesValues, StrictModeLocaleMap } from './module_augmentation';\nimport type { Plugin } from './plugin';\n\n/**\n * Structural type for schema validation, compatible with Zod and other\n * schema libraries that implement safeParse. Avoids a hard dependency on Zod.\n */\nexport type Schema = {\n safeParse(data: unknown): {\n success: boolean;\n data?: unknown;\n error?: unknown;\n };\n};\n\nexport type StrictMode = 'strict' | 'inclusive' | 'loose';\n\ntype Protocol = 'http' | 'https';\n\ntype URLPath = `/${string}`;\n\ntype OptionalURLPath = `/${string}` | '';\n\n// Localhost: STRICTLY requires a port\ntype LocalhostURL = `${Protocol}://localhost:${number}${OptionalURLPath}`;\n// IP Address: Start with number, allows optional port\n// (Heuristic: Starts with a number, contains dots)\ntype IPUrl =\n | `${Protocol}://${number}.${string}${OptionalURLPath}`\n | `${Protocol}://${number}.${string}:${number}${OptionalURLPath}`;\n\n// Standard Domain: Requires at least one dot to rule out plain \"localhost\"\n// (Heuristic: starts with non-number string, contains dot)\ntype DomainURL = `${Protocol}://${string}.${string}${OptionalURLPath}`;\n\nexport type URLType = LocalhostURL | IPUrl | DomainURL | (string & {});\n\n/**\n * Configuration for internationalization settings\n */\nexport type InternationalizationConfig = {\n /**\n * Locales available in the application\n *\n * Default: [Locales.ENGLISH]\n *\n * You can define a list of available locales to support in the application.\n */\n locales: Locale[];\n\n /**\n * Locales required by TypeScript to ensure strong implementations of internationalized content using typescript.\n *\n * Default: []\n *\n * If empty, all locales are required in `strict` mode.\n *\n * Ensure required locales are also defined in the `locales` field.\n */\n requiredLocales: Locale[];\n\n /**\n * Ensure strong implementations of internationalized content using typescript.\n * - If set to \"strict\", the translation `t` function will require each declared locales to be defined. If one locale is missing, or if a locale is not declared in your config, it will throw an error.\n * - If set to \"inclusive\", the translation `t` function will require each declared locales to be defined. If one locale is missing, it will throw a warning. But will accept if a locale is not declared in your config, but exist.\n * - If set to \"loose\", the translation `t` function will accept any existing locale.\n *\n * Default: \"inclusive\"\n */\n strictMode: StrictMode;\n\n /**\n * Default locale of the application for fallback\n *\n * Default: Locales.ENGLISH\n *\n * Used to specify a fallback locale in case no other locale is set.\n */\n defaultLocale: Locale;\n};\n\nexport type CookiesAttributes = {\n /**\n * Type of the storage\n *\n * The type of the storage. It can be 'cookie'.\n */\n type: 'cookie';\n /**\n * Cookie name to store the locale information\n *\n * Default: 'INTLAYER_LOCALE'\n *\n * The cookie key where the locale information is stored.\n */\n name?: string;\n /**\n * Cookie domain to store the locale information\n *\n * Default: undefined\n *\n * Define the domain where the cookie is available. Defaults to\n * the domain of the page where the cookie was created.\n */\n domain?: string;\n /**\n * Cookie path to store the locale information\n *\n * Default: undefined\n *\n * Define the path where the cookie is available. Defaults to '/'\n */\n path?: string;\n /**\n * Cookie secure to store the locale information\n *\n * Default: undefined\n *\n * A Boolean indicating if the cookie transmission requires a\n * secure protocol (https). Defaults to false.\n */\n secure?: boolean;\n /**\n * Cookie httpOnly to store the locale information\n *\n * Default: undefined\n *\n * The cookie httpOnly where the locale information is stored.\n */\n httpOnly?: boolean;\n /**\n * Cookie sameSite to store the locale information\n *\n * Default: undefined\n *\n * Asserts that a cookie must not be sent with cross-origin requests,\n * providing some protection against cross-site request forgery\n * attacks (CSRF)\n */\n sameSite?: 'strict' | 'lax' | 'none';\n\n /**\n * Cookie expires to store the locale information\n *\n * Default: undefined\n *\n * Define when the cookie will be removed. Value can be a Number\n * which will be interpreted as days from time of creation or a\n * Date instance. If omitted, the cookie becomes a session cookie.\n */\n expires?: Date | number | undefined;\n};\n\nexport type StorageAttributes = {\n /**\n * Storage type where the locale is stored\n *\n * Determines whether the locale is persisted in `localStorage` (across sessions)\n * or `sessionStorage` (cleared when the browser session ends) or `header` (from the request header).\n */\n type: 'localStorage' | 'sessionStorage' | 'header';\n\n /**\n * Storage key to store the locale information\n *\n * Default: 'INTLAYER_LOCALE'\n *\n * The key name used in the client storage to save the locale.\n */\n name?: string;\n};\n\n/**\n * Pre-computed storage attributes derived from `RoutingConfig.storage`.\n * Computed at config-build time to avoid repeated processing at runtime.\n */\nexport type ProcessedStorageAttributes = {\n cookies?: {\n name: string;\n attributes: Omit<CookiesAttributes, 'type' | 'name'>;\n }[];\n localStorage?: {\n name: string;\n }[];\n sessionStorage?: {\n name: string;\n }[];\n headers?: {\n name: string;\n }[];\n};\n\nexport type RewriteRule<T extends string = string> = {\n canonical: T;\n localized: StrictModeLocaleMap<string>;\n};\n\nexport type RewriteRules = {\n rules: RewriteRule[];\n};\n\nexport type RewriteObject = {\n /**\n * Used for client-side URL generation (e.g., getLocalizedUrl).\n * Patterns are usually stripped of locale prefixes as the core logic handles prefixing.\n */\n url: RewriteRules;\n /**\n * Used for Next.js middleware / proxy.\n * Patterns usually include [locale] or :locale to match incoming full URLs.\n */\n nextjs?: RewriteRules;\n /**\n * Used for Vite proxy middleware.\n */\n vite?: RewriteRules;\n};\n\n/**\n * Configuration for routing behaviors\n */\nexport type RoutingConfig = {\n /**\n * Rewrite the URLs to a localized path\n *\n * Example:\n * ```ts\n * // ...\n * routing: {\n * rewrite: nextjsRewrite({\n * '[locale]/about': {\n * fr: '[locale]/a-propos'\n * }\n * })\n * }\n * ```\n */\n rewrite?: Record<URLPath, StrictModeLocaleMap<URLPath>> | RewriteObject;\n\n /**\n * URL routing mode for locale handling\n *\n * Controls how locales are represented in application URLs:\n * - 'prefix-no-default': Prefix all locales except the default locale\n * - 'prefix-all': Prefix all locales including the default locale\n * - 'no-prefix': No locale prefixing in URLs\n * - 'search-params': Use search parameters for locale handling\n *\n * Examples with defaultLocale = 'en':\n * - 'prefix-no-default': /dashboard (en) or /fr/dashboard (fr)\n * - 'prefix-all': /en/dashboard (en) or /fr/dashboard (fr)\n * - 'no-prefix': /dashboard (locale handled via other means)\n * - 'search-params': /dashboard?locale=fr\n *\n * Note: This setting do not impact the cookie, or locale storage management.\n *\n * Default: 'prefix-no-default'\n */\n mode: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params';\n\n /**\n * Pre-computed storage attributes derived from the raw `storage` input.\n * Populated at config-build time by `getStorageAttributes(rawStorage)`.\n * Use this at runtime instead of re-processing the raw storage config.\n */\n storage: ProcessedStorageAttributes;\n\n /**\n * Base path for application URLs\n *\n * Default: ''\n *\n * Defines the base path where the application is accessible from.\n */\n basePath?: string;\n\n /**\n * Maps locales to specific domain hostnames for domain-based routing.\n * When a locale is mapped to a domain, URLs generated for that locale\n * will use that domain as the base URL (absolute URL), and no locale\n * prefix will be added to the path (the domain itself implies the locale).\n *\n * Default: undefined\n *\n * Example:\n * ```ts\n * domains: {\n * en: 'intlayer.org',\n * zh: 'intlayer.cn',\n * }\n * ```\n */\n domains?: Partial<Record<LocalesValues, string>>;\n};\n\n/**\n * Raw storage input accepted in the user-facing config (`intlayer.config.ts`).\n * Converted to {@link ProcessedStorageAttributes} during config build.\n *\n * Configuration for storing the locale in the client (localStorage or sessionStorage)\n *\n * If false, the locale will not be stored by the middleware.\n * If true, the locale storage will consider all default values.\n *\n * Default: ['cookie', 'header]\n *\n * Note: Check out GDPR compliance for cookies. See https://gdpr.eu/cookies/\n * Note: useLocale hook includes a prop to disable the cookie storage.\n * Note: Even if storage is disabled, the middleware will still detect the locale from the request header (1- check for `x-intlayer-locale`, 2- fallback to the `accept-language`).\n *\n * Recommendation:\n * - Config both localStorage and cookies for the storage of the locale if you want to support GDPR compliance.\n * - Disable the cookie storage by default on the useLocale hook by waiting for the user to consent to the cookie storage.\n */\nexport type RoutingStorageInput =\n | false\n | 'cookie'\n | 'localStorage'\n | 'sessionStorage'\n | 'header'\n | CookiesAttributes\n | StorageAttributes\n | (\n | 'cookie'\n | 'localStorage'\n | 'sessionStorage'\n | 'header'\n | CookiesAttributes\n | StorageAttributes\n )[];\n\n/**\n * User-facing routing configuration (accepted in `intlayer.config.ts`).\n */\nexport type CustomRoutingConfig = Omit<RoutingConfig, 'storage'> & {\n storage?: RoutingStorageInput;\n};\n\n/**\n * Configuration for intlayer editor\n */\nexport type EditorConfig = {\n /**\n * URL of the application. Used to restrict the origin of the editor for security reasons.\n *\n * Default: ''\n */\n applicationURL?: URLType;\n editorURL?: URLType;\n cmsURL?: URLType;\n backendURL?: URLType;\n\n /**\n * Indicates if the application interact with the visual editor\n *\n * Default: false;\n *\n * If true, the editor will be able to interact with the application.\n * If false, the editor will not be able to interact with the application.\n * In any case, the editor can only be enabled by the visual editor.\n * Disabling the editor for specific environments is a way to enforce the security.\n *\n * Usage:\n * ```js\n * {\n * // Other configurations\n * editor: {\n * enabled: process.env.NODE_ENV !== 'production',\n * }\n * };\n * ```\n *\n */\n enabled: boolean;\n\n /** Port of the editor server\n *\n * Default: 8000\n */\n port: number;\n\n /**\n * clientId and clientSecret allow the intlayer packages to authenticate with the backend using oAuth2 authentication.\n * An access token is use to authenticate the user related to the project.\n * To get an access token, go to https://app.intlayer.org/project and create an account.\n *\n * Default: undefined\n *\n * > Important: The clientId and clientSecret should be kept secret and not shared publicly. Please ensure to keep them in a secure location, such as environment variables.\n */\n clientId?: string;\n\n /**\n * clientId and clientSecret allow the intlayer packages to authenticate with the backend using oAuth2 authentication.\n * An access token is use to authenticate the user related to the project.\n * To get an access token, go to https://app.intlayer.org/project and create an account.\n *\n * Default: undefined\n *\n * > Important: The clientId and clientSecret should be kept secret and not shared publicly. Please ensure to keep them in a secure location, such as environment variables.\n */\n clientSecret?: string;\n\n /**\n * Strategy for prioritizing dictionaries. If a dictionary is both present online and locally, the content will be merge.\n * However, is a field is defined in both dictionary, this setting determines which fields takes the priority over the other.\n *\n * Default: 'local_first'\n *\n * The strategy for prioritizing dictionaries. It can be either 'local_first' or 'distant_first'.\n * - 'local_first': The first dictionary found in the locale is used.\n * - 'distant_first': The first dictionary found in the distant locales is used.\n */\n dictionaryPriorityStrategy: 'local_first' | 'distant_first';\n\n /**\n * Indicates if the application should hot reload the locale configurations when a change is detected.\n * For example, when a new dictionary is added or updated, the application will update the content tu display in the page.\n *\n * Default: true\n */\n liveSync: boolean;\n\n /**\n * Port of the live sync server\n *\n * Default: 4000\n */\n liveSyncPort: number;\n\n /**\n * URL of the live sync server in case of remote live sync server\n *\n * Default: `http://localhost:${liveSyncPort}`\n */\n liveSyncURL: URLType;\n};\n\nexport enum AiProviders {\n OPENAI = 'openai',\n ANTHROPIC = 'anthropic',\n MISTRAL = 'mistral',\n DEEPSEEK = 'deepseek',\n GEMINI = 'gemini',\n OLLAMA = 'ollama',\n OPENROUTER = 'openrouter',\n ALIBABA = 'alibaba',\n FIREWORKS = 'fireworks',\n GROQ = 'groq',\n HUGGINGFACE = 'huggingface',\n BEDROCK = 'bedrock',\n GOOGLEVERTEX = 'googlevertex',\n GOOGLEGENERATIVEAI = 'googlegenerativeai',\n TOGETHERAI = 'togetherai',\n}\n\nexport type CommonAiConfig = {\n /**\n * API model\n *\n * The model to use for the AI features of Intlayer.\n *\n * Example: 'gpt-4o-2024-11-20'\n *\n */\n model?: string;\n\n /**\n * temperature\n *\n * The temperature to use for the AI features of Intlayer.\n * The temperature controls the randomness of the AI's responses.\n * A higher temperature will make the AI more creative and less predictable.\n *\n * Example: 0.1\n */\n temperature?: number;\n\n /**\n * API key\n *\n * Use your own OpenAI API key to use the AI features of Intlayer.\n * If you don't have an OpenAI API key, you can get one for free at https://openai.com/api/.\n *\n */\n apiKey?: string;\n\n /**\n * Application context\n *\n * The context of the application to use for the AI features of Intlayer.\n *\n * Example: 'This is a website for a company that sells products online.'\n */\n applicationContext?: string;\n\n /**\n * Base URL\n *\n * The base URL to use for the AI features of Intlayer.\n *\n * Example: 'https://api.openai.com/v1'\n */\n baseURL?: string;\n\n /**\n * Data serialization\n *\n * The data serialization format to use for the AI features of Intlayer.\n *\n * Default: 'json'\n */\n dataSerialization?: 'json' | 'toon';\n};\n\nexport type AiProviderConfigMap = {};\n\ntype AiConfigUnion = {\n [P in keyof AiProviderConfigMap]: {\n provider: P | `${P}`;\n } & AiProviderConfigMap[P];\n}[keyof AiProviderConfigMap];\n\nexport type AiConfig = CommonAiConfig &\n (AiConfigUnion | { provider?: AiProviders | `${AiProviders}` });\n\nexport type BuildConfig = {\n /**\n * Indicates the mode of the build\n *\n * Default: 'auto'\n *\n * If 'auto', the build will be enabled automatically when the application is built.\n * If 'manual', the build will be set only when the build command is executed.\n *\n * Can be used to disable dictionaries build, for instance when execution on Node.js environment should be avoided.\n */\n mode: 'auto' | 'manual';\n\n /**\n * Indicates if the build should be optimized\n *\n * Default: undefined\n *\n * If true, the build will be optimized.\n * If false, the build will not be optimized.\n *\n * Intlayer will replace all calls of dictionaries to optimize chunking. That way the final bundle will import only the dictionaries that are used.\n * All imports will stay as static import to avoid async processing when loading the dictionaries.\n *\n * Note:\n * - Intlayer will replace all call of `useIntlayer` with the defined mode by the `importMode` option.\n * - Intlayer will replace all call of `getIntlayer` with `getDictionary`.\n * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.\n * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.\n */\n optimize?: boolean;\n\n /**\n * Indicates the mode of import to use for the dictionaries.\n *\n * Available modes:\n * - \"static\": The dictionaries are imported statically.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionary`.\n * - \"dynamic\": The dictionaries are imported dynamically in a synchronous component using the suspense API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * - \"fetch\": The dictionaries are imported dynamically using the live sync API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * Fetch mode will use the live sync API to fetch the dictionaries. If the API call fails, the dictionaries will be imported dynamically as \"dynamic\" mode.\n *\n * Default: \"static\"\n *\n * By default, when a dictionary is loaded, it imports content for all locales as it's imported statically.\n *\n * Note:\n * - Dynamic imports rely on Suspense and may slightly impact rendering performance.\n * - If desabled all locales will be loaded at once, even if they are not used.\n * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.\n * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.\n * - This option will be ignored if `optimize` is disabled.\n * - This option will not impact the `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` and `useDictionaryDynamic` functions. You can still use them to refine you code on manual optimization.\n * - The \"fetch\" allows to sync the dictionaries to the live sync server.\n * - Require static key to work. Example of invalid code: `const navbarKey = \"my-key\"; useIntlayer(navbarKey)`.\n *\n * @deprecated Use `dictionary.importMode` instead.\n */\n importMode?: 'static' | 'dynamic' | 'fetch';\n\n /**\n * Pattern to traverse the code to optimize.\n *\n * Allows to avoid to traverse the code that is not relevant to the optimization.\n * Improve build performance.\n *\n * Default: ['**\\/*.{js,ts,mjs,cjs,jsx,tsx}', '!**\\/node_modules/**']\n *\n * Example: `['src/**\\/*.{ts,tsx}', '../ui-library/**\\/*.{ts,tsx}', '!**\\/node_modules/**']`\n *\n * Note:\n * - This option will be ignored if `optimize` is disabled.\n * - Use glob pattern.\n */\n traversePattern: string[];\n\n /**\n * Output format of the dictionaries\n *\n * Default: ['cjs', 'esm']\n *\n * The output format of the dictionaries. It can be either 'cjs' or 'esm'. Even if dictionaries are written in JSON, entry point to access the dictionaries are generated.\n * This function will use the output format defined using this option.\n * The default format is 'cjs' as it allows better interoperability with other libraries, scripts, and applications. But some build tools, such as Vite, require ES modules.\n */\n outputFormat: ('cjs' | 'esm')[];\n\n /**\n * Indicates if the cache should be enabled\n *\n * Default: true\n *\n * If true, the cache will be enabled.\n * If false, the cache will not be enabled.\n */\n cache: boolean;\n\n /**\n * Require function\n *\n * In some environments, as VSCode extension, the require function should be set relatively to the project root to work properly.\n *\n * Default: undefined\n *\n * If undefined, the require function will be set to the default require function.\n * If defined, the require function will be set to the defined require function.\n *\n * Example:\n * ```js\n * {\n * require: require\n * }\n * ```\n */\n require?: NodeJS.Require;\n\n /**\n * Indicates if the build should check TypeScript types\n *\n * Default: false\n *\n * If true, the build will check TypeScript types and log errors.\n * Note: This can slow down the build.\n */\n checkTypes: boolean;\n};\n\nexport type CompilerConfig = {\n /**\n * Indicates if the compiler should be enabled.\n * If 'build-only', the compiler will be skipped during development mode to speed up start times.\n */\n enabled: boolean | 'build-only';\n\n /**\n * Prefix for the extracted dictionary keys.\n * Default: ''\n */\n dictionaryKeyPrefix?: string;\n\n /**\n * Pattern to traverse the code to optimize.\n *\n * Allows to avoid to traverse the code that is not relevant to the optimization.\n * Improve build performance.\n *\n * Default: ['**\\/*.{ts,tsx,jsx,js,cjs,mjs,svelte,vue}', '!**\\/node_modules/**']\n *\n * Example: `['src/**\\/*.{ts,tsx}', '../ui-library/**\\/*.{ts,tsx}', '!**\\/node_modules/**']`\n *\n * Note:\n * - This option will be ignored if `optimize` is disabled.\n * - Use glob pattern.\n *\n * @deprecated use build.traversePattern instead\n */\n transformPattern?: string | string[];\n\n /**\n * Pattern to exclude from the optimization.\n *\n * Allows to exclude files from the optimization.\n *\n * Default: ['**\\/node_modules/**']\n *\n * Example: `['**\\/node_modules/**', '!**\\/node_modules/react/**']`\n *\n * @deprecated use build.traversePattern instead\n */\n excludePattern?: string | string[];\n\n /**\n * Defines the output files path. Replaces `outputDir`.\n *\n * - `./` paths are resolved relative to the component directory.\n * - `/` paths are resolved relative to the project root (`baseDir`).\n *\n * - Including the `{{locale}}` variable in the path will trigger the generation of separate dictionaries per locale.\n *\n * Example:\n * ```ts\n * {\n * // Create Multilingual .content.ts files close to the component\n * output: ({ fileName, extension }) => `./${fileName}${extension}`,\n *\n * // output: './{{fileName}}{{extension}}', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create centralize per-locale JSON at the root of the project\n * output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,\n *\n * // output: '/locales/{{locale}}/{{key}}.content.json', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create per-locale JSON files with locale-specific output paths\n * output: {\n * en: ({ fileName, locale }) => `${fileName}.${locale}.content.json`,\n * fr: '{{fileName}}.{{locale}}.content.json',\n * es: false, // skip this locale\n * },\n * }\n * ```\n *\n * Variable list:\n * - `fileName`: The name of the file.\n * - `key`: The key of the content.\n * - `locale`: The locale of the content.\n * - `extension`: The extension of the file.\n * - `componentFileName`: The name of the component file.\n * - `componentExtension`: The extension of the component file.\n * - `format`: The format of the dictionary.\n * - `componentFormat`: The format of the component dictionary.\n * - `componentDirPath`: The directory path of the component.\n */\n output?: Fill;\n\n /**\n * Indicates if the metadata should be saved in the file.\n *\n * If true, the compiler will not save the metadata of the dictionaries.\n *\n * If true:\n *\n * ```json\n * {\n * \"key\": \"value\"\n * }\n * ```\n *\n * If false:\n *\n * ```json\n * {\n * \"key\": \"value\",\n * \"content\": {\n * \"key\": \"value\"\n * }\n * }\n * ```\n *\n * Default: false\n *\n * Note: Useful if used with loadJSON plugin\n *\n */\n noMetadata?: boolean;\n\n /**\n * Indicates if the components should be saved after being transformed.\n *\n * If true, the compiler will replace the original files with the transformed files.\n * That way, the compiler can be run only once to transform the app, and then it can be removed.\n *\n * Default: false\n */\n saveComponents: boolean;\n};\n\n/**\n * Custom configuration that can be provided to override default settings\n */\nexport type CustomIntlayerConfig = {\n /**\n * Custom internationalization configuration\n */\n internationalization?: Partial<InternationalizationConfig>;\n\n /**\n * Custom dictionary configuration\n */\n dictionary?: Partial<DictionaryConfig>;\n\n /**\n * Custom routing configuration\n */\n routing?: Partial<CustomRoutingConfig>;\n\n /**\n * Custom content configuration\n */\n content?: Partial<ContentConfig>;\n\n /**\n * Custom editor configuration\n */\n editor?: Partial<EditorConfig>;\n\n /**\n * Custom log configuration\n */\n log?: Partial<LogConfig>;\n\n /**\n * Custom AI configuration\n */\n ai?: Partial<AiConfig>;\n\n /**\n * Custom build configuration\n */\n build?: Partial<BuildConfig>;\n\n /**\n * Custom compiler configuration\n */\n compiler?: Partial<CompilerConfig>;\n\n /**\n * Custom system configuration\n */\n system?: Partial<SystemConfig>;\n\n /**\n * Custom schemas to validate the dictionaries content.\n *\n * Example:\n * ```ts\n * {\n * schemas: {\n * 'my-schema': z.object({\n * title: z.string(),\n * description: z.string(),\n * }),\n * }\n * }\n * ```\n */\n schemas?: Record<string, Schema>;\n\n /**\n * Custom plugins configuration\n */\n plugins?: (Plugin | Promise<Plugin>)[];\n};\n\nexport type DictionaryConfig = {\n /**\n * Indicate how the dictionary should be filled using AI.\n *\n * Default: `true`\n *\n * - If `true`, will consider the `compiler.output` field.\n * - If `false`, will skip the fill process.\n *\n * - `./` paths are resolved relative to the component directory.\n * - `/` paths are resolved relative to the project root (`baseDir`).\n *\n * - If includes `{{locale}}` variable in the path, will trigger the generation of separate dictionaries per locale.\n *\n * Example:\n * ```ts\n * {\n * // Create Multilingual .content.ts files close to the component\n * fill: ({ fileName, extension }) => `./${fileName}${extension}`,\n *\n * // fill: './{{fileName}}{{extension}}', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create centralize per-locale JSON at the root of the project\n * fill: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,\n *\n * // fill: '/locales/{{locale}}/{{key}}.content.json', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create custom output based on the locale\n * fill: {\n * en: ({ key }) => `/locales/en/${key}.content.json`,\n * fr: '/locales/fr/{{key}}.content.json',\n * es: false,\n * de: true,\n * },\n * }\n * ```\n *\n *\n * Variable list:\n * - `fileName`: The name of the file.\n * - `key`: The key of the content.\n * - `locale`: The locale of the content.\n * - `extension`: The extension of the file.\n * - `componentFileName`: The name of the component file.\n * - `componentExtension`: The extension of the component file.\n * - `format`: The format of the dictionary.\n * - `componentFormat`: The format of the component dictionary.\n * - `componentDirPath`: The directory path of the component.\n */\n fill?: Fill;\n /**\n * The description of the dictionary. Helps to understand the purpose of the dictionary in the editor, and the CMS.\n * The description is also used as context for translations generation.\n *\n * Example:\n * ```ts\n * {\n * \"key\": \"about-page-meta\",\n * \"description\":[\n * \"This dictionary is manage the metadata of the About Page\",\n * \"Consider good practices for SEO:\",\n * \"- The title should be between 50 and 60 characters\",\n * \"- The description should be between 150 and 160 characters\",\n * ].join('\\n'),\n * \"content\": { ... }\n * }\n * ```\n */\n description?: string;\n /**\n * Transform the dictionary in a per-locale dictionary.\n * Each field declared in a per-locale dictionary will be transformed in a translation node.\n * If missing, the dictionary will be treated as a multilingual dictionary.\n * If declared, do not use translation nodes in the content.\n *\n * Example:\n * ```json\n * {\n * \"key\": \"about-page\",\n * \"locale\": \"en\",\n * \"content\": {\n * \"multilingualContent\": \"English content\"\n * }\n * }\n * ```\n */\n locale?: LocalesValues;\n /**\n * Indicators if the content of the dictionary should be automatically transformed.\n * If true, the content will be transformed to the corresponding node type.\n * - Markdown: `### Title` -> `md('### Title')`\n * - HTML: `<div>Title</div>` -> `html('<div>Title</div>')`\n * - Insertion: `Hello {{name}}` -> `insert('Hello {{name}}')`\n *\n * If an object is provided, you can specify which transformations should be enabled.\n *\n * Default: false\n */\n contentAutoTransformation?: ContentAutoTransformation;\n /**\n * Indicates the priority of the dictionary.\n * In the case of conflicts, the dictionary with the highest priority will override the other dictionaries.\n */\n priority?: number;\n /**\n * Indicates the mode of import to use for the dictionaries.\n *\n * Available modes:\n * - \"static\": The dictionaries are imported statically.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionary`.\n * - \"dynamic\": The dictionaries are imported dynamically in a synchronous component using the suspense API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * - \"fetch\": The dictionaries are imported dynamically using the live sync API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * Fetch mode will use the live sync API to fetch the dictionaries. If the API call fails, the dictionaries will be imported dynamically as \"dynamic\" mode.\n *\n * Default: \"static\"\n *\n * By default, when a dictionary is loaded, it imports content for all locales as it's imported statically.\n *\n * Note:\n * - Dynamic imports rely on Suspense and may slightly impact rendering performance.\n * - If disabled all locales will be loaded at once, even if they are not used.\n * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.\n * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.\n * - This option will be ignored if `optimize` is disabled.\n * - This option will not impact the `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` and `useDictionaryDynamic` functions. You can still use them to refine you code on manual optimization.\n * - The \"fetch\" allows to sync the dictionaries to the live sync server.\n * - Require static key to work. Example of invalid code: `const navbarKey = \"my-key\"; useIntlayer(navbarKey)`.\n */\n importMode?: 'static' | 'dynamic' | 'fetch';\n /**\n * The title of the dictionary. Helps to identify the dictionary in the editor, and the CMS.\n *\n * Example:\n * ```json\n * {\n * \"key\": \"about-page-meta\",\n * \"title\": \"About Page\",\n * \"content\": { ... }\n * }\n * ```\n */\n title?: string;\n /**\n * Helps to categorize the dictionaries. The tags can provide more context and instructions for the dictionary.\n *\n * Example:\n * ```json\n * {\n * \"key\": \"about-page-meta\",\n * \"tags\": [\"metadata\",\"about-page\"]\n * }\n * ```\n */\n tags?: string[];\n /**\n * Indicates the location of the dictionary and controls how it synchronizes with the CMS.\n *\n * - 'hybrid': The dictionary is managed locally and remotely. Once pushed on the CMS, it will be synchronized from the local one. The local dictionary will be pulled from the CMS.\n * - 'remote': The dictionary is managed remotely only. Once pushed on the CMS, it will be detached from the local one. At content load time, the remote dictionary will be pulled from the CMS. A '.content' file with remote location will be ignored.\n * - 'local': The dictionary is managed locally. It will not be pushed to the remote CMS.\n * - 'plugin' (or any custom string): The dictionary is managed by a plugin, or a custom source. When you will try to push it, the system will ask an action to the user.\n */\n location?: DictionaryLocation;\n};\n\n/**\n * Combined configuration for internationalization, middleware, and content\n */\nexport type IntlayerConfig = {\n /**\n * Internationalization configuration\n */\n internationalization: InternationalizationConfig;\n\n /**\n * Default dictionary configuration\n */\n dictionary?: Partial<DictionaryConfig>;\n\n /**\n * Routing configuration\n */\n routing: RoutingConfig;\n\n /**\n * Content configuration\n */\n content: ContentConfig;\n\n /**\n * System configuration\n */\n system: SystemConfig;\n\n /**\n * Intlayer editor configuration\n */\n editor: EditorConfig;\n\n /**\n * Logger configuration\n */\n log: LogConfig;\n\n /**\n * AI configuration\n */\n ai?: Partial<AiConfig>;\n\n /**\n * Build configuration\n */\n build: BuildConfig;\n\n /**\n * Compiler configuration\n */\n compiler: CompilerConfig;\n\n /**\n * Custom schemas to validate the dictionaries content.\n */\n schemas?: Record<string, Schema>;\n\n /**\n * Plugins configuration\n */\n plugins?: Plugin[];\n};\n\n/**\n * Configuration for content handling\n */\nexport type ContentConfig = {\n /**\n * File extensions of content to look for\n *\n * Default: ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']\n *\n * List of file extensions to scan for content.\n */\n fileExtensions: string[];\n\n /**\n * Directory where the content is stored, relative to the base directory\n *\n * Default: ['.']\n *\n * Derived content directory based on the base configuration.\n *\n * Note: This is used to watch for content files.\n */\n contentDir: string[];\n\n /**\n * Directory where the code is stored, relative to the base directory\n *\n * Default: ['.']\n *\n * Derived code directory based on the base configuration.\n *\n * Note: This is used to watch for code files to transform.\n */\n codeDir: string[];\n\n /**\n * Directories to be excluded from content processing\n *\n * Default: ['node_modules', '.intlayer']\n *\n * A list of directories to exclude from content processing.\n */\n excludedPath: string[];\n\n /**\n * Indicates if Intlayer should watch for changes in the content declaration files in the app to rebuild the related dictionaries.\n *\n * Default: process.env.NODE_ENV === 'development'\n */\n watch: boolean;\n\n /**\n * Command to format the content. When intlayer write your .content files locally, this command will be used to format the content.\n *\n * Example:\n *\n * ```bash\n * npx prettier --write {{file}}\n * ```\n *\n * ```bash\n * bunx biome format {{file}}\n * ```\n *\n * ```bash\n * bun format {{file}}\n * ```\n *\n * ```bash\n * npx eslint --fix {{file}}\n * ```\n *\n * Intlayer will replace the {{file}} with the path of the file to format.\n *\n * Default: undefined\n */\n formatCommand: string | undefined;\n};\n\nexport type SystemConfig = {\n /**\n * Absolute path of the project's base directory\n *\n * Default: process.cwd()\n *\n * The root directory of the project, typically used for resolving other paths.\n */\n baseDir: string;\n\n /**\n * Directory for module augmentation, relative to the base directory\n *\n * Default: .intlayer/types\n *\n * Defines the derived path for module augmentation.\n */\n moduleAugmentationDir: string;\n\n /**\n * Directory where unmerged dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/unmerged_dictionary\n *\n * Specifies the derived path for unmerged dictionaries relative to the result directory.\n */\n unmergedDictionariesDir: string;\n\n /**\n * Directory where remote dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/remote_dictionary\n *\n * Specifies the derived path for remote dictionaries relative to the result directory.\n */\n remoteDictionariesDir: string;\n\n /**\n * Directory where final dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/dictionary\n *\n * Specifies the derived path for dictionaries relative to the result directory.\n */\n dictionariesDir: string;\n\n /**\n * Directory where dynamic dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/dynamic_dictionary\n *\n * Specifies the derived path for dynamic dictionaries relative to the result directory.\n */\n dynamicDictionariesDir: string;\n\n /**\n * Directory where fetch dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/fetch_dictionary\n *\n * Specifies the derived path for fetch dictionaries relative to the result directory.\n */\n fetchDictionariesDir: string;\n\n /**\n * Directory where dictionary types are stored, relative to the result directory\n *\n * Default: .intlayer/types\n *\n * Specifies the derived path for dictionary types relative to the result directory.\n */\n typesDir: string;\n\n /**\n * Directory where the main files are stored, relative to the result directory\n *\n * Default: .intlayer/main\n *\n * Specifies the derived path for the main files relative to the result directory.\n */\n mainDir: string;\n\n /**\n * Directory where the configuration files are stored, relative to the result directory\n *\n * Default: .intlayer/config\n *\n * Specifies the derived path for the configuration files relative to the result directory.\n */\n configDir: string;\n\n /**\n * Directory where the cache files are stored, relative to the result directory\n *\n * Default: .intlayer/cache\n *\n * Specifies the derived path for the cache files relative to the result directory.\n */\n cacheDir: string;\n\n /**\n * Directory where the temp files are stored, relative to the result directory\n *\n * Default: .intlayer/tmp\n *\n * Specifies the derived path for the tmp files relative to the result directory.\n */\n tempDir: string;\n};\n\nexport type LogFunctions = {\n error?: typeof console.error;\n log?: typeof console.log;\n info?: typeof console.info;\n warn?: typeof console.warn;\n};\n\nexport type LogConfig = {\n /**\n * Indicates if the logger is enabled\n *\n * Default: true\n *\n * If 'default', the logger is enabled and can be used.\n * If 'verbose', the logger will be enabled and can be used, but will log more information.\n * If 'disabled', the logger is disabled and cannot be used.\n */\n mode: 'default' | 'verbose' | 'disabled';\n\n /**\n * Prefix of the logger\n *\n * Default: '[intlayer]'\n *\n * The prefix of the logger.\n */\n prefix: string;\n\n /**\n * Functions to log\n */\n error?: typeof console.error;\n log?: typeof console.log;\n info?: typeof console.info;\n warn?: typeof console.warn;\n debug?: typeof console.debug;\n};\n"],"mappings":";AA4bA,IAAY,cAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;KACD"}
{"version":3,"file":"config.mjs","names":[],"sources":["../../src/config.ts"],"sourcesContent":["import type { Locale } from './allLocales';\nimport type {\n ContentAutoTransformation,\n DictionaryLocation,\n Fill,\n} from './dictionary';\nimport type { LocalesValues, StrictModeLocaleMap } from './module_augmentation';\nimport type { Plugin } from './plugin';\n\n/**\n * Structural type for schema validation, compatible with Zod and other\n * schema libraries that implement safeParse. Avoids a hard dependency on Zod.\n */\nexport type ConfigSchema = {\n safeParse(data: unknown): {\n success: boolean;\n data?: unknown;\n error?: unknown;\n };\n};\n\nexport type StrictMode = 'strict' | 'inclusive' | 'loose';\n\ntype Protocol = 'http' | 'https';\n\ntype URLPath = `/${string}`;\n\ntype OptionalURLPath = `/${string}` | '';\n\n// Localhost: STRICTLY requires a port\ntype LocalhostURL = `${Protocol}://localhost:${number}${OptionalURLPath}`;\n// IP Address: Start with number, allows optional port\n// (Heuristic: Starts with a number, contains dots)\ntype IPUrl =\n | `${Protocol}://${number}.${string}${OptionalURLPath}`\n | `${Protocol}://${number}.${string}:${number}${OptionalURLPath}`;\n\n// Standard Domain: Requires at least one dot to rule out plain \"localhost\"\n// (Heuristic: starts with non-number string, contains dot)\ntype DomainURL = `${Protocol}://${string}.${string}${OptionalURLPath}`;\n\nexport type URLType = LocalhostURL | IPUrl | DomainURL | (string & {});\n\n/**\n * Configuration for internationalization settings\n */\nexport type InternationalizationConfig = {\n /**\n * Locales available in the application\n *\n * Default: [Locales.ENGLISH]\n *\n * You can define a list of available locales to support in the application.\n */\n locales: Locale[];\n\n /**\n * Locales required by TypeScript to ensure strong implementations of internationalized content using typescript.\n *\n * Default: []\n *\n * If empty, all locales are required in `strict` mode.\n *\n * Ensure required locales are also defined in the `locales` field.\n */\n requiredLocales: Locale[];\n\n /**\n * Ensure strong implementations of internationalized content using typescript.\n * - If set to \"strict\", the translation `t` function will require each declared locales to be defined. If one locale is missing, or if a locale is not declared in your config, it will throw an error.\n * - If set to \"inclusive\", the translation `t` function will require each declared locales to be defined. If one locale is missing, it will throw a warning. But will accept if a locale is not declared in your config, but exist.\n * - If set to \"loose\", the translation `t` function will accept any existing locale.\n *\n * Default: \"inclusive\"\n */\n strictMode: StrictMode;\n\n /**\n * Default locale of the application for fallback\n *\n * Default: Locales.ENGLISH\n *\n * Used to specify a fallback locale in case no other locale is set.\n */\n defaultLocale: Locale;\n};\n\nexport type CookiesAttributes = {\n /**\n * Type of the storage\n *\n * The type of the storage. It can be 'cookie'.\n */\n type: 'cookie';\n /**\n * Cookie name to store the locale information\n *\n * Default: 'INTLAYER_LOCALE'\n *\n * The cookie key where the locale information is stored.\n */\n name?: string;\n /**\n * Cookie domain to store the locale information\n *\n * Default: undefined\n *\n * Define the domain where the cookie is available. Defaults to\n * the domain of the page where the cookie was created.\n */\n domain?: string;\n /**\n * Cookie path to store the locale information\n *\n * Default: undefined\n *\n * Define the path where the cookie is available. Defaults to '/'\n */\n path?: string;\n /**\n * Cookie secure to store the locale information\n *\n * Default: undefined\n *\n * A Boolean indicating if the cookie transmission requires a\n * secure protocol (https). Defaults to false.\n */\n secure?: boolean;\n /**\n * Cookie httpOnly to store the locale information\n *\n * Default: undefined\n *\n * The cookie httpOnly where the locale information is stored.\n */\n httpOnly?: boolean;\n /**\n * Cookie sameSite to store the locale information\n *\n * Default: undefined\n *\n * Asserts that a cookie must not be sent with cross-origin requests,\n * providing some protection against cross-site request forgery\n * attacks (CSRF)\n */\n sameSite?: 'strict' | 'lax' | 'none';\n\n /**\n * Cookie expires to store the locale information\n *\n * Default: undefined\n *\n * Define when the cookie will be removed. Value can be a Number\n * which will be interpreted as days from time of creation or a\n * Date instance. If omitted, the cookie becomes a session cookie.\n */\n expires?: Date | number | undefined;\n};\n\nexport type StorageAttributes = {\n /**\n * Storage type where the locale is stored\n *\n * Determines whether the locale is persisted in `localStorage` (across sessions)\n * or `sessionStorage` (cleared when the browser session ends) or `header` (from the request header).\n */\n type: 'localStorage' | 'sessionStorage' | 'header';\n\n /**\n * Storage key to store the locale information\n *\n * Default: 'INTLAYER_LOCALE'\n *\n * The key name used in the client storage to save the locale.\n */\n name?: string;\n};\n\n/**\n * Pre-computed storage attributes derived from `RoutingConfig.storage`.\n * Computed at config-build time to avoid repeated processing at runtime.\n */\nexport type ProcessedStorageAttributes = {\n cookies?: {\n name: string;\n attributes: Omit<CookiesAttributes, 'type' | 'name'>;\n }[];\n localStorage?: {\n name: string;\n }[];\n sessionStorage?: {\n name: string;\n }[];\n headers?: {\n name: string;\n }[];\n};\n\nexport type RewriteRule<T extends string = string> = {\n canonical: T;\n localized: StrictModeLocaleMap<string>;\n};\n\nexport type RewriteRules = {\n rules: RewriteRule[];\n};\n\nexport type RewriteObject = {\n /**\n * Used for client-side URL generation (e.g., getLocalizedUrl).\n * Patterns are usually stripped of locale prefixes as the core logic handles prefixing.\n */\n url: RewriteRules;\n /**\n * Used for Next.js middleware / proxy.\n * Patterns usually include [locale] or :locale to match incoming full URLs.\n */\n nextjs?: RewriteRules;\n /**\n * Used for Vite proxy middleware.\n */\n vite?: RewriteRules;\n};\n\n/**\n * Configuration for routing behaviors\n */\nexport type RoutingConfig = {\n /**\n * Rewrite the URLs to a localized path\n *\n * Example:\n * ```ts\n * // ...\n * routing: {\n * rewrite: nextjsRewrite({\n * '[locale]/about': {\n * fr: '[locale]/a-propos'\n * }\n * })\n * }\n * ```\n */\n rewrite?: Record<URLPath, StrictModeLocaleMap<URLPath>> | RewriteObject;\n\n /**\n * URL routing mode for locale handling\n *\n * Controls how locales are represented in application URLs:\n * - 'prefix-no-default': Prefix all locales except the default locale\n * - 'prefix-all': Prefix all locales including the default locale\n * - 'no-prefix': No locale prefixing in URLs\n * - 'search-params': Use search parameters for locale handling\n *\n * Examples with defaultLocale = 'en':\n * - 'prefix-no-default': /dashboard (en) or /fr/dashboard (fr)\n * - 'prefix-all': /en/dashboard (en) or /fr/dashboard (fr)\n * - 'no-prefix': /dashboard (locale handled via other means)\n * - 'search-params': /dashboard?locale=fr\n *\n * Note: This setting do not impact the cookie, or locale storage management.\n *\n * Default: 'prefix-no-default'\n */\n mode: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params';\n\n /**\n * Pre-computed storage attributes derived from the raw `storage` input.\n * Populated at config-build time by `getStorageAttributes(rawStorage)`.\n * Use this at runtime instead of re-processing the raw storage config.\n */\n storage: ProcessedStorageAttributes;\n\n /**\n * Base path for application URLs\n *\n * Default: ''\n *\n * Defines the base path where the application is accessible from.\n */\n basePath?: string;\n\n /**\n * Maps locales to specific domain hostnames for domain-based routing.\n * When a locale is mapped to a domain, URLs generated for that locale\n * will use that domain as the base URL (absolute URL), and no locale\n * prefix will be added to the path (the domain itself implies the locale).\n *\n * Default: undefined\n *\n * Example:\n * ```ts\n * domains: {\n * en: 'intlayer.org',\n * zh: 'intlayer.cn',\n * }\n * ```\n */\n domains?: Partial<Record<LocalesValues, string>>;\n};\n\n/**\n * Raw storage input accepted in the user-facing config (`intlayer.config.ts`).\n * Converted to {@link ProcessedStorageAttributes} during config build.\n *\n * Configuration for storing the locale in the client (localStorage or sessionStorage)\n *\n * If false, the locale will not be stored by the middleware.\n * If true, the locale storage will consider all default values.\n *\n * Default: ['cookie', 'header]\n *\n * Note: Check out GDPR compliance for cookies. See https://gdpr.eu/cookies/\n * Note: useLocale hook includes a prop to disable the cookie storage.\n * Note: Even if storage is disabled, the middleware will still detect the locale from the request header (1- check for `x-intlayer-locale`, 2- fallback to the `accept-language`).\n *\n * Recommendation:\n * - Config both localStorage and cookies for the storage of the locale if you want to support GDPR compliance.\n * - Disable the cookie storage by default on the useLocale hook by waiting for the user to consent to the cookie storage.\n */\nexport type RoutingStorageInput =\n | false\n | 'cookie'\n | 'localStorage'\n | 'sessionStorage'\n | 'header'\n | CookiesAttributes\n | StorageAttributes\n | (\n | 'cookie'\n | 'localStorage'\n | 'sessionStorage'\n | 'header'\n | CookiesAttributes\n | StorageAttributes\n )[];\n\n/**\n * User-facing routing configuration (accepted in `intlayer.config.ts`).\n */\nexport type CustomRoutingConfig = Omit<RoutingConfig, 'storage'> & {\n storage?: RoutingStorageInput;\n};\n\n/**\n * Configuration for intlayer editor\n */\nexport type EditorConfig = {\n /**\n * URL of the application. Used to restrict the origin of the editor for security reasons.\n *\n * Default: ''\n */\n applicationURL?: URLType;\n editorURL?: URLType;\n cmsURL?: URLType;\n backendURL?: URLType;\n\n /**\n * Indicates if the application interact with the visual editor\n *\n * Default: false;\n *\n * If true, the editor will be able to interact with the application.\n * If false, the editor will not be able to interact with the application.\n * In any case, the editor can only be enabled by the visual editor.\n * Disabling the editor for specific environments is a way to enforce the security.\n *\n * Usage:\n * ```js\n * {\n * // Other configurations\n * editor: {\n * enabled: process.env.NODE_ENV !== 'production',\n * }\n * };\n * ```\n *\n */\n enabled: boolean;\n\n /** Port of the editor server\n *\n * Default: 8000\n */\n port: number;\n\n /**\n * clientId and clientSecret allow the intlayer packages to authenticate with the backend using oAuth2 authentication.\n * An access token is use to authenticate the user related to the project.\n * To get an access token, go to https://app.intlayer.org/project and create an account.\n *\n * Default: undefined\n *\n * > Important: The clientId and clientSecret should be kept secret and not shared publicly. Please ensure to keep them in a secure location, such as environment variables.\n */\n clientId?: string;\n\n /**\n * clientId and clientSecret allow the intlayer packages to authenticate with the backend using oAuth2 authentication.\n * An access token is use to authenticate the user related to the project.\n * To get an access token, go to https://app.intlayer.org/project and create an account.\n *\n * Default: undefined\n *\n * > Important: The clientId and clientSecret should be kept secret and not shared publicly. Please ensure to keep them in a secure location, such as environment variables.\n */\n clientSecret?: string;\n\n /**\n * Strategy for prioritizing dictionaries. If a dictionary is both present online and locally, the content will be merge.\n * However, is a field is defined in both dictionary, this setting determines which fields takes the priority over the other.\n *\n * Default: 'local_first'\n *\n * The strategy for prioritizing dictionaries. It can be either 'local_first' or 'distant_first'.\n * - 'local_first': The first dictionary found in the locale is used.\n * - 'distant_first': The first dictionary found in the distant locales is used.\n */\n dictionaryPriorityStrategy: 'local_first' | 'distant_first';\n\n /**\n * Indicates if the application should hot reload the locale configurations when a change is detected.\n * For example, when a new dictionary is added or updated, the application will update the content tu display in the page.\n *\n * Default: true\n */\n liveSync: boolean;\n\n /**\n * Port of the live sync server\n *\n * Default: 4000\n */\n liveSyncPort: number;\n\n /**\n * URL of the live sync server in case of remote live sync server\n *\n * Default: `http://localhost:${liveSyncPort}`\n */\n liveSyncURL: URLType;\n};\n\nexport enum AiProviders {\n OPENAI = 'openai',\n ANTHROPIC = 'anthropic',\n MISTRAL = 'mistral',\n DEEPSEEK = 'deepseek',\n GEMINI = 'gemini',\n OLLAMA = 'ollama',\n OPENROUTER = 'openrouter',\n ALIBABA = 'alibaba',\n FIREWORKS = 'fireworks',\n GROQ = 'groq',\n HUGGINGFACE = 'huggingface',\n BEDROCK = 'bedrock',\n GOOGLEVERTEX = 'googlevertex',\n GOOGLEGENERATIVEAI = 'googlegenerativeai',\n TOGETHERAI = 'togetherai',\n}\n\nexport type CommonAiConfig = {\n /**\n * API model\n *\n * The model to use for the AI features of Intlayer.\n *\n * Example: 'gpt-4o-2024-11-20'\n *\n */\n model?: string;\n\n /**\n * temperature\n *\n * The temperature to use for the AI features of Intlayer.\n * The temperature controls the randomness of the AI's responses.\n * A higher temperature will make the AI more creative and less predictable.\n *\n * Example: 0.1\n */\n temperature?: number;\n\n /**\n * API key\n *\n * Use your own OpenAI API key to use the AI features of Intlayer.\n * If you don't have an OpenAI API key, you can get one for free at https://openai.com/api/.\n *\n */\n apiKey?: string;\n\n /**\n * Application context\n *\n * The context of the application to use for the AI features of Intlayer.\n *\n * Example: 'This is a website for a company that sells products online.'\n */\n applicationContext?: string;\n\n /**\n * Base URL\n *\n * The base URL to use for the AI features of Intlayer.\n *\n * Example: 'https://api.openai.com/v1'\n */\n baseURL?: string;\n\n /**\n * Data serialization\n *\n * The data serialization format to use for the AI features of Intlayer.\n *\n * Default: 'json'\n */\n dataSerialization?: 'json' | 'toon';\n};\n\nexport type AiProviderConfigMap = {};\n\ntype AiConfigUnion = {\n [P in keyof AiProviderConfigMap]: {\n provider: P | `${P}`;\n } & AiProviderConfigMap[P];\n}[keyof AiProviderConfigMap];\n\nexport type AiConfig = CommonAiConfig &\n (AiConfigUnion | { provider?: AiProviders | `${AiProviders}` });\n\nexport type BuildConfig = {\n /**\n * Indicates the mode of the build\n *\n * Default: 'auto'\n *\n * If 'auto', the build will be enabled automatically when the application is built.\n * If 'manual', the build will be set only when the build command is executed.\n *\n * Can be used to disable dictionaries build, for instance when execution on Node.js environment should be avoided.\n */\n mode: 'auto' | 'manual';\n\n /**\n * Indicates if the build should be optimized\n *\n * Default: undefined\n *\n * If true, the build will be optimized.\n * If false, the build will not be optimized.\n *\n * Intlayer will replace all calls of dictionaries to optimize chunking. That way the final bundle will import only the dictionaries that are used.\n * All imports will stay as static import to avoid async processing when loading the dictionaries.\n *\n * Note:\n * - Intlayer will replace all call of `useIntlayer` with the defined mode by the `importMode` option.\n * - Intlayer will replace all call of `getIntlayer` with `getDictionary`.\n * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.\n * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.\n */\n optimize?: boolean;\n\n /**\n * Indicates the mode of import to use for the dictionaries.\n *\n * Available modes:\n * - \"static\": The dictionaries are imported statically.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionary`.\n * - \"dynamic\": The dictionaries are imported dynamically in a synchronous component using the suspense API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * - \"fetch\": The dictionaries are imported dynamically using the live sync API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * Fetch mode will use the live sync API to fetch the dictionaries. If the API call fails, the dictionaries will be imported dynamically as \"dynamic\" mode.\n *\n * Default: \"static\"\n *\n * By default, when a dictionary is loaded, it imports content for all locales as it's imported statically.\n *\n * Note:\n * - Dynamic imports rely on Suspense and may slightly impact rendering performance.\n * - If desabled all locales will be loaded at once, even if they are not used.\n * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.\n * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.\n * - This option will be ignored if `optimize` is disabled.\n * - This option will not impact the `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` and `useDictionaryDynamic` functions. You can still use them to refine you code on manual optimization.\n * - The \"fetch\" allows to sync the dictionaries to the live sync server.\n * - Require static key to work. Example of invalid code: `const navbarKey = \"my-key\"; useIntlayer(navbarKey)`.\n *\n * @deprecated Use `dictionary.importMode` instead.\n */\n importMode?: 'static' | 'dynamic' | 'fetch';\n\n /**\n * Pattern to traverse the code to optimize.\n *\n * Allows to avoid to traverse the code that is not relevant to the optimization.\n * Improve build performance.\n *\n * Default: ['**\\/*.{js,ts,mjs,cjs,jsx,tsx}', '!**\\/node_modules/**']\n *\n * Example: `['src/**\\/*.{ts,tsx}', '../ui-library/**\\/*.{ts,tsx}', '!**\\/node_modules/**']`\n *\n * Note:\n * - This option will be ignored if `optimize` is disabled.\n * - Use glob pattern.\n */\n traversePattern: string[];\n\n /**\n * Output format of the dictionaries\n *\n * Default: ['cjs', 'esm']\n *\n * The output format of the dictionaries. It can be either 'cjs' or 'esm'. Even if dictionaries are written in JSON, entry point to access the dictionaries are generated.\n * This function will use the output format defined using this option.\n * The default format is 'cjs' as it allows better interoperability with other libraries, scripts, and applications. But some build tools, such as Vite, require ES modules.\n */\n outputFormat: ('cjs' | 'esm')[];\n\n /**\n * Indicates if the cache should be enabled\n *\n * Default: true\n *\n * If true, the cache will be enabled.\n * If false, the cache will not be enabled.\n */\n cache: boolean;\n\n /**\n * Require function\n *\n * In some environments, as VSCode extension, the require function should be set relatively to the project root to work properly.\n *\n * Default: undefined\n *\n * If undefined, the require function will be set to the default require function.\n * If defined, the require function will be set to the defined require function.\n *\n * Example:\n * ```js\n * {\n * require: require\n * }\n * ```\n */\n require?: NodeJS.Require;\n\n /**\n * Indicates if the build should check TypeScript types\n *\n * Default: false\n *\n * If true, the build will check TypeScript types and log errors.\n * Note: This can slow down the build.\n */\n checkTypes: boolean;\n};\n\nexport type CompilerConfig = {\n /**\n * Indicates if the compiler should be enabled.\n * If 'build-only', the compiler will be skipped during development mode to speed up start times.\n */\n enabled: boolean | 'build-only';\n\n /**\n * Prefix for the extracted dictionary keys.\n * Default: ''\n */\n dictionaryKeyPrefix?: string;\n\n /**\n * Pattern to traverse the code to optimize.\n *\n * Allows to avoid to traverse the code that is not relevant to the optimization.\n * Improve build performance.\n *\n * Default: ['**\\/*.{ts,tsx,jsx,js,cjs,mjs,svelte,vue}', '!**\\/node_modules/**']\n *\n * Example: `['src/**\\/*.{ts,tsx}', '../ui-library/**\\/*.{ts,tsx}', '!**\\/node_modules/**']`\n *\n * Note:\n * - This option will be ignored if `optimize` is disabled.\n * - Use glob pattern.\n *\n * @deprecated use build.traversePattern instead\n */\n transformPattern?: string | string[];\n\n /**\n * Pattern to exclude from the optimization.\n *\n * Allows to exclude files from the optimization.\n *\n * Default: ['**\\/node_modules/**']\n *\n * Example: `['**\\/node_modules/**', '!**\\/node_modules/react/**']`\n *\n * @deprecated use build.traversePattern instead\n */\n excludePattern?: string | string[];\n\n /**\n * Defines the output files path. Replaces `outputDir`.\n *\n * - `./` paths are resolved relative to the component directory.\n * - `/` paths are resolved relative to the project root (`baseDir`).\n *\n * - Including the `{{locale}}` variable in the path will trigger the generation of separate dictionaries per locale.\n *\n * Example:\n * ```ts\n * {\n * // Create Multilingual .content.ts files close to the component\n * output: ({ fileName, extension }) => `./${fileName}${extension}`,\n *\n * // output: './{{fileName}}{{extension}}', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create centralize per-locale JSON at the root of the project\n * output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,\n *\n * // output: '/locales/{{locale}}/{{key}}.content.json', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create per-locale JSON files with locale-specific output paths\n * output: {\n * en: ({ fileName, locale }) => `${fileName}.${locale}.content.json`,\n * fr: '{{fileName}}.{{locale}}.content.json',\n * es: false, // skip this locale\n * },\n * }\n * ```\n *\n * Variable list:\n * - `fileName`: The name of the file.\n * - `key`: The key of the content.\n * - `locale`: The locale of the content.\n * - `extension`: The extension of the file.\n * - `componentFileName`: The name of the component file.\n * - `componentExtension`: The extension of the component file.\n * - `format`: The format of the dictionary.\n * - `componentFormat`: The format of the component dictionary.\n * - `componentDirPath`: The directory path of the component.\n */\n output?: Fill;\n\n /**\n * Indicates if the metadata should be saved in the file.\n *\n * If true, the compiler will not save the metadata of the dictionaries.\n *\n * If true:\n *\n * ```json\n * {\n * \"key\": \"value\"\n * }\n * ```\n *\n * If false:\n *\n * ```json\n * {\n * \"key\": \"value\",\n * \"content\": {\n * \"key\": \"value\"\n * }\n * }\n * ```\n *\n * Default: false\n *\n * Note: Useful if used with loadJSON plugin\n *\n */\n noMetadata?: boolean;\n\n /**\n * Indicates if the components should be saved after being transformed.\n *\n * If true, the compiler will replace the original files with the transformed files.\n * That way, the compiler can be run only once to transform the app, and then it can be removed.\n *\n * Default: false\n */\n saveComponents: boolean;\n};\n\n/**\n * Custom configuration that can be provided to override default settings\n */\nexport type CustomIntlayerConfig = {\n /**\n * Custom internationalization configuration\n */\n internationalization?: Partial<InternationalizationConfig>;\n\n /**\n * Custom dictionary configuration\n */\n dictionary?: Partial<DictionaryConfig>;\n\n /**\n * Custom routing configuration\n */\n routing?: Partial<CustomRoutingConfig>;\n\n /**\n * Custom content configuration\n */\n content?: Partial<ContentConfig>;\n\n /**\n * Custom editor configuration\n */\n editor?: Partial<EditorConfig>;\n\n /**\n * Custom log configuration\n */\n log?: Partial<LogConfig>;\n\n /**\n * Custom AI configuration\n */\n ai?: Partial<AiConfig>;\n\n /**\n * Custom build configuration\n */\n build?: Partial<BuildConfig>;\n\n /**\n * Custom compiler configuration\n */\n compiler?: Partial<CompilerConfig>;\n\n /**\n * Custom system configuration\n */\n system?: Partial<SystemConfig>;\n\n /**\n * Custom schemas to validate the dictionaries content.\n *\n * Example:\n * ```ts\n * {\n * schemas: {\n * 'my-schema': z.object({\n * title: z.string(),\n * description: z.string(),\n * }),\n * }\n * }\n * ```\n */\n schemas?: Record<string, ConfigSchema>;\n\n /**\n * Custom plugins configuration\n */\n plugins?: (Plugin | Promise<Plugin>)[];\n};\n\nexport type DictionaryConfig = {\n /**\n * Indicate how the dictionary should be filled using AI.\n *\n * Default: `true`\n *\n * - If `true`, will consider the `compiler.output` field.\n * - If `false`, will skip the fill process.\n *\n * - `./` paths are resolved relative to the component directory.\n * - `/` paths are resolved relative to the project root (`baseDir`).\n *\n * - If includes `{{locale}}` variable in the path, will trigger the generation of separate dictionaries per locale.\n *\n * Example:\n * ```ts\n * {\n * // Create Multilingual .content.ts files close to the component\n * fill: ({ fileName, extension }) => `./${fileName}${extension}`,\n *\n * // fill: './{{fileName}}{{extension}}', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create centralize per-locale JSON at the root of the project\n * fill: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,\n *\n * // fill: '/locales/{{locale}}/{{key}}.content.json', // Equivalent using template string\n * }\n * ```\n *\n * ```ts\n * {\n * // Create custom output based on the locale\n * fill: {\n * en: ({ key }) => `/locales/en/${key}.content.json`,\n * fr: '/locales/fr/{{key}}.content.json',\n * es: false,\n * de: true,\n * },\n * }\n * ```\n *\n *\n * Variable list:\n * - `fileName`: The name of the file.\n * - `key`: The key of the content.\n * - `locale`: The locale of the content.\n * - `extension`: The extension of the file.\n * - `componentFileName`: The name of the component file.\n * - `componentExtension`: The extension of the component file.\n * - `format`: The format of the dictionary.\n * - `componentFormat`: The format of the component dictionary.\n * - `componentDirPath`: The directory path of the component.\n */\n fill?: Fill;\n /**\n * The description of the dictionary. Helps to understand the purpose of the dictionary in the editor, and the CMS.\n * The description is also used as context for translations generation.\n *\n * Example:\n * ```ts\n * {\n * \"key\": \"about-page-meta\",\n * \"description\":[\n * \"This dictionary is manage the metadata of the About Page\",\n * \"Consider good practices for SEO:\",\n * \"- The title should be between 50 and 60 characters\",\n * \"- The description should be between 150 and 160 characters\",\n * ].join('\\n'),\n * \"content\": { ... }\n * }\n * ```\n */\n description?: string;\n /**\n * Transform the dictionary in a per-locale dictionary.\n * Each field declared in a per-locale dictionary will be transformed in a translation node.\n * If missing, the dictionary will be treated as a multilingual dictionary.\n * If declared, do not use translation nodes in the content.\n *\n * Example:\n * ```json\n * {\n * \"key\": \"about-page\",\n * \"locale\": \"en\",\n * \"content\": {\n * \"multilingualContent\": \"English content\"\n * }\n * }\n * ```\n */\n locale?: LocalesValues;\n /**\n * Indicators if the content of the dictionary should be automatically transformed.\n * If true, the content will be transformed to the corresponding node type.\n * - Markdown: `### Title` -> `md('### Title')`\n * - HTML: `<div>Title</div>` -> `html('<div>Title</div>')`\n * - Insertion: `Hello {{name}}` -> `insert('Hello {{name}}')`\n *\n * If an object is provided, you can specify which transformations should be enabled.\n *\n * Default: false\n */\n contentAutoTransformation?: ContentAutoTransformation;\n /**\n * Indicates the priority of the dictionary.\n * In the case of conflicts, the dictionary with the highest priority will override the other dictionaries.\n */\n priority?: number;\n /**\n * Indicates the mode of import to use for the dictionaries.\n *\n * Available modes:\n * - \"static\": The dictionaries are imported statically.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionary`.\n * - \"dynamic\": The dictionaries are imported dynamically in a synchronous component using the suspense API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * - \"fetch\": The dictionaries are imported dynamically using the live sync API.\n * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.\n * Fetch mode will use the live sync API to fetch the dictionaries. If the API call fails, the dictionaries will be imported dynamically as \"dynamic\" mode.\n *\n * Default: \"static\"\n *\n * By default, when a dictionary is loaded, it imports content for all locales as it's imported statically.\n *\n * Note:\n * - Dynamic imports rely on Suspense and may slightly impact rendering performance.\n * - If disabled all locales will be loaded at once, even if they are not used.\n * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.\n * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.\n * - This option will be ignored if `optimize` is disabled.\n * - This option will not impact the `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` and `useDictionaryDynamic` functions. You can still use them to refine you code on manual optimization.\n * - The \"fetch\" allows to sync the dictionaries to the live sync server.\n * - Require static key to work. Example of invalid code: `const navbarKey = \"my-key\"; useIntlayer(navbarKey)`.\n */\n importMode?: 'static' | 'dynamic' | 'fetch';\n /**\n * The title of the dictionary. Helps to identify the dictionary in the editor, and the CMS.\n *\n * Example:\n * ```json\n * {\n * \"key\": \"about-page-meta\",\n * \"title\": \"About Page\",\n * \"content\": { ... }\n * }\n * ```\n */\n title?: string;\n /**\n * Helps to categorize the dictionaries. The tags can provide more context and instructions for the dictionary.\n *\n * Example:\n * ```json\n * {\n * \"key\": \"about-page-meta\",\n * \"tags\": [\"metadata\",\"about-page\"]\n * }\n * ```\n */\n tags?: string[];\n /**\n * Indicates the location of the dictionary and controls how it synchronizes with the CMS.\n *\n * - 'hybrid': The dictionary is managed locally and remotely. Once pushed on the CMS, it will be synchronized from the local one. The local dictionary will be pulled from the CMS.\n * - 'remote': The dictionary is managed remotely only. Once pushed on the CMS, it will be detached from the local one. At content load time, the remote dictionary will be pulled from the CMS. A '.content' file with remote location will be ignored.\n * - 'local': The dictionary is managed locally. It will not be pushed to the remote CMS.\n * - 'plugin' (or any custom string): The dictionary is managed by a plugin, or a custom source. When you will try to push it, the system will ask an action to the user.\n */\n location?: DictionaryLocation;\n};\n\n/**\n * Combined configuration for internationalization, middleware, and content\n */\nexport type IntlayerConfig = {\n /**\n * Internationalization configuration\n */\n internationalization: InternationalizationConfig;\n\n /**\n * Default dictionary configuration\n */\n dictionary?: Partial<DictionaryConfig>;\n\n /**\n * Routing configuration\n */\n routing: RoutingConfig;\n\n /**\n * Content configuration\n */\n content: ContentConfig;\n\n /**\n * System configuration\n */\n system: SystemConfig;\n\n /**\n * Intlayer editor configuration\n */\n editor: EditorConfig;\n\n /**\n * Logger configuration\n */\n log: LogConfig;\n\n /**\n * AI configuration\n */\n ai?: Partial<AiConfig>;\n\n /**\n * Build configuration\n */\n build: BuildConfig;\n\n /**\n * Compiler configuration\n */\n compiler: CompilerConfig;\n\n /**\n * Custom schemas to validate the dictionaries content.\n */\n schemas?: Record<string, ConfigSchema>;\n\n /**\n * Plugins configuration\n */\n plugins?: Plugin[];\n};\n\n/**\n * Configuration for content handling\n */\nexport type ContentConfig = {\n /**\n * File extensions of content to look for\n *\n * Default: ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']\n *\n * List of file extensions to scan for content.\n */\n fileExtensions: string[];\n\n /**\n * Directory where the content is stored, relative to the base directory\n *\n * Default: ['.']\n *\n * Derived content directory based on the base configuration.\n *\n * Note: This is used to watch for content files.\n */\n contentDir: string[];\n\n /**\n * Directory where the code is stored, relative to the base directory\n *\n * Default: ['.']\n *\n * Derived code directory based on the base configuration.\n *\n * Note: This is used to watch for code files to transform.\n */\n codeDir: string[];\n\n /**\n * Directories to be excluded from content processing\n *\n * Default: ['node_modules', '.intlayer']\n *\n * A list of directories to exclude from content processing.\n */\n excludedPath: string[];\n\n /**\n * Indicates if Intlayer should watch for changes in the content declaration files in the app to rebuild the related dictionaries.\n *\n * Default: process.env.NODE_ENV === 'development'\n */\n watch: boolean;\n\n /**\n * Command to format the content. When intlayer write your .content files locally, this command will be used to format the content.\n *\n * Example:\n *\n * ```bash\n * npx prettier --write {{file}}\n * ```\n *\n * ```bash\n * bunx biome format {{file}}\n * ```\n *\n * ```bash\n * bun format {{file}}\n * ```\n *\n * ```bash\n * npx eslint --fix {{file}}\n * ```\n *\n * Intlayer will replace the {{file}} with the path of the file to format.\n *\n * Default: undefined\n */\n formatCommand: string | undefined;\n};\n\nexport type SystemConfig = {\n /**\n * Absolute path of the project's base directory\n *\n * Default: process.cwd()\n *\n * The root directory of the project, typically used for resolving other paths.\n */\n baseDir: string;\n\n /**\n * Directory for module augmentation, relative to the base directory\n *\n * Default: .intlayer/types\n *\n * Defines the derived path for module augmentation.\n */\n moduleAugmentationDir: string;\n\n /**\n * Directory where unmerged dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/unmerged_dictionary\n *\n * Specifies the derived path for unmerged dictionaries relative to the result directory.\n */\n unmergedDictionariesDir: string;\n\n /**\n * Directory where remote dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/remote_dictionary\n *\n * Specifies the derived path for remote dictionaries relative to the result directory.\n */\n remoteDictionariesDir: string;\n\n /**\n * Directory where final dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/dictionary\n *\n * Specifies the derived path for dictionaries relative to the result directory.\n */\n dictionariesDir: string;\n\n /**\n * Directory where dynamic dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/dynamic_dictionary\n *\n * Specifies the derived path for dynamic dictionaries relative to the result directory.\n */\n dynamicDictionariesDir: string;\n\n /**\n * Directory where fetch dictionaries are stored, relative to the result directory\n *\n * Default: .intlayer/fetch_dictionary\n *\n * Specifies the derived path for fetch dictionaries relative to the result directory.\n */\n fetchDictionariesDir: string;\n\n /**\n * Directory where dictionary types are stored, relative to the result directory\n *\n * Default: .intlayer/types\n *\n * Specifies the derived path for dictionary types relative to the result directory.\n */\n typesDir: string;\n\n /**\n * Directory where the main files are stored, relative to the result directory\n *\n * Default: .intlayer/main\n *\n * Specifies the derived path for the main files relative to the result directory.\n */\n mainDir: string;\n\n /**\n * Directory where the configuration files are stored, relative to the result directory\n *\n * Default: .intlayer/config\n *\n * Specifies the derived path for the configuration files relative to the result directory.\n */\n configDir: string;\n\n /**\n * Directory where the cache files are stored, relative to the result directory\n *\n * Default: .intlayer/cache\n *\n * Specifies the derived path for the cache files relative to the result directory.\n */\n cacheDir: string;\n\n /**\n * Directory where the temp files are stored, relative to the result directory\n *\n * Default: .intlayer/tmp\n *\n * Specifies the derived path for the tmp files relative to the result directory.\n */\n tempDir: string;\n};\n\nexport type LogFunctions = {\n error?: typeof console.error;\n log?: typeof console.log;\n info?: typeof console.info;\n warn?: typeof console.warn;\n};\n\nexport type LogConfig = {\n /**\n * Indicates if the logger is enabled\n *\n * Default: true\n *\n * If 'default', the logger is enabled and can be used.\n * If 'verbose', the logger will be enabled and can be used, but will log more information.\n * If 'disabled', the logger is disabled and cannot be used.\n */\n mode: 'default' | 'verbose' | 'disabled';\n\n /**\n * Prefix of the logger\n *\n * Default: '[intlayer]'\n *\n * The prefix of the logger.\n */\n prefix: string;\n\n /**\n * Functions to log\n */\n error?: typeof console.error;\n log?: typeof console.log;\n info?: typeof console.info;\n warn?: typeof console.warn;\n debug?: typeof console.debug;\n};\n"],"mappings":";AA4bA,IAAY,cAAL;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;KACD"}
import { ARRAY, BOOLEAN, CONDITION, ENUMERATION, FILE, GENDER, HTML, INSERTION, MARKDOWN, NESTED, NULL, NUMBER, OBJECT, PLUGIN_NODE_TYPES, REACT_NODE, TEXT, TRANSLATION, UNKNOWN, formatNodeType } from "./nodeType.mjs";
import { locales_exports } from "./locales.mjs";
import "./dictionary.mjs";
import * as locales_exports from "./locales.mjs";
import "./plugin.mjs";
import "./filePathPattern.mjs";
import "./keyPath.mjs";
import "./module_augmentation.mjs";
import { ALL_LOCALES } from "./allLocales.mjs";

@@ -4,0 +9,0 @@ import { AiProviders } from "./config.mjs";

@@ -1,915 +0,610 @@

import { __exportAll } from "./_virtual/_rolldown/runtime.mjs";
//#region src/locales.ts
var locales_exports = /* @__PURE__ */ __exportAll({
AFRIKAANS: () => "af",
AFRIKAANS_SOUTH_AFRICA: () => AFRIKAANS_SOUTH_AFRICA,
ALBANIAN: () => "sq",
ALBANIAN_ALBANIA: () => ALBANIAN_ALBANIA,
AMHARIC: () => "am",
AMHARIC_ETHIOPIA: () => AMHARIC_ETHIOPIA,
ARABIC: () => "ar",
ARABIC_ALGERIA: () => ARABIC_ALGERIA,
ARABIC_BAHRAIN: () => ARABIC_BAHRAIN,
ARABIC_CHAD: () => ARABIC_CHAD,
ARABIC_COMOROS: () => ARABIC_COMOROS,
ARABIC_DJIBOUTI: () => ARABIC_DJIBOUTI,
ARABIC_EGYPT: () => ARABIC_EGYPT,
ARABIC_IRAQ: () => ARABIC_IRAQ,
ARABIC_JORDAN: () => ARABIC_JORDAN,
ARABIC_KUWAIT: () => ARABIC_KUWAIT,
ARABIC_LEBANON: () => ARABIC_LEBANON,
ARABIC_LIBYA: () => ARABIC_LIBYA,
ARABIC_MAURITANIA: () => ARABIC_MAURITANIA,
ARABIC_MOROCCO: () => ARABIC_MOROCCO,
ARABIC_OMAN: () => ARABIC_OMAN,
ARABIC_PALESTINE: () => ARABIC_PALESTINE,
ARABIC_QATAR: () => ARABIC_QATAR,
ARABIC_SAUDI_ARABIA: () => ARABIC_SAUDI_ARABIA,
ARABIC_SOMALIA: () => ARABIC_SOMALIA,
ARABIC_SUDAN: () => ARABIC_SUDAN,
ARABIC_SYRIA: () => ARABIC_SYRIA,
ARABIC_TUNISIA: () => ARABIC_TUNISIA,
ARABIC_UNITED_ARAB_EMIRATES: () => ARABIC_UNITED_ARAB_EMIRATES,
ARABIC_YEMEN: () => ARABIC_YEMEN,
ARMENIAN: () => "hy",
ARMENIAN_ARMENIA: () => ARMENIAN_ARMENIA,
AZERI_LATIN: () => "az",
AZERI_LATIN_AZERBAIJAN: () => AZERI_LATIN_AZERBAIJAN,
BASQUE: () => "eu",
BASQUE_SPAIN: () => BASQUE_SPAIN,
BELARUSIAN: () => "be",
BELARUSIAN_BELARUS: () => BELARUSIAN_BELARUS,
BENGALI: () => "bn",
BENGALI_BANGLADESH: () => BENGALI_BANGLADESH,
BENGALI_INDIA: () => BENGALI_INDIA,
BENGALI_MYANMAR: () => BENGALI_MYANMAR,
BOSNIAN: () => "bs",
BOSNIAN_BOSNIA_AND_HERZEGOVINA: () => BOSNIAN_BOSNIA_AND_HERZEGOVINA,
BULGARIAN: () => "bg",
BULGARIAN_BULGARIA: () => BULGARIAN_BULGARIA,
BURMESE: () => "my",
BURMESE_MYANMAR: () => BURMESE_MYANMAR,
CATALAN: () => "ca",
CATALAN_SPAIN: () => CATALAN_SPAIN,
CHINESE: () => "zh",
CHINESE_HONG_KONG: () => CHINESE_HONG_KONG,
CHINESE_MACAU: () => CHINESE_MACAU,
CHINESE_SIMPLIFIED: () => CHINESE_SIMPLIFIED,
CHINESE_SIMPLIFIED_CHINA: () => CHINESE_SIMPLIFIED_CHINA,
CHINESE_SINGAPORE: () => CHINESE_SINGAPORE,
CHINESE_TAIWAN: () => CHINESE_TAIWAN,
CHINESE_TRADITIONAL: () => CHINESE_TRADITIONAL,
CROATIAN: () => "hr",
CROATIAN_BOSNIA_AND_HERZEGOVINA: () => CROATIAN_BOSNIA_AND_HERZEGOVINA,
CROATIAN_CROATIA: () => CROATIAN_CROATIA,
CZECH: () => "cs",
CZECH_CZECH_REPUBLIC: () => CZECH_CZECH_REPUBLIC,
DANISH: () => "da",
DANISH_DENMARK: () => DANISH_DENMARK,
DIVEHI: () => "dv",
DIVEHI_MALDIVES: () => DIVEHI_MALDIVES,
DUTCH: () => "nl",
DUTCH_BELGIUM: () => DUTCH_BELGIUM,
DUTCH_NETHERLANDS: () => DUTCH_NETHERLANDS,
ENGLISH: () => "en",
ENGLISH_AUSTRALIA: () => ENGLISH_AUSTRALIA,
ENGLISH_BELIZE: () => ENGLISH_BELIZE,
ENGLISH_BOTSWANA: () => ENGLISH_BOTSWANA,
ENGLISH_CANADA: () => ENGLISH_CANADA,
ENGLISH_CARIBBEAN: () => ENGLISH_CARIBBEAN,
ENGLISH_GHANA: () => ENGLISH_GHANA,
ENGLISH_HONG_KONG: () => ENGLISH_HONG_KONG,
ENGLISH_INDIA: () => ENGLISH_INDIA,
ENGLISH_IRELAND: () => ENGLISH_IRELAND,
ENGLISH_JAMAICA: () => ENGLISH_JAMAICA,
ENGLISH_KENYA: () => ENGLISH_KENYA,
ENGLISH_MALAYSIA: () => ENGLISH_MALAYSIA,
ENGLISH_NEW_ZEALAND: () => ENGLISH_NEW_ZEALAND,
ENGLISH_NIGERIA: () => ENGLISH_NIGERIA,
ENGLISH_PAKISTAN: () => ENGLISH_PAKISTAN,
ENGLISH_PHILIPPINES: () => ENGLISH_PHILIPPINES,
ENGLISH_SINGAPORE: () => ENGLISH_SINGAPORE,
ENGLISH_SOUTH_AFRICA: () => ENGLISH_SOUTH_AFRICA,
ENGLISH_TANZANIA: () => ENGLISH_TANZANIA,
ENGLISH_TRINIDAD_AND_TOBAGO: () => ENGLISH_TRINIDAD_AND_TOBAGO,
ENGLISH_UGANDA: () => ENGLISH_UGANDA,
ENGLISH_UNITED_KINGDOM: () => ENGLISH_UNITED_KINGDOM,
ENGLISH_UNITED_STATES: () => ENGLISH_UNITED_STATES,
ENGLISH_ZIMBABWE: () => ENGLISH_ZIMBABWE,
ESPERANTO: () => "eo",
ESTONIAN: () => "et",
ESTONIAN_ESTONIA: () => ESTONIAN_ESTONIA,
FAROESE: () => "fo",
FAROESE_FAROE_ISLANDS: () => FAROESE_FAROE_ISLANDS,
FARSI: () => "fa",
FARSI_IRAN: () => FARSI_IRAN,
FINNISH: () => "fi",
FINNISH_FINLAND: () => FINNISH_FINLAND,
FRENCH: () => "fr",
FRENCH_BELGIUM: () => FRENCH_BELGIUM,
FRENCH_CANADA: () => FRENCH_CANADA,
FRENCH_FRANCE: () => FRENCH_FRANCE,
FRENCH_LUXEMBOURG: () => FRENCH_LUXEMBOURG,
FRENCH_PRINCIPALITY_OF_MONACO: () => FRENCH_PRINCIPALITY_OF_MONACO,
FRENCH_SWITZERLAND: () => FRENCH_SWITZERLAND,
FYRO_MACEDONIAN: () => "mk",
FYRO_MACEDONIAN_MACEDONIA: () => FYRO_MACEDONIAN_MACEDONIA,
GALICIAN: () => "gl",
GALICIAN_SPAIN: () => GALICIAN_SPAIN,
GEORGIAN: () => "ka",
GEORGIAN_GEORGIA: () => GEORGIAN_GEORGIA,
GERMAN: () => "de",
GERMAN_AUSTRIA: () => GERMAN_AUSTRIA,
GERMAN_GERMANY: () => GERMAN_GERMANY,
GERMAN_LIECHTENSTEIN: () => GERMAN_LIECHTENSTEIN,
GERMAN_LUXEMBOURG: () => GERMAN_LUXEMBOURG,
GERMAN_SWITZERLAND: () => GERMAN_SWITZERLAND,
GREEK: () => "el",
GREEK_GREECE: () => GREEK_GREECE,
GUJARATI: () => "gu",
GUJARATI_INDIA: () => GUJARATI_INDIA,
HEBREW: () => "he",
HEBREW_ISRAEL: () => HEBREW_ISRAEL,
HINDI: () => "hi",
HINDI_INDIA: () => HINDI_INDIA,
HUNGARIAN: () => "hu",
HUNGARIAN_HUNGARY: () => HUNGARIAN_HUNGARY,
ICELANDIC: () => "is",
ICELANDIC_ICELAND: () => ICELANDIC_ICELAND,
INDONESIAN: () => "id",
INDONESIAN_INDONESIA: () => INDONESIAN_INDONESIA,
IRISH: () => "ga",
IRISH_IRELAND: () => IRISH_IRELAND,
ITALIAN: () => "it",
ITALIAN_ITALY: () => ITALIAN_ITALY,
ITALIAN_SWITZERLAND: () => ITALIAN_SWITZERLAND,
JAPANESE: () => "ja",
JAPANESE_JAPAN: () => JAPANESE_JAPAN,
KANNADA: () => "kn",
KANNADA_INDIA: () => KANNADA_INDIA,
KAZAKH: () => "kk",
KAZAKH_KAZAKHSTAN: () => KAZAKH_KAZAKHSTAN,
KHMER: () => "km",
KHMER_CAMBODIA: () => KHMER_CAMBODIA,
KONKANI: () => "kok",
KONKANI_INDIA: () => KONKANI_INDIA,
KOREAN: () => "ko",
KOREAN_KOREA: () => KOREAN_KOREA,
KURDISH: () => "ku",
KURDISH_TURKEY: () => KURDISH_TURKEY,
KYRGYZ: () => "ky",
KYRGYZ_KYRGYZSTAN: () => KYRGYZ_KYRGYZSTAN,
LAO: () => "lo",
LAO_LAOS: () => LAO_LAOS,
LATVIAN: () => "lv",
LATVIAN_LATVIA: () => LATVIAN_LATVIA,
LITHUANIAN: () => "lt",
LITHUANIAN_LITHUANIA: () => LITHUANIAN_LITHUANIA,
LOWER_SORBIAN: () => "dsb",
LOWER_SORBIAN_GERMANY: () => LOWER_SORBIAN_GERMANY,
MALAGASY_MADAGASCAR: () => MALAGASY_MADAGASCAR,
MALAY: () => "ms",
MALAYALAM: () => "ml",
MALAYALAM_INDIA: () => MALAYALAM_INDIA,
MALAY_BRUNEI_DARUSSALAM: () => MALAY_BRUNEI_DARUSSALAM,
MALAY_MALAYSIA: () => MALAY_MALAYSIA,
MALTESE: () => "mt",
MALTESE_MALTA: () => MALTESE_MALTA,
MAORI: () => "mi",
MAORI_NEW_ZEALAND: () => MAORI_NEW_ZEALAND,
MARATHI: () => "mr",
MARATHI_INDIA: () => MARATHI_INDIA,
MONGOLIAN: () => "mn",
MONGOLIAN_MONGOLIA: () => MONGOLIAN_MONGOLIA,
NEPALI: () => "ne",
NEPALI_NEPAL: () => NEPALI_NEPAL,
NORTHERN_SOTHO: () => "ns",
NORTHERN_SOTHO_SOUTH_AFRICA: () => NORTHERN_SOTHO_SOUTH_AFRICA,
NORWEGIAN: () => "no",
NORWEGIAN_BOKMAL: () => "nb",
NORWEGIAN_BOKMAL_NORWAY: () => NORWEGIAN_BOKMAL_NORWAY,
NORWEGIAN_NYNORSK: () => "nn",
NORWEGIAN_NYNORSK_NORWAY: () => NORWEGIAN_NYNORSK_NORWAY,
PASHTO: () => "ps",
PASHTO_AFGHANISTAN: () => PASHTO_AFGHANISTAN,
POLISH: () => "pl",
POLISH_POLAND: () => POLISH_POLAND,
PORTUGUESE: () => "pt",
PORTUGUESE_BRAZIL: () => PORTUGUESE_BRAZIL,
PORTUGUESE_CAPE_VERDE: () => PORTUGUESE_CAPE_VERDE,
PORTUGUESE_GUINEA_BISSAU: () => PORTUGUESE_GUINEA_BISSAU,
PORTUGUESE_MACAU: () => PORTUGUESE_MACAU,
PORTUGUESE_MOZAMBIQUE: () => PORTUGUESE_MOZAMBIQUE,
PORTUGUESE_PORTUGAL: () => PORTUGUESE_PORTUGAL,
PORTUGUESE_SAO_TOME_AND_PRINCIPE: () => PORTUGUESE_SAO_TOME_AND_PRINCIPE,
PORTUGUESE_TIMOR_LESTE: () => PORTUGUESE_TIMOR_LESTE,
PUNJABI: () => "pa",
PUNJABI_INDIA: () => PUNJABI_INDIA,
QUECHUA: () => "qu",
QUECHUA_BOLIVIA: () => QUECHUA_BOLIVIA,
QUECHUA_ECUADOR: () => QUECHUA_ECUADOR,
QUECHUA_PERU: () => QUECHUA_PERU,
ROMANIAN: () => "ro",
ROMANIAN_MOLDOVA: () => ROMANIAN_MOLDOVA,
ROMANIAN_ROMANIA: () => ROMANIAN_ROMANIA,
ROMANSH: () => "rm",
ROMANSH_SWITZERLAND: () => ROMANSH_SWITZERLAND,
RUSSIAN: () => "ru",
RUSSIAN_MOLDOVA: () => RUSSIAN_MOLDOVA,
RUSSIAN_RUSSIA: () => RUSSIAN_RUSSIA,
SAMI_NORTHERN: () => "se",
SAMI_NORTHERN_FINLAND: () => SAMI_NORTHERN_FINLAND,
SAMI_NORTHERN_NORWAY: () => SAMI_NORTHERN_NORWAY,
SAMI_NORTHERN_SWEDEN: () => SAMI_NORTHERN_SWEDEN,
SANSKRIT: () => "sa",
SANSKRIT_INDIA: () => SANSKRIT_INDIA,
SCOTTISH_GAELIC: () => "gd",
SCOTTISH_GAELIC_UNITED_KINGDOM: () => SCOTTISH_GAELIC_UNITED_KINGDOM,
SERBIAN_CYRILLIC: () => SERBIAN_CYRILLIC,
SERBIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA: () => SERBIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA,
SERBIAN_CYRILLIC_SERBIA: () => SERBIAN_CYRILLIC_SERBIA,
SERBIAN_LATIN: () => "sr",
SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA: () => SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA,
SERBIAN_LATIN_SERBIA_AND_MONTENEGRO: () => SERBIAN_LATIN_SERBIA_AND_MONTENEGRO,
SINHALA: () => "si",
SINHALA_SRI_LANKA: () => SINHALA_SRI_LANKA,
SLOVAK: () => "sk",
SLOVAK_SLOVAKIA: () => SLOVAK_SLOVAKIA,
SLOVENIAN: () => "sl",
SLOVENIAN_SLOVENIA: () => SLOVENIAN_SLOVENIA,
SPANISH: () => "es",
SPANISH_ARGENTINA: () => SPANISH_ARGENTINA,
SPANISH_BOLIVIA: () => SPANISH_BOLIVIA,
SPANISH_CHILE: () => SPANISH_CHILE,
SPANISH_COLOMBIA: () => SPANISH_COLOMBIA,
SPANISH_COSTA_RICA: () => SPANISH_COSTA_RICA,
SPANISH_CUBA: () => SPANISH_CUBA,
SPANISH_DOMINICAN_REPUBLIC: () => SPANISH_DOMINICAN_REPUBLIC,
SPANISH_ECUADOR: () => SPANISH_ECUADOR,
SPANISH_EL_SALVADOR: () => SPANISH_EL_SALVADOR,
SPANISH_GUATEMALA: () => SPANISH_GUATEMALA,
SPANISH_HONDURAS: () => SPANISH_HONDURAS,
SPANISH_MEXICO: () => SPANISH_MEXICO,
SPANISH_NICARAGUA: () => SPANISH_NICARAGUA,
SPANISH_PANAMA: () => SPANISH_PANAMA,
SPANISH_PARAGUAY: () => SPANISH_PARAGUAY,
SPANISH_PERU: () => SPANISH_PERU,
SPANISH_PUERTO_RICO: () => SPANISH_PUERTO_RICO,
SPANISH_SPAIN: () => SPANISH_SPAIN,
SPANISH_UNITED_STATES: () => SPANISH_UNITED_STATES,
SPANISH_URUGUAY: () => SPANISH_URUGUAY,
SPANISH_VENEZUELA: () => SPANISH_VENEZUELA,
SWAHILI: () => "sw",
SWAHILI_KENYA: () => SWAHILI_KENYA,
SWEDISH: () => "sv",
SWEDISH_FINLAND: () => SWEDISH_FINLAND,
SWEDISH_SWEDEN: () => SWEDISH_SWEDEN,
SYRIAC: () => "syr",
SYRIAC_SYRIA: () => SYRIAC_SYRIA,
TAGALOG: () => "tl",
TAGALOG_PHILIPPINES: () => TAGALOG_PHILIPPINES,
TAMIL: () => "ta",
TAMIL_INDIA: () => TAMIL_INDIA,
TATAR: () => "tt",
TATAR_RUSSIA: () => TATAR_RUSSIA,
TELUGU: () => "te",
TELUGU_INDIA: () => TELUGU_INDIA,
THAI: () => "th",
THAI_THAILAND: () => THAI_THAILAND,
TSOGA: () => "ts",
TSWANA: () => "tn",
TSWANA_SOUTH_AFRICA: () => TSWANA_SOUTH_AFRICA,
TURKISH: () => "tr",
TURKISH_TURKEY: () => TURKISH_TURKEY,
UKRAINIAN: () => "uk",
UKRAINIAN_UKRAINE: () => UKRAINIAN_UKRAINE,
UPPER_SORBIAN: () => "hsb",
UPPER_SORBIAN_GERMANY: () => UPPER_SORBIAN_GERMANY,
URDU: () => "ur",
URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN: () => URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN,
UZBEK_LATIN: () => "uz",
UZBEK_LATIN_UZBEKISTAN: () => UZBEK_LATIN_UZBEKISTAN,
VENDA: () => "ve",
VENDA_SOUTH_AFRICA: () => VENDA_SOUTH_AFRICA,
VIETNAMESE: () => "vi",
VIETNAMESE_VIET_NAM: () => VIETNAMESE_VIET_NAM,
WELSH: () => "cy",
WELSH_UNITED_KINGDOM: () => WELSH_UNITED_KINGDOM,
XHOSA: () => "xh",
XHOSA_SOUTH_AFRICA: () => XHOSA_SOUTH_AFRICA,
YIDDISH: () => "yi",
YIDDISH_WORLD: () => YIDDISH_WORLD,
YORUBA: () => "yo",
YORUBA_NIGERIA: () => YORUBA_NIGERIA,
ZULU: () => "zu",
ZULU_SOUTH_AFRICA: () => ZULU_SOUTH_AFRICA
});
/** Afrikaans language */
const AFRIKAANS = "af";
export const AFRIKAANS = "af";
/** Afrikaans language as used in South Africa */
const AFRIKAANS_SOUTH_AFRICA = "af-ZA";
export const AFRIKAANS_SOUTH_AFRICA = "af-ZA";
/** Arabic language */
const ARABIC = "ar";
export const ARABIC = "ar";
/** Arabic language as used in the United Arab Emirates */
const ARABIC_UNITED_ARAB_EMIRATES = "ar-AE";
export const ARABIC_UNITED_ARAB_EMIRATES = "ar-AE";
/** Arabic language as used in Bahrain */
const ARABIC_BAHRAIN = "ar-BH";
export const ARABIC_BAHRAIN = "ar-BH";
/** Arabic language as used in Algeria */
const ARABIC_ALGERIA = "ar-DZ";
export const ARABIC_ALGERIA = "ar-DZ";
/** Arabic language as used in Egypt */
const ARABIC_EGYPT = "ar-EG";
export const ARABIC_EGYPT = "ar-EG";
/** Arabic language as used in Iraq */
const ARABIC_IRAQ = "ar-IQ";
export const ARABIC_IRAQ = "ar-IQ";
/** Arabic language as used in Jordan */
const ARABIC_JORDAN = "ar-JO";
export const ARABIC_JORDAN = "ar-JO";
/** Arabic language as used in Kuwait */
const ARABIC_KUWAIT = "ar-KW";
export const ARABIC_KUWAIT = "ar-KW";
/** Arabic language as used in Lebanon */
const ARABIC_LEBANON = "ar-LB";
export const ARABIC_LEBANON = "ar-LB";
/** Arabic language as used in Libya */
const ARABIC_LIBYA = "ar-LY";
export const ARABIC_LIBYA = "ar-LY";
/** Arabic language as used in Morocco */
const ARABIC_MOROCCO = "ar-MA";
export const ARABIC_MOROCCO = "ar-MA";
/** Arabic language as used in Oman */
const ARABIC_OMAN = "ar-OM";
export const ARABIC_OMAN = "ar-OM";
/** Arabic language as used in Qatar */
const ARABIC_QATAR = "ar-QA";
export const ARABIC_QATAR = "ar-QA";
/** Arabic language as used in Saudi Arabia */
const ARABIC_SAUDI_ARABIA = "ar-SA";
export const ARABIC_SAUDI_ARABIA = "ar-SA";
/** Arabic language as used in Syria */
const ARABIC_SYRIA = "ar-SY";
export const ARABIC_SYRIA = "ar-SY";
/** Arabic language as used in Tunisia */
const ARABIC_TUNISIA = "ar-TN";
export const ARABIC_TUNISIA = "ar-TN";
/** Arabic language as used in Yemen */
const ARABIC_YEMEN = "ar-YE";
export const ARABIC_YEMEN = "ar-YE";
/** Azeri language (Latin script) */
const AZERI_LATIN = "az";
export const AZERI_LATIN = "az";
/** Azeri language (Latin script) as used in Azerbaijan */
const AZERI_LATIN_AZERBAIJAN = "az-AZ";
export const AZERI_LATIN_AZERBAIJAN = "az-AZ";
/** Belarusian language */
const BELARUSIAN = "be";
export const BELARUSIAN = "be";
/** Belarusian language as used in Belarus */
const BELARUSIAN_BELARUS = "be-BY";
export const BELARUSIAN_BELARUS = "be-BY";
/** Bulgarian language */
const BULGARIAN = "bg";
export const BULGARIAN = "bg";
/** Bulgarian language as used in Bulgaria */
const BULGARIAN_BULGARIA = "bg-BG";
export const BULGARIAN_BULGARIA = "bg-BG";
/** Bosnian */
const BOSNIAN = "bs";
export const BOSNIAN = "bs";
/** Bosnian language as used in Bosnia and Herzegovina */
const BOSNIAN_BOSNIA_AND_HERZEGOVINA = "bs-BA";
export const BOSNIAN_BOSNIA_AND_HERZEGOVINA = "bs-BA";
/** Catalan language */
const CATALAN = "ca";
export const CATALAN = "ca";
/** Catalan language as used in Spain */
const CATALAN_SPAIN = "ca-ES";
export const CATALAN_SPAIN = "ca-ES";
/** Czech language */
const CZECH = "cs";
export const CZECH = "cs";
/** Czech language as used in Czech Republic */
const CZECH_CZECH_REPUBLIC = "cs-CZ";
export const CZECH_CZECH_REPUBLIC = "cs-CZ";
/** Welsh language */
const WELSH = "cy";
export const WELSH = "cy";
/** Welsh language as used in the United Kingdom */
const WELSH_UNITED_KINGDOM = "cy-GB";
export const WELSH_UNITED_KINGDOM = "cy-GB";
/** Danish language */
const DANISH = "da";
export const DANISH = "da";
/** Danish language as used in Denmark */
const DANISH_DENMARK = "da-DK";
export const DANISH_DENMARK = "da-DK";
/** German language */
const GERMAN = "de";
export const GERMAN = "de";
/** German language as used in Austria */
const GERMAN_AUSTRIA = "de-AT";
export const GERMAN_AUSTRIA = "de-AT";
/** German language as used in Switzerland */
const GERMAN_SWITZERLAND = "de-CH";
export const GERMAN_SWITZERLAND = "de-CH";
/** German language as used in Germany */
const GERMAN_GERMANY = "de-DE";
export const GERMAN_GERMANY = "de-DE";
/** German language as used in Liechtenstein */
const GERMAN_LIECHTENSTEIN = "de-LI";
export const GERMAN_LIECHTENSTEIN = "de-LI";
/** German language as used in Luxembourg */
const GERMAN_LUXEMBOURG = "de-LU";
export const GERMAN_LUXEMBOURG = "de-LU";
/** Divehi language */
const DIVEHI = "dv";
export const DIVEHI = "dv";
/** Divehi language as used in Maldives */
const DIVEHI_MALDIVES = "dv-MV";
export const DIVEHI_MALDIVES = "dv-MV";
/** Greek language */
const GREEK = "el";
export const GREEK = "el";
/** Greek language as used in Greece */
const GREEK_GREECE = "el-GR";
export const GREEK_GREECE = "el-GR";
/** English language */
const ENGLISH = "en";
export const ENGLISH = "en";
/** English language as used in Australia */
const ENGLISH_AUSTRALIA = "en-AU";
export const ENGLISH_AUSTRALIA = "en-AU";
/** English language as used in Belize */
const ENGLISH_BELIZE = "en-BZ";
export const ENGLISH_BELIZE = "en-BZ";
/** English language as used in Canada */
const ENGLISH_CANADA = "en-CA";
export const ENGLISH_CANADA = "en-CA";
/** English language as used in Caribbean */
const ENGLISH_CARIBBEAN = "en-CB";
export const ENGLISH_CARIBBEAN = "en-CB";
/** English language as used in the United Kingdom */
const ENGLISH_UNITED_KINGDOM = "en-GB";
export const ENGLISH_UNITED_KINGDOM = "en-GB";
/** English language as used in Ireland */
const ENGLISH_IRELAND = "en-IE";
export const ENGLISH_IRELAND = "en-IE";
/** English language as used in Jamaica */
const ENGLISH_JAMAICA = "en-JM";
export const ENGLISH_JAMAICA = "en-JM";
/** English language as used in New Zealand */
const ENGLISH_NEW_ZEALAND = "en-NZ";
export const ENGLISH_NEW_ZEALAND = "en-NZ";
/** English language as used in Philippines */
const ENGLISH_PHILIPPINES = "en-PH";
export const ENGLISH_PHILIPPINES = "en-PH";
/** English language as used in Trinidad and Tobago */
const ENGLISH_TRINIDAD_AND_TOBAGO = "en-TT";
export const ENGLISH_TRINIDAD_AND_TOBAGO = "en-TT";
/** English language as used in the United States */
const ENGLISH_UNITED_STATES = "en-US";
export const ENGLISH_UNITED_STATES = "en-US";
/** English language as used in South Africa */
const ENGLISH_SOUTH_AFRICA = "en-ZA";
export const ENGLISH_SOUTH_AFRICA = "en-ZA";
/** English language as used in Zimbabwe */
const ENGLISH_ZIMBABWE = "en-ZW";
export const ENGLISH_ZIMBABWE = "en-ZW";
/** Esperanto language */
const ESPERANTO = "eo";
export const ESPERANTO = "eo";
/** Spanish language */
const SPANISH = "es";
export const SPANISH = "es";
/** Spanish language as used in Argentina */
const SPANISH_ARGENTINA = "es-AR";
export const SPANISH_ARGENTINA = "es-AR";
/** Spanish language as used in Bolivia */
const SPANISH_BOLIVIA = "es-BO";
export const SPANISH_BOLIVIA = "es-BO";
/** Spanish language as used in Chile */
const SPANISH_CHILE = "es-CL";
export const SPANISH_CHILE = "es-CL";
/** Spanish language as used in Colombia */
const SPANISH_COLOMBIA = "es-CO";
export const SPANISH_COLOMBIA = "es-CO";
/** Spanish language as used in Costa Rica */
const SPANISH_COSTA_RICA = "es-CR";
export const SPANISH_COSTA_RICA = "es-CR";
/** Spanish language as used in Dominican Republic */
const SPANISH_DOMINICAN_REPUBLIC = "es-DO";
export const SPANISH_DOMINICAN_REPUBLIC = "es-DO";
/** Spanish language as used in Ecuador */
const SPANISH_ECUADOR = "es-EC";
export const SPANISH_ECUADOR = "es-EC";
/** Spanish language as used in Spain */
const SPANISH_SPAIN = "es-ES";
export const SPANISH_SPAIN = "es-ES";
/** Spanish language as used in Guatemala */
const SPANISH_GUATEMALA = "es-GT";
export const SPANISH_GUATEMALA = "es-GT";
/** Spanish language as used in Honduras */
const SPANISH_HONDURAS = "es-HN";
export const SPANISH_HONDURAS = "es-HN";
/** Spanish language as used in Mexico */
const SPANISH_MEXICO = "es-MX";
export const SPANISH_MEXICO = "es-MX";
/** Spanish language as used in Nicaragua */
const SPANISH_NICARAGUA = "es-NI";
export const SPANISH_NICARAGUA = "es-NI";
/** Spanish language as used in Panama */
const SPANISH_PANAMA = "es-PA";
export const SPANISH_PANAMA = "es-PA";
/** Spanish language as used in Peru */
const SPANISH_PERU = "es-PE";
export const SPANISH_PERU = "es-PE";
/** Spanish language as used in Puerto Rico */
const SPANISH_PUERTO_RICO = "es-PR";
export const SPANISH_PUERTO_RICO = "es-PR";
/** Spanish language as used in Paraguay */
const SPANISH_PARAGUAY = "es-PY";
export const SPANISH_PARAGUAY = "es-PY";
/** Spanish language as used in El Salvador */
const SPANISH_EL_SALVADOR = "es-SV";
export const SPANISH_EL_SALVADOR = "es-SV";
/** Spanish language as used in Uruguay */
const SPANISH_URUGUAY = "es-UY";
export const SPANISH_URUGUAY = "es-UY";
/** Spanish language as used in Venezuela */
const SPANISH_VENEZUELA = "es-VE";
export const SPANISH_VENEZUELA = "es-VE";
/** Estonian language */
const ESTONIAN = "et";
export const ESTONIAN = "et";
/** Estonian language as used in Estonia */
const ESTONIAN_ESTONIA = "et-EE";
export const ESTONIAN_ESTONIA = "et-EE";
/** Basque language */
const BASQUE = "eu";
export const BASQUE = "eu";
/** Basque language as used in Spain */
const BASQUE_SPAIN = "eu-ES";
export const BASQUE_SPAIN = "eu-ES";
/** Farsi language */
const FARSI = "fa";
export const FARSI = "fa";
/** Farsi language as used in Iran */
const FARSI_IRAN = "fa-IR";
export const FARSI_IRAN = "fa-IR";
/** Finnish language */
const FINNISH = "fi";
export const FINNISH = "fi";
/** Finnish language as used in Finland */
const FINNISH_FINLAND = "fi-FI";
export const FINNISH_FINLAND = "fi-FI";
/** Faroese language */
const FAROESE = "fo";
export const FAROESE = "fo";
/** Faroese language as used in Faroe Islands */
const FAROESE_FAROE_ISLANDS = "fo-FO";
export const FAROESE_FAROE_ISLANDS = "fo-FO";
/** French language */
const FRENCH = "fr";
export const FRENCH = "fr";
/** French language as used in Belgium */
const FRENCH_BELGIUM = "fr-BE";
export const FRENCH_BELGIUM = "fr-BE";
/** French language as used in Canada */
const FRENCH_CANADA = "fr-CA";
export const FRENCH_CANADA = "fr-CA";
/** French language as used in Switzerland */
const FRENCH_SWITZERLAND = "fr-CH";
export const FRENCH_SWITZERLAND = "fr-CH";
/** French language as used in France */
const FRENCH_FRANCE = "fr-FR";
export const FRENCH_FRANCE = "fr-FR";
/** French language as used in Luxembourg */
const FRENCH_LUXEMBOURG = "fr-LU";
export const FRENCH_LUXEMBOURG = "fr-LU";
/** French language as used in the Principality of Monaco */
const FRENCH_PRINCIPALITY_OF_MONACO = "fr-MC";
export const FRENCH_PRINCIPALITY_OF_MONACO = "fr-MC";
/** Irish language */
const IRISH = "ga";
export const IRISH = "ga";
/** Irish language as used in Ireland */
const IRISH_IRELAND = "ga-IE";
export const IRISH_IRELAND = "ga-IE";
/** Scottish Gaelic language */
const SCOTTISH_GAELIC = "gd";
export const SCOTTISH_GAELIC = "gd";
/** Scottish Gaelic language as used in United Kingdom */
const SCOTTISH_GAELIC_UNITED_KINGDOM = "gd-GB";
export const SCOTTISH_GAELIC_UNITED_KINGDOM = "gd-GB";
/** Galician language */
const GALICIAN = "gl";
export const GALICIAN = "gl";
/** Galician language as used in Spain */
const GALICIAN_SPAIN = "gl-ES";
export const GALICIAN_SPAIN = "gl-ES";
/** Gujarati language */
const GUJARATI = "gu";
export const GUJARATI = "gu";
/** Gujarati language as used in India */
const GUJARATI_INDIA = "gu-IN";
export const GUJARATI_INDIA = "gu-IN";
/** Hebrew language */
const HEBREW = "he";
export const HEBREW = "he";
/** Hebrew language as used in Israel */
const HEBREW_ISRAEL = "he-IL";
export const HEBREW_ISRAEL = "he-IL";
/** Hindi language */
const HINDI = "hi";
export const HINDI = "hi";
/** Hindi language as used in India */
const HINDI_INDIA = "hi-IN";
export const HINDI_INDIA = "hi-IN";
/** Croatian language */
const CROATIAN = "hr";
export const CROATIAN = "hr";
/** Croatian language as used in Bosnia and Herzegovina */
const CROATIAN_BOSNIA_AND_HERZEGOVINA = "hr-BA";
export const CROATIAN_BOSNIA_AND_HERZEGOVINA = "hr-BA";
/** Croatian language as used in Croatia */
const CROATIAN_CROATIA = "hr-HR";
export const CROATIAN_CROATIA = "hr-HR";
/** Hungarian language */
const HUNGARIAN = "hu";
export const HUNGARIAN = "hu";
/** Hungarian language as used in Hungary */
const HUNGARIAN_HUNGARY = "hu-HU";
export const HUNGARIAN_HUNGARY = "hu-HU";
/** Armenian language */
const ARMENIAN = "hy";
export const ARMENIAN = "hy";
/** Armenian language as used in Armenia */
const ARMENIAN_ARMENIA = "hy-AM";
export const ARMENIAN_ARMENIA = "hy-AM";
/** Indonesian language */
const INDONESIAN = "id";
export const INDONESIAN = "id";
/** Indonesian language as used in Indonesia */
const INDONESIAN_INDONESIA = "id-ID";
export const INDONESIAN_INDONESIA = "id-ID";
/** Icelandic language */
const ICELANDIC = "is";
export const ICELANDIC = "is";
/** Icelandic language as used in Iceland */
const ICELANDIC_ICELAND = "is-IS";
export const ICELANDIC_ICELAND = "is-IS";
/** Italian language */
const ITALIAN = "it";
export const ITALIAN = "it";
/** Italian language as used in Switzerland */
const ITALIAN_SWITZERLAND = "it-CH";
export const ITALIAN_SWITZERLAND = "it-CH";
/** Italian language as used in Italy */
const ITALIAN_ITALY = "it-IT";
export const ITALIAN_ITALY = "it-IT";
/** Japanese language */
const JAPANESE = "ja";
export const JAPANESE = "ja";
/** Japanese language as used in Japan */
const JAPANESE_JAPAN = "ja-JP";
export const JAPANESE_JAPAN = "ja-JP";
/** Georgian language */
const GEORGIAN = "ka";
export const GEORGIAN = "ka";
/** Georgian language as used in Georgia */
const GEORGIAN_GEORGIA = "ka-GE";
export const GEORGIAN_GEORGIA = "ka-GE";
/** Kazakh language */
const KAZAKH = "kk";
export const KAZAKH = "kk";
/** Kazakh language as used in Kazakhstan */
const KAZAKH_KAZAKHSTAN = "kk-KZ";
export const KAZAKH_KAZAKHSTAN = "kk-KZ";
/** Kannada language */
const KANNADA = "kn";
export const KANNADA = "kn";
/** Kannada language as used in India */
const KANNADA_INDIA = "kn-IN";
export const KANNADA_INDIA = "kn-IN";
/** Korean language */
const KOREAN = "ko";
export const KOREAN = "ko";
/** Korean language as used in Korea */
const KOREAN_KOREA = "ko-KR";
export const KOREAN_KOREA = "ko-KR";
/** Konkani language */
const KONKANI = "kok";
export const KONKANI = "kok";
/** Konkani language as used in India */
const KONKANI_INDIA = "kok-IN";
export const KONKANI_INDIA = "kok-IN";
/** Kurdish language */
const KURDISH = "ku";
export const KURDISH = "ku";
/** Kurdish language as used in Turkey */
const KURDISH_TURKEY = "ku-TR";
export const KURDISH_TURKEY = "ku-TR";
/** Kyrgyz language */
const KYRGYZ = "ky";
export const KYRGYZ = "ky";
/** Kyrgyz language as used in Kyrgyzstan */
const KYRGYZ_KYRGYZSTAN = "ky-KG";
export const KYRGYZ_KYRGYZSTAN = "ky-KG";
/** Lithuanian language */
const LITHUANIAN = "lt";
export const LITHUANIAN = "lt";
/** Lithuanian language as used in Lithuania */
const LITHUANIAN_LITHUANIA = "lt-LT";
export const LITHUANIAN_LITHUANIA = "lt-LT";
/** Latvian language */
const LATVIAN = "lv";
export const LATVIAN = "lv";
/** Latvian language as used in Latvia */
const LATVIAN_LATVIA = "lv-LV";
export const LATVIAN_LATVIA = "lv-LV";
/** Maori language */
const MAORI = "mi";
export const MAORI = "mi";
/** Maori language as used in New Zealand */
const MAORI_NEW_ZEALAND = "mi-NZ";
export const MAORI_NEW_ZEALAND = "mi-NZ";
/** Macedonian language (Former Yugoslav Republic of Macedonia) */
const FYRO_MACEDONIAN = "mk";
export const FYRO_MACEDONIAN = "mk";
/** Macedonian language as used in Macedonia */
const FYRO_MACEDONIAN_MACEDONIA = "mk-MK";
export const FYRO_MACEDONIAN_MACEDONIA = "mk-MK";
/** Mongolian language */
const MONGOLIAN = "mn";
export const MONGOLIAN = "mn";
/** Mongolian language as used in Mongolia */
const MONGOLIAN_MONGOLIA = "mn-MN";
export const MONGOLIAN_MONGOLIA = "mn-MN";
/** Marathi language */
const MARATHI = "mr";
export const MARATHI = "mr";
/** Marathi language as used in India */
const MARATHI_INDIA = "mr-IN";
export const MARATHI_INDIA = "mr-IN";
/** Malay language */
const MALAY = "ms";
export const MALAY = "ms";
/** Malay language as used in Brunei Darussalam */
const MALAY_BRUNEI_DARUSSALAM = "ms-BN";
export const MALAY_BRUNEI_DARUSSALAM = "ms-BN";
/** Malay language as used in Malaysia */
const MALAY_MALAYSIA = "ms-MY";
export const MALAY_MALAYSIA = "ms-MY";
/** Maltese language */
const MALTESE = "mt";
export const MALTESE = "mt";
/** Maltese language as used in Malta */
const MALTESE_MALTA = "mt-MT";
export const MALTESE_MALTA = "mt-MT";
/** Malayalam language */
const MALAYALAM = "ml";
export const MALAYALAM = "ml";
/** Malayalam language as used in India */
const MALAYALAM_INDIA = "ml-IN";
export const MALAYALAM_INDIA = "ml-IN";
/** Norwegian language */
const NORWEGIAN = "no";
export const NORWEGIAN = "no";
/** Norwegian (Bokmål) language */
const NORWEGIAN_BOKMAL = "nb";
export const NORWEGIAN_BOKMAL = "nb";
/** Norwegian (Bokmål) language as used in Norway */
const NORWEGIAN_BOKMAL_NORWAY = "nb-NO";
export const NORWEGIAN_BOKMAL_NORWAY = "nb-NO";
/** Dutch language */
const DUTCH = "nl";
export const DUTCH = "nl";
/** Dutch language as used in Belgium */
const DUTCH_BELGIUM = "nl-BE";
export const DUTCH_BELGIUM = "nl-BE";
/** Dutch language as used in the Netherlands */
const DUTCH_NETHERLANDS = "nl-NL";
export const DUTCH_NETHERLANDS = "nl-NL";
/** Norwegian (Nynorsk) language */
const NORWEGIAN_NYNORSK = "nn";
export const NORWEGIAN_NYNORSK = "nn";
/** Norwegian (Nynorsk) language as used in Norway */
const NORWEGIAN_NYNORSK_NORWAY = "nn-NO";
export const NORWEGIAN_NYNORSK_NORWAY = "nn-NO";
/** Northern Sotho language */
const NORTHERN_SOTHO = "ns";
export const NORTHERN_SOTHO = "ns";
/** Northern Sotho language as used in South Africa */
const NORTHERN_SOTHO_SOUTH_AFRICA = "ns-ZA";
export const NORTHERN_SOTHO_SOUTH_AFRICA = "ns-ZA";
/** Punjabi language */
const PUNJABI = "pa";
export const PUNJABI = "pa";
/** Punjabi language as used in India */
const PUNJABI_INDIA = "pa-IN";
export const PUNJABI_INDIA = "pa-IN";
/** Polish language */
const POLISH = "pl";
export const POLISH = "pl";
/** Polish language as used in Poland */
const POLISH_POLAND = "pl-PL";
export const POLISH_POLAND = "pl-PL";
/** Pashto language */
const PASHTO = "ps";
export const PASHTO = "ps";
/** Pashto language as used in Afghanistan */
const PASHTO_AFGHANISTAN = "ps-AR";
export const PASHTO_AFGHANISTAN = "ps-AR";
/** Portuguese language */
const PORTUGUESE = "pt";
export const PORTUGUESE = "pt";
/** Portuguese language as used in Brazil */
const PORTUGUESE_BRAZIL = "pt-BR";
export const PORTUGUESE_BRAZIL = "pt-BR";
/** Portuguese language as used in Portugal */
const PORTUGUESE_PORTUGAL = "pt-PT";
export const PORTUGUESE_PORTUGAL = "pt-PT";
/** Quechua language */
const QUECHUA = "qu";
export const QUECHUA = "qu";
/** Quechua language as used in Bolivia */
const QUECHUA_BOLIVIA = "qu-BO";
export const QUECHUA_BOLIVIA = "qu-BO";
/** Quechua language as used in Ecuador */
const QUECHUA_ECUADOR = "qu-EC";
export const QUECHUA_ECUADOR = "qu-EC";
/** Quechua language as used in Peru */
const QUECHUA_PERU = "qu-PE";
export const QUECHUA_PERU = "qu-PE";
/** Romanian language */
const ROMANIAN = "ro";
export const ROMANIAN = "ro";
/** Romanian language as used in Romania */
const ROMANIAN_ROMANIA = "ro-RO";
export const ROMANIAN_ROMANIA = "ro-RO";
/** Romanian language as used in Moldova */
const ROMANIAN_MOLDOVA = "ro-MD";
export const ROMANIAN_MOLDOVA = "ro-MD";
/** Romansh language */
const ROMANSH = "rm";
export const ROMANSH = "rm";
/** Romansh language as used in Switzerland */
const ROMANSH_SWITZERLAND = "rm-CH";
export const ROMANSH_SWITZERLAND = "rm-CH";
/** Russian language */
const RUSSIAN = "ru";
export const RUSSIAN = "ru";
/** Russian language as used in Russia */
const RUSSIAN_RUSSIA = "ru-RU";
export const RUSSIAN_RUSSIA = "ru-RU";
/** Russian language as used in Moldova */
const RUSSIAN_MOLDOVA = "ru-MD";
export const RUSSIAN_MOLDOVA = "ru-MD";
/** Sanskrit language */
const SANSKRIT = "sa";
export const SANSKRIT = "sa";
/** Sanskrit language as used in India */
const SANSKRIT_INDIA = "sa-IN";
export const SANSKRIT_INDIA = "sa-IN";
/** Northern Sami language */
const SAMI_NORTHERN = "se";
export const SAMI_NORTHERN = "se";
/** Northern Sami language as used in Finland */
const SAMI_NORTHERN_FINLAND = "se-FI";
export const SAMI_NORTHERN_FINLAND = "se-FI";
/** Northern Sami language as used in Norway */
const SAMI_NORTHERN_NORWAY = "se-NO";
export const SAMI_NORTHERN_NORWAY = "se-NO";
/** Northern Sami language as used in Sweden */
const SAMI_NORTHERN_SWEDEN = "se-SE";
export const SAMI_NORTHERN_SWEDEN = "se-SE";
/** Upper Sorbian language */
const UPPER_SORBIAN = "hsb";
export const UPPER_SORBIAN = "hsb";
/** Upper Sorbian language as used in Germany */
const UPPER_SORBIAN_GERMANY = "hsb-DE";
export const UPPER_SORBIAN_GERMANY = "hsb-DE";
/** Lower Sorbian language */
const LOWER_SORBIAN = "dsb";
export const LOWER_SORBIAN = "dsb";
/** Lower Sorbian language as used in Germany */
const LOWER_SORBIAN_GERMANY = "dsb-DE";
export const LOWER_SORBIAN_GERMANY = "dsb-DE";
/** Slovak language */
const SLOVAK = "sk";
export const SLOVAK = "sk";
/** Slovak language as used in Slovakia */
const SLOVAK_SLOVAKIA = "sk-SK";
export const SLOVAK_SLOVAKIA = "sk-SK";
/** Slovenian language */
const SLOVENIAN = "sl";
export const SLOVENIAN = "sl";
/** Slovenian language as used in Slovenia */
const SLOVENIAN_SLOVENIA = "sl-SI";
export const SLOVENIAN_SLOVENIA = "sl-SI";
/** Albanian language */
const ALBANIAN = "sq";
export const ALBANIAN = "sq";
/** Albanian language as used in Albania */
const ALBANIAN_ALBANIA = "sq-AL";
export const ALBANIAN_ALBANIA = "sq-AL";
/** Servian language (Latin script) */
const SERBIAN_LATIN = "sr";
export const SERBIAN_LATIN = "sr";
/** Serbian language (Latin script) as used in Bosnia and Herzegovina */
const SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA = "sr-BA";
export const SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA = "sr-BA";
/** Serbian language (Latin script) as used in Serbia and Montenegro */
const SERBIAN_LATIN_SERBIA_AND_MONTENEGRO = "sr-SP";
export const SERBIAN_LATIN_SERBIA_AND_MONTENEGRO = "sr-SP";
/** Swedish language */
const SWEDISH = "sv";
export const SWEDISH = "sv";
/** Swedish language as used in Finland */
const SWEDISH_FINLAND = "sv-FI";
export const SWEDISH_FINLAND = "sv-FI";
/** Swedish language as used in Sweden */
const SWEDISH_SWEDEN = "sv-SE";
export const SWEDISH_SWEDEN = "sv-SE";
/** Swahili language */
const SWAHILI = "sw";
export const SWAHILI = "sw";
/** Swahili language as used in Kenya */
const SWAHILI_KENYA = "sw-KE";
export const SWAHILI_KENYA = "sw-KE";
/** Syriac language */
const SYRIAC = "syr";
export const SYRIAC = "syr";
/** Syriac language as used in Syria */
const SYRIAC_SYRIA = "syr-SY";
export const SYRIAC_SYRIA = "syr-SY";
/** Tamil language */
const TAMIL = "ta";
export const TAMIL = "ta";
/** Tamil language as used in India */
const TAMIL_INDIA = "ta-IN";
export const TAMIL_INDIA = "ta-IN";
/** Telugu language */
const TELUGU = "te";
export const TELUGU = "te";
/** Telugu language as used in India */
const TELUGU_INDIA = "te-IN";
export const TELUGU_INDIA = "te-IN";
/** Thai language */
const THAI = "th";
export const THAI = "th";
/** Thai language as used in Thailand */
const THAI_THAILAND = "th-TH";
export const THAI_THAILAND = "th-TH";
/** Tagalog language */
const TAGALOG = "tl";
export const TAGALOG = "tl";
/** Tagalog language as used in Philippines */
const TAGALOG_PHILIPPINES = "tl-PH";
export const TAGALOG_PHILIPPINES = "tl-PH";
/** Tswana language */
const TSWANA = "tn";
export const TSWANA = "tn";
/** Tswana language as used in South Africa */
const TSWANA_SOUTH_AFRICA = "tn-ZA";
export const TSWANA_SOUTH_AFRICA = "tn-ZA";
/** Turkish language */
const TURKISH = "tr";
export const TURKISH = "tr";
/** Turkish language as used in Turkey */
const TURKISH_TURKEY = "tr-TR";
export const TURKISH_TURKEY = "tr-TR";
/** Tatar language */
const TATAR = "tt";
export const TATAR = "tt";
/** Tatar language as used in Russia */
const TATAR_RUSSIA = "tt-RU";
export const TATAR_RUSSIA = "tt-RU";
/** Tsonga language */
const TSOGA = "ts";
export const TSOGA = "ts";
/** Ukrainian language */
const UKRAINIAN = "uk";
export const UKRAINIAN = "uk";
/** Ukrainian language as used in Ukraine */
const UKRAINIAN_UKRAINE = "uk-UA";
export const UKRAINIAN_UKRAINE = "uk-UA";
/** Urdu language */
const URDU = "ur";
export const URDU = "ur";
/** Urdu language as used in Islamic Republic of Pakistan */
const URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN = "ur-PK";
export const URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN = "ur-PK";
/** Uzbek language (Latin script) */
const UZBEK_LATIN = "uz";
export const UZBEK_LATIN = "uz";
/** Uzbek language (Latin script) as used in Uzbekistan */
const UZBEK_LATIN_UZBEKISTAN = "uz-UZ";
export const UZBEK_LATIN_UZBEKISTAN = "uz-UZ";
/** Vietnamese language */
const VIETNAMESE = "vi";
export const VIETNAMESE = "vi";
/** Vietnamese language as used in Viet Nam */
const VIETNAMESE_VIET_NAM = "vi-VN";
export const VIETNAMESE_VIET_NAM = "vi-VN";
/** Venda language */
const VENDA = "ve";
export const VENDA = "ve";
/** Venda language as used in South Africa */
const VENDA_SOUTH_AFRICA = "ve-ZA";
export const VENDA_SOUTH_AFRICA = "ve-ZA";
/** Xhosa language */
const XHOSA = "xh";
export const XHOSA = "xh";
/** Xhosa language as used in South Africa */
const XHOSA_SOUTH_AFRICA = "xh-ZA";
export const XHOSA_SOUTH_AFRICA = "xh-ZA";
/** Chinese language */
const CHINESE = "zh";
export const CHINESE = "zh";
/** Chinese language (Simplified) */
const CHINESE_SIMPLIFIED = "zh-Hans";
export const CHINESE_SIMPLIFIED = "zh-Hans";
/** Chinese language (Simplified, People's Republic of China) */
const CHINESE_SIMPLIFIED_CHINA = "zh-CN";
export const CHINESE_SIMPLIFIED_CHINA = "zh-CN";
/** Chinese language as used in Hong Kong */
const CHINESE_HONG_KONG = "zh-HK";
export const CHINESE_HONG_KONG = "zh-HK";
/** Chinese language as used in Macau */
const CHINESE_MACAU = "zh-MO";
export const CHINESE_MACAU = "zh-MO";
/** Chinese language as used in Singapore */
const CHINESE_SINGAPORE = "zh-SG";
export const CHINESE_SINGAPORE = "zh-SG";
/** Chinese language (Traditional script) */
const CHINESE_TRADITIONAL = "zh-Hant";
export const CHINESE_TRADITIONAL = "zh-Hant";
/** Zulu language */
const ZULU = "zu";
export const ZULU = "zu";
/** Zulu language as used in South Africa */
const ZULU_SOUTH_AFRICA = "zu-ZA";
export const ZULU_SOUTH_AFRICA = "zu-ZA";
/** Bengali / Bangla */
const BENGALI = "bn";
export const BENGALI = "bn";
/** Bengali / Bangla as used in Bangladesh */
const BENGALI_BANGLADESH = "bn-BD";
export const BENGALI_BANGLADESH = "bn-BD";
/** Bengali / Bangla as used in India */
const BENGALI_INDIA = "bn-IN";
export const BENGALI_INDIA = "bn-IN";
/** Bengali / Bangla as used in Myanmar */
const BENGALI_MYANMAR = "bn-MM";
export const BENGALI_MYANMAR = "bn-MM";
/** Burmese language */
const BURMESE = "my";
export const BURMESE = "my";
/** Burmese language as used in Myanmar */
const BURMESE_MYANMAR = "my-MM";
export const BURMESE_MYANMAR = "my-MM";
/** Khmer language */
const KHMER = "km";
export const KHMER = "km";
/** Khmer language as used in Cambodia */
const KHMER_CAMBODIA = "km-KH";
export const KHMER_CAMBODIA = "km-KH";
/** Lao language */
const LAO = "lo";
export const LAO = "lo";
/** Lao language as used in Laos */
const LAO_LAOS = "lo-LA";
export const LAO_LAOS = "lo-LA";
/** Yoruba language */
const YORUBA = "yo";
export const YORUBA = "yo";
/** Yoruba language as used in Nigeria */
const YORUBA_NIGERIA = "yo-NG";
export const YORUBA_NIGERIA = "yo-NG";
/** Yiddish language */
const YIDDISH = "yi";
export const YIDDISH = "yi";
/** Yiddish language as used in worldwide Jewish communities */
const YIDDISH_WORLD = "yi-001";
export const YIDDISH_WORLD = "yi-001";
/** Amharic language */
const AMHARIC = "am";
export const AMHARIC = "am";
/** Amharic language as used in Ethiopia */
const AMHARIC_ETHIOPIA = "am-ET";
export const AMHARIC_ETHIOPIA = "am-ET";
/** Nepali language */
const NEPALI = "ne";
export const NEPALI = "ne";
/** Nepali language as used in Nepal */
const NEPALI_NEPAL = "ne-NP";
export const NEPALI_NEPAL = "ne-NP";
/** Sinhala language */
const SINHALA = "si";
export const SINHALA = "si";
/** Sinhala language as used in Sri Lanka */
const SINHALA_SRI_LANKA = "si-LK";
export const SINHALA_SRI_LANKA = "si-LK";
/** Serbian language (Cyrillic script) */
const SERBIAN_CYRILLIC = "sr-Cyrl";
export const SERBIAN_CYRILLIC = "sr-Cyrl";
/** Serbian language (Cyrillic script) as used in Serbia */
const SERBIAN_CYRILLIC_SERBIA = "sr-RS";
export const SERBIAN_CYRILLIC_SERBIA = "sr-RS";
/** Serbian language (Cyrillic script) as used in Bosnia and Herzegovina */
const SERBIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA = "sr-BA";
export const SERBIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA = "sr-BA";
/** English language as used in India */
const ENGLISH_INDIA = "en-IN";
export const ENGLISH_INDIA = "en-IN";
/** English language as used in Singapore */
const ENGLISH_SINGAPORE = "en-SG";
export const ENGLISH_SINGAPORE = "en-SG";
/** English language as used in Hong Kong */
const ENGLISH_HONG_KONG = "en-HK";
export const ENGLISH_HONG_KONG = "en-HK";
/** English language as used in Nigeria */
const ENGLISH_NIGERIA = "en-NG";
export const ENGLISH_NIGERIA = "en-NG";
/** English language as used in Pakistan */
const ENGLISH_PAKISTAN = "en-PK";
export const ENGLISH_PAKISTAN = "en-PK";
/** English language as used in Malaysia */
const ENGLISH_MALAYSIA = "en-MY";
export const ENGLISH_MALAYSIA = "en-MY";
/** English language as used in Botswana */
const ENGLISH_BOTSWANA = "en-BW";
export const ENGLISH_BOTSWANA = "en-BW";
/** English language as used in Kenya */
const ENGLISH_KENYA = "en-KE";
export const ENGLISH_KENYA = "en-KE";
/** English language as used in Tanzania */
const ENGLISH_TANZANIA = "en-TZ";
export const ENGLISH_TANZANIA = "en-TZ";
/** English language as used in Ghana */
const ENGLISH_GHANA = "en-GH";
export const ENGLISH_GHANA = "en-GH";
/** English language as used in Uganda */
const ENGLISH_UGANDA = "en-UG";
export const ENGLISH_UGANDA = "en-UG";
/** Spanish language as used in Cuba */
const SPANISH_CUBA = "es-CU";
export const SPANISH_CUBA = "es-CU";
/** Spanish language as used in United States */
const SPANISH_UNITED_STATES = "es-US";
export const SPANISH_UNITED_STATES = "es-US";
/** Portuguese language as used in Guinea-Bissau */
const PORTUGUESE_GUINEA_BISSAU = "pt-GW";
export const PORTUGUESE_GUINEA_BISSAU = "pt-GW";
/** Portuguese language as used in Mozambique */
const PORTUGUESE_MOZAMBIQUE = "pt-MZ";
export const PORTUGUESE_MOZAMBIQUE = "pt-MZ";
/** Portuguese language as used in São Tomé and Príncipe */
const PORTUGUESE_SAO_TOME_AND_PRINCIPE = "pt-ST";
export const PORTUGUESE_SAO_TOME_AND_PRINCIPE = "pt-ST";
/** Portuguese language as used in Cape Verde */
const PORTUGUESE_CAPE_VERDE = "pt-CV";
export const PORTUGUESE_CAPE_VERDE = "pt-CV";
/** Portuguese language as used in Timor-Leste */
const PORTUGUESE_TIMOR_LESTE = "pt-TL";
export const PORTUGUESE_TIMOR_LESTE = "pt-TL";
/** Portuguese language as used in Macau */
const PORTUGUESE_MACAU = "pt-MO";
export const PORTUGUESE_MACAU = "pt-MO";
/** Chinese language as used in Taiwan */
const CHINESE_TAIWAN = "zh-TW";
export const CHINESE_TAIWAN = "zh-TW";
/** Arabic language as used in Mauritania */
const ARABIC_MAURITANIA = "ar-MR";
export const ARABIC_MAURITANIA = "ar-MR";
/** Arabic language as used in Palestinian Territories */
const ARABIC_PALESTINE = "ar-PS";
export const ARABIC_PALESTINE = "ar-PS";
/** Arabic language as used in Sudan */
const ARABIC_SUDAN = "ar-SD";
export const ARABIC_SUDAN = "ar-SD";
/** Arabic language as used in Djibouti */
const ARABIC_DJIBOUTI = "ar-DJ";
export const ARABIC_DJIBOUTI = "ar-DJ";
/** Arabic language as used in Somalia */
const ARABIC_SOMALIA = "ar-SO";
export const ARABIC_SOMALIA = "ar-SO";
/** Arabic language as used in Chad */
const ARABIC_CHAD = "ar-TD";
export const ARABIC_CHAD = "ar-TD";
/** Arabic language as used in Comoros */
const ARABIC_COMOROS = "ar-KM";
export const ARABIC_COMOROS = "ar-KM";
/** Malagasy language as used in Madagascar */
const MALAGASY_MADAGASCAR = "mg-MG";
export const MALAGASY_MADAGASCAR = "mg-MG";
//#endregion
export { AFRIKAANS, AFRIKAANS_SOUTH_AFRICA, ALBANIAN, ALBANIAN_ALBANIA, AMHARIC, AMHARIC_ETHIOPIA, ARABIC, ARABIC_ALGERIA, ARABIC_BAHRAIN, ARABIC_CHAD, ARABIC_COMOROS, ARABIC_DJIBOUTI, ARABIC_EGYPT, ARABIC_IRAQ, ARABIC_JORDAN, ARABIC_KUWAIT, ARABIC_LEBANON, ARABIC_LIBYA, ARABIC_MAURITANIA, ARABIC_MOROCCO, ARABIC_OMAN, ARABIC_PALESTINE, ARABIC_QATAR, ARABIC_SAUDI_ARABIA, ARABIC_SOMALIA, ARABIC_SUDAN, ARABIC_SYRIA, ARABIC_TUNISIA, ARABIC_UNITED_ARAB_EMIRATES, ARABIC_YEMEN, ARMENIAN, ARMENIAN_ARMENIA, AZERI_LATIN, AZERI_LATIN_AZERBAIJAN, BASQUE, BASQUE_SPAIN, BELARUSIAN, BELARUSIAN_BELARUS, BENGALI, BENGALI_BANGLADESH, BENGALI_INDIA, BENGALI_MYANMAR, BOSNIAN, BOSNIAN_BOSNIA_AND_HERZEGOVINA, BULGARIAN, BULGARIAN_BULGARIA, BURMESE, BURMESE_MYANMAR, CATALAN, CATALAN_SPAIN, CHINESE, CHINESE_HONG_KONG, CHINESE_MACAU, CHINESE_SIMPLIFIED, CHINESE_SIMPLIFIED_CHINA, CHINESE_SINGAPORE, CHINESE_TAIWAN, CHINESE_TRADITIONAL, CROATIAN, CROATIAN_BOSNIA_AND_HERZEGOVINA, CROATIAN_CROATIA, CZECH, CZECH_CZECH_REPUBLIC, DANISH, DANISH_DENMARK, DIVEHI, DIVEHI_MALDIVES, DUTCH, DUTCH_BELGIUM, DUTCH_NETHERLANDS, ENGLISH, ENGLISH_AUSTRALIA, ENGLISH_BELIZE, ENGLISH_BOTSWANA, ENGLISH_CANADA, ENGLISH_CARIBBEAN, ENGLISH_GHANA, ENGLISH_HONG_KONG, ENGLISH_INDIA, ENGLISH_IRELAND, ENGLISH_JAMAICA, ENGLISH_KENYA, ENGLISH_MALAYSIA, ENGLISH_NEW_ZEALAND, ENGLISH_NIGERIA, ENGLISH_PAKISTAN, ENGLISH_PHILIPPINES, ENGLISH_SINGAPORE, ENGLISH_SOUTH_AFRICA, ENGLISH_TANZANIA, ENGLISH_TRINIDAD_AND_TOBAGO, ENGLISH_UGANDA, ENGLISH_UNITED_KINGDOM, ENGLISH_UNITED_STATES, ENGLISH_ZIMBABWE, ESPERANTO, ESTONIAN, ESTONIAN_ESTONIA, FAROESE, FAROESE_FAROE_ISLANDS, FARSI, FARSI_IRAN, FINNISH, FINNISH_FINLAND, FRENCH, FRENCH_BELGIUM, FRENCH_CANADA, FRENCH_FRANCE, FRENCH_LUXEMBOURG, FRENCH_PRINCIPALITY_OF_MONACO, FRENCH_SWITZERLAND, FYRO_MACEDONIAN, FYRO_MACEDONIAN_MACEDONIA, GALICIAN, GALICIAN_SPAIN, GEORGIAN, GEORGIAN_GEORGIA, GERMAN, GERMAN_AUSTRIA, GERMAN_GERMANY, GERMAN_LIECHTENSTEIN, GERMAN_LUXEMBOURG, GERMAN_SWITZERLAND, GREEK, GREEK_GREECE, GUJARATI, GUJARATI_INDIA, HEBREW, HEBREW_ISRAEL, HINDI, HINDI_INDIA, HUNGARIAN, HUNGARIAN_HUNGARY, ICELANDIC, ICELANDIC_ICELAND, INDONESIAN, INDONESIAN_INDONESIA, IRISH, IRISH_IRELAND, ITALIAN, ITALIAN_ITALY, ITALIAN_SWITZERLAND, JAPANESE, JAPANESE_JAPAN, KANNADA, KANNADA_INDIA, KAZAKH, KAZAKH_KAZAKHSTAN, KHMER, KHMER_CAMBODIA, KONKANI, KONKANI_INDIA, KOREAN, KOREAN_KOREA, KURDISH, KURDISH_TURKEY, KYRGYZ, KYRGYZ_KYRGYZSTAN, LAO, LAO_LAOS, LATVIAN, LATVIAN_LATVIA, LITHUANIAN, LITHUANIAN_LITHUANIA, LOWER_SORBIAN, LOWER_SORBIAN_GERMANY, MALAGASY_MADAGASCAR, MALAY, MALAYALAM, MALAYALAM_INDIA, MALAY_BRUNEI_DARUSSALAM, MALAY_MALAYSIA, MALTESE, MALTESE_MALTA, MAORI, MAORI_NEW_ZEALAND, MARATHI, MARATHI_INDIA, MONGOLIAN, MONGOLIAN_MONGOLIA, NEPALI, NEPALI_NEPAL, NORTHERN_SOTHO, NORTHERN_SOTHO_SOUTH_AFRICA, NORWEGIAN, NORWEGIAN_BOKMAL, NORWEGIAN_BOKMAL_NORWAY, NORWEGIAN_NYNORSK, NORWEGIAN_NYNORSK_NORWAY, PASHTO, PASHTO_AFGHANISTAN, POLISH, POLISH_POLAND, PORTUGUESE, PORTUGUESE_BRAZIL, PORTUGUESE_CAPE_VERDE, PORTUGUESE_GUINEA_BISSAU, PORTUGUESE_MACAU, PORTUGUESE_MOZAMBIQUE, PORTUGUESE_PORTUGAL, PORTUGUESE_SAO_TOME_AND_PRINCIPE, PORTUGUESE_TIMOR_LESTE, PUNJABI, PUNJABI_INDIA, QUECHUA, QUECHUA_BOLIVIA, QUECHUA_ECUADOR, QUECHUA_PERU, ROMANIAN, ROMANIAN_MOLDOVA, ROMANIAN_ROMANIA, ROMANSH, ROMANSH_SWITZERLAND, RUSSIAN, RUSSIAN_MOLDOVA, RUSSIAN_RUSSIA, SAMI_NORTHERN, SAMI_NORTHERN_FINLAND, SAMI_NORTHERN_NORWAY, SAMI_NORTHERN_SWEDEN, SANSKRIT, SANSKRIT_INDIA, SCOTTISH_GAELIC, SCOTTISH_GAELIC_UNITED_KINGDOM, SERBIAN_CYRILLIC, SERBIAN_CYRILLIC_BOSNIA_AND_HERZEGOVINA, SERBIAN_CYRILLIC_SERBIA, SERBIAN_LATIN, SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA, SERBIAN_LATIN_SERBIA_AND_MONTENEGRO, SINHALA, SINHALA_SRI_LANKA, SLOVAK, SLOVAK_SLOVAKIA, SLOVENIAN, SLOVENIAN_SLOVENIA, SPANISH, SPANISH_ARGENTINA, SPANISH_BOLIVIA, SPANISH_CHILE, SPANISH_COLOMBIA, SPANISH_COSTA_RICA, SPANISH_CUBA, SPANISH_DOMINICAN_REPUBLIC, SPANISH_ECUADOR, SPANISH_EL_SALVADOR, SPANISH_GUATEMALA, SPANISH_HONDURAS, SPANISH_MEXICO, SPANISH_NICARAGUA, SPANISH_PANAMA, SPANISH_PARAGUAY, SPANISH_PERU, SPANISH_PUERTO_RICO, SPANISH_SPAIN, SPANISH_UNITED_STATES, SPANISH_URUGUAY, SPANISH_VENEZUELA, SWAHILI, SWAHILI_KENYA, SWEDISH, SWEDISH_FINLAND, SWEDISH_SWEDEN, SYRIAC, SYRIAC_SYRIA, TAGALOG, TAGALOG_PHILIPPINES, TAMIL, TAMIL_INDIA, TATAR, TATAR_RUSSIA, TELUGU, TELUGU_INDIA, THAI, THAI_THAILAND, TSOGA, TSWANA, TSWANA_SOUTH_AFRICA, TURKISH, TURKISH_TURKEY, UKRAINIAN, UKRAINIAN_UKRAINE, UPPER_SORBIAN, UPPER_SORBIAN_GERMANY, URDU, URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN, UZBEK_LATIN, UZBEK_LATIN_UZBEKISTAN, VENDA, VENDA_SOUTH_AFRICA, VIETNAMESE, VIETNAMESE_VIET_NAM, WELSH, WELSH_UNITED_KINGDOM, XHOSA, XHOSA_SOUTH_AFRICA, YIDDISH, YIDDISH_WORLD, YORUBA, YORUBA_NIGERIA, ZULU, ZULU_SOUTH_AFRICA, locales_exports };
//# sourceMappingURL=locales.mjs.map

@@ -11,3 +11,3 @@ import { Locale } from "./allLocales.js";

*/
type Schema = {
type ConfigSchema = {
safeParse(data: unknown): {

@@ -772,3 +772,3 @@ success: boolean;

*/
schemas?: Record<string, Schema>;
schemas?: Record<string, ConfigSchema>;
/**

@@ -1000,3 +1000,3 @@ * Custom plugins configuration

*/
schemas?: Record<string, Schema>;
schemas?: Record<string, ConfigSchema>;
/**

@@ -1213,3 +1213,3 @@ * Plugins configuration

//#endregion
export { AiConfig, AiProviderConfigMap, AiProviders, BuildConfig, CommonAiConfig, CompilerConfig, ContentConfig, CookiesAttributes, CustomIntlayerConfig, CustomRoutingConfig, DictionaryConfig, EditorConfig, InternationalizationConfig, IntlayerConfig, LogConfig, LogFunctions, ProcessedStorageAttributes, RewriteObject, RewriteRule, RewriteRules, RoutingConfig, RoutingStorageInput, Schema, StorageAttributes, StrictMode, SystemConfig, URLType };
export { AiConfig, AiProviderConfigMap, AiProviders, BuildConfig, CommonAiConfig, CompilerConfig, ConfigSchema, ContentConfig, CookiesAttributes, CustomIntlayerConfig, CustomRoutingConfig, DictionaryConfig, EditorConfig, InternationalizationConfig, IntlayerConfig, LogConfig, LogFunctions, ProcessedStorageAttributes, RewriteObject, RewriteRule, RewriteRules, RoutingConfig, RoutingStorageInput, StorageAttributes, StrictMode, SystemConfig, URLType };
//# sourceMappingURL=config.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"config.d.ts","names":[],"sources":["../../src/config.ts"],"mappings":"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"}
{"version":3,"file":"config.d.ts","names":[],"sources":["../../src/config.ts"],"mappings":"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"}
import { locales_d_exports } from "./locales.js";
import { ALL_LOCALES, Locale } from "./allLocales.js";
import { DeclaredLocales, DictionaryKeys, DictionaryRegistry, DictionaryRegistryContent, DictionaryRegistryElement, LocalesValues, RequiredLocales, ResolvedEditor, SchemaKeys, StrictModeLocaleMap } from "./module_augmentation.js";
import { DeclaredLocales, DictionaryKeys, DictionaryRegistry, DictionaryRegistryContent, DictionaryRegistryElement, LocalesValues, RequiredLocales, ResolvedEditor, Schema, SchemaKeys, StrictModeLocaleMap } from "./module_augmentation.js";
import { FilePathPattern, FilePathPatternContext, FilePathPatternFunction } from "./filePathPattern.js";

@@ -8,4 +8,4 @@ import { ARRAY, BOOLEAN, CONDITION, ENUMERATION, FILE, GENDER, HTML, INSERTION, MARKDOWN, NESTED, NULL, NUMBER, NodeType, OBJECT, PLUGIN_NODE_TYPES, REACT_NODE, TEXT, TRANSLATION, TypedNodeModel, UNKNOWN, formatNodeType } from "./nodeType.js";

import { MergedDictionaryOutput, MergedDictionaryResult, Plugin, UnmergedDictionaryOutput, UnmergedDictionaryResult } from "./plugin.js";
import { AiConfig, AiProviderConfigMap, AiProviders, BuildConfig, CommonAiConfig, CompilerConfig, ContentConfig, CookiesAttributes, CustomIntlayerConfig, CustomRoutingConfig, DictionaryConfig, EditorConfig, InternationalizationConfig, IntlayerConfig, LogConfig, LogFunctions, ProcessedStorageAttributes, RewriteObject, RewriteRule, RewriteRules, RoutingConfig, RoutingStorageInput, Schema, StorageAttributes, StrictMode, SystemConfig, URLType } from "./config.js";
import { AiConfig, AiProviderConfigMap, AiProviders, BuildConfig, CommonAiConfig, CompilerConfig, ConfigSchema, ContentConfig, CookiesAttributes, CustomIntlayerConfig, CustomRoutingConfig, DictionaryConfig, EditorConfig, InternationalizationConfig, IntlayerConfig, LogConfig, LogFunctions, ProcessedStorageAttributes, RewriteObject, RewriteRule, RewriteRules, RoutingConfig, RoutingStorageInput, StorageAttributes, StrictMode, SystemConfig, URLType } from "./config.js";
import { ArrayNode, ConditionNode, EnumerationNode, FileNode, GenderNode, HTMLNode, InsertionNode, KeyPath, MarkdownNode, NestedNode, ObjectNode, ReactNode, TranslationNode } from "./keyPath.js";
export { ALL_LOCALES, ARRAY, AiConfig, AiProviderConfigMap, AiProviders, ArrayNode, BOOLEAN, BuildConfig, CONDITION, CommonAiConfig, CompilerConfig, ConditionNode, ContentAutoTransformation, ContentConfig, ContentNode, CookiesAttributes, CustomIntlayerConfig, CustomRoutingConfig, DeclaredLocales, Dictionary, DictionaryConfig, DictionaryFormat, DictionaryId, DictionaryKey, DictionaryKeys, DictionaryLocation, DictionaryRegistry, DictionaryRegistryContent, DictionaryRegistryElement, ENUMERATION, EditorConfig, EnumerationNode, FILE, FileNode, FilePathPattern, FilePathPatternContext, FilePathPatternFunction, Fill, GENDER, GenderNode, GetSubPath, HTML, HTMLNode, INSERTION, ImportMode, InsertionNode, InternationalizationConfig, IntlayerConfig, KeyPath, LocalDictionaryId, Locale, locales_d_exports as Locales, LocalesValues, LogConfig, LogFunctions, MARKDOWN, MarkdownNode, MergedDictionaryOutput, MergedDictionaryResult, NESTED, NULL, NUMBER, NestedNode, NodeType, OBJECT, ObjectNode, PLUGIN_NODE_TYPES, Plugin, ProcessedStorageAttributes, REACT_NODE, ReactNode, RequiredLocales, ResolvedEditor, RewriteObject, RewriteRule, RewriteRules, RoutingConfig, RoutingStorageInput, SchemaKeys, StorageAttributes, StrictMode, StrictModeLocaleMap, SystemConfig, TEXT, TRANSLATION, TranslationNode, TypedNode, TypedNodeModel, UNKNOWN, URLType, UnmergedDictionaryOutput, UnmergedDictionaryResult, formatNodeType };
export { ALL_LOCALES, ARRAY, AiConfig, AiProviderConfigMap, AiProviders, ArrayNode, BOOLEAN, BuildConfig, CONDITION, CommonAiConfig, CompilerConfig, ConditionNode, ConfigSchema, ContentAutoTransformation, ContentConfig, ContentNode, CookiesAttributes, CustomIntlayerConfig, CustomRoutingConfig, DeclaredLocales, Dictionary, DictionaryConfig, DictionaryFormat, DictionaryId, DictionaryKey, DictionaryKeys, DictionaryLocation, DictionaryRegistry, DictionaryRegistryContent, DictionaryRegistryElement, ENUMERATION, EditorConfig, EnumerationNode, FILE, FileNode, FilePathPattern, FilePathPatternContext, FilePathPatternFunction, Fill, GENDER, GenderNode, GetSubPath, HTML, HTMLNode, INSERTION, ImportMode, InsertionNode, InternationalizationConfig, IntlayerConfig, KeyPath, LocalDictionaryId, Locale, locales_d_exports as Locales, LocalesValues, LogConfig, LogFunctions, MARKDOWN, MarkdownNode, MergedDictionaryOutput, MergedDictionaryResult, NESTED, NULL, NUMBER, NestedNode, NodeType, OBJECT, ObjectNode, PLUGIN_NODE_TYPES, Plugin, ProcessedStorageAttributes, REACT_NODE, ReactNode, RequiredLocales, ResolvedEditor, RewriteObject, RewriteRule, RewriteRules, RoutingConfig, RoutingStorageInput, Schema, SchemaKeys, StorageAttributes, StrictMode, StrictModeLocaleMap, SystemConfig, TEXT, TRANSLATION, TranslationNode, TypedNode, TypedNodeModel, UNKNOWN, URLType, UnmergedDictionaryOutput, UnmergedDictionaryResult, formatNodeType };
{
"name": "@intlayer/types",
"version": "8.6.8",
"version": "8.6.9",
"private": false,

@@ -38,49 +38,47 @@ "description": "Retrieve Intlayer configurations and manage environment variables for both server-side and client-side environments.",

},
"./config": {
"types": "./dist/types/config.d.ts",
"require": "./dist/cjs/config.cjs",
"import": "./dist/esm/config.mjs"
"./locales": {
"types": "./dist/types/locales.d.ts",
"require": "./dist/esm/locales.mjs",
"import": "./dist/esm/locales.mjs"
},
"./filePathPattern": {
"types": "./dist/types/filePathPattern.d.ts",
"require": "./dist/cjs/filePathPattern.cjs",
"import": "./dist/esm/filePathPattern.mjs"
"./allLocales": {
"types": "./dist/types/allLocales.d.ts",
"require": "./dist/esm/allLocales.mjs",
"import": "./dist/esm/allLocales.mjs"
},
"./keyPath": {
"types": "./dist/types/keyPath.d.ts",
"require": "./dist/esm/keyPath.mjs",
"import": "./dist/esm/keyPath.mjs"
},
"./dictionary": {
"types": "./dist/types/dictionary.d.ts",
"require": "./dist/cjs/dictionary.cjs",
"require": "./dist/esm/dictionary.mjs",
"import": "./dist/esm/dictionary.mjs"
},
"./keyPath": {
"types": "./dist/types/keyPath.d.ts",
"require": "./dist/cjs/keyPath.cjs",
"import": "./dist/esm/keyPath.mjs"
},
"./module_augmentation": {
"types": "./dist/types/module_augmentation.d.ts",
"require": "./dist/cjs/module_augmentation.cjs",
"require": "./dist/esm/module_augmentation.mjs",
"import": "./dist/esm/module_augmentation.mjs"
},
"./nodeType": {
"types": "./dist/types/nodeType.d.ts",
"require": "./dist/cjs/nodeType.cjs",
"import": "./dist/esm/nodeType.mjs"
"./config": {
"types": "./dist/types/config.d.ts",
"require": "./dist/esm/config.mjs",
"import": "./dist/esm/config.mjs"
},
"./plugin": {
"types": "./dist/types/plugin.d.ts",
"require": "./dist/cjs/plugin.cjs",
"require": "./dist/esm/plugin.mjs",
"import": "./dist/esm/plugin.mjs"
},
"./locales": {
"types": "./dist/types/locales.d.ts",
"require": "./dist/cjs/locales.cjs",
"import": "./dist/esm/locales.mjs"
"./nodeType": {
"types": "./dist/types/nodeType.d.ts",
"require": "./dist/esm/nodeType.mjs",
"import": "./dist/esm/nodeType.mjs"
},
"./allLocales": {
"types": "./dist/types/allLocales.d.ts",
"require": "./dist/cjs/allLocales.cjs",
"import": "./dist/esm/allLocales.mjs"
},
"./package.json": "./package.json"
},
"main": "./dist/cjs/index.cjs",
"module": "./dist/esm/index.mjs",
"types": "./dist/types/index.d.ts",
"typesVersions": {

@@ -87,0 +85,0 @@ "*": {