gtx-cli 2.6.31 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/CHANGELOG.md +4 -1261
  2. package/README.md +12 -3
  3. package/dist/bin/bin-entry.js +2 -1
  4. package/dist/config/generateSettings.d.ts +1 -9
  5. package/dist/config/generateSettings.js +1 -214
  6. package/dist/config/resolveConfig.d.ts +1 -4
  7. package/dist/config/resolveConfig.js +1 -33
  8. package/dist/fs/config/setupConfig.d.ts +1 -17
  9. package/dist/fs/config/setupConfig.js +1 -50
  10. package/dist/fs/matchFiles.d.ts +1 -1
  11. package/dist/fs/matchFiles.js +1 -8
  12. package/dist/functions.d.ts +1 -7
  13. package/dist/functions.js +1 -6
  14. package/dist/index.d.ts +1 -4
  15. package/dist/index.js +1 -27
  16. package/dist/main.js +2 -2
  17. package/dist/next/parse/handleInitGT.d.ts +1 -7
  18. package/dist/next/parse/handleInitGT.js +1 -157
  19. package/dist/next/parse/wrapContent.d.ts +1 -12
  20. package/dist/next/parse/wrapContent.js +1 -164
  21. package/dist/react/parse/wrapContent.d.ts +1 -12
  22. package/dist/react/parse/wrapContent.js +1 -162
  23. package/dist/types/index.d.ts +1 -243
  24. package/dist/types/index.js +1 -1
  25. package/dist/utils/installPackage.d.ts +1 -3
  26. package/dist/utils/installPackage.js +1 -77
  27. package/dist/utils/packageInfo.d.ts +1 -3
  28. package/dist/utils/packageInfo.js +1 -17
  29. package/dist/utils/packageJson.d.ts +1 -6
  30. package/dist/utils/packageJson.js +1 -68
  31. package/dist/utils/packageManager.d.ts +1 -28
  32. package/dist/utils/packageManager.js +1 -269
  33. package/package.json +11 -97
  34. package/dist/api/collectUserEditDiffs.d.ts +0 -9
  35. package/dist/api/collectUserEditDiffs.js +0 -159
  36. package/dist/api/downloadFileBatch.d.ts +0 -23
  37. package/dist/api/downloadFileBatch.js +0 -190
  38. package/dist/api/saveLocalEdits.d.ts +0 -6
  39. package/dist/api/saveLocalEdits.js +0 -38
  40. package/dist/cli/base.d.ts +0 -59
  41. package/dist/cli/base.js +0 -529
  42. package/dist/cli/commands/download.d.ts +0 -8
  43. package/dist/cli/commands/download.js +0 -51
  44. package/dist/cli/commands/enqueue.d.ts +0 -9
  45. package/dist/cli/commands/enqueue.js +0 -27
  46. package/dist/cli/commands/setupProject.d.ts +0 -7
  47. package/dist/cli/commands/setupProject.js +0 -37
  48. package/dist/cli/commands/stage.d.ts +0 -9
  49. package/dist/cli/commands/stage.js +0 -59
  50. package/dist/cli/commands/translate.d.ts +0 -7
  51. package/dist/cli/commands/translate.js +0 -70
  52. package/dist/cli/commands/upload.d.ts +0 -13
  53. package/dist/cli/commands/upload.js +0 -142
  54. package/dist/cli/commands/utils/validation.d.ts +0 -13
  55. package/dist/cli/commands/utils/validation.js +0 -38
  56. package/dist/cli/flags.d.ts +0 -15
  57. package/dist/cli/flags.js +0 -70
  58. package/dist/cli/inline.d.ts +0 -17
  59. package/dist/cli/inline.js +0 -135
  60. package/dist/cli/next.d.ts +0 -10
  61. package/dist/cli/next.js +0 -12
  62. package/dist/cli/node.d.ts +0 -10
  63. package/dist/cli/node.js +0 -9
  64. package/dist/cli/react.d.ts +0 -12
  65. package/dist/cli/react.js +0 -72
  66. package/dist/config/optionPresets.d.ts +0 -3
  67. package/dist/config/optionPresets.js +0 -65
  68. package/dist/config/utils.d.ts +0 -2
  69. package/dist/config/utils.js +0 -4
  70. package/dist/config/validateSettings.d.ts +0 -3
  71. package/dist/config/validateSettings.js +0 -32
  72. package/dist/console/colors.d.ts +0 -6
  73. package/dist/console/colors.js +0 -19
  74. package/dist/console/displayTranslateSummary.d.ts +0 -1
  75. package/dist/console/displayTranslateSummary.js +0 -42
  76. package/dist/console/formatting.d.ts +0 -1
  77. package/dist/console/formatting.js +0 -7
  78. package/dist/console/index.d.ts +0 -34
  79. package/dist/console/index.js +0 -46
  80. package/dist/console/logger.d.ts +0 -35
  81. package/dist/console/logger.js +0 -250
  82. package/dist/console/logging.d.ts +0 -52
  83. package/dist/console/logging.js +0 -175
  84. package/dist/formats/files/aggregateFiles.d.ts +0 -4
  85. package/dist/formats/files/aggregateFiles.js +0 -156
  86. package/dist/formats/files/collectFiles.d.ts +0 -6
  87. package/dist/formats/files/collectFiles.js +0 -49
  88. package/dist/formats/files/convertToFileTranslationData.d.ts +0 -15
  89. package/dist/formats/files/convertToFileTranslationData.js +0 -21
  90. package/dist/formats/files/fileMapping.d.ts +0 -11
  91. package/dist/formats/files/fileMapping.js +0 -115
  92. package/dist/formats/files/preprocess/mdx.d.ts +0 -6
  93. package/dist/formats/files/preprocess/mdx.js +0 -14
  94. package/dist/formats/files/preprocess/mintlify.d.ts +0 -5
  95. package/dist/formats/files/preprocess/mintlify.js +0 -15
  96. package/dist/formats/files/preprocessContent.d.ts +0 -8
  97. package/dist/formats/files/preprocessContent.js +0 -23
  98. package/dist/formats/files/save.d.ts +0 -5
  99. package/dist/formats/files/save.js +0 -17
  100. package/dist/formats/files/supportedFiles.d.ts +0 -11
  101. package/dist/formats/files/supportedFiles.js +0 -20
  102. package/dist/formats/json/extractJson.d.ts +0 -15
  103. package/dist/formats/json/extractJson.js +0 -101
  104. package/dist/formats/json/flattenJson.d.ts +0 -14
  105. package/dist/formats/json/flattenJson.js +0 -64
  106. package/dist/formats/json/mergeJson.d.ts +0 -13
  107. package/dist/formats/json/mergeJson.js +0 -367
  108. package/dist/formats/json/parseJson.d.ts +0 -2
  109. package/dist/formats/json/parseJson.js +0 -109
  110. package/dist/formats/json/utils.d.ts +0 -47
  111. package/dist/formats/json/utils.js +0 -150
  112. package/dist/formats/utils.d.ts +0 -2
  113. package/dist/formats/utils.js +0 -24
  114. package/dist/formats/yaml/mergeYaml.d.ts +0 -5
  115. package/dist/formats/yaml/mergeYaml.js +0 -61
  116. package/dist/formats/yaml/parseYaml.d.ts +0 -5
  117. package/dist/formats/yaml/parseYaml.js +0 -24
  118. package/dist/formats/yaml/utils.d.ts +0 -2
  119. package/dist/formats/yaml/utils.js +0 -23
  120. package/dist/fs/clearLocaleDirs.d.ts +0 -8
  121. package/dist/fs/clearLocaleDirs.js +0 -126
  122. package/dist/fs/config/downloadedVersions.d.ts +0 -21
  123. package/dist/fs/config/downloadedVersions.js +0 -50
  124. package/dist/fs/config/loadConfig.d.ts +0 -1
  125. package/dist/fs/config/loadConfig.js +0 -9
  126. package/dist/fs/config/parseFilesConfig.d.ts +0 -27
  127. package/dist/fs/config/parseFilesConfig.js +0 -150
  128. package/dist/fs/config/updateConfig.d.ts +0 -21
  129. package/dist/fs/config/updateConfig.js +0 -57
  130. package/dist/fs/config/updateVersions.d.ts +0 -11
  131. package/dist/fs/config/updateVersions.js +0 -30
  132. package/dist/fs/copyFile.d.ts +0 -7
  133. package/dist/fs/copyFile.js +0 -39
  134. package/dist/fs/createLoadTranslationsFile.d.ts +0 -1
  135. package/dist/fs/createLoadTranslationsFile.js +0 -49
  136. package/dist/fs/determineFramework.d.ts +0 -5
  137. package/dist/fs/determineFramework.js +0 -53
  138. package/dist/fs/findFilepath.d.ts +0 -36
  139. package/dist/fs/findFilepath.js +0 -90
  140. package/dist/fs/index.d.ts +0 -1
  141. package/dist/fs/index.js +0 -1
  142. package/dist/fs/loadJSON.d.ts +0 -6
  143. package/dist/fs/loadJSON.js +0 -17
  144. package/dist/fs/saveJSON.d.ts +0 -1
  145. package/dist/fs/saveJSON.js +0 -7
  146. package/dist/fs/utils.d.ts +0 -1
  147. package/dist/fs/utils.js +0 -16
  148. package/dist/generated/version.d.ts +0 -1
  149. package/dist/generated/version.js +0 -2
  150. package/dist/git/branches.d.ts +0 -7
  151. package/dist/git/branches.js +0 -88
  152. package/dist/hooks/postProcess.d.ts +0 -4
  153. package/dist/hooks/postProcess.js +0 -110
  154. package/dist/locadex/setupFlow.d.ts +0 -2
  155. package/dist/locadex/setupFlow.js +0 -9
  156. package/dist/next/config/parseNextConfig.d.ts +0 -10
  157. package/dist/next/config/parseNextConfig.js +0 -53
  158. package/dist/next/jsx/utils.d.ts +0 -7
  159. package/dist/next/jsx/utils.js +0 -42
  160. package/dist/react/config/createESBuildConfig.d.ts +0 -2
  161. package/dist/react/config/createESBuildConfig.js +0 -119
  162. package/dist/react/jsx/evaluateJsx.d.ts +0 -24
  163. package/dist/react/jsx/evaluateJsx.js +0 -123
  164. package/dist/react/jsx/utils/buildImportMap.d.ts +0 -9
  165. package/dist/react/jsx/utils/buildImportMap.js +0 -30
  166. package/dist/react/jsx/utils/constants.d.ts +0 -15
  167. package/dist/react/jsx/utils/constants.js +0 -49
  168. package/dist/react/jsx/utils/getCalleeNameFromExpression.d.ts +0 -9
  169. package/dist/react/jsx/utils/getCalleeNameFromExpression.js +0 -32
  170. package/dist/react/jsx/utils/getPathsAndAliases.d.ts +0 -21
  171. package/dist/react/jsx/utils/getPathsAndAliases.js +0 -91
  172. package/dist/react/jsx/utils/isNumberLiteral.d.ts +0 -7
  173. package/dist/react/jsx/utils/isNumberLiteral.js +0 -13
  174. package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.d.ts +0 -9
  175. package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.js +0 -138
  176. package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.d.ts +0 -6
  177. package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.js +0 -197
  178. package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.d.ts +0 -13
  179. package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.js +0 -42
  180. package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.d.ts +0 -5
  181. package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.js +0 -69
  182. package/dist/react/jsx/utils/jsxParsing/parseJsx.d.ts +0 -33
  183. package/dist/react/jsx/utils/jsxParsing/parseJsx.js +0 -918
  184. package/dist/react/jsx/utils/jsxParsing/parseTProps.d.ts +0 -8
  185. package/dist/react/jsx/utils/jsxParsing/parseTProps.js +0 -65
  186. package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.d.ts +0 -2
  187. package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.js +0 -61
  188. package/dist/react/jsx/utils/jsxParsing/types.d.ts +0 -48
  189. package/dist/react/jsx/utils/jsxParsing/types.js +0 -34
  190. package/dist/react/jsx/utils/mapAttributeName.d.ts +0 -11
  191. package/dist/react/jsx/utils/mapAttributeName.js +0 -12
  192. package/dist/react/jsx/utils/parseAst.d.ts +0 -31
  193. package/dist/react/jsx/utils/parseAst.js +0 -278
  194. package/dist/react/jsx/utils/parseDeclareStatic.d.ts +0 -15
  195. package/dist/react/jsx/utils/parseDeclareStatic.js +0 -540
  196. package/dist/react/jsx/utils/parseString.d.ts +0 -25
  197. package/dist/react/jsx/utils/parseString.js +0 -540
  198. package/dist/react/jsx/utils/parseStringFunction.d.ts +0 -30
  199. package/dist/react/jsx/utils/parseStringFunction.js +0 -348
  200. package/dist/react/jsx/utils/resolveImportPath.d.ts +0 -11
  201. package/dist/react/jsx/utils/resolveImportPath.js +0 -111
  202. package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.d.ts +0 -29
  203. package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.js +0 -86
  204. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.d.ts +0 -14
  205. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.js +0 -24
  206. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.d.ts +0 -19
  207. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.js +0 -31
  208. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleStaticTranslationCall.d.ts +0 -22
  209. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleStaticTranslationCall.js +0 -51
  210. package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.d.ts +0 -18
  211. package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.js +0 -39
  212. package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.d.ts +0 -24
  213. package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.js +0 -68
  214. package/dist/react/jsx/utils/stringParsing/types.d.ts +0 -41
  215. package/dist/react/jsx/utils/stringParsing/types.js +0 -1
  216. package/dist/react/jsx/utils/types.d.ts +0 -14
  217. package/dist/react/jsx/utils/types.js +0 -1
  218. package/dist/react/jsx/utils/validateStringFunction.d.ts +0 -7
  219. package/dist/react/jsx/utils/validateStringFunction.js +0 -31
  220. package/dist/react/jsx/wrapJsx.d.ts +0 -51
  221. package/dist/react/jsx/wrapJsx.js +0 -387
  222. package/dist/react/parse/addVitePlugin/index.d.ts +0 -22
  223. package/dist/react/parse/addVitePlugin/index.js +0 -41
  224. package/dist/react/parse/addVitePlugin/installCompiler.d.ts +0 -8
  225. package/dist/react/parse/addVitePlugin/installCompiler.js +0 -22
  226. package/dist/react/parse/addVitePlugin/updateViteConfig.d.ts +0 -19
  227. package/dist/react/parse/addVitePlugin/updateViteConfig.js +0 -120
  228. package/dist/react/parse/addVitePlugin/utils/addCompilerImport.d.ts +0 -9
  229. package/dist/react/parse/addVitePlugin/utils/addCompilerImport.js +0 -34
  230. package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.d.ts +0 -11
  231. package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.js +0 -48
  232. package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.d.ts +0 -15
  233. package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.js +0 -113
  234. package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.d.ts +0 -12
  235. package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.js +0 -32
  236. package/dist/react/parse/createDictionaryUpdates.d.ts +0 -3
  237. package/dist/react/parse/createDictionaryUpdates.js +0 -187
  238. package/dist/react/parse/createInlineUpdates.d.ts +0 -13
  239. package/dist/react/parse/createInlineUpdates.js +0 -161
  240. package/dist/react/utils/flattenDictionary.d.ts +0 -20
  241. package/dist/react/utils/flattenDictionary.js +0 -75
  242. package/dist/react/utils/getEntryAndMetadata.d.ts +0 -5
  243. package/dist/react/utils/getEntryAndMetadata.js +0 -11
  244. package/dist/react/utils/getVariableName.d.ts +0 -25
  245. package/dist/react/utils/getVariableName.js +0 -37
  246. package/dist/setup/agentInstructions.d.ts +0 -24
  247. package/dist/setup/agentInstructions.js +0 -138
  248. package/dist/setup/detectFramework.d.ts +0 -31
  249. package/dist/setup/detectFramework.js +0 -106
  250. package/dist/setup/frameworkUtils.d.ts +0 -3
  251. package/dist/setup/frameworkUtils.js +0 -30
  252. package/dist/setup/instructions/base.md +0 -29
  253. package/dist/setup/instructions/gt-next.md +0 -107
  254. package/dist/setup/instructions/gt-react.md +0 -98
  255. package/dist/setup/userInput.d.ts +0 -4
  256. package/dist/setup/userInput.js +0 -32
  257. package/dist/setup/wizard.d.ts +0 -3
  258. package/dist/setup/wizard.js +0 -147
  259. package/dist/state/recentDownloads.d.ts +0 -12
  260. package/dist/state/recentDownloads.js +0 -18
  261. package/dist/state/translateWarnings.d.ts +0 -10
  262. package/dist/state/translateWarnings.js +0 -13
  263. package/dist/translation/parse.d.ts +0 -17
  264. package/dist/translation/parse.js +0 -77
  265. package/dist/translation/stage.d.ts +0 -3
  266. package/dist/translation/stage.js +0 -44
  267. package/dist/translation/validate.d.ts +0 -14
  268. package/dist/translation/validate.js +0 -100
  269. package/dist/types/branch.d.ts +0 -14
  270. package/dist/types/branch.js +0 -1
  271. package/dist/types/data/json.d.ts +0 -6
  272. package/dist/types/data/json.js +0 -1
  273. package/dist/types/data.d.ts +0 -37
  274. package/dist/types/data.js +0 -1
  275. package/dist/types/files.d.ts +0 -8
  276. package/dist/types/files.js +0 -1
  277. package/dist/types/libraries.d.ts +0 -31
  278. package/dist/types/libraries.js +0 -72
  279. package/dist/types/parsing.d.ts +0 -3
  280. package/dist/types/parsing.js +0 -1
  281. package/dist/utils/addExplicitAnchorIds.d.ts +0 -24
  282. package/dist/utils/addExplicitAnchorIds.js +0 -416
  283. package/dist/utils/constants.d.ts +0 -5
  284. package/dist/utils/constants.js +0 -6
  285. package/dist/utils/credentials.d.ts +0 -12
  286. package/dist/utils/credentials.js +0 -120
  287. package/dist/utils/flattenJsonFiles.d.ts +0 -2
  288. package/dist/utils/flattenJsonFiles.js +0 -36
  289. package/dist/utils/gitDiff.d.ts +0 -8
  290. package/dist/utils/gitDiff.js +0 -34
  291. package/dist/utils/gt.d.ts +0 -2
  292. package/dist/utils/gt.js +0 -2
  293. package/dist/utils/hash.d.ts +0 -6
  294. package/dist/utils/hash.js +0 -11
  295. package/dist/utils/headers.d.ts +0 -1
  296. package/dist/utils/headers.js +0 -14
  297. package/dist/utils/localizeRelativeAssets.d.ts +0 -8
  298. package/dist/utils/localizeRelativeAssets.js +0 -166
  299. package/dist/utils/localizeStaticImports.d.ts +0 -15
  300. package/dist/utils/localizeStaticImports.js +0 -397
  301. package/dist/utils/localizeStaticUrls.d.ts +0 -19
  302. package/dist/utils/localizeStaticUrls.js +0 -450
  303. package/dist/utils/mintlifyTitleFallback.d.ts +0 -6
  304. package/dist/utils/mintlifyTitleFallback.js +0 -80
  305. package/dist/utils/parse/needsCJS.d.ts +0 -20
  306. package/dist/utils/parse/needsCJS.js +0 -72
  307. package/dist/utils/persistPostprocessHashes.d.ts +0 -12
  308. package/dist/utils/persistPostprocessHashes.js +0 -39
  309. package/dist/utils/processAnchorIds.d.ts +0 -6
  310. package/dist/utils/processAnchorIds.js +0 -56
  311. package/dist/utils/processOpenApi.d.ts +0 -8
  312. package/dist/utils/processOpenApi.js +0 -651
  313. package/dist/utils/sanitizeFileContent.d.ts +0 -6
  314. package/dist/utils/sanitizeFileContent.js +0 -29
  315. package/dist/utils/sharedStaticAssets.d.ts +0 -9
  316. package/dist/utils/sharedStaticAssets.js +0 -384
  317. package/dist/utils/validateMdx.d.ts +0 -10
  318. package/dist/utils/validateMdx.js +0 -25
  319. package/dist/utils/wrapPlainUrls.d.ts +0 -8
  320. package/dist/utils/wrapPlainUrls.js +0 -72
  321. package/dist/workflows/download.d.ts +0 -32
  322. package/dist/workflows/download.js +0 -131
  323. package/dist/workflows/enqueue.d.ts +0 -17
  324. package/dist/workflows/enqueue.js +0 -59
  325. package/dist/workflows/setupProject.d.ts +0 -13
  326. package/dist/workflows/setupProject.js +0 -48
  327. package/dist/workflows/stage.d.ts +0 -18
  328. package/dist/workflows/stage.js +0 -59
  329. package/dist/workflows/steps/BranchStep.d.ts +0 -13
  330. package/dist/workflows/steps/BranchStep.js +0 -161
  331. package/dist/workflows/steps/DownloadStep.d.ts +0 -19
  332. package/dist/workflows/steps/DownloadStep.js +0 -131
  333. package/dist/workflows/steps/EnqueueStep.d.ts +0 -15
  334. package/dist/workflows/steps/EnqueueStep.js +0 -33
  335. package/dist/workflows/steps/PollJobsStep.d.ts +0 -31
  336. package/dist/workflows/steps/PollJobsStep.js +0 -288
  337. package/dist/workflows/steps/SetupStep.d.ts +0 -16
  338. package/dist/workflows/steps/SetupStep.js +0 -72
  339. package/dist/workflows/steps/UploadSourcesStep.d.ts +0 -27
  340. package/dist/workflows/steps/UploadSourcesStep.js +0 -131
  341. package/dist/workflows/steps/UploadTranslationsStep.d.ts +0 -22
  342. package/dist/workflows/steps/UploadTranslationsStep.js +0 -71
  343. package/dist/workflows/steps/UserEditDiffsStep.d.ts +0 -11
  344. package/dist/workflows/steps/UserEditDiffsStep.js +0 -30
  345. package/dist/workflows/steps/WorkflowStep.d.ts +0 -4
  346. package/dist/workflows/steps/WorkflowStep.js +0 -2
  347. package/dist/workflows/upload.d.ts +0 -15
  348. package/dist/workflows/upload.js +0 -47
@@ -1,31 +0,0 @@
1
- import { isValidIcu } from '../../../evaluateJsx.js';
2
- import { warnInvalidIcuSync } from '../../../../../console/index.js';
3
- /**
4
- * For the processTranslationCall function, this function handles the case where a string literal or template literal is used.
5
- * @param arg - The argument to parse
6
- * @param metadata - The metadata to use
7
- * @param config - The configuration to use
8
- * @param output - The output to use
9
- * @param index - The index of the argument
10
- */
11
- export function handleLiteralTranslationCall({ arg, metadata, config, output, index, }) {
12
- // ignore dynamic content flag is triggered, check strings are valid ICU
13
- const source = arg.type === 'StringLiteral' ? arg.value : arg.quasis[0].value.raw;
14
- // Validate is ICU
15
- if (!config.ignoreInvalidIcu) {
16
- const { isValid, error } = isValidIcu(source);
17
- if (!isValid) {
18
- output.warnings.add(warnInvalidIcuSync(config.file, source, error ?? 'Unknown error', `${arg.loc?.start?.line}:${arg.loc?.start?.column}`));
19
- return;
20
- }
21
- }
22
- output.updates.push({
23
- dataFormat: 'ICU',
24
- source,
25
- metadata: {
26
- ...metadata,
27
- // Add the index if an id and index is provided (for handling when registering an array of strings)
28
- ...(metadata.id && index != null && { id: `${metadata.id}.${index}` }),
29
- },
30
- });
31
- }
@@ -1,22 +0,0 @@
1
- import { NodePath } from '@babel/traverse';
2
- import * as t from '@babel/types';
3
- import { ParsingConfig } from '../types.js';
4
- import { ParsingOutput } from '../types.js';
5
- import { InlineMetadata } from './extractStringEntryMetadata.js';
6
- /**
7
- * For the processTranslationCall function, this function handles the case where a string with declareStatic is used.
8
- * @param arg - The argument to parse
9
- * @param metadata - The metadata to use
10
- * @param tPath - The path to the argument
11
- * @param config - The configuration to use
12
- * @param output - The output to use
13
- * @param index - Current index in array of strings being extracted
14
- */
15
- export declare function handleStaticTranslationCall({ arg, metadata, tPath, config, output, index, }: {
16
- arg: t.Expression;
17
- metadata: InlineMetadata;
18
- tPath: NodePath;
19
- config: ParsingConfig;
20
- output: ParsingOutput;
21
- index?: number;
22
- }): void;
@@ -1,51 +0,0 @@
1
- import { handleStaticExpression } from '../../parseDeclareStatic.js';
2
- import { nodeToStrings } from '../../parseString.js';
3
- import { indexVars } from 'generaltranslation/internal';
4
- import { isValidIcu } from '../../../evaluateJsx.js';
5
- import { warnInvalidIcuSync, warnNonStringSync, } from '../../../../../console/index.js';
6
- import generateModule from '@babel/generator';
7
- import { randomUUID } from 'node:crypto';
8
- // Handle CommonJS/ESM interop
9
- const generate = generateModule.default || generateModule;
10
- /**
11
- * For the processTranslationCall function, this function handles the case where a string with declareStatic is used.
12
- * @param arg - The argument to parse
13
- * @param metadata - The metadata to use
14
- * @param tPath - The path to the argument
15
- * @param config - The configuration to use
16
- * @param output - The output to use
17
- * @param index - Current index in array of strings being extracted
18
- */
19
- export function handleStaticTranslationCall({ arg, metadata, tPath, config, output, index, }) {
20
- // parse static expression
21
- const result = handleStaticExpression(arg, tPath, config.file, config.parsingOptions, output.errors);
22
- // Nothing returned, push error
23
- if (!result) {
24
- output.errors.push(warnNonStringSync(config.file, generate(arg).code, `${arg.loc?.start?.line}:${arg.loc?.start?.column}`));
25
- return;
26
- }
27
- // validate ICU
28
- const strings = nodeToStrings(result).map(indexVars);
29
- if (!config.ignoreInvalidIcu) {
30
- for (const string of strings) {
31
- const { isValid, error } = isValidIcu(string);
32
- if (!isValid) {
33
- output.warnings.add(warnInvalidIcuSync(config.file, string, error ?? 'Unknown error', `${arg.loc?.start?.line}:${arg.loc?.start?.column}`));
34
- return;
35
- }
36
- }
37
- }
38
- const temporaryStaticId = `static-temp-id-${randomUUID()}`;
39
- for (const string of strings) {
40
- output.updates.push({
41
- dataFormat: 'ICU',
42
- source: string,
43
- metadata: {
44
- ...metadata,
45
- // Add the index if an id and index is provided (for handling when registering an array of strings)
46
- ...(metadata.id && index != null && { id: `${metadata.id}.${index}` }),
47
- staticId: temporaryStaticId,
48
- },
49
- });
50
- }
51
- }
@@ -1,18 +0,0 @@
1
- import { NodePath } from '@babel/traverse';
2
- import { ParsingConfig } from '../types.js';
3
- import { ParsingOutput } from '../types.js';
4
- /**
5
- * Processes a single translation function call (e.g., t('hello world', { id: 'greeting' })).
6
- * Extracts the translatable string content and metadata, then adds it to the updates array.
7
- *
8
- * Handles:
9
- * - String literals: t('hello')
10
- * - Template literals without expressions: t(`hello`)
11
- * - Metadata extraction from options object
12
- * - Error reporting for non-static expressions and template literals with expressions
13
- *
14
- * @param tPath - The path to the translation call
15
- * @param config - The configuration to use
16
- * @param output - The output to use
17
- */
18
- export declare function processTranslationCall(tPath: NodePath, config: ParsingConfig, output: ParsingOutput): void;
@@ -1,39 +0,0 @@
1
- import { routeTranslationCall } from './routeTranslationCall.js';
2
- import { extractStringEntryMetadata } from './extractStringEntryMetadata.js';
3
- /**
4
- * Processes a single translation function call (e.g., t('hello world', { id: 'greeting' })).
5
- * Extracts the translatable string content and metadata, then adds it to the updates array.
6
- *
7
- * Handles:
8
- * - String literals: t('hello')
9
- * - Template literals without expressions: t(`hello`)
10
- * - Metadata extraction from options object
11
- * - Error reporting for non-static expressions and template literals with expressions
12
- *
13
- * @param tPath - The path to the translation call
14
- * @param config - The configuration to use
15
- * @param output - The output to use
16
- */
17
- export function processTranslationCall(tPath, config, output) {
18
- if (tPath.parent.type !== 'CallExpression' ||
19
- tPath.parent.arguments.length === 0) {
20
- return;
21
- }
22
- // Get arg and options
23
- const arg = tPath.parent.arguments[0];
24
- const options = tPath.parent.arguments.at(1);
25
- // get metadata and id from options
26
- const metadata = extractStringEntryMetadata({
27
- options,
28
- output,
29
- config,
30
- });
31
- // Route tx call to appropriate handler
32
- routeTranslationCall({
33
- tPath,
34
- config,
35
- output,
36
- arg,
37
- metadata,
38
- });
39
- }
@@ -1,24 +0,0 @@
1
- import * as t from '@babel/types';
2
- import { ParsingConfig } from '../types.js';
3
- import { ParsingOutput } from '../types.js';
4
- import { NodePath } from '@babel/traverse';
5
- import { InlineMetadata } from './extractStringEntryMetadata.js';
6
- /**
7
- * Helper function for processTranslationCall
8
- * Given arg and options, maps to appropriate translation call handler
9
- * @param tPath - The path to the translation call
10
- * @param config - The configuration to use
11
- * @param output - The output to use
12
- * @param arg - The argument to parse
13
- * @param metadata - The metadata to use
14
- * @param index - The index of the argument
15
- * @returns void
16
- */
17
- export declare function routeTranslationCall({ tPath, config, output, arg, metadata, index, }: {
18
- tPath: NodePath;
19
- config: ParsingConfig;
20
- output: ParsingOutput;
21
- arg: t.CallExpression['arguments'][number];
22
- metadata: InlineMetadata;
23
- index?: number;
24
- }): void;
@@ -1,68 +0,0 @@
1
- import { isStaticExpression } from '../../../evaluateJsx.js';
2
- import { handleStaticTranslationCall } from './handleStaticTranslationCall.js';
3
- import { handleLiteralTranslationCall } from './handleLiteralTranslationCall.js';
4
- import { handleInvalidTranslationCall } from './handleInvalidTranslationCall.js';
5
- import * as t from '@babel/types';
6
- /**
7
- * Helper function for processTranslationCall
8
- * Given arg and options, maps to appropriate translation call handler
9
- * @param tPath - The path to the translation call
10
- * @param config - The configuration to use
11
- * @param output - The output to use
12
- * @param arg - The argument to parse
13
- * @param metadata - The metadata to use
14
- * @param index - The index of the argument
15
- * @returns void
16
- */
17
- export function routeTranslationCall({ tPath, config, output, arg, metadata, index, }) {
18
- if (t.isArrayExpression(arg) &&
19
- index == null &&
20
- !config.ignoreInlineListContent) {
21
- // handle array translation call
22
- for (let i = 0; i < arg.elements.length; i++) {
23
- const element = arg.elements[i];
24
- if (element == null)
25
- continue;
26
- routeTranslationCall({
27
- tPath,
28
- config,
29
- output,
30
- arg: element,
31
- index: i,
32
- metadata,
33
- });
34
- }
35
- }
36
- else if (!config.ignoreDynamicContent &&
37
- t.isExpression(arg) &&
38
- !isStaticExpression(arg).isStatic) {
39
- // handle static translation call
40
- handleStaticTranslationCall({
41
- arg,
42
- metadata,
43
- tPath,
44
- config,
45
- output,
46
- index,
47
- });
48
- }
49
- else if (arg.type === 'StringLiteral' ||
50
- (t.isTemplateLiteral(arg) && arg.expressions.length === 0)) {
51
- // Handle string and template literals
52
- handleLiteralTranslationCall({
53
- arg,
54
- metadata,
55
- config,
56
- output,
57
- index,
58
- });
59
- }
60
- else {
61
- // error on invalid translation call
62
- handleInvalidTranslationCall({
63
- arg,
64
- config,
65
- output,
66
- });
67
- }
68
- }
@@ -1,41 +0,0 @@
1
- import { ParsingConfigOptions } from '../../../../types/parsing.js';
2
- import { Updates } from '../../../../types/index.js';
3
- /**
4
- * Immutable configuration options for string parsing.
5
- */
6
- export type ParsingConfig = {
7
- parsingOptions: ParsingConfigOptions;
8
- file: string;
9
- /**
10
- * If true, ignores fields like $context, $id, etc. when extracting metadata from a string entry
11
- */
12
- ignoreInlineMetadata: boolean;
13
- /**
14
- * If true, dynamic content will not be treated as errors
15
- */
16
- ignoreDynamicContent: boolean;
17
- /**
18
- * If true, invalid ICU strings will not be treated as errors
19
- */
20
- ignoreInvalidIcu: boolean;
21
- /**
22
- * If true, will ignore registration of list content
23
- * eg msg(['hello', 'world', 'foo', 'bar']) will not be registered
24
- */
25
- ignoreInlineListContent: boolean;
26
- };
27
- /**
28
- * Mutable state for tracking parsing progress.
29
- */
30
- export type ParsingState = {
31
- visited: Set<string>;
32
- importMap: Map<string, string>;
33
- };
34
- /**
35
- * Collectors for updates, errors, and warnings.
36
- */
37
- export type ParsingOutput = {
38
- updates: Updates;
39
- errors: string[];
40
- warnings: Set<string>;
41
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,14 +0,0 @@
1
- type StringNode = StringTextNode | StringSequenceNode | StringChoiceNode;
2
- type StringTextNode = {
3
- type: 'text';
4
- text: string;
5
- };
6
- type StringSequenceNode = {
7
- type: 'sequence';
8
- nodes: StringNode[];
9
- };
10
- type StringChoiceNode = {
11
- type: 'choice';
12
- nodes: StringNode[];
13
- };
14
- export type { StringNode, StringTextNode, StringSequenceNode, StringChoiceNode, };
@@ -1 +0,0 @@
1
- export {};
@@ -1,7 +0,0 @@
1
- import { NodePath } from '@babel/traverse';
2
- import { Updates } from '../../../types/index.js';
3
- /**
4
- * Validate useGT() / await getGT() calls
5
- * 1. Validates that the call does not violate the rules of React (no hooks in async functions)
6
- */
7
- export declare function validateStringFunction(localImportName: string, path: NodePath, updates: Updates, errors: string[], file: string, originalImportName: string): void;
@@ -1,31 +0,0 @@
1
- import { warnAsyncUseGT, warnSyncGetGT } from '../../../console/index.js';
2
- import { INLINE_TRANSLATION_HOOK, INLINE_TRANSLATION_HOOK_ASYNC, } from './constants.js';
3
- /**
4
- * Validate useGT() / await getGT() calls
5
- * 1. Validates that the call does not violate the rules of React (no hooks in async functions)
6
- */
7
- export function validateStringFunction(localImportName, path, updates, errors, file, originalImportName) {
8
- // Get the root program node to traverse the entire file
9
- const program = path.scope.getProgramParent().path;
10
- program.traverse({
11
- CallExpression(callPath) {
12
- if (callPath.node.callee.type === 'Identifier' &&
13
- callPath.node.callee.name === localImportName) {
14
- // Check the function scope
15
- const functionScope = callPath.getFunctionParent();
16
- if (originalImportName === INLINE_TRANSLATION_HOOK) {
17
- // useGT should NOT be in an async function
18
- if (functionScope && functionScope.node.async) {
19
- errors.push(warnAsyncUseGT(file, `${callPath.node.loc?.start?.line}:${callPath.node.loc?.start?.column}`));
20
- }
21
- }
22
- else if (originalImportName === INLINE_TRANSLATION_HOOK_ASYNC) {
23
- // getGT should be in an async function
24
- if (!functionScope || !functionScope.node.async) {
25
- errors.push(warnSyncGetGT(file, `${callPath.node.loc?.start?.line}:${callPath.node.loc?.start?.column}`));
26
- }
27
- }
28
- }
29
- },
30
- });
31
- }
@@ -1,51 +0,0 @@
1
- import * as t from '@babel/types';
2
- import { ImportItem } from './utils/parseAst.js';
3
- /**
4
- * Recursively wraps a JSX element with a <T> component and unique id
5
- * @param node - The JSX element to wrap
6
- * @param updates - The updates array
7
- * @param errors - The errors array
8
- * @param file - The file name
9
- * @param options - Optional component names for T and Var
10
- */
11
- export interface WrapResult {
12
- node: t.JSXElement | t.JSXFragment;
13
- hasMeaningfulContent: boolean;
14
- wrappedInT: boolean;
15
- }
16
- /**
17
- * Recursively traverse a JSX element and wrap variables with a <Var> component
18
- * @param node - The JSX element to wrap
19
- * @param options - Optional component names for T and Var
20
- * @param isMeaningful - A function to determine if a node is meaningful
21
- * @returns The wrapped JSX element
22
- */
23
- export declare function wrapJsxElement(node: t.JSXElement | t.JSXFragment, options: {
24
- createIds: boolean;
25
- TComponent?: string;
26
- VarComponent?: string;
27
- idPrefix: string;
28
- idCount: number;
29
- usedImports: ImportItem[];
30
- modified: boolean;
31
- warnings: string[];
32
- file: string;
33
- }, isMeaningful: (node: t.Node) => boolean, mark: boolean): WrapResult;
34
- /**
35
- * Wraps a JSX element with a <T> component and unique id
36
- * @param rootNode - The JSX element to wrap
37
- * @param options - Optional component names for T and Var
38
- * @param isMeaningful - A function to determine if a node is meaningful
39
- * @returns The wrapped JSX element
40
- */
41
- export declare function handleJsxElement(rootNode: t.JSXElement | t.JSXFragment, options: {
42
- createIds: boolean;
43
- usedImports: ImportItem[];
44
- TComponent?: string;
45
- VarComponent?: string;
46
- idPrefix: string;
47
- idCount: number;
48
- modified: boolean;
49
- warnings: string[];
50
- file: string;
51
- }, isMeaningful: (node: t.Node) => boolean): WrapResult;