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,8 +0,0 @@
1
- import { Metadata } from 'generaltranslation/types';
2
- import * as t from '@babel/types';
3
- export declare function parseTProps({ openingElement, metadata, componentErrors, file, }: {
4
- openingElement: t.JSXOpeningElement;
5
- metadata: Metadata;
6
- componentErrors: string[];
7
- file: string;
8
- }): void;
@@ -1,65 +0,0 @@
1
- import * as t from '@babel/types';
2
- import generateModule from '@babel/generator';
3
- // Handle CommonJS/ESM interop
4
- const generate = generateModule.default || generateModule;
5
- import { GT_ATTRIBUTES } from '../constants.js';
6
- import { mapAttributeName } from '../mapAttributeName.js';
7
- import { isStaticExpression } from '../../evaluateJsx.js';
8
- import { warnInvalidMaxCharsSync, warnVariablePropSync, } from '../../../../console/index.js';
9
- import { isNumberLiteral } from '../isNumberLiteral.js';
10
- // Parse the props of a <T> component
11
- export function parseTProps({ openingElement, metadata, componentErrors, file, }) {
12
- openingElement.attributes.forEach((attr) => {
13
- if (!t.isJSXAttribute(attr))
14
- return;
15
- const attrName = attr.name.name;
16
- if (typeof attrName !== 'string')
17
- return;
18
- if (attr.value) {
19
- // If it's a plain string literal like id="hello"
20
- if (t.isStringLiteral(attr.value)) {
21
- metadata[attrName] = attr.value.value;
22
- }
23
- // If it's an expression container like id={"hello"}, id={someVar}, etc.
24
- else if (t.isJSXExpressionContainer(attr.value)) {
25
- const expr = attr.value.expression;
26
- const code = generate(expr).code;
27
- // Only check for static expressions on id and context and maxChars props
28
- if (GT_ATTRIBUTES.includes(attrName)) {
29
- const staticAnalysis = isStaticExpression(expr);
30
- if (!staticAnalysis.isStatic) {
31
- componentErrors.push(warnVariablePropSync(file, attrName, code, `${expr.loc?.start?.line}:${expr.loc?.start?.column}`));
32
- }
33
- // Use the static value if available
34
- if (staticAnalysis.isStatic && staticAnalysis.value !== undefined) {
35
- // Check for invalid maxChars values
36
- if (attrName === '$maxChars' || attrName === 'maxChars') {
37
- if (typeof staticAnalysis.value === 'string' &&
38
- (isNaN(Number(staticAnalysis.value)) ||
39
- (t.isExpression(expr) && !isNumberLiteral(expr)) ||
40
- !Number.isInteger(Number(staticAnalysis.value)))) {
41
- componentErrors.push(warnInvalidMaxCharsSync(file, code, `${expr.loc?.start?.line}:${expr.loc?.start?.column}`));
42
- }
43
- else {
44
- // Add the maxChars value to the metadata
45
- metadata[mapAttributeName(attrName)] = Math.abs(Number(staticAnalysis.value));
46
- }
47
- }
48
- else {
49
- // Add the $context or $id or other attributes value to the metadata
50
- metadata[mapAttributeName(attrName)] = staticAnalysis.value;
51
- }
52
- }
53
- else {
54
- // Only store the code if we couldn't extract a static value
55
- metadata[attrName] = code;
56
- }
57
- }
58
- else {
59
- // For other attributes that aren't id or context
60
- metadata[attrName] = code;
61
- }
62
- }
63
- }
64
- });
65
- }
@@ -1,2 +0,0 @@
1
- import { JsxChildren } from 'generaltranslation/types';
2
- export declare function removeNullChildrenFields(tree: JsxChildren): JsxChildren;
@@ -1,61 +0,0 @@
1
- import { isVariable } from 'generaltranslation/internal';
2
- export function removeNullChildrenFields(tree) {
3
- return handleChildren(tree);
4
- function handleChildren(children) {
5
- if (Array.isArray(children)) {
6
- return children.filter((child) => child != null).map(handleChild);
7
- }
8
- return handleChild(children);
9
- }
10
- function handleChild(child) {
11
- if (typeof child === 'string') {
12
- return child;
13
- }
14
- if (typeof child !== 'object' || child === null) {
15
- return child;
16
- }
17
- if (isVariable(child)) {
18
- return child;
19
- }
20
- // other fields
21
- let t;
22
- if (child && 't' in child && child.t != null) {
23
- t = child.t;
24
- }
25
- let i;
26
- if (child && 'i' in child && child.i != null) {
27
- i = child.i;
28
- }
29
- // gtprop
30
- let d;
31
- if (child && 'd' in child && child.d != null) {
32
- let b;
33
- if (child.d && 'b' in child.d && child.d.b != null) {
34
- b = {
35
- ...Object.fromEntries(Object.entries(child.d.b).map(([key, value]) => [
36
- key,
37
- handleChildren(value),
38
- ])),
39
- };
40
- }
41
- d = {
42
- ...(b != null && { b }),
43
- ...(child.d?.t != null && { t: child.d.t }),
44
- ...Object.fromEntries(Object.entries(child.d)
45
- .filter(([key, value]) => key !== 'b' && key !== 't' && value != null)
46
- .map(([key, value]) => [key, value])),
47
- };
48
- }
49
- // children
50
- let c;
51
- if (child && 'c' in child && child.c != null) {
52
- c = handleChildren(child.c);
53
- }
54
- return {
55
- ...(t != null && { t }),
56
- ...(i != null && { i }),
57
- ...(d != null && { d }),
58
- ...(c != null && { c }),
59
- };
60
- }
61
- }
@@ -1,48 +0,0 @@
1
- type MultiplicationNode = {
2
- nodeType: 'multiplication';
3
- branches: (JsxTree | MultiplicationNode)[];
4
- };
5
- type ExpressionNode = {
6
- nodeType: 'expression';
7
- result: string | number | boolean | MultiplicationNode | null;
8
- };
9
- type ElementNode = {
10
- nodeType: 'element';
11
- type: string;
12
- props?: {
13
- children?: JsxTree | MultiplicationNode | (JsxTree | MultiplicationNode)[];
14
- [key: string]: any;
15
- };
16
- };
17
- type JsxTree = ElementNode | ExpressionNode | string | number | boolean | null;
18
- export type { MultiplicationNode, ExpressionNode, ElementNode, JsxTree };
19
- declare function isElementNode(node: JsxTree | MultiplicationNode): node is ElementNode;
20
- declare function isExpressionNode(node: JsxTree | MultiplicationNode): node is ExpressionNode;
21
- declare function isMultiplicationNode(node: JsxTree | MultiplicationNode): node is MultiplicationNode;
22
- export { isElementNode, isExpressionNode, isMultiplicationNode };
23
- type WhitespaceMultiplicationNode = {
24
- nodeType: 'multiplication';
25
- branches: (WhitespaceJsxTreeResult | WhitespaceMultiplicationNode)[];
26
- };
27
- type WhitespaceJsxTree = {
28
- nodeType?: 'element';
29
- type: string;
30
- props?: {
31
- children?: (WhitespaceJsxTreeResult | WhitespaceMultiplicationNode)[];
32
- [key: string]: any;
33
- };
34
- };
35
- type WhitespaceJsxTreeResult = WhitespaceJsxTree | string | number | boolean | null;
36
- export type { WhitespaceMultiplicationNode, WhitespaceJsxTree, WhitespaceJsxTreeResult, };
37
- declare function isWhitespaceJsxTree(node: WhitespaceJsxTreeResult | WhitespaceMultiplicationNode): node is WhitespaceJsxTree;
38
- declare function isWhitespaceMultiplicationNode(node: WhitespaceJsxTreeResult | WhitespaceMultiplicationNode): node is WhitespaceMultiplicationNode;
39
- export { isWhitespaceJsxTree, isWhitespaceMultiplicationNode };
40
- type MultipliedTree = {
41
- nodeType?: 'element';
42
- type: string;
43
- props?: {
44
- children?: MultipliedTreeNode;
45
- };
46
- };
47
- type MultipliedTreeNode = MultipliedTree | string | number | boolean | null;
48
- export type { MultipliedTree, MultipliedTreeNode };
@@ -1,34 +0,0 @@
1
- // ----- Helpers ----- //
2
- function isElementNode(node) {
3
- return (typeof node === 'object' &&
4
- node !== null &&
5
- 'nodeType' in node &&
6
- node.nodeType === 'element');
7
- }
8
- function isExpressionNode(node) {
9
- return (typeof node === 'object' &&
10
- node !== null &&
11
- 'nodeType' in node &&
12
- node.nodeType === 'expression');
13
- }
14
- function isMultiplicationNode(node) {
15
- return (typeof node === 'object' &&
16
- node !== null &&
17
- 'nodeType' in node &&
18
- node.nodeType === 'multiplication');
19
- }
20
- export { isElementNode, isExpressionNode, isMultiplicationNode };
21
- // ----- Helpers ----- //
22
- function isWhitespaceJsxTree(node) {
23
- return (typeof node === 'object' &&
24
- node !== null &&
25
- 'nodeType' in node &&
26
- node.nodeType === 'element');
27
- }
28
- function isWhitespaceMultiplicationNode(node) {
29
- return (typeof node === 'object' &&
30
- node !== null &&
31
- 'nodeType' in node &&
32
- node.nodeType === 'multiplication');
33
- }
34
- export { isWhitespaceJsxTree, isWhitespaceMultiplicationNode };
@@ -1,11 +0,0 @@
1
- /**
2
- * Type logic implementation
3
- */
4
- type MapAttributeName<T extends string> = T extends '$id' ? 'id' : T extends '$context' ? 'context' : T extends '$maxChars' ? 'maxChars' : T;
5
- /**
6
- * Map the attribute name to the corresponding attribute name in the metadata
7
- * @param attrName - The attribute name to map
8
- * @returns The mapped attribute name
9
- */
10
- export declare function mapAttributeName<T extends string>(attrName: T): MapAttributeName<T>;
11
- export {};
@@ -1,12 +0,0 @@
1
- export function mapAttributeName(attrName) {
2
- switch (attrName) {
3
- case '$id':
4
- return 'id';
5
- case '$context':
6
- return 'context';
7
- case '$maxChars':
8
- return 'maxChars';
9
- default:
10
- return attrName;
11
- }
12
- }
@@ -1,31 +0,0 @@
1
- import * as t from '@babel/types';
2
- import { ParseResult } from '@babel/parser';
3
- import { ImportDeclaration, VariableDeclaration } from '@babel/types';
4
- import { GTLibrary } from '../../../types/libraries.js';
5
- export declare function determineModuleType(ast: ParseResult<t.File>): boolean;
6
- export type ImportItem = string | {
7
- local: string;
8
- imported: string;
9
- source: string;
10
- };
11
- export declare function generateImports(needsImport: ImportItem[], isESM: boolean, importMap: Record<string, {
12
- name: string;
13
- source: string;
14
- }>): (t.ImportDeclaration | t.VariableDeclaration)[];
15
- export declare function generateImportMap(ast: ParseResult<t.File>, pkg: string): {
16
- initialImports: string[];
17
- importAlias: {
18
- TComponent: string;
19
- VarComponent: string;
20
- };
21
- };
22
- export declare function insertImports(ast: ParseResult<t.File>, importNodes: (t.ImportDeclaration | t.VariableDeclaration)[]): void;
23
- export declare function createImports(ast: ParseResult<t.File>, needsImport: ImportItem[], importMap: Record<string, {
24
- name: string;
25
- source: string;
26
- }>): void;
27
- export interface ImportNameResult {
28
- local: string;
29
- original: string;
30
- }
31
- export declare function extractImportName(node: ImportDeclaration | VariableDeclaration, pkgs: GTLibrary[], translationFuncs: string[]): ImportNameResult[];
@@ -1,278 +0,0 @@
1
- import traverseModule from '@babel/traverse';
2
- // Handle CommonJS/ESM interop
3
- const traverse = traverseModule.default || traverseModule;
4
- import * as babel from '@babel/types';
5
- export function determineModuleType(ast) {
6
- let isESM = false;
7
- traverse(ast, {
8
- ImportDeclaration() {
9
- isESM = true;
10
- },
11
- ExportDefaultDeclaration() {
12
- isESM = true;
13
- },
14
- ExportNamedDeclaration() {
15
- isESM = true;
16
- },
17
- });
18
- return isESM;
19
- }
20
- export function generateImports(needsImport, isESM, importMap) {
21
- // Group imports by their source
22
- const importsBySource = needsImport.reduce((acc, imp) => {
23
- if (typeof imp === 'string') {
24
- // Handle standard GT component imports
25
- const importInfo = importMap[imp];
26
- const source = importInfo.source;
27
- if (!acc[source])
28
- acc[source] = [];
29
- acc[source].push({ local: imp, imported: importInfo.name });
30
- }
31
- else {
32
- // Handle custom imports (like config)
33
- const source = imp.source;
34
- if (!acc[source])
35
- acc[source] = [];
36
- acc[source].push({ local: imp.local, imported: imp.imported });
37
- }
38
- return acc;
39
- }, {});
40
- // Generate import nodes for each source
41
- const importNodes = Object.entries(importsBySource).map(([source, imports]) => {
42
- if (isESM) {
43
- return babel.importDeclaration(imports.map((imp) => imp.imported === 'default'
44
- ? babel.importDefaultSpecifier(babel.identifier(imp.local))
45
- : babel.importSpecifier(babel.identifier(imp.local), babel.identifier(imp.imported))), babel.stringLiteral(source));
46
- }
47
- else {
48
- // For CommonJS, handle default imports differently
49
- return babel.variableDeclaration('const', [
50
- babel.variableDeclarator(imports.some((imp) => imp.imported === 'default')
51
- ? babel.identifier(imports[0].local)
52
- : babel.objectPattern(imports.map((imp) => babel.objectProperty(babel.identifier(imp.local), babel.identifier(imp.imported), false, imp.local === imp.imported))), babel.callExpression(babel.identifier('require'), [
53
- babel.stringLiteral(source),
54
- ])),
55
- ]);
56
- }
57
- });
58
- return importNodes;
59
- }
60
- /*
61
- * This function traverses the AST and records the relevant imports for the pkg.
62
- * It also records the import aliases for the T and Var components. (in case of conflicts)
63
- */
64
- export function generateImportMap(ast, pkg) {
65
- const importAlias = { TComponent: 'T', VarComponent: 'Var' };
66
- // Check existing imports
67
- let initialImports = [];
68
- traverse(ast, {
69
- ImportDeclaration(path) {
70
- const source = path.node.source.value;
71
- if (source === pkg) {
72
- initialImports = [
73
- ...initialImports,
74
- ...path.node.specifiers.map((spec) => {
75
- // For named imports (import { x as y }), use the original name
76
- if (babel.isImportSpecifier(spec)) {
77
- return babel.isIdentifier(spec.imported)
78
- ? spec.imported.name
79
- : spec.imported.value;
80
- }
81
- // For default imports, fall back to local name
82
- return spec.local.name;
83
- }),
84
- ];
85
- }
86
- // Check for conflicting imports only if they're not from gt libraries
87
- if (source !== pkg) {
88
- path.node.specifiers.forEach((spec) => {
89
- if (babel.isImportSpecifier(spec) ||
90
- babel.isImportDefaultSpecifier(spec)) {
91
- if (spec.local.name === 'T')
92
- importAlias.TComponent = 'GTT';
93
- if (spec.local.name === 'Var')
94
- importAlias.VarComponent = 'GTVar';
95
- }
96
- });
97
- }
98
- },
99
- VariableDeclaration(path) {
100
- const declaration = path.node.declarations[0];
101
- if (!declaration)
102
- return;
103
- // Handle const { T, Var } = require('pkg')
104
- if (babel.isCallExpression(declaration.init) &&
105
- babel.isIdentifier(declaration.init.callee) &&
106
- declaration.init.callee.name === 'require' &&
107
- babel.isStringLiteral(declaration.init.arguments[0]) &&
108
- declaration.init.arguments[0].value === pkg &&
109
- babel.isObjectPattern(declaration.id)) {
110
- initialImports = [
111
- ...initialImports,
112
- ...declaration.id.properties
113
- .map((prop) => {
114
- if (babel.isObjectProperty(prop) &&
115
- babel.isIdentifier(prop.key)) {
116
- return prop.key.name;
117
- }
118
- return '';
119
- })
120
- .filter(Boolean),
121
- ];
122
- }
123
- // Handle const temp = require('pkg') followed by const { T, Var } = temp
124
- if (babel.isCallExpression(declaration.init) &&
125
- babel.isIdentifier(declaration.init.callee) &&
126
- declaration.init.callee.name === 'require' &&
127
- babel.isStringLiteral(declaration.init.arguments[0]) &&
128
- declaration.init.arguments[0].value === pkg &&
129
- babel.isIdentifier(declaration.id)) {
130
- const requireVarName = declaration.id.name;
131
- const parentBody = babel.isProgram(path.parent) || babel.isBlockStatement(path.parent)
132
- ? path.parent.body
133
- : [];
134
- // Look for subsequent destructuring
135
- for (const node of parentBody) {
136
- if (babel.isVariableDeclaration(node) &&
137
- node.declarations[0] &&
138
- babel.isObjectPattern(node.declarations[0].id) &&
139
- babel.isMemberExpression(node.declarations[0].init) &&
140
- babel.isIdentifier(node.declarations[0].init.object) &&
141
- node.declarations[0].init.object.name === requireVarName) {
142
- initialImports = [
143
- ...initialImports,
144
- ...node.declarations[0].id.properties
145
- .map((prop) => {
146
- if (babel.isObjectProperty(prop) &&
147
- babel.isIdentifier(prop.key)) {
148
- return prop.key.name;
149
- }
150
- return '';
151
- })
152
- .filter(Boolean),
153
- ];
154
- }
155
- }
156
- }
157
- // Check for conflicting requires
158
- if (babel.isCallExpression(declaration.init) &&
159
- babel.isIdentifier(declaration.init.callee) &&
160
- declaration.init.callee.name === 'require' &&
161
- babel.isStringLiteral(declaration.init.arguments[0]) &&
162
- declaration.init.arguments[0].value !== pkg &&
163
- babel.isObjectPattern(declaration.id)) {
164
- declaration.id.properties.forEach((prop) => {
165
- if (babel.isObjectProperty(prop) && babel.isIdentifier(prop.value)) {
166
- if (prop.value.name === 'T')
167
- importAlias.TComponent = 'GTT';
168
- if (prop.value.name === 'Var')
169
- importAlias.VarComponent = 'GTVar';
170
- }
171
- });
172
- }
173
- // Add check for intermediate variable conflict
174
- if (babel.isIdentifier(declaration.id)) {
175
- if (declaration.id.name === 'T')
176
- importAlias.TComponent = 'GTT';
177
- if (declaration.id.name === 'Var')
178
- importAlias.VarComponent = 'GTVar';
179
- }
180
- },
181
- });
182
- return { initialImports, importAlias };
183
- }
184
- export function insertImports(ast, importNodes) {
185
- // Find the best position to insert the imports
186
- let insertIndex = 0;
187
- for (let i = 0; i < ast.program.body.length; i++) {
188
- if (!babel.isImportDeclaration(ast.program.body[i])) {
189
- insertIndex = i;
190
- break;
191
- }
192
- insertIndex = i + 1;
193
- }
194
- // Insert all import nodes
195
- ast.program.body.splice(insertIndex, 0, ...importNodes);
196
- }
197
- export function createImports(ast, needsImport, importMap) {
198
- const isESM = determineModuleType(ast);
199
- const importNodes = generateImports(needsImport, isESM, importMap);
200
- insertImports(ast, importNodes);
201
- }
202
- export function extractImportName(node, pkgs, translationFuncs) {
203
- const results = [];
204
- if (node.type === 'ImportDeclaration') {
205
- // Handle ES6 imports
206
- if (pkgs.some((pkg) => node.source.value.startsWith(pkg))) {
207
- for (const specifier of node.specifiers) {
208
- if (specifier.type === 'ImportSpecifier' &&
209
- 'name' in specifier.imported &&
210
- translationFuncs.includes(specifier.imported.name)) {
211
- results.push({
212
- local: specifier.local.name,
213
- original: specifier.imported.name,
214
- });
215
- }
216
- }
217
- }
218
- }
219
- else if (node.type === 'VariableDeclaration') {
220
- // Handle CJS requires
221
- for (const declaration of node.declarations) {
222
- // Handle direct require with destructuring
223
- if (declaration.init?.type === 'CallExpression' &&
224
- declaration.init.callee.type === 'Identifier' &&
225
- declaration.init.callee.name === 'require' &&
226
- declaration.init.arguments[0]?.type === 'StringLiteral' &&
227
- pkgs.some((pkg) => declaration.init
228
- .arguments[0].value.startsWith(pkg))) {
229
- // Handle destructuring case: const { T } = require('gt-next')
230
- if (declaration.id.type === 'ObjectPattern') {
231
- for (const prop of declaration.id.properties) {
232
- if (prop.type === 'ObjectProperty' &&
233
- prop.key.type === 'Identifier' &&
234
- translationFuncs.includes(prop.key.name) &&
235
- prop.value.type === 'Identifier') {
236
- results.push({
237
- local: prop.value.name,
238
- original: prop.key.name,
239
- });
240
- }
241
- }
242
- }
243
- // Handle intermediate variable case: const temp = require('gt-next')
244
- else if (declaration.id.type === 'Identifier') {
245
- const requireVarName = declaration.id.name;
246
- const parentBody = node.parent?.body;
247
- if (parentBody) {
248
- for (let i = 0; i < parentBody.length; i++) {
249
- const stmt = parentBody[i];
250
- if (stmt.type === 'VariableDeclaration' &&
251
- stmt.declarations[0]?.init?.type === 'MemberExpression' &&
252
- stmt.declarations[0].init.object.type === 'Identifier' &&
253
- stmt.declarations[0].init.object.name === requireVarName &&
254
- stmt.declarations[0].init.property.type === 'Identifier' &&
255
- translationFuncs.includes(stmt.declarations[0].init.property.name)) {
256
- results.push({
257
- local: stmt.declarations[0].id.name,
258
- original: stmt.declarations[0].init.property.name,
259
- });
260
- }
261
- }
262
- }
263
- }
264
- }
265
- // Handle member expression assignment: const TranslateFunc = temp.T
266
- if (declaration.init?.type === 'MemberExpression' &&
267
- declaration.init.property.type === 'Identifier' &&
268
- translationFuncs.includes(declaration.init.property.name) &&
269
- declaration.id.type === 'Identifier') {
270
- results.push({
271
- local: declaration.id.name,
272
- original: declaration.init.property.name,
273
- });
274
- }
275
- }
276
- }
277
- return results;
278
- }
@@ -1,15 +0,0 @@
1
- import * as t from '@babel/types';
2
- import { NodePath } from '@babel/traverse';
3
- import { ParsingConfigOptions } from '../../../types/parsing.js';
4
- import { StringNode } from './types.js';
5
- export type StringTree = (string | StringTree)[];
6
- /**
7
- * Checks if an expression is static or uses declareStatic
8
- * Returns a Node representing the parsed expression
9
- * @param expr - The expression to check
10
- * @param tPath - NodePath for scope resolution
11
- * @param file - Current file path
12
- * @param parsingOptions - Parsing configuration
13
- * @returns Node | null - The parsed node, or null if invalid
14
- */
15
- export declare function handleStaticExpression(expr: t.Expression, tPath: NodePath, file: string, parsingOptions: ParsingConfigOptions, errors: string[]): StringNode | null;