@intlayer/config 8.12.1 → 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":"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"}
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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"}
@@ -8,18 +8,18 @@ import { IntlayerConfig } from "@intlayer/types/config";
8
8
  * only read when a property is first accessed.
9
9
  */
10
10
  declare const configuration: IntlayerConfig;
11
- declare const internationalization: import("@intlayer/types").InternationalizationConfig;
12
- declare const dictionary: Partial<import("@intlayer/types").DictionaryConfig>;
13
- declare const routing: import("@intlayer/types").RoutingConfig;
14
- declare const content: import("@intlayer/types").ContentConfig;
15
- declare const system: import("@intlayer/types").SystemConfig;
16
- declare const editor: import("@intlayer/types").EditorConfig;
17
- declare const log: import("@intlayer/types").LogConfig;
18
- declare const ai: Partial<import("@intlayer/types").AiConfig>;
19
- declare const build: import("@intlayer/types").BuildConfig;
20
- declare const compiler: import("@intlayer/types").CompilerConfig;
21
- declare const schemas: Record<string, import("@intlayer/types").ConfigSchema>;
22
- declare const plugins: import("@intlayer/types").Plugin[];
11
+ declare const internationalization: import("@intlayer/types/config").InternationalizationConfig;
12
+ declare const dictionary: Partial<import("@intlayer/types/config").DictionaryConfig>;
13
+ declare const routing: import("@intlayer/types/config").RoutingConfig;
14
+ declare const content: import("@intlayer/types/config").ContentConfig;
15
+ declare const system: import("@intlayer/types/config").SystemConfig;
16
+ declare const editor: import("@intlayer/types/config").EditorConfig;
17
+ declare const log: import("@intlayer/types/config").LogConfig;
18
+ declare const ai: Partial<import("@intlayer/types/config").AiConfig>;
19
+ declare const build: import("@intlayer/types/config").BuildConfig;
20
+ declare const compiler: import("@intlayer/types/config").CompilerConfig;
21
+ declare const schemas: Record<string, import("@intlayer/types/config").ConfigSchema>;
22
+ declare const plugins: import("@intlayer/types/plugin").Plugin[];
23
23
  //#endregion
24
24
  export { ai, build, compiler, content, configuration as default, dictionary, editor, internationalization, log, plugins, routing, schemas, system };
25
25
  //# sourceMappingURL=built.browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"built.browser.d.ts","names":[],"sources":["../../src/built.browser.ts"],"mappings":";;;;;AAsCuB;AACvB;;;cAfM,aAAA,EAAa,cAWjB;AAAA,cAEW,oBAAA,4BAAoB,0BAAqC;AAAA,cACzD,UAAA,EAAU,OAAA,2BAAA,gBAAA;AAAA,cACV,OAAA,4BAAO,aAAwB;AAAA,cAC/B,OAAA,4BAAO,aAAwB;AAAA,cAC/B,MAAA,4BAAM,YAAuB;AAAA,cAC7B,MAAA,4BAAM,YAAuB;AAAA,cAC7B,GAAA,4BAAG,SAAoB;AAAA,cACvB,EAAA,EAAE,OAAA,2BAAA,QAAA;AAAA,cACF,KAAA,4BAAK,WAAsB;AAAA,cAC3B,QAAA,4BAAQ,cAAyB;AAAA,cACjC,OAAA,EAAO,MAAA,mCAAA,YAAA;AAAA,cACP,OAAA,4BAAO,MAAA"}
1
+ {"version":3,"file":"built.browser.d.ts","names":[],"sources":["../../src/built.browser.ts"],"mappings":";;;;;AAsCuB;AACvB;;;cAfM,aAAA,EAAa,cAWjB;AAAA,cAEW,oBAAA,mCAAoB,0BAAqC;AAAA,cACzD,UAAA,EAAU,OAAA,kCAAA,gBAAA;AAAA,cACV,OAAA,mCAAO,aAAwB;AAAA,cAC/B,OAAA,mCAAO,aAAwB;AAAA,cAC/B,MAAA,mCAAM,YAAuB;AAAA,cAC7B,MAAA,mCAAM,YAAuB;AAAA,cAC7B,GAAA,mCAAG,SAAoB;AAAA,cACvB,EAAA,EAAE,OAAA,kCAAA,QAAA;AAAA,cACF,KAAA,mCAAK,WAAsB;AAAA,cAC3B,QAAA,mCAAQ,cAAyB;AAAA,cACjC,OAAA,EAAO,MAAA,0CAAA,YAAA;AAAA,cACP,OAAA,mCAAO,MAAA"}
@@ -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.1",
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.1",
163
+ "@intlayer/types": "8.12.2",
164
164
  "defu": "6.1.7",
165
165
  "dotenv": "17.4.2",
166
166
  "esbuild": "0.28.0",