lingo.dev 0.73.1 → 0.74.0

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.
@@ -103,6 +103,8 @@ var localeMap = {
103
103
  ],
104
104
  // Ukrainian (Ukraine)
105
105
  uk: ["uk-UA"],
106
+ // Belarusian (Belarus)
107
+ be: ["be-BY"],
106
108
  // Hindi (India)
107
109
  hi: ["hi-IN"],
108
110
  // Chinese
@@ -489,4 +491,4 @@ export {
489
491
  parseI18nConfig,
490
492
  defaultConfig
491
493
  };
492
- //# sourceMappingURL=chunk-NF6GBJ2R.mjs.map
494
+ //# sourceMappingURL=chunk-B6KMMXCA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../spec/build/index.mjs"],"sourcesContent":["// src/locales.ts\nimport Z from \"zod\";\nvar localeMap = {\n // Urdu (Pakistan)\n ur: [\"ur-PK\"],\n // Vietnamese (Vietnam)\n vi: [\"vi-VN\"],\n // Turkish (Turkey)\n tr: [\"tr-TR\"],\n // Tamil (India)\n ta: [\"ta-IN\"],\n // Serbian\n sr: [\n \"sr-RS\",\n // Serbian (Latin)\n \"sr-Latn-RS\",\n // Serbian (Latin)\n \"sr-Cyrl-RS\"\n // Serbian (Cyrillic)\n ],\n // Hungarian (Hungary)\n hu: [\"hu-HU\"],\n // Hebrew (Israel)\n he: [\"he-IL\"],\n // Estonian (Estonia)\n et: [\"et-EE\"],\n // Greek (Greece)\n el: [\"el-GR\"],\n // Danish (Denmark)\n da: [\"da-DK\"],\n // Azerbaijani (Azerbaijan)\n az: [\"az-AZ\"],\n // Thai (Thailand)\n th: [\"th-TH\"],\n // Swedish (Sweden)\n sv: [\"sv-SE\"],\n // English\n en: [\n \"en-US\",\n // United States\n \"en-GB\",\n // United Kingdom\n \"en-AU\",\n // Australia\n \"en-CA\"\n // Canada\n ],\n // Spanish\n es: [\n \"es-ES\",\n // Spain\n \"es-419\",\n // Latin America\n \"es-MX\",\n // Mexico\n \"es-AR\"\n // Argentina\n ],\n // French\n fr: [\n \"fr-FR\",\n // France\n \"fr-CA\",\n // Canada\n \"fr-BE\"\n // Belgium\n ],\n // Catalan (Spain)\n ca: [\"ca-ES\"],\n // Japanese (Japan)\n ja: [\"ja-JP\"],\n // German\n de: [\n \"de-DE\",\n // Germany\n \"de-AT\",\n // Austria\n \"de-CH\"\n // Switzerland\n ],\n // Portuguese\n pt: [\n \"pt-PT\",\n // Portugal\n \"pt-BR\"\n // Brazil\n ],\n // Italian\n it: [\n \"it-IT\",\n // Italy\n \"it-CH\"\n // Switzerland\n ],\n // Russian\n ru: [\n \"ru-RU\",\n // Russia\n \"ru-BY\"\n // Belarus\n ],\n // Ukrainian (Ukraine)\n uk: [\"uk-UA\"],\n // Belarusian (Belarus)\n be: [\"be-BY\"],\n // Hindi (India)\n hi: [\"hi-IN\"],\n // Chinese\n zh: [\n \"zh-CN\",\n // Simplified Chinese (China)\n \"zh-TW\",\n // Traditional Chinese (Taiwan)\n \"zh-HK\",\n // Traditional Chinese (Hong Kong)\n \"zh-Hans\",\n // Simplified Chinese\n \"zh-Hant\",\n // Traditional Chinese\n \"zh-Hant-HK\",\n // Traditional Chinese (Hong Kong)\n \"zh-Hant-TW\",\n // Traditional Chinese (Taiwan)\n \"zh-Hant-CN\",\n // Traditional Chinese (China)\n \"zh-Hans-HK\",\n // Simplified Chinese (Hong Kong)\n \"zh-Hans-TW\",\n // Simplified Chinese (China)\n \"zh-Hans-CN\"\n // Simplified Chinese (China)\n ],\n // Korean (South Korea)\n ko: [\"ko-KR\"],\n // Arabic\n ar: [\n \"ar-EG\",\n // Egypt\n \"ar-SA\",\n // Saudi Arabia\n \"ar-AE\",\n // United Arab Emirates\n \"ar-MA\"\n // Morocco\n ],\n // Bulgarian (Bulgaria)\n bg: [\"bg-BG\"],\n // Czech (Czech Republic)\n cs: [\"cs-CZ\"],\n // Dutch\n nl: [\n \"nl-NL\",\n // Netherlands\n \"nl-BE\"\n // Belgium\n ],\n // Polish (Poland)\n pl: [\"pl-PL\"],\n // Indonesian (Indonesia)\n id: [\"id-ID\"],\n // Malay (Malaysia)\n ms: [\"ms-MY\"],\n // Finnish (Finland)\n fi: [\"fi-FI\"],\n // Basque (Spain)\n eu: [\"eu-ES\"],\n // Croatian (Croatia)\n hr: [\"hr-HR\"],\n // Hebrew (Israel) - alternative code\n iw: [\"iw-IL\"],\n // Khmer (Cambodia)\n km: [\"km-KH\"],\n // Latvian (Latvia)\n lv: [\"lv-LV\"],\n // Lithuanian (Lithuania)\n lt: [\"lt-LT\"],\n // Norwegian (Norway)\n no: [\"no-NO\"],\n // Romanian (Romania)\n ro: [\"ro-RO\"],\n // Slovak (Slovakia)\n sk: [\"sk-SK\"],\n // Swahili\n sw: [\n \"sw-TZ\",\n // Tanzania\n \"sw-KE\"\n // Kenya\n ],\n // Persian (Iran)\n fa: [\"fa-IR\"],\n // Filipino (Philippines)\n fil: [\"fil-PH\"],\n // Punjabi\n pa: [\n \"pa-IN\",\n // India\n \"pa-PK\"\n // Pakistan\n ],\n // Bengali\n bn: [\n \"bn-BD\",\n // Bangladesh\n \"bn-IN\"\n // India\n ],\n // Irish (Ireland)\n ga: [\"ga-IE\"],\n // Maltese (Malta)\n mt: [\"mt-MT\"],\n // Slovenian (Slovenia)\n sl: [\"sl-SI\"],\n // Albanian (Albania)\n sq: [\"sq-AL\"],\n // Bavarian (Germany)\n bar: [\"bar-DE\"],\n // Neapolitan (Italy)\n nap: [\"nap-IT\"],\n // Afrikaans (South Africa)\n af: [\"af-ZA\"],\n // Somali (Somalia)\n so: [\"so-SO\"],\n // Tigrinya (Ethiopia)\n ti: [\"ti-ET\"],\n // Standard Moroccan Tamazight (Morocco)\n zgh: [\"zgh-MA\"],\n // Tagalog (Philippines)\n tl: [\"tl-PH\"],\n // Telugu (India)\n te: [\"te-IN\"]\n};\nvar localeCodesShort = Object.keys(localeMap);\nvar localeCodesFull = Object.values(localeMap).flat();\nvar localeCodesFullUnderscore = localeCodesFull.map((value) => value.replace(\"-\", \"_\"));\nvar localeCodesFullExplicitRegion = localeCodesFull.map((value) => {\n const chunks = value.split(\"-\");\n const result = [chunks[0], \"-r\", chunks.slice(1).join(\"-\")].join(\"\");\n return result;\n});\nvar localeCodes = [\n ...localeCodesShort,\n ...localeCodesFull,\n ...localeCodesFullUnderscore,\n ...localeCodesFullExplicitRegion\n];\nvar localeCodeSchema = Z.string().refine((value) => localeCodes.includes(value), {\n message: \"Invalid locale code\"\n});\nvar resolveLocaleCode = (value) => {\n const existingFullLocaleCode = Object.values(localeMap).flat().includes(value);\n if (existingFullLocaleCode) {\n return value;\n }\n const existingShortLocaleCode = Object.keys(localeMap).includes(value);\n if (existingShortLocaleCode) {\n const correspondingFullLocales = localeMap[value];\n const fallbackFullLocale = correspondingFullLocales[0];\n return fallbackFullLocale;\n }\n throw new Error(`Invalid locale code: ${value}`);\n};\nvar getAlternativeLocaleCodes = (locale) => {\n if (locale.includes(\"-\")) {\n return [locale.replace(/-/g, \"_\")];\n } else if (locale.includes(\"_\")) {\n return [locale.replace(/_/g, \"-\")];\n } else {\n return [];\n }\n};\nvar getLocaleCodeDelimiter = (locale) => {\n if (locale.includes(\"_\")) {\n return \"_\";\n } else if (locale.includes(\"-\")) {\n return \"-\";\n } else {\n return null;\n }\n};\nvar resolveOverridenLocale = (locale, delimiter) => {\n if (!delimiter) {\n return locale;\n }\n const currentDelimiter = getLocaleCodeDelimiter(locale);\n if (!currentDelimiter) {\n return locale;\n }\n return locale.replace(currentDelimiter, delimiter);\n};\n\n// src/formats.ts\nimport Z2 from \"zod\";\nvar bucketTypes = [\n \"android\",\n \"csv\",\n \"flutter\",\n \"html\",\n \"json\",\n \"markdown\",\n \"xcode-strings\",\n \"xcode-stringsdict\",\n \"xcode-xcstrings\",\n \"yaml\",\n \"yaml-root-key\",\n \"properties\",\n \"po\",\n \"xliff\",\n \"xml\",\n \"srt\",\n \"dato\",\n \"compiler\",\n \"vtt\"\n];\nvar bucketTypeSchema = Z2.enum(bucketTypes);\n\n// src/config.ts\nimport Z3 from \"zod\";\nvar localeSchema = Z3.object({\n source: localeCodeSchema,\n targets: Z3.array(localeCodeSchema)\n});\nvar createConfigDefinition = (definition) => definition;\nvar extendConfigDefinition = (definition, params) => {\n const schema = params.createSchema(definition.schema);\n const defaultValue = params.createDefaultValue(definition.defaultValue);\n const upgrader = (config) => params.createUpgrader(config, schema, defaultValue);\n return createConfigDefinition({\n schema,\n defaultValue,\n parse: (rawConfig) => {\n const safeResult = schema.safeParse(rawConfig);\n if (safeResult.success) {\n return safeResult.data;\n }\n const localeErrors = safeResult.error.errors.filter((issue) => issue.message.includes(\"Invalid locale code\")).map((issue) => {\n let unsupportedLocale = \"\";\n const path = issue.path;\n const config = rawConfig;\n if (config.locale) {\n unsupportedLocale = path.reduce((acc, key) => {\n if (acc && typeof acc === \"object\" && key in acc) {\n return acc[key];\n }\n return acc;\n }, config.locale);\n }\n return `Unsupported locale: ${unsupportedLocale}`;\n });\n if (localeErrors.length > 0) {\n throw new Error(`\n${localeErrors.join(\"\\n\")}`);\n }\n const baseConfig = definition.parse(rawConfig);\n const result = upgrader(baseConfig);\n return result;\n }\n });\n};\nvar configV0Schema = Z3.object({\n version: Z3.number().default(0)\n});\nvar configV0Definition = createConfigDefinition({\n schema: configV0Schema,\n defaultValue: { version: 0 },\n parse: (rawConfig) => {\n return configV0Schema.parse(rawConfig);\n }\n});\nvar configV1Definition = extendConfigDefinition(configV0Definition, {\n createSchema: (baseSchema) => baseSchema.extend({\n locale: localeSchema,\n buckets: Z3.record(Z3.string(), bucketTypeSchema).default({}).optional()\n }),\n createDefaultValue: () => ({\n version: 1,\n locale: {\n source: \"en\",\n targets: [\"es\"]\n },\n buckets: {}\n }),\n createUpgrader: () => ({\n version: 1,\n locale: {\n source: \"en\",\n targets: [\"es\"]\n },\n buckets: {}\n })\n});\nvar configV1_1Definition = extendConfigDefinition(configV1Definition, {\n createSchema: (baseSchema) => baseSchema.extend({\n buckets: Z3.record(\n bucketTypeSchema,\n Z3.object({\n include: Z3.array(Z3.string()).default([]),\n exclude: Z3.array(Z3.string()).default([]).optional()\n })\n ).default({})\n }),\n createDefaultValue: (baseDefaultValue) => ({\n ...baseDefaultValue,\n version: 1.1,\n buckets: {}\n }),\n createUpgrader: (oldConfig, schema) => {\n const upgradedConfig = {\n ...oldConfig,\n version: 1.1,\n buckets: {}\n };\n if (oldConfig.buckets) {\n for (const [bucketPath, bucketType] of Object.entries(oldConfig.buckets)) {\n if (!upgradedConfig.buckets[bucketType]) {\n upgradedConfig.buckets[bucketType] = {\n include: []\n };\n }\n upgradedConfig.buckets[bucketType]?.include.push(bucketPath);\n }\n }\n return upgradedConfig;\n }\n});\nvar configV1_2Definition = extendConfigDefinition(configV1_1Definition, {\n createSchema: (baseSchema) => baseSchema.extend({\n locale: localeSchema.extend({\n extraSource: localeCodeSchema.optional()\n })\n }),\n createDefaultValue: (baseDefaultValue) => ({\n ...baseDefaultValue,\n version: 1.2\n }),\n createUpgrader: (oldConfig) => ({\n ...oldConfig,\n version: 1.2\n })\n});\nvar bucketItemSchema = Z3.object({\n path: Z3.string(),\n delimiter: Z3.union([Z3.literal(\"-\"), Z3.literal(\"_\"), Z3.literal(null)]).optional()\n});\nvar configV1_3Definition = extendConfigDefinition(configV1_2Definition, {\n createSchema: (baseSchema) => baseSchema.extend({\n buckets: Z3.record(\n bucketTypeSchema,\n Z3.object({\n include: Z3.array(Z3.union([Z3.string(), bucketItemSchema])).default([]),\n exclude: Z3.array(Z3.union([Z3.string(), bucketItemSchema])).default([]).optional()\n })\n ).default({})\n }),\n createDefaultValue: (baseDefaultValue) => ({\n ...baseDefaultValue,\n version: 1.3\n }),\n createUpgrader: (oldConfig) => ({\n ...oldConfig,\n version: 1.3\n })\n});\nvar LATEST_CONFIG_DEFINITION = configV1_3Definition;\nfunction parseI18nConfig(rawConfig) {\n try {\n const result = LATEST_CONFIG_DEFINITION.parse(rawConfig);\n return result;\n } catch (error) {\n throw new Error(`Failed to parse config: ${error.message}`);\n }\n}\nvar defaultConfig = LATEST_CONFIG_DEFINITION.defaultValue;\nexport {\n bucketItemSchema,\n bucketTypeSchema,\n bucketTypes,\n configV0Definition,\n configV1Definition,\n configV1_1Definition,\n configV1_2Definition,\n configV1_3Definition,\n defaultConfig,\n getAlternativeLocaleCodes,\n getLocaleCodeDelimiter,\n localeCodeSchema,\n localeCodes,\n localeCodesFull,\n localeCodesFullExplicitRegion,\n localeCodesFullUnderscore,\n localeCodesShort,\n localeSchema,\n parseI18nConfig,\n resolveLocaleCode,\n resolveOverridenLocale\n};\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  localeCodeSchema
3
- } from "./chunk-NF6GBJ2R.mjs";
3
+ } from "./chunk-B6KMMXCA.mjs";
4
4
 
5
5
  // ../sdk/build/index.mjs
6
6
  import Z from "zod";
@@ -328,4 +328,4 @@ var ReplexicaEngine = class {
328
328
  export {
329
329
  ReplexicaEngine
330
330
  };
331
- //# sourceMappingURL=chunk-NUMPOGXY.mjs.map
331
+ //# sourceMappingURL=chunk-D7CRCYTW.mjs.map
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkBCCNAFJBcjs = require('./chunk-BCCNAFJB.cjs');
3
+ var _chunkU3YIG2HScjs = require('./chunk-U3YIG2HS.cjs');
4
4
 
5
5
  // ../sdk/build/index.mjs
6
6
  var _zod = require('zod'); var _zod2 = _interopRequireDefault(_zod);
@@ -13,11 +13,11 @@ var engineParamsSchema = _zod2.default.object({
13
13
  }).passthrough();
14
14
  var payloadSchema = _zod2.default.record(_zod2.default.string(), _zod2.default.any());
15
15
  var localizationParamsSchema = _zod2.default.object({
16
- sourceLocale: _chunkBCCNAFJBcjs.localeCodeSchema,
17
- targetLocale: _chunkBCCNAFJBcjs.localeCodeSchema,
16
+ sourceLocale: _chunkU3YIG2HScjs.localeCodeSchema,
17
+ targetLocale: _chunkU3YIG2HScjs.localeCodeSchema,
18
18
  fast: _zod2.default.boolean().optional()
19
19
  });
20
- var referenceSchema = _zod2.default.record(_chunkBCCNAFJBcjs.localeCodeSchema, payloadSchema);
20
+ var referenceSchema = _zod2.default.record(_chunkU3YIG2HScjs.localeCodeSchema, payloadSchema);
21
21
  var ReplexicaEngine = class {
22
22
 
23
23
  /**
@@ -328,4 +328,4 @@ var ReplexicaEngine = class {
328
328
 
329
329
 
330
330
  exports.ReplexicaEngine = ReplexicaEngine;
331
- //# sourceMappingURL=chunk-HODTYTE5.cjs.map
331
+ //# sourceMappingURL=chunk-MZS2TO4G.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/lingo.dev/lingo.dev/packages/cli/build/chunk-HODTYTE5.cjs","../../sdk/build/index.mjs"],"names":[],"mappings":"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ACD,MAAA;AACC,QAAA;AACF,QAAA;AACE,QAAA;AACA,UAAA;AACb,UAAA;AACF,QAAA;AACiB,QAAA;AACN,UAAA;AACX,QAAA;AACc,QAAA;AACI,QAAA;AACA,UAAA;AAClB,QAAA;AACU,QAAA;AACZ,MAAA;AACiB,MAAA;AACK,MAAA;AACxB,IAAA;AACqB,IAAA;AACD,MAAA;AACH,MAAA;AACT,QAAA;AACF,UAAA;AACF,QAAA;AACgB,QAAA;AAClB,MAAA;AACsB,MAAA;AACF,QAAA;AACR,QAAA;AACS,UAAA;AACnB,QAAA;AACc,MAAA;AACE,QAAA;AACA,QAAA;AACG,QAAA;AACC,QAAA;AACJ,UAAA;AACH,UAAA;AACQ,YAAA;AACnB,UAAA;AACD,QAAA;AACkB,QAAA;AACrB,MAAA;AACF,IAAA;AACyB,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACV,IAAA;AACI,MAAA;AACE,MAAA;AACN,MAAA;AACC,MAAA;AACM,MAAA;AACD,QAAA;AACN,UAAA;AACX,QAAA;AACmB,QAAA;AACN,QAAA;AACF,UAAA;AACX,QAAA;AACF,MAAA;AACa,MAAA;AACI,QAAA;AACL,UAAA;AACH,QAAA;AACG,UAAA;AACV,QAAA;AACF,MAAA;AACD,IAAA;AACoB,IAAA;AACvB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMsB,EAAA;AACG,IAAA;AACb,MAAA;AACC,MAAA;AACS,QAAA;AACD,QAAA;AACjB,MAAA;AACuB,MAAA;AACxB,IAAA;AACiB,IAAA;AACA,MAAA;AAClB,IAAA;AACqB,IAAA;AACD,IAAA;AACtB,EAAA;AACF;ADI6B;AACA;AACA;AACA","file":"/home/runner/work/lingo.dev/lingo.dev/packages/cli/build/chunk-HODTYTE5.cjs","sourcesContent":[null,"// src/index.ts\nimport Z from \"zod\";\nimport { localeCodeSchema } from \"@lingo.dev/spec\";\nimport { createId } from \"@paralleldrive/cuid2\";\nvar engineParamsSchema = Z.object({\n apiKey: Z.string(),\n apiUrl: Z.string().url().default(\"https://engine.lingo.dev\"),\n batchSize: Z.number().int().gt(0).lte(250).default(25),\n idealBatchItemSize: Z.number().int().gt(0).lte(2500).default(250)\n}).passthrough();\nvar payloadSchema = Z.record(Z.string(), Z.any());\nvar localizationParamsSchema = Z.object({\n sourceLocale: localeCodeSchema,\n targetLocale: localeCodeSchema,\n fast: Z.boolean().optional()\n});\nvar referenceSchema = Z.record(localeCodeSchema, payloadSchema);\nvar ReplexicaEngine = class {\n config;\n /**\n * Create a new ReplexicaEngine instance\n * @param config - Configuration options for the Engine\n */\n constructor(config) {\n this.config = engineParamsSchema.parse(config);\n }\n /**\n * Localize content using the Lingo.dev API\n * @param payload - The content to be localized\n * @param params - Localization parameters including source/target locales and fast mode option\n * @param reference - Optional reference translations to maintain consistency\n * @param progressCallback - Optional callback function to report progress (0-100)\n * @returns Localized content\n * @internal\n */\n async _localizeRaw(payload, params, reference, progressCallback) {\n const finalPayload = payloadSchema.parse(payload);\n const finalParams = localizationParamsSchema.parse(params);\n const chunkedPayload = this.extractPayloadChunks(finalPayload);\n const processedPayloadChunks = [];\n const workflowId = createId();\n for (let i = 0; i < chunkedPayload.length; i++) {\n const chunk = chunkedPayload[i];\n const percentageCompleted = Math.round((i + 1) / chunkedPayload.length * 100);\n const processedPayloadChunk = await this.localizeChunk(\n finalParams.sourceLocale,\n finalParams.targetLocale,\n { data: chunk, reference },\n workflowId,\n params.fast || false\n );\n if (progressCallback) {\n progressCallback(percentageCompleted, chunk, processedPayloadChunk);\n }\n processedPayloadChunks.push(processedPayloadChunk);\n }\n return Object.assign({}, ...processedPayloadChunks);\n }\n /**\n * Localize a single chunk of content\n * @param sourceLocale - Source locale\n * @param targetLocale - Target locale\n * @param payload - Payload containing the chunk to be localized\n * @returns Localized chunk\n */\n async localizeChunk(sourceLocale, targetLocale, payload, workflowId, fast) {\n const res = await fetch(`${this.config.apiUrl}/i18n`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${this.config.apiKey}`\n },\n body: JSON.stringify(\n {\n params: { workflowId, fast },\n locale: {\n source: sourceLocale,\n target: targetLocale\n },\n data: payload.data,\n reference: payload.reference\n },\n null,\n 2\n )\n });\n if (!res.ok) {\n if (res.status === 400) {\n throw new Error(`Invalid request: ${res.statusText}`);\n } else {\n const errorText = await res.text();\n throw new Error(errorText);\n }\n }\n const jsonResponse = await res.json();\n return jsonResponse.data || {};\n }\n /**\n * Extract payload chunks based on the ideal chunk size\n * @param payload - The payload to be chunked\n * @returns An array of payload chunks\n */\n extractPayloadChunks(payload) {\n const result = [];\n let currentChunk = {};\n let currentChunkItemCount = 0;\n const payloadEntries = Object.entries(payload);\n for (let i = 0; i < payloadEntries.length; i++) {\n const [key, value] = payloadEntries[i];\n currentChunk[key] = value;\n currentChunkItemCount++;\n const currentChunkSize = this.countWordsInRecord(currentChunk);\n if (currentChunkSize > this.config.idealBatchItemSize || currentChunkItemCount >= this.config.batchSize || i === payloadEntries.length - 1) {\n result.push(currentChunk);\n currentChunk = {};\n currentChunkItemCount = 0;\n }\n }\n return result;\n }\n /**\n * Count words in a record or array\n * @param payload - The payload to count words in\n * @returns The total number of words\n */\n countWordsInRecord(payload) {\n if (Array.isArray(payload)) {\n return payload.reduce((acc, item) => acc + this.countWordsInRecord(item), 0);\n } else if (typeof payload === \"object\" && payload !== null) {\n return Object.values(payload).reduce((acc, item) => acc + this.countWordsInRecord(item), 0);\n } else if (typeof payload === \"string\") {\n return payload.trim().split(/\\s+/).filter(Boolean).length;\n } else {\n return 0;\n }\n }\n /**\n * Localize a typical JavaScript object\n * @param obj - The object to be localized (strings will be extracted and translated)\n * @param params - Localization parameters:\n * - sourceLocale: The source language code (e.g., 'en')\n * - targetLocale: The target language code (e.g., 'es')\n * - fast: Optional boolean to enable fast mode (faster but potentially lower quality)\n * @param progressCallback - Optional callback function to report progress (0-100)\n * @returns A new object with the same structure but localized string values\n */\n async localizeObject(obj, params, progressCallback) {\n return this._localizeRaw(obj, params, void 0, progressCallback);\n }\n /**\n * Localize a single text string\n * @param text - The text string to be localized\n * @param params - Localization parameters:\n * - sourceLocale: The source language code (e.g., 'en')\n * - targetLocale: The target language code (e.g., 'es')\n * - fast: Optional boolean to enable fast mode (faster for bigger batches)\n * @param progressCallback - Optional callback function to report progress (0-100)\n * @returns The localized text string\n */\n async localizeText(text, params, progressCallback) {\n const response = await this._localizeRaw({ text }, params, void 0, progressCallback);\n return response.text || \"\";\n }\n /**\n * Localize a text string to multiple target locales\n * @param text - The text string to be localized\n * @param params - Localization parameters:\n * - sourceLocale: The source language code (e.g., 'en')\n * - targetLocales: An array of target language codes (e.g., ['es', 'fr'])\n * - fast: Optional boolean to enable fast mode (for bigger batches)\n * @returns An array of localized text strings\n */\n async batchLocalizeText(text, params) {\n const responses = await Promise.all(\n params.targetLocales.map(\n (targetLocale) => this.localizeText(text, {\n sourceLocale: params.sourceLocale,\n targetLocale,\n fast: params.fast\n })\n )\n );\n return responses;\n }\n /**\n * Localize a chat sequence while preserving speaker names\n * @param chat - Array of chat messages, each with 'name' and 'text' properties\n * @param params - Localization parameters:\n * - sourceLocale: The source language code (e.g., 'en')\n * - targetLocale: The target language code (e.g., 'es')\n * - fast: Optional boolean to enable fast mode (faster but potentially lower quality)\n * @param progressCallback - Optional callback function to report progress (0-100)\n * @returns Array of localized chat messages with preserved structure\n */\n async localizeChat(chat, params, progressCallback) {\n const localized = await this._localizeRaw({ chat }, params, void 0, progressCallback);\n return Object.entries(localized).map(([key, value]) => ({\n name: chat[parseInt(key.split(\"_\")[1])].name,\n text: value\n }));\n }\n /**\n * Localize an HTML document while preserving structure and formatting\n * Handles both text content and localizable attributes (alt, title, placeholder, meta content)\n * @param html - The HTML document string to be localized\n * @param params - Localization parameters:\n * - sourceLocale: The source language code (e.g., 'en')\n * - targetLocale: The target language code (e.g., 'es')\n * - fast: Optional boolean to enable fast mode (faster but potentially lower quality)\n * @param progressCallback - Optional callback function to report progress (0-100)\n * @returns The localized HTML document as a string, with updated lang attribute\n */\n async localizeHtml(html, params, progressCallback) {\n const jsdomPackage = await import(\"jsdom\");\n const { JSDOM } = jsdomPackage;\n const dom = new JSDOM(html);\n const document = dom.window.document;\n const LOCALIZABLE_ATTRIBUTES = {\n meta: [\"content\"],\n img: [\"alt\"],\n input: [\"placeholder\"],\n a: [\"title\"]\n };\n const UNLOCALIZABLE_TAGS = [\"script\", \"style\"];\n const extractedContent = {};\n const getPath = (node, attribute) => {\n const indices = [];\n let current = node;\n let rootParent = \"\";\n while (current) {\n const parent = current.parentElement;\n if (!parent) break;\n if (parent === document.documentElement) {\n rootParent = current.nodeName.toLowerCase();\n break;\n }\n const siblings = Array.from(parent.childNodes).filter(\n (n) => n.nodeType === 1 || n.nodeType === 3 && n.textContent?.trim()\n );\n const index = siblings.indexOf(current);\n if (index !== -1) {\n indices.unshift(index);\n }\n current = parent;\n }\n const basePath = rootParent ? `${rootParent}/${indices.join(\"/\")}` : indices.join(\"/\");\n return attribute ? `${basePath}#${attribute}` : basePath;\n };\n const processNode = (node) => {\n let parent = node.parentElement;\n while (parent) {\n if (UNLOCALIZABLE_TAGS.includes(parent.tagName.toLowerCase())) {\n return;\n }\n parent = parent.parentElement;\n }\n if (node.nodeType === 3) {\n const text = node.textContent?.trim() || \"\";\n if (text) {\n extractedContent[getPath(node)] = text;\n }\n } else if (node.nodeType === 1) {\n const element = node;\n const tagName = element.tagName.toLowerCase();\n const attributes = LOCALIZABLE_ATTRIBUTES[tagName] || [];\n attributes.forEach((attr) => {\n const value = element.getAttribute(attr);\n if (value) {\n extractedContent[getPath(element, attr)] = value;\n }\n });\n Array.from(element.childNodes).filter((n) => n.nodeType === 1 || n.nodeType === 3 && n.textContent?.trim()).forEach(processNode);\n }\n };\n Array.from(document.head.childNodes).filter((n) => n.nodeType === 1 || n.nodeType === 3 && n.textContent?.trim()).forEach(processNode);\n Array.from(document.body.childNodes).filter((n) => n.nodeType === 1 || n.nodeType === 3 && n.textContent?.trim()).forEach(processNode);\n const localizedContent = await this._localizeRaw(extractedContent, params, void 0, progressCallback);\n document.documentElement.setAttribute(\"lang\", params.targetLocale);\n Object.entries(localizedContent).forEach(([path, value]) => {\n const [nodePath, attribute] = path.split(\"#\");\n const [rootTag, ...indices] = nodePath.split(\"/\");\n let parent = rootTag === \"head\" ? document.head : document.body;\n let current = parent;\n for (const index of indices) {\n const siblings = Array.from(parent.childNodes).filter(\n (n) => n.nodeType === 1 || n.nodeType === 3 && n.textContent?.trim()\n );\n current = siblings[parseInt(index)] || null;\n if (current?.nodeType === 1) {\n parent = current;\n }\n }\n if (current) {\n if (attribute) {\n current.setAttribute(attribute, value);\n } else {\n current.textContent = value;\n }\n }\n });\n return dom.serialize();\n }\n /**\n * Detect the language of a given text\n * @param text - The text to analyze\n * @returns Promise resolving to a locale code (e.g., 'en', 'es', 'fr')\n */\n async recognizeLocale(text) {\n const response = await fetch(`${this.config.apiUrl}/recognize`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${this.config.apiKey}`\n },\n body: JSON.stringify({ text })\n });\n if (!response.ok) {\n throw new Error(`Error recognizing locale: ${response.statusText}`);\n }\n const jsonResponse = await response.json();\n return jsonResponse.locale;\n }\n};\nexport {\n ReplexicaEngine\n};\n"]}
1
+ {"version":3,"sources":["/home/runner/work/lingo.dev/lingo.dev/packages/cli/build/chunk-MZS2TO4G.cjs","../../sdk/build/index.mjs"],"names":[],"mappings":"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ACD,MAAA;AACC,QAAA;AACF,QAAA;AACE,QAAA;AACA,UAAA;AACb,UAAA;AACF,QAAA;AACiB,QAAA;AACN,UAAA;AACX,QAAA;AACc,QAAA;AACI,QAAA;AACA,UAAA;AAClB,QAAA;AACU,QAAA;AACZ,MAAA;AACiB,MAAA;AACK,MAAA;AACxB,IAAA;AACqB,IAAA;AACD,MAAA;AACH,MAAA;AACT,QAAA;AACF,UAAA;AACF,QAAA;AACgB,QAAA;AAClB,MAAA;AACsB,MAAA;AACF,QAAA;AACR,QAAA;AACS,UAAA;AACnB,QAAA;AACc,MAAA;AACE,QAAA;AACA,QAAA;AACG,QAAA;AACC,QAAA;AACJ,UAAA;AACH,UAAA;AACQ,YAAA;AACnB,UAAA;AACD,QAAA;AACkB,QAAA;AACrB,MAAA;AACF,IAAA;AACyB,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACV,IAAA;AACI,MAAA;AACE,MAAA;AACN,MAAA;AACC,MAAA;AACM,MAAA;AACD,QAAA;AACN,UAAA;AACX,QAAA;AACmB,QAAA;AACN,QAAA;AACF,UAAA;AACX,QAAA;AACF,MAAA;AACa,MAAA;AACI,QAAA;AACL,UAAA;AACH,QAAA;AACG,UAAA;AACV,QAAA;AACF,MAAA;AACD,IAAA;AACoB,IAAA;AACvB,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMsB,EAAA;AACG,IAAA;AACb,MAAA;AACC,MAAA;AACS,QAAA;AACD,QAAA;AACjB,MAAA;AACuB,MAAA;AACxB,IAAA;AACiB,IAAA;AACA,MAAA;AAClB,IAAA;AACqB,IAAA;AACD,IAAA;AACtB,EAAA;AACF;ADI6B;AACA;AACA;AACA","file":"/home/runner/work/lingo.dev/lingo.dev/packages/cli/build/chunk-MZS2TO4G.cjs","sourcesContent":[null,"// src/index.ts\nimport Z from \"zod\";\nimport { localeCodeSchema } from \"@lingo.dev/spec\";\nimport { createId } from \"@paralleldrive/cuid2\";\nvar engineParamsSchema = Z.object({\n apiKey: Z.string(),\n apiUrl: Z.string().url().default(\"https://engine.lingo.dev\"),\n batchSize: Z.number().int().gt(0).lte(250).default(25),\n idealBatchItemSize: Z.number().int().gt(0).lte(2500).default(250)\n}).passthrough();\nvar payloadSchema = Z.record(Z.string(), Z.any());\nvar localizationParamsSchema = Z.object({\n sourceLocale: localeCodeSchema,\n targetLocale: localeCodeSchema,\n fast: Z.boolean().optional()\n});\nvar referenceSchema = Z.record(localeCodeSchema, payloadSchema);\nvar ReplexicaEngine = class {\n config;\n /**\n * Create a new ReplexicaEngine instance\n * @param config - Configuration options for the Engine\n */\n constructor(config) {\n this.config = engineParamsSchema.parse(config);\n }\n /**\n * Localize content using the Lingo.dev API\n * @param payload - The content to be localized\n * @param params - Localization parameters including source/target locales and fast mode option\n * @param reference - Optional reference translations to maintain consistency\n * @param progressCallback - Optional callback function to report progress (0-100)\n * @returns Localized content\n * @internal\n */\n async _localizeRaw(payload, params, reference, progressCallback) {\n const finalPayload = payloadSchema.parse(payload);\n const finalParams = localizationParamsSchema.parse(params);\n const chunkedPayload = this.extractPayloadChunks(finalPayload);\n const processedPayloadChunks = [];\n const workflowId = createId();\n for (let i = 0; i < chunkedPayload.length; i++) {\n const chunk = chunkedPayload[i];\n const percentageCompleted = Math.round((i + 1) / chunkedPayload.length * 100);\n const processedPayloadChunk = await this.localizeChunk(\n finalParams.sourceLocale,\n finalParams.targetLocale,\n { data: chunk, reference },\n workflowId,\n params.fast || false\n );\n if (progressCallback) {\n progressCallback(percentageCompleted, chunk, processedPayloadChunk);\n }\n processedPayloadChunks.push(processedPayloadChunk);\n }\n return Object.assign({}, ...processedPayloadChunks);\n }\n /**\n * Localize a single chunk of content\n * @param sourceLocale - Source locale\n * @param targetLocale - Target locale\n * @param payload - Payload containing the chunk to be localized\n * @returns Localized chunk\n */\n async localizeChunk(sourceLocale, targetLocale, payload, workflowId, fast) {\n const res = await fetch(`${this.config.apiUrl}/i18n`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${this.config.apiKey}`\n },\n body: JSON.stringify(\n {\n params: { workflowId, fast },\n locale: {\n source: sourceLocale,\n target: targetLocale\n },\n data: payload.data,\n reference: payload.reference\n },\n null,\n 2\n )\n });\n if (!res.ok) {\n if (res.status === 400) {\n throw new Error(`Invalid request: ${res.statusText}`);\n } else {\n const errorText = await res.text();\n throw new Error(errorText);\n }\n }\n const jsonResponse = await res.json();\n return jsonResponse.data || {};\n }\n /**\n * Extract payload chunks based on the ideal chunk size\n * @param payload - The payload to be chunked\n * @returns An array of payload chunks\n */\n extractPayloadChunks(payload) {\n const result = [];\n let currentChunk = {};\n let currentChunkItemCount = 0;\n const payloadEntries = Object.entries(payload);\n for (let i = 0; i < payloadEntries.length; i++) {\n const [key, value] = payloadEntries[i];\n currentChunk[key] = value;\n currentChunkItemCount++;\n const currentChunkSize = this.countWordsInRecord(currentChunk);\n if (currentChunkSize > this.config.idealBatchItemSize || currentChunkItemCount >= this.config.batchSize || i === payloadEntries.length - 1) {\n result.push(currentChunk);\n currentChunk = {};\n currentChunkItemCount = 0;\n }\n }\n return result;\n }\n /**\n * Count words in a record or array\n * @param payload - The payload to count words in\n * @returns The total number of words\n */\n countWordsInRecord(payload) {\n if (Array.isArray(payload)) {\n return payload.reduce((acc, item) => acc + this.countWordsInRecord(item), 0);\n } else if (typeof payload === \"object\" && payload !== null) {\n return Object.values(payload).reduce((acc, item) => acc + this.countWordsInRecord(item), 0);\n } else if (typeof payload === \"string\") {\n return payload.trim().split(/\\s+/).filter(Boolean).length;\n } else {\n return 0;\n }\n }\n /**\n * Localize a typical JavaScript object\n * @param obj - The object to be localized (strings will be extracted and translated)\n * @param params - Localization parameters:\n * - sourceLocale: The source language code (e.g., 'en')\n * - targetLocale: The target language code (e.g., 'es')\n * - fast: Optional boolean to enable fast mode (faster but potentially lower quality)\n * @param progressCallback - Optional callback function to report progress (0-100)\n * @returns A new object with the same structure but localized string values\n */\n async localizeObject(obj, params, progressCallback) {\n return this._localizeRaw(obj, params, void 0, progressCallback);\n }\n /**\n * Localize a single text string\n * @param text - The text string to be localized\n * @param params - Localization parameters:\n * - sourceLocale: The source language code (e.g., 'en')\n * - targetLocale: The target language code (e.g., 'es')\n * - fast: Optional boolean to enable fast mode (faster for bigger batches)\n * @param progressCallback - Optional callback function to report progress (0-100)\n * @returns The localized text string\n */\n async localizeText(text, params, progressCallback) {\n const response = await this._localizeRaw({ text }, params, void 0, progressCallback);\n return response.text || \"\";\n }\n /**\n * Localize a text string to multiple target locales\n * @param text - The text string to be localized\n * @param params - Localization parameters:\n * - sourceLocale: The source language code (e.g., 'en')\n * - targetLocales: An array of target language codes (e.g., ['es', 'fr'])\n * - fast: Optional boolean to enable fast mode (for bigger batches)\n * @returns An array of localized text strings\n */\n async batchLocalizeText(text, params) {\n const responses = await Promise.all(\n params.targetLocales.map(\n (targetLocale) => this.localizeText(text, {\n sourceLocale: params.sourceLocale,\n targetLocale,\n fast: params.fast\n })\n )\n );\n return responses;\n }\n /**\n * Localize a chat sequence while preserving speaker names\n * @param chat - Array of chat messages, each with 'name' and 'text' properties\n * @param params - Localization parameters:\n * - sourceLocale: The source language code (e.g., 'en')\n * - targetLocale: The target language code (e.g., 'es')\n * - fast: Optional boolean to enable fast mode (faster but potentially lower quality)\n * @param progressCallback - Optional callback function to report progress (0-100)\n * @returns Array of localized chat messages with preserved structure\n */\n async localizeChat(chat, params, progressCallback) {\n const localized = await this._localizeRaw({ chat }, params, void 0, progressCallback);\n return Object.entries(localized).map(([key, value]) => ({\n name: chat[parseInt(key.split(\"_\")[1])].name,\n text: value\n }));\n }\n /**\n * Localize an HTML document while preserving structure and formatting\n * Handles both text content and localizable attributes (alt, title, placeholder, meta content)\n * @param html - The HTML document string to be localized\n * @param params - Localization parameters:\n * - sourceLocale: The source language code (e.g., 'en')\n * - targetLocale: The target language code (e.g., 'es')\n * - fast: Optional boolean to enable fast mode (faster but potentially lower quality)\n * @param progressCallback - Optional callback function to report progress (0-100)\n * @returns The localized HTML document as a string, with updated lang attribute\n */\n async localizeHtml(html, params, progressCallback) {\n const jsdomPackage = await import(\"jsdom\");\n const { JSDOM } = jsdomPackage;\n const dom = new JSDOM(html);\n const document = dom.window.document;\n const LOCALIZABLE_ATTRIBUTES = {\n meta: [\"content\"],\n img: [\"alt\"],\n input: [\"placeholder\"],\n a: [\"title\"]\n };\n const UNLOCALIZABLE_TAGS = [\"script\", \"style\"];\n const extractedContent = {};\n const getPath = (node, attribute) => {\n const indices = [];\n let current = node;\n let rootParent = \"\";\n while (current) {\n const parent = current.parentElement;\n if (!parent) break;\n if (parent === document.documentElement) {\n rootParent = current.nodeName.toLowerCase();\n break;\n }\n const siblings = Array.from(parent.childNodes).filter(\n (n) => n.nodeType === 1 || n.nodeType === 3 && n.textContent?.trim()\n );\n const index = siblings.indexOf(current);\n if (index !== -1) {\n indices.unshift(index);\n }\n current = parent;\n }\n const basePath = rootParent ? `${rootParent}/${indices.join(\"/\")}` : indices.join(\"/\");\n return attribute ? `${basePath}#${attribute}` : basePath;\n };\n const processNode = (node) => {\n let parent = node.parentElement;\n while (parent) {\n if (UNLOCALIZABLE_TAGS.includes(parent.tagName.toLowerCase())) {\n return;\n }\n parent = parent.parentElement;\n }\n if (node.nodeType === 3) {\n const text = node.textContent?.trim() || \"\";\n if (text) {\n extractedContent[getPath(node)] = text;\n }\n } else if (node.nodeType === 1) {\n const element = node;\n const tagName = element.tagName.toLowerCase();\n const attributes = LOCALIZABLE_ATTRIBUTES[tagName] || [];\n attributes.forEach((attr) => {\n const value = element.getAttribute(attr);\n if (value) {\n extractedContent[getPath(element, attr)] = value;\n }\n });\n Array.from(element.childNodes).filter((n) => n.nodeType === 1 || n.nodeType === 3 && n.textContent?.trim()).forEach(processNode);\n }\n };\n Array.from(document.head.childNodes).filter((n) => n.nodeType === 1 || n.nodeType === 3 && n.textContent?.trim()).forEach(processNode);\n Array.from(document.body.childNodes).filter((n) => n.nodeType === 1 || n.nodeType === 3 && n.textContent?.trim()).forEach(processNode);\n const localizedContent = await this._localizeRaw(extractedContent, params, void 0, progressCallback);\n document.documentElement.setAttribute(\"lang\", params.targetLocale);\n Object.entries(localizedContent).forEach(([path, value]) => {\n const [nodePath, attribute] = path.split(\"#\");\n const [rootTag, ...indices] = nodePath.split(\"/\");\n let parent = rootTag === \"head\" ? document.head : document.body;\n let current = parent;\n for (const index of indices) {\n const siblings = Array.from(parent.childNodes).filter(\n (n) => n.nodeType === 1 || n.nodeType === 3 && n.textContent?.trim()\n );\n current = siblings[parseInt(index)] || null;\n if (current?.nodeType === 1) {\n parent = current;\n }\n }\n if (current) {\n if (attribute) {\n current.setAttribute(attribute, value);\n } else {\n current.textContent = value;\n }\n }\n });\n return dom.serialize();\n }\n /**\n * Detect the language of a given text\n * @param text - The text to analyze\n * @returns Promise resolving to a locale code (e.g., 'en', 'es', 'fr')\n */\n async recognizeLocale(text) {\n const response = await fetch(`${this.config.apiUrl}/recognize`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${this.config.apiKey}`\n },\n body: JSON.stringify({ text })\n });\n if (!response.ok) {\n throw new Error(`Error recognizing locale: ${response.statusText}`);\n }\n const jsonResponse = await response.json();\n return jsonResponse.locale;\n }\n};\nexport {\n ReplexicaEngine\n};\n"]}
@@ -103,6 +103,8 @@ var localeMap = {
103
103
  ],
104
104
  // Ukrainian (Ukraine)
105
105
  uk: ["uk-UA"],
106
+ // Belarusian (Belarus)
107
+ be: ["be-BY"],
106
108
  // Hindi (India)
107
109
  hi: ["hi-IN"],
108
110
  // Chinese
@@ -489,4 +491,4 @@ var defaultConfig = LATEST_CONFIG_DEFINITION.defaultValue;
489
491
 
490
492
 
491
493
  exports.localeCodesShort = localeCodesShort; exports.localeCodesFull = localeCodesFull; exports.localeCodesFullUnderscore = localeCodesFullUnderscore; exports.localeCodesFullExplicitRegion = localeCodesFullExplicitRegion; exports.localeCodes = localeCodes; exports.localeCodeSchema = localeCodeSchema; exports.resolveLocaleCode = resolveLocaleCode; exports.getAlternativeLocaleCodes = getAlternativeLocaleCodes; exports.getLocaleCodeDelimiter = getLocaleCodeDelimiter; exports.resolveOverridenLocale = resolveOverridenLocale; exports.bucketTypes = bucketTypes; exports.bucketTypeSchema = bucketTypeSchema; exports.localeSchema = localeSchema; exports.configV0Definition = configV0Definition; exports.configV1Definition = configV1Definition; exports.configV1_1Definition = configV1_1Definition; exports.configV1_2Definition = configV1_2Definition; exports.bucketItemSchema = bucketItemSchema; exports.configV1_3Definition = configV1_3Definition; exports.parseI18nConfig = parseI18nConfig; exports.defaultConfig = defaultConfig;
492
- //# sourceMappingURL=chunk-BCCNAFJB.cjs.map
494
+ //# sourceMappingURL=chunk-U3YIG2HS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/lingo.dev/lingo.dev/packages/cli/build/chunk-U3YIG2HS.cjs","../../spec/build/index.mjs"],"names":[],"mappings":"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,EAAA;AACd,IAAA;AAClB,MAAA;AACM,MAAA;AACC,MAAA;AACZ,IAAA;AACuB,IAAA;AACkB,MAAA;AACC,QAAA;AACC,UAAA;AACzB,YAAA;AACZ,UAAA;AACF,QAAA;AACoC,wBAAA;AACtC,MAAA;AACF,IAAA;AACO,IAAA;AACT,EAAA;AACD;AAC0B;AACgB,EAAA;AACX,IAAA;AACa,MAAA;AACxC,IAAA;AACF,EAAA;AAC0C,EAAA;AACtC,IAAA;AACM,IAAA;AACX,EAAA;AACgC,EAAA;AAC3B,IAAA;AACM,IAAA;AACX,EAAA;AACD;AACgC;AACf,EAAA;AACyB,EAAA;AAC1C;AAC0B;AACgB,EAAA;AAC3B,IAAA;AACV,MAAA;AACU,MAAA;AAC8B,QAAA;AACA,QAAA;AACvC,MAAA;AACS,IAAA;AACb,EAAA;AAC0C,EAAA;AACtC,IAAA;AACM,IAAA;AACX,EAAA;AACgC,EAAA;AAC3B,IAAA;AACM,IAAA;AACX,EAAA;AACD;AAC8B;AACK;AAC9B,EAAA;AACsC,IAAA;AACjC,IAAA;AACO,EAAA;AAC6B,IAAA;AAC7C,EAAA;AACF;AAC6C;ADHG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/lingo.dev/lingo.dev/packages/cli/build/chunk-U3YIG2HS.cjs","sourcesContent":[null,"// src/locales.ts\nimport Z from \"zod\";\nvar localeMap = {\n // Urdu (Pakistan)\n ur: [\"ur-PK\"],\n // Vietnamese (Vietnam)\n vi: [\"vi-VN\"],\n // Turkish (Turkey)\n tr: [\"tr-TR\"],\n // Tamil (India)\n ta: [\"ta-IN\"],\n // Serbian\n sr: [\n \"sr-RS\",\n // Serbian (Latin)\n \"sr-Latn-RS\",\n // Serbian (Latin)\n \"sr-Cyrl-RS\"\n // Serbian (Cyrillic)\n ],\n // Hungarian (Hungary)\n hu: [\"hu-HU\"],\n // Hebrew (Israel)\n he: [\"he-IL\"],\n // Estonian (Estonia)\n et: [\"et-EE\"],\n // Greek (Greece)\n el: [\"el-GR\"],\n // Danish (Denmark)\n da: [\"da-DK\"],\n // Azerbaijani (Azerbaijan)\n az: [\"az-AZ\"],\n // Thai (Thailand)\n th: [\"th-TH\"],\n // Swedish (Sweden)\n sv: [\"sv-SE\"],\n // English\n en: [\n \"en-US\",\n // United States\n \"en-GB\",\n // United Kingdom\n \"en-AU\",\n // Australia\n \"en-CA\"\n // Canada\n ],\n // Spanish\n es: [\n \"es-ES\",\n // Spain\n \"es-419\",\n // Latin America\n \"es-MX\",\n // Mexico\n \"es-AR\"\n // Argentina\n ],\n // French\n fr: [\n \"fr-FR\",\n // France\n \"fr-CA\",\n // Canada\n \"fr-BE\"\n // Belgium\n ],\n // Catalan (Spain)\n ca: [\"ca-ES\"],\n // Japanese (Japan)\n ja: [\"ja-JP\"],\n // German\n de: [\n \"de-DE\",\n // Germany\n \"de-AT\",\n // Austria\n \"de-CH\"\n // Switzerland\n ],\n // Portuguese\n pt: [\n \"pt-PT\",\n // Portugal\n \"pt-BR\"\n // Brazil\n ],\n // Italian\n it: [\n \"it-IT\",\n // Italy\n \"it-CH\"\n // Switzerland\n ],\n // Russian\n ru: [\n \"ru-RU\",\n // Russia\n \"ru-BY\"\n // Belarus\n ],\n // Ukrainian (Ukraine)\n uk: [\"uk-UA\"],\n // Belarusian (Belarus)\n be: [\"be-BY\"],\n // Hindi (India)\n hi: [\"hi-IN\"],\n // Chinese\n zh: [\n \"zh-CN\",\n // Simplified Chinese (China)\n \"zh-TW\",\n // Traditional Chinese (Taiwan)\n \"zh-HK\",\n // Traditional Chinese (Hong Kong)\n \"zh-Hans\",\n // Simplified Chinese\n \"zh-Hant\",\n // Traditional Chinese\n \"zh-Hant-HK\",\n // Traditional Chinese (Hong Kong)\n \"zh-Hant-TW\",\n // Traditional Chinese (Taiwan)\n \"zh-Hant-CN\",\n // Traditional Chinese (China)\n \"zh-Hans-HK\",\n // Simplified Chinese (Hong Kong)\n \"zh-Hans-TW\",\n // Simplified Chinese (China)\n \"zh-Hans-CN\"\n // Simplified Chinese (China)\n ],\n // Korean (South Korea)\n ko: [\"ko-KR\"],\n // Arabic\n ar: [\n \"ar-EG\",\n // Egypt\n \"ar-SA\",\n // Saudi Arabia\n \"ar-AE\",\n // United Arab Emirates\n \"ar-MA\"\n // Morocco\n ],\n // Bulgarian (Bulgaria)\n bg: [\"bg-BG\"],\n // Czech (Czech Republic)\n cs: [\"cs-CZ\"],\n // Dutch\n nl: [\n \"nl-NL\",\n // Netherlands\n \"nl-BE\"\n // Belgium\n ],\n // Polish (Poland)\n pl: [\"pl-PL\"],\n // Indonesian (Indonesia)\n id: [\"id-ID\"],\n // Malay (Malaysia)\n ms: [\"ms-MY\"],\n // Finnish (Finland)\n fi: [\"fi-FI\"],\n // Basque (Spain)\n eu: [\"eu-ES\"],\n // Croatian (Croatia)\n hr: [\"hr-HR\"],\n // Hebrew (Israel) - alternative code\n iw: [\"iw-IL\"],\n // Khmer (Cambodia)\n km: [\"km-KH\"],\n // Latvian (Latvia)\n lv: [\"lv-LV\"],\n // Lithuanian (Lithuania)\n lt: [\"lt-LT\"],\n // Norwegian (Norway)\n no: [\"no-NO\"],\n // Romanian (Romania)\n ro: [\"ro-RO\"],\n // Slovak (Slovakia)\n sk: [\"sk-SK\"],\n // Swahili\n sw: [\n \"sw-TZ\",\n // Tanzania\n \"sw-KE\"\n // Kenya\n ],\n // Persian (Iran)\n fa: [\"fa-IR\"],\n // Filipino (Philippines)\n fil: [\"fil-PH\"],\n // Punjabi\n pa: [\n \"pa-IN\",\n // India\n \"pa-PK\"\n // Pakistan\n ],\n // Bengali\n bn: [\n \"bn-BD\",\n // Bangladesh\n \"bn-IN\"\n // India\n ],\n // Irish (Ireland)\n ga: [\"ga-IE\"],\n // Maltese (Malta)\n mt: [\"mt-MT\"],\n // Slovenian (Slovenia)\n sl: [\"sl-SI\"],\n // Albanian (Albania)\n sq: [\"sq-AL\"],\n // Bavarian (Germany)\n bar: [\"bar-DE\"],\n // Neapolitan (Italy)\n nap: [\"nap-IT\"],\n // Afrikaans (South Africa)\n af: [\"af-ZA\"],\n // Somali (Somalia)\n so: [\"so-SO\"],\n // Tigrinya (Ethiopia)\n ti: [\"ti-ET\"],\n // Standard Moroccan Tamazight (Morocco)\n zgh: [\"zgh-MA\"],\n // Tagalog (Philippines)\n tl: [\"tl-PH\"],\n // Telugu (India)\n te: [\"te-IN\"]\n};\nvar localeCodesShort = Object.keys(localeMap);\nvar localeCodesFull = Object.values(localeMap).flat();\nvar localeCodesFullUnderscore = localeCodesFull.map((value) => value.replace(\"-\", \"_\"));\nvar localeCodesFullExplicitRegion = localeCodesFull.map((value) => {\n const chunks = value.split(\"-\");\n const result = [chunks[0], \"-r\", chunks.slice(1).join(\"-\")].join(\"\");\n return result;\n});\nvar localeCodes = [\n ...localeCodesShort,\n ...localeCodesFull,\n ...localeCodesFullUnderscore,\n ...localeCodesFullExplicitRegion\n];\nvar localeCodeSchema = Z.string().refine((value) => localeCodes.includes(value), {\n message: \"Invalid locale code\"\n});\nvar resolveLocaleCode = (value) => {\n const existingFullLocaleCode = Object.values(localeMap).flat().includes(value);\n if (existingFullLocaleCode) {\n return value;\n }\n const existingShortLocaleCode = Object.keys(localeMap).includes(value);\n if (existingShortLocaleCode) {\n const correspondingFullLocales = localeMap[value];\n const fallbackFullLocale = correspondingFullLocales[0];\n return fallbackFullLocale;\n }\n throw new Error(`Invalid locale code: ${value}`);\n};\nvar getAlternativeLocaleCodes = (locale) => {\n if (locale.includes(\"-\")) {\n return [locale.replace(/-/g, \"_\")];\n } else if (locale.includes(\"_\")) {\n return [locale.replace(/_/g, \"-\")];\n } else {\n return [];\n }\n};\nvar getLocaleCodeDelimiter = (locale) => {\n if (locale.includes(\"_\")) {\n return \"_\";\n } else if (locale.includes(\"-\")) {\n return \"-\";\n } else {\n return null;\n }\n};\nvar resolveOverridenLocale = (locale, delimiter) => {\n if (!delimiter) {\n return locale;\n }\n const currentDelimiter = getLocaleCodeDelimiter(locale);\n if (!currentDelimiter) {\n return locale;\n }\n return locale.replace(currentDelimiter, delimiter);\n};\n\n// src/formats.ts\nimport Z2 from \"zod\";\nvar bucketTypes = [\n \"android\",\n \"csv\",\n \"flutter\",\n \"html\",\n \"json\",\n \"markdown\",\n \"xcode-strings\",\n \"xcode-stringsdict\",\n \"xcode-xcstrings\",\n \"yaml\",\n \"yaml-root-key\",\n \"properties\",\n \"po\",\n \"xliff\",\n \"xml\",\n \"srt\",\n \"dato\",\n \"compiler\",\n \"vtt\"\n];\nvar bucketTypeSchema = Z2.enum(bucketTypes);\n\n// src/config.ts\nimport Z3 from \"zod\";\nvar localeSchema = Z3.object({\n source: localeCodeSchema,\n targets: Z3.array(localeCodeSchema)\n});\nvar createConfigDefinition = (definition) => definition;\nvar extendConfigDefinition = (definition, params) => {\n const schema = params.createSchema(definition.schema);\n const defaultValue = params.createDefaultValue(definition.defaultValue);\n const upgrader = (config) => params.createUpgrader(config, schema, defaultValue);\n return createConfigDefinition({\n schema,\n defaultValue,\n parse: (rawConfig) => {\n const safeResult = schema.safeParse(rawConfig);\n if (safeResult.success) {\n return safeResult.data;\n }\n const localeErrors = safeResult.error.errors.filter((issue) => issue.message.includes(\"Invalid locale code\")).map((issue) => {\n let unsupportedLocale = \"\";\n const path = issue.path;\n const config = rawConfig;\n if (config.locale) {\n unsupportedLocale = path.reduce((acc, key) => {\n if (acc && typeof acc === \"object\" && key in acc) {\n return acc[key];\n }\n return acc;\n }, config.locale);\n }\n return `Unsupported locale: ${unsupportedLocale}`;\n });\n if (localeErrors.length > 0) {\n throw new Error(`\n${localeErrors.join(\"\\n\")}`);\n }\n const baseConfig = definition.parse(rawConfig);\n const result = upgrader(baseConfig);\n return result;\n }\n });\n};\nvar configV0Schema = Z3.object({\n version: Z3.number().default(0)\n});\nvar configV0Definition = createConfigDefinition({\n schema: configV0Schema,\n defaultValue: { version: 0 },\n parse: (rawConfig) => {\n return configV0Schema.parse(rawConfig);\n }\n});\nvar configV1Definition = extendConfigDefinition(configV0Definition, {\n createSchema: (baseSchema) => baseSchema.extend({\n locale: localeSchema,\n buckets: Z3.record(Z3.string(), bucketTypeSchema).default({}).optional()\n }),\n createDefaultValue: () => ({\n version: 1,\n locale: {\n source: \"en\",\n targets: [\"es\"]\n },\n buckets: {}\n }),\n createUpgrader: () => ({\n version: 1,\n locale: {\n source: \"en\",\n targets: [\"es\"]\n },\n buckets: {}\n })\n});\nvar configV1_1Definition = extendConfigDefinition(configV1Definition, {\n createSchema: (baseSchema) => baseSchema.extend({\n buckets: Z3.record(\n bucketTypeSchema,\n Z3.object({\n include: Z3.array(Z3.string()).default([]),\n exclude: Z3.array(Z3.string()).default([]).optional()\n })\n ).default({})\n }),\n createDefaultValue: (baseDefaultValue) => ({\n ...baseDefaultValue,\n version: 1.1,\n buckets: {}\n }),\n createUpgrader: (oldConfig, schema) => {\n const upgradedConfig = {\n ...oldConfig,\n version: 1.1,\n buckets: {}\n };\n if (oldConfig.buckets) {\n for (const [bucketPath, bucketType] of Object.entries(oldConfig.buckets)) {\n if (!upgradedConfig.buckets[bucketType]) {\n upgradedConfig.buckets[bucketType] = {\n include: []\n };\n }\n upgradedConfig.buckets[bucketType]?.include.push(bucketPath);\n }\n }\n return upgradedConfig;\n }\n});\nvar configV1_2Definition = extendConfigDefinition(configV1_1Definition, {\n createSchema: (baseSchema) => baseSchema.extend({\n locale: localeSchema.extend({\n extraSource: localeCodeSchema.optional()\n })\n }),\n createDefaultValue: (baseDefaultValue) => ({\n ...baseDefaultValue,\n version: 1.2\n }),\n createUpgrader: (oldConfig) => ({\n ...oldConfig,\n version: 1.2\n })\n});\nvar bucketItemSchema = Z3.object({\n path: Z3.string(),\n delimiter: Z3.union([Z3.literal(\"-\"), Z3.literal(\"_\"), Z3.literal(null)]).optional()\n});\nvar configV1_3Definition = extendConfigDefinition(configV1_2Definition, {\n createSchema: (baseSchema) => baseSchema.extend({\n buckets: Z3.record(\n bucketTypeSchema,\n Z3.object({\n include: Z3.array(Z3.union([Z3.string(), bucketItemSchema])).default([]),\n exclude: Z3.array(Z3.union([Z3.string(), bucketItemSchema])).default([]).optional()\n })\n ).default({})\n }),\n createDefaultValue: (baseDefaultValue) => ({\n ...baseDefaultValue,\n version: 1.3\n }),\n createUpgrader: (oldConfig) => ({\n ...oldConfig,\n version: 1.3\n })\n});\nvar LATEST_CONFIG_DEFINITION = configV1_3Definition;\nfunction parseI18nConfig(rawConfig) {\n try {\n const result = LATEST_CONFIG_DEFINITION.parse(rawConfig);\n return result;\n } catch (error) {\n throw new Error(`Failed to parse config: ${error.message}`);\n }\n}\nvar defaultConfig = LATEST_CONFIG_DEFINITION.defaultValue;\nexport {\n bucketItemSchema,\n bucketTypeSchema,\n bucketTypes,\n configV0Definition,\n configV1Definition,\n configV1_1Definition,\n configV1_2Definition,\n configV1_3Definition,\n defaultConfig,\n getAlternativeLocaleCodes,\n getLocaleCodeDelimiter,\n localeCodeSchema,\n localeCodes,\n localeCodesFull,\n localeCodesFullExplicitRegion,\n localeCodesFullUnderscore,\n localeCodesShort,\n localeSchema,\n parseI18nConfig,\n resolveLocaleCode,\n resolveOverridenLocale\n};\n"]}
package/build/cli.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkHODTYTE5cjs = require('./chunk-HODTYTE5.cjs');
3
+ var _chunkMZS2TO4Gcjs = require('./chunk-MZS2TO4G.cjs');
4
4
 
5
5
 
6
6
 
@@ -10,7 +10,7 @@ var _chunkHODTYTE5cjs = require('./chunk-HODTYTE5.cjs');
10
10
 
11
11
 
12
12
 
13
- var _chunkBCCNAFJBcjs = require('./chunk-BCCNAFJB.cjs');
13
+ var _chunkU3YIG2HScjs = require('./chunk-U3YIG2HS.cjs');
14
14
 
15
15
  // src/cli/index.ts
16
16
  var _dotenv = require('dotenv'); var _dotenv2 = _interopRequireDefault(_dotenv);
@@ -258,7 +258,7 @@ function getConfig(resave = true) {
258
258
  }
259
259
  const fileContents = _fs2.default.readFileSync(configFilePath, "utf8");
260
260
  const rawConfig = JSON.parse(fileContents);
261
- const result = _chunkBCCNAFJBcjs.parseI18nConfig.call(void 0, rawConfig);
261
+ const result = _chunkU3YIG2HScjs.parseI18nConfig.call(void 0, rawConfig);
262
262
  const didConfigChange = !_lodash2.default.isEqual(rawConfig, result);
263
263
  if (resave && didConfigChange) {
264
264
  saveConfig(result);
@@ -297,7 +297,7 @@ Do you need support for ${value} ${option}? Type "help" and we will.`
297
297
  var init_default = new (0, _interactivecommander.InteractiveCommand)().command("init").description("Initialize Lingo.dev project").helpOption("-h, --help", "Show help").addOption(new (0, _interactivecommander.InteractiveOption)("-f --force", "Overwrite existing config").prompt(void 0).default(false)).addOption(
298
298
  new (0, _interactivecommander.InteractiveOption)("-s --source <locale>", "Source locale").argParser((value) => {
299
299
  try {
300
- _chunkBCCNAFJBcjs.resolveLocaleCode.call(void 0, value);
300
+ _chunkU3YIG2HScjs.resolveLocaleCode.call(void 0, value);
301
301
  } catch (e) {
302
302
  throwHelpError("locale", value);
303
303
  }
@@ -308,7 +308,7 @@ var init_default = new (0, _interactivecommander.InteractiveCommand)().command("
308
308
  const values = value.includes(",") ? value.split(",") : value.split(" ");
309
309
  values.forEach((value2) => {
310
310
  try {
311
- _chunkBCCNAFJBcjs.resolveLocaleCode.call(void 0, value2);
311
+ _chunkU3YIG2HScjs.resolveLocaleCode.call(void 0, value2);
312
312
  } catch (e) {
313
313
  throwHelpError("locale", value2);
314
314
  }
@@ -317,7 +317,7 @@ var init_default = new (0, _interactivecommander.InteractiveCommand)().command("
317
317
  }).default("es")
318
318
  ).addOption(
319
319
  new (0, _interactivecommander.InteractiveOption)("-b, --bucket <type>", "Type of bucket").argParser((value) => {
320
- if (!_chunkBCCNAFJBcjs.bucketTypes.includes(value)) {
320
+ if (!_chunkU3YIG2HScjs.bucketTypes.includes(value)) {
321
321
  throwHelpError("bucket format", value);
322
322
  }
323
323
  return value;
@@ -345,7 +345,7 @@ var init_default = new (0, _interactivecommander.InteractiveCommand)().command("
345
345
  spinner.fail("Lingo.dev project already initialized");
346
346
  return process.exit(1);
347
347
  }
348
- const newConfig = _lodash2.default.cloneDeep(_chunkBCCNAFJBcjs.defaultConfig);
348
+ const newConfig = _lodash2.default.cloneDeep(_chunkU3YIG2HScjs.defaultConfig);
349
349
  newConfig.locale.source = options.source;
350
350
  newConfig.locale.targets = options.targets;
351
351
  newConfig.buckets = {
@@ -406,7 +406,7 @@ var init_default = new (0, _interactivecommander.InteractiveCommand)().command("
406
406
 
407
407
  var config_default = new (0, _interactivecommander.Command)().command("config").description("Print out the current configuration").helpOption("-h, --help", "Show help").action(async (options) => {
408
408
  const fileConfig = loadReplexicaFileConfig();
409
- const config = _lodash2.default.merge({}, _chunkBCCNAFJBcjs.defaultConfig, fileConfig);
409
+ const config = _lodash2.default.merge({}, _chunkU3YIG2HScjs.defaultConfig, fileConfig);
410
410
  console.log(JSON.stringify(config, null, 2));
411
411
  });
412
412
  function loadReplexicaFileConfig() {
@@ -433,10 +433,10 @@ var locale_default = new (0, _interactivecommander.Command)().command("locale").
433
433
  docUrl: "invalidType"
434
434
  });
435
435
  case "sources":
436
- _chunkBCCNAFJBcjs.localeCodes.forEach((locale) => console.log(locale));
436
+ _chunkU3YIG2HScjs.localeCodes.forEach((locale) => console.log(locale));
437
437
  break;
438
438
  case "targets":
439
- _chunkBCCNAFJBcjs.localeCodes.forEach((locale) => console.log(locale));
439
+ _chunkU3YIG2HScjs.localeCodes.forEach((locale) => console.log(locale));
440
440
  break;
441
441
  }
442
442
  } catch (error) {
@@ -466,7 +466,7 @@ function getBuckets(i18nConfig) {
466
466
  }
467
467
  function extractPathPatterns(sourceLocale, include, exclude) {
468
468
  const includedPatterns = include.flatMap(
469
- (pattern) => expandPlaceholderedGlob(pattern.path, _chunkBCCNAFJBcjs.resolveOverridenLocale.call(void 0, sourceLocale, pattern.delimiter)).map(
469
+ (pattern) => expandPlaceholderedGlob(pattern.path, _chunkU3YIG2HScjs.resolveOverridenLocale.call(void 0, sourceLocale, pattern.delimiter)).map(
470
470
  (pathPattern) => ({
471
471
  pathPattern,
472
472
  delimiter: pattern.delimiter
@@ -474,7 +474,7 @@ function extractPathPatterns(sourceLocale, include, exclude) {
474
474
  )
475
475
  );
476
476
  const excludedPatterns = _optionalChain([exclude, 'optionalAccess', _31 => _31.flatMap, 'call', _32 => _32(
477
- (pattern) => expandPlaceholderedGlob(pattern.path, _chunkBCCNAFJBcjs.resolveOverridenLocale.call(void 0, sourceLocale, pattern.delimiter)).map(
477
+ (pattern) => expandPlaceholderedGlob(pattern.path, _chunkU3YIG2HScjs.resolveOverridenLocale.call(void 0, sourceLocale, pattern.delimiter)).map(
478
478
  (pathPattern) => ({
479
479
  pathPattern,
480
480
  delimiter: pattern.delimiter
@@ -544,10 +544,10 @@ var files_default = new (0, _interactivecommander.Command)().command("files").de
544
544
  const buckets = getBuckets(i18nConfig);
545
545
  for (const bucket of buckets) {
546
546
  for (const bucketConfig of bucket.config) {
547
- const sourceLocale = _chunkBCCNAFJBcjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
547
+ const sourceLocale = _chunkU3YIG2HScjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
548
548
  const sourcePath = bucketConfig.pathPattern.replace(/\[locale\]/g, sourceLocale);
549
549
  const targetPaths = i18nConfig.locale.targets.map((_targetLocale) => {
550
- const targetLocale = _chunkBCCNAFJBcjs.resolveOverridenLocale.call(void 0, _targetLocale, bucketConfig.delimiter);
550
+ const targetLocale = _chunkU3YIG2HScjs.resolveOverridenLocale.call(void 0, _targetLocale, bucketConfig.delimiter);
551
551
  return bucketConfig.pathPattern.replace(/\[locale\]/g, targetLocale);
552
552
  });
553
553
  const result = [];
@@ -2672,7 +2672,7 @@ var i18n_default = new (0, _interactivecommander.Command)().command("i18n").desc
2672
2672
  ora.start("Creating i18n.lock...");
2673
2673
  for (const bucket of buckets) {
2674
2674
  for (const bucketConfig of bucket.config) {
2675
- const sourceLocale = _chunkBCCNAFJBcjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
2675
+ const sourceLocale = _chunkU3YIG2HScjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
2676
2676
  const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern);
2677
2677
  bucketLoader.setDefaultLocale(sourceLocale);
2678
2678
  await bucketLoader.init();
@@ -2693,7 +2693,7 @@ var i18n_default = new (0, _interactivecommander.Command)().command("i18n").desc
2693
2693
  cacheOra.info(`Processing bucket: ${bucket.type}`);
2694
2694
  for (const bucketConfig of bucket.config) {
2695
2695
  const bucketOra = ora.info(`Processing path: ${bucketConfig.pathPattern}`);
2696
- const sourceLocale = _chunkBCCNAFJBcjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
2696
+ const sourceLocale = _chunkU3YIG2HScjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
2697
2697
  const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern);
2698
2698
  bucketLoader.setDefaultLocale(sourceLocale);
2699
2699
  await bucketLoader.init();
@@ -2728,7 +2728,7 @@ var i18n_default = new (0, _interactivecommander.Command)().command("i18n").desc
2728
2728
  let requiresUpdate = false;
2729
2729
  for (const bucket of buckets) {
2730
2730
  for (const bucketConfig of bucket.config) {
2731
- const sourceLocale = _chunkBCCNAFJBcjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
2731
+ const sourceLocale = _chunkU3YIG2HScjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
2732
2732
  const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern);
2733
2733
  bucketLoader.setDefaultLocale(sourceLocale);
2734
2734
  await bucketLoader.init();
@@ -2754,13 +2754,13 @@ var i18n_default = new (0, _interactivecommander.Command)().command("i18n").desc
2754
2754
  ora.info(`Processing bucket: ${bucket.type}`);
2755
2755
  for (const bucketConfig of bucket.config) {
2756
2756
  const bucketOra = _ora2.default.call(void 0, { indent: 2 }).info(`Processing path: ${bucketConfig.pathPattern}`);
2757
- const sourceLocale = _chunkBCCNAFJBcjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
2757
+ const sourceLocale = _chunkU3YIG2HScjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
2758
2758
  const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern);
2759
2759
  bucketLoader.setDefaultLocale(sourceLocale);
2760
2760
  await bucketLoader.init();
2761
2761
  let sourceData = await bucketLoader.pull(sourceLocale);
2762
2762
  for (const _targetLocale of targetLocales) {
2763
- const targetLocale = _chunkBCCNAFJBcjs.resolveOverridenLocale.call(void 0, _targetLocale, bucketConfig.delimiter);
2763
+ const targetLocale = _chunkU3YIG2HScjs.resolveOverridenLocale.call(void 0, _targetLocale, bucketConfig.delimiter);
2764
2764
  try {
2765
2765
  bucketOra.start(`[${sourceLocale} -> ${targetLocale}] (0%) Localization in progress...`);
2766
2766
  sourceData = await bucketLoader.pull(sourceLocale);
@@ -2885,7 +2885,7 @@ async function retryWithExponentialBackoff(operation, maxAttempts, baseDelay = 1
2885
2885
  throw new Error("Unreachable code");
2886
2886
  }
2887
2887
  function createLocalizationEngineConnection(params) {
2888
- const replexicaEngine = new (0, _chunkHODTYTE5cjs.ReplexicaEngine)({
2888
+ const replexicaEngine = new (0, _chunkMZS2TO4Gcjs.ReplexicaEngine)({
2889
2889
  apiKey: params.apiKey,
2890
2890
  apiUrl: params.apiUrl
2891
2891
  });
@@ -2908,8 +2908,8 @@ function createLocalizationEngineConnection(params) {
2908
2908
  function parseFlags(options) {
2909
2909
  return _zod2.default.object({
2910
2910
  apiKey: _zod2.default.string().optional(),
2911
- locale: _zod2.default.array(_chunkBCCNAFJBcjs.localeCodeSchema).optional(),
2912
- bucket: _zod2.default.array(_chunkBCCNAFJBcjs.bucketTypeSchema).optional(),
2911
+ locale: _zod2.default.array(_chunkU3YIG2HScjs.localeCodeSchema).optional(),
2912
+ bucket: _zod2.default.array(_chunkU3YIG2HScjs.bucketTypeSchema).optional(),
2913
2913
  force: _zod2.default.boolean().optional(),
2914
2914
  frozen: _zod2.default.boolean().optional(),
2915
2915
  verbose: _zod2.default.boolean().optional(),
@@ -3073,7 +3073,7 @@ var lockfile_default = new (0, _interactivecommander.Command)().command("lockfil
3073
3073
  const buckets = getBuckets(i18nConfig);
3074
3074
  for (const bucket of buckets) {
3075
3075
  for (const bucketConfig of bucket.config) {
3076
- const sourceLocale = _chunkBCCNAFJBcjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
3076
+ const sourceLocale = _chunkU3YIG2HScjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
3077
3077
  const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern);
3078
3078
  bucketLoader.setDefaultLocale(sourceLocale);
3079
3079
  const sourceData = await bucketLoader.pull(sourceLocale);
@@ -3108,14 +3108,14 @@ var cleanup_default = new (0, _interactivecommander.Command)().command("cleanup"
3108
3108
  console.log();
3109
3109
  ora.info(`Processing bucket: ${bucket.type}`);
3110
3110
  for (const bucketConfig of bucket.config) {
3111
- const sourceLocale = _chunkBCCNAFJBcjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
3111
+ const sourceLocale = _chunkU3YIG2HScjs.resolveOverridenLocale.call(void 0, i18nConfig.locale.source, bucketConfig.delimiter);
3112
3112
  const bucketOra = _ora2.default.call(void 0, { indent: 2 }).info(`Processing path: ${bucketConfig.pathPattern}`);
3113
3113
  const bucketLoader = createBucketLoader(bucket.type, bucketConfig.pathPattern);
3114
3114
  bucketLoader.setDefaultLocale(sourceLocale);
3115
3115
  const sourceData = await bucketLoader.pull(sourceLocale);
3116
3116
  const sourceKeys = Object.keys(sourceData);
3117
3117
  for (const _targetLocale of targetLocales) {
3118
- const targetLocale = _chunkBCCNAFJBcjs.resolveOverridenLocale.call(void 0, _targetLocale, bucketConfig.delimiter);
3118
+ const targetLocale = _chunkU3YIG2HScjs.resolveOverridenLocale.call(void 0, _targetLocale, bucketConfig.delimiter);
3119
3119
  try {
3120
3120
  const targetData = await bucketLoader.pull(targetLocale);
3121
3121
  const targetKeys = Object.keys(targetData);
@@ -3180,7 +3180,7 @@ function displaySummary(results) {
3180
3180
  // package.json
3181
3181
  var package_default = {
3182
3182
  name: "lingo.dev",
3183
- version: "0.73.1",
3183
+ version: "0.74.0",
3184
3184
  description: "Lingo.dev CLI",
3185
3185
  private: false,
3186
3186
  type: "module",