gt 2.14.35 → 2.14.37

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 (430) hide show
  1. package/CHANGELOG.md +22 -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.d.ts +1 -1
  256. package/dist/react/jsx/utils/resolveImportPath.js +125 -108
  257. package/dist/react/jsx/utils/resolveImportPath.js.map +1 -0
  258. package/dist/react/jsx/utils/stringParsing/derivation/containsDeriveCall.js +18 -24
  259. package/dist/react/jsx/utils/stringParsing/derivation/containsDeriveCall.js.map +1 -0
  260. package/dist/react/jsx/utils/stringParsing/derivation/handleDerivation.js +412 -579
  261. package/dist/react/jsx/utils/stringParsing/derivation/handleDerivation.js.map +1 -0
  262. package/dist/react/jsx/utils/stringParsing/derivation/index.js +57 -67
  263. package/dist/react/jsx/utils/stringParsing/derivation/index.js.map +1 -0
  264. package/dist/react/jsx/utils/stringParsing/derivation/isDeriveCall.js +26 -36
  265. package/dist/react/jsx/utils/stringParsing/derivation/isDeriveCall.js.map +1 -0
  266. package/dist/react/jsx/utils/stringParsing/processTaggedTemplateCall/handleTaggedTemplateTranslationCall.js +29 -24
  267. package/dist/react/jsx/utils/stringParsing/processTaggedTemplateCall/handleTaggedTemplateTranslationCall.js.map +1 -0
  268. package/dist/react/jsx/utils/stringParsing/processTaggedTemplateCall/index.js +34 -32
  269. package/dist/react/jsx/utils/stringParsing/processTaggedTemplateCall/index.js.map +1 -0
  270. package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.js +80 -117
  271. package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.js.map +1 -0
  272. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleDeriveTranslationCall.js +24 -19
  273. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleDeriveTranslationCall.js.map +1 -0
  274. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.js +18 -21
  275. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.js.map +1 -0
  276. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.js +45 -50
  277. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.js.map +1 -0
  278. package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.js +54 -59
  279. package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.js.map +1 -0
  280. package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.js +56 -69
  281. package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.js.map +1 -0
  282. package/dist/react/jsx/utils/validateStringFunction.js +21 -29
  283. package/dist/react/jsx/utils/validateStringFunction.js.map +1 -0
  284. package/dist/react/jsx/wrapJsx.js +192 -375
  285. package/dist/react/jsx/wrapJsx.js.map +1 -0
  286. package/dist/react/parse/addVitePlugin/index.js +40 -34
  287. package/dist/react/parse/addVitePlugin/index.js.map +1 -0
  288. package/dist/react/parse/addVitePlugin/installCompiler.js +18 -20
  289. package/dist/react/parse/addVitePlugin/installCompiler.js.map +1 -0
  290. package/dist/react/parse/addVitePlugin/updateViteConfig.js +107 -111
  291. package/dist/react/parse/addVitePlugin/updateViteConfig.js.map +1 -0
  292. package/dist/react/parse/addVitePlugin/utils/addCompilerImport.js +23 -26
  293. package/dist/react/parse/addVitePlugin/utils/addCompilerImport.js.map +1 -0
  294. package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.js +29 -43
  295. package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.js.map +1 -0
  296. package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.js +70 -104
  297. package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.js.map +1 -0
  298. package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.js +23 -29
  299. package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.js.map +1 -0
  300. package/dist/react/parse/createDictionaryUpdates.js +121 -185
  301. package/dist/react/parse/createDictionaryUpdates.js.map +1 -0
  302. package/dist/react/parse/createInlineUpdates.js +123 -139
  303. package/dist/react/parse/createInlineUpdates.js.map +1 -0
  304. package/dist/react/parse/wrapContent.js +131 -156
  305. package/dist/react/parse/wrapContent.js.map +1 -0
  306. package/dist/react/utils/flattenDictionary.js +55 -70
  307. package/dist/react/utils/flattenDictionary.js.map +1 -0
  308. package/dist/react/utils/getEntryAndMetadata.js +14 -10
  309. package/dist/react/utils/getEntryAndMetadata.js.map +1 -0
  310. package/dist/react/utils/getVariableName.js +36 -33
  311. package/dist/react/utils/getVariableName.js.map +1 -0
  312. package/dist/setup/detectFramework.js +85 -102
  313. package/dist/setup/detectFramework.js.map +1 -0
  314. package/dist/setup/frameworkUtils.js +17 -28
  315. package/dist/setup/frameworkUtils.js.map +1 -0
  316. package/dist/setup/userInput.js +24 -31
  317. package/dist/setup/userInput.js.map +1 -0
  318. package/dist/setup/wizard.js +141 -143
  319. package/dist/setup/wizard.js.map +1 -0
  320. package/dist/state/mintlifyRefMap.js +12 -9
  321. package/dist/state/mintlifyRefMap.js.map +1 -0
  322. package/dist/state/recentDownloads.js +26 -23
  323. package/dist/state/recentDownloads.js.map +1 -0
  324. package/dist/state/translateWarnings.js +17 -8
  325. package/dist/state/translateWarnings.js.map +1 -0
  326. package/dist/translation/parse.js +77 -98
  327. package/dist/translation/parse.js.map +1 -0
  328. package/dist/translation/stage.js +28 -43
  329. package/dist/translation/stage.js.map +1 -0
  330. package/dist/translation/validate.js +68 -91
  331. package/dist/translation/validate.js.map +1 -0
  332. package/dist/types/libraries.js +93 -91
  333. package/dist/types/libraries.js.map +1 -0
  334. package/dist/types/parsing.js +19 -10
  335. package/dist/types/parsing.js.map +1 -0
  336. package/dist/utils/addExplicitAnchorIds.js +270 -389
  337. package/dist/utils/addExplicitAnchorIds.js.map +1 -0
  338. package/dist/utils/calculateTimeoutMs.js +11 -6
  339. package/dist/utils/calculateTimeoutMs.js.map +1 -0
  340. package/dist/utils/constants.js +15 -12
  341. package/dist/utils/constants.js.map +1 -0
  342. package/dist/utils/credentials.js +67 -114
  343. package/dist/utils/credentials.js.map +1 -0
  344. package/dist/utils/fetch.js +22 -20
  345. package/dist/utils/fetch.js.map +1 -0
  346. package/dist/utils/flattenJsonFiles.js +27 -34
  347. package/dist/utils/flattenJsonFiles.js.map +1 -0
  348. package/dist/utils/gitDiff.js +30 -32
  349. package/dist/utils/gitDiff.js.map +1 -0
  350. package/dist/utils/gt.js +7 -2
  351. package/dist/utils/gt.js.map +1 -0
  352. package/dist/utils/hash.js +14 -9
  353. package/dist/utils/hash.js.map +1 -0
  354. package/dist/utils/headers.js +10 -13
  355. package/dist/utils/headers.js.map +1 -0
  356. package/dist/utils/installPackage.js +70 -75
  357. package/dist/utils/installPackage.js.map +1 -0
  358. package/dist/utils/localizeRelativeAssets.js +114 -157
  359. package/dist/utils/localizeRelativeAssets.js.map +1 -0
  360. package/dist/utils/localizeStaticImports.js +229 -371
  361. package/dist/utils/localizeStaticImports.js.map +1 -0
  362. package/dist/utils/localizeStaticUrls.js +241 -424
  363. package/dist/utils/localizeStaticUrls.js.map +1 -0
  364. package/dist/utils/mintlifyTitleFallback.js +64 -72
  365. package/dist/utils/mintlifyTitleFallback.js.map +1 -0
  366. package/dist/utils/monorepoVersionCheck.js +177 -215
  367. package/dist/utils/monorepoVersionCheck.js.map +1 -0
  368. package/dist/utils/packageInfo.js +17 -16
  369. package/dist/utils/packageInfo.js.map +1 -0
  370. package/dist/utils/packageJson.js +51 -66
  371. package/dist/utils/packageJson.js.map +1 -0
  372. package/dist/utils/packageManager.js +237 -260
  373. package/dist/utils/packageManager.js.map +1 -0
  374. package/dist/utils/parse/needsCJS.js +36 -69
  375. package/dist/utils/parse/needsCJS.js.map +1 -0
  376. package/dist/utils/persistPostprocessHashes.js +30 -32
  377. package/dist/utils/persistPostprocessHashes.js.map +1 -0
  378. package/dist/utils/processAnchorIds.js +32 -54
  379. package/dist/utils/processAnchorIds.js.map +1 -0
  380. package/dist/utils/processOpenApi.js +469 -578
  381. package/dist/utils/processOpenApi.js.map +1 -0
  382. package/dist/utils/resolveMintlifyRefs.js +89 -105
  383. package/dist/utils/resolveMintlifyRefs.js.map +1 -0
  384. package/dist/utils/resolvePublish.js +46 -54
  385. package/dist/utils/resolvePublish.js.map +1 -0
  386. package/dist/utils/sanitizeFileContent.js +20 -27
  387. package/dist/utils/sanitizeFileContent.js.map +1 -0
  388. package/dist/utils/sharedStaticAssets.js +248 -366
  389. package/dist/utils/sharedStaticAssets.js.map +1 -0
  390. package/dist/utils/splitMintlifyLanguageRefs.js +208 -282
  391. package/dist/utils/splitMintlifyLanguageRefs.js.map +1 -0
  392. package/dist/utils/validateMdx.js +26 -23
  393. package/dist/utils/validateMdx.js.map +1 -0
  394. package/dist/utils/wrapPlainUrls.js +58 -70
  395. package/dist/utils/wrapPlainUrls.js.map +1 -0
  396. package/dist/workflows/download.js +92 -126
  397. package/dist/workflows/download.js.map +1 -0
  398. package/dist/workflows/enqueue.js +47 -54
  399. package/dist/workflows/enqueue.js.map +1 -0
  400. package/dist/workflows/publish.js +29 -29
  401. package/dist/workflows/publish.js.map +1 -0
  402. package/dist/workflows/setupProject.js +39 -40
  403. package/dist/workflows/setupProject.js.map +1 -0
  404. package/dist/workflows/stage.js +61 -65
  405. package/dist/workflows/stage.js.map +1 -0
  406. package/dist/workflows/steps/BranchStep.js +118 -163
  407. package/dist/workflows/steps/BranchStep.js.map +1 -0
  408. package/dist/workflows/steps/DownloadStep.js +107 -137
  409. package/dist/workflows/steps/DownloadStep.js.map +1 -0
  410. package/dist/workflows/steps/EnqueueStep.js +32 -32
  411. package/dist/workflows/steps/EnqueueStep.js.map +1 -0
  412. package/dist/workflows/steps/PollJobsStep.js +208 -292
  413. package/dist/workflows/steps/PollJobsStep.js.map +1 -0
  414. package/dist/workflows/steps/PublishStep.js +33 -38
  415. package/dist/workflows/steps/PublishStep.js.map +1 -0
  416. package/dist/workflows/steps/SetupStep.js +71 -72
  417. package/dist/workflows/steps/SetupStep.js.map +1 -0
  418. package/dist/workflows/steps/TagStep.js +39 -44
  419. package/dist/workflows/steps/TagStep.js.map +1 -0
  420. package/dist/workflows/steps/UploadSourcesStep.js +108 -140
  421. package/dist/workflows/steps/UploadSourcesStep.js.map +1 -0
  422. package/dist/workflows/steps/UploadTranslationsStep.js +61 -71
  423. package/dist/workflows/steps/UploadTranslationsStep.js.map +1 -0
  424. package/dist/workflows/steps/UserEditDiffsStep.js +32 -34
  425. package/dist/workflows/steps/UserEditDiffsStep.js.map +1 -0
  426. package/dist/workflows/steps/WorkflowStep.js +6 -2
  427. package/dist/workflows/steps/WorkflowStep.js.map +1 -0
  428. package/dist/workflows/upload.js +45 -46
  429. package/dist/workflows/upload.js.map +1 -0
  430. package/package.json +14 -7
@@ -1,387 +1,204 @@
1
- import * as t from '@babel/types';
2
- import { isStaticExpression, isStaticValue } from './evaluateJsx.js';
3
- import { warnTernarySync } from '../../console/index.js';
1
+ import { isStaticExpression, isStaticValue } from "./evaluateJsx.js";
2
+ import { warnTernarySync } from "../../console/index.js";
3
+ import * as t from "@babel/types";
4
+ //#region src/react/jsx/wrapJsx.ts
4
5
  function wrapJsxExpression(node, options, isMeaningful, mark) {
5
- const expression = t.isParenthesizedExpression(node.expression)
6
- ? node.expression.expression
7
- : node.expression;
8
- // Ignore template literals containing quasis - they should not be counted as meaningful
9
- if (t.isTemplateLiteral(expression) && expression.expressions.length > 0) {
10
- return {
11
- node,
12
- hasMeaningfulContent: false,
13
- wrappedInT: false,
14
- };
15
- }
16
- // Handle both JSX Elements and Fragments
17
- if (t.isJSXElement(expression) ||
18
- t.isJSXFragment(expression) ||
19
- t.isStringLiteral(expression) ||
20
- t.isJSXText(expression) ||
21
- t.isTemplateLiteral(expression)) {
22
- if (t.isJSXElement(expression) || t.isJSXFragment(expression)) {
23
- const result = wrapJsxElement(expression, options, isMeaningful, mark);
24
- // re-wrap the result in a JSXExpressionContainer
25
- if (t.isParenthesizedExpression(node.expression)) {
26
- node.expression.expression = result.node;
27
- }
28
- else {
29
- node.expression = result.node;
30
- }
31
- return {
32
- node,
33
- hasMeaningfulContent: result.hasMeaningfulContent,
34
- wrappedInT: result.wrappedInT,
35
- };
36
- }
37
- return {
38
- node,
39
- hasMeaningfulContent: isMeaningful(expression),
40
- wrappedInT: false,
41
- };
42
- }
43
- // Handle conditional expressions (ternary)
44
- else if (t.isConditionalExpression(expression)) {
45
- const consequent = t.isParenthesizedExpression(expression.consequent)
46
- ? expression.consequent.expression
47
- : expression.consequent;
48
- const alternate = t.isParenthesizedExpression(expression.alternate)
49
- ? expression.alternate.expression
50
- : expression.alternate;
51
- // Handle consequent
52
- if (t.isJSXElement(consequent) || t.isJSXFragment(consequent)) {
53
- const result = handleJsxElement(consequent, options, isMeaningful);
54
- // Re-insert into parenthesized expression if necessary
55
- if (t.isParenthesizedExpression(expression.consequent)) {
56
- expression.consequent.expression = result.node;
57
- }
58
- else {
59
- expression.consequent = result.node;
60
- }
61
- // Warn about ternary (should use branch instead)
62
- if (result.wrappedInT && !mark) {
63
- options.warnings.push(warnTernarySync(options.file, `${consequent.loc?.start?.line}:${consequent.loc?.start?.column}`));
64
- }
65
- }
66
- else if (t.isConditionalExpression(consequent) ||
67
- t.isLogicalExpression(consequent)) {
68
- // Recursively handle nested ternary in consequent
69
- const consequentResult = wrapJsxExpression(t.jsxExpressionContainer(consequent), options, isMeaningful, mark);
70
- if (t.isJSXExpressionContainer(consequentResult.node) &&
71
- t.isExpression(consequentResult.node.expression)) {
72
- expression.consequent = consequentResult.node.expression;
73
- // Re-insert into parenthesized expression if necessary
74
- if (t.isParenthesizedExpression(expression.consequent)) {
75
- expression.consequent.expression = consequentResult.node.expression;
76
- }
77
- else {
78
- expression.consequent = consequentResult.node.expression;
79
- }
80
- }
81
- }
82
- else if (t.isTemplateLiteral(consequent) &&
83
- consequent.expressions.length > 0) {
84
- // Ignore template literals in consequent with expressions (${}), don't wrap them
85
- // Do nothing
86
- }
87
- else {
88
- if (isStaticValue(consequent) && isMeaningful(consequent)) {
89
- const wrapped = wrapExpressionWithT(consequent, options, false);
90
- // Re-insert into parenthesized expression if necessary
91
- if (t.isParenthesizedExpression(expression.consequent)) {
92
- expression.consequent.expression = wrapped;
93
- }
94
- else {
95
- expression.consequent = wrapped;
96
- }
97
- }
98
- }
99
- // Handle alternate
100
- if (t.isJSXElement(alternate) || t.isJSXFragment(alternate)) {
101
- const result = handleJsxElement(alternate, options, isMeaningful);
102
- // Re-insert into parenthesized expression if necessary
103
- if (t.isParenthesizedExpression(expression.alternate)) {
104
- expression.alternate.expression = result.node;
105
- }
106
- else {
107
- expression.alternate = result.node;
108
- }
109
- }
110
- else if (t.isConditionalExpression(alternate) ||
111
- t.isLogicalExpression(alternate)) {
112
- // Recursively handle nested ternary in alternate
113
- const alternateResult = wrapJsxExpression(t.jsxExpressionContainer(alternate), options, isMeaningful, mark);
114
- if (t.isJSXExpressionContainer(alternateResult.node) &&
115
- t.isExpression(alternateResult.node.expression)) {
116
- expression.alternate = alternateResult.node.expression;
117
- // Re-insert into parenthesized expression if necessary
118
- if (t.isParenthesizedExpression(expression.alternate)) {
119
- expression.alternate.expression = alternateResult.node.expression;
120
- }
121
- else {
122
- expression.alternate = alternateResult.node.expression;
123
- }
124
- }
125
- }
126
- else if (t.isTemplateLiteral(alternate) &&
127
- alternate.expressions.length > 0) {
128
- // Ignore template literals in alternate with expressions (${}), don't wrap them
129
- // Do nothing
130
- }
131
- else {
132
- if (isStaticValue(alternate) && isMeaningful(alternate)) {
133
- const wrapped = wrapExpressionWithT(alternate, options, false);
134
- // Re-insert into parenthesized expression if necessary
135
- if (t.isParenthesizedExpression(expression.alternate)) {
136
- expression.alternate.expression = wrapped;
137
- }
138
- else {
139
- expression.alternate = wrapped;
140
- }
141
- }
142
- }
143
- }
144
- // Handle logical expressions (&& and ||)
145
- else if (t.isLogicalExpression(expression)) {
146
- const left = t.isParenthesizedExpression(expression.left)
147
- ? expression.left.expression
148
- : expression.left;
149
- const right = t.isParenthesizedExpression(expression.right)
150
- ? expression.right.expression
151
- : expression.right;
152
- if (t.isJSXElement(left) || t.isJSXFragment(left)) {
153
- const result = handleJsxElement(left, options, isMeaningful);
154
- // Re-insert into parenthesized expression if necessary
155
- if (t.isParenthesizedExpression(expression.left)) {
156
- expression.left.expression = result.node;
157
- }
158
- else {
159
- expression.left = result.node;
160
- }
161
- }
162
- else if (t.isLogicalExpression(left) || t.isConditionalExpression(left)) {
163
- // Recursively handle nested logical expressions
164
- const leftResult = wrapJsxExpression(t.jsxExpressionContainer(left), options, isMeaningful, mark);
165
- if (t.isJSXExpressionContainer(leftResult.node) &&
166
- t.isExpression(leftResult.node.expression)) {
167
- // Re-insert into parenthesized expression if necessary
168
- if (t.isParenthesizedExpression(expression.left)) {
169
- expression.left.expression = leftResult.node.expression;
170
- }
171
- else {
172
- expression.left = leftResult.node.expression;
173
- }
174
- }
175
- }
176
- else if (t.isTemplateLiteral(left) && left.expressions.length > 0) {
177
- // Ignore template literals with expressions (${}) in left side of logical expression
178
- // Do nothing - don't wrap them
179
- }
180
- else {
181
- if (isStaticValue(left) &&
182
- isMeaningful(left) &&
183
- expression.operator !== '&&') {
184
- const wrapped = wrapExpressionWithT(left, options, false);
185
- // Re-insert into parenthesized expression if necessary
186
- if (t.isParenthesizedExpression(expression.left)) {
187
- expression.left.expression = wrapped;
188
- }
189
- else {
190
- expression.left = wrapped;
191
- }
192
- }
193
- }
194
- if (t.isJSXElement(right) || t.isJSXFragment(right)) {
195
- const result = handleJsxElement(right, options, isMeaningful);
196
- // Re-insert into parenthesized expression if necessary
197
- if (t.isParenthesizedExpression(expression.right)) {
198
- expression.right.expression = result.node;
199
- }
200
- else {
201
- expression.right = result.node;
202
- }
203
- }
204
- else if (t.isLogicalExpression(right) ||
205
- t.isConditionalExpression(right)) {
206
- // Recursively handle nested logical expressions
207
- const rightResult = wrapJsxExpression(t.jsxExpressionContainer(right), options, isMeaningful, mark);
208
- if (t.isJSXExpressionContainer(rightResult.node) &&
209
- t.isExpression(rightResult.node.expression)) {
210
- // Re-insert into parenthesized expression if necessary
211
- if (t.isParenthesizedExpression(expression.right)) {
212
- expression.right.expression = rightResult.node.expression;
213
- }
214
- else {
215
- expression.right = rightResult.node.expression;
216
- }
217
- }
218
- }
219
- else if (t.isTemplateLiteral(right) && right.expressions.length > 0) {
220
- // Ignore template literals with expressions (${}) in right side of logical expression
221
- // Do nothing - don't wrap them
222
- }
223
- else {
224
- if (isStaticValue(right) &&
225
- isMeaningful(right) &&
226
- expression.operator !== '||') {
227
- const wrapped = wrapExpressionWithT(right, options, false);
228
- // Re-insert into parenthesized expression if necessary
229
- if (t.isParenthesizedExpression(expression.right)) {
230
- expression.right.expression = wrapped;
231
- }
232
- else {
233
- expression.right = wrapped;
234
- }
235
- }
236
- }
237
- }
238
- const staticCheck = isStaticExpression(expression);
239
- // If the expression is not derivable or if it's already wrapped in T,
240
- // wrap with Var
241
- if (!staticCheck.isStatic) {
242
- return {
243
- node: wrapWithVar(node, options, mark),
244
- hasMeaningfulContent: false,
245
- wrappedInT: false,
246
- };
247
- }
248
- // If it's a derivable expression, check if it's meaningful
249
- return {
250
- node,
251
- hasMeaningfulContent: false,
252
- wrappedInT: false,
253
- };
6
+ const expression = t.isParenthesizedExpression(node.expression) ? node.expression.expression : node.expression;
7
+ if (t.isTemplateLiteral(expression) && expression.expressions.length > 0) return {
8
+ node,
9
+ hasMeaningfulContent: false,
10
+ wrappedInT: false
11
+ };
12
+ if (t.isJSXElement(expression) || t.isJSXFragment(expression) || t.isStringLiteral(expression) || t.isJSXText(expression) || t.isTemplateLiteral(expression)) {
13
+ if (t.isJSXElement(expression) || t.isJSXFragment(expression)) {
14
+ const result = wrapJsxElement(expression, options, isMeaningful, mark);
15
+ if (t.isParenthesizedExpression(node.expression)) node.expression.expression = result.node;
16
+ else node.expression = result.node;
17
+ return {
18
+ node,
19
+ hasMeaningfulContent: result.hasMeaningfulContent,
20
+ wrappedInT: result.wrappedInT
21
+ };
22
+ }
23
+ return {
24
+ node,
25
+ hasMeaningfulContent: isMeaningful(expression),
26
+ wrappedInT: false
27
+ };
28
+ } else if (t.isConditionalExpression(expression)) {
29
+ const consequent = t.isParenthesizedExpression(expression.consequent) ? expression.consequent.expression : expression.consequent;
30
+ const alternate = t.isParenthesizedExpression(expression.alternate) ? expression.alternate.expression : expression.alternate;
31
+ if (t.isJSXElement(consequent) || t.isJSXFragment(consequent)) {
32
+ const result = handleJsxElement(consequent, options, isMeaningful);
33
+ if (t.isParenthesizedExpression(expression.consequent)) expression.consequent.expression = result.node;
34
+ else expression.consequent = result.node;
35
+ if (result.wrappedInT && !mark) options.warnings.push(warnTernarySync(options.file, `${consequent.loc?.start?.line}:${consequent.loc?.start?.column}`));
36
+ } else if (t.isConditionalExpression(consequent) || t.isLogicalExpression(consequent)) {
37
+ const consequentResult = wrapJsxExpression(t.jsxExpressionContainer(consequent), options, isMeaningful, mark);
38
+ if (t.isJSXExpressionContainer(consequentResult.node) && t.isExpression(consequentResult.node.expression)) {
39
+ expression.consequent = consequentResult.node.expression;
40
+ if (t.isParenthesizedExpression(expression.consequent)) expression.consequent.expression = consequentResult.node.expression;
41
+ else expression.consequent = consequentResult.node.expression;
42
+ }
43
+ } else if (t.isTemplateLiteral(consequent) && consequent.expressions.length > 0) {} else if (isStaticValue(consequent) && isMeaningful(consequent)) {
44
+ const wrapped = wrapExpressionWithT(consequent, options, false);
45
+ if (t.isParenthesizedExpression(expression.consequent)) expression.consequent.expression = wrapped;
46
+ else expression.consequent = wrapped;
47
+ }
48
+ if (t.isJSXElement(alternate) || t.isJSXFragment(alternate)) {
49
+ const result = handleJsxElement(alternate, options, isMeaningful);
50
+ if (t.isParenthesizedExpression(expression.alternate)) expression.alternate.expression = result.node;
51
+ else expression.alternate = result.node;
52
+ } else if (t.isConditionalExpression(alternate) || t.isLogicalExpression(alternate)) {
53
+ const alternateResult = wrapJsxExpression(t.jsxExpressionContainer(alternate), options, isMeaningful, mark);
54
+ if (t.isJSXExpressionContainer(alternateResult.node) && t.isExpression(alternateResult.node.expression)) {
55
+ expression.alternate = alternateResult.node.expression;
56
+ if (t.isParenthesizedExpression(expression.alternate)) expression.alternate.expression = alternateResult.node.expression;
57
+ else expression.alternate = alternateResult.node.expression;
58
+ }
59
+ } else if (t.isTemplateLiteral(alternate) && alternate.expressions.length > 0) {} else if (isStaticValue(alternate) && isMeaningful(alternate)) {
60
+ const wrapped = wrapExpressionWithT(alternate, options, false);
61
+ if (t.isParenthesizedExpression(expression.alternate)) expression.alternate.expression = wrapped;
62
+ else expression.alternate = wrapped;
63
+ }
64
+ } else if (t.isLogicalExpression(expression)) {
65
+ const left = t.isParenthesizedExpression(expression.left) ? expression.left.expression : expression.left;
66
+ const right = t.isParenthesizedExpression(expression.right) ? expression.right.expression : expression.right;
67
+ if (t.isJSXElement(left) || t.isJSXFragment(left)) {
68
+ const result = handleJsxElement(left, options, isMeaningful);
69
+ if (t.isParenthesizedExpression(expression.left)) expression.left.expression = result.node;
70
+ else expression.left = result.node;
71
+ } else if (t.isLogicalExpression(left) || t.isConditionalExpression(left)) {
72
+ const leftResult = wrapJsxExpression(t.jsxExpressionContainer(left), options, isMeaningful, mark);
73
+ if (t.isJSXExpressionContainer(leftResult.node) && t.isExpression(leftResult.node.expression)) if (t.isParenthesizedExpression(expression.left)) expression.left.expression = leftResult.node.expression;
74
+ else expression.left = leftResult.node.expression;
75
+ } else if (t.isTemplateLiteral(left) && left.expressions.length > 0) {} else if (isStaticValue(left) && isMeaningful(left) && expression.operator !== "&&") {
76
+ const wrapped = wrapExpressionWithT(left, options, false);
77
+ if (t.isParenthesizedExpression(expression.left)) expression.left.expression = wrapped;
78
+ else expression.left = wrapped;
79
+ }
80
+ if (t.isJSXElement(right) || t.isJSXFragment(right)) {
81
+ const result = handleJsxElement(right, options, isMeaningful);
82
+ if (t.isParenthesizedExpression(expression.right)) expression.right.expression = result.node;
83
+ else expression.right = result.node;
84
+ } else if (t.isLogicalExpression(right) || t.isConditionalExpression(right)) {
85
+ const rightResult = wrapJsxExpression(t.jsxExpressionContainer(right), options, isMeaningful, mark);
86
+ if (t.isJSXExpressionContainer(rightResult.node) && t.isExpression(rightResult.node.expression)) if (t.isParenthesizedExpression(expression.right)) expression.right.expression = rightResult.node.expression;
87
+ else expression.right = rightResult.node.expression;
88
+ } else if (t.isTemplateLiteral(right) && right.expressions.length > 0) {} else if (isStaticValue(right) && isMeaningful(right) && expression.operator !== "||") {
89
+ const wrapped = wrapExpressionWithT(right, options, false);
90
+ if (t.isParenthesizedExpression(expression.right)) expression.right.expression = wrapped;
91
+ else expression.right = wrapped;
92
+ }
93
+ }
94
+ if (!isStaticExpression(expression).isStatic) return {
95
+ node: wrapWithVar(node, options, mark),
96
+ hasMeaningfulContent: false,
97
+ wrappedInT: false
98
+ };
99
+ return {
100
+ node,
101
+ hasMeaningfulContent: false,
102
+ wrappedInT: false
103
+ };
254
104
  }
255
105
  /**
256
- * Recursively traverse a JSX element and wrap variables with a <Var> component
257
- * @param node - The JSX element to wrap
258
- * @param options - Optional component names for T and Var
259
- * @param isMeaningful - A function to determine if a node is meaningful
260
- * @returns The wrapped JSX element
261
- */
262
- export function wrapJsxElement(node, options, isMeaningful, mark) {
263
- const TComponentName = options.TComponent || 'T';
264
- const VarComponentName = options.VarComponent || 'Var';
265
- // Handle both JSX Elements and Fragments
266
- if (t.isJSXElement(node) || t.isJSXFragment(node)) {
267
- // For elements, check if it's already a T or Var component
268
- if (t.isJSXElement(node)) {
269
- const name = node.openingElement.name;
270
- if (t.isJSXIdentifier(name) &&
271
- (name.name === TComponentName || name.name === VarComponentName)) {
272
- return {
273
- node,
274
- hasMeaningfulContent: false,
275
- wrappedInT: name.name === TComponentName,
276
- };
277
- }
278
- }
279
- // Process children recursively (DFS postorder)
280
- let hasMeaningfulContent = false;
281
- let wrappedInT = false;
282
- const processedChildren = node.children.map((child) => {
283
- if (t.isJSXElement(child) || t.isJSXFragment(child)) {
284
- const result = wrapJsxElement(child, options, isMeaningful, mark);
285
- hasMeaningfulContent =
286
- hasMeaningfulContent || result.hasMeaningfulContent;
287
- wrappedInT = wrappedInT || result.wrappedInT;
288
- return result.node;
289
- }
290
- if (t.isJSXExpressionContainer(child)) {
291
- const result = wrapJsxExpression(child, options, isMeaningful, mark);
292
- wrappedInT = wrappedInT || result.wrappedInT;
293
- hasMeaningfulContent =
294
- hasMeaningfulContent || result.hasMeaningfulContent;
295
- // Expressions are never meaningful because they will either:
296
- // 1. be sub-wrapped in a T (if they contain meaningful content)
297
- // 2. be wrapped in a Var (if they are not marked as derivable)
298
- return result.node;
299
- }
300
- const isMeaningfulVal = isMeaningful(child);
301
- if (isMeaningfulVal) {
302
- hasMeaningfulContent = true;
303
- }
304
- return child;
305
- });
306
- node.children = processedChildren;
307
- return {
308
- node,
309
- hasMeaningfulContent: hasMeaningfulContent,
310
- wrappedInT: wrappedInT,
311
- };
312
- }
313
- // For any other node types, return as-is
314
- return {
315
- node,
316
- hasMeaningfulContent: false,
317
- wrappedInT: false,
318
- };
106
+ * Recursively traverse a JSX element and wrap variables with a <Var> component
107
+ * @param node - The JSX element to wrap
108
+ * @param options - Optional component names for T and Var
109
+ * @param isMeaningful - A function to determine if a node is meaningful
110
+ * @returns The wrapped JSX element
111
+ */
112
+ function wrapJsxElement(node, options, isMeaningful, mark) {
113
+ const TComponentName = options.TComponent || "T";
114
+ const VarComponentName = options.VarComponent || "Var";
115
+ if (t.isJSXElement(node) || t.isJSXFragment(node)) {
116
+ if (t.isJSXElement(node)) {
117
+ const name = node.openingElement.name;
118
+ if (t.isJSXIdentifier(name) && (name.name === TComponentName || name.name === VarComponentName)) return {
119
+ node,
120
+ hasMeaningfulContent: false,
121
+ wrappedInT: name.name === TComponentName
122
+ };
123
+ }
124
+ let hasMeaningfulContent = false;
125
+ let wrappedInT = false;
126
+ node.children = node.children.map((child) => {
127
+ if (t.isJSXElement(child) || t.isJSXFragment(child)) {
128
+ const result = wrapJsxElement(child, options, isMeaningful, mark);
129
+ hasMeaningfulContent = hasMeaningfulContent || result.hasMeaningfulContent;
130
+ wrappedInT = wrappedInT || result.wrappedInT;
131
+ return result.node;
132
+ }
133
+ if (t.isJSXExpressionContainer(child)) {
134
+ const result = wrapJsxExpression(child, options, isMeaningful, mark);
135
+ wrappedInT = wrappedInT || result.wrappedInT;
136
+ hasMeaningfulContent = hasMeaningfulContent || result.hasMeaningfulContent;
137
+ return result.node;
138
+ }
139
+ if (isMeaningful(child)) hasMeaningfulContent = true;
140
+ return child;
141
+ });
142
+ return {
143
+ node,
144
+ hasMeaningfulContent,
145
+ wrappedInT
146
+ };
147
+ }
148
+ return {
149
+ node,
150
+ hasMeaningfulContent: false,
151
+ wrappedInT: false
152
+ };
319
153
  }
320
154
  /**
321
- * Wraps a JSX element with a <T> component and unique id
322
- * @param rootNode - The JSX element to wrap
323
- * @param options - Optional component names for T and Var
324
- * @param isMeaningful - A function to determine if a node is meaningful
325
- * @returns The wrapped JSX element
326
- */
327
- export function handleJsxElement(rootNode, options, isMeaningful) {
328
- const result = wrapJsxElement(rootNode, options, isMeaningful, true);
329
- // Only wrap with T at the root level if there's meaningful content
330
- if (result.hasMeaningfulContent) {
331
- const output = wrapJsxElement(result.node, options, isMeaningful, false);
332
- const node = wrapWithT(output.node, options, false);
333
- return {
334
- node,
335
- hasMeaningfulContent: true,
336
- wrappedInT: true,
337
- };
338
- }
339
- return {
340
- node: result.node,
341
- hasMeaningfulContent: false,
342
- wrappedInT: result.wrappedInT,
343
- };
155
+ * Wraps a JSX element with a <T> component and unique id
156
+ * @param rootNode - The JSX element to wrap
157
+ * @param options - Optional component names for T and Var
158
+ * @param isMeaningful - A function to determine if a node is meaningful
159
+ * @returns The wrapped JSX element
160
+ */
161
+ function handleJsxElement(rootNode, options, isMeaningful) {
162
+ const result = wrapJsxElement(rootNode, options, isMeaningful, true);
163
+ if (result.hasMeaningfulContent) return {
164
+ node: wrapWithT(wrapJsxElement(result.node, options, isMeaningful, false).node, options, false),
165
+ hasMeaningfulContent: true,
166
+ wrappedInT: true
167
+ };
168
+ return {
169
+ node: result.node,
170
+ hasMeaningfulContent: false,
171
+ wrappedInT: result.wrappedInT
172
+ };
344
173
  }
345
174
  function wrapWithT(node, options, mark) {
346
- if (mark) {
347
- return node;
348
- }
349
- const TComponentName = options.TComponent || 'T';
350
- const uniqueId = `${options.idPrefix}.${options.idCount}`;
351
- options.modified = true;
352
- options.idCount++;
353
- if (!options.usedImports.includes(TComponentName)) {
354
- options.usedImports.push(TComponentName);
355
- }
356
- if (options.createIds) {
357
- return t.jsxElement(t.jsxOpeningElement(t.jsxIdentifier(TComponentName), [t.jsxAttribute(t.jsxIdentifier('id'), t.stringLiteral(uniqueId))], false), t.jsxClosingElement(t.jsxIdentifier(TComponentName)), [node], false);
358
- }
359
- return t.jsxElement(t.jsxOpeningElement(t.jsxIdentifier(TComponentName), [], false), t.jsxClosingElement(t.jsxIdentifier(TComponentName)), [node], false);
175
+ if (mark) return node;
176
+ const TComponentName = options.TComponent || "T";
177
+ const uniqueId = `${options.idPrefix}.${options.idCount}`;
178
+ options.modified = true;
179
+ options.idCount++;
180
+ if (!options.usedImports.includes(TComponentName)) options.usedImports.push(TComponentName);
181
+ if (options.createIds) return t.jsxElement(t.jsxOpeningElement(t.jsxIdentifier(TComponentName), [t.jsxAttribute(t.jsxIdentifier("id"), t.stringLiteral(uniqueId))], false), t.jsxClosingElement(t.jsxIdentifier(TComponentName)), [node], false);
182
+ return t.jsxElement(t.jsxOpeningElement(t.jsxIdentifier(TComponentName), [], false), t.jsxClosingElement(t.jsxIdentifier(TComponentName)), [node], false);
360
183
  }
361
184
  function wrapExpressionWithT(node, options, mark) {
362
- if (mark) {
363
- return node;
364
- }
365
- const TComponentName = options.TComponent || 'T';
366
- const uniqueId = `${options.idPrefix}.${options.idCount}`;
367
- options.modified = true;
368
- options.idCount++;
369
- if (!options.usedImports.includes(TComponentName)) {
370
- options.usedImports.push(TComponentName);
371
- }
372
- if (options.createIds) {
373
- return t.jsxElement(t.jsxOpeningElement(t.jsxIdentifier(TComponentName), [t.jsxAttribute(t.jsxIdentifier('id'), t.stringLiteral(uniqueId))], false), t.jsxClosingElement(t.jsxIdentifier(TComponentName)), [t.jsxExpressionContainer(node)], false);
374
- }
375
- return t.jsxElement(t.jsxOpeningElement(t.jsxIdentifier(TComponentName), [], false), t.jsxClosingElement(t.jsxIdentifier(TComponentName)), [t.jsxExpressionContainer(node)], false);
185
+ if (mark) return node;
186
+ const TComponentName = options.TComponent || "T";
187
+ const uniqueId = `${options.idPrefix}.${options.idCount}`;
188
+ options.modified = true;
189
+ options.idCount++;
190
+ if (!options.usedImports.includes(TComponentName)) options.usedImports.push(TComponentName);
191
+ if (options.createIds) return t.jsxElement(t.jsxOpeningElement(t.jsxIdentifier(TComponentName), [t.jsxAttribute(t.jsxIdentifier("id"), t.stringLiteral(uniqueId))], false), t.jsxClosingElement(t.jsxIdentifier(TComponentName)), [t.jsxExpressionContainer(node)], false);
192
+ return t.jsxElement(t.jsxOpeningElement(t.jsxIdentifier(TComponentName), [], false), t.jsxClosingElement(t.jsxIdentifier(TComponentName)), [t.jsxExpressionContainer(node)], false);
376
193
  }
377
194
  function wrapWithVar(node, options, mark) {
378
- if (mark) {
379
- return node;
380
- }
381
- const VarComponentName = options.VarComponent || 'Var';
382
- options.modified = true;
383
- if (!options.usedImports.includes(VarComponentName)) {
384
- options.usedImports.push(VarComponentName);
385
- }
386
- return t.jsxElement(t.jsxOpeningElement(t.jsxIdentifier(VarComponentName), [], false), t.jsxClosingElement(t.jsxIdentifier(VarComponentName)), [node], false);
195
+ if (mark) return node;
196
+ const VarComponentName = options.VarComponent || "Var";
197
+ options.modified = true;
198
+ if (!options.usedImports.includes(VarComponentName)) options.usedImports.push(VarComponentName);
199
+ return t.jsxElement(t.jsxOpeningElement(t.jsxIdentifier(VarComponentName), [], false), t.jsxClosingElement(t.jsxIdentifier(VarComponentName)), [node], false);
387
200
  }
201
+ //#endregion
202
+ export { handleJsxElement, wrapJsxElement };
203
+
204
+ //# sourceMappingURL=wrapJsx.js.map