@intlayer/config 6.1.6 → 7.0.0-canary.1

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 (236) hide show
  1. package/dist/cjs/_virtual/rolldown_runtime.cjs +34 -0
  2. package/dist/cjs/alias.cjs +27 -100
  3. package/dist/cjs/alias.cjs.map +1 -1
  4. package/dist/cjs/built.cjs +7 -25
  5. package/dist/cjs/built.cjs.map +1 -1
  6. package/dist/cjs/bundleJSFile.cjs +30 -51
  7. package/dist/cjs/bundleJSFile.cjs.map +1 -1
  8. package/dist/cjs/client.cjs +19 -52
  9. package/dist/cjs/configFile/buildConfigurationFields.cjs +100 -657
  10. package/dist/cjs/configFile/buildConfigurationFields.cjs.map +1 -1
  11. package/dist/cjs/configFile/getConfiguration.cjs +60 -114
  12. package/dist/cjs/configFile/getConfiguration.cjs.map +1 -1
  13. package/dist/cjs/configFile/index.cjs +8 -25
  14. package/dist/cjs/configFile/loadConfigurationFile.cjs +22 -47
  15. package/dist/cjs/configFile/loadConfigurationFile.cjs.map +1 -1
  16. package/dist/cjs/configFile/searchConfigurationFile.cjs +49 -55
  17. package/dist/cjs/configFile/searchConfigurationFile.cjs.map +1 -1
  18. package/dist/cjs/defaultValues/build.cjs +23 -35
  19. package/dist/cjs/defaultValues/build.cjs.map +1 -1
  20. package/dist/cjs/defaultValues/content.cjs +68 -70
  21. package/dist/cjs/defaultValues/content.cjs.map +1 -1
  22. package/dist/cjs/defaultValues/editor.cjs +29 -41
  23. package/dist/cjs/defaultValues/editor.cjs.map +1 -1
  24. package/dist/cjs/defaultValues/index.cjs +62 -0
  25. package/dist/cjs/defaultValues/index.cjs.map +1 -0
  26. package/dist/cjs/defaultValues/internationalization.cjs +23 -34
  27. package/dist/cjs/defaultValues/internationalization.cjs.map +1 -1
  28. package/dist/cjs/defaultValues/log.cjs +17 -29
  29. package/dist/cjs/defaultValues/log.cjs.map +1 -1
  30. package/dist/cjs/defaultValues/routing.cjs +38 -0
  31. package/dist/cjs/defaultValues/routing.cjs.map +1 -0
  32. package/dist/cjs/extractErrorMessage.cjs +95 -0
  33. package/dist/cjs/extractErrorMessage.cjs.map +1 -0
  34. package/dist/cjs/index.cjs +67 -98
  35. package/dist/cjs/loadEnvFile.cjs +30 -51
  36. package/dist/cjs/loadEnvFile.cjs.map +1 -1
  37. package/dist/cjs/loadExternalFile/bundleFile.cjs +74 -0
  38. package/dist/cjs/loadExternalFile/bundleFile.cjs.map +1 -0
  39. package/dist/cjs/loadExternalFile/loadExternalFile.cjs +86 -0
  40. package/dist/cjs/loadExternalFile/loadExternalFile.cjs.map +1 -0
  41. package/dist/cjs/loadExternalFile/parseFileContent.cjs +67 -0
  42. package/dist/cjs/loadExternalFile/parseFileContent.cjs.map +1 -0
  43. package/dist/cjs/loadExternalFile/transpileTSToMJS.cjs +60 -0
  44. package/dist/cjs/loadExternalFile/transpileTSToMJS.cjs.map +1 -0
  45. package/dist/cjs/logger.cjs +124 -152
  46. package/dist/cjs/logger.cjs.map +1 -1
  47. package/dist/cjs/package.cjs +12 -0
  48. package/dist/cjs/package.cjs.map +1 -0
  49. package/dist/cjs/retryManager.cjs +42 -49
  50. package/dist/cjs/retryManager.cjs.map +1 -1
  51. package/dist/cjs/utils/ESMxCJSHelpers.cjs +24 -33
  52. package/dist/cjs/utils/ESMxCJSHelpers.cjs.map +1 -1
  53. package/dist/cjs/utils/cache.cjs +426 -0
  54. package/dist/cjs/utils/cache.cjs.map +1 -0
  55. package/dist/cjs/utils/clearModuleCache.cjs +23 -46
  56. package/dist/cjs/utils/clearModuleCache.cjs.map +1 -1
  57. package/dist/cjs/utils/extractErrorMessage.cjs +95 -0
  58. package/dist/cjs/utils/extractErrorMessage.cjs.map +1 -0
  59. package/dist/cjs/utils/getExtension.cjs +12 -35
  60. package/dist/cjs/utils/getExtension.cjs.map +1 -1
  61. package/dist/cjs/utils/getPackageJsonPath.cjs +37 -0
  62. package/dist/cjs/utils/getPackageJsonPath.cjs.map +1 -0
  63. package/dist/cjs/utils/logStack.cjs +16 -0
  64. package/dist/cjs/utils/logStack.cjs.map +1 -0
  65. package/dist/cjs/utils/normalizePath.cjs +15 -27
  66. package/dist/cjs/utils/normalizePath.cjs.map +1 -1
  67. package/dist/esm/_virtual/rolldown_runtime.mjs +17 -0
  68. package/dist/esm/alias.mjs +23 -74
  69. package/dist/esm/alias.mjs.map +1 -1
  70. package/dist/esm/built.mjs +5 -3
  71. package/dist/esm/built.mjs.map +1 -1
  72. package/dist/esm/bundleJSFile.mjs +26 -25
  73. package/dist/esm/bundleJSFile.mjs.map +1 -1
  74. package/dist/esm/client.mjs +4 -31
  75. package/dist/esm/configFile/buildConfigurationFields.mjs +97 -674
  76. package/dist/esm/configFile/buildConfigurationFields.mjs.map +1 -1
  77. package/dist/esm/configFile/getConfiguration.mjs +52 -75
  78. package/dist/esm/configFile/getConfiguration.mjs.map +1 -1
  79. package/dist/esm/configFile/index.mjs +5 -3
  80. package/dist/esm/configFile/loadConfigurationFile.mjs +22 -23
  81. package/dist/esm/configFile/loadConfigurationFile.mjs.map +1 -1
  82. package/dist/esm/configFile/searchConfigurationFile.mjs +45 -30
  83. package/dist/esm/configFile/searchConfigurationFile.mjs.map +1 -1
  84. package/dist/esm/defaultValues/build.mjs +16 -11
  85. package/dist/esm/defaultValues/build.mjs.map +1 -1
  86. package/dist/esm/defaultValues/content.mjs +48 -34
  87. package/dist/esm/defaultValues/content.mjs.map +1 -1
  88. package/dist/esm/defaultValues/editor.mjs +17 -11
  89. package/dist/esm/defaultValues/editor.mjs.map +1 -1
  90. package/dist/esm/defaultValues/index.mjs +21 -0
  91. package/dist/esm/defaultValues/index.mjs.map +1 -0
  92. package/dist/esm/defaultValues/internationalization.mjs +13 -7
  93. package/dist/esm/defaultValues/internationalization.mjs.map +1 -1
  94. package/dist/esm/defaultValues/log.mjs +10 -4
  95. package/dist/esm/defaultValues/log.mjs.map +1 -1
  96. package/dist/esm/defaultValues/routing.mjs +25 -0
  97. package/dist/esm/defaultValues/routing.mjs.map +1 -0
  98. package/dist/esm/extractErrorMessage.mjs +94 -0
  99. package/dist/esm/extractErrorMessage.mjs.map +1 -0
  100. package/dist/esm/index.mjs +18 -61
  101. package/dist/esm/loadEnvFile.mjs +27 -17
  102. package/dist/esm/loadEnvFile.mjs.map +1 -1
  103. package/dist/esm/loadExternalFile/bundleFile.mjs +68 -0
  104. package/dist/esm/loadExternalFile/bundleFile.mjs.map +1 -0
  105. package/dist/esm/loadExternalFile/loadExternalFile.mjs +81 -0
  106. package/dist/esm/loadExternalFile/loadExternalFile.mjs.map +1 -0
  107. package/dist/esm/loadExternalFile/parseFileContent.mjs +63 -0
  108. package/dist/esm/loadExternalFile/parseFileContent.mjs.map +1 -0
  109. package/dist/esm/loadExternalFile/transpileTSToMJS.mjs +55 -0
  110. package/dist/esm/loadExternalFile/transpileTSToMJS.mjs.map +1 -0
  111. package/dist/esm/logger.mjs +110 -115
  112. package/dist/esm/logger.mjs.map +1 -1
  113. package/dist/esm/package.mjs +6 -0
  114. package/dist/esm/package.mjs.map +1 -0
  115. package/dist/esm/retryManager.mjs +40 -23
  116. package/dist/esm/retryManager.mjs.map +1 -1
  117. package/dist/esm/utils/ESMxCJSHelpers.mjs +20 -6
  118. package/dist/esm/utils/ESMxCJSHelpers.mjs.map +1 -1
  119. package/dist/esm/utils/cache.mjs +414 -0
  120. package/dist/esm/utils/cache.mjs.map +1 -0
  121. package/dist/esm/utils/clearModuleCache.mjs +22 -21
  122. package/dist/esm/utils/clearModuleCache.mjs.map +1 -1
  123. package/dist/esm/utils/extractErrorMessage.mjs +94 -0
  124. package/dist/esm/utils/extractErrorMessage.mjs.map +1 -0
  125. package/dist/esm/utils/getExtension.mjs +11 -11
  126. package/dist/esm/utils/getExtension.mjs.map +1 -1
  127. package/dist/esm/utils/getPackageJsonPath.mjs +33 -0
  128. package/dist/esm/utils/getPackageJsonPath.mjs.map +1 -0
  129. package/dist/esm/utils/logStack.mjs +16 -0
  130. package/dist/esm/utils/logStack.mjs.map +1 -0
  131. package/dist/esm/utils/normalizePath.mjs +14 -3
  132. package/dist/esm/utils/normalizePath.mjs.map +1 -1
  133. package/dist/types/alias.d.ts +20 -12
  134. package/dist/types/alias.d.ts.map +1 -1
  135. package/dist/types/built.d.ts +7 -6
  136. package/dist/types/built.d.ts.map +1 -1
  137. package/dist/types/bundleJSFile.d.ts +97 -93
  138. package/dist/types/bundleJSFile.d.ts.map +1 -1
  139. package/dist/types/client.d.ts +3 -5
  140. package/dist/types/configFile/buildConfigurationFields.d.ts +7 -2
  141. package/dist/types/configFile/buildConfigurationFields.d.ts.map +1 -1
  142. package/dist/types/configFile/getConfiguration.d.ts +19 -15
  143. package/dist/types/configFile/getConfiguration.d.ts.map +1 -1
  144. package/dist/types/configFile/index.d.ts +4 -3
  145. package/dist/types/configFile/loadConfigurationFile.d.ts +8 -3
  146. package/dist/types/configFile/loadConfigurationFile.d.ts.map +1 -1
  147. package/dist/types/configFile/searchConfigurationFile.d.ts +6 -4
  148. package/dist/types/configFile/searchConfigurationFile.d.ts.map +1 -1
  149. package/dist/types/defaultValues/build.d.ts +10 -4
  150. package/dist/types/defaultValues/build.d.ts.map +1 -1
  151. package/dist/types/defaultValues/content.d.ts +23 -16
  152. package/dist/types/defaultValues/content.d.ts.map +1 -1
  153. package/dist/types/defaultValues/editor.d.ts +14 -9
  154. package/dist/types/defaultValues/editor.d.ts.map +1 -1
  155. package/dist/types/defaultValues/index.d.ts +14 -0
  156. package/dist/types/defaultValues/index.d.ts.map +1 -0
  157. package/dist/types/defaultValues/internationalization.d.ts +12 -6
  158. package/dist/types/defaultValues/internationalization.d.ts.map +1 -1
  159. package/dist/types/defaultValues/log.d.ts +7 -2
  160. package/dist/types/defaultValues/log.d.ts.map +1 -1
  161. package/dist/types/defaultValues/routing.d.ts +14 -0
  162. package/dist/types/defaultValues/routing.d.ts.map +1 -0
  163. package/dist/types/extractErrorMessage.d.ts +5 -0
  164. package/dist/types/extractErrorMessage.d.ts.map +1 -0
  165. package/dist/types/index.d.ts +21 -17
  166. package/dist/types/loadEnvFile.d.ts +8 -5
  167. package/dist/types/loadEnvFile.d.ts.map +1 -1
  168. package/dist/types/loadExternalFile/bundleFile.d.ts +10 -0
  169. package/dist/types/loadExternalFile/bundleFile.d.ts.map +1 -0
  170. package/dist/types/loadExternalFile/loadExternalFile.d.ts +25 -0
  171. package/dist/types/loadExternalFile/loadExternalFile.d.ts.map +1 -0
  172. package/dist/types/loadExternalFile/parseFileContent.d.ts +29 -0
  173. package/dist/types/loadExternalFile/parseFileContent.d.ts.map +1 -0
  174. package/dist/types/loadExternalFile/transpileTSToMJS.d.ts +9 -0
  175. package/dist/types/loadExternalFile/transpileTSToMJS.d.ts.map +1 -0
  176. package/dist/types/logger.d.ts +41 -37
  177. package/dist/types/logger.d.ts.map +1 -1
  178. package/dist/types/retryManager.d.ts +26 -8
  179. package/dist/types/retryManager.d.ts.map +1 -1
  180. package/dist/types/utils/ESMxCJSHelpers.d.ts +16 -2
  181. package/dist/types/utils/ESMxCJSHelpers.d.ts.map +1 -1
  182. package/dist/types/utils/cache.d.ts +50 -0
  183. package/dist/types/utils/cache.d.ts.map +1 -0
  184. package/dist/types/utils/clearModuleCache.d.ts +4 -1
  185. package/dist/types/utils/clearModuleCache.d.ts.map +1 -1
  186. package/dist/types/utils/extractErrorMessage.d.ts +5 -0
  187. package/dist/types/utils/extractErrorMessage.d.ts.map +1 -0
  188. package/dist/types/utils/getExtension.d.ts +6 -2
  189. package/dist/types/utils/getExtension.d.ts.map +1 -1
  190. package/dist/types/utils/getPackageJsonPath.d.ts +10 -0
  191. package/dist/types/utils/getPackageJsonPath.d.ts.map +1 -0
  192. package/dist/types/utils/logStack.d.ts +7 -0
  193. package/dist/types/utils/logStack.d.ts.map +1 -0
  194. package/dist/types/utils/normalizePath.d.ts +4 -1
  195. package/dist/types/utils/normalizePath.d.ts.map +1 -1
  196. package/package.json +40 -35
  197. package/LICENSE +0 -202
  198. package/dist/cjs/client.cjs.map +0 -1
  199. package/dist/cjs/configFile/index.cjs.map +0 -1
  200. package/dist/cjs/defaultValues/middleware.cjs +0 -47
  201. package/dist/cjs/defaultValues/middleware.cjs.map +0 -1
  202. package/dist/cjs/getSandboxContext.cjs +0 -64
  203. package/dist/cjs/getSandboxContext.cjs.map +0 -1
  204. package/dist/cjs/index.cjs.map +0 -1
  205. package/dist/cjs/loadExternalFile.cjs +0 -105
  206. package/dist/cjs/loadExternalFile.cjs.map +0 -1
  207. package/dist/cjs/types/config.cjs +0 -17
  208. package/dist/cjs/types/config.cjs.map +0 -1
  209. package/dist/cjs/types/locales.cjs +0 -310
  210. package/dist/cjs/types/locales.cjs.map +0 -1
  211. package/dist/esm/client.mjs.map +0 -1
  212. package/dist/esm/configFile/index.mjs.map +0 -1
  213. package/dist/esm/defaultValues/middleware.mjs +0 -17
  214. package/dist/esm/defaultValues/middleware.mjs.map +0 -1
  215. package/dist/esm/getSandboxContext.mjs +0 -40
  216. package/dist/esm/getSandboxContext.mjs.map +0 -1
  217. package/dist/esm/index.mjs.map +0 -1
  218. package/dist/esm/loadExternalFile.mjs +0 -81
  219. package/dist/esm/loadExternalFile.mjs.map +0 -1
  220. package/dist/esm/types/config.mjs +0 -1
  221. package/dist/esm/types/config.mjs.map +0 -1
  222. package/dist/esm/types/locales.mjs +0 -286
  223. package/dist/esm/types/locales.mjs.map +0 -1
  224. package/dist/types/client.d.ts.map +0 -1
  225. package/dist/types/configFile/index.d.ts.map +0 -1
  226. package/dist/types/defaultValues/middleware.d.ts +0 -8
  227. package/dist/types/defaultValues/middleware.d.ts.map +0 -1
  228. package/dist/types/getSandboxContext.d.ts +0 -4
  229. package/dist/types/getSandboxContext.d.ts.map +0 -1
  230. package/dist/types/index.d.ts.map +0 -1
  231. package/dist/types/loadExternalFile.d.ts +0 -8
  232. package/dist/types/loadExternalFile.d.ts.map +0 -1
  233. package/dist/types/types/config.d.ts +0 -659
  234. package/dist/types/types/config.d.ts.map +0 -1
  235. package/dist/types/types/locales.d.ts +0 -564
  236. package/dist/types/types/locales.d.ts.map +0 -1
@@ -1,659 +0,0 @@
1
- import type { Locales } from './locales';
2
- export type StrictMode = 'strict' | 'inclusive' | 'loose';
3
- /**
4
- * Configuration for internationalization settings
5
- */
6
- export type InternationalizationConfig = {
7
- /**
8
- * Locales available in the application
9
- *
10
- * Default: [Locales.ENGLISH]
11
- *
12
- * You can define a list of available locales to support in the application.
13
- */
14
- locales: Locales[];
15
- /**
16
- * Locales required by TypeScript to ensure strong implementations of internationalized content using typescript.
17
- *
18
- * Default: []
19
- *
20
- * If empty, all locales are required in `strict` mode.
21
- *
22
- * Ensure required locales are also defined in the `locales` field.
23
- */
24
- requiredLocales: Locales[];
25
- /**
26
- * Ensure strong implementations of internationalized content using typescript.
27
- * - If set to "strict", the translation `t` function will require each declared locales to be defined. If one locale is missing, or if a locale is not declared in your config, it will throw an error.
28
- * - If set to "inclusive", the translation `t` function will require each declared locales to be defined. If one locale is missing, it will throw a warning. But will accept if a locale is not declared in your config, but exist.
29
- * - If set to "loose", the translation `t` function will accept any existing locale.
30
- *
31
- * Default: "inclusive"
32
- */
33
- strictMode: StrictMode;
34
- /**
35
- * Default locale of the application for fallback
36
- *
37
- * Default: Locales.ENGLISH
38
- *
39
- * Used to specify a fallback locale in case no other locale is set.
40
- */
41
- defaultLocale: Locales;
42
- };
43
- export type ServerSetCookieRule = 'always' | 'never';
44
- /**
45
- * Configuration for middleware behaviors
46
- */
47
- export type MiddlewareConfig = {
48
- /**
49
- * Header name to get the locale from the request
50
- *
51
- * Default: 'x-intlayer-locale'
52
- *
53
- * The HTTP header key used to determine the current locale.
54
- */
55
- headerName: string;
56
- /**
57
- * Cookie name to store the locale information
58
- *
59
- * Default: 'INTLAYER_LOCALE'
60
- *
61
- * The cookie key where the locale information is stored.
62
- */
63
- cookieName: string;
64
- /**
65
- * Prefix default prefix the default locale to the path as other locales.
66
- *
67
- * Example with prefixDefault = true and defaultLocale = 'en':
68
- * path = /en/dashboard or /fr/dashboard
69
- *
70
- * Example with prefixDefault = false and defaultLocale = 'en':
71
- * path = /dashboard or /fr/dashboard
72
- *
73
- *
74
- * Default: false
75
- */
76
- prefixDefault: boolean;
77
- /**
78
- * Base path for application URLs
79
- *
80
- * Default: ''
81
- *
82
- * Defines the base path where the application is accessible from.
83
- */
84
- basePath: string;
85
- /**
86
- * Strategy for setting the locale cookie on the server
87
- *
88
- * Default: 'always'
89
- *
90
- * This setting controls when the server sets the locale cookie. It can either set the cookie on every request or never set it.
91
- */
92
- serverSetCookie: ServerSetCookieRule;
93
- /**
94
- * Indicates if no prefix should be used in the URL for locale
95
- *
96
- * Default: false
97
- *
98
- * If true, no locale-based prefix is used in the URL.
99
- */
100
- noPrefix: boolean;
101
- /**
102
- * Controls whether locale detection occurs during Next.js prefetch requests
103
- * - true: Detect and apply locale during prefetch
104
- * - false: Use default locale during prefetch (recommended)
105
- *
106
- * This setting affects how Next.js handles locale prefetching:
107
- *
108
- * Example scenario:
109
- * - User's browser language is 'fr'
110
- * - Current page is /fr/about
111
- * - Link prefetches /about
112
- *
113
- * With `detectLocaleOnPrefetchNoPrefix:true`
114
- * - Prefetch detects 'fr' locale from browser
115
- * - Redirects prefetch to /fr/about
116
- *
117
- * With `detectLocaleOnPrefetchNoPrefix:false` (default)
118
- * - Prefetch uses default locale
119
- * - Redirects prefetch to /en/about (assuming 'en' is default)
120
- *
121
- * When to use true:
122
- * - Your app uses non-localized internal links (e.g. <a href="/about">)
123
- * - You want consistent locale detection behavior between regular and prefetch requests
124
- *
125
- * When to use false (default):
126
- * - Your app uses locale-prefixed links (e.g. <a href="/fr/about">)
127
- * - You want to optimize prefetching performance
128
- * - You want to avoid potential redirect loops
129
- *
130
- * Default: false
131
- */
132
- detectLocaleOnPrefetchNoPrefix: boolean;
133
- };
134
- /**
135
- * Configuration for intlayer editor
136
- */
137
- export type EditorConfig = {
138
- /**
139
- * URL of the application. Used to restrict the origin of the editor for security reasons.
140
- *
141
- * > '*' means that the editor is accessible from any origin
142
- *
143
- * Default: '*'
144
- */
145
- applicationURL: string;
146
- /**
147
- * URL of the editor server. Used to restrict the origin of the editor for security reasons.
148
- *
149
- * > '*' means that the editor is accessible from any origin
150
- *
151
- * Default: 'http://localhost:8000'
152
- */
153
- editorURL: string;
154
- /**
155
- * URL of the CMS server. Used to restrict the origin of the editor for security reasons.
156
- *
157
- * Default: 'https://intlayer.org'
158
- */
159
- cmsURL: string;
160
- /**
161
- * URL of the backend
162
- *
163
- * Default: 'https://back.intlayer.org'
164
- *
165
- * The URL of the backend server.
166
- */
167
- backendURL: string;
168
- /**
169
- * Indicates if the application interact with the visual editor
170
- *
171
- * Default: true;
172
- *
173
- * If true, the editor will be able to interact with the application.
174
- * If false, the editor will not be able to interact with the application.
175
- * In any case, the editor can only be enabled by the visual editor.
176
- * Disabling the editor for specific environments is a way to enforce the security.
177
- *
178
- * Usage:
179
- * ```js
180
- * {
181
- * // Other configurations
182
- * editor: {
183
- * enabled: process.env.NODE_ENV !== 'production',
184
- * }
185
- * };
186
- * ```
187
- *
188
- */
189
- enabled: boolean;
190
- /** Port of the editor server
191
- *
192
- * Default: 8000
193
- */
194
- port: number;
195
- /**
196
- * clientId and clientSecret allow the intlayer packages to authenticate with the backend using oAuth2 authentication.
197
- * An access token is use to authenticate the user related to the project.
198
- * To get an access token, go to https://intlayer.org/dashboard/project and create an account.
199
- *
200
- * Default: undefined
201
- *
202
- * > Important: The clientId and clientSecret should be kept secret and not shared publicly. Please ensure to keep them in a secure location, such as environment variables.
203
- */
204
- clientId?: string;
205
- /**
206
- * clientId and clientSecret allow the intlayer packages to authenticate with the backend using oAuth2 authentication.
207
- * An access token is use to authenticate the user related to the project.
208
- * To get an access token, go to https://intlayer.org/dashboard/project and create an account.
209
- *
210
- * Default: undefined
211
- *
212
- * > Important: The clientId and clientSecret should be kept secret and not shared publicly. Please ensure to keep them in a secure location, such as environment variables.
213
- */
214
- clientSecret?: string;
215
- /**
216
- * Strategy for prioritizing dictionaries. If a dictionary is both present online and locally, the content will be merge.
217
- * However, is a field is defined in both dictionary, this setting determines which fields takes the priority over the other.
218
- *
219
- * Default: 'local_first'
220
- *
221
- * The strategy for prioritizing dictionaries. It can be either 'local_first' or 'distant_first'.
222
- * - 'local_first': The first dictionary found in the locale is used.
223
- * - 'distant_first': The first dictionary found in the distant locales is used.
224
- */
225
- dictionaryPriorityStrategy: 'local_first' | 'distant_first';
226
- /**
227
- * Indicates if the application should hot reload the locale configurations when a change is detected.
228
- * For example, when a new dictionary is added or updated, the application will update the content tu display in the page.
229
- *
230
- * Default: true
231
- */
232
- liveSync: boolean;
233
- /**
234
- * Port of the live sync server
235
- *
236
- * Default: 4000
237
- */
238
- liveSyncPort: number;
239
- /**
240
- * URL of the live sync server in case of remote live sync server
241
- *
242
- * Default: `http://localhost:${liveSyncPort}`
243
- */
244
- liveSyncURL: string;
245
- };
246
- export type AiConfig = {
247
- /**
248
- * Provider
249
- *
250
- * The provider to use for the AI features of Intlayer.
251
- *
252
- * Available providers:
253
- * - 'openai'
254
- * - 'anthropic'
255
- * - 'mistral'
256
- * - 'deepseek'
257
- * - 'gemini'
258
- *
259
- * Default: 'openai'
260
- */
261
- provider?: string;
262
- /**
263
- * API model
264
- *
265
- * The model to use for the AI features of Intlayer.
266
- *
267
- * Example: 'gpt-4o-2024-11-20'
268
- *
269
- */
270
- model?: string;
271
- /**
272
- * temperature
273
- *
274
- * The temperature to use for the AI features of Intlayer.
275
- * The temperature controls the randomness of the AI's responses.
276
- * A higher temperature will make the AI more creative and less predictable.
277
- *
278
- * Example: 0.1
279
- */
280
- temperature?: number;
281
- /**
282
- * API key
283
- *
284
- * Use your own OpenAI API key to use the AI features of Intlayer.
285
- * If you don't have an OpenAI API key, you can get one for free at https://openai.com/api/.
286
- *
287
- */
288
- apiKey?: string;
289
- /**
290
- * Application context
291
- *
292
- * The context of the application to use for the AI features of Intlayer.
293
- *
294
- * Example: 'This is a website for a company that sells products online.'
295
- */
296
- applicationContext?: string;
297
- };
298
- export type BuildConfig = {
299
- /**
300
- * Indicates if the build should be optimized
301
- *
302
- * Default: process.env.NODE_ENV === 'production'
303
- *
304
- * If true, the build will be optimized.
305
- * If false, the build will not be optimized.
306
- *
307
- * Intlayer will replace all calls of dictionaries to optimize chunking. That way the final bundle will import only the dictionaries that are used.
308
- * All imports will stay as static import to avoid async processing when loading the dictionaries.
309
- *
310
- * Note:
311
- * - Intlayer will replace all call of `useIntlayer` with the defined mode by the `importMode` option.
312
- * - Intlayer will replace all call of `getIntlayer` with `getDictionary`.
313
- * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.
314
- * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.
315
- */
316
- optimize: boolean;
317
- /**
318
- * Indicates the mode of import to use for the dictionaries.
319
- *
320
- * Available modes:
321
- * - "static": The dictionaries are imported statically.
322
- * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionary`.
323
- * - "dynamic": The dictionaries are imported dynamically in a synchronous component using the suspense API.
324
- * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.
325
- * - "live": The dictionaries are imported dynamically using the live sync API.
326
- * In that case, Intlayer will replace all calls to `useIntlayer` with `useDictionaryDynamic`.
327
- * Live mode will use the live sync API to fetch the dictionaries. If the API call fails, the dictionaries will be imported dynamically as "dynamic" mode.
328
- *
329
- * Default: "static"
330
- *
331
- * By default, when a dictionary is loaded, it imports content for all locales as it's imported statically.
332
- *
333
- * Note:
334
- * - Dynamic imports rely on Suspense and may slightly impact rendering performance.
335
- * - If desabled all locales will be loaded at once, even if they are not used.
336
- * - This option relies on the `@intlayer/babel` and `@intlayer/swc` plugins.
337
- * - Ensure all keys are declared statically in the `useIntlayer` calls. e.g. `useIntlayer('navbar')`.
338
- * - This option will be ignored if `optimize` is disabled.
339
- * - This option will not impact the `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` and `useDictionaryDynamic` functions. You can still use them to refine you code on manual optimization.
340
- * - The "live" allows to sync the dictionaries to the live sync server.
341
- * - Require static key to work. Example of invalid code: `const navbarKey = "my-key"; useIntlayer(navbarKey)`.
342
- */
343
- importMode: 'static' | 'dynamic' | 'live';
344
- /**
345
- * Pattern to traverse the code to optimize.
346
- *
347
- * Allows to avoid to traverse the code that is not relevant to the optimization.
348
- * Improve build performance.
349
- *
350
- * Default: ['**\/*.{js,ts,mjs,cjs,jsx,tsx,mjx,cjx}', '!**\/node_modules/**']
351
- *
352
- * Example: `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**\/node_modules/**']`
353
- *
354
- * Note:
355
- * - This option will be ignored if `optimize` is disabled.
356
- * - Use glob pattern.
357
- */
358
- traversePattern: string[];
359
- /**
360
- * Output format of the dictionaries
361
- *
362
- * Default: ['cjs', 'esm']
363
- *
364
- * The output format of the dictionaries. It can be either 'cjs' or 'esm'. Even if dictionaries are written in JSON, entry point to access the dictionaries are generated.
365
- * This function will use the output format defined using this option.
366
- * The default format is 'cjs' as it allows better interoperability with other libraries, scripts, and applications. But some build tools, such as Vite, require ES modules.
367
- */
368
- outputFormat: ('cjs' | 'esm')[];
369
- };
370
- /**
371
- * Custom configuration that can be provided to override default settings
372
- */
373
- export type CustomIntlayerConfig = {
374
- /**
375
- * Custom internationalization configuration
376
- */
377
- internationalization?: Partial<InternationalizationConfig>;
378
- /**
379
- * Custom middleware configuration
380
- */
381
- middleware?: Partial<MiddlewareConfig>;
382
- /**
383
- * Custom content configuration
384
- */
385
- content?: Partial<ContentConfig>;
386
- /**
387
- * Custom editor configuration
388
- */
389
- editor?: Partial<EditorConfig>;
390
- /**
391
- * Custom middleware configuration
392
- */
393
- log?: Partial<LogConfig>;
394
- /**
395
- * Custom AI configuration
396
- */
397
- ai?: Partial<AiConfig>;
398
- /**
399
- * Custom build configuration
400
- */
401
- build?: Partial<BuildConfig>;
402
- /**
403
- * Custom plugins configuration
404
- */
405
- plugins?: PluginConfig[];
406
- };
407
- /**
408
- * Combined configuration for internationalization, middleware, and content
409
- */
410
- export type IntlayerConfig = {
411
- /**
412
- * Internationalization configuration
413
- */
414
- internationalization: InternationalizationConfig;
415
- /**
416
- * Middleware configuration
417
- */
418
- middleware: MiddlewareConfig;
419
- /**
420
- * Content configuration
421
- */
422
- content: ContentConfig;
423
- /**
424
- * Intlayer editor configuration
425
- */
426
- editor: EditorConfig;
427
- /**
428
- * Logger configuration
429
- */
430
- log: LogConfig;
431
- /**
432
- * AI configuration
433
- */
434
- ai?: Partial<AiConfig>;
435
- /**
436
- * Build configuration
437
- */
438
- build: BuildConfig;
439
- /**
440
- * Plugins configuration
441
- */
442
- plugins?: PluginConfig[];
443
- };
444
- /**
445
- * Base configuration for content handling
446
- */
447
- export type BaseContentConfig = {
448
- /**
449
- * File extensions of content to look for
450
- *
451
- * Default: ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']
452
- *
453
- * List of file extensions to scan for content.
454
- */
455
- fileExtensions: string[];
456
- /**
457
- * Absolute path of the project's base directory
458
- *
459
- * Default: process.cwd()
460
- *
461
- * The root directory of the project, typically used for resolving other paths.
462
- */
463
- baseDir: string;
464
- /**
465
- * Directories to be excluded from content processing
466
- *
467
- * Default: ['node_modules', '.intlayer']
468
- *
469
- * A list of directories to exclude from content processing.
470
- */
471
- excludedPath: string[];
472
- /**
473
- * Indicates if Intlayer should watch for changes in the content declaration files in the app to rebuild the related dictionaries.
474
- *
475
- * Default: process.env.NODE_ENV === 'development'
476
- */
477
- watch: boolean;
478
- /**
479
- * Indicate how the content should be automatically filled using AI.
480
- *
481
- * Default: undefined
482
- *
483
- */
484
- autoFill?: boolean | string | {
485
- [key in Locales]?: string;
486
- };
487
- };
488
- /**
489
- * Configuration derived based on the base content configuration
490
- */
491
- export type BaseDerivedConfig = {
492
- /**
493
- * Directory where the content is stored, relative to the base directory
494
- *
495
- * Default: ['.']
496
- *
497
- * Derived content directory based on the base configuration.
498
- */
499
- contentDir: string[];
500
- /**
501
- * Directory where the results are stored, relative to the base directory
502
- *
503
- * Default: .intlayer/dictionary
504
- *
505
- * Derived results directory based on the base configuration.
506
- */
507
- dictionariesDir: string;
508
- /**
509
- * Directory for module augmentation, relative to the base directory
510
- *
511
- * Default: .intlayer/types
512
- *
513
- * Defines the derived path for module augmentation.
514
- */
515
- moduleAugmentationDir: string;
516
- };
517
- /**
518
- * Configuration derived based on the result directory
519
- */
520
- export type ResultDirDerivedConfig = {
521
- /**
522
- * Directory where unmerged dictionaries are stored, relative to the result directory
523
- *
524
- * Default: .intlayer/unmerged_dictionary
525
- *
526
- * Specifies the derived path for unmerged dictionaries relative to the result directory.
527
- */
528
- unmergedDictionariesDir: string;
529
- /**
530
- * Directory where remote dictionaries are stored, relative to the result directory
531
- *
532
- * Default: .intlayer/remote_dictionary
533
- *
534
- * Specifies the derived path for remote dictionaries relative to the result directory.
535
- */
536
- remoteDictionariesDir: string;
537
- /**
538
- * Directory where final dictionaries are stored, relative to the result directory
539
- *
540
- * Default: .intlayer/dictionary
541
- *
542
- * Specifies the derived path for dictionaries relative to the result directory.
543
- */
544
- dictionariesDir: string;
545
- /**
546
- * Directory where dynamic dictionaries are stored, relative to the result directory
547
- *
548
- * Default: .intlayer/dynamic_dictionary
549
- *
550
- * Specifies the derived path for dynamic dictionaries relative to the result directory.
551
- */
552
- dynamicDictionariesDir: string;
553
- /**
554
- * Directory where fetch dictionaries are stored, relative to the result directory
555
- *
556
- * Default: .intlayer/fetch_dictionary
557
- *
558
- * Specifies the derived path for fetch dictionaries relative to the result directory.
559
- */
560
- fetchDictionariesDir: string;
561
- /**
562
- * Directory where dictionary types are stored, relative to the result directory
563
- *
564
- * Default: .intlayer/types
565
- *
566
- * Specifies the derived path for dictionary types relative to the result directory.
567
- */
568
- typesDir: string;
569
- /**
570
- * Directory where the main files are stored, relative to the result directory
571
- *
572
- * Default: .intlayer/main
573
- *
574
- * Specifies the derived path for the main files relative to the result directory.
575
- */
576
- mainDir: string;
577
- /**
578
- * Directory where the configuration files are stored, relative to the result directory
579
- *
580
- * Default: .intlayer/config
581
- *
582
- * Specifies the derived path for the configuration files relative to the result directory.
583
- */
584
- configDir: string;
585
- };
586
- /**
587
- * Configuration for content patterns
588
- */
589
- export type PatternsContentConfig = {
590
- /**
591
- * Patterns of files to watch for changes
592
- *
593
- * Default: ['/**\/*.content.ts', '/**\/*.content.js', '/**\/*.content.json', '/**\/*.content.cjs', '/**\/*.content.mjs', '/**\/*.content.tsx', '/**\/*.content.jsx']
594
- *
595
- * Defines file patterns for content to watch for changes.
596
- */
597
- watchedFilesPattern: string[];
598
- /**
599
- * Patterns of files to watch for changes including the relative path
600
- *
601
- * Default: ['src/**\/*.content.ts', 'src/**\/*.content.js', 'src/**\/*.content.json', 'src/**\/*.content.cjs', 'src/**\/*.content.mjs', 'src/**\/*.content.tsx', 'src/**\/*.content.jsx']
602
- *
603
- * Specifies the file patterns for content to watch, including relative paths.
604
- */
605
- watchedFilesPatternWithPath: string[];
606
- /**
607
- * Pattern for output files including the relative path
608
- *
609
- * Default: '{{dictionariesDir}}/**\/*.json'
610
- *
611
- * Defines the pattern for output files, including the relative path.
612
- */
613
- outputFilesPatternWithPath: string;
614
- };
615
- /**
616
- * General configuration derived from the config file
617
- */
618
- export type ContentConfig = BaseContentConfig & BaseDerivedConfig & ResultDirDerivedConfig & PatternsContentConfig;
619
- export type LogFunctions = {
620
- error?: typeof console.error;
621
- log?: typeof console.log;
622
- info?: typeof console.info;
623
- warn?: typeof console.warn;
624
- };
625
- export type LogConfig = {
626
- /**
627
- * Indicates if the logger is enabled
628
- *
629
- * Default: true
630
- *
631
- * If 'default', the logger is enabled and can be used.
632
- * If 'verbose', the logger will be enabled and can be used, but will log more information.
633
- * If 'disabled', the logger is disabled and cannot be used.
634
- */
635
- mode: 'default' | 'verbose' | 'disabled';
636
- /**
637
- * Prefix of the logger
638
- *
639
- * Default: '[intlayer]'
640
- *
641
- * The prefix of the logger.
642
- */
643
- prefix: string;
644
- /**
645
- * Functions to log
646
- */
647
- error?: typeof console.error;
648
- log?: typeof console.log;
649
- info?: typeof console.info;
650
- warn?: typeof console.warn;
651
- debug?: typeof console.debug;
652
- };
653
- export type PluginConfig = {
654
- /**
655
- * Name of the plugin
656
- */
657
- name: string;
658
- };
659
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"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"}