gtx-cli 2.6.29 → 2.6.30-alpha.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 (340) hide show
  1. package/README.md +12 -3
  2. package/dist/bin/bin-entry.js +2 -1
  3. package/dist/functions.d.ts +1 -7
  4. package/dist/functions.js +1 -6
  5. package/dist/index.d.ts +1 -4
  6. package/dist/index.js +1 -27
  7. package/dist/main.js +2 -2
  8. package/package.json +9 -60
  9. package/CHANGELOG.md +0 -1255
  10. package/dist/api/collectUserEditDiffs.d.ts +0 -9
  11. package/dist/api/collectUserEditDiffs.js +0 -159
  12. package/dist/api/downloadFileBatch.d.ts +0 -23
  13. package/dist/api/downloadFileBatch.js +0 -190
  14. package/dist/api/saveLocalEdits.d.ts +0 -6
  15. package/dist/api/saveLocalEdits.js +0 -38
  16. package/dist/cli/base.d.ts +0 -59
  17. package/dist/cli/base.js +0 -529
  18. package/dist/cli/commands/download.d.ts +0 -8
  19. package/dist/cli/commands/download.js +0 -51
  20. package/dist/cli/commands/enqueue.d.ts +0 -9
  21. package/dist/cli/commands/enqueue.js +0 -27
  22. package/dist/cli/commands/setupProject.d.ts +0 -7
  23. package/dist/cli/commands/setupProject.js +0 -37
  24. package/dist/cli/commands/stage.d.ts +0 -9
  25. package/dist/cli/commands/stage.js +0 -59
  26. package/dist/cli/commands/translate.d.ts +0 -7
  27. package/dist/cli/commands/translate.js +0 -70
  28. package/dist/cli/commands/upload.d.ts +0 -13
  29. package/dist/cli/commands/upload.js +0 -142
  30. package/dist/cli/commands/utils/validation.d.ts +0 -13
  31. package/dist/cli/commands/utils/validation.js +0 -38
  32. package/dist/cli/flags.d.ts +0 -15
  33. package/dist/cli/flags.js +0 -70
  34. package/dist/cli/inline.d.ts +0 -17
  35. package/dist/cli/inline.js +0 -135
  36. package/dist/cli/next.d.ts +0 -10
  37. package/dist/cli/next.js +0 -12
  38. package/dist/cli/node.d.ts +0 -10
  39. package/dist/cli/node.js +0 -9
  40. package/dist/cli/react.d.ts +0 -12
  41. package/dist/cli/react.js +0 -72
  42. package/dist/config/generateSettings.d.ts +0 -9
  43. package/dist/config/generateSettings.js +0 -214
  44. package/dist/config/optionPresets.d.ts +0 -3
  45. package/dist/config/optionPresets.js +0 -65
  46. package/dist/config/resolveConfig.d.ts +0 -4
  47. package/dist/config/resolveConfig.js +0 -33
  48. package/dist/config/utils.d.ts +0 -2
  49. package/dist/config/utils.js +0 -4
  50. package/dist/config/validateSettings.d.ts +0 -3
  51. package/dist/config/validateSettings.js +0 -32
  52. package/dist/console/colors.d.ts +0 -6
  53. package/dist/console/colors.js +0 -19
  54. package/dist/console/displayTranslateSummary.d.ts +0 -1
  55. package/dist/console/displayTranslateSummary.js +0 -42
  56. package/dist/console/formatting.d.ts +0 -1
  57. package/dist/console/formatting.js +0 -7
  58. package/dist/console/index.d.ts +0 -33
  59. package/dist/console/index.js +0 -44
  60. package/dist/console/logger.d.ts +0 -35
  61. package/dist/console/logger.js +0 -250
  62. package/dist/console/logging.d.ts +0 -52
  63. package/dist/console/logging.js +0 -175
  64. package/dist/formats/files/aggregateFiles.d.ts +0 -4
  65. package/dist/formats/files/aggregateFiles.js +0 -173
  66. package/dist/formats/files/collectFiles.d.ts +0 -6
  67. package/dist/formats/files/collectFiles.js +0 -49
  68. package/dist/formats/files/convertToFileTranslationData.d.ts +0 -15
  69. package/dist/formats/files/convertToFileTranslationData.js +0 -21
  70. package/dist/formats/files/fileMapping.d.ts +0 -11
  71. package/dist/formats/files/fileMapping.js +0 -115
  72. package/dist/formats/files/save.d.ts +0 -5
  73. package/dist/formats/files/save.js +0 -17
  74. package/dist/formats/files/supportedFiles.d.ts +0 -11
  75. package/dist/formats/files/supportedFiles.js +0 -20
  76. package/dist/formats/json/extractJson.d.ts +0 -15
  77. package/dist/formats/json/extractJson.js +0 -101
  78. package/dist/formats/json/flattenJson.d.ts +0 -14
  79. package/dist/formats/json/flattenJson.js +0 -64
  80. package/dist/formats/json/mergeJson.d.ts +0 -13
  81. package/dist/formats/json/mergeJson.js +0 -367
  82. package/dist/formats/json/parseJson.d.ts +0 -2
  83. package/dist/formats/json/parseJson.js +0 -109
  84. package/dist/formats/json/utils.d.ts +0 -47
  85. package/dist/formats/json/utils.js +0 -150
  86. package/dist/formats/utils.d.ts +0 -2
  87. package/dist/formats/utils.js +0 -24
  88. package/dist/formats/yaml/mergeYaml.d.ts +0 -5
  89. package/dist/formats/yaml/mergeYaml.js +0 -61
  90. package/dist/formats/yaml/parseYaml.d.ts +0 -5
  91. package/dist/formats/yaml/parseYaml.js +0 -24
  92. package/dist/formats/yaml/utils.d.ts +0 -2
  93. package/dist/formats/yaml/utils.js +0 -23
  94. package/dist/fs/clearLocaleDirs.d.ts +0 -8
  95. package/dist/fs/clearLocaleDirs.js +0 -126
  96. package/dist/fs/config/downloadedVersions.d.ts +0 -21
  97. package/dist/fs/config/downloadedVersions.js +0 -50
  98. package/dist/fs/config/loadConfig.d.ts +0 -1
  99. package/dist/fs/config/loadConfig.js +0 -9
  100. package/dist/fs/config/parseFilesConfig.d.ts +0 -27
  101. package/dist/fs/config/parseFilesConfig.js +0 -150
  102. package/dist/fs/config/setupConfig.d.ts +0 -17
  103. package/dist/fs/config/setupConfig.js +0 -50
  104. package/dist/fs/config/updateConfig.d.ts +0 -21
  105. package/dist/fs/config/updateConfig.js +0 -57
  106. package/dist/fs/config/updateVersions.d.ts +0 -11
  107. package/dist/fs/config/updateVersions.js +0 -30
  108. package/dist/fs/copyFile.d.ts +0 -7
  109. package/dist/fs/copyFile.js +0 -39
  110. package/dist/fs/createLoadTranslationsFile.d.ts +0 -1
  111. package/dist/fs/createLoadTranslationsFile.js +0 -49
  112. package/dist/fs/determineFramework.d.ts +0 -5
  113. package/dist/fs/determineFramework.js +0 -53
  114. package/dist/fs/findFilepath.d.ts +0 -36
  115. package/dist/fs/findFilepath.js +0 -90
  116. package/dist/fs/index.d.ts +0 -1
  117. package/dist/fs/index.js +0 -1
  118. package/dist/fs/loadJSON.d.ts +0 -6
  119. package/dist/fs/loadJSON.js +0 -17
  120. package/dist/fs/matchFiles.d.ts +0 -1
  121. package/dist/fs/matchFiles.js +0 -8
  122. package/dist/fs/saveJSON.d.ts +0 -1
  123. package/dist/fs/saveJSON.js +0 -7
  124. package/dist/fs/utils.d.ts +0 -1
  125. package/dist/fs/utils.js +0 -16
  126. package/dist/generated/version.d.ts +0 -1
  127. package/dist/generated/version.js +0 -2
  128. package/dist/git/branches.d.ts +0 -7
  129. package/dist/git/branches.js +0 -88
  130. package/dist/hooks/postProcess.d.ts +0 -4
  131. package/dist/hooks/postProcess.js +0 -110
  132. package/dist/locadex/setupFlow.d.ts +0 -2
  133. package/dist/locadex/setupFlow.js +0 -9
  134. package/dist/next/config/parseNextConfig.d.ts +0 -10
  135. package/dist/next/config/parseNextConfig.js +0 -53
  136. package/dist/next/jsx/utils.d.ts +0 -7
  137. package/dist/next/jsx/utils.js +0 -42
  138. package/dist/next/parse/handleInitGT.d.ts +0 -7
  139. package/dist/next/parse/handleInitGT.js +0 -157
  140. package/dist/next/parse/wrapContent.d.ts +0 -12
  141. package/dist/next/parse/wrapContent.js +0 -164
  142. package/dist/react/config/createESBuildConfig.d.ts +0 -2
  143. package/dist/react/config/createESBuildConfig.js +0 -119
  144. package/dist/react/jsx/evaluateJsx.d.ts +0 -24
  145. package/dist/react/jsx/evaluateJsx.js +0 -123
  146. package/dist/react/jsx/utils/buildImportMap.d.ts +0 -9
  147. package/dist/react/jsx/utils/buildImportMap.js +0 -30
  148. package/dist/react/jsx/utils/constants.d.ts +0 -13
  149. package/dist/react/jsx/utils/constants.js +0 -46
  150. package/dist/react/jsx/utils/getCalleeNameFromExpression.d.ts +0 -9
  151. package/dist/react/jsx/utils/getCalleeNameFromExpression.js +0 -32
  152. package/dist/react/jsx/utils/getPathsAndAliases.d.ts +0 -21
  153. package/dist/react/jsx/utils/getPathsAndAliases.js +0 -91
  154. package/dist/react/jsx/utils/isNumberLiteral.d.ts +0 -7
  155. package/dist/react/jsx/utils/isNumberLiteral.js +0 -13
  156. package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.d.ts +0 -9
  157. package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.js +0 -135
  158. package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.d.ts +0 -6
  159. package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.js +0 -197
  160. package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.d.ts +0 -13
  161. package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.js +0 -42
  162. package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.d.ts +0 -5
  163. package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.js +0 -69
  164. package/dist/react/jsx/utils/jsxParsing/parseJsx.d.ts +0 -33
  165. package/dist/react/jsx/utils/jsxParsing/parseJsx.js +0 -912
  166. package/dist/react/jsx/utils/jsxParsing/parseTProps.d.ts +0 -8
  167. package/dist/react/jsx/utils/jsxParsing/parseTProps.js +0 -65
  168. package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.d.ts +0 -2
  169. package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.js +0 -61
  170. package/dist/react/jsx/utils/jsxParsing/types.d.ts +0 -48
  171. package/dist/react/jsx/utils/jsxParsing/types.js +0 -34
  172. package/dist/react/jsx/utils/mapAttributeName.d.ts +0 -11
  173. package/dist/react/jsx/utils/mapAttributeName.js +0 -12
  174. package/dist/react/jsx/utils/parseAst.d.ts +0 -31
  175. package/dist/react/jsx/utils/parseAst.js +0 -278
  176. package/dist/react/jsx/utils/parseDeclareStatic.d.ts +0 -15
  177. package/dist/react/jsx/utils/parseDeclareStatic.js +0 -540
  178. package/dist/react/jsx/utils/parseString.d.ts +0 -25
  179. package/dist/react/jsx/utils/parseString.js +0 -540
  180. package/dist/react/jsx/utils/parseStringFunction.d.ts +0 -30
  181. package/dist/react/jsx/utils/parseStringFunction.js +0 -348
  182. package/dist/react/jsx/utils/resolveImportPath.d.ts +0 -11
  183. package/dist/react/jsx/utils/resolveImportPath.js +0 -111
  184. package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.d.ts +0 -29
  185. package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.js +0 -86
  186. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.d.ts +0 -14
  187. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.js +0 -24
  188. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.d.ts +0 -19
  189. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.js +0 -31
  190. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleStaticTranslationCall.d.ts +0 -22
  191. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleStaticTranslationCall.js +0 -51
  192. package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.d.ts +0 -18
  193. package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.js +0 -39
  194. package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.d.ts +0 -24
  195. package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.js +0 -68
  196. package/dist/react/jsx/utils/stringParsing/types.d.ts +0 -41
  197. package/dist/react/jsx/utils/stringParsing/types.js +0 -1
  198. package/dist/react/jsx/utils/types.d.ts +0 -14
  199. package/dist/react/jsx/utils/types.js +0 -1
  200. package/dist/react/jsx/utils/validateStringFunction.d.ts +0 -7
  201. package/dist/react/jsx/utils/validateStringFunction.js +0 -31
  202. package/dist/react/jsx/wrapJsx.d.ts +0 -51
  203. package/dist/react/jsx/wrapJsx.js +0 -387
  204. package/dist/react/parse/addVitePlugin/index.d.ts +0 -22
  205. package/dist/react/parse/addVitePlugin/index.js +0 -41
  206. package/dist/react/parse/addVitePlugin/installCompiler.d.ts +0 -8
  207. package/dist/react/parse/addVitePlugin/installCompiler.js +0 -22
  208. package/dist/react/parse/addVitePlugin/updateViteConfig.d.ts +0 -19
  209. package/dist/react/parse/addVitePlugin/updateViteConfig.js +0 -120
  210. package/dist/react/parse/addVitePlugin/utils/addCompilerImport.d.ts +0 -9
  211. package/dist/react/parse/addVitePlugin/utils/addCompilerImport.js +0 -34
  212. package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.d.ts +0 -11
  213. package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.js +0 -48
  214. package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.d.ts +0 -15
  215. package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.js +0 -113
  216. package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.d.ts +0 -12
  217. package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.js +0 -32
  218. package/dist/react/parse/createDictionaryUpdates.d.ts +0 -3
  219. package/dist/react/parse/createDictionaryUpdates.js +0 -187
  220. package/dist/react/parse/createInlineUpdates.d.ts +0 -13
  221. package/dist/react/parse/createInlineUpdates.js +0 -161
  222. package/dist/react/parse/wrapContent.d.ts +0 -12
  223. package/dist/react/parse/wrapContent.js +0 -162
  224. package/dist/react/utils/flattenDictionary.d.ts +0 -20
  225. package/dist/react/utils/flattenDictionary.js +0 -75
  226. package/dist/react/utils/getEntryAndMetadata.d.ts +0 -5
  227. package/dist/react/utils/getEntryAndMetadata.js +0 -11
  228. package/dist/react/utils/getVariableName.d.ts +0 -25
  229. package/dist/react/utils/getVariableName.js +0 -37
  230. package/dist/setup/agentInstructions.d.ts +0 -24
  231. package/dist/setup/agentInstructions.js +0 -138
  232. package/dist/setup/detectFramework.d.ts +0 -31
  233. package/dist/setup/detectFramework.js +0 -106
  234. package/dist/setup/frameworkUtils.d.ts +0 -3
  235. package/dist/setup/frameworkUtils.js +0 -30
  236. package/dist/setup/instructions/base.md +0 -29
  237. package/dist/setup/instructions/gt-next.md +0 -107
  238. package/dist/setup/instructions/gt-react.md +0 -98
  239. package/dist/setup/userInput.d.ts +0 -4
  240. package/dist/setup/userInput.js +0 -32
  241. package/dist/setup/wizard.d.ts +0 -3
  242. package/dist/setup/wizard.js +0 -147
  243. package/dist/state/recentDownloads.d.ts +0 -12
  244. package/dist/state/recentDownloads.js +0 -18
  245. package/dist/state/translateWarnings.d.ts +0 -10
  246. package/dist/state/translateWarnings.js +0 -13
  247. package/dist/translation/parse.d.ts +0 -17
  248. package/dist/translation/parse.js +0 -77
  249. package/dist/translation/stage.d.ts +0 -3
  250. package/dist/translation/stage.js +0 -44
  251. package/dist/translation/validate.d.ts +0 -14
  252. package/dist/translation/validate.js +0 -100
  253. package/dist/types/branch.d.ts +0 -14
  254. package/dist/types/branch.js +0 -1
  255. package/dist/types/data/json.d.ts +0 -6
  256. package/dist/types/data/json.js +0 -1
  257. package/dist/types/data.d.ts +0 -37
  258. package/dist/types/data.js +0 -1
  259. package/dist/types/files.d.ts +0 -8
  260. package/dist/types/files.js +0 -1
  261. package/dist/types/index.d.ts +0 -243
  262. package/dist/types/index.js +0 -1
  263. package/dist/types/libraries.d.ts +0 -31
  264. package/dist/types/libraries.js +0 -72
  265. package/dist/types/parsing.d.ts +0 -3
  266. package/dist/types/parsing.js +0 -1
  267. package/dist/utils/addExplicitAnchorIds.d.ts +0 -24
  268. package/dist/utils/addExplicitAnchorIds.js +0 -416
  269. package/dist/utils/constants.d.ts +0 -5
  270. package/dist/utils/constants.js +0 -6
  271. package/dist/utils/credentials.d.ts +0 -12
  272. package/dist/utils/credentials.js +0 -120
  273. package/dist/utils/flattenJsonFiles.d.ts +0 -2
  274. package/dist/utils/flattenJsonFiles.js +0 -36
  275. package/dist/utils/gitDiff.d.ts +0 -8
  276. package/dist/utils/gitDiff.js +0 -34
  277. package/dist/utils/gt.d.ts +0 -2
  278. package/dist/utils/gt.js +0 -2
  279. package/dist/utils/hash.d.ts +0 -6
  280. package/dist/utils/hash.js +0 -11
  281. package/dist/utils/headers.d.ts +0 -1
  282. package/dist/utils/headers.js +0 -14
  283. package/dist/utils/installPackage.d.ts +0 -3
  284. package/dist/utils/installPackage.js +0 -77
  285. package/dist/utils/localizeRelativeAssets.d.ts +0 -8
  286. package/dist/utils/localizeRelativeAssets.js +0 -166
  287. package/dist/utils/localizeStaticImports.d.ts +0 -15
  288. package/dist/utils/localizeStaticImports.js +0 -397
  289. package/dist/utils/localizeStaticUrls.d.ts +0 -19
  290. package/dist/utils/localizeStaticUrls.js +0 -450
  291. package/dist/utils/mintlifyTitleFallback.d.ts +0 -6
  292. package/dist/utils/mintlifyTitleFallback.js +0 -80
  293. package/dist/utils/packageInfo.d.ts +0 -3
  294. package/dist/utils/packageInfo.js +0 -17
  295. package/dist/utils/packageJson.d.ts +0 -6
  296. package/dist/utils/packageJson.js +0 -68
  297. package/dist/utils/packageManager.d.ts +0 -28
  298. package/dist/utils/packageManager.js +0 -269
  299. package/dist/utils/parse/needsCJS.d.ts +0 -20
  300. package/dist/utils/parse/needsCJS.js +0 -72
  301. package/dist/utils/persistPostprocessHashes.d.ts +0 -12
  302. package/dist/utils/persistPostprocessHashes.js +0 -39
  303. package/dist/utils/processAnchorIds.d.ts +0 -6
  304. package/dist/utils/processAnchorIds.js +0 -56
  305. package/dist/utils/processOpenApi.d.ts +0 -8
  306. package/dist/utils/processOpenApi.js +0 -651
  307. package/dist/utils/sanitizeFileContent.d.ts +0 -6
  308. package/dist/utils/sanitizeFileContent.js +0 -29
  309. package/dist/utils/sharedStaticAssets.d.ts +0 -9
  310. package/dist/utils/sharedStaticAssets.js +0 -384
  311. package/dist/utils/validateMdx.d.ts +0 -10
  312. package/dist/utils/validateMdx.js +0 -25
  313. package/dist/workflows/download.d.ts +0 -32
  314. package/dist/workflows/download.js +0 -127
  315. package/dist/workflows/enqueue.d.ts +0 -17
  316. package/dist/workflows/enqueue.js +0 -59
  317. package/dist/workflows/setupProject.d.ts +0 -13
  318. package/dist/workflows/setupProject.js +0 -48
  319. package/dist/workflows/stage.d.ts +0 -18
  320. package/dist/workflows/stage.js +0 -59
  321. package/dist/workflows/steps/BranchStep.d.ts +0 -13
  322. package/dist/workflows/steps/BranchStep.js +0 -161
  323. package/dist/workflows/steps/DownloadStep.d.ts +0 -19
  324. package/dist/workflows/steps/DownloadStep.js +0 -131
  325. package/dist/workflows/steps/EnqueueStep.d.ts +0 -15
  326. package/dist/workflows/steps/EnqueueStep.js +0 -33
  327. package/dist/workflows/steps/PollJobsStep.d.ts +0 -31
  328. package/dist/workflows/steps/PollJobsStep.js +0 -288
  329. package/dist/workflows/steps/SetupStep.d.ts +0 -16
  330. package/dist/workflows/steps/SetupStep.js +0 -72
  331. package/dist/workflows/steps/UploadSourcesStep.d.ts +0 -27
  332. package/dist/workflows/steps/UploadSourcesStep.js +0 -131
  333. package/dist/workflows/steps/UploadTranslationsStep.d.ts +0 -22
  334. package/dist/workflows/steps/UploadTranslationsStep.js +0 -71
  335. package/dist/workflows/steps/UserEditDiffsStep.d.ts +0 -11
  336. package/dist/workflows/steps/UserEditDiffsStep.js +0 -30
  337. package/dist/workflows/steps/WorkflowStep.d.ts +0 -4
  338. package/dist/workflows/steps/WorkflowStep.js +0 -2
  339. package/dist/workflows/upload.d.ts +0 -15
  340. 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;