@intlayer/config 8.12.0 → 8.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,8 +2,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
3
  const require_utils_alias = require('../utils/alias.cjs');
4
4
  const require_configFile_getConfiguration = require('../configFile/getConfiguration.cjs');
5
- const require_envVars_envVars = require('../envVars/envVars.cjs');
6
5
  const require_bundle_logBundle = require('./logBundle.cjs');
6
+ const require_envVars_envVars = require('../envVars/envVars.cjs');
7
7
  let node_path = require("node:path");
8
8
  let node_fs_promises = require("node:fs/promises");
9
9
  let _intlayer_types_package_json = require("@intlayer/types/package.json");
@@ -27,7 +27,8 @@ const cookiesAttributesSchema = zod.default.object({
27
27
  "lax",
28
28
  "none"
29
29
  ]).optional(),
30
- expires: zod.default.union([zod.default.date(), zod.default.number()]).optional()
30
+ expires: zod.default.union([zod.default.date(), zod.default.number()]).optional(),
31
+ maxAge: zod.default.number().optional()
31
32
  });
32
33
  const storageAttributesSchema = zod.default.object({
33
34
  type: zod.default.enum([
@@ -1 +1 @@
1
- {"version":3,"file":"configurationSchema.cjs","names":["z","AiProviders"],"sources":["../../../src/configFile/configurationSchema.ts"],"sourcesContent":["import { AiProviders } from '@intlayer/types/config';\nimport z from 'zod';\n\nexport const internationalizationSchema = z.object({\n locales: z.array(z.string()).min(1),\n requiredLocales: z.array(z.string()).optional(),\n strictMode: z.enum(['strict', 'inclusive', 'loose']).optional(),\n defaultLocale: z.string().optional(),\n});\n\nexport const cookiesAttributesSchema = z.object({\n type: z.literal('cookie'),\n name: z.string().optional(),\n domain: z.string().optional(),\n path: z.string().optional(),\n secure: z.boolean().optional(),\n httpOnly: z.boolean().optional(),\n sameSite: z.enum(['strict', 'lax', 'none']).optional(),\n expires: z.union([z.date(), z.number()]).optional(),\n});\n\nexport const storageAttributesSchema = z.object({\n type: z.enum(['localStorage', 'sessionStorage', 'header']),\n name: z.string().optional(),\n});\n\nexport const storageSchema = z.union([\n z.literal(false),\n z.enum(['cookie', 'localStorage', 'sessionStorage', 'header']),\n cookiesAttributesSchema,\n storageAttributesSchema,\n z.array(\n z.union([\n z.enum(['cookie', 'localStorage', 'sessionStorage', 'header']),\n cookiesAttributesSchema,\n storageAttributesSchema,\n ])\n ),\n]);\n\nexport const rewriteRuleSchema = z.object({\n canonical: z.string(),\n localized: z.record(z.string(), z.string()),\n});\n\nexport const rewriteRulesSchema = z.object({\n rules: z.array(rewriteRuleSchema),\n});\n\nexport const rewriteObjectSchema = z.object({\n url: rewriteRulesSchema,\n nextjs: rewriteRulesSchema.optional(),\n vite: rewriteRulesSchema.optional(),\n});\n\nexport const routingSchema = z.object({\n rewrite: z\n .union([\n z.record(z.string(), z.record(z.string(), z.string())),\n rewriteObjectSchema,\n ])\n .optional(),\n mode: z\n .enum(['prefix-no-default', 'prefix-all', 'no-prefix', 'search-params'])\n .optional(),\n storage: storageSchema.optional(),\n basePath: z.string().optional(),\n domains: z.record(z.string(), z.string()).optional(),\n});\n\nexport const systemSchema = z.object({\n baseDir: z.string().optional(),\n moduleAugmentationDir: z.string().optional(),\n unmergedDictionariesDir: z.string().optional(),\n remoteDictionariesDir: z.string().optional(),\n dictionariesDir: z.string().optional(),\n dynamicDictionariesDir: z.string().optional(),\n fetchDictionariesDir: z.string().optional(),\n typesDir: z.string().optional(),\n mainDir: z.string().optional(),\n configDir: z.string().optional(),\n cacheDir: z.string().optional(),\n tempDir: z.string().optional(),\n});\n\nexport const contentSchema = z.object({\n fileExtensions: z.array(z.string()).optional(),\n contentDir: z.array(z.string()).optional(),\n codeDir: z.array(z.string()).optional(),\n excludedPath: z.array(z.string()).optional(),\n watch: z.boolean().optional(),\n formatCommand: z.string().optional(),\n});\n\nexport const editorSchema = z.object({\n applicationURL: z.union([z.url(), z.literal('')]).optional(),\n editorURL: z.union([z.url(), z.literal('')]).optional(),\n cmsURL: z.union([z.url(), z.literal('')]).optional(),\n backendURL: z.union([z.url(), z.literal('')]).optional(),\n port: z.number().int().positive().max(65535).optional(),\n enabled: z.boolean().optional(),\n clientId: z.string().optional(),\n clientSecret: z.string().optional(),\n dictionaryPriorityStrategy: z\n .enum(['local_first', 'distant_first'])\n .optional(),\n liveSync: z.boolean().optional(),\n liveSyncPort: z.number().int().positive().max(65535).optional(),\n liveSyncURL: z.union([z.url(), z.literal('')]).optional(),\n});\n\nexport const logSchema = z.object({\n mode: z.enum(['default', 'verbose', 'disabled']).optional(),\n prefix: z.string().optional(),\n error: z.function().optional(),\n log: z.function().optional(),\n info: z.function().optional(),\n warn: z.function().optional(),\n});\n\nexport const aiSchema = z.object({\n provider: z.enum(AiProviders).optional(),\n apiKey: z.string().optional(),\n model: z.string().optional(),\n temperature: z.number().min(0).max(2).optional(),\n applicationContext: z.string().optional(),\n baseURL: z.url().optional(),\n dataSerialization: z.enum(['json', 'toon']).optional(),\n});\n\nexport const buildSchema = z.object({\n mode: z.enum(['auto', 'manual']).optional(),\n optimize: z.boolean().optional(),\n importMode: z.enum(['static', 'dynamic', 'fetch']).optional(),\n traversePattern: z.array(z.string()).optional(),\n outputFormat: z.array(z.enum(['cjs', 'esm'])).optional(),\n cache: z.boolean().optional(),\n require: z.unknown().optional(),\n checkTypes: z.boolean().optional(),\n});\n\nexport const compilerSchema = z.object({\n enabled: z.union([z.boolean(), z.literal('build-only')]).optional(),\n dictionaryKeyPrefix: z.string().optional(),\n transformPattern: z.union([z.string(), z.array(z.string())]).optional(),\n excludePattern: z.union([z.string(), z.array(z.string())]).optional(),\n output: z.unknown().optional(),\n noMetadata: z.boolean().optional(),\n saveComponents: z.boolean().optional(),\n});\n\nexport const dictionarySchema = z.object({\n fill: z.unknown().optional(),\n contentAutoTransformation: z\n .union([\n z.boolean(),\n z.object({\n markdown: z.boolean().optional(),\n html: z.boolean().optional(),\n insertion: z.boolean().optional(),\n }),\n ])\n .optional(),\n location: z.string().optional(),\n locale: z.string().optional(),\n title: z.string().optional(),\n});\n\nexport const intlayerConfigSchema = z.object({\n internationalization: internationalizationSchema.optional(),\n routing: routingSchema.optional(),\n content: contentSchema.optional(),\n system: systemSchema.optional(),\n editor: editorSchema.optional(),\n log: logSchema.optional(),\n ai: aiSchema.optional(),\n build: buildSchema.optional(),\n compiler: compilerSchema.optional(),\n dictionary: dictionarySchema.optional(),\n plugins: z.array(z.unknown()).optional(),\n schemas: z.record(z.string(), z.unknown()).optional(),\n metadata: z\n .object({\n name: z.string().optional(),\n version: z.string().optional(),\n doc: z.string().optional(),\n })\n .optional(),\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"configurationSchema.cjs","names":["z","AiProviders"],"sources":["../../../src/configFile/configurationSchema.ts"],"sourcesContent":["import { AiProviders } from '@intlayer/types/config';\nimport z from 'zod';\n\nexport const internationalizationSchema = z.object({\n locales: z.array(z.string()).min(1),\n requiredLocales: z.array(z.string()).optional(),\n strictMode: z.enum(['strict', 'inclusive', 'loose']).optional(),\n defaultLocale: z.string().optional(),\n});\n\nexport const cookiesAttributesSchema = z.object({\n type: z.literal('cookie'),\n name: z.string().optional(),\n domain: z.string().optional(),\n path: z.string().optional(),\n secure: z.boolean().optional(),\n httpOnly: z.boolean().optional(),\n sameSite: z.enum(['strict', 'lax', 'none']).optional(),\n expires: z.union([z.date(), z.number()]).optional(),\n maxAge: z.number().optional(),\n});\n\nexport const storageAttributesSchema = z.object({\n type: z.enum(['localStorage', 'sessionStorage', 'header']),\n name: z.string().optional(),\n});\n\nexport const storageSchema = z.union([\n z.literal(false),\n z.enum(['cookie', 'localStorage', 'sessionStorage', 'header']),\n cookiesAttributesSchema,\n storageAttributesSchema,\n z.array(\n z.union([\n z.enum(['cookie', 'localStorage', 'sessionStorage', 'header']),\n cookiesAttributesSchema,\n storageAttributesSchema,\n ])\n ),\n]);\n\nexport const rewriteRuleSchema = z.object({\n canonical: z.string(),\n localized: z.record(z.string(), z.string()),\n});\n\nexport const rewriteRulesSchema = z.object({\n rules: z.array(rewriteRuleSchema),\n});\n\nexport const rewriteObjectSchema = z.object({\n url: rewriteRulesSchema,\n nextjs: rewriteRulesSchema.optional(),\n vite: rewriteRulesSchema.optional(),\n});\n\nexport const routingSchema = z.object({\n rewrite: z\n .union([\n z.record(z.string(), z.record(z.string(), z.string())),\n rewriteObjectSchema,\n ])\n .optional(),\n mode: z\n .enum(['prefix-no-default', 'prefix-all', 'no-prefix', 'search-params'])\n .optional(),\n storage: storageSchema.optional(),\n basePath: z.string().optional(),\n domains: z.record(z.string(), z.string()).optional(),\n});\n\nexport const systemSchema = z.object({\n baseDir: z.string().optional(),\n moduleAugmentationDir: z.string().optional(),\n unmergedDictionariesDir: z.string().optional(),\n remoteDictionariesDir: z.string().optional(),\n dictionariesDir: z.string().optional(),\n dynamicDictionariesDir: z.string().optional(),\n fetchDictionariesDir: z.string().optional(),\n typesDir: z.string().optional(),\n mainDir: z.string().optional(),\n configDir: z.string().optional(),\n cacheDir: z.string().optional(),\n tempDir: z.string().optional(),\n});\n\nexport const contentSchema = z.object({\n fileExtensions: z.array(z.string()).optional(),\n contentDir: z.array(z.string()).optional(),\n codeDir: z.array(z.string()).optional(),\n excludedPath: z.array(z.string()).optional(),\n watch: z.boolean().optional(),\n formatCommand: z.string().optional(),\n});\n\nexport const editorSchema = z.object({\n applicationURL: z.union([z.url(), z.literal('')]).optional(),\n editorURL: z.union([z.url(), z.literal('')]).optional(),\n cmsURL: z.union([z.url(), z.literal('')]).optional(),\n backendURL: z.union([z.url(), z.literal('')]).optional(),\n port: z.number().int().positive().max(65535).optional(),\n enabled: z.boolean().optional(),\n clientId: z.string().optional(),\n clientSecret: z.string().optional(),\n dictionaryPriorityStrategy: z\n .enum(['local_first', 'distant_first'])\n .optional(),\n liveSync: z.boolean().optional(),\n liveSyncPort: z.number().int().positive().max(65535).optional(),\n liveSyncURL: z.union([z.url(), z.literal('')]).optional(),\n});\n\nexport const logSchema = z.object({\n mode: z.enum(['default', 'verbose', 'disabled']).optional(),\n prefix: z.string().optional(),\n error: z.function().optional(),\n log: z.function().optional(),\n info: z.function().optional(),\n warn: z.function().optional(),\n});\n\nexport const aiSchema = z.object({\n provider: z.enum(AiProviders).optional(),\n apiKey: z.string().optional(),\n model: z.string().optional(),\n temperature: z.number().min(0).max(2).optional(),\n applicationContext: z.string().optional(),\n baseURL: z.url().optional(),\n dataSerialization: z.enum(['json', 'toon']).optional(),\n});\n\nexport const buildSchema = z.object({\n mode: z.enum(['auto', 'manual']).optional(),\n optimize: z.boolean().optional(),\n importMode: z.enum(['static', 'dynamic', 'fetch']).optional(),\n traversePattern: z.array(z.string()).optional(),\n outputFormat: z.array(z.enum(['cjs', 'esm'])).optional(),\n cache: z.boolean().optional(),\n require: z.unknown().optional(),\n checkTypes: z.boolean().optional(),\n});\n\nexport const compilerSchema = z.object({\n enabled: z.union([z.boolean(), z.literal('build-only')]).optional(),\n dictionaryKeyPrefix: z.string().optional(),\n transformPattern: z.union([z.string(), z.array(z.string())]).optional(),\n excludePattern: z.union([z.string(), z.array(z.string())]).optional(),\n output: z.unknown().optional(),\n noMetadata: z.boolean().optional(),\n saveComponents: z.boolean().optional(),\n});\n\nexport const dictionarySchema = z.object({\n fill: z.unknown().optional(),\n contentAutoTransformation: z\n .union([\n z.boolean(),\n z.object({\n markdown: z.boolean().optional(),\n html: z.boolean().optional(),\n insertion: z.boolean().optional(),\n }),\n ])\n .optional(),\n location: z.string().optional(),\n locale: z.string().optional(),\n title: z.string().optional(),\n});\n\nexport const intlayerConfigSchema = z.object({\n internationalization: internationalizationSchema.optional(),\n routing: routingSchema.optional(),\n content: contentSchema.optional(),\n system: systemSchema.optional(),\n editor: editorSchema.optional(),\n log: logSchema.optional(),\n ai: aiSchema.optional(),\n build: buildSchema.optional(),\n compiler: compilerSchema.optional(),\n dictionary: dictionarySchema.optional(),\n plugins: z.array(z.unknown()).optional(),\n schemas: z.record(z.string(), z.unknown()).optional(),\n metadata: z\n .object({\n name: z.string().optional(),\n version: z.string().optional(),\n doc: z.string().optional(),\n })\n .optional(),\n});\n"],"mappings":"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"}
@@ -3,12 +3,13 @@ const require_defaultValues_routing = require('../defaultValues/routing.cjs');
3
3
 
4
4
  //#region src/utils/getStorageAttributes.ts
5
5
  const createCookieEntry = (options) => {
6
- const { name, path, expires, domain, secure, sameSite, httpOnly } = options ?? {};
6
+ const { name, path = "/", expires, maxAge, domain, secure, sameSite, httpOnly } = options ?? {};
7
7
  return {
8
8
  name: name ?? "INTLAYER_LOCALE",
9
9
  attributes: {
10
10
  path,
11
11
  expires,
12
+ maxAge,
12
13
  domain,
13
14
  secure,
14
15
  sameSite,
@@ -1 +1 @@
1
- {"version":3,"file":"getStorageAttributes.cjs","names":[],"sources":["../../../src/utils/getStorageAttributes.ts"],"sourcesContent":["import type {\n CookiesAttributes,\n ProcessedStorageAttributes,\n RoutingStorageInput,\n StorageAttributes,\n} from '@intlayer/types/config';\nimport {\n COOKIE_NAME,\n HEADER_NAME,\n LOCALE_STORAGE_NAME,\n} from '../defaultValues/routing';\n\n// ============================================================================\n// Types\n// ============================================================================\n\ntype CookieEntry = {\n name: string;\n attributes: Omit<CookiesAttributes, 'type' | 'name'>;\n};\n\ntype WebStorageEntry = {\n name: string;\n};\n\ntype HeaderEntry = {\n name: string;\n};\n\ntype StorageEntry =\n | 'cookie'\n | 'localStorage'\n | 'sessionStorage'\n | 'header'\n | CookiesAttributes\n | StorageAttributes;\n\n// ============================================================================\n// Helper Functions\n// ============================================================================\n\nconst createCookieEntry = (\n options?: Partial<CookiesAttributes>\n): CookieEntry => {\n const { name, path, expires, domain, secure, sameSite, httpOnly } =\n options ?? {};\n return {\n name: name ?? COOKIE_NAME,\n attributes: { path, expires, domain, secure, sameSite, httpOnly },\n };\n};\n\nconst createWebStorageEntry = (\n options?: Partial<StorageAttributes>\n): WebStorageEntry => ({\n name: options?.name ?? LOCALE_STORAGE_NAME,\n});\n\nconst createHeaderEntry = (\n options?: Partial<StorageAttributes>\n): HeaderEntry => ({\n name: options?.name ?? HEADER_NAME,\n});\n\nconst isCookieEntry = (entry: unknown): boolean => {\n if (typeof entry !== 'object' || entry === null) return false;\n const e = entry as Record<string, unknown>;\n return (\n e['type'] === 'cookie' ||\n 'sameSite' in e ||\n 'httpOnly' in e ||\n 'secure' in e\n );\n};\n\nconst isStorageType = (\n value: string\n): value is 'cookie' | 'localStorage' | 'sessionStorage' | 'header' =>\n value === 'cookie' ||\n value === 'localStorage' ||\n value === 'sessionStorage' ||\n value === 'header';\n\n// ============================================================================\n// Main Function\n// ============================================================================\n\nconst processStorageEntry = (\n entry: StorageEntry\n): Partial<ProcessedStorageAttributes> => {\n if (typeof entry === 'string') {\n if (!isStorageType(entry)) {\n return { cookies: [], localStorage: [], sessionStorage: [], headers: [] };\n }\n if (entry === 'cookie') return { cookies: [createCookieEntry()] };\n if (entry === 'localStorage')\n return { localStorage: [createWebStorageEntry()] };\n if (entry === 'sessionStorage')\n return { sessionStorage: [createWebStorageEntry()] };\n if (entry === 'header') return { headers: [createHeaderEntry()] };\n }\n\n if (typeof entry === 'object' && entry !== null) {\n const typedEntry = entry as CookiesAttributes | StorageAttributes;\n\n if (isCookieEntry(typedEntry)) {\n return { cookies: [createCookieEntry(typedEntry as CookiesAttributes)] };\n }\n if ('type' in typedEntry && typedEntry.type === 'localStorage') {\n return {\n localStorage: [createWebStorageEntry(typedEntry as StorageAttributes)],\n };\n }\n if ('type' in typedEntry && typedEntry.type === 'sessionStorage') {\n return {\n sessionStorage: [\n createWebStorageEntry(typedEntry as StorageAttributes),\n ],\n };\n }\n if ('type' in typedEntry && typedEntry.type === 'header') {\n return { headers: [createHeaderEntry(typedEntry as StorageAttributes)] };\n }\n // Default to localStorage for ambiguous objects\n return {\n localStorage: [\n createWebStorageEntry(typedEntry as Omit<StorageAttributes, 'type'>),\n ],\n };\n }\n\n return { cookies: [], localStorage: [], sessionStorage: [], headers: [] };\n};\n\nconst mergeStorageAttributes = (\n accumulated: ProcessedStorageAttributes,\n partial: Partial<ProcessedStorageAttributes>\n): ProcessedStorageAttributes => ({\n cookies: [...(accumulated.cookies ?? []), ...(partial.cookies ?? [])],\n localStorage: [\n ...(accumulated.localStorage ?? []),\n ...(partial.localStorage ?? []),\n ],\n sessionStorage: [\n ...(accumulated.sessionStorage ?? []),\n ...(partial.sessionStorage ?? []),\n ],\n headers: [...(accumulated.headers ?? []), ...(partial.headers ?? [])],\n});\n\n/**\n * Extracts and normalizes storage configuration into separate arrays for each storage type.\n * Called at config-build time so the result is pre-computed and stored in the config.\n *\n * @param options - The storage configuration from IntlayerConfig\n * @returns An object containing arrays for cookies, localStorage, sessionStorage and headers\n */\nexport const getStorageAttributes = (\n options: RoutingStorageInput\n): ProcessedStorageAttributes => {\n const emptyResult: ProcessedStorageAttributes = {\n cookies: [],\n localStorage: [],\n sessionStorage: [],\n headers: [],\n };\n\n if (options === false || options === undefined) return {};\n\n const result = Array.isArray(options)\n ? options.reduce<ProcessedStorageAttributes>((acc, entry) => {\n const partial = processStorageEntry(entry);\n return mergeStorageAttributes(acc, partial);\n }, emptyResult)\n : mergeStorageAttributes(emptyResult, processStorageEntry(options));\n\n // Remove empty arrays\n const cleanedResult: ProcessedStorageAttributes = {};\n\n if (result.cookies && result.cookies.length > 0) {\n cleanedResult.cookies = result.cookies;\n }\n\n if (result.localStorage && result.localStorage.length > 0) {\n cleanedResult.localStorage = result.localStorage;\n }\n\n if (result.sessionStorage && result.sessionStorage.length > 0) {\n cleanedResult.sessionStorage = result.sessionStorage;\n }\n\n if (result.headers && result.headers.length > 0) {\n cleanedResult.headers = result.headers;\n }\n\n return cleanedResult;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"getStorageAttributes.cjs","names":[],"sources":["../../../src/utils/getStorageAttributes.ts"],"sourcesContent":["import type {\n CookiesAttributes,\n ProcessedStorageAttributes,\n RoutingStorageInput,\n StorageAttributes,\n} from '@intlayer/types/config';\nimport {\n COOKIE_NAME,\n HEADER_NAME,\n LOCALE_STORAGE_NAME,\n} from '../defaultValues/routing';\n\n// ============================================================================\n// Types\n// ============================================================================\n\ntype CookieEntry = {\n name: string;\n attributes: Omit<CookiesAttributes, 'type' | 'name'>;\n};\n\ntype WebStorageEntry = {\n name: string;\n};\n\ntype HeaderEntry = {\n name: string;\n};\n\ntype StorageEntry =\n | 'cookie'\n | 'localStorage'\n | 'sessionStorage'\n | 'header'\n | CookiesAttributes\n | StorageAttributes;\n\n// ============================================================================\n// Helper Functions\n// ============================================================================\n\nconst createCookieEntry = (\n options?: Partial<CookiesAttributes>\n): CookieEntry => {\n const {\n name,\n path = '/',\n expires,\n maxAge,\n domain,\n secure,\n sameSite,\n httpOnly,\n } = options ?? {};\n return {\n name: name ?? COOKIE_NAME,\n attributes: { path, expires, maxAge, domain, secure, sameSite, httpOnly },\n };\n};\n\nconst createWebStorageEntry = (\n options?: Partial<StorageAttributes>\n): WebStorageEntry => ({\n name: options?.name ?? LOCALE_STORAGE_NAME,\n});\n\nconst createHeaderEntry = (\n options?: Partial<StorageAttributes>\n): HeaderEntry => ({\n name: options?.name ?? HEADER_NAME,\n});\n\nconst isCookieEntry = (entry: unknown): boolean => {\n if (typeof entry !== 'object' || entry === null) return false;\n const e = entry as Record<string, unknown>;\n return (\n e['type'] === 'cookie' ||\n 'sameSite' in e ||\n 'httpOnly' in e ||\n 'secure' in e\n );\n};\n\nconst isStorageType = (\n value: string\n): value is 'cookie' | 'localStorage' | 'sessionStorage' | 'header' =>\n value === 'cookie' ||\n value === 'localStorage' ||\n value === 'sessionStorage' ||\n value === 'header';\n\n// ============================================================================\n// Main Function\n// ============================================================================\n\nconst processStorageEntry = (\n entry: StorageEntry\n): Partial<ProcessedStorageAttributes> => {\n if (typeof entry === 'string') {\n if (!isStorageType(entry)) {\n return { cookies: [], localStorage: [], sessionStorage: [], headers: [] };\n }\n if (entry === 'cookie') return { cookies: [createCookieEntry()] };\n if (entry === 'localStorage')\n return { localStorage: [createWebStorageEntry()] };\n if (entry === 'sessionStorage')\n return { sessionStorage: [createWebStorageEntry()] };\n if (entry === 'header') return { headers: [createHeaderEntry()] };\n }\n\n if (typeof entry === 'object' && entry !== null) {\n const typedEntry = entry as CookiesAttributes | StorageAttributes;\n\n if (isCookieEntry(typedEntry)) {\n return { cookies: [createCookieEntry(typedEntry as CookiesAttributes)] };\n }\n if ('type' in typedEntry && typedEntry.type === 'localStorage') {\n return {\n localStorage: [createWebStorageEntry(typedEntry as StorageAttributes)],\n };\n }\n if ('type' in typedEntry && typedEntry.type === 'sessionStorage') {\n return {\n sessionStorage: [\n createWebStorageEntry(typedEntry as StorageAttributes),\n ],\n };\n }\n if ('type' in typedEntry && typedEntry.type === 'header') {\n return { headers: [createHeaderEntry(typedEntry as StorageAttributes)] };\n }\n // Default to localStorage for ambiguous objects\n return {\n localStorage: [\n createWebStorageEntry(typedEntry as Omit<StorageAttributes, 'type'>),\n ],\n };\n }\n\n return { cookies: [], localStorage: [], sessionStorage: [], headers: [] };\n};\n\nconst mergeStorageAttributes = (\n accumulated: ProcessedStorageAttributes,\n partial: Partial<ProcessedStorageAttributes>\n): ProcessedStorageAttributes => ({\n cookies: [...(accumulated.cookies ?? []), ...(partial.cookies ?? [])],\n localStorage: [\n ...(accumulated.localStorage ?? []),\n ...(partial.localStorage ?? []),\n ],\n sessionStorage: [\n ...(accumulated.sessionStorage ?? []),\n ...(partial.sessionStorage ?? []),\n ],\n headers: [...(accumulated.headers ?? []), ...(partial.headers ?? [])],\n});\n\n/**\n * Extracts and normalizes storage configuration into separate arrays for each storage type.\n * Called at config-build time so the result is pre-computed and stored in the config.\n *\n * @param options - The storage configuration from IntlayerConfig\n * @returns An object containing arrays for cookies, localStorage, sessionStorage and headers\n */\nexport const getStorageAttributes = (\n options: RoutingStorageInput\n): ProcessedStorageAttributes => {\n const emptyResult: ProcessedStorageAttributes = {\n cookies: [],\n localStorage: [],\n sessionStorage: [],\n headers: [],\n };\n\n if (options === false || options === undefined) return {};\n\n const result = Array.isArray(options)\n ? options.reduce<ProcessedStorageAttributes>((acc, entry) => {\n const partial = processStorageEntry(entry);\n return mergeStorageAttributes(acc, partial);\n }, emptyResult)\n : mergeStorageAttributes(emptyResult, processStorageEntry(options));\n\n // Remove empty arrays\n const cleanedResult: ProcessedStorageAttributes = {};\n\n if (result.cookies && result.cookies.length > 0) {\n cleanedResult.cookies = result.cookies;\n }\n\n if (result.localStorage && result.localStorage.length > 0) {\n cleanedResult.localStorage = result.localStorage;\n }\n\n if (result.sessionStorage && result.sessionStorage.length > 0) {\n cleanedResult.sessionStorage = result.sessionStorage;\n }\n\n if (result.headers && result.headers.length > 0) {\n cleanedResult.headers = result.headers;\n }\n\n return cleanedResult;\n};\n"],"mappings":"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"}
@@ -24,7 +24,8 @@ const cookiesAttributesSchema = z.object({
24
24
  "lax",
25
25
  "none"
26
26
  ]).optional(),
27
- expires: z.union([z.date(), z.number()]).optional()
27
+ expires: z.union([z.date(), z.number()]).optional(),
28
+ maxAge: z.number().optional()
28
29
  });
29
30
  const storageAttributesSchema = z.object({
30
31
  type: z.enum([
@@ -1 +1 @@
1
- {"version":3,"file":"configurationSchema.mjs","names":[],"sources":["../../../src/configFile/configurationSchema.ts"],"sourcesContent":["import { AiProviders } from '@intlayer/types/config';\nimport z from 'zod';\n\nexport const internationalizationSchema = z.object({\n locales: z.array(z.string()).min(1),\n requiredLocales: z.array(z.string()).optional(),\n strictMode: z.enum(['strict', 'inclusive', 'loose']).optional(),\n defaultLocale: z.string().optional(),\n});\n\nexport const cookiesAttributesSchema = z.object({\n type: z.literal('cookie'),\n name: z.string().optional(),\n domain: z.string().optional(),\n path: z.string().optional(),\n secure: z.boolean().optional(),\n httpOnly: z.boolean().optional(),\n sameSite: z.enum(['strict', 'lax', 'none']).optional(),\n expires: z.union([z.date(), z.number()]).optional(),\n});\n\nexport const storageAttributesSchema = z.object({\n type: z.enum(['localStorage', 'sessionStorage', 'header']),\n name: z.string().optional(),\n});\n\nexport const storageSchema = z.union([\n z.literal(false),\n z.enum(['cookie', 'localStorage', 'sessionStorage', 'header']),\n cookiesAttributesSchema,\n storageAttributesSchema,\n z.array(\n z.union([\n z.enum(['cookie', 'localStorage', 'sessionStorage', 'header']),\n cookiesAttributesSchema,\n storageAttributesSchema,\n ])\n ),\n]);\n\nexport const rewriteRuleSchema = z.object({\n canonical: z.string(),\n localized: z.record(z.string(), z.string()),\n});\n\nexport const rewriteRulesSchema = z.object({\n rules: z.array(rewriteRuleSchema),\n});\n\nexport const rewriteObjectSchema = z.object({\n url: rewriteRulesSchema,\n nextjs: rewriteRulesSchema.optional(),\n vite: rewriteRulesSchema.optional(),\n});\n\nexport const routingSchema = z.object({\n rewrite: z\n .union([\n z.record(z.string(), z.record(z.string(), z.string())),\n rewriteObjectSchema,\n ])\n .optional(),\n mode: z\n .enum(['prefix-no-default', 'prefix-all', 'no-prefix', 'search-params'])\n .optional(),\n storage: storageSchema.optional(),\n basePath: z.string().optional(),\n domains: z.record(z.string(), z.string()).optional(),\n});\n\nexport const systemSchema = z.object({\n baseDir: z.string().optional(),\n moduleAugmentationDir: z.string().optional(),\n unmergedDictionariesDir: z.string().optional(),\n remoteDictionariesDir: z.string().optional(),\n dictionariesDir: z.string().optional(),\n dynamicDictionariesDir: z.string().optional(),\n fetchDictionariesDir: z.string().optional(),\n typesDir: z.string().optional(),\n mainDir: z.string().optional(),\n configDir: z.string().optional(),\n cacheDir: z.string().optional(),\n tempDir: z.string().optional(),\n});\n\nexport const contentSchema = z.object({\n fileExtensions: z.array(z.string()).optional(),\n contentDir: z.array(z.string()).optional(),\n codeDir: z.array(z.string()).optional(),\n excludedPath: z.array(z.string()).optional(),\n watch: z.boolean().optional(),\n formatCommand: z.string().optional(),\n});\n\nexport const editorSchema = z.object({\n applicationURL: z.union([z.url(), z.literal('')]).optional(),\n editorURL: z.union([z.url(), z.literal('')]).optional(),\n cmsURL: z.union([z.url(), z.literal('')]).optional(),\n backendURL: z.union([z.url(), z.literal('')]).optional(),\n port: z.number().int().positive().max(65535).optional(),\n enabled: z.boolean().optional(),\n clientId: z.string().optional(),\n clientSecret: z.string().optional(),\n dictionaryPriorityStrategy: z\n .enum(['local_first', 'distant_first'])\n .optional(),\n liveSync: z.boolean().optional(),\n liveSyncPort: z.number().int().positive().max(65535).optional(),\n liveSyncURL: z.union([z.url(), z.literal('')]).optional(),\n});\n\nexport const logSchema = z.object({\n mode: z.enum(['default', 'verbose', 'disabled']).optional(),\n prefix: z.string().optional(),\n error: z.function().optional(),\n log: z.function().optional(),\n info: z.function().optional(),\n warn: z.function().optional(),\n});\n\nexport const aiSchema = z.object({\n provider: z.enum(AiProviders).optional(),\n apiKey: z.string().optional(),\n model: z.string().optional(),\n temperature: z.number().min(0).max(2).optional(),\n applicationContext: z.string().optional(),\n baseURL: z.url().optional(),\n dataSerialization: z.enum(['json', 'toon']).optional(),\n});\n\nexport const buildSchema = z.object({\n mode: z.enum(['auto', 'manual']).optional(),\n optimize: z.boolean().optional(),\n importMode: z.enum(['static', 'dynamic', 'fetch']).optional(),\n traversePattern: z.array(z.string()).optional(),\n outputFormat: z.array(z.enum(['cjs', 'esm'])).optional(),\n cache: z.boolean().optional(),\n require: z.unknown().optional(),\n checkTypes: z.boolean().optional(),\n});\n\nexport const compilerSchema = z.object({\n enabled: z.union([z.boolean(), z.literal('build-only')]).optional(),\n dictionaryKeyPrefix: z.string().optional(),\n transformPattern: z.union([z.string(), z.array(z.string())]).optional(),\n excludePattern: z.union([z.string(), z.array(z.string())]).optional(),\n output: z.unknown().optional(),\n noMetadata: z.boolean().optional(),\n saveComponents: z.boolean().optional(),\n});\n\nexport const dictionarySchema = z.object({\n fill: z.unknown().optional(),\n contentAutoTransformation: z\n .union([\n z.boolean(),\n z.object({\n markdown: z.boolean().optional(),\n html: z.boolean().optional(),\n insertion: z.boolean().optional(),\n }),\n ])\n .optional(),\n location: z.string().optional(),\n locale: z.string().optional(),\n title: z.string().optional(),\n});\n\nexport const intlayerConfigSchema = z.object({\n internationalization: internationalizationSchema.optional(),\n routing: routingSchema.optional(),\n content: contentSchema.optional(),\n system: systemSchema.optional(),\n editor: editorSchema.optional(),\n log: logSchema.optional(),\n ai: aiSchema.optional(),\n build: buildSchema.optional(),\n compiler: compilerSchema.optional(),\n dictionary: dictionarySchema.optional(),\n plugins: z.array(z.unknown()).optional(),\n schemas: z.record(z.string(), z.unknown()).optional(),\n metadata: z\n .object({\n name: z.string().optional(),\n version: z.string().optional(),\n doc: z.string().optional(),\n })\n .optional(),\n});\n"],"mappings":";;;;AAGA,MAAa,6BAA6B,EAAE,OAAO;CACjD,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC;CAClC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;CAC9C,YAAY,EAAE,KAAK;EAAC;EAAU;EAAa;CAAO,CAAC,EAAE,SAAS;CAC9D,eAAe,EAAE,OAAO,EAAE,SAAS;AACrC,CAAC;AAED,MAAa,0BAA0B,EAAE,OAAO;CAC9C,MAAM,EAAE,QAAQ,QAAQ;CACxB,MAAM,EAAE,OAAO,EAAE,SAAS;CAC1B,QAAQ,EAAE,OAAO,EAAE,SAAS;CAC5B,MAAM,EAAE,OAAO,EAAE,SAAS;CAC1B,QAAQ,EAAE,QAAQ,EAAE,SAAS;CAC7B,UAAU,EAAE,QAAQ,EAAE,SAAS;CAC/B,UAAU,EAAE,KAAK;EAAC;EAAU;EAAO;CAAM,CAAC,EAAE,SAAS;CACrD,SAAS,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS;AACpD,CAAC;AAED,MAAa,0BAA0B,EAAE,OAAO;CAC9C,MAAM,EAAE,KAAK;EAAC;EAAgB;EAAkB;CAAQ,CAAC;CACzD,MAAM,EAAE,OAAO,EAAE,SAAS;AAC5B,CAAC;AAED,MAAa,gBAAgB,EAAE,MAAM;CACnC,EAAE,QAAQ,KAAK;CACf,EAAE,KAAK;EAAC;EAAU;EAAgB;EAAkB;CAAQ,CAAC;CAC7D;CACA;CACA,EAAE,MACA,EAAE,MAAM;EACN,EAAE,KAAK;GAAC;GAAU;GAAgB;GAAkB;EAAQ,CAAC;EAC7D;EACA;CACF,CAAC,CACH;AACF,CAAC;AAED,MAAa,oBAAoB,EAAE,OAAO;CACxC,WAAW,EAAE,OAAO;CACpB,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC;AAC5C,CAAC;AAED,MAAa,qBAAqB,EAAE,OAAO,EACzC,OAAO,EAAE,MAAM,iBAAiB,EAClC,CAAC;AAED,MAAa,sBAAsB,EAAE,OAAO;CAC1C,KAAK;CACL,QAAQ,mBAAmB,SAAS;CACpC,MAAM,mBAAmB,SAAS;AACpC,CAAC;AAED,MAAa,gBAAgB,EAAE,OAAO;CACpC,SAAS,EACN,MAAM,CACL,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,GACrD,mBACF,CAAC,EACA,SAAS;CACZ,MAAM,EACH,KAAK;EAAC;EAAqB;EAAc;EAAa;CAAe,CAAC,EACtE,SAAS;CACZ,SAAS,cAAc,SAAS;CAChC,UAAU,EAAE,OAAO,EAAE,SAAS;CAC9B,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS;AACrD,CAAC;AAED,MAAa,eAAe,EAAE,OAAO;CACnC,SAAS,EAAE,OAAO,EAAE,SAAS;CAC7B,uBAAuB,EAAE,OAAO,EAAE,SAAS;CAC3C,yBAAyB,EAAE,OAAO,EAAE,SAAS;CAC7C,uBAAuB,EAAE,OAAO,EAAE,SAAS;CAC3C,iBAAiB,EAAE,OAAO,EAAE,SAAS;CACrC,wBAAwB,EAAE,OAAO,EAAE,SAAS;CAC5C,sBAAsB,EAAE,OAAO,EAAE,SAAS;CAC1C,UAAU,EAAE,OAAO,EAAE,SAAS;CAC9B,SAAS,EAAE,OAAO,EAAE,SAAS;CAC7B,WAAW,EAAE,OAAO,EAAE,SAAS;CAC/B,UAAU,EAAE,OAAO,EAAE,SAAS;CAC9B,SAAS,EAAE,OAAO,EAAE,SAAS;AAC/B,CAAC;AAED,MAAa,gBAAgB,EAAE,OAAO;CACpC,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;CAC7C,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;CACzC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;CACtC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;CAC3C,OAAO,EAAE,QAAQ,EAAE,SAAS;CAC5B,eAAe,EAAE,OAAO,EAAE,SAAS;AACrC,CAAC;AAED,MAAa,eAAe,EAAE,OAAO;CACnC,gBAAgB,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS;CAC3D,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS;CACtD,QAAQ,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS;CACnD,YAAY,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS;CACvD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,KAAK,EAAE,SAAS;CACtD,SAAS,EAAE,QAAQ,EAAE,SAAS;CAC9B,UAAU,EAAE,OAAO,EAAE,SAAS;CAC9B,cAAc,EAAE,OAAO,EAAE,SAAS;CAClC,4BAA4B,EACzB,KAAK,CAAC,eAAe,eAAe,CAAC,EACrC,SAAS;CACZ,UAAU,EAAE,QAAQ,EAAE,SAAS;CAC/B,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,KAAK,EAAE,SAAS;CAC9D,aAAa,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS;AAC1D,CAAC;AAED,MAAa,YAAY,EAAE,OAAO;CAChC,MAAM,EAAE,KAAK;EAAC;EAAW;EAAW;CAAU,CAAC,EAAE,SAAS;CAC1D,QAAQ,EAAE,OAAO,EAAE,SAAS;CAC5B,OAAO,EAAE,SAAS,EAAE,SAAS;CAC7B,KAAK,EAAE,SAAS,EAAE,SAAS;CAC3B,MAAM,EAAE,SAAS,EAAE,SAAS;CAC5B,MAAM,EAAE,SAAS,EAAE,SAAS;AAC9B,CAAC;AAED,MAAa,WAAW,EAAE,OAAO;CAC/B,UAAU,EAAE,KAAK,WAAW,EAAE,SAAS;CACvC,QAAQ,EAAE,OAAO,EAAE,SAAS;CAC5B,OAAO,EAAE,OAAO,EAAE,SAAS;CAC3B,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS;CAC/C,oBAAoB,EAAE,OAAO,EAAE,SAAS;CACxC,SAAS,EAAE,IAAI,EAAE,SAAS;CAC1B,mBAAmB,EAAE,KAAK,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS;AACvD,CAAC;AAED,MAAa,cAAc,EAAE,OAAO;CAClC,MAAM,EAAE,KAAK,CAAC,QAAQ,QAAQ,CAAC,EAAE,SAAS;CAC1C,UAAU,EAAE,QAAQ,EAAE,SAAS;CAC/B,YAAY,EAAE,KAAK;EAAC;EAAU;EAAW;CAAO,CAAC,EAAE,SAAS;CAC5D,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;CAC9C,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,SAAS;CACvD,OAAO,EAAE,QAAQ,EAAE,SAAS;CAC5B,SAAS,EAAE,QAAQ,EAAE,SAAS;CAC9B,YAAY,EAAE,QAAQ,EAAE,SAAS;AACnC,CAAC;AAED,MAAa,iBAAiB,EAAE,OAAO;CACrC,SAAS,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,EAAE,QAAQ,YAAY,CAAC,CAAC,EAAE,SAAS;CAClE,qBAAqB,EAAE,OAAO,EAAE,SAAS;CACzC,kBAAkB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS;CACtE,gBAAgB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS;CACpE,QAAQ,EAAE,QAAQ,EAAE,SAAS;CAC7B,YAAY,EAAE,QAAQ,EAAE,SAAS;CACjC,gBAAgB,EAAE,QAAQ,EAAE,SAAS;AACvC,CAAC;AAED,MAAa,mBAAmB,EAAE,OAAO;CACvC,MAAM,EAAE,QAAQ,EAAE,SAAS;CAC3B,2BAA2B,EACxB,MAAM,CACL,EAAE,QAAQ,GACV,EAAE,OAAO;EACP,UAAU,EAAE,QAAQ,EAAE,SAAS;EAC/B,MAAM,EAAE,QAAQ,EAAE,SAAS;EAC3B,WAAW,EAAE,QAAQ,EAAE,SAAS;CAClC,CAAC,CACH,CAAC,EACA,SAAS;CACZ,UAAU,EAAE,OAAO,EAAE,SAAS;CAC9B,QAAQ,EAAE,OAAO,EAAE,SAAS;CAC5B,OAAO,EAAE,OAAO,EAAE,SAAS;AAC7B,CAAC;AAED,MAAa,uBAAuB,EAAE,OAAO;CAC3C,sBAAsB,2BAA2B,SAAS;CAC1D,SAAS,cAAc,SAAS;CAChC,SAAS,cAAc,SAAS;CAChC,QAAQ,aAAa,SAAS;CAC9B,QAAQ,aAAa,SAAS;CAC9B,KAAK,UAAU,SAAS;CACxB,IAAI,SAAS,SAAS;CACtB,OAAO,YAAY,SAAS;CAC5B,UAAU,eAAe,SAAS;CAClC,YAAY,iBAAiB,SAAS;CACtC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS;CACvC,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,EAAE,SAAS;CACpD,UAAU,EACP,OAAO;EACN,MAAM,EAAE,OAAO,EAAE,SAAS;EAC1B,SAAS,EAAE,OAAO,EAAE,SAAS;EAC7B,KAAK,EAAE,OAAO,EAAE,SAAS;CAC3B,CAAC,EACA,SAAS;AACd,CAAC"}
1
+ {"version":3,"file":"configurationSchema.mjs","names":[],"sources":["../../../src/configFile/configurationSchema.ts"],"sourcesContent":["import { AiProviders } from '@intlayer/types/config';\nimport z from 'zod';\n\nexport const internationalizationSchema = z.object({\n locales: z.array(z.string()).min(1),\n requiredLocales: z.array(z.string()).optional(),\n strictMode: z.enum(['strict', 'inclusive', 'loose']).optional(),\n defaultLocale: z.string().optional(),\n});\n\nexport const cookiesAttributesSchema = z.object({\n type: z.literal('cookie'),\n name: z.string().optional(),\n domain: z.string().optional(),\n path: z.string().optional(),\n secure: z.boolean().optional(),\n httpOnly: z.boolean().optional(),\n sameSite: z.enum(['strict', 'lax', 'none']).optional(),\n expires: z.union([z.date(), z.number()]).optional(),\n maxAge: z.number().optional(),\n});\n\nexport const storageAttributesSchema = z.object({\n type: z.enum(['localStorage', 'sessionStorage', 'header']),\n name: z.string().optional(),\n});\n\nexport const storageSchema = z.union([\n z.literal(false),\n z.enum(['cookie', 'localStorage', 'sessionStorage', 'header']),\n cookiesAttributesSchema,\n storageAttributesSchema,\n z.array(\n z.union([\n z.enum(['cookie', 'localStorage', 'sessionStorage', 'header']),\n cookiesAttributesSchema,\n storageAttributesSchema,\n ])\n ),\n]);\n\nexport const rewriteRuleSchema = z.object({\n canonical: z.string(),\n localized: z.record(z.string(), z.string()),\n});\n\nexport const rewriteRulesSchema = z.object({\n rules: z.array(rewriteRuleSchema),\n});\n\nexport const rewriteObjectSchema = z.object({\n url: rewriteRulesSchema,\n nextjs: rewriteRulesSchema.optional(),\n vite: rewriteRulesSchema.optional(),\n});\n\nexport const routingSchema = z.object({\n rewrite: z\n .union([\n z.record(z.string(), z.record(z.string(), z.string())),\n rewriteObjectSchema,\n ])\n .optional(),\n mode: z\n .enum(['prefix-no-default', 'prefix-all', 'no-prefix', 'search-params'])\n .optional(),\n storage: storageSchema.optional(),\n basePath: z.string().optional(),\n domains: z.record(z.string(), z.string()).optional(),\n});\n\nexport const systemSchema = z.object({\n baseDir: z.string().optional(),\n moduleAugmentationDir: z.string().optional(),\n unmergedDictionariesDir: z.string().optional(),\n remoteDictionariesDir: z.string().optional(),\n dictionariesDir: z.string().optional(),\n dynamicDictionariesDir: z.string().optional(),\n fetchDictionariesDir: z.string().optional(),\n typesDir: z.string().optional(),\n mainDir: z.string().optional(),\n configDir: z.string().optional(),\n cacheDir: z.string().optional(),\n tempDir: z.string().optional(),\n});\n\nexport const contentSchema = z.object({\n fileExtensions: z.array(z.string()).optional(),\n contentDir: z.array(z.string()).optional(),\n codeDir: z.array(z.string()).optional(),\n excludedPath: z.array(z.string()).optional(),\n watch: z.boolean().optional(),\n formatCommand: z.string().optional(),\n});\n\nexport const editorSchema = z.object({\n applicationURL: z.union([z.url(), z.literal('')]).optional(),\n editorURL: z.union([z.url(), z.literal('')]).optional(),\n cmsURL: z.union([z.url(), z.literal('')]).optional(),\n backendURL: z.union([z.url(), z.literal('')]).optional(),\n port: z.number().int().positive().max(65535).optional(),\n enabled: z.boolean().optional(),\n clientId: z.string().optional(),\n clientSecret: z.string().optional(),\n dictionaryPriorityStrategy: z\n .enum(['local_first', 'distant_first'])\n .optional(),\n liveSync: z.boolean().optional(),\n liveSyncPort: z.number().int().positive().max(65535).optional(),\n liveSyncURL: z.union([z.url(), z.literal('')]).optional(),\n});\n\nexport const logSchema = z.object({\n mode: z.enum(['default', 'verbose', 'disabled']).optional(),\n prefix: z.string().optional(),\n error: z.function().optional(),\n log: z.function().optional(),\n info: z.function().optional(),\n warn: z.function().optional(),\n});\n\nexport const aiSchema = z.object({\n provider: z.enum(AiProviders).optional(),\n apiKey: z.string().optional(),\n model: z.string().optional(),\n temperature: z.number().min(0).max(2).optional(),\n applicationContext: z.string().optional(),\n baseURL: z.url().optional(),\n dataSerialization: z.enum(['json', 'toon']).optional(),\n});\n\nexport const buildSchema = z.object({\n mode: z.enum(['auto', 'manual']).optional(),\n optimize: z.boolean().optional(),\n importMode: z.enum(['static', 'dynamic', 'fetch']).optional(),\n traversePattern: z.array(z.string()).optional(),\n outputFormat: z.array(z.enum(['cjs', 'esm'])).optional(),\n cache: z.boolean().optional(),\n require: z.unknown().optional(),\n checkTypes: z.boolean().optional(),\n});\n\nexport const compilerSchema = z.object({\n enabled: z.union([z.boolean(), z.literal('build-only')]).optional(),\n dictionaryKeyPrefix: z.string().optional(),\n transformPattern: z.union([z.string(), z.array(z.string())]).optional(),\n excludePattern: z.union([z.string(), z.array(z.string())]).optional(),\n output: z.unknown().optional(),\n noMetadata: z.boolean().optional(),\n saveComponents: z.boolean().optional(),\n});\n\nexport const dictionarySchema = z.object({\n fill: z.unknown().optional(),\n contentAutoTransformation: z\n .union([\n z.boolean(),\n z.object({\n markdown: z.boolean().optional(),\n html: z.boolean().optional(),\n insertion: z.boolean().optional(),\n }),\n ])\n .optional(),\n location: z.string().optional(),\n locale: z.string().optional(),\n title: z.string().optional(),\n});\n\nexport const intlayerConfigSchema = z.object({\n internationalization: internationalizationSchema.optional(),\n routing: routingSchema.optional(),\n content: contentSchema.optional(),\n system: systemSchema.optional(),\n editor: editorSchema.optional(),\n log: logSchema.optional(),\n ai: aiSchema.optional(),\n build: buildSchema.optional(),\n compiler: compilerSchema.optional(),\n dictionary: dictionarySchema.optional(),\n plugins: z.array(z.unknown()).optional(),\n schemas: z.record(z.string(), z.unknown()).optional(),\n metadata: z\n .object({\n name: z.string().optional(),\n version: z.string().optional(),\n doc: z.string().optional(),\n })\n .optional(),\n});\n"],"mappings":"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"}
@@ -2,12 +2,13 @@ import { COOKIE_NAME, HEADER_NAME, LOCALE_STORAGE_NAME } from "../defaultValues/
2
2
 
3
3
  //#region src/utils/getStorageAttributes.ts
4
4
  const createCookieEntry = (options) => {
5
- const { name, path, expires, domain, secure, sameSite, httpOnly } = options ?? {};
5
+ const { name, path = "/", expires, maxAge, domain, secure, sameSite, httpOnly } = options ?? {};
6
6
  return {
7
7
  name: name ?? "INTLAYER_LOCALE",
8
8
  attributes: {
9
9
  path,
10
10
  expires,
11
+ maxAge,
11
12
  domain,
12
13
  secure,
13
14
  sameSite,
@@ -1 +1 @@
1
- {"version":3,"file":"getStorageAttributes.mjs","names":[],"sources":["../../../src/utils/getStorageAttributes.ts"],"sourcesContent":["import type {\n CookiesAttributes,\n ProcessedStorageAttributes,\n RoutingStorageInput,\n StorageAttributes,\n} from '@intlayer/types/config';\nimport {\n COOKIE_NAME,\n HEADER_NAME,\n LOCALE_STORAGE_NAME,\n} from '../defaultValues/routing';\n\n// ============================================================================\n// Types\n// ============================================================================\n\ntype CookieEntry = {\n name: string;\n attributes: Omit<CookiesAttributes, 'type' | 'name'>;\n};\n\ntype WebStorageEntry = {\n name: string;\n};\n\ntype HeaderEntry = {\n name: string;\n};\n\ntype StorageEntry =\n | 'cookie'\n | 'localStorage'\n | 'sessionStorage'\n | 'header'\n | CookiesAttributes\n | StorageAttributes;\n\n// ============================================================================\n// Helper Functions\n// ============================================================================\n\nconst createCookieEntry = (\n options?: Partial<CookiesAttributes>\n): CookieEntry => {\n const { name, path, expires, domain, secure, sameSite, httpOnly } =\n options ?? {};\n return {\n name: name ?? COOKIE_NAME,\n attributes: { path, expires, domain, secure, sameSite, httpOnly },\n };\n};\n\nconst createWebStorageEntry = (\n options?: Partial<StorageAttributes>\n): WebStorageEntry => ({\n name: options?.name ?? LOCALE_STORAGE_NAME,\n});\n\nconst createHeaderEntry = (\n options?: Partial<StorageAttributes>\n): HeaderEntry => ({\n name: options?.name ?? HEADER_NAME,\n});\n\nconst isCookieEntry = (entry: unknown): boolean => {\n if (typeof entry !== 'object' || entry === null) return false;\n const e = entry as Record<string, unknown>;\n return (\n e['type'] === 'cookie' ||\n 'sameSite' in e ||\n 'httpOnly' in e ||\n 'secure' in e\n );\n};\n\nconst isStorageType = (\n value: string\n): value is 'cookie' | 'localStorage' | 'sessionStorage' | 'header' =>\n value === 'cookie' ||\n value === 'localStorage' ||\n value === 'sessionStorage' ||\n value === 'header';\n\n// ============================================================================\n// Main Function\n// ============================================================================\n\nconst processStorageEntry = (\n entry: StorageEntry\n): Partial<ProcessedStorageAttributes> => {\n if (typeof entry === 'string') {\n if (!isStorageType(entry)) {\n return { cookies: [], localStorage: [], sessionStorage: [], headers: [] };\n }\n if (entry === 'cookie') return { cookies: [createCookieEntry()] };\n if (entry === 'localStorage')\n return { localStorage: [createWebStorageEntry()] };\n if (entry === 'sessionStorage')\n return { sessionStorage: [createWebStorageEntry()] };\n if (entry === 'header') return { headers: [createHeaderEntry()] };\n }\n\n if (typeof entry === 'object' && entry !== null) {\n const typedEntry = entry as CookiesAttributes | StorageAttributes;\n\n if (isCookieEntry(typedEntry)) {\n return { cookies: [createCookieEntry(typedEntry as CookiesAttributes)] };\n }\n if ('type' in typedEntry && typedEntry.type === 'localStorage') {\n return {\n localStorage: [createWebStorageEntry(typedEntry as StorageAttributes)],\n };\n }\n if ('type' in typedEntry && typedEntry.type === 'sessionStorage') {\n return {\n sessionStorage: [\n createWebStorageEntry(typedEntry as StorageAttributes),\n ],\n };\n }\n if ('type' in typedEntry && typedEntry.type === 'header') {\n return { headers: [createHeaderEntry(typedEntry as StorageAttributes)] };\n }\n // Default to localStorage for ambiguous objects\n return {\n localStorage: [\n createWebStorageEntry(typedEntry as Omit<StorageAttributes, 'type'>),\n ],\n };\n }\n\n return { cookies: [], localStorage: [], sessionStorage: [], headers: [] };\n};\n\nconst mergeStorageAttributes = (\n accumulated: ProcessedStorageAttributes,\n partial: Partial<ProcessedStorageAttributes>\n): ProcessedStorageAttributes => ({\n cookies: [...(accumulated.cookies ?? []), ...(partial.cookies ?? [])],\n localStorage: [\n ...(accumulated.localStorage ?? []),\n ...(partial.localStorage ?? []),\n ],\n sessionStorage: [\n ...(accumulated.sessionStorage ?? []),\n ...(partial.sessionStorage ?? []),\n ],\n headers: [...(accumulated.headers ?? []), ...(partial.headers ?? [])],\n});\n\n/**\n * Extracts and normalizes storage configuration into separate arrays for each storage type.\n * Called at config-build time so the result is pre-computed and stored in the config.\n *\n * @param options - The storage configuration from IntlayerConfig\n * @returns An object containing arrays for cookies, localStorage, sessionStorage and headers\n */\nexport const getStorageAttributes = (\n options: RoutingStorageInput\n): ProcessedStorageAttributes => {\n const emptyResult: ProcessedStorageAttributes = {\n cookies: [],\n localStorage: [],\n sessionStorage: [],\n headers: [],\n };\n\n if (options === false || options === undefined) return {};\n\n const result = Array.isArray(options)\n ? options.reduce<ProcessedStorageAttributes>((acc, entry) => {\n const partial = processStorageEntry(entry);\n return mergeStorageAttributes(acc, partial);\n }, emptyResult)\n : mergeStorageAttributes(emptyResult, processStorageEntry(options));\n\n // Remove empty arrays\n const cleanedResult: ProcessedStorageAttributes = {};\n\n if (result.cookies && result.cookies.length > 0) {\n cleanedResult.cookies = result.cookies;\n }\n\n if (result.localStorage && result.localStorage.length > 0) {\n cleanedResult.localStorage = result.localStorage;\n }\n\n if (result.sessionStorage && result.sessionStorage.length > 0) {\n cleanedResult.sessionStorage = result.sessionStorage;\n }\n\n if (result.headers && result.headers.length > 0) {\n cleanedResult.headers = result.headers;\n }\n\n return cleanedResult;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"getStorageAttributes.mjs","names":[],"sources":["../../../src/utils/getStorageAttributes.ts"],"sourcesContent":["import type {\n CookiesAttributes,\n ProcessedStorageAttributes,\n RoutingStorageInput,\n StorageAttributes,\n} from '@intlayer/types/config';\nimport {\n COOKIE_NAME,\n HEADER_NAME,\n LOCALE_STORAGE_NAME,\n} from '../defaultValues/routing';\n\n// ============================================================================\n// Types\n// ============================================================================\n\ntype CookieEntry = {\n name: string;\n attributes: Omit<CookiesAttributes, 'type' | 'name'>;\n};\n\ntype WebStorageEntry = {\n name: string;\n};\n\ntype HeaderEntry = {\n name: string;\n};\n\ntype StorageEntry =\n | 'cookie'\n | 'localStorage'\n | 'sessionStorage'\n | 'header'\n | CookiesAttributes\n | StorageAttributes;\n\n// ============================================================================\n// Helper Functions\n// ============================================================================\n\nconst createCookieEntry = (\n options?: Partial<CookiesAttributes>\n): CookieEntry => {\n const {\n name,\n path = '/',\n expires,\n maxAge,\n domain,\n secure,\n sameSite,\n httpOnly,\n } = options ?? {};\n return {\n name: name ?? COOKIE_NAME,\n attributes: { path, expires, maxAge, domain, secure, sameSite, httpOnly },\n };\n};\n\nconst createWebStorageEntry = (\n options?: Partial<StorageAttributes>\n): WebStorageEntry => ({\n name: options?.name ?? LOCALE_STORAGE_NAME,\n});\n\nconst createHeaderEntry = (\n options?: Partial<StorageAttributes>\n): HeaderEntry => ({\n name: options?.name ?? HEADER_NAME,\n});\n\nconst isCookieEntry = (entry: unknown): boolean => {\n if (typeof entry !== 'object' || entry === null) return false;\n const e = entry as Record<string, unknown>;\n return (\n e['type'] === 'cookie' ||\n 'sameSite' in e ||\n 'httpOnly' in e ||\n 'secure' in e\n );\n};\n\nconst isStorageType = (\n value: string\n): value is 'cookie' | 'localStorage' | 'sessionStorage' | 'header' =>\n value === 'cookie' ||\n value === 'localStorage' ||\n value === 'sessionStorage' ||\n value === 'header';\n\n// ============================================================================\n// Main Function\n// ============================================================================\n\nconst processStorageEntry = (\n entry: StorageEntry\n): Partial<ProcessedStorageAttributes> => {\n if (typeof entry === 'string') {\n if (!isStorageType(entry)) {\n return { cookies: [], localStorage: [], sessionStorage: [], headers: [] };\n }\n if (entry === 'cookie') return { cookies: [createCookieEntry()] };\n if (entry === 'localStorage')\n return { localStorage: [createWebStorageEntry()] };\n if (entry === 'sessionStorage')\n return { sessionStorage: [createWebStorageEntry()] };\n if (entry === 'header') return { headers: [createHeaderEntry()] };\n }\n\n if (typeof entry === 'object' && entry !== null) {\n const typedEntry = entry as CookiesAttributes | StorageAttributes;\n\n if (isCookieEntry(typedEntry)) {\n return { cookies: [createCookieEntry(typedEntry as CookiesAttributes)] };\n }\n if ('type' in typedEntry && typedEntry.type === 'localStorage') {\n return {\n localStorage: [createWebStorageEntry(typedEntry as StorageAttributes)],\n };\n }\n if ('type' in typedEntry && typedEntry.type === 'sessionStorage') {\n return {\n sessionStorage: [\n createWebStorageEntry(typedEntry as StorageAttributes),\n ],\n };\n }\n if ('type' in typedEntry && typedEntry.type === 'header') {\n return { headers: [createHeaderEntry(typedEntry as StorageAttributes)] };\n }\n // Default to localStorage for ambiguous objects\n return {\n localStorage: [\n createWebStorageEntry(typedEntry as Omit<StorageAttributes, 'type'>),\n ],\n };\n }\n\n return { cookies: [], localStorage: [], sessionStorage: [], headers: [] };\n};\n\nconst mergeStorageAttributes = (\n accumulated: ProcessedStorageAttributes,\n partial: Partial<ProcessedStorageAttributes>\n): ProcessedStorageAttributes => ({\n cookies: [...(accumulated.cookies ?? []), ...(partial.cookies ?? [])],\n localStorage: [\n ...(accumulated.localStorage ?? []),\n ...(partial.localStorage ?? []),\n ],\n sessionStorage: [\n ...(accumulated.sessionStorage ?? []),\n ...(partial.sessionStorage ?? []),\n ],\n headers: [...(accumulated.headers ?? []), ...(partial.headers ?? [])],\n});\n\n/**\n * Extracts and normalizes storage configuration into separate arrays for each storage type.\n * Called at config-build time so the result is pre-computed and stored in the config.\n *\n * @param options - The storage configuration from IntlayerConfig\n * @returns An object containing arrays for cookies, localStorage, sessionStorage and headers\n */\nexport const getStorageAttributes = (\n options: RoutingStorageInput\n): ProcessedStorageAttributes => {\n const emptyResult: ProcessedStorageAttributes = {\n cookies: [],\n localStorage: [],\n sessionStorage: [],\n headers: [],\n };\n\n if (options === false || options === undefined) return {};\n\n const result = Array.isArray(options)\n ? options.reduce<ProcessedStorageAttributes>((acc, entry) => {\n const partial = processStorageEntry(entry);\n return mergeStorageAttributes(acc, partial);\n }, emptyResult)\n : mergeStorageAttributes(emptyResult, processStorageEntry(options));\n\n // Remove empty arrays\n const cleanedResult: ProcessedStorageAttributes = {};\n\n if (result.cookies && result.cookies.length > 0) {\n cleanedResult.cookies = result.cookies;\n }\n\n if (result.localStorage && result.localStorage.length > 0) {\n cleanedResult.localStorage = result.localStorage;\n }\n\n if (result.sessionStorage && result.sessionStorage.length > 0) {\n cleanedResult.sessionStorage = result.sessionStorage;\n }\n\n if (result.headers && result.headers.length > 0) {\n cleanedResult.headers = result.headers;\n }\n\n return cleanedResult;\n};\n"],"mappings":"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"}
@@ -20,11 +20,12 @@ declare const cookiesAttributesSchema: z.ZodObject<{
20
20
  secure: z.ZodOptional<z.ZodBoolean>;
21
21
  httpOnly: z.ZodOptional<z.ZodBoolean>;
22
22
  sameSite: z.ZodOptional<z.ZodEnum<{
23
+ none: "none";
23
24
  strict: "strict";
24
25
  lax: "lax";
25
- none: "none";
26
26
  }>>;
27
27
  expires: z.ZodOptional<z.ZodUnion<readonly [z.ZodDate, z.ZodNumber]>>;
28
+ maxAge: z.ZodOptional<z.ZodNumber>;
28
29
  }, z.core.$strip>;
29
30
  declare const storageAttributesSchema: z.ZodObject<{
30
31
  type: z.ZodEnum<{
@@ -47,11 +48,12 @@ declare const storageSchema: z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodEnum
47
48
  secure: z.ZodOptional<z.ZodBoolean>;
48
49
  httpOnly: z.ZodOptional<z.ZodBoolean>;
49
50
  sameSite: z.ZodOptional<z.ZodEnum<{
51
+ none: "none";
50
52
  strict: "strict";
51
53
  lax: "lax";
52
- none: "none";
53
54
  }>>;
54
55
  expires: z.ZodOptional<z.ZodUnion<readonly [z.ZodDate, z.ZodNumber]>>;
56
+ maxAge: z.ZodOptional<z.ZodNumber>;
55
57
  }, z.core.$strip>, z.ZodObject<{
56
58
  type: z.ZodEnum<{
57
59
  localStorage: "localStorage";
@@ -72,11 +74,12 @@ declare const storageSchema: z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodEnum
72
74
  secure: z.ZodOptional<z.ZodBoolean>;
73
75
  httpOnly: z.ZodOptional<z.ZodBoolean>;
74
76
  sameSite: z.ZodOptional<z.ZodEnum<{
77
+ none: "none";
75
78
  strict: "strict";
76
79
  lax: "lax";
77
- none: "none";
78
80
  }>>;
79
81
  expires: z.ZodOptional<z.ZodUnion<readonly [z.ZodDate, z.ZodNumber]>>;
82
+ maxAge: z.ZodOptional<z.ZodNumber>;
80
83
  }, z.core.$strip>, z.ZodObject<{
81
84
  type: z.ZodEnum<{
82
85
  localStorage: "localStorage";
@@ -155,11 +158,12 @@ declare const routingSchema: z.ZodObject<{
155
158
  secure: z.ZodOptional<z.ZodBoolean>;
156
159
  httpOnly: z.ZodOptional<z.ZodBoolean>;
157
160
  sameSite: z.ZodOptional<z.ZodEnum<{
161
+ none: "none";
158
162
  strict: "strict";
159
163
  lax: "lax";
160
- none: "none";
161
164
  }>>;
162
165
  expires: z.ZodOptional<z.ZodUnion<readonly [z.ZodDate, z.ZodNumber]>>;
166
+ maxAge: z.ZodOptional<z.ZodNumber>;
163
167
  }, z.core.$strip>, z.ZodObject<{
164
168
  type: z.ZodEnum<{
165
169
  localStorage: "localStorage";
@@ -180,11 +184,12 @@ declare const routingSchema: z.ZodObject<{
180
184
  secure: z.ZodOptional<z.ZodBoolean>;
181
185
  httpOnly: z.ZodOptional<z.ZodBoolean>;
182
186
  sameSite: z.ZodOptional<z.ZodEnum<{
187
+ none: "none";
183
188
  strict: "strict";
184
189
  lax: "lax";
185
- none: "none";
186
190
  }>>;
187
191
  expires: z.ZodOptional<z.ZodUnion<readonly [z.ZodDate, z.ZodNumber]>>;
192
+ maxAge: z.ZodOptional<z.ZodNumber>;
188
193
  }, z.core.$strip>, z.ZodObject<{
189
194
  type: z.ZodEnum<{
190
195
  localStorage: "localStorage";
@@ -272,8 +277,8 @@ declare const buildSchema: z.ZodObject<{
272
277
  }>>;
273
278
  traversePattern: z.ZodOptional<z.ZodArray<z.ZodString>>;
274
279
  outputFormat: z.ZodOptional<z.ZodArray<z.ZodEnum<{
275
- cjs: "cjs";
276
280
  esm: "esm";
281
+ cjs: "cjs";
277
282
  }>>>;
278
283
  cache: z.ZodOptional<z.ZodBoolean>;
279
284
  require: z.ZodOptional<z.ZodUnknown>;
@@ -350,11 +355,12 @@ declare const intlayerConfigSchema: z.ZodObject<{
350
355
  secure: z.ZodOptional<z.ZodBoolean>;
351
356
  httpOnly: z.ZodOptional<z.ZodBoolean>;
352
357
  sameSite: z.ZodOptional<z.ZodEnum<{
358
+ none: "none";
353
359
  strict: "strict";
354
360
  lax: "lax";
355
- none: "none";
356
361
  }>>;
357
362
  expires: z.ZodOptional<z.ZodUnion<readonly [z.ZodDate, z.ZodNumber]>>;
363
+ maxAge: z.ZodOptional<z.ZodNumber>;
358
364
  }, z.core.$strip>, z.ZodObject<{
359
365
  type: z.ZodEnum<{
360
366
  localStorage: "localStorage";
@@ -375,11 +381,12 @@ declare const intlayerConfigSchema: z.ZodObject<{
375
381
  secure: z.ZodOptional<z.ZodBoolean>;
376
382
  httpOnly: z.ZodOptional<z.ZodBoolean>;
377
383
  sameSite: z.ZodOptional<z.ZodEnum<{
384
+ none: "none";
378
385
  strict: "strict";
379
386
  lax: "lax";
380
- none: "none";
381
387
  }>>;
382
388
  expires: z.ZodOptional<z.ZodUnion<readonly [z.ZodDate, z.ZodNumber]>>;
389
+ maxAge: z.ZodOptional<z.ZodNumber>;
383
390
  }, z.core.$strip>, z.ZodObject<{
384
391
  type: z.ZodEnum<{
385
392
  localStorage: "localStorage";
@@ -467,8 +474,8 @@ declare const intlayerConfigSchema: z.ZodObject<{
467
474
  }>>;
468
475
  traversePattern: z.ZodOptional<z.ZodArray<z.ZodString>>;
469
476
  outputFormat: z.ZodOptional<z.ZodArray<z.ZodEnum<{
470
- cjs: "cjs";
471
477
  esm: "esm";
478
+ cjs: "cjs";
472
479
  }>>>;
473
480
  cache: z.ZodOptional<z.ZodBoolean>;
474
481
  require: z.ZodOptional<z.ZodUnknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"configurationSchema.d.ts","names":[],"sources":["../../../src/configFile/configurationSchema.ts"],"mappings":";;;;cAGa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;cAO1B,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAWvB,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;;;;cAKvB,aAAA,EAAa,CAAA,CAAA,QAAA,WAAA,CAAA,CAAA,UAAA,SAAA,CAAA,CAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAcb,iBAAA,EAAiB,CAAA,CAAA,SAAA;;;;cAKjB,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;;;cAIlB,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;cAMnB,aAAA,EAAa,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAeb,YAAA,EAAY,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAeZ,aAAA,EAAa,CAAA,CAAA,SAAA;;;;;;;;cASb,YAAA,EAAY,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;cAiBZ,SAAA,EAAS,CAAA,CAAA,SAAA;;;;;;;;;;;;cAST,QAAA,EAAQ,CAAA,CAAA,SAAA;;;;;;;;;;;;cAUR,WAAA,EAAW,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;cAWX,cAAA,EAAc,CAAA,CAAA,SAAA;;;;;;;;;cAUd,gBAAA,EAAgB,CAAA,CAAA,SAAA;;;;;;;;;;;cAiBhB,oBAAA,EAAoB,CAAA,CAAA,SAAA"}
1
+ {"version":3,"file":"configurationSchema.d.ts","names":[],"sources":["../../../src/configFile/configurationSchema.ts"],"mappings":";;;;cAGa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;cAO1B,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;cAYvB,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;;;;cAKvB,aAAA,EAAa,CAAA,CAAA,QAAA,WAAA,CAAA,CAAA,UAAA,SAAA,CAAA,CAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAcb,iBAAA,EAAiB,CAAA,CAAA,SAAA;;;;cAKjB,kBAAA,EAAkB,CAAA,CAAA,SAAA;;;;;;cAIlB,mBAAA,EAAmB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;cAMnB,aAAA,EAAa,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAeb,YAAA,EAAY,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAeZ,aAAA,EAAa,CAAA,CAAA,SAAA;;;;;;;;cASb,YAAA,EAAY,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;cAiBZ,SAAA,EAAS,CAAA,CAAA,SAAA;;;;;;;;;;;;cAST,QAAA,EAAQ,CAAA,CAAA,SAAA;;;;;;;;;;;;cAUR,WAAA,EAAW,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;cAWX,cAAA,EAAc,CAAA,CAAA,SAAA;;;;;;;;;cAUd,gBAAA,EAAgB,CAAA,CAAA,SAAA;;;;;;;;;;;cAiBhB,oBAAA,EAAoB,CAAA,CAAA,SAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getStorageAttributes.d.ts","names":[],"sources":["../../../src/utils/getStorageAttributes.ts"],"mappings":";;;;;AA6JA;;;;;cAAa,oBAAA,GACX,OAAA,EAAS,mBAAA,KACR,0BAqCF"}
1
+ {"version":3,"file":"getStorageAttributes.d.ts","names":[],"sources":["../../../src/utils/getStorageAttributes.ts"],"mappings":";;;;;AAqKA;;;;;cAAa,oBAAA,GACX,OAAA,EAAS,mBAAA,KACR,0BAqCF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/config",
3
- "version": "8.12.0",
3
+ "version": "8.12.2",
4
4
  "private": false,
5
5
  "description": "Retrieve Intlayer configurations and manage environment variables for both server-side and client-side environments.",
6
6
  "keywords": [
@@ -160,7 +160,7 @@
160
160
  "typecheck": "tsc --noEmit --project tsconfig.types.json"
161
161
  },
162
162
  "dependencies": {
163
- "@intlayer/types": "8.12.0",
163
+ "@intlayer/types": "8.12.2",
164
164
  "defu": "6.1.7",
165
165
  "dotenv": "17.4.2",
166
166
  "esbuild": "0.28.0",