@intlayer/config 9.5.3 → 9.5.4

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.
Files changed (43) hide show
  1. package/README.md +8 -8
  2. package/dist/cjs/bundle/logBundle.cjs +1 -1
  3. package/dist/cjs/callers/index.cjs +1 -1
  4. package/dist/cjs/client.cjs +2 -2
  5. package/dist/cjs/configFile/buildBrowserConfiguration.cjs +2 -2
  6. package/dist/cjs/configFile/buildConfigurationFields.cjs +2 -2
  7. package/dist/cjs/configFile/buildConfigurationFields.cjs.map +1 -1
  8. package/dist/cjs/configFile/configurationSchema.cjs +164 -156
  9. package/dist/cjs/configFile/configurationSchema.cjs.map +1 -1
  10. package/dist/cjs/configFile/index.cjs +1 -0
  11. package/dist/cjs/configFile/searchConfigurationFile.cjs +1 -1
  12. package/dist/cjs/defaultValues/index.cjs +5 -5
  13. package/dist/cjs/extract/index.cjs +1 -1
  14. package/dist/cjs/node.cjs +1 -0
  15. package/dist/cjs/utils/alias.cjs +26 -44
  16. package/dist/cjs/utils/alias.cjs.map +1 -1
  17. package/dist/cjs/utils/index.cjs +11 -11
  18. package/dist/cjs/utils/retryManager.cjs +1 -1
  19. package/dist/esm/bundle/logBundle.mjs +1 -1
  20. package/dist/esm/callers/index.mjs +1 -1
  21. package/dist/esm/client.mjs +2 -2
  22. package/dist/esm/configFile/buildBrowserConfiguration.mjs +2 -2
  23. package/dist/esm/configFile/buildConfigurationFields.mjs +3 -3
  24. package/dist/esm/configFile/buildConfigurationFields.mjs.map +1 -1
  25. package/dist/esm/configFile/configurationSchema.mjs +124 -117
  26. package/dist/esm/configFile/configurationSchema.mjs.map +1 -1
  27. package/dist/esm/configFile/index.mjs +2 -2
  28. package/dist/esm/configFile/searchConfigurationFile.mjs +1 -1
  29. package/dist/esm/defaultValues/index.mjs +5 -5
  30. package/dist/esm/extract/index.mjs +1 -1
  31. package/dist/esm/node.mjs +2 -2
  32. package/dist/esm/utils/alias.mjs +26 -44
  33. package/dist/esm/utils/alias.mjs.map +1 -1
  34. package/dist/esm/utils/index.mjs +11 -11
  35. package/dist/esm/utils/retryManager.mjs +1 -1
  36. package/dist/types/configFile/buildConfigurationFields.d.ts.map +1 -1
  37. package/dist/types/configFile/configurationSchema.d.ts +333 -327
  38. package/dist/types/configFile/configurationSchema.d.ts.map +1 -1
  39. package/dist/types/configFile/index.d.ts +2 -2
  40. package/dist/types/node.d.ts +2 -2
  41. package/dist/types/utils/alias.d.ts +16 -6
  42. package/dist/types/utils/alias.d.ts.map +1 -1
  43. package/package.json +5 -4
@@ -1,16 +1,17 @@
1
1
  import { AiProviders } from "@intlayer/types/config";
2
- import z from "zod";
2
+ import { z } from "zod/mini";
3
+ import englishLocale from "zod/v4/locales/en.js";
3
4
 
4
5
  //#region src/configFile/configurationSchema.ts
5
6
  const internationalizationSchema = z.object({
6
- locales: z.array(z.string()).min(1),
7
- requiredLocales: z.array(z.string()).optional(),
8
- strictMode: z.enum([
7
+ locales: z.array(z.string()).check(z.minLength(1)),
8
+ requiredLocales: z.optional(z.array(z.string())),
9
+ strictMode: z.optional(z.enum([
9
10
  "strict",
10
11
  "inclusive",
11
12
  "loose"
12
- ]).optional(),
13
- defaultLocale: z.string().optional()
13
+ ])),
14
+ defaultLocale: z.optional(z.string())
14
15
  });
15
16
  /**
16
17
  * Cross-realm-safe `Date` check.
@@ -28,22 +29,22 @@ const isDateLike = (value) => value instanceof Date || Object.prototype.toString
28
29
  const cookieExpiresSchema = z.union([
29
30
  z.custom(isDateLike, { message: "Expected a Date" }),
30
31
  z.number(),
31
- z.string().refine((value) => !Number.isNaN(Date.parse(value)), { message: "Expected a valid date string" })
32
+ z.string().check(z.refine((value) => !Number.isNaN(Date.parse(value)), { message: "Expected a valid date string" }))
32
33
  ]);
33
34
  const cookiesAttributesSchema = z.object({
34
35
  type: z.literal("cookie"),
35
- name: z.string().optional(),
36
- domain: z.string().optional(),
37
- path: z.string().optional(),
38
- secure: z.boolean().optional(),
39
- httpOnly: z.boolean().optional(),
40
- sameSite: z.enum([
36
+ name: z.optional(z.string()),
37
+ domain: z.optional(z.string()),
38
+ path: z.optional(z.string()),
39
+ secure: z.optional(z.boolean()),
40
+ httpOnly: z.optional(z.boolean()),
41
+ sameSite: z.optional(z.enum([
41
42
  "strict",
42
43
  "lax",
43
44
  "none"
44
- ]).optional(),
45
- expires: cookieExpiresSchema.optional(),
46
- maxAge: z.number().optional()
45
+ ])),
46
+ expires: z.optional(cookieExpiresSchema),
47
+ maxAge: z.optional(z.number())
47
48
  });
48
49
  const storageAttributesSchema = z.object({
49
50
  type: z.enum([
@@ -51,7 +52,7 @@ const storageAttributesSchema = z.object({
51
52
  "sessionStorage",
52
53
  "header"
53
54
  ]),
54
- name: z.string().optional()
55
+ name: z.optional(z.string())
55
56
  });
56
57
  const storageSchema = z.union([
57
58
  z.literal(false),
@@ -81,139 +82,145 @@ const rewriteRuleSchema = z.object({
81
82
  const rewriteRulesSchema = z.object({ rules: z.array(rewriteRuleSchema) });
82
83
  const rewriteObjectSchema = z.object({
83
84
  url: rewriteRulesSchema,
84
- nextjs: rewriteRulesSchema.optional(),
85
- vite: rewriteRulesSchema.optional()
85
+ nextjs: z.optional(rewriteRulesSchema),
86
+ vite: z.optional(rewriteRulesSchema)
86
87
  });
87
88
  const routingSchema = z.object({
88
- rewrite: z.union([z.record(z.string(), z.record(z.string(), z.string())), rewriteObjectSchema]).optional(),
89
- mode: z.enum([
89
+ rewrite: z.optional(z.union([z.record(z.string(), z.record(z.string(), z.string())), rewriteObjectSchema])),
90
+ mode: z.optional(z.enum([
90
91
  "prefix-no-default",
91
92
  "prefix-all",
92
93
  "no-prefix",
93
94
  "search-params"
94
- ]).optional(),
95
- enableProxy: z.boolean().optional(),
96
- storage: storageSchema.optional(),
97
- basePath: z.string().optional(),
98
- domains: z.record(z.string(), z.string()).optional()
95
+ ])),
96
+ enableProxy: z.optional(z.boolean()),
97
+ storage: z.optional(storageSchema),
98
+ basePath: z.optional(z.string()),
99
+ domains: z.optional(z.record(z.string(), z.string()))
99
100
  });
100
101
  const systemSchema = z.object({
101
- baseDir: z.string().optional(),
102
- moduleAugmentationDir: z.string().optional(),
103
- unmergedDictionariesDir: z.string().optional(),
104
- remoteDictionariesDir: z.string().optional(),
105
- dictionariesDir: z.string().optional(),
106
- dynamicDictionariesDir: z.string().optional(),
107
- fetchDictionariesDir: z.string().optional(),
108
- typesDir: z.string().optional(),
109
- mainDir: z.string().optional(),
110
- configDir: z.string().optional(),
111
- cacheDir: z.string().optional(),
112
- tempDir: z.string().optional()
102
+ baseDir: z.optional(z.string()),
103
+ moduleAugmentationDir: z.optional(z.string()),
104
+ unmergedDictionariesDir: z.optional(z.string()),
105
+ remoteDictionariesDir: z.optional(z.string()),
106
+ dictionariesDir: z.optional(z.string()),
107
+ dynamicDictionariesDir: z.optional(z.string()),
108
+ fetchDictionariesDir: z.optional(z.string()),
109
+ typesDir: z.optional(z.string()),
110
+ mainDir: z.optional(z.string()),
111
+ configDir: z.optional(z.string()),
112
+ cacheDir: z.optional(z.string()),
113
+ tempDir: z.optional(z.string())
113
114
  });
114
115
  const contentSchema = z.object({
115
- fileExtensions: z.array(z.string()).optional(),
116
- contentDir: z.array(z.string()).optional(),
117
- codeDir: z.array(z.string()).optional(),
118
- excludedPath: z.array(z.string()).optional(),
119
- watch: z.boolean().optional(),
120
- formatCommand: z.string().optional()
116
+ fileExtensions: z.optional(z.array(z.string())),
117
+ contentDir: z.optional(z.array(z.string())),
118
+ codeDir: z.optional(z.array(z.string())),
119
+ excludedPath: z.optional(z.array(z.string())),
120
+ watch: z.optional(z.boolean()),
121
+ formatCommand: z.optional(z.string())
121
122
  });
122
123
  const editorSchema = z.object({
123
- applicationURL: z.union([z.url(), z.literal("")]).optional(),
124
- editorURL: z.union([z.url(), z.literal("")]).optional(),
125
- cmsURL: z.union([z.url(), z.literal("")]).optional(),
126
- backendURL: z.union([z.url(), z.literal("")]).optional(),
127
- port: z.number().int().positive().max(65535).optional(),
128
- enabled: z.boolean().optional(),
129
- clientId: z.string().optional(),
130
- clientSecret: z.string().optional(),
131
- dictionaryPriorityStrategy: z.enum(["local_first", "distant_first"]).optional(),
132
- liveSync: z.boolean().optional(),
133
- liveSyncPort: z.number().int().positive().max(65535).optional(),
134
- liveSyncURL: z.union([z.url(), z.literal("")]).optional()
124
+ applicationURL: z.optional(z.union([z.url(), z.literal("")])),
125
+ editorURL: z.optional(z.union([z.url(), z.literal("")])),
126
+ cmsURL: z.optional(z.union([z.url(), z.literal("")])),
127
+ backendURL: z.optional(z.union([z.url(), z.literal("")])),
128
+ port: z.optional(z.int().check(z.positive(), z.maximum(65535))),
129
+ enabled: z.optional(z.boolean()),
130
+ clientId: z.optional(z.string()),
131
+ clientSecret: z.optional(z.string()),
132
+ dictionaryPriorityStrategy: z.optional(z.enum(["local_first", "distant_first"])),
133
+ liveSync: z.optional(z.boolean()),
134
+ liveSyncPort: z.optional(z.int().check(z.positive(), z.maximum(65535))),
135
+ liveSyncURL: z.optional(z.union([z.url(), z.literal("")]))
135
136
  });
136
137
  const analyticsSchema = z.object({
137
- enabled: z.boolean().optional(),
138
- flushInterval: z.number().int().positive().optional(),
139
- sampleRate: z.number().min(0).max(1).optional()
138
+ enabled: z.optional(z.boolean()),
139
+ flushInterval: z.optional(z.int().check(z.positive())),
140
+ sampleRate: z.optional(z.number().check(z.minimum(0), z.maximum(1)))
140
141
  });
141
142
  const logSchema = z.object({
142
- mode: z.enum([
143
+ mode: z.optional(z.enum([
143
144
  "default",
144
145
  "verbose",
145
146
  "disabled"
146
- ]).optional(),
147
- prefix: z.string().optional(),
148
- error: z.function().optional(),
149
- log: z.function().optional(),
150
- info: z.function().optional(),
151
- warn: z.function().optional()
147
+ ])),
148
+ prefix: z.optional(z.string()),
149
+ error: z.optional(z.function()),
150
+ log: z.optional(z.function()),
151
+ info: z.optional(z.function()),
152
+ warn: z.optional(z.function())
152
153
  });
153
154
  const aiSchema = z.object({
154
- provider: z.enum(AiProviders).optional(),
155
- apiKey: z.string().optional(),
156
- model: z.string().optional(),
157
- temperature: z.number().min(0).max(2).optional(),
158
- applicationContext: z.string().optional(),
159
- baseURL: z.url().optional(),
160
- dataSerialization: z.enum(["json", "toon"]).optional()
155
+ provider: z.optional(z.enum(AiProviders)),
156
+ apiKey: z.optional(z.string()),
157
+ model: z.optional(z.string()),
158
+ temperature: z.optional(z.number().check(z.minimum(0), z.maximum(2))),
159
+ applicationContext: z.optional(z.string()),
160
+ baseURL: z.optional(z.url()),
161
+ dataSerialization: z.optional(z.enum(["json", "toon"]))
161
162
  });
162
163
  const buildSchema = z.object({
163
- mode: z.enum(["auto", "manual"]).optional(),
164
- optimize: z.boolean().optional(),
165
- importMode: z.enum([
164
+ mode: z.optional(z.enum(["auto", "manual"])),
165
+ optimize: z.optional(z.boolean()),
166
+ importMode: z.optional(z.enum([
166
167
  "static",
167
168
  "dynamic",
168
169
  "fetch"
169
- ]).optional(),
170
- traversePattern: z.array(z.string()).optional(),
171
- outputFormat: z.array(z.enum(["cjs", "esm"])).optional(),
172
- cache: z.boolean().optional(),
173
- require: z.unknown().optional(),
174
- checkTypes: z.boolean().optional()
170
+ ])),
171
+ traversePattern: z.optional(z.array(z.string())),
172
+ outputFormat: z.optional(z.array(z.enum(["cjs", "esm"]))),
173
+ cache: z.optional(z.boolean()),
174
+ require: z.optional(z.unknown()),
175
+ checkTypes: z.optional(z.boolean())
175
176
  });
176
177
  const compilerSchema = z.object({
177
- enabled: z.union([z.boolean(), z.literal("build-only")]).optional(),
178
- dictionaryKeyPrefix: z.string().optional(),
179
- transformPattern: z.union([z.string(), z.array(z.string())]).optional(),
180
- excludePattern: z.union([z.string(), z.array(z.string())]).optional(),
181
- output: z.unknown().optional(),
182
- noMetadata: z.boolean().optional(),
183
- saveComponents: z.boolean().optional()
178
+ enabled: z.optional(z.union([z.boolean(), z.literal("build-only")])),
179
+ dictionaryKeyPrefix: z.optional(z.string()),
180
+ transformPattern: z.optional(z.union([z.string(), z.array(z.string())])),
181
+ excludePattern: z.optional(z.union([z.string(), z.array(z.string())])),
182
+ output: z.optional(z.unknown()),
183
+ noMetadata: z.optional(z.boolean()),
184
+ saveComponents: z.optional(z.boolean())
184
185
  });
185
186
  const dictionarySchema = z.object({
186
- fill: z.unknown().optional(),
187
- contentAutoTransformation: z.union([z.boolean(), z.object({
188
- markdown: z.boolean().optional(),
189
- html: z.boolean().optional(),
190
- insertion: z.boolean().optional()
191
- })]).optional(),
192
- location: z.string().optional(),
193
- locale: z.string().optional(),
194
- title: z.string().optional()
187
+ fill: z.optional(z.unknown()),
188
+ contentAutoTransformation: z.optional(z.union([z.boolean(), z.object({
189
+ markdown: z.optional(z.boolean()),
190
+ html: z.optional(z.boolean()),
191
+ insertion: z.optional(z.boolean())
192
+ })])),
193
+ location: z.optional(z.string()),
194
+ locale: z.optional(z.string()),
195
+ title: z.optional(z.string())
195
196
  });
196
197
  const intlayerConfigSchema = z.object({
197
- internationalization: internationalizationSchema.optional(),
198
- routing: routingSchema.optional(),
199
- content: contentSchema.optional(),
200
- system: systemSchema.optional(),
201
- editor: editorSchema.optional(),
202
- analytics: analyticsSchema.optional(),
203
- log: logSchema.optional(),
204
- ai: aiSchema.optional(),
205
- build: buildSchema.optional(),
206
- compiler: compilerSchema.optional(),
207
- dictionary: dictionarySchema.optional(),
208
- plugins: z.array(z.unknown()).optional(),
209
- schemas: z.record(z.string(), z.unknown()).optional(),
210
- metadata: z.object({
211
- name: z.string().optional(),
212
- version: z.string().optional(),
213
- doc: z.string().optional()
214
- }).optional()
198
+ internationalization: z.optional(internationalizationSchema),
199
+ routing: z.optional(routingSchema),
200
+ content: z.optional(contentSchema),
201
+ system: z.optional(systemSchema),
202
+ editor: z.optional(editorSchema),
203
+ analytics: z.optional(analyticsSchema),
204
+ log: z.optional(logSchema),
205
+ ai: z.optional(aiSchema),
206
+ build: z.optional(buildSchema),
207
+ compiler: z.optional(compilerSchema),
208
+ dictionary: z.optional(dictionarySchema),
209
+ plugins: z.optional(z.array(z.unknown())),
210
+ schemas: z.optional(z.record(z.string(), z.unknown())),
211
+ metadata: z.optional(z.object({
212
+ name: z.optional(z.string()),
213
+ version: z.optional(z.string()),
214
+ doc: z.optional(z.string())
215
+ }))
215
216
  });
217
+ /**
218
+ * Parse context restoring English issue messages: `zod/mini` ships no default
219
+ * locale, so without it every issue reads "Invalid input".
220
+ * Imported directly: `z.locales` is a barrel that bundles every locale.
221
+ */
222
+ const intlayerConfigSchemaParseContext = { error: englishLocale().localeError };
216
223
 
217
224
  //#endregion
218
- export { aiSchema, analyticsSchema, buildSchema, compilerSchema, contentSchema, cookiesAttributesSchema, dictionarySchema, editorSchema, internationalizationSchema, intlayerConfigSchema, logSchema, rewriteObjectSchema, rewriteRuleSchema, rewriteRulesSchema, routingSchema, storageAttributesSchema, storageSchema, systemSchema };
225
+ export { aiSchema, analyticsSchema, buildSchema, compilerSchema, contentSchema, cookiesAttributesSchema, dictionarySchema, editorSchema, internationalizationSchema, intlayerConfigSchema, intlayerConfigSchemaParseContext, logSchema, rewriteObjectSchema, rewriteRuleSchema, rewriteRulesSchema, routingSchema, storageAttributesSchema, storageSchema, systemSchema };
219
226
  //# sourceMappingURL=configurationSchema.mjs.map
@@ -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\n/**\n * Cross-realm-safe `Date` check.\n *\n * Configuration files are executed inside a `node:vm` sandbox, so a `Date`\n * created there is an instance of the sandbox realm's `Date`, not the host\n * realm's. `instanceof Date` (used by `z.date()`) therefore returns `false`\n * for those values, which would reject a perfectly valid `Date`.\n */\nconst isDateLike = (value: unknown): value is Date =>\n value instanceof Date ||\n Object.prototype.toString.call(value) === '[object Date]';\n\n/**\n * Cookie expiry: a number of days, an absolute `Date`, or an ISO date string\n * (the form a `Date` takes once the configuration is serialized).\n */\nconst cookieExpiresSchema = z.union([\n z.custom<Date>(isDateLike, { message: 'Expected a Date' }),\n z.number(),\n z.string().refine((value) => !Number.isNaN(Date.parse(value)), {\n message: 'Expected a valid date string',\n }),\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: cookieExpiresSchema.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 enableProxy: z.boolean().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 analyticsSchema = z.object({\n enabled: z.boolean().optional(),\n flushInterval: z.number().int().positive().optional(),\n sampleRate: z.number().min(0).max(1).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 analytics: analyticsSchema.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/mini';\nimport englishLocale from 'zod/v4/locales/en.js';\n\nexport const internationalizationSchema = z.object({\n locales: z.array(z.string()).check(z.minLength(1)),\n requiredLocales: z.optional(z.array(z.string())),\n strictMode: z.optional(z.enum(['strict', 'inclusive', 'loose'])),\n defaultLocale: z.optional(z.string()),\n});\n\n/**\n * Cross-realm-safe `Date` check.\n *\n * Configuration files are executed inside a `node:vm` sandbox, so a `Date`\n * created there is an instance of the sandbox realm's `Date`, not the host\n * realm's. `instanceof Date` (used by `z.date()`) therefore returns `false`\n * for those values, which would reject a perfectly valid `Date`.\n */\nconst isDateLike = (value: unknown): value is Date =>\n value instanceof Date ||\n Object.prototype.toString.call(value) === '[object Date]';\n\n/**\n * Cookie expiry: a number of days, an absolute `Date`, or an ISO date string\n * (the form a `Date` takes once the configuration is serialized).\n */\nconst cookieExpiresSchema = z.union([\n z.custom<Date>(isDateLike, { message: 'Expected a Date' }),\n z.number(),\n z.string().check(\n z.refine((value) => !Number.isNaN(Date.parse(value)), {\n message: 'Expected a valid date string',\n })\n ),\n]);\n\nexport const cookiesAttributesSchema = z.object({\n type: z.literal('cookie'),\n name: z.optional(z.string()),\n domain: z.optional(z.string()),\n path: z.optional(z.string()),\n secure: z.optional(z.boolean()),\n httpOnly: z.optional(z.boolean()),\n sameSite: z.optional(z.enum(['strict', 'lax', 'none'])),\n expires: z.optional(cookieExpiresSchema),\n maxAge: z.optional(z.number()),\n});\n\nexport const storageAttributesSchema = z.object({\n type: z.enum(['localStorage', 'sessionStorage', 'header']),\n name: z.optional(z.string()),\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: z.optional(rewriteRulesSchema),\n vite: z.optional(rewriteRulesSchema),\n});\n\nexport const routingSchema = z.object({\n rewrite: z.optional(\n z.union([\n z.record(z.string(), z.record(z.string(), z.string())),\n rewriteObjectSchema,\n ])\n ),\n mode: z.optional(\n z.enum(['prefix-no-default', 'prefix-all', 'no-prefix', 'search-params'])\n ),\n enableProxy: z.optional(z.boolean()),\n storage: z.optional(storageSchema),\n basePath: z.optional(z.string()),\n domains: z.optional(z.record(z.string(), z.string())),\n});\n\nexport const systemSchema = z.object({\n baseDir: z.optional(z.string()),\n moduleAugmentationDir: z.optional(z.string()),\n unmergedDictionariesDir: z.optional(z.string()),\n remoteDictionariesDir: z.optional(z.string()),\n dictionariesDir: z.optional(z.string()),\n dynamicDictionariesDir: z.optional(z.string()),\n fetchDictionariesDir: z.optional(z.string()),\n typesDir: z.optional(z.string()),\n mainDir: z.optional(z.string()),\n configDir: z.optional(z.string()),\n cacheDir: z.optional(z.string()),\n tempDir: z.optional(z.string()),\n});\n\nexport const contentSchema = z.object({\n fileExtensions: z.optional(z.array(z.string())),\n contentDir: z.optional(z.array(z.string())),\n codeDir: z.optional(z.array(z.string())),\n excludedPath: z.optional(z.array(z.string())),\n watch: z.optional(z.boolean()),\n formatCommand: z.optional(z.string()),\n});\n\nexport const editorSchema = z.object({\n applicationURL: z.optional(z.union([z.url(), z.literal('')])),\n editorURL: z.optional(z.union([z.url(), z.literal('')])),\n cmsURL: z.optional(z.union([z.url(), z.literal('')])),\n backendURL: z.optional(z.union([z.url(), z.literal('')])),\n port: z.optional(z.int().check(z.positive(), z.maximum(65535))),\n enabled: z.optional(z.boolean()),\n clientId: z.optional(z.string()),\n clientSecret: z.optional(z.string()),\n dictionaryPriorityStrategy: z.optional(\n z.enum(['local_first', 'distant_first'])\n ),\n liveSync: z.optional(z.boolean()),\n liveSyncPort: z.optional(z.int().check(z.positive(), z.maximum(65535))),\n liveSyncURL: z.optional(z.union([z.url(), z.literal('')])),\n});\n\nexport const analyticsSchema = z.object({\n enabled: z.optional(z.boolean()),\n flushInterval: z.optional(z.int().check(z.positive())),\n sampleRate: z.optional(z.number().check(z.minimum(0), z.maximum(1))),\n});\n\nexport const logSchema = z.object({\n mode: z.optional(z.enum(['default', 'verbose', 'disabled'])),\n prefix: z.optional(z.string()),\n error: z.optional(z.function()),\n log: z.optional(z.function()),\n info: z.optional(z.function()),\n warn: z.optional(z.function()),\n});\n\nexport const aiSchema = z.object({\n provider: z.optional(z.enum(AiProviders)),\n apiKey: z.optional(z.string()),\n model: z.optional(z.string()),\n temperature: z.optional(z.number().check(z.minimum(0), z.maximum(2))),\n applicationContext: z.optional(z.string()),\n baseURL: z.optional(z.url()),\n dataSerialization: z.optional(z.enum(['json', 'toon'])),\n});\n\nexport const buildSchema = z.object({\n mode: z.optional(z.enum(['auto', 'manual'])),\n optimize: z.optional(z.boolean()),\n importMode: z.optional(z.enum(['static', 'dynamic', 'fetch'])),\n traversePattern: z.optional(z.array(z.string())),\n outputFormat: z.optional(z.array(z.enum(['cjs', 'esm']))),\n cache: z.optional(z.boolean()),\n require: z.optional(z.unknown()),\n checkTypes: z.optional(z.boolean()),\n});\n\nexport const compilerSchema = z.object({\n enabled: z.optional(z.union([z.boolean(), z.literal('build-only')])),\n dictionaryKeyPrefix: z.optional(z.string()),\n transformPattern: z.optional(z.union([z.string(), z.array(z.string())])),\n excludePattern: z.optional(z.union([z.string(), z.array(z.string())])),\n output: z.optional(z.unknown()),\n noMetadata: z.optional(z.boolean()),\n saveComponents: z.optional(z.boolean()),\n});\n\nexport const dictionarySchema = z.object({\n fill: z.optional(z.unknown()),\n contentAutoTransformation: z.optional(\n z.union([\n z.boolean(),\n z.object({\n markdown: z.optional(z.boolean()),\n html: z.optional(z.boolean()),\n insertion: z.optional(z.boolean()),\n }),\n ])\n ),\n location: z.optional(z.string()),\n locale: z.optional(z.string()),\n title: z.optional(z.string()),\n});\n\nexport const intlayerConfigSchema = z.object({\n internationalization: z.optional(internationalizationSchema),\n routing: z.optional(routingSchema),\n content: z.optional(contentSchema),\n system: z.optional(systemSchema),\n editor: z.optional(editorSchema),\n analytics: z.optional(analyticsSchema),\n log: z.optional(logSchema),\n ai: z.optional(aiSchema),\n build: z.optional(buildSchema),\n compiler: z.optional(compilerSchema),\n dictionary: z.optional(dictionarySchema),\n plugins: z.optional(z.array(z.unknown())),\n schemas: z.optional(z.record(z.string(), z.unknown())),\n metadata: z.optional(\n z.object({\n name: z.optional(z.string()),\n version: z.optional(z.string()),\n doc: z.optional(z.string()),\n })\n ),\n});\n\n/**\n * Parse context restoring English issue messages: `zod/mini` ships no default\n * locale, so without it every issue reads \"Invalid input\".\n * Imported directly: `z.locales` is a barrel that bundles every locale.\n */\nexport const intlayerConfigSchemaParseContext: z.core.ParseContext<z.core.$ZodIssue> =\n {\n error: englishLocale().localeError,\n };\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { buildAnalyticsFields, buildBrowserConfiguration, buildEditorFields, buildInternationalizationFields, buildLogFields, buildRoutingFields, extractBrowserConfiguration } from "./buildBrowserConfiguration.mjs";
2
- import { aiSchema, analyticsSchema, buildSchema, compilerSchema, contentSchema, cookiesAttributesSchema, dictionarySchema, editorSchema, internationalizationSchema, intlayerConfigSchema, logSchema, rewriteObjectSchema, rewriteRuleSchema, rewriteRulesSchema, routingSchema, storageAttributesSchema, storageSchema, systemSchema } from "./configurationSchema.mjs";
2
+ import { aiSchema, analyticsSchema, buildSchema, compilerSchema, contentSchema, cookiesAttributesSchema, dictionarySchema, editorSchema, internationalizationSchema, intlayerConfigSchema, intlayerConfigSchemaParseContext, logSchema, rewriteObjectSchema, rewriteRuleSchema, rewriteRulesSchema, routingSchema, storageAttributesSchema, storageSchema, systemSchema } from "./configurationSchema.mjs";
3
3
  import { buildConfigurationFields } from "./buildConfigurationFields.mjs";
4
4
  import { configurationFilesCandidates, searchConfigurationFile } from "./searchConfigurationFile.mjs";
5
5
  import { getConfiguration, getConfigurationAndFilePath } from "./getConfiguration.mjs";
6
6
 
7
- export { aiSchema, analyticsSchema, buildAnalyticsFields, buildBrowserConfiguration, buildConfigurationFields, buildEditorFields, buildInternationalizationFields, buildLogFields, buildRoutingFields, buildSchema, compilerSchema, configurationFilesCandidates, contentSchema, cookiesAttributesSchema, dictionarySchema, editorSchema, extractBrowserConfiguration, getConfiguration, getConfigurationAndFilePath, internationalizationSchema, intlayerConfigSchema, logSchema, rewriteObjectSchema, rewriteRuleSchema, rewriteRulesSchema, routingSchema, searchConfigurationFile, storageAttributesSchema, storageSchema, systemSchema };
7
+ export { aiSchema, analyticsSchema, buildAnalyticsFields, buildBrowserConfiguration, buildConfigurationFields, buildEditorFields, buildInternationalizationFields, buildLogFields, buildRoutingFields, buildSchema, compilerSchema, configurationFilesCandidates, contentSchema, cookiesAttributesSchema, dictionarySchema, editorSchema, extractBrowserConfiguration, getConfiguration, getConfigurationAndFilePath, internationalizationSchema, intlayerConfigSchema, intlayerConfigSchemaParseContext, logSchema, rewriteObjectSchema, rewriteRuleSchema, rewriteRulesSchema, routingSchema, searchConfigurationFile, storageAttributesSchema, storageSchema, systemSchema };
@@ -1,5 +1,5 @@
1
- import { getPackageJsonPath } from "../utils/getPackageJsonPath.mjs";
2
1
  import { logger } from "../logger.mjs";
2
+ import { getPackageJsonPath } from "../utils/getPackageJsonPath.mjs";
3
3
  import { existsSync } from "node:fs";
4
4
  import { resolve } from "node:path";
5
5
 
@@ -1,12 +1,12 @@
1
+ import { ANALYTICS_ENABLED, ANALYTICS_FLUSH_INTERVAL, ANALYTICS_SAMPLE_RATE } from "./analytics.mjs";
2
+ import { APPLICATION_URL, BACKEND_URL, CMS_URL, DICTIONARY_PRIORITY_STRATEGY, EDITOR_URL, IS_ENABLED, LIVE_SYNC, LIVE_SYNC_PORT, PORT } from "./editor.mjs";
3
+ import { DEFAULT_LOCALE, LOCALES, REQUIRED_LOCALES, STRICT_MODE } from "./internationalization.mjs";
4
+ import { MODE, PREFIX } from "./log.mjs";
5
+ import { BASE_PATH, COOKIE_NAME, ENABLE_PROXY, HEADER_NAME, LOCALE_STORAGE_NAME, ROUTING_MODE, SERVER_SET_COOKIE, STORAGE } from "./routing.mjs";
1
6
  import { BUILD_MODE, CACHE, CHUNK_GROUPING, DICTIONARIES_PRELOAD, MINIFY, OPTIMIZE, OUTPUT_FORMAT, PURGE, TRAVERSE_PATTERN, TYPE_CHECKING } from "./build.mjs";
2
7
  import { COMPILER_DICTIONARY_KEY_PREFIX, COMPILER_ENABLED, COMPILER_NO_METADATA, COMPILER_SAVE_COMPONENTS } from "./compiler.mjs";
3
8
  import { CODE_DIR, CONTENT_DIR, EXCLUDED_PATHS, FILE_EXTENSIONS, I18NEXT_DICTIONARIES_DIR, REACT_INTL_MESSAGES_DIR, WATCH } from "./content.mjs";
4
9
  import { CONTENT_AUTO_TRANSFORMATION, DYNAMIC_DICTIONARIES_JSON_SUBDIR, DYNAMIC_ENTRY_LOADER_MAP_IDENTIFIER, FILL, IMPORT_MODE, LOCATION, PRELOADED_DYNAMIC_KEY, QUALIFIER_DYNAMIC_TYPES_KEY } from "./dictionary.mjs";
5
10
  import { CACHE_DIR, CONFIG_DIR, DICTIONARIES_DIR, DYNAMIC_DICTIONARIES_DIR, FETCH_DICTIONARIES_DIR, MAIN_DIR, MASKS_DIR, MODULE_AUGMENTATION_DIR, REMOTE_DICTIONARIES_DIR, TEMP_DIR, TYPES_DIR, UNMERGED_DICTIONARIES_DIR } from "./system.mjs";
6
- import { BASE_PATH, COOKIE_NAME, ENABLE_PROXY, HEADER_NAME, LOCALE_STORAGE_NAME, ROUTING_MODE, SERVER_SET_COOKIE, STORAGE } from "./routing.mjs";
7
- import { ANALYTICS_ENABLED, ANALYTICS_FLUSH_INTERVAL, ANALYTICS_SAMPLE_RATE } from "./analytics.mjs";
8
- import { APPLICATION_URL, BACKEND_URL, CMS_URL, DICTIONARY_PRIORITY_STRATEGY, EDITOR_URL, IS_ENABLED, LIVE_SYNC, LIVE_SYNC_PORT, PORT } from "./editor.mjs";
9
- import { DEFAULT_LOCALE, LOCALES, REQUIRED_LOCALES, STRICT_MODE } from "./internationalization.mjs";
10
- import { MODE, PREFIX } from "./log.mjs";
11
11
 
12
12
  export { ANALYTICS_ENABLED, ANALYTICS_FLUSH_INTERVAL, ANALYTICS_SAMPLE_RATE, APPLICATION_URL, BACKEND_URL, BASE_PATH, BUILD_MODE, CACHE, CACHE_DIR, CHUNK_GROUPING, CMS_URL, CODE_DIR, COMPILER_DICTIONARY_KEY_PREFIX, COMPILER_ENABLED, COMPILER_NO_METADATA, COMPILER_SAVE_COMPONENTS, CONFIG_DIR, CONTENT_AUTO_TRANSFORMATION, CONTENT_DIR, COOKIE_NAME, DEFAULT_LOCALE, DICTIONARIES_DIR, DICTIONARIES_PRELOAD, DICTIONARY_PRIORITY_STRATEGY, DYNAMIC_DICTIONARIES_DIR, DYNAMIC_DICTIONARIES_JSON_SUBDIR, DYNAMIC_ENTRY_LOADER_MAP_IDENTIFIER, EDITOR_URL, ENABLE_PROXY, EXCLUDED_PATHS, FETCH_DICTIONARIES_DIR, FILE_EXTENSIONS, FILL, HEADER_NAME, I18NEXT_DICTIONARIES_DIR, IMPORT_MODE, IS_ENABLED, LIVE_SYNC, LIVE_SYNC_PORT, LOCALES, LOCALE_STORAGE_NAME, LOCATION, MAIN_DIR, MASKS_DIR, MINIFY, MODE, MODULE_AUGMENTATION_DIR, OPTIMIZE, OUTPUT_FORMAT, PORT, PREFIX, PRELOADED_DYNAMIC_KEY, PURGE, QUALIFIER_DYNAMIC_TYPES_KEY, REACT_INTL_MESSAGES_DIR, REMOTE_DICTIONARIES_DIR, REQUIRED_LOCALES, ROUTING_MODE, SERVER_SET_COOKIE, STORAGE, STRICT_MODE, TEMP_DIR, TRAVERSE_PATTERN, TYPES_DIR, TYPE_CHECKING, UNMERGED_DICTIONARIES_DIR, WATCH };
@@ -1,4 +1,4 @@
1
- import { shouldExtract } from "./shouldExtract.mjs";
2
1
  import { ATTRIBUTES_TO_EXTRACT } from "./constants.mjs";
2
+ import { shouldExtract } from "./shouldExtract.mjs";
3
3
 
4
4
  export { ATTRIBUTES_TO_EXTRACT, shouldExtract };
package/dist/esm/node.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { buildAnalyticsFields, buildBrowserConfiguration, buildEditorFields, buildInternationalizationFields, buildLogFields, buildRoutingFields, extractBrowserConfiguration } from "./configFile/buildBrowserConfiguration.mjs";
2
- import { aiSchema, analyticsSchema, buildSchema, compilerSchema, contentSchema, cookiesAttributesSchema, dictionarySchema, editorSchema, internationalizationSchema, intlayerConfigSchema, logSchema, rewriteObjectSchema, rewriteRuleSchema, rewriteRulesSchema, routingSchema, storageAttributesSchema, storageSchema, systemSchema } from "./configFile/configurationSchema.mjs";
2
+ import { aiSchema, analyticsSchema, buildSchema, compilerSchema, contentSchema, cookiesAttributesSchema, dictionarySchema, editorSchema, internationalizationSchema, intlayerConfigSchema, intlayerConfigSchemaParseContext, logSchema, rewriteObjectSchema, rewriteRuleSchema, rewriteRulesSchema, routingSchema, storageAttributesSchema, storageSchema, systemSchema } from "./configFile/configurationSchema.mjs";
3
3
  import { buildConfigurationFields } from "./configFile/buildConfigurationFields.mjs";
4
4
  import { configurationFilesCandidates, searchConfigurationFile } from "./configFile/searchConfigurationFile.mjs";
5
5
  import { getConfiguration, getConfigurationAndFilePath } from "./configFile/getConfiguration.mjs";
6
6
 
7
- export { aiSchema, analyticsSchema, buildAnalyticsFields, buildBrowserConfiguration, buildConfigurationFields, buildEditorFields, buildInternationalizationFields, buildLogFields, buildRoutingFields, buildSchema, compilerSchema, configurationFilesCandidates, contentSchema, cookiesAttributesSchema, dictionarySchema, editorSchema, extractBrowserConfiguration, getConfiguration, getConfigurationAndFilePath, internationalizationSchema, intlayerConfigSchema, logSchema, rewriteObjectSchema, rewriteRuleSchema, rewriteRulesSchema, routingSchema, searchConfigurationFile, storageAttributesSchema, storageSchema, systemSchema };
7
+ export { aiSchema, analyticsSchema, buildAnalyticsFields, buildBrowserConfiguration, buildConfigurationFields, buildEditorFields, buildInternationalizationFields, buildLogFields, buildRoutingFields, buildSchema, compilerSchema, configurationFilesCandidates, contentSchema, cookiesAttributesSchema, dictionarySchema, editorSchema, extractBrowserConfiguration, getConfiguration, getConfigurationAndFilePath, internationalizationSchema, intlayerConfigSchema, intlayerConfigSchemaParseContext, logSchema, rewriteObjectSchema, rewriteRuleSchema, rewriteRulesSchema, routingSchema, searchConfigurationFile, storageAttributesSchema, storageSchema, systemSchema };
@@ -1,54 +1,36 @@
1
- import { getExtension } from "./getExtension.mjs";
2
1
  import { normalizePath } from "./normalizePath.mjs";
2
+ import { getExtension } from "./getExtension.mjs";
3
3
  import { join, relative } from "node:path";
4
4
 
5
5
  //#region src/utils/alias.ts
6
+ /**
7
+ * Generated entry files of `.intlayer/main`, keyed by the
8
+ * `@intlayer/dictionaries-entry` subpath that resolves to them.
9
+ */
10
+ const DICTIONARIES_ENTRY_SUBPATH_FILES = {
11
+ unmerged: "unmerged_dictionaries",
12
+ remote: "remote_dictionaries",
13
+ dynamic: "dynamic_dictionaries",
14
+ fetch: "fetch_dictionaries"
15
+ };
16
+ /**
17
+ * Maps the aliasable Intlayer packages to the generated `.intlayer` files so
18
+ * bundlers (webpack, Vite, Turbopack, esbuild, Metro, …) resolve them to the
19
+ * app's own dictionaries and hot reload on any content change.
20
+ *
21
+ * Key order matters: webpack (enhanced-resolve) and Vite match string aliases
22
+ * by prefix and stop at the first hit, so the bare `@intlayer/dictionaries-entry`
23
+ * key MUST come after its subpaths, otherwise `@intlayer/dictionaries-entry/remote`
24
+ * would be rewritten to `<dictionaries entry>/remote`.
25
+ */
6
26
  const getAlias = ({ configuration, format, formatter = (value) => value }) => {
7
27
  const extension = getExtension(configuration, format ?? configuration.build.outputFormat[0] ?? "esm");
8
- const { baseDir } = configuration.system;
9
- const { mainDir, configDir } = configuration.system;
10
- /**
11
- * Dictionaries
12
- */
13
- const dictionariesPath = join(mainDir, `dictionaries.${extension}`);
14
- const relativeDictionariesPath = relative(baseDir, dictionariesPath);
15
- const fixedDictionariesPath = formatter(normalizePath(relativeDictionariesPath));
16
- /**
17
- * Unmerged dictionaries
18
- */
19
- const unmergedDictionariesPath = join(mainDir, `unmerged_dictionaries.${extension}`);
20
- const relativeUnmergedDictionariesPath = relative(baseDir, unmergedDictionariesPath);
21
- const fixedUnmergedDictionariesPath = formatter(normalizePath(relativeUnmergedDictionariesPath));
22
- /**
23
- * Remote dictionaries
24
- */
25
- const remoteDictionariesPath = join(mainDir, `remote_dictionaries.${extension}`);
26
- const relativeRemoteDictionariesPath = relative(baseDir, remoteDictionariesPath);
27
- const fixedRemoteDictionariesPath = formatter(normalizePath(relativeRemoteDictionariesPath));
28
- /**
29
- * Dynamic dictionaries
30
- */
31
- const dynamicDictionariesPath = join(mainDir, `dynamic_dictionaries.${extension}`);
32
- const relativeDynamicDictionariesPath = relative(baseDir, dynamicDictionariesPath);
33
- const fixedDynamicDictionariesPath = formatter(normalizePath(relativeDynamicDictionariesPath));
34
- /**
35
- * Fetch dictionaries
36
- */
37
- const fetchDictionariesPath = join(mainDir, `fetch_dictionaries.${extension}`);
38
- const relativeFetchDictionariesPath = relative(baseDir, fetchDictionariesPath);
39
- const fixedFetchDictionariesPath = formatter(normalizePath(relativeFetchDictionariesPath));
40
- /**
41
- * Configuration
42
- */
43
- const configurationPath = join(configDir, `configuration.${extension}`);
44
- const relativeConfigurationPath = relative(baseDir, configurationPath);
28
+ const { baseDir, mainDir, configDir } = configuration.system;
29
+ const toAliasPath = (absolutePath) => formatter(normalizePath(relative(baseDir, absolutePath)));
45
30
  return {
46
- "@intlayer/dictionaries-entry": fixedDictionariesPath,
47
- "@intlayer/unmerged-dictionaries-entry": fixedUnmergedDictionariesPath,
48
- "@intlayer/remote-dictionaries-entry": fixedRemoteDictionariesPath,
49
- "@intlayer/dynamic-dictionaries-entry": fixedDynamicDictionariesPath,
50
- "@intlayer/fetch-dictionaries-entry": fixedFetchDictionariesPath,
51
- "@intlayer/config/built": formatter(normalizePath(relativeConfigurationPath))
31
+ ...Object.fromEntries(Object.entries(DICTIONARIES_ENTRY_SUBPATH_FILES).map(([subpath, fileName]) => [`@intlayer/dictionaries-entry/${subpath}`, toAliasPath(join(mainDir, `${fileName}.${extension}`))])),
32
+ "@intlayer/dictionaries-entry": toAliasPath(join(mainDir, `dictionaries.${extension}`)),
33
+ "@intlayer/config/built": toAliasPath(join(configDir, `configuration.${extension}`))
52
34
  };
53
35
  };
54
36
 
@@ -1 +1 @@
1
- {"version":3,"file":"alias.mjs","names":[],"sources":["../../../src/utils/alias.ts"],"sourcesContent":["import { join, relative } from 'node:path';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { getExtension } from './getExtension';\nimport { normalizePath } from './normalizePath';\n\nexport type GetAliasOptions = {\n configuration: IntlayerConfig;\n format?: 'esm' | 'cjs';\n formatter?: (value: string) => string;\n};\n\nexport const getAlias = ({\n configuration,\n format,\n formatter = (value: string) => value,\n}: GetAliasOptions) => {\n const extension = getExtension(\n configuration,\n format ?? configuration.build.outputFormat[0] ?? 'esm'\n );\n\n const { baseDir } = configuration.system;\n const { mainDir, configDir } = configuration.system;\n\n /**\n * Dictionaries\n */\n const dictionariesPath = join(mainDir, `dictionaries.${extension}`);\n const relativeDictionariesPath = relative(baseDir, dictionariesPath);\n const fixedDictionariesPath = formatter(\n normalizePath(relativeDictionariesPath)\n );\n\n /**\n * Unmerged dictionaries\n */\n const unmergedDictionariesPath = join(\n mainDir,\n `unmerged_dictionaries.${extension}`\n );\n const relativeUnmergedDictionariesPath = relative(\n baseDir,\n unmergedDictionariesPath\n );\n const fixedUnmergedDictionariesPath = formatter(\n normalizePath(relativeUnmergedDictionariesPath)\n );\n\n /**\n * Remote dictionaries\n */\n const remoteDictionariesPath = join(\n mainDir,\n `remote_dictionaries.${extension}`\n );\n const relativeRemoteDictionariesPath = relative(\n baseDir,\n remoteDictionariesPath\n );\n const fixedRemoteDictionariesPath = formatter(\n normalizePath(relativeRemoteDictionariesPath)\n );\n\n /**\n * Dynamic dictionaries\n */\n const dynamicDictionariesPath = join(\n mainDir,\n `dynamic_dictionaries.${extension}`\n );\n const relativeDynamicDictionariesPath = relative(\n baseDir,\n dynamicDictionariesPath\n );\n const fixedDynamicDictionariesPath = formatter(\n normalizePath(relativeDynamicDictionariesPath)\n );\n\n /**\n * Fetch dictionaries\n */\n const fetchDictionariesPath = join(\n mainDir,\n `fetch_dictionaries.${extension}`\n );\n const relativeFetchDictionariesPath = relative(\n baseDir,\n fetchDictionariesPath\n );\n const fixedFetchDictionariesPath = formatter(\n normalizePath(relativeFetchDictionariesPath)\n );\n\n /**\n * Configuration\n */\n const configurationPath = join(configDir, `configuration.${extension}`);\n const relativeConfigurationPath = relative(baseDir, configurationPath);\n const fixedConfigurationPath = formatter(\n normalizePath(relativeConfigurationPath)\n );\n\n return {\n '@intlayer/dictionaries-entry': fixedDictionariesPath,\n '@intlayer/unmerged-dictionaries-entry': fixedUnmergedDictionariesPath,\n '@intlayer/remote-dictionaries-entry': fixedRemoteDictionariesPath,\n '@intlayer/dynamic-dictionaries-entry': fixedDynamicDictionariesPath,\n '@intlayer/fetch-dictionaries-entry': fixedFetchDictionariesPath,\n '@intlayer/config/built': fixedConfigurationPath,\n } as const;\n};\n"],"mappings":";;;;;AAWA,MAAa,YAAY,EACvB,eACA,QACA,aAAa,UAAkB,YACV;CACrB,MAAM,YAAY,aAChB,eACA,UAAU,cAAc,MAAM,aAAa,MAAM,KACnD;CAEA,MAAM,EAAE,YAAY,cAAc;CAClC,MAAM,EAAE,SAAS,cAAc,cAAc;;;;CAK7C,MAAM,mBAAmB,KAAK,SAAS,gBAAgB,WAAW;CAClE,MAAM,2BAA2B,SAAS,SAAS,gBAAgB;CACnE,MAAM,wBAAwB,UAC5B,cAAc,wBAAwB,CACxC;;;;CAKA,MAAM,2BAA2B,KAC/B,SACA,yBAAyB,WAC3B;CACA,MAAM,mCAAmC,SACvC,SACA,wBACF;CACA,MAAM,gCAAgC,UACpC,cAAc,gCAAgC,CAChD;;;;CAKA,MAAM,yBAAyB,KAC7B,SACA,uBAAuB,WACzB;CACA,MAAM,iCAAiC,SACrC,SACA,sBACF;CACA,MAAM,8BAA8B,UAClC,cAAc,8BAA8B,CAC9C;;;;CAKA,MAAM,0BAA0B,KAC9B,SACA,wBAAwB,WAC1B;CACA,MAAM,kCAAkC,SACtC,SACA,uBACF;CACA,MAAM,+BAA+B,UACnC,cAAc,+BAA+B,CAC/C;;;;CAKA,MAAM,wBAAwB,KAC5B,SACA,sBAAsB,WACxB;CACA,MAAM,gCAAgC,SACpC,SACA,qBACF;CACA,MAAM,6BAA6B,UACjC,cAAc,6BAA6B,CAC7C;;;;CAKA,MAAM,oBAAoB,KAAK,WAAW,iBAAiB,WAAW;CACtE,MAAM,4BAA4B,SAAS,SAAS,iBAAiB;CAKrE,OAAO;EACL,gCAAgC;EAChC,yCAAyC;EACzC,uCAAuC;EACvC,wCAAwC;EACxC,sCAAsC;EACtC,0BAV6B,UAC7B,cAAc,yBAAyB,CASQ;CACjD;AACF"}
1
+ {"version":3,"file":"alias.mjs","names":[],"sources":["../../../src/utils/alias.ts"],"sourcesContent":["import { join, relative } from 'node:path';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { getExtension } from './getExtension';\nimport { normalizePath } from './normalizePath';\n\nexport type GetAliasOptions = {\n configuration: IntlayerConfig;\n format?: 'esm' | 'cjs';\n formatter?: (value: string) => string;\n};\n\n/**\n * Generated entry files of `.intlayer/main`, keyed by the\n * `@intlayer/dictionaries-entry` subpath that resolves to them.\n */\nconst DICTIONARIES_ENTRY_SUBPATH_FILES = {\n unmerged: 'unmerged_dictionaries',\n remote: 'remote_dictionaries',\n dynamic: 'dynamic_dictionaries',\n fetch: 'fetch_dictionaries',\n} as const;\n\ntype DictionariesEntrySubpath = keyof typeof DICTIONARIES_ENTRY_SUBPATH_FILES;\n\ntype DictionariesEntrySubpathAlias = {\n [Subpath in DictionariesEntrySubpath as `@intlayer/dictionaries-entry/${Subpath}`]: string;\n};\n\n/**\n * Maps the aliasable Intlayer packages to the generated `.intlayer` files so\n * bundlers (webpack, Vite, Turbopack, esbuild, Metro, ) resolve them to the\n * app's own dictionaries and hot reload on any content change.\n *\n * Key order matters: webpack (enhanced-resolve) and Vite match string aliases\n * by prefix and stop at the first hit, so the bare `@intlayer/dictionaries-entry`\n * key MUST come after its subpaths, otherwise `@intlayer/dictionaries-entry/remote`\n * would be rewritten to `<dictionaries entry>/remote`.\n */\nexport const getAlias = ({\n configuration,\n format,\n formatter = (value: string) => value,\n}: GetAliasOptions) => {\n const extension = getExtension(\n configuration,\n format ?? configuration.build.outputFormat[0] ?? 'esm'\n );\n\n const { baseDir, mainDir, configDir } = configuration.system;\n\n const toAliasPath = (absolutePath: string) =>\n formatter(normalizePath(relative(baseDir, absolutePath)));\n\n const subpathAlias = Object.fromEntries(\n Object.entries(DICTIONARIES_ENTRY_SUBPATH_FILES).map(\n ([subpath, fileName]) => [\n `@intlayer/dictionaries-entry/${subpath}`,\n toAliasPath(join(mainDir, `${fileName}.${extension}`)),\n ]\n )\n ) as DictionariesEntrySubpathAlias;\n\n return {\n ...subpathAlias,\n '@intlayer/dictionaries-entry': toAliasPath(\n join(mainDir, `dictionaries.${extension}`)\n ),\n '@intlayer/config/built': toAliasPath(\n join(configDir, `configuration.${extension}`)\n ),\n };\n};\n"],"mappings":";;;;;;;;;AAeA,MAAM,mCAAmC;CACvC,UAAU;CACV,QAAQ;CACR,SAAS;CACT,OAAO;AACT;;;;;;;;;;;AAkBA,MAAa,YAAY,EACvB,eACA,QACA,aAAa,UAAkB,YACV;CACrB,MAAM,YAAY,aAChB,eACA,UAAU,cAAc,MAAM,aAAa,MAAM,KACnD;CAEA,MAAM,EAAE,SAAS,SAAS,cAAc,cAAc;CAEtD,MAAM,eAAe,iBACnB,UAAU,cAAc,SAAS,SAAS,YAAY,CAAC,CAAC;CAW1D,OAAO;EACL,GAVmB,OAAO,YAC1B,OAAO,QAAQ,gCAAgC,CAAC,CAAC,KAC9C,CAAC,SAAS,cAAc,CACvB,gCAAgC,WAChC,YAAY,KAAK,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC,CACvD,CACF,CAIc;EACd,gCAAgC,YAC9B,KAAK,SAAS,gBAAgB,WAAW,CAC3C;EACA,0BAA0B,YACxB,KAAK,WAAW,iBAAiB,WAAW,CAC9C;CACF;AACF"}
@@ -1,26 +1,26 @@
1
- import { getExtension } from "./getExtension.mjs";
1
+ import { getStorageAttributes } from "./getStorageAttributes.mjs";
2
+ import { extractErrorMessage } from "./extractErrorMessage.mjs";
3
+ import { logStack } from "./logStack.mjs";
2
4
  import { normalizePath } from "./normalizePath.mjs";
5
+ import { setIntlayerIdentifier } from "./setIntlayerIdentifier.mjs";
6
+ import { camelCaseToKebabCase } from "./stringFormatter/camelCaseToKebabCase.mjs";
7
+ import { camelCaseToSentence } from "./stringFormatter/camelCaseToSentence.mjs";
8
+ import { kebabCaseToCamelCase } from "./stringFormatter/kebabCaseToCamelCase.mjs";
9
+ import { toLowerCamelCase } from "./stringFormatter/toLowerCamelCase.mjs";
10
+ import { cacheMemory, clearAllCache, clearCache, computeKeyId, getCache, setCache, stableStringify } from "./cacheMemory.mjs";
11
+ import { getPackageJsonPath } from "./getPackageJsonPath.mjs";
12
+ import { getExtension } from "./getExtension.mjs";
3
13
  import { getAlias } from "./alias.mjs";
4
14
  import { BUILT_CONFIG_KEYS } from "./builtConfigKeys.mjs";
5
- import { cacheMemory, clearAllCache, clearCache, computeKeyId, getCache, setCache, stableStringify } from "./cacheMemory.mjs";
6
15
  import { cacheDisk, clearDiskCacheMemory } from "./cacheDisk.mjs";
7
- import { getPackageJsonPath } from "./getPackageJsonPath.mjs";
8
16
  import { configESMxCJSRequire, getProjectRequire, isESModule } from "./ESMxCJSHelpers.mjs";
9
17
  import { clearModuleCache } from "./clearModuleCache.mjs";
10
18
  import { compareVersions } from "./compareVersions.mjs";
11
- import { extractErrorMessage } from "./extractErrorMessage.mjs";
12
19
  import { getHasDictionarySelector } from "./getDictionarySelectorUsage.mjs";
13
- import { getStorageAttributes } from "./getStorageAttributes.mjs";
14
20
  import { getUnusedNodeTypes, getUnusedNodeTypesAsync, getUsedNodeTypes, getUsedNodeTypesAsync } from "./getUsedNodeTypes.mjs";
15
21
  import { isPackageInstalled } from "./isPackageInstalled.mjs";
16
- import { logStack } from "./logStack.mjs";
17
22
  import { parseFilePathPattern, parseStringPattern } from "./parseFilePathPattern.mjs";
18
23
  import { assertPathWithin } from "./pathSecurity.mjs";
19
24
  import { retryManager } from "./retryManager.mjs";
20
- import { setIntlayerIdentifier } from "./setIntlayerIdentifier.mjs";
21
- import { camelCaseToKebabCase } from "./stringFormatter/camelCaseToKebabCase.mjs";
22
- import { camelCaseToSentence } from "./stringFormatter/camelCaseToSentence.mjs";
23
- import { kebabCaseToCamelCase } from "./stringFormatter/kebabCaseToCamelCase.mjs";
24
- import { toLowerCamelCase } from "./stringFormatter/toLowerCamelCase.mjs";
25
25
 
26
26
  export { BUILT_CONFIG_KEYS, assertPathWithin, cacheDisk, cacheMemory, camelCaseToKebabCase, camelCaseToSentence, clearAllCache, clearCache, clearDiskCacheMemory, clearModuleCache, compareVersions, computeKeyId, configESMxCJSRequire, extractErrorMessage, getAlias, getCache, getExtension, getHasDictionarySelector, getPackageJsonPath, getProjectRequire, getStorageAttributes, getUnusedNodeTypes, getUnusedNodeTypesAsync, getUsedNodeTypes, getUsedNodeTypesAsync, isESModule, isPackageInstalled, kebabCaseToCamelCase, logStack, normalizePath, parseFilePathPattern, parseStringPattern, retryManager, setCache, setIntlayerIdentifier, stableStringify, toLowerCamelCase };
@@ -1,5 +1,5 @@
1
- import { extractErrorMessage } from "./extractErrorMessage.mjs";
2
1
  import { logger } from "../logger.mjs";
2
+ import { extractErrorMessage } from "./extractErrorMessage.mjs";
3
3
 
4
4
  //#region src/utils/retryManager.ts
5
5
  const DEFAULT_MAX_RETRY = 3;
@@ -1 +1 @@
1
- {"version":3,"file":"buildConfigurationFields.d.ts","names":[],"sources":["../../../src/configFile/buildConfigurationFields.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;qBA+wBa,2BAAwB,sBACb,sBAAoB,kBAC1B,eACD,iBACd"}
1
+ {"version":3,"file":"buildConfigurationFields.d.ts","names":[],"sources":["../../../src/configFile/buildConfigurationFields.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;qBAkxBa,2BAAwB,sBACb,sBAAoB,kBAC1B,eACD,iBACd"}