lingo.dev 0.73.1 → 0.74.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.
- package/README.md +13 -1
- package/build/{chunk-NUMPOGXY.mjs → chunk-7XY32L2H.mjs} +2 -2
- package/build/chunk-7XY32L2H.mjs.map +1 -0
- package/build/{chunk-NF6GBJ2R.mjs → chunk-B6KMMXCA.mjs} +3 -1
- package/build/chunk-B6KMMXCA.mjs.map +1 -0
- package/build/{chunk-HODTYTE5.cjs → chunk-FZW4TOHM.cjs} +5 -5
- package/build/chunk-FZW4TOHM.cjs.map +1 -0
- package/build/{chunk-BCCNAFJB.cjs → chunk-U3YIG2HS.cjs} +3 -1
- package/build/chunk-U3YIG2HS.cjs.map +1 -0
- package/build/cli.cjs +28 -28
- package/build/cli.cjs.map +1 -1
- package/build/cli.mjs +5 -5
- package/build/cli.mjs.map +1 -1
- package/build/sdk.cjs +3 -3
- package/build/sdk.d.cts +2 -2
- package/build/sdk.d.ts +2 -2
- package/build/sdk.mjs +2 -2
- package/build/spec.cjs +2 -2
- package/build/spec.d.cts +1 -1
- package/build/spec.d.ts +1 -1
- package/build/spec.mjs +1 -1
- package/package.json +3 -3
- package/build/chunk-BCCNAFJB.cjs.map +0 -1
- package/build/chunk-HODTYTE5.cjs.map +0 -1
- package/build/chunk-NF6GBJ2R.mjs.map +0 -1
- package/build/chunk-NUMPOGXY.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
localeCodeSchema
|
|
3
|
-
} from "./chunk-
|
|
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-
|
|
331
|
+
//# sourceMappingURL=chunk-7XY32L2H.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../sdk/build/index.mjs"],"sourcesContent":["// 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"],"mappings":"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","names":[]}
|
|
@@ -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-
|
|
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
|
"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
|
|
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:
|
|
17
|
-
targetLocale:
|
|
16
|
+
sourceLocale: _chunkU3YIG2HScjs.localeCodeSchema,
|
|
17
|
+
targetLocale: _chunkU3YIG2HScjs.localeCodeSchema,
|
|
18
18
|
fast: _zod2.default.boolean().optional()
|
|
19
19
|
});
|
|
20
|
-
var referenceSchema = _zod2.default.record(
|
|
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-
|
|
331
|
+
//# sourceMappingURL=chunk-FZW4TOHM.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/lingo.dev/lingo.dev/packages/cli/build/chunk-FZW4TOHM.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-FZW4TOHM.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-
|
|
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
|
|
3
|
+
var _chunkFZW4TOHMcjs = require('./chunk-FZW4TOHM.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
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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 (!
|
|
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(
|
|
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({},
|
|
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
|
-
|
|
436
|
+
_chunkU3YIG2HScjs.localeCodes.forEach((locale) => console.log(locale));
|
|
437
437
|
break;
|
|
438
438
|
case "targets":
|
|
439
|
-
|
|
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,
|
|
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,
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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,
|
|
2888
|
+
const replexicaEngine = new (0, _chunkFZW4TOHMcjs.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(
|
|
2912
|
-
bucket: _zod2.default.array(
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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.
|
|
3183
|
+
version: "0.74.1",
|
|
3184
3184
|
description: "Lingo.dev CLI",
|
|
3185
3185
|
private: false,
|
|
3186
3186
|
type: "module",
|
|
@@ -3270,8 +3270,8 @@ var package_default = {
|
|
|
3270
3270
|
zod: "^3.24.1"
|
|
3271
3271
|
},
|
|
3272
3272
|
devDependencies: {
|
|
3273
|
-
"@lingo.dev
|
|
3274
|
-
"@lingo.dev
|
|
3273
|
+
"@lingo.dev/~sdk": "workspace:*",
|
|
3274
|
+
"@lingo.dev/~spec": "workspace:*",
|
|
3275
3275
|
"@types/cors": "^2.8.17",
|
|
3276
3276
|
"@types/diff": "^7.0.0",
|
|
3277
3277
|
"@types/express": "^5.0.0",
|