@translated/lara-cli 0.2.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 (68) hide show
  1. package/README.md +212 -0
  2. package/build/cli/cmd/glossary/glossary.js +55 -0
  3. package/build/cli/cmd/glossary/glossary.js.map +1 -0
  4. package/build/cli/cmd/init/init.input.js +177 -0
  5. package/build/cli/cmd/init/init.input.js.map +1 -0
  6. package/build/cli/cmd/init/init.js +158 -0
  7. package/build/cli/cmd/init/init.js.map +1 -0
  8. package/build/cli/cmd/init/init.types.js +2 -0
  9. package/build/cli/cmd/init/init.types.js.map +1 -0
  10. package/build/cli/cmd/init/init.utils.js +99 -0
  11. package/build/cli/cmd/init/init.utils.js.map +1 -0
  12. package/build/cli/cmd/memory/memory.js +55 -0
  13. package/build/cli/cmd/memory/memory.js.map +1 -0
  14. package/build/cli/cmd/translate/translate.js +149 -0
  15. package/build/cli/cmd/translate/translate.js.map +1 -0
  16. package/build/index.js +25 -0
  17. package/build/index.js.map +1 -0
  18. package/build/interface/parser.js +2 -0
  19. package/build/interface/parser.js.map +1 -0
  20. package/build/messages/messages.js +120 -0
  21. package/build/messages/messages.js.map +1 -0
  22. package/build/modules/common/common.const.js +424 -0
  23. package/build/modules/common/common.const.js.map +1 -0
  24. package/build/modules/common/common.types.js +15 -0
  25. package/build/modules/common/common.types.js.map +1 -0
  26. package/build/modules/config/config.provider.js +47 -0
  27. package/build/modules/config/config.provider.js.map +1 -0
  28. package/build/modules/config/config.types.js +95 -0
  29. package/build/modules/config/config.types.js.map +1 -0
  30. package/build/modules/translation/translation.engine.js +165 -0
  31. package/build/modules/translation/translation.engine.js.map +1 -0
  32. package/build/modules/translation/translation.service.js +45 -0
  33. package/build/modules/translation/translation.service.js.map +1 -0
  34. package/build/parsers/android-xml.parser.js +308 -0
  35. package/build/parsers/android-xml.parser.js.map +1 -0
  36. package/build/parsers/json.parser.js +18 -0
  37. package/build/parsers/json.parser.js.map +1 -0
  38. package/build/parsers/markdown.parser.js +74 -0
  39. package/build/parsers/markdown.parser.js.map +1 -0
  40. package/build/parsers/parser.factory.js +52 -0
  41. package/build/parsers/parser.factory.js.map +1 -0
  42. package/build/parsers/parser.types.js +2 -0
  43. package/build/parsers/parser.types.js.map +1 -0
  44. package/build/parsers/po.parser.js +175 -0
  45. package/build/parsers/po.parser.js.map +1 -0
  46. package/build/parsers/ts.parser.js +176 -0
  47. package/build/parsers/ts.parser.js.map +1 -0
  48. package/build/parsers/vue.parser.js +156 -0
  49. package/build/parsers/vue.parser.js.map +1 -0
  50. package/build/utils/checksum.js +80 -0
  51. package/build/utils/checksum.js.map +1 -0
  52. package/build/utils/cli.js +4 -0
  53. package/build/utils/cli.js.map +1 -0
  54. package/build/utils/display.js +60 -0
  55. package/build/utils/display.js.map +1 -0
  56. package/build/utils/error.js +18 -0
  57. package/build/utils/error.js.map +1 -0
  58. package/build/utils/locale.js +108 -0
  59. package/build/utils/locale.js.map +1 -0
  60. package/build/utils/parser.js +25 -0
  61. package/build/utils/parser.js.map +1 -0
  62. package/build/utils/path.js +173 -0
  63. package/build/utils/path.js.map +1 -0
  64. package/build/utils/progressWithOra.js +72 -0
  65. package/build/utils/progressWithOra.js.map +1 -0
  66. package/build/utils/prompt.js +205 -0
  67. package/build/utils/prompt.js.map +1 -0
  68. package/package.json +89 -0
@@ -0,0 +1,424 @@
1
+ export const COMMA_AND_SPACE_REGEX = /[\s,]+/;
2
+ export const ISO_639_1_LOCALES = [
3
+ 'af',
4
+ 'ak',
5
+ 'am',
6
+ 'ar',
7
+ 'as',
8
+ 'az',
9
+ 'ba',
10
+ 'be',
11
+ 'bg',
12
+ 'bm',
13
+ 'bn',
14
+ 'bo',
15
+ 'bs',
16
+ 'ca',
17
+ 'cs',
18
+ 'cy',
19
+ 'da',
20
+ 'de',
21
+ 'dz',
22
+ 'ee',
23
+ 'el',
24
+ 'en',
25
+ 'eo',
26
+ 'es',
27
+ 'et',
28
+ 'eu',
29
+ 'fa',
30
+ 'fi',
31
+ 'fj',
32
+ 'fo',
33
+ 'fr',
34
+ 'ga',
35
+ 'gd',
36
+ 'gl',
37
+ 'gn',
38
+ 'gu',
39
+ 'ha',
40
+ 'he',
41
+ 'hi',
42
+ 'hr',
43
+ 'ht',
44
+ 'hu',
45
+ 'hy',
46
+ 'id',
47
+ 'ig',
48
+ 'is',
49
+ 'it',
50
+ 'ja',
51
+ 'jv',
52
+ 'ka',
53
+ 'kg',
54
+ 'ki',
55
+ 'kk',
56
+ 'km',
57
+ 'kn',
58
+ 'ko',
59
+ 'ks',
60
+ 'ky',
61
+ 'la',
62
+ 'lb',
63
+ 'lg',
64
+ 'li',
65
+ 'ln',
66
+ 'lo',
67
+ 'lt',
68
+ 'lv',
69
+ 'mg',
70
+ 'mi',
71
+ 'mk',
72
+ 'ml',
73
+ 'mn',
74
+ 'mr',
75
+ 'ms',
76
+ 'mt',
77
+ 'my',
78
+ 'nb',
79
+ 'ne',
80
+ 'nl',
81
+ 'ny',
82
+ 'oc',
83
+ 'or',
84
+ 'pa',
85
+ 'pl',
86
+ 'ps',
87
+ 'pt',
88
+ 'rn',
89
+ 'ro',
90
+ 'ru',
91
+ 'rw',
92
+ 'sa',
93
+ 'sc',
94
+ 'sd',
95
+ 'sg',
96
+ 'si',
97
+ 'sk',
98
+ 'sl',
99
+ 'sm',
100
+ 'sn',
101
+ 'so',
102
+ 'sq',
103
+ 'sr',
104
+ 'ss',
105
+ 'st',
106
+ 'su',
107
+ 'sv',
108
+ 'sw',
109
+ 'ta',
110
+ 'te',
111
+ 'tg',
112
+ 'th',
113
+ 'ti',
114
+ 'tk',
115
+ 'tl',
116
+ 'tn',
117
+ 'tr',
118
+ 'ts',
119
+ 'tt',
120
+ 'tw',
121
+ 'ug',
122
+ 'uk',
123
+ 'ur',
124
+ 'vi',
125
+ 'wo',
126
+ 'xh',
127
+ 'yo',
128
+ 'zh',
129
+ 'zu',
130
+ ];
131
+ export const ISO_639_3_LOCALES = [
132
+ 'ace',
133
+ 'als',
134
+ 'ast',
135
+ 'awa',
136
+ 'ayr',
137
+ 'azb',
138
+ 'ban',
139
+ 'bem',
140
+ 'bho',
141
+ 'bjn',
142
+ 'bug',
143
+ 'ceb',
144
+ 'cjk',
145
+ 'ckb',
146
+ 'crh',
147
+ 'dik',
148
+ 'diq',
149
+ 'dyu',
150
+ 'fil',
151
+ 'fon',
152
+ 'fur',
153
+ 'fuv',
154
+ 'gaz',
155
+ 'hne',
156
+ 'ilo',
157
+ 'kab',
158
+ 'kac',
159
+ 'kam',
160
+ 'kas',
161
+ 'kbp',
162
+ 'kea',
163
+ 'khk',
164
+ 'kmb',
165
+ 'kmr',
166
+ 'knc',
167
+ 'lij',
168
+ 'lmo',
169
+ 'ltg',
170
+ 'lua',
171
+ 'luo',
172
+ 'lus',
173
+ 'mag',
174
+ 'mai',
175
+ 'min',
176
+ 'mni',
177
+ 'mos',
178
+ 'nso',
179
+ 'nus',
180
+ 'pag',
181
+ 'pap',
182
+ 'pbt',
183
+ 'plt',
184
+ 'prs',
185
+ 'quy',
186
+ 'sat',
187
+ 'scn',
188
+ 'shn',
189
+ 'szl',
190
+ 'taq',
191
+ 'tpi',
192
+ 'tum',
193
+ 'tzm',
194
+ 'umb',
195
+ 'uzn',
196
+ 'vec',
197
+ 'vls',
198
+ 'war',
199
+ 'ydd',
200
+ ];
201
+ export const BCP_47_LOCALES = [
202
+ 'ace-ID',
203
+ 'af-ZA',
204
+ 'ak-GH',
205
+ 'als-AL',
206
+ 'am-ET',
207
+ 'ar-SA',
208
+ 'as-IN',
209
+ 'ast-ES',
210
+ 'awa-IN',
211
+ 'ayr-BO',
212
+ 'az-AZ',
213
+ 'azb-AZ',
214
+ 'ba-RU',
215
+ 'ban-ID',
216
+ 'be-BY',
217
+ 'bem-ZM',
218
+ 'bg-BG',
219
+ 'bho-IN',
220
+ 'bjn-ID',
221
+ 'bm-ML',
222
+ 'bn-BD',
223
+ 'bo-CN',
224
+ 'bs-BA',
225
+ 'bug-ID',
226
+ 'ca-ES',
227
+ 'ceb-PH',
228
+ 'cjk-AO',
229
+ 'ckb-IQ',
230
+ 'crh-RU',
231
+ 'cs-CZ',
232
+ 'cy-GB',
233
+ 'da-DK',
234
+ 'de-DE',
235
+ 'dik-SS',
236
+ 'diq-TR',
237
+ 'dyu-CI',
238
+ 'dz-BT',
239
+ 'ee-GH',
240
+ 'el-GR',
241
+ 'en-AU',
242
+ 'en-CA',
243
+ 'en-GB',
244
+ 'en-IE',
245
+ 'en-US',
246
+ 'eo-EU',
247
+ 'es-419',
248
+ 'es-AR',
249
+ 'es-ES',
250
+ 'es-MX',
251
+ 'et-EE',
252
+ 'eu-ES',
253
+ 'fa-IR',
254
+ 'fi-FI',
255
+ 'fil-PH',
256
+ 'fj-FJ',
257
+ 'fo-FO',
258
+ 'fon-BJ',
259
+ 'fr-CA',
260
+ 'fr-FR',
261
+ 'fur-IT',
262
+ 'fuv-NG',
263
+ 'ga-IE',
264
+ 'gaz-ET',
265
+ 'gd-GB',
266
+ 'gl-ES',
267
+ 'gn-PY',
268
+ 'gu-IN',
269
+ 'ha-NE',
270
+ 'he-IL',
271
+ 'hi-IN',
272
+ 'hne-IN',
273
+ 'hr-HR',
274
+ 'ht-HT',
275
+ 'hu-HU',
276
+ 'hy-AM',
277
+ 'id-ID',
278
+ 'ig-NG',
279
+ 'ilo-PH',
280
+ 'is-IS',
281
+ 'it-IT',
282
+ 'ja-JP',
283
+ 'jv-ID',
284
+ 'ka-GE',
285
+ 'kab-DZ',
286
+ 'kac-MM',
287
+ 'kam-KE',
288
+ 'kas-IN',
289
+ 'kbp-TG',
290
+ 'kea-CV',
291
+ 'kg-CG',
292
+ 'khk-MN',
293
+ 'ki-KE',
294
+ 'kk-KZ',
295
+ 'km-KH',
296
+ 'kmb-AO',
297
+ 'kmr-TR',
298
+ 'kn-IN',
299
+ 'knc-NG',
300
+ 'ko-KR',
301
+ 'ks-IN',
302
+ 'ky-KG',
303
+ 'la-VA',
304
+ 'lb-LU',
305
+ 'lg-UG',
306
+ 'li-NL',
307
+ 'lij-IT',
308
+ 'lmo-IT',
309
+ 'ln-CD',
310
+ 'lo-LA',
311
+ 'lt-LT',
312
+ 'ltg-LV',
313
+ 'lua-CD',
314
+ 'luo-KE',
315
+ 'lus-IN',
316
+ 'lv-LV',
317
+ 'mag-IN',
318
+ 'mai-IN',
319
+ 'mg-MG',
320
+ 'mi-NZ',
321
+ 'min-ID',
322
+ 'mk-MK',
323
+ 'ml-IN',
324
+ 'mn-MN',
325
+ 'mni-IN',
326
+ 'mos-BF',
327
+ 'mr-IN',
328
+ 'ms-MY',
329
+ 'mt-MT',
330
+ 'my-MM',
331
+ 'nb-NO',
332
+ 'ne-NP',
333
+ 'nl-BE',
334
+ 'nl-NL',
335
+ 'nso-ZA',
336
+ 'nus-SS',
337
+ 'ny-MW',
338
+ 'oc-FR',
339
+ 'or-IN',
340
+ 'pa-IN',
341
+ 'pag-PH',
342
+ 'pap-CW',
343
+ 'pbt-PK',
344
+ 'pl-PL',
345
+ 'plt-MG',
346
+ 'prs-AF',
347
+ 'ps-PK',
348
+ 'pt-BR',
349
+ 'pt-PT',
350
+ 'quy-PE',
351
+ 'rn-BI',
352
+ 'ro-RO',
353
+ 'ru-RU',
354
+ 'rw-RW',
355
+ 'sa-IN',
356
+ 'sat-IN',
357
+ 'sc-IT',
358
+ 'scn-IT',
359
+ 'sd-PK',
360
+ 'sg-CF',
361
+ 'shn-MM',
362
+ 'si-LK',
363
+ 'sk-SK',
364
+ 'sl-SI',
365
+ 'sm-WS',
366
+ 'sn-ZW',
367
+ 'so-SO',
368
+ 'sq-AL',
369
+ 'sr-Cyrl-RS',
370
+ 'sr-Latn-RS',
371
+ 'ss-SZ',
372
+ 'st-LS',
373
+ 'su-ID',
374
+ 'sv-SE',
375
+ 'sw-KE',
376
+ 'szl-PL',
377
+ 'ta-IN',
378
+ 'taq-ML',
379
+ 'te-IN',
380
+ 'tg-TJ',
381
+ 'th-TH',
382
+ 'ti-ET',
383
+ 'tk-TM',
384
+ 'tl-PH',
385
+ 'tn-ZA',
386
+ 'tpi-PG',
387
+ 'tr-TR',
388
+ 'ts-ZA',
389
+ 'tt-RU',
390
+ 'tum-MW',
391
+ 'tw-GH',
392
+ 'tzm-MA',
393
+ 'ug-CN',
394
+ 'uk-UA',
395
+ 'umb-AO',
396
+ 'ur-PK',
397
+ 'uzn-UZ',
398
+ 'vec-IT',
399
+ 'vi-VN',
400
+ 'vls-BE',
401
+ 'war-PH',
402
+ 'wo-SN',
403
+ 'xh-ZA',
404
+ 'ydd-US',
405
+ 'yo-NG',
406
+ 'zh-CN',
407
+ 'zh-HK',
408
+ 'zh-TW',
409
+ 'zu-ZA',
410
+ ];
411
+ export const AVAILABLE_LOCALES = [...ISO_639_1_LOCALES, ...ISO_639_3_LOCALES, ...BCP_47_LOCALES];
412
+ export const DEFAULT_EXCLUDED_DIRECTORIES = [
413
+ 'node_modules',
414
+ 'dist',
415
+ 'build',
416
+ 'bin',
417
+ 'out',
418
+ 'spec',
419
+ 'test',
420
+ 'tests',
421
+ ];
422
+ export const SUPPORTED_FILE_TYPES = ['json', 'po', 'ts', 'vue', 'md', 'mdx', 'xml'];
423
+ export const LARA_WEB_URL = 'https://app.laratranslate.com';
424
+ //# sourceMappingURL=common.const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.const.js","sourceRoot":"/","sources":["modules/common/common.const.ts"],"names":[],"mappings":"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IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;CACR,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,GAAG,cAAc,CAAC,CAAC;AAEjG,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,cAAc;IACd,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;CACR,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,YAAY,GAAG,+BAA+B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod/v4';
2
+ import { AVAILABLE_LOCALES, SUPPORTED_FILE_TYPES } from './common.const.js';
3
+ export const LocalesEnum = z.enum(AVAILABLE_LOCALES);
4
+ export const SupportedFileTypesEnum = z.enum(SUPPORTED_FILE_TYPES);
5
+ export var SupportedExtensionEnum;
6
+ (function (SupportedExtensionEnum) {
7
+ SupportedExtensionEnum["JSON"] = "json";
8
+ SupportedExtensionEnum["PO"] = "po";
9
+ SupportedExtensionEnum["TS"] = "ts";
10
+ SupportedExtensionEnum["VUE"] = "vue";
11
+ SupportedExtensionEnum["MD"] = "md";
12
+ SupportedExtensionEnum["MDX"] = "mdx";
13
+ SupportedExtensionEnum["XML"] = "xml";
14
+ })(SupportedExtensionEnum || (SupportedExtensionEnum = {}));
15
+ //# sourceMappingURL=common.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.types.js","sourceRoot":"/","sources":["modules/common/common.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAEnE,MAAM,CAAN,IAAY,sBAQX;AARD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,mCAAS,CAAA;IACT,mCAAS,CAAA;IACT,qCAAW,CAAA;IACX,mCAAS,CAAA;IACT,qCAAW,CAAA;IACX,qCAAW,CAAA;AACb,CAAC,EARW,sBAAsB,KAAtB,sBAAsB,QAQjC"}
@@ -0,0 +1,47 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import yaml from 'yaml';
4
+ import { Config } from './config.types.js';
5
+ import { Messages } from '#messages/messages.js';
6
+ export class ConfigProvider {
7
+ static instance = null;
8
+ config = null;
9
+ static CONFIG_FILE_NAME = 'lara.yaml';
10
+ configPath;
11
+ constructor() {
12
+ this.configPath = path.resolve(process.cwd(), ConfigProvider.CONFIG_FILE_NAME);
13
+ }
14
+ static getInstance() {
15
+ if (!ConfigProvider.instance) {
16
+ ConfigProvider.instance = new ConfigProvider();
17
+ }
18
+ return ConfigProvider.instance;
19
+ }
20
+ doesConfigExists() {
21
+ return fs.existsSync(this.configPath);
22
+ }
23
+ getConfig() {
24
+ if (this.config) {
25
+ return this.config;
26
+ }
27
+ if (!this.doesConfigExists()) {
28
+ throw new Error(Messages.errors.configNotFound);
29
+ }
30
+ const config = fs.readFileSync(this.configPath, 'utf8');
31
+ const safeConfig = Config.safeParse(yaml.parse(config));
32
+ if (!safeConfig.success) {
33
+ const issues = safeConfig.error.issues.map((issue) => `${issue.path.join('.')}: ${issue.message}`);
34
+ throw new Error(Messages.errors.invalidConfig(issues.join('\n')));
35
+ }
36
+ this.config = safeConfig.data;
37
+ return this.config;
38
+ }
39
+ saveConfig(config) {
40
+ if (this.doesConfigExists()) {
41
+ fs.unlinkSync(this.configPath);
42
+ }
43
+ fs.writeFileSync(this.configPath, yaml.stringify(config));
44
+ this.config = config;
45
+ }
46
+ }
47
+ //# sourceMappingURL=config.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.provider.js","sourceRoot":"/","sources":["modules/config/config.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,MAAM,OAAO,cAAc;IACjB,MAAM,CAAC,QAAQ,GAA0B,IAAI,CAAC;IAE9C,MAAM,GAAsB,IAAI,CAAC;IAEjC,MAAM,CAAU,gBAAgB,GAAW,WAAW,CAAC;IAC9C,UAAU,CAAS;IAEpC;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACjF,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC7B,cAAc,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC;IACjC,CAAC;IAEM,gBAAgB;QACrB,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAEM,SAAS;QACd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAExD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAExD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CACxC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CACvD,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;QAE9B,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,UAAU,CAAC,MAAkB;QAClC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { z } from 'zod/v4';
2
+ import { LocalesEnum, SupportedExtensionEnum, SupportedFileTypesEnum } from '../common/common.types.js';
3
+ import { SUPPORTED_FILE_TYPES } from '../common/common.const.js';
4
+ import { getFileExtension, isRelative } from '#utils/path.js';
5
+ const IncludeFilePath = z
6
+ .string()
7
+ .refine((path) => isRelative(path), {
8
+ message: 'Path must be relative (cannot start with /, ./, or ../)',
9
+ })
10
+ .refine((path) => {
11
+ const fileExtension = getFileExtension(path);
12
+ return SUPPORTED_FILE_TYPES.includes(fileExtension);
13
+ }, {
14
+ message: `Path must end with a valid file extension (${SUPPORTED_FILE_TYPES.map((type) => `.${type}`).join(', ')})`,
15
+ })
16
+ .refine((path) => {
17
+ const hasDirectoryPattern = path.includes('/[locale]/');
18
+ const hasFilenamePattern = new RegExp(`[^/]*\\[locale\\][^/]*\\.(${SUPPORTED_FILE_TYPES.join('|')})$`).test(path);
19
+ const isI18nFile = path.endsWith(`i18n.${SupportedExtensionEnum.TS}`);
20
+ const isVueFile = path.endsWith(SupportedExtensionEnum.VUE);
21
+ return hasDirectoryPattern || hasFilenamePattern || isI18nFile || isVueFile;
22
+ }, {
23
+ message: 'Path must contain [locale] as either a directory (/[locale]/) or filename ([locale].extension), or be a Vue file, or be named i18n.ts',
24
+ });
25
+ const ExcludeFilePath = z.string().refine((path) => isRelative(path), {
26
+ message: 'Path must be relative (cannot start with /, ./, or ../)',
27
+ });
28
+ const KeyPath = z
29
+ .string()
30
+ .refine((path) => !path.startsWith('/') && !path.endsWith('/'), {
31
+ message: 'Key path cannot start or end with a slash',
32
+ })
33
+ .refine((path) => path.split('/').some((segment) => segment !== '*'), {
34
+ message: 'Key path must contain at least one non-wildcard segment',
35
+ });
36
+ const Config = z
37
+ .object({
38
+ version: z.string(),
39
+ project: z
40
+ .object({
41
+ instruction: z.string().optional(),
42
+ })
43
+ .optional(),
44
+ locales: z.object({
45
+ source: LocalesEnum,
46
+ target: z.array(LocalesEnum),
47
+ }),
48
+ memories: z.array(z.string()).default([]),
49
+ glossaries: z.array(z.string()).default([]),
50
+ files: z.partialRecord(SupportedFileTypesEnum, z.object({
51
+ include: z.array(IncludeFilePath),
52
+ exclude: z.array(ExcludeFilePath).default([]),
53
+ fileInstructions: z
54
+ .array(z.object({
55
+ path: IncludeFilePath,
56
+ instruction: z.string().optional(),
57
+ keyInstructions: z
58
+ .array(z.object({
59
+ path: KeyPath,
60
+ instruction: z.string(),
61
+ }))
62
+ .default([]),
63
+ }))
64
+ .default([]),
65
+ keyInstructions: z
66
+ .array(z.object({
67
+ path: KeyPath,
68
+ instruction: z.string(),
69
+ }))
70
+ .default([]),
71
+ lockedKeys: z.array(KeyPath).default([]),
72
+ ignoredKeys: z.array(KeyPath).default([]),
73
+ })),
74
+ })
75
+ .refine((data) => {
76
+ if (Object.keys(data.files).length === 0) {
77
+ return false;
78
+ }
79
+ for (const [fileType, fileConfig] of Object.entries(data.files)) {
80
+ if (!fileConfig) {
81
+ return false;
82
+ }
83
+ for (const includePath of fileConfig.include) {
84
+ const fileExtension = getFileExtension(includePath);
85
+ if (fileExtension !== fileType) {
86
+ return false;
87
+ }
88
+ }
89
+ }
90
+ return true;
91
+ }, {
92
+ message: 'File type must match the file extension',
93
+ });
94
+ export { IncludeFilePath as FilePath, KeyPath, Config };
95
+ //# sourceMappingURL=config.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.types.js","sourceRoot":"/","sources":["modules/config/config.types.ts"],"names":[],"mappings":"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"}