gt 2.14.35 → 2.14.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/dist/api/collectUserEditDiffs.js +112 -155
  3. package/dist/api/collectUserEditDiffs.js.map +1 -0
  4. package/dist/api/downloadFileBatch.js +164 -241
  5. package/dist/api/downloadFileBatch.js.map +1 -0
  6. package/dist/api/saveLocalEdits.js +37 -41
  7. package/dist/api/saveLocalEdits.js.map +1 -0
  8. package/dist/bin/bin-entry.js +17 -7
  9. package/dist/bin/bin-entry.js.map +1 -0
  10. package/dist/bin/bin-main.js +43 -61
  11. package/dist/bin/bin-main.js.map +1 -0
  12. package/dist/cli/base.js +382 -497
  13. package/dist/cli/base.js.map +1 -0
  14. package/dist/cli/commands/download.js +41 -49
  15. package/dist/cli/commands/download.js.map +1 -0
  16. package/dist/cli/commands/enqueue.js +26 -25
  17. package/dist/cli/commands/enqueue.js.map +1 -0
  18. package/dist/cli/commands/setupProject.js +33 -36
  19. package/dist/cli/commands/setupProject.js.map +1 -0
  20. package/dist/cli/commands/stage.js +53 -61
  21. package/dist/cli/commands/stage.js.map +1 -0
  22. package/dist/cli/commands/translate.js +75 -112
  23. package/dist/cli/commands/translate.js.map +1 -0
  24. package/dist/cli/commands/upload.js +185 -213
  25. package/dist/cli/commands/upload.js.map +1 -0
  26. package/dist/cli/commands/utils/validation.js +39 -34
  27. package/dist/cli/commands/utils/validation.js.map +1 -0
  28. package/dist/cli/flags.js +35 -62
  29. package/dist/cli/flags.js.map +1 -0
  30. package/dist/cli/inline.js +112 -137
  31. package/dist/cli/inline.js.map +1 -0
  32. package/dist/cli/next.js +17 -12
  33. package/dist/cli/next.js.map +1 -0
  34. package/dist/cli/node.js +19 -15
  35. package/dist/cli/node.js.map +1 -0
  36. package/dist/cli/python.js +13 -8
  37. package/dist/cli/python.js.map +1 -0
  38. package/dist/cli/react.js +61 -78
  39. package/dist/cli/react.js.map +1 -0
  40. package/dist/config/defaults.js +16 -11
  41. package/dist/config/defaults.js.map +1 -0
  42. package/dist/config/generateSettings.js +167 -269
  43. package/dist/config/generateSettings.js.map +1 -0
  44. package/dist/config/optionPresets.js +78 -96
  45. package/dist/config/optionPresets.js.map +1 -0
  46. package/dist/config/resolveConfig.js +27 -32
  47. package/dist/config/resolveConfig.js.map +1 -0
  48. package/dist/config/utils.js +7 -3
  49. package/dist/config/utils.js.map +1 -0
  50. package/dist/config/validateSettings.js +19 -30
  51. package/dist/config/validateSettings.js.map +1 -0
  52. package/dist/console/colors.js +18 -13
  53. package/dist/console/colors.js.map +1 -0
  54. package/dist/console/displayTranslateSummary.js +40 -37
  55. package/dist/console/displayTranslateSummary.js.map +1 -0
  56. package/dist/console/formatting.js +8 -5
  57. package/dist/console/formatting.js.map +1 -0
  58. package/dist/console/index.d.ts +11 -9
  59. package/dist/console/index.js +53 -50
  60. package/dist/console/index.js.map +1 -0
  61. package/dist/console/inkFields.d.ts +23 -0
  62. package/dist/console/inkFields.js +87 -0
  63. package/dist/console/inkFields.js.map +1 -0
  64. package/dist/console/inkLayout.d.ts +7 -0
  65. package/dist/console/inkLayout.js +139 -0
  66. package/dist/console/inkLayout.js.map +1 -0
  67. package/dist/console/inkLocaleData.d.ts +4 -0
  68. package/dist/console/inkLocaleData.js +32 -0
  69. package/dist/console/inkLocaleData.js.map +1 -0
  70. package/dist/console/inkPrompts.d.ts +8 -0
  71. package/dist/console/inkPrompts.js +496 -0
  72. package/dist/console/inkPrompts.js.map +1 -0
  73. package/dist/console/inkSession.d.ts +3 -0
  74. package/dist/console/inkSession.js +42 -0
  75. package/dist/console/inkSession.js.map +1 -0
  76. package/dist/console/inkTerminal.d.ts +4 -0
  77. package/dist/console/inkTerminal.js +15 -0
  78. package/dist/console/inkTerminal.js.map +1 -0
  79. package/dist/console/inkTypes.d.ts +66 -0
  80. package/dist/console/inkTypes.js +1 -0
  81. package/dist/console/inkUtils.d.ts +24 -0
  82. package/dist/console/inkUtils.js +87 -0
  83. package/dist/console/inkUtils.js.map +1 -0
  84. package/dist/console/logger.js +209 -249
  85. package/dist/console/logger.js.map +1 -0
  86. package/dist/console/logging.d.ts +14 -0
  87. package/dist/console/logging.js +203 -162
  88. package/dist/console/logging.js.map +1 -0
  89. package/dist/console/promptParsing.d.ts +5 -0
  90. package/dist/console/promptParsing.js +28 -0
  91. package/dist/console/promptParsing.js.map +1 -0
  92. package/dist/console/terminalSession.d.ts +5 -0
  93. package/dist/console/terminalSession.js +38 -0
  94. package/dist/console/terminalSession.js.map +1 -0
  95. package/dist/extraction/index.js +3 -2
  96. package/dist/extraction/mapToUpdates.js +19 -18
  97. package/dist/extraction/mapToUpdates.js.map +1 -0
  98. package/dist/extraction/postProcess.js +68 -86
  99. package/dist/extraction/postProcess.js.map +1 -0
  100. package/dist/formats/files/aggregateFiles.js +223 -304
  101. package/dist/formats/files/aggregateFiles.js.map +1 -0
  102. package/dist/formats/files/collectFiles.js +53 -54
  103. package/dist/formats/files/collectFiles.js.map +1 -0
  104. package/dist/formats/files/convertToFileTranslationData.js +21 -19
  105. package/dist/formats/files/convertToFileTranslationData.js.map +1 -0
  106. package/dist/formats/files/fileMapping.js +82 -119
  107. package/dist/formats/files/fileMapping.js.map +1 -0
  108. package/dist/formats/files/preprocess/mdx.js +15 -12
  109. package/dist/formats/files/preprocess/mdx.js.map +1 -0
  110. package/dist/formats/files/preprocess/mintlify.js +15 -13
  111. package/dist/formats/files/preprocess/mintlify.js.map +1 -0
  112. package/dist/formats/files/preprocessContent.js +20 -21
  113. package/dist/formats/files/preprocessContent.js.map +1 -0
  114. package/dist/formats/files/save.js +18 -15
  115. package/dist/formats/files/save.js.map +1 -0
  116. package/dist/formats/files/supportedFiles.js +27 -22
  117. package/dist/formats/files/supportedFiles.js.map +1 -0
  118. package/dist/formats/files/transformFormat.js +93 -100
  119. package/dist/formats/files/transformFormat.js.map +1 -0
  120. package/dist/formats/json/extractJson.js +83 -110
  121. package/dist/formats/json/extractJson.js.map +1 -0
  122. package/dist/formats/json/flattenJson.js +41 -48
  123. package/dist/formats/json/flattenJson.js.map +1 -0
  124. package/dist/formats/json/jsonPath.js +20 -15
  125. package/dist/formats/json/jsonPath.js.map +1 -0
  126. package/dist/formats/json/jsonPointer.js +17 -17
  127. package/dist/formats/json/jsonPointer.js.map +1 -0
  128. package/dist/formats/json/mergeJson.js +230 -371
  129. package/dist/formats/json/mergeJson.js.map +1 -0
  130. package/dist/formats/json/parseJson.js +74 -111
  131. package/dist/formats/json/parseJson.js.map +1 -0
  132. package/dist/formats/json/transformJson.js +53 -61
  133. package/dist/formats/json/transformJson.js.map +1 -0
  134. package/dist/formats/json/utils.js +158 -187
  135. package/dist/formats/json/utils.js.map +1 -0
  136. package/dist/formats/parseKeyedMetadata.js +85 -106
  137. package/dist/formats/parseKeyedMetadata.js.map +1 -0
  138. package/dist/formats/utils.js +13 -23
  139. package/dist/formats/utils.js.map +1 -0
  140. package/dist/formats/yaml/extractYaml.js +32 -31
  141. package/dist/formats/yaml/extractYaml.js.map +1 -0
  142. package/dist/formats/yaml/mergeYaml.js +43 -60
  143. package/dist/formats/yaml/mergeYaml.js.map +1 -0
  144. package/dist/formats/yaml/parseYaml.js +34 -23
  145. package/dist/formats/yaml/parseYaml.js.map +1 -0
  146. package/dist/formats/yaml/utils.js +19 -21
  147. package/dist/formats/yaml/utils.js.map +1 -0
  148. package/dist/fs/clearLocaleDirs.js +82 -114
  149. package/dist/fs/clearLocaleDirs.js.map +1 -0
  150. package/dist/fs/config/downloadedVersions.js +174 -188
  151. package/dist/fs/config/downloadedVersions.js.map +1 -0
  152. package/dist/fs/config/loadConfig.js +12 -8
  153. package/dist/fs/config/loadConfig.js.map +1 -0
  154. package/dist/fs/config/parseFilesConfig.js +166 -227
  155. package/dist/fs/config/parseFilesConfig.js.map +1 -0
  156. package/dist/fs/config/setupConfig.js +43 -52
  157. package/dist/fs/config/setupConfig.js.map +1 -0
  158. package/dist/fs/config/updateConfig.js +44 -56
  159. package/dist/fs/config/updateConfig.js.map +1 -0
  160. package/dist/fs/config/updateVersions.js +27 -28
  161. package/dist/fs/config/updateVersions.js.map +1 -0
  162. package/dist/fs/copyFile.js +33 -37
  163. package/dist/fs/copyFile.js.map +1 -0
  164. package/dist/fs/createLoadTranslationsFile.js +32 -48
  165. package/dist/fs/createLoadTranslationsFile.js.map +1 -0
  166. package/dist/fs/determineFramework/detectPythonLibrary.js +30 -34
  167. package/dist/fs/determineFramework/detectPythonLibrary.js.map +1 -0
  168. package/dist/fs/determineFramework/index.js +46 -64
  169. package/dist/fs/determineFramework/index.js.map +1 -0
  170. package/dist/fs/determineFramework/matchPyprojectDependency.js +65 -78
  171. package/dist/fs/determineFramework/matchPyprojectDependency.js.map +1 -0
  172. package/dist/fs/determineFramework/matchRequirementsTxtDependency.js +21 -19
  173. package/dist/fs/determineFramework/matchRequirementsTxtDependency.js.map +1 -0
  174. package/dist/fs/determineFramework/matchSetupPyDependency.js +60 -81
  175. package/dist/fs/determineFramework/matchSetupPyDependency.js.map +1 -0
  176. package/dist/fs/determineFramework/resolveGtDependency.js +15 -15
  177. package/dist/fs/determineFramework/resolveGtDependency.js.map +1 -0
  178. package/dist/fs/findFilepath.js +63 -78
  179. package/dist/fs/findFilepath.js.map +1 -0
  180. package/dist/fs/loadJSON.js +18 -15
  181. package/dist/fs/loadJSON.js.map +1 -0
  182. package/dist/fs/matchFiles.js +12 -7
  183. package/dist/fs/matchFiles.js.map +1 -0
  184. package/dist/fs/saveJSON.js +10 -6
  185. package/dist/fs/saveJSON.js.map +1 -0
  186. package/dist/fs/utils.js +19 -15
  187. package/dist/fs/utils.js.map +1 -0
  188. package/dist/functions.d.ts +2 -1
  189. package/dist/functions.js +3 -6
  190. package/dist/generated/version.d.ts +1 -1
  191. package/dist/generated/version.js +6 -2
  192. package/dist/generated/version.js.map +1 -0
  193. package/dist/git/branches.js +77 -83
  194. package/dist/git/branches.js.map +1 -0
  195. package/dist/hooks/postProcess.js +97 -114
  196. package/dist/hooks/postProcess.js.map +1 -0
  197. package/dist/index.js +23 -31
  198. package/dist/index.js.map +1 -0
  199. package/dist/locadex/setupFlow.js +11 -8
  200. package/dist/locadex/setupFlow.js.map +1 -0
  201. package/dist/main.js +17 -7
  202. package/dist/main.js.map +1 -0
  203. package/dist/next/config/parseNextConfig.js +32 -51
  204. package/dist/next/config/parseNextConfig.js.map +1 -0
  205. package/dist/next/jsx/utils.js +25 -37
  206. package/dist/next/jsx/utils.js.map +1 -0
  207. package/dist/next/parse/handleInitGT.js +87 -154
  208. package/dist/next/parse/handleInitGT.js.map +1 -0
  209. package/dist/next/parse/wrapContent.js +136 -158
  210. package/dist/next/parse/wrapContent.js.map +1 -0
  211. package/dist/python/parse/createPythonInlineUpdates.js +36 -33
  212. package/dist/python/parse/createPythonInlineUpdates.js.map +1 -0
  213. package/dist/react/config/createESBuildConfig.js +115 -115
  214. package/dist/react/config/createESBuildConfig.js.map +1 -0
  215. package/dist/react/jsx/evaluateJsx.js +90 -124
  216. package/dist/react/jsx/evaluateJsx.js.map +1 -0
  217. package/dist/react/jsx/utils/buildImportMap.js +24 -28
  218. package/dist/react/jsx/utils/buildImportMap.js.map +1 -0
  219. package/dist/react/jsx/utils/constants.js +79 -87
  220. package/dist/react/jsx/utils/constants.js.map +1 -0
  221. package/dist/react/jsx/utils/extractSourceCode.js +36 -37
  222. package/dist/react/jsx/utils/extractSourceCode.js.map +1 -0
  223. package/dist/react/jsx/utils/getCalleeNameFromExpression.js +30 -30
  224. package/dist/react/jsx/utils/getCalleeNameFromExpression.js.map +1 -0
  225. package/dist/react/jsx/utils/getPathsAndAliases.js +70 -105
  226. package/dist/react/jsx/utils/getPathsAndAliases.js.map +1 -0
  227. package/dist/react/jsx/utils/isNumberLiteral.js +13 -11
  228. package/dist/react/jsx/utils/isNumberLiteral.js.map +1 -0
  229. package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.js +103 -148
  230. package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.js.map +1 -0
  231. package/dist/react/jsx/utils/jsxParsing/autoInsertion.js +305 -389
  232. package/dist/react/jsx/utils/jsxParsing/autoInsertion.js.map +1 -0
  233. package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.js +122 -193
  234. package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.js.map +1 -0
  235. package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.js +50 -64
  236. package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.js.map +1 -0
  237. package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.js +41 -68
  238. package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.js.map +1 -0
  239. package/dist/react/jsx/utils/jsxParsing/parseJsx.js +760 -1107
  240. package/dist/react/jsx/utils/jsxParsing/parseJsx.js.map +1 -0
  241. package/dist/react/jsx/utils/jsxParsing/parseTProps.js +35 -71
  242. package/dist/react/jsx/utils/jsxParsing/parseTProps.js.map +1 -0
  243. package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.js +39 -58
  244. package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.js.map +1 -0
  245. package/dist/react/jsx/utils/jsxParsing/types.js +10 -24
  246. package/dist/react/jsx/utils/jsxParsing/types.js.map +1 -0
  247. package/dist/react/jsx/utils/mapAttributeName.js +13 -13
  248. package/dist/react/jsx/utils/mapAttributeName.js.map +1 -0
  249. package/dist/react/jsx/utils/parseAst.js +142 -272
  250. package/dist/react/jsx/utils/parseAst.js.map +1 -0
  251. package/dist/react/jsx/utils/parseString.js +726 -1090
  252. package/dist/react/jsx/utils/parseString.js.map +1 -0
  253. package/dist/react/jsx/utils/parseStringFunction.js +274 -401
  254. package/dist/react/jsx/utils/parseStringFunction.js.map +1 -0
  255. package/dist/react/jsx/utils/resolveImportPath.js +104 -108
  256. package/dist/react/jsx/utils/resolveImportPath.js.map +1 -0
  257. package/dist/react/jsx/utils/stringParsing/derivation/containsDeriveCall.js +18 -24
  258. package/dist/react/jsx/utils/stringParsing/derivation/containsDeriveCall.js.map +1 -0
  259. package/dist/react/jsx/utils/stringParsing/derivation/handleDerivation.js +412 -579
  260. package/dist/react/jsx/utils/stringParsing/derivation/handleDerivation.js.map +1 -0
  261. package/dist/react/jsx/utils/stringParsing/derivation/index.js +57 -67
  262. package/dist/react/jsx/utils/stringParsing/derivation/index.js.map +1 -0
  263. package/dist/react/jsx/utils/stringParsing/derivation/isDeriveCall.js +26 -36
  264. package/dist/react/jsx/utils/stringParsing/derivation/isDeriveCall.js.map +1 -0
  265. package/dist/react/jsx/utils/stringParsing/processTaggedTemplateCall/handleTaggedTemplateTranslationCall.js +29 -24
  266. package/dist/react/jsx/utils/stringParsing/processTaggedTemplateCall/handleTaggedTemplateTranslationCall.js.map +1 -0
  267. package/dist/react/jsx/utils/stringParsing/processTaggedTemplateCall/index.js +34 -32
  268. package/dist/react/jsx/utils/stringParsing/processTaggedTemplateCall/index.js.map +1 -0
  269. package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.js +80 -117
  270. package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.js.map +1 -0
  271. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleDeriveTranslationCall.js +24 -19
  272. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleDeriveTranslationCall.js.map +1 -0
  273. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.js +18 -21
  274. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.js.map +1 -0
  275. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.js +45 -50
  276. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.js.map +1 -0
  277. package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.js +54 -59
  278. package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.js.map +1 -0
  279. package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.js +56 -69
  280. package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.js.map +1 -0
  281. package/dist/react/jsx/utils/validateStringFunction.js +21 -29
  282. package/dist/react/jsx/utils/validateStringFunction.js.map +1 -0
  283. package/dist/react/jsx/wrapJsx.js +192 -375
  284. package/dist/react/jsx/wrapJsx.js.map +1 -0
  285. package/dist/react/parse/addVitePlugin/index.js +40 -34
  286. package/dist/react/parse/addVitePlugin/index.js.map +1 -0
  287. package/dist/react/parse/addVitePlugin/installCompiler.js +18 -20
  288. package/dist/react/parse/addVitePlugin/installCompiler.js.map +1 -0
  289. package/dist/react/parse/addVitePlugin/updateViteConfig.js +107 -111
  290. package/dist/react/parse/addVitePlugin/updateViteConfig.js.map +1 -0
  291. package/dist/react/parse/addVitePlugin/utils/addCompilerImport.js +23 -26
  292. package/dist/react/parse/addVitePlugin/utils/addCompilerImport.js.map +1 -0
  293. package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.js +29 -43
  294. package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.js.map +1 -0
  295. package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.js +70 -104
  296. package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.js.map +1 -0
  297. package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.js +23 -29
  298. package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.js.map +1 -0
  299. package/dist/react/parse/createDictionaryUpdates.js +121 -185
  300. package/dist/react/parse/createDictionaryUpdates.js.map +1 -0
  301. package/dist/react/parse/createInlineUpdates.js +123 -139
  302. package/dist/react/parse/createInlineUpdates.js.map +1 -0
  303. package/dist/react/parse/wrapContent.js +131 -156
  304. package/dist/react/parse/wrapContent.js.map +1 -0
  305. package/dist/react/utils/flattenDictionary.js +55 -70
  306. package/dist/react/utils/flattenDictionary.js.map +1 -0
  307. package/dist/react/utils/getEntryAndMetadata.js +14 -10
  308. package/dist/react/utils/getEntryAndMetadata.js.map +1 -0
  309. package/dist/react/utils/getVariableName.js +36 -33
  310. package/dist/react/utils/getVariableName.js.map +1 -0
  311. package/dist/setup/detectFramework.js +85 -102
  312. package/dist/setup/detectFramework.js.map +1 -0
  313. package/dist/setup/frameworkUtils.js +17 -28
  314. package/dist/setup/frameworkUtils.js.map +1 -0
  315. package/dist/setup/userInput.js +24 -31
  316. package/dist/setup/userInput.js.map +1 -0
  317. package/dist/setup/wizard.js +141 -143
  318. package/dist/setup/wizard.js.map +1 -0
  319. package/dist/state/mintlifyRefMap.js +12 -9
  320. package/dist/state/mintlifyRefMap.js.map +1 -0
  321. package/dist/state/recentDownloads.js +26 -23
  322. package/dist/state/recentDownloads.js.map +1 -0
  323. package/dist/state/translateWarnings.js +17 -8
  324. package/dist/state/translateWarnings.js.map +1 -0
  325. package/dist/translation/parse.js +77 -98
  326. package/dist/translation/parse.js.map +1 -0
  327. package/dist/translation/stage.js +28 -43
  328. package/dist/translation/stage.js.map +1 -0
  329. package/dist/translation/validate.js +68 -91
  330. package/dist/translation/validate.js.map +1 -0
  331. package/dist/types/libraries.js +93 -91
  332. package/dist/types/libraries.js.map +1 -0
  333. package/dist/types/parsing.js +19 -10
  334. package/dist/types/parsing.js.map +1 -0
  335. package/dist/utils/addExplicitAnchorIds.js +270 -389
  336. package/dist/utils/addExplicitAnchorIds.js.map +1 -0
  337. package/dist/utils/calculateTimeoutMs.js +11 -6
  338. package/dist/utils/calculateTimeoutMs.js.map +1 -0
  339. package/dist/utils/constants.js +15 -12
  340. package/dist/utils/constants.js.map +1 -0
  341. package/dist/utils/credentials.js +67 -114
  342. package/dist/utils/credentials.js.map +1 -0
  343. package/dist/utils/fetch.js +22 -20
  344. package/dist/utils/fetch.js.map +1 -0
  345. package/dist/utils/flattenJsonFiles.js +27 -34
  346. package/dist/utils/flattenJsonFiles.js.map +1 -0
  347. package/dist/utils/gitDiff.js +30 -32
  348. package/dist/utils/gitDiff.js.map +1 -0
  349. package/dist/utils/gt.js +7 -2
  350. package/dist/utils/gt.js.map +1 -0
  351. package/dist/utils/hash.js +14 -9
  352. package/dist/utils/hash.js.map +1 -0
  353. package/dist/utils/headers.js +10 -13
  354. package/dist/utils/headers.js.map +1 -0
  355. package/dist/utils/installPackage.js +70 -75
  356. package/dist/utils/installPackage.js.map +1 -0
  357. package/dist/utils/localizeRelativeAssets.js +114 -157
  358. package/dist/utils/localizeRelativeAssets.js.map +1 -0
  359. package/dist/utils/localizeStaticImports.js +229 -371
  360. package/dist/utils/localizeStaticImports.js.map +1 -0
  361. package/dist/utils/localizeStaticUrls.js +241 -424
  362. package/dist/utils/localizeStaticUrls.js.map +1 -0
  363. package/dist/utils/mintlifyTitleFallback.js +64 -72
  364. package/dist/utils/mintlifyTitleFallback.js.map +1 -0
  365. package/dist/utils/monorepoVersionCheck.js +177 -215
  366. package/dist/utils/monorepoVersionCheck.js.map +1 -0
  367. package/dist/utils/packageInfo.js +17 -16
  368. package/dist/utils/packageInfo.js.map +1 -0
  369. package/dist/utils/packageJson.js +51 -66
  370. package/dist/utils/packageJson.js.map +1 -0
  371. package/dist/utils/packageManager.js +237 -260
  372. package/dist/utils/packageManager.js.map +1 -0
  373. package/dist/utils/parse/needsCJS.js +36 -69
  374. package/dist/utils/parse/needsCJS.js.map +1 -0
  375. package/dist/utils/persistPostprocessHashes.js +30 -32
  376. package/dist/utils/persistPostprocessHashes.js.map +1 -0
  377. package/dist/utils/processAnchorIds.js +32 -54
  378. package/dist/utils/processAnchorIds.js.map +1 -0
  379. package/dist/utils/processOpenApi.js +469 -578
  380. package/dist/utils/processOpenApi.js.map +1 -0
  381. package/dist/utils/resolveMintlifyRefs.js +89 -105
  382. package/dist/utils/resolveMintlifyRefs.js.map +1 -0
  383. package/dist/utils/resolvePublish.js +46 -54
  384. package/dist/utils/resolvePublish.js.map +1 -0
  385. package/dist/utils/sanitizeFileContent.js +20 -27
  386. package/dist/utils/sanitizeFileContent.js.map +1 -0
  387. package/dist/utils/sharedStaticAssets.js +248 -366
  388. package/dist/utils/sharedStaticAssets.js.map +1 -0
  389. package/dist/utils/splitMintlifyLanguageRefs.js +208 -282
  390. package/dist/utils/splitMintlifyLanguageRefs.js.map +1 -0
  391. package/dist/utils/validateMdx.js +26 -23
  392. package/dist/utils/validateMdx.js.map +1 -0
  393. package/dist/utils/wrapPlainUrls.js +58 -70
  394. package/dist/utils/wrapPlainUrls.js.map +1 -0
  395. package/dist/workflows/download.js +92 -126
  396. package/dist/workflows/download.js.map +1 -0
  397. package/dist/workflows/enqueue.js +47 -54
  398. package/dist/workflows/enqueue.js.map +1 -0
  399. package/dist/workflows/publish.js +29 -29
  400. package/dist/workflows/publish.js.map +1 -0
  401. package/dist/workflows/setupProject.js +39 -40
  402. package/dist/workflows/setupProject.js.map +1 -0
  403. package/dist/workflows/stage.js +61 -65
  404. package/dist/workflows/stage.js.map +1 -0
  405. package/dist/workflows/steps/BranchStep.js +118 -163
  406. package/dist/workflows/steps/BranchStep.js.map +1 -0
  407. package/dist/workflows/steps/DownloadStep.js +107 -137
  408. package/dist/workflows/steps/DownloadStep.js.map +1 -0
  409. package/dist/workflows/steps/EnqueueStep.js +32 -32
  410. package/dist/workflows/steps/EnqueueStep.js.map +1 -0
  411. package/dist/workflows/steps/PollJobsStep.js +208 -292
  412. package/dist/workflows/steps/PollJobsStep.js.map +1 -0
  413. package/dist/workflows/steps/PublishStep.js +33 -38
  414. package/dist/workflows/steps/PublishStep.js.map +1 -0
  415. package/dist/workflows/steps/SetupStep.js +71 -72
  416. package/dist/workflows/steps/SetupStep.js.map +1 -0
  417. package/dist/workflows/steps/TagStep.js +39 -44
  418. package/dist/workflows/steps/TagStep.js.map +1 -0
  419. package/dist/workflows/steps/UploadSourcesStep.js +108 -140
  420. package/dist/workflows/steps/UploadSourcesStep.js.map +1 -0
  421. package/dist/workflows/steps/UploadTranslationsStep.js +61 -71
  422. package/dist/workflows/steps/UploadTranslationsStep.js.map +1 -0
  423. package/dist/workflows/steps/UserEditDiffsStep.js +32 -34
  424. package/dist/workflows/steps/UserEditDiffsStep.js.map +1 -0
  425. package/dist/workflows/steps/WorkflowStep.js +6 -2
  426. package/dist/workflows/steps/WorkflowStep.js.map +1 -0
  427. package/dist/workflows/upload.js +45 -46
  428. package/dist/workflows/upload.js.map +1 -0
  429. package/package.json +14 -7
@@ -1,71 +1,61 @@
1
- import { WorkflowStep } from './WorkflowStep.js';
2
- import { logger } from '../../console/logger.js';
3
- import chalk from 'chalk';
4
- export class UploadTranslationsStep extends WorkflowStep {
5
- gt;
6
- settings;
7
- spinner = logger.createSpinner('dots');
8
- result = [];
9
- constructor(gt, settings) {
10
- super();
11
- this.gt = gt;
12
- this.settings = settings;
13
- }
14
- async run({ files, branchData, }) {
15
- // Filter to only files that have translations
16
- const filesWithTranslations = files.filter((f) => f.translations.length > 0);
17
- if (filesWithTranslations.length === 0) {
18
- logger.info('No translation files to upload... skipping upload translations step');
19
- return [];
20
- }
21
- const totalTranslations = filesWithTranslations.reduce((acc, f) => acc + f.translations.length, 0);
22
- this.spinner.start(`Syncing ${totalTranslations} translation file${totalTranslations !== 1 ? 's' : ''} with General Translation API...`);
23
- // Build the query for existing translation files
24
- const translatedFilesQuery = filesWithTranslations.flatMap((f) => f.translations.map((t) => ({
25
- fileId: t.fileId,
26
- versionId: t.versionId,
27
- branchId: t.branchId ?? branchData.currentBranch.id,
28
- locale: t.locale,
29
- })));
30
- // Query for existing translation files
31
- const fileData = await this.gt.queryFileData({
32
- translatedFiles: translatedFilesQuery,
33
- });
34
- // Build a map of existing translations: branchId:fileId:versionId:locale
35
- const existingTranslationsMap = new Set();
36
- fileData.translatedFiles?.forEach((f) => {
37
- existingTranslationsMap.add(`${f.branchId}:${f.fileId}:${f.versionId}:${f.locale}`);
38
- });
39
- // Filter out translations that already exist
40
- const filesToUpload = filesWithTranslations
41
- .map((f) => {
42
- const newTranslations = f.translations.filter((t) => {
43
- const branchId = t.branchId ?? branchData.currentBranch.id;
44
- const key = `${branchId}:${t.fileId}:${t.versionId}:${t.locale}`;
45
- return !existingTranslationsMap.has(key);
46
- });
47
- return {
48
- source: f.source,
49
- translations: newTranslations,
50
- };
51
- })
52
- .filter((f) => f.translations.length > 0);
53
- const skippedCount = totalTranslations -
54
- filesToUpload.reduce((acc, f) => acc + f.translations.length, 0);
55
- if (filesToUpload.length === 0) {
56
- this.spinner.stop(chalk.green(`All ${totalTranslations} translation files already uploaded`));
57
- return [];
58
- }
59
- const uploadCount = filesToUpload.reduce((acc, f) => acc + f.translations.length, 0);
60
- const response = await this.gt.uploadTranslations(filesToUpload, {
61
- sourceLocale: this.settings.defaultLocale,
62
- modelProvider: this.settings.modelProvider,
63
- });
64
- this.result = response.uploadedFiles;
65
- this.spinner.stop(chalk.green(`Translation files synced successfully! Uploaded: (${uploadCount}), Skipped: (${skippedCount})`));
66
- return this.result;
67
- }
68
- async wait() {
69
- return;
70
- }
71
- }
1
+ import { logger } from "../../console/logger.js";
2
+ import { WorkflowStep } from "./WorkflowStep.js";
3
+ import chalk from "chalk";
4
+ //#region src/workflows/steps/UploadTranslationsStep.ts
5
+ var UploadTranslationsStep = class extends WorkflowStep {
6
+ spinner = logger.createSpinner("dots");
7
+ result = [];
8
+ constructor(gt, settings) {
9
+ super();
10
+ this.gt = gt;
11
+ this.settings = settings;
12
+ }
13
+ async run({ files, branchData }) {
14
+ const filesWithTranslations = files.filter((f) => f.translations.length > 0);
15
+ if (filesWithTranslations.length === 0) {
16
+ logger.info("No translation files to upload... skipping upload translations step");
17
+ return [];
18
+ }
19
+ const totalTranslations = filesWithTranslations.reduce((acc, f) => acc + f.translations.length, 0);
20
+ this.spinner.start(`Syncing ${totalTranslations} translation file${totalTranslations !== 1 ? "s" : ""} with General Translation API...`);
21
+ const translatedFilesQuery = filesWithTranslations.flatMap((f) => f.translations.map((t) => ({
22
+ fileId: t.fileId,
23
+ versionId: t.versionId,
24
+ branchId: t.branchId ?? branchData.currentBranch.id,
25
+ locale: t.locale
26
+ })));
27
+ const fileData = await this.gt.queryFileData({ translatedFiles: translatedFilesQuery });
28
+ const existingTranslationsMap = /* @__PURE__ */ new Set();
29
+ fileData.translatedFiles?.forEach((f) => {
30
+ existingTranslationsMap.add(`${f.branchId}:${f.fileId}:${f.versionId}:${f.locale}`);
31
+ });
32
+ const filesToUpload = filesWithTranslations.map((f) => {
33
+ const newTranslations = f.translations.filter((t) => {
34
+ const key = `${t.branchId ?? branchData.currentBranch.id}:${t.fileId}:${t.versionId}:${t.locale}`;
35
+ return !existingTranslationsMap.has(key);
36
+ });
37
+ return {
38
+ source: f.source,
39
+ translations: newTranslations
40
+ };
41
+ }).filter((f) => f.translations.length > 0);
42
+ const skippedCount = totalTranslations - filesToUpload.reduce((acc, f) => acc + f.translations.length, 0);
43
+ if (filesToUpload.length === 0) {
44
+ this.spinner.stop(chalk.green(`All ${totalTranslations} translation files already uploaded`));
45
+ return [];
46
+ }
47
+ const uploadCount = filesToUpload.reduce((acc, f) => acc + f.translations.length, 0);
48
+ const response = await this.gt.uploadTranslations(filesToUpload, {
49
+ sourceLocale: this.settings.defaultLocale,
50
+ modelProvider: this.settings.modelProvider
51
+ });
52
+ this.result = response.uploadedFiles;
53
+ this.spinner.stop(chalk.green(`Translation files synced successfully! Uploaded: (${uploadCount}), Skipped: (${skippedCount})`));
54
+ return this.result;
55
+ }
56
+ async wait() {}
57
+ };
58
+ //#endregion
59
+ export { UploadTranslationsStep };
60
+
61
+ //# sourceMappingURL=UploadTranslationsStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadTranslationsStep.js","names":[],"sources":["../../../src/workflows/steps/UploadTranslationsStep.ts"],"sourcesContent":["import { WorkflowStep } from './WorkflowStep.js';\nimport { logger } from '../../console/logger.js';\nimport { GT } from 'generaltranslation';\nimport { Settings } from '../../types/index.js';\nimport chalk from 'chalk';\nimport { BranchData } from '../../types/branch.js';\nimport type { FileReference, FileToUpload } from 'generaltranslation/types';\n\ntype UploadTranslationsInput = {\n files: {\n source: FileToUpload;\n translations: FileToUpload[];\n }[];\n branchData: BranchData;\n};\n\nexport class UploadTranslationsStep extends WorkflowStep<\n UploadTranslationsInput,\n FileReference[]\n> {\n private spinner = logger.createSpinner('dots');\n private result: FileReference[] = [];\n\n constructor(\n private gt: GT,\n private settings: Settings\n ) {\n super();\n }\n\n async run({\n files,\n branchData,\n }: UploadTranslationsInput): Promise<FileReference[]> {\n // Filter to only files that have translations\n const filesWithTranslations = files.filter(\n (f) => f.translations.length > 0\n );\n\n if (filesWithTranslations.length === 0) {\n logger.info(\n 'No translation files to upload... skipping upload translations step'\n );\n return [];\n }\n\n const totalTranslations = filesWithTranslations.reduce(\n (acc, f) => acc + f.translations.length,\n 0\n );\n\n this.spinner.start(\n `Syncing ${totalTranslations} translation file${totalTranslations !== 1 ? 's' : ''} with General Translation API...`\n );\n\n // Build the query for existing translation files\n const translatedFilesQuery = filesWithTranslations.flatMap((f) =>\n f.translations.map((t) => ({\n fileId: t.fileId,\n versionId: t.versionId,\n branchId: t.branchId ?? branchData.currentBranch.id,\n locale: t.locale,\n }))\n );\n\n // Query for existing translation files\n const fileData = await this.gt.queryFileData({\n translatedFiles: translatedFilesQuery,\n });\n\n // Build a map of existing translations: branchId:fileId:versionId:locale\n const existingTranslationsMap = new Set<string>();\n fileData.translatedFiles?.forEach((f) => {\n existingTranslationsMap.add(\n `${f.branchId}:${f.fileId}:${f.versionId}:${f.locale}`\n );\n });\n\n // Filter out translations that already exist\n const filesToUpload = filesWithTranslations\n .map((f) => {\n const newTranslations = f.translations.filter((t) => {\n const branchId = t.branchId ?? branchData.currentBranch.id;\n const key = `${branchId}:${t.fileId}:${t.versionId}:${t.locale}`;\n return !existingTranslationsMap.has(key);\n });\n\n return {\n source: f.source,\n translations: newTranslations,\n };\n })\n .filter((f) => f.translations.length > 0);\n\n const skippedCount =\n totalTranslations -\n filesToUpload.reduce((acc, f) => acc + f.translations.length, 0);\n\n if (filesToUpload.length === 0) {\n this.spinner.stop(\n chalk.green(\n `All ${totalTranslations} translation files already uploaded`\n )\n );\n return [];\n }\n\n const uploadCount = filesToUpload.reduce(\n (acc, f) => acc + f.translations.length,\n 0\n );\n\n const response = await this.gt.uploadTranslations(filesToUpload, {\n sourceLocale: this.settings.defaultLocale,\n modelProvider: this.settings.modelProvider,\n });\n\n this.result = response.uploadedFiles;\n this.spinner.stop(\n chalk.green(\n `Translation files synced successfully! Uploaded: (${uploadCount}), Skipped: (${skippedCount})`\n )\n );\n\n return this.result;\n }\n\n async wait(): Promise<void> {\n return;\n }\n}\n"],"mappings":";;;;AAgBA,IAAa,yBAAb,cAA4C,aAG1C;CACA,UAAkB,OAAO,cAAc,OAAO;CAC9C,SAAkC,EAAE;CAEpC,YACE,IACA,UACA;AACA,SAAO;AAHC,OAAA,KAAA;AACA,OAAA,WAAA;;CAKV,MAAM,IAAI,EACR,OACA,cACoD;EAEpD,MAAM,wBAAwB,MAAM,QACjC,MAAM,EAAE,aAAa,SAAS,EAChC;AAED,MAAI,sBAAsB,WAAW,GAAG;AACtC,UAAO,KACL,sEACD;AACD,UAAO,EAAE;;EAGX,MAAM,oBAAoB,sBAAsB,QAC7C,KAAK,MAAM,MAAM,EAAE,aAAa,QACjC,EACD;AAED,OAAK,QAAQ,MACX,WAAW,kBAAkB,mBAAmB,sBAAsB,IAAI,MAAM,GAAG,kCACpF;EAGD,MAAM,uBAAuB,sBAAsB,SAAS,MAC1D,EAAE,aAAa,KAAK,OAAO;GACzB,QAAQ,EAAE;GACV,WAAW,EAAE;GACb,UAAU,EAAE,YAAY,WAAW,cAAc;GACjD,QAAQ,EAAE;GACX,EAAE,CACJ;EAGD,MAAM,WAAW,MAAM,KAAK,GAAG,cAAc,EAC3C,iBAAiB,sBAClB,CAAC;EAGF,MAAM,0CAA0B,IAAI,KAAa;AACjD,WAAS,iBAAiB,SAAS,MAAM;AACvC,2BAAwB,IACtB,GAAG,EAAE,SAAS,GAAG,EAAE,OAAO,GAAG,EAAE,UAAU,GAAG,EAAE,SAC/C;IACD;EAGF,MAAM,gBAAgB,sBACnB,KAAK,MAAM;GACV,MAAM,kBAAkB,EAAE,aAAa,QAAQ,MAAM;IAEnD,MAAM,MAAM,GADK,EAAE,YAAY,WAAW,cAAc,GAChC,GAAG,EAAE,OAAO,GAAG,EAAE,UAAU,GAAG,EAAE;AACxD,WAAO,CAAC,wBAAwB,IAAI,IAAI;KACxC;AAEF,UAAO;IACL,QAAQ,EAAE;IACV,cAAc;IACf;IACD,CACD,QAAQ,MAAM,EAAE,aAAa,SAAS,EAAE;EAE3C,MAAM,eACJ,oBACA,cAAc,QAAQ,KAAK,MAAM,MAAM,EAAE,aAAa,QAAQ,EAAE;AAElE,MAAI,cAAc,WAAW,GAAG;AAC9B,QAAK,QAAQ,KACX,MAAM,MACJ,OAAO,kBAAkB,qCAC1B,CACF;AACD,UAAO,EAAE;;EAGX,MAAM,cAAc,cAAc,QAC/B,KAAK,MAAM,MAAM,EAAE,aAAa,QACjC,EACD;EAED,MAAM,WAAW,MAAM,KAAK,GAAG,mBAAmB,eAAe;GAC/D,cAAc,KAAK,SAAS;GAC5B,eAAe,KAAK,SAAS;GAC9B,CAAC;AAEF,OAAK,SAAS,SAAS;AACvB,OAAK,QAAQ,KACX,MAAM,MACJ,qDAAqD,YAAY,eAAe,aAAa,GAC9F,CACF;AAED,SAAO,KAAK;;CAGd,MAAM,OAAsB"}
@@ -1,34 +1,32 @@
1
- import { WorkflowStep } from './WorkflowStep.js';
2
- import { logger } from '../../console/logger.js';
3
- import chalk from 'chalk';
4
- import { collectAndSendUserEditDiffs } from '../../api/collectUserEditDiffs.js';
5
- export class UserEditDiffsStep extends WorkflowStep {
6
- settings;
7
- spinner = logger.createSpinner('dots');
8
- succeeded = false;
9
- failed = false;
10
- constructor(settings) {
11
- super();
12
- this.settings = settings;
13
- }
14
- async run(files) {
15
- this.spinner.start('Updating translations...');
16
- try {
17
- await collectAndSendUserEditDiffs(files, this.settings);
18
- this.succeeded = true;
19
- }
20
- catch {
21
- // Non-fatal; keep going to enqueue
22
- this.failed = true;
23
- }
24
- return files;
25
- }
26
- async wait() {
27
- if (this.succeeded) {
28
- this.spinner.stop(chalk.green('Updated translations'));
29
- }
30
- else if (this.failed) {
31
- this.spinner.stop(chalk.yellow('Could not update translations'));
32
- }
33
- }
34
- }
1
+ import { logger } from "../../console/logger.js";
2
+ import { WorkflowStep } from "./WorkflowStep.js";
3
+ import { collectAndSendUserEditDiffs } from "../../api/collectUserEditDiffs.js";
4
+ import chalk from "chalk";
5
+ //#region src/workflows/steps/UserEditDiffsStep.ts
6
+ var UserEditDiffsStep = class extends WorkflowStep {
7
+ spinner = logger.createSpinner("dots");
8
+ succeeded = false;
9
+ failed = false;
10
+ constructor(settings) {
11
+ super();
12
+ this.settings = settings;
13
+ }
14
+ async run(files) {
15
+ this.spinner.start("Updating translations...");
16
+ try {
17
+ await collectAndSendUserEditDiffs(files, this.settings);
18
+ this.succeeded = true;
19
+ } catch {
20
+ this.failed = true;
21
+ }
22
+ return files;
23
+ }
24
+ async wait() {
25
+ if (this.succeeded) this.spinner.stop(chalk.green("Updated translations"));
26
+ else if (this.failed) this.spinner.stop(chalk.yellow("Could not update translations"));
27
+ }
28
+ };
29
+ //#endregion
30
+ export { UserEditDiffsStep };
31
+
32
+ //# sourceMappingURL=UserEditDiffsStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserEditDiffsStep.js","names":[],"sources":["../../../src/workflows/steps/UserEditDiffsStep.ts"],"sourcesContent":["import type { FileReference } from 'generaltranslation/types';\nimport { WorkflowStep } from './WorkflowStep.js';\nimport { logger } from '../../console/logger.js';\nimport { Settings } from '../../types/index.js';\nimport chalk from 'chalk';\nimport { collectAndSendUserEditDiffs } from '../../api/collectUserEditDiffs.js';\n\nexport class UserEditDiffsStep extends WorkflowStep<\n FileReference[],\n FileReference[]\n> {\n private spinner = logger.createSpinner('dots');\n private succeeded = false;\n private failed = false;\n\n constructor(private settings: Settings) {\n super();\n }\n\n async run(files: FileReference[]): Promise<FileReference[]> {\n this.spinner.start('Updating translations...');\n\n try {\n await collectAndSendUserEditDiffs(files, this.settings);\n this.succeeded = true;\n } catch {\n // Non-fatal; keep going to enqueue\n this.failed = true;\n }\n\n return files;\n }\n\n async wait(): Promise<void> {\n if (this.succeeded) {\n this.spinner.stop(chalk.green('Updated translations'));\n } else if (this.failed) {\n this.spinner.stop(chalk.yellow('Could not update translations'));\n }\n }\n}\n"],"mappings":";;;;;AAOA,IAAa,oBAAb,cAAuC,aAGrC;CACA,UAAkB,OAAO,cAAc,OAAO;CAC9C,YAAoB;CACpB,SAAiB;CAEjB,YAAY,UAA4B;AACtC,SAAO;AADW,OAAA,WAAA;;CAIpB,MAAM,IAAI,OAAkD;AAC1D,OAAK,QAAQ,MAAM,2BAA2B;AAE9C,MAAI;AACF,SAAM,4BAA4B,OAAO,KAAK,SAAS;AACvD,QAAK,YAAY;UACX;AAEN,QAAK,SAAS;;AAGhB,SAAO;;CAGT,MAAM,OAAsB;AAC1B,MAAI,KAAK,UACP,MAAK,QAAQ,KAAK,MAAM,MAAM,uBAAuB,CAAC;WAC7C,KAAK,OACd,MAAK,QAAQ,KAAK,MAAM,OAAO,gCAAgC,CAAC"}
@@ -1,2 +1,6 @@
1
- export class WorkflowStep {
2
- }
1
+ //#region src/workflows/steps/WorkflowStep.ts
2
+ var WorkflowStep = class {};
3
+ //#endregion
4
+ export { WorkflowStep };
5
+
6
+ //# sourceMappingURL=WorkflowStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowStep.js","names":[],"sources":["../../../src/workflows/steps/WorkflowStep.ts"],"sourcesContent":["export abstract class WorkflowStep<TInput = void, TOutput = void> {\n abstract run(input: TInput): Promise<TOutput>;\n\n abstract wait(): Promise<void>;\n}\n"],"mappings":";AAAA,IAAsB,eAAtB,MAAkE"}
@@ -1,48 +1,47 @@
1
- import chalk from 'chalk';
2
- import { logger } from '../console/logger.js';
3
- import { logErrorAndExit } from '../console/logging.js';
4
- import { gt } from '../utils/gt.js';
5
- import { BranchStep } from './steps/BranchStep.js';
6
- import { UploadSourcesStep } from './steps/UploadSourcesStep.js';
7
- import { UploadTranslationsStep } from './steps/UploadTranslationsStep.js';
1
+ import { logger } from "../console/logger.js";
2
+ import { gt } from "../utils/gt.js";
3
+ import { logErrorAndExit } from "../console/logging.js";
4
+ import { branchResolutionError, withOriginalError } from "../console/index.js";
5
+ import { BranchStep } from "./steps/BranchStep.js";
6
+ import { UploadSourcesStep } from "./steps/UploadSourcesStep.js";
7
+ import { UploadTranslationsStep } from "./steps/UploadTranslationsStep.js";
8
+ import chalk from "chalk";
9
+ //#region src/workflows/upload.ts
8
10
  /**
9
- * Uploads multiple files to the API using a workflow pattern
10
- * @param files - Array of file objects to upload
11
- * @param options - The options for the API call
12
- * @returns The branch data resolved during the workflow
13
- */
14
- export async function runUploadFilesWorkflow({ files, options, }) {
15
- try {
16
- logger.message(chalk.cyan('Files to upload:') +
17
- '\n' +
18
- files
19
- .map((file) => ` - ${chalk.bold(file.source.fileName)}${file.translations.length > 0 ? ` -> ${file.translations.map((t) => t.locale).join(', ')}` : ''}`)
20
- .join('\n'));
21
- // Create workflow steps
22
- const branchStep = new BranchStep(gt, options);
23
- const uploadStep = new UploadSourcesStep(gt, options);
24
- const uploadTranslationsStep = new UploadTranslationsStep(gt, options);
25
- // Step 1: Resolve branch information
26
- const branchData = await branchStep.run();
27
- await branchStep.wait();
28
- if (!branchData) {
29
- return logErrorAndExit('Failed to resolve git branch information.');
30
- }
31
- await uploadStep.run({ files: files.map((f) => f.source), branchData });
32
- await uploadStep.wait();
33
- // Step 3: Upload translations (if any exist)
34
- const filesWithTranslations = files.filter((f) => f.translations.length > 0);
35
- if (filesWithTranslations.length > 0) {
36
- await uploadTranslationsStep.run({
37
- files: filesWithTranslations,
38
- branchData,
39
- });
40
- await uploadTranslationsStep.wait();
41
- }
42
- logger.success('All files uploaded successfully');
43
- return { branchData };
44
- }
45
- catch (error) {
46
- return logErrorAndExit('Failed to upload files. ' + error);
47
- }
11
+ * Uploads multiple files to the API using a workflow pattern
12
+ * @param files - Array of file objects to upload
13
+ * @param options - The options for the API call
14
+ * @returns The branch data resolved during the workflow
15
+ */
16
+ async function runUploadFilesWorkflow({ files, options }) {
17
+ try {
18
+ logger.message(chalk.cyan("Files to upload:") + "\n" + files.map((file) => ` - ${chalk.bold(file.source.fileName)}${file.translations.length > 0 ? ` -> ${file.translations.map((t) => t.locale).join(", ")}` : ""}`).join("\n"));
19
+ const branchStep = new BranchStep(gt, options);
20
+ const uploadStep = new UploadSourcesStep(gt, options);
21
+ const uploadTranslationsStep = new UploadTranslationsStep(gt, options);
22
+ const branchData = await branchStep.run();
23
+ await branchStep.wait();
24
+ if (!branchData) return logErrorAndExit(branchResolutionError);
25
+ await uploadStep.run({
26
+ files: files.map((f) => f.source),
27
+ branchData
28
+ });
29
+ await uploadStep.wait();
30
+ const filesWithTranslations = files.filter((f) => f.translations.length > 0);
31
+ if (filesWithTranslations.length > 0) {
32
+ await uploadTranslationsStep.run({
33
+ files: filesWithTranslations,
34
+ branchData
35
+ });
36
+ await uploadTranslationsStep.wait();
37
+ }
38
+ logger.success("All files uploaded successfully");
39
+ return { branchData };
40
+ } catch (error) {
41
+ return logErrorAndExit(withOriginalError("Files could not be uploaded. Check the files, branch configuration, and API credentials, then try again.", error));
42
+ }
48
43
  }
44
+ //#endregion
45
+ export { runUploadFilesWorkflow };
46
+
47
+ //# sourceMappingURL=upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.js","names":[],"sources":["../../src/workflows/upload.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { branchResolutionError, withOriginalError } from '../console/index.js';\nimport { logger } from '../console/logger.js';\nimport { logErrorAndExit } from '../console/logging.js';\nimport { Settings } from '../types/index.js';\nimport { gt } from '../utils/gt.js';\nimport { BranchStep } from './steps/BranchStep.js';\nimport { UploadSourcesStep } from './steps/UploadSourcesStep.js';\nimport { UploadTranslationsStep } from './steps/UploadTranslationsStep.js';\nimport type { FileToUpload } from 'generaltranslation/types';\nimport { BranchData } from '../types/branch.js';\n\n/**\n * Uploads multiple files to the API using a workflow pattern\n * @param files - Array of file objects to upload\n * @param options - The options for the API call\n * @returns The branch data resolved during the workflow\n */\nexport async function runUploadFilesWorkflow({\n files,\n options,\n}: {\n files: {\n source: FileToUpload;\n translations: FileToUpload[];\n }[];\n options: Settings;\n}): Promise<{ branchData: BranchData }> {\n try {\n logger.message(\n chalk.cyan('Files to upload:') +\n '\\n' +\n files\n .map(\n (file) =>\n ` - ${chalk.bold(file.source.fileName)}${file.translations.length > 0 ? ` -> ${file.translations.map((t) => t.locale).join(', ')}` : ''}`\n )\n .join('\\n')\n );\n\n // Create workflow steps\n const branchStep = new BranchStep(gt, options);\n const uploadStep = new UploadSourcesStep(gt, options);\n const uploadTranslationsStep = new UploadTranslationsStep(gt, options);\n\n // Step 1: Resolve branch information\n const branchData = await branchStep.run();\n await branchStep.wait();\n\n if (!branchData) {\n return logErrorAndExit(branchResolutionError);\n }\n\n await uploadStep.run({ files: files.map((f) => f.source), branchData });\n await uploadStep.wait();\n\n // Step 3: Upload translations (if any exist)\n const filesWithTranslations = files.filter(\n (f) => f.translations.length > 0\n );\n if (filesWithTranslations.length > 0) {\n await uploadTranslationsStep.run({\n files: filesWithTranslations,\n branchData,\n });\n await uploadTranslationsStep.wait();\n }\n\n logger.success('All files uploaded successfully');\n return { branchData };\n } catch (error) {\n return logErrorAndExit(\n withOriginalError(\n 'Files could not be uploaded. Check the files, branch configuration, and API credentials, then try again.',\n error\n )\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAkBA,eAAsB,uBAAuB,EAC3C,OACA,WAOsC;AACtC,KAAI;AACF,SAAO,QACL,MAAM,KAAK,mBAAmB,GAC5B,OACA,MACG,KACE,SACC,OAAO,MAAM,KAAK,KAAK,OAAO,SAAS,GAAG,KAAK,aAAa,SAAS,IAAI,OAAO,KAAK,aAAa,KAAK,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,KAAK,KACzI,CACA,KAAK,KAAK,CAChB;EAGD,MAAM,aAAa,IAAI,WAAW,IAAI,QAAQ;EAC9C,MAAM,aAAa,IAAI,kBAAkB,IAAI,QAAQ;EACrD,MAAM,yBAAyB,IAAI,uBAAuB,IAAI,QAAQ;EAGtE,MAAM,aAAa,MAAM,WAAW,KAAK;AACzC,QAAM,WAAW,MAAM;AAEvB,MAAI,CAAC,WACH,QAAO,gBAAgB,sBAAsB;AAG/C,QAAM,WAAW,IAAI;GAAE,OAAO,MAAM,KAAK,MAAM,EAAE,OAAO;GAAE;GAAY,CAAC;AACvE,QAAM,WAAW,MAAM;EAGvB,MAAM,wBAAwB,MAAM,QACjC,MAAM,EAAE,aAAa,SAAS,EAChC;AACD,MAAI,sBAAsB,SAAS,GAAG;AACpC,SAAM,uBAAuB,IAAI;IAC/B,OAAO;IACP;IACD,CAAC;AACF,SAAM,uBAAuB,MAAM;;AAGrC,SAAO,QAAQ,kCAAkC;AACjD,SAAO,EAAE,YAAY;UACd,OAAO;AACd,SAAO,gBACL,kBACE,4GACA,MACD,CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gt",
3
- "version": "2.14.35",
3
+ "version": "2.14.36",
4
4
  "main": "dist/index.js",
5
5
  "bin": "bin/main.js",
6
6
  "files": [
@@ -94,6 +94,7 @@
94
94
  "fast-glob": "^3.3.3",
95
95
  "fast-json-stable-stringify": "^2.1.0",
96
96
  "html-entities": "^2.6.0",
97
+ "ink": "^5.2.1",
97
98
  "json-pointer": "^0.6.2",
98
99
  "jsonpath-plus": "^10.3.0",
99
100
  "jsonpointer": "^5.0.1",
@@ -101,6 +102,7 @@
101
102
  "micromatch": "^4.0.8",
102
103
  "open": "^10.1.1",
103
104
  "pino": "^10.1.0",
105
+ "react": "^18.3.1",
104
106
  "remark-frontmatter": "^5.0.0",
105
107
  "remark-mdx": "^3.1.0",
106
108
  "remark-parse": "^11.0.0",
@@ -111,9 +113,10 @@
111
113
  "unified": "^11.0.5",
112
114
  "unist-util-visit": "^5.0.0",
113
115
  "yaml": "^2.8.0",
114
- "@generaltranslation/format": "0.1.0",
115
- "@generaltranslation/python-extractor": "0.2.20",
116
- "generaltranslation": "8.2.14",
116
+ "@generaltranslation/format": "0.1.1",
117
+ "@generaltranslation/python-extractor": "0.2.21",
118
+ "@generaltranslation/supported-locales": "2.0.73",
119
+ "generaltranslation": "8.2.15",
117
120
  "gt-remark": "1.0.7"
118
121
  },
119
122
  "devDependencies": {
@@ -133,18 +136,22 @@
133
136
  "mdast-util-mdxjs-esm": "^2.0.1",
134
137
  "prettier": "^3.4.2",
135
138
  "ts-node": "^10.9.2",
139
+ "tsdown": "^0.21.10",
136
140
  "tslib": "^2.8.1",
137
141
  "typescript": "^5.9.2",
138
142
  "vitest": "^3.2.4"
139
143
  },
140
144
  "scripts": {
141
145
  "generate-version": "node scripts/generate-version.js",
142
- "build": "pnpm run generate-version && tsc && rm -rf dist/setup/instructions && cp -r src/setup/instructions dist/setup/instructions",
146
+ "emit-types": "sh ../../scripts/emit-types.sh",
147
+ "transpile": "pnpm run generate-version && tsdown && pnpm run emit-types",
148
+ "copy-instructions": "rm -rf dist/setup/instructions && cp -r src/setup/instructions dist/setup/instructions",
149
+ "build": "pnpm run transpile && pnpm run copy-instructions",
143
150
  "build:clean": "sh ../../scripts/clean.sh && pnpm bin:restore && rm -rf binaries && pnpm run build",
144
151
  "build:release": "pnpm run build:clean",
145
- "build:bin": "pnpm run generate-version && tsc && rm -rf dist/setup/instructions && cp -r src/setup/instructions dist/setup/instructions && sh scripts/build-exe.sh all",
152
+ "build:bin": "pnpm run build && sh scripts/build-exe.sh all",
146
153
  "build:bin:clean": "sh ../../scripts/clean.sh && rm -rf binaries && pnpm run build:bin",
147
- "build:bin:release": "pnpm run build:bin:clean && pnpm run build:bin",
154
+ "build:bin:release": "pnpm run build:bin:clean",
148
155
  "build:bin:darwin-x64": "sh scripts/build-exe.sh darwin-x64",
149
156
  "build:bin:darwin-arm64": "sh scripts/build-exe.sh darwin-arm64",
150
157
  "build:bin:linux-x64": "sh scripts/build-exe.sh linux-x64",