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,8 +0,0 @@
1
- import fg from 'fast-glob';
2
- export function matchFiles(cwd, patterns) {
3
- return fg.sync(patterns, {
4
- cwd,
5
- absolute: true,
6
- onlyFiles: true,
7
- });
8
- }
@@ -1 +0,0 @@
1
- export declare function saveJSON(filepath: string, data: Record<string, any>): Promise<void>;
@@ -1,7 +0,0 @@
1
- import path from 'node:path';
2
- import fs from 'node:fs';
3
- export async function saveJSON(filepath, data) {
4
- // Ensure directory exists
5
- await fs.promises.mkdir(path.dirname(filepath), { recursive: true });
6
- await fs.promises.writeFile(filepath, JSON.stringify(data, null, 2));
7
- }
@@ -1 +0,0 @@
1
- export declare function resolveProjectId(): string | undefined;
package/dist/fs/utils.js DELETED
@@ -1,16 +0,0 @@
1
- export function resolveProjectId() {
2
- const CANDIDATES = [
3
- process.env.GT_PROJECT_ID, // any server side, Remix
4
- process.env.NEXT_PUBLIC_GT_PROJECT_ID, // Next.js
5
- process.env.VITE_GT_PROJECT_ID, // Vite
6
- process.env.REACT_APP_GT_PROJECT_ID, // Create React App
7
- process.env.REDWOOD_ENV_GT_PROJECT_ID, // RedwoodJS
8
- process.env.GATSBY_GT_PROJECT_ID, // Gatsby
9
- process.env.EXPO_PUBLIC_GT_PROJECT_ID, // Expo (React Native)
10
- process.env.RAZZLE_GT_PROJECT_ID, // Razzle
11
- process.env.UMI_GT_PROJECT_ID, // UmiJS
12
- process.env.BLITZ_PUBLIC_GT_PROJECT_ID, // Blitz.js
13
- process.env.PUBLIC_GT_PROJECT_ID, // WMR, Qwik (general "public" convention)
14
- ];
15
- return CANDIDATES.find((projectId) => projectId !== undefined);
16
- }
@@ -1 +0,0 @@
1
- export declare const PACKAGE_VERSION = "2.6.29";
@@ -1,2 +0,0 @@
1
- // This file is auto-generated. Do not edit manually.
2
- export const PACKAGE_VERSION = '2.6.29';
@@ -1,7 +0,0 @@
1
- export declare function getCurrentBranch(remoteName: string): Promise<{
2
- currentBranchName: string;
3
- defaultBranch: boolean;
4
- defaultBranchName: string;
5
- } | null>;
6
- export declare function getIncomingBranches(remoteName: string): Promise<string[]>;
7
- export declare function getCheckedOutBranches(remoteName: string): Promise<string[]>;
@@ -1,88 +0,0 @@
1
- import { execFile } from 'child_process';
2
- import { promisify } from 'util';
3
- const execAsync = promisify(execFile);
4
- const MAX_BRANCHES = 5;
5
- export async function getCurrentBranch(remoteName) {
6
- try {
7
- const { stdout } = await execAsync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], {
8
- encoding: 'utf8',
9
- windowsHide: true,
10
- });
11
- const currentBranchName = stdout.trim();
12
- // Get the default branch (usually main or master)
13
- const { stdout: defaultBranchRef } = await execAsync('git', ['symbolic-ref', `refs/remotes/${remoteName}/HEAD`], { encoding: 'utf8', windowsHide: true });
14
- const defaultBranchName = defaultBranchRef
15
- .trim()
16
- .replace(`refs/remotes/${remoteName}/`, '');
17
- const defaultBranch = currentBranchName === defaultBranchName;
18
- return { currentBranchName, defaultBranch, defaultBranchName };
19
- }
20
- catch {
21
- return null;
22
- }
23
- }
24
- export async function getIncomingBranches(remoteName) {
25
- try {
26
- // Get merge commits into the current branch
27
- const { stdout } = await execAsync('git', [
28
- 'log',
29
- '--merges',
30
- '--first-parent',
31
- '--pretty=format:%s',
32
- `-${MAX_BRANCHES}`,
33
- ], {
34
- encoding: 'utf8',
35
- windowsHide: true,
36
- });
37
- if (!stdout.trim()) {
38
- return [];
39
- }
40
- const branches = [];
41
- const lines = stdout.trim().split('\n');
42
- for (const line of lines) {
43
- // Parse merge commit messages:
44
- // - "Merge branch 'feature-name'" or "Merge branch 'feature-name' into main"
45
- // - "Merge pull request #123 from user/branch-name"
46
- const branchMatch = line.match(/Merge branch '([^']+)'/);
47
- const prMatch = line.match(/Merge pull request #\d+ from [^/]+\/(.+)/);
48
- if (branchMatch && branchMatch[1]) {
49
- branches.push(branchMatch[1]);
50
- }
51
- else if (prMatch && prMatch[1]) {
52
- branches.push(prMatch[1]);
53
- }
54
- }
55
- return branches.slice(0, MAX_BRANCHES);
56
- }
57
- catch {
58
- // If log fails or no merges found, return empty array
59
- return [];
60
- }
61
- }
62
- export async function getCheckedOutBranches(remoteName) {
63
- try {
64
- // Get current branch
65
- const currentBranchResult = await getCurrentBranch(remoteName);
66
- if (!currentBranchResult) {
67
- return [];
68
- }
69
- // If we're already on the default branch, return empty
70
- if (currentBranchResult.defaultBranch) {
71
- return [];
72
- }
73
- // Check if there's a merge-base (common ancestor) between default branch and current
74
- // This means the branch was at some point checked out from the default branch
75
- try {
76
- await execAsync('git', ['merge-base', currentBranchResult.defaultBranchName, 'HEAD'], { encoding: 'utf8', windowsHide: true });
77
- // If merge-base exists, the branch shares history with default branch
78
- return [currentBranchResult.defaultBranchName];
79
- }
80
- catch {
81
- // No common ancestor found
82
- return [];
83
- }
84
- }
85
- catch {
86
- return [];
87
- }
88
- }
@@ -1,4 +0,0 @@
1
- type Formatter = 'prettier' | 'biome' | 'eslint';
2
- export declare function detectFormatter(): Promise<Formatter | null>;
3
- export declare function formatFiles(filesUpdated: string[], formatter?: Formatter): Promise<void>;
4
- export {};
@@ -1,110 +0,0 @@
1
- import fs from 'node:fs';
2
- import { spawn } from 'node:child_process';
3
- import chalk from 'chalk';
4
- import { logger } from '../console/logger.js';
5
- export async function detectFormatter() {
6
- // Try Prettier
7
- try {
8
- await import('prettier');
9
- return 'prettier';
10
- }
11
- catch { }
12
- // Try ESLint
13
- try {
14
- await import('eslint');
15
- return 'eslint';
16
- }
17
- catch { }
18
- // Try Biome
19
- try {
20
- return await new Promise((resolve, reject) => {
21
- const child = spawn('npx', ['@biomejs/biome', '--version'], {
22
- stdio: 'ignore',
23
- });
24
- child.on('error', () => {
25
- resolve(null);
26
- });
27
- child.on('close', (code) => {
28
- if (code === 0) {
29
- resolve('biome');
30
- }
31
- else {
32
- resolve(null);
33
- }
34
- });
35
- });
36
- }
37
- catch { }
38
- return null;
39
- }
40
- export async function formatFiles(filesUpdated, formatter) {
41
- if (filesUpdated.length === 0)
42
- return;
43
- try {
44
- const detectedFormatter = formatter || (await detectFormatter());
45
- if (!detectedFormatter) {
46
- logger.warn(chalk.yellow('No supported formatter detected'));
47
- return;
48
- }
49
- if (detectedFormatter === 'prettier') {
50
- logger.message(chalk.dim('Cleaning up with prettier...'));
51
- const prettier = await import('prettier');
52
- for (const file of filesUpdated) {
53
- const config = await prettier.resolveConfig(file);
54
- const content = await fs.promises.readFile(file, 'utf-8');
55
- const formatted = await prettier.format(content, {
56
- ...config,
57
- filepath: file,
58
- });
59
- await fs.promises.writeFile(file, formatted);
60
- }
61
- return;
62
- }
63
- if (detectedFormatter === 'biome') {
64
- logger.message(chalk.dim('Cleaning up with biome...'));
65
- try {
66
- await new Promise((resolve, reject) => {
67
- const args = [
68
- '@biomejs/biome',
69
- 'format',
70
- '--write',
71
- ...filesUpdated.map((file) => file),
72
- ];
73
- const child = spawn('npx', args, {
74
- stdio: ['ignore', 'inherit', 'inherit'],
75
- });
76
- child.on('error', (error) => {
77
- logger.warn(chalk.yellow('Biome formatting failed: ' + error.message));
78
- resolve();
79
- });
80
- child.on('close', (code) => {
81
- if (code !== 0) {
82
- logger.warn(chalk.yellow(`Biome formatting failed with exit code ${code}`));
83
- }
84
- resolve();
85
- });
86
- });
87
- }
88
- catch (error) {
89
- logger.warn(chalk.yellow('Biome formatting failed: ' + String(error)));
90
- }
91
- return;
92
- }
93
- if (detectedFormatter === 'eslint') {
94
- logger.message(chalk.dim('Cleaning up with eslint...'));
95
- const { ESLint } = await import('eslint');
96
- const eslint = new ESLint({
97
- fix: true,
98
- overrideConfigFile: undefined, // Will use project's .eslintrc
99
- });
100
- for (const file of filesUpdated) {
101
- const results = await eslint.lintFiles([file]);
102
- await ESLint.outputFixes(results);
103
- }
104
- return;
105
- }
106
- }
107
- catch (e) {
108
- logger.warn(chalk.yellow('Unable to run code formatter: ' + String(e)));
109
- }
110
- }
@@ -1,2 +0,0 @@
1
- import { Settings } from '../types/index.js';
2
- export declare function setupLocadex(settings: Settings): Promise<void>;
@@ -1,9 +0,0 @@
1
- import { logger } from '../console/logger.js';
2
- import chalk from 'chalk';
3
- export async function setupLocadex(settings) {
4
- const urlToOpen = `${settings.dashboardUrl}/api/integrations/github/start?returnTo=%2Fproject%2Flocadex`;
5
- await import('open').then((open) => open.default(urlToOpen, {
6
- wait: false,
7
- }));
8
- logger.message(`${chalk.dim(`If the browser window didn't open automatically, please open the following link:`)}\n\n${chalk.cyan(urlToOpen)}`);
9
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * Extracts projectId, defaultLocale, and locales from a next.config.js file.
3
- * @param {string} filePath - The path to the next.config.js file.
4
- * @returns {object|null} - An object containing the extracted values or null if none found or incorrect types.
5
- */
6
- export declare function parseNextConfig(filePath: string): Promise<{
7
- projectId?: string;
8
- defaultLocale?: string;
9
- locales?: string[];
10
- }>;
@@ -1,53 +0,0 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { gt } from '../../utils/gt.js';
4
- /**
5
- * Extracts projectId, defaultLocale, and locales from a next.config.js file.
6
- * @param {string} filePath - The path to the next.config.js file.
7
- * @returns {object|null} - An object containing the extracted values or null if none found or incorrect types.
8
- */
9
- export async function parseNextConfig(filePath) {
10
- // Resolve the absolute path
11
- const absoluteFilePath = path.resolve(filePath);
12
- // Check if the file exists
13
- if (!fs.existsSync(absoluteFilePath)) {
14
- return {};
15
- }
16
- // Read the file content
17
- const fileContent = await fs.promises.readFile(absoluteFilePath, 'utf8');
18
- // Regular expressions to extract the values
19
- const defaultLocaleRegex = /defaultLocale:\s*['"]([^'"]+)['"]/;
20
- const projectIdRegex = /projectId:\s*['"]([^'"]+)['"]/;
21
- const localesRegex = /locales:\s*\[([^\]]+)\]/;
22
- // Extract the values
23
- const defaultLocaleMatch = fileContent.match(defaultLocaleRegex);
24
- const projectIdMatch = fileContent.match(projectIdRegex);
25
- const localesMatch = fileContent.match(localesRegex);
26
- const defaultLocale = defaultLocaleMatch && typeof defaultLocaleMatch[1] === 'string'
27
- ? defaultLocaleMatch[1]
28
- : undefined;
29
- const projectId = projectIdMatch && typeof projectIdMatch[1] === 'string'
30
- ? projectIdMatch[1]
31
- : undefined;
32
- const locales = localesMatch
33
- ? localesMatch[1]
34
- .split(',')
35
- .map((locale) => locale.trim().replace(/['"]/g, ''))
36
- .filter((locale) => typeof locale === 'string')
37
- : undefined;
38
- // Ensure approvedLocales is an array of strings
39
- const validLocales = locales && locales.every((locale) => gt.isValidLocale(locale))
40
- ? locales
41
- : undefined;
42
- // Return the extracted values if they pass type checks or return null
43
- if (defaultLocale || projectId || validLocales) {
44
- return {
45
- ...(defaultLocale && { defaultLocale }),
46
- ...(projectId && { projectId }),
47
- ...(validLocales && { locales: validLocales }),
48
- };
49
- }
50
- else {
51
- return {};
52
- }
53
- }
@@ -1,7 +0,0 @@
1
- import * as t from '@babel/types';
2
- import { NodePath } from '@babel/traverse';
3
- export declare function isHtmlElement(element: t.JSXOpeningElement): boolean;
4
- export declare function isBodyElement(element: t.JSXOpeningElement): boolean;
5
- export declare function hasGTProviderChild(element: t.JSXElement): boolean;
6
- export declare function addDynamicLangAttribute(element: t.JSXOpeningElement): void;
7
- export declare function makeParentFunctionAsync(path: NodePath): boolean;
@@ -1,42 +0,0 @@
1
- import * as t from '@babel/types';
2
- // Helper function to check if is the <html> fragment
3
- export function isHtmlElement(element) {
4
- return (t.isJSXIdentifier(element.name) &&
5
- element.name.name.toLowerCase() === 'html');
6
- }
7
- // Helper function to check if is the <body> fragment
8
- export function isBodyElement(element) {
9
- return (t.isJSXIdentifier(element.name) &&
10
- element.name.name.toLowerCase() === 'body');
11
- }
12
- // Helper function to check if the <body> element has a <GTProvider> child
13
- export function hasGTProviderChild(element) {
14
- return element.children.some((child) => t.isJSXElement(child) &&
15
- t.isJSXIdentifier(child.openingElement.name) &&
16
- child.openingElement.name.name === 'GTProvider');
17
- }
18
- export function addDynamicLangAttribute(element) {
19
- // Remove existing lang attribute if present
20
- const langAttrIndex = element.attributes.findIndex((attr) => t.isJSXAttribute(attr) &&
21
- t.isJSXIdentifier(attr.name) &&
22
- attr.name.name === 'lang');
23
- if (langAttrIndex !== -1) {
24
- element.attributes.splice(langAttrIndex, 1);
25
- }
26
- // Add lang={await getLocale()} attribute
27
- element.attributes.push(t.jsxAttribute(t.jsxIdentifier('lang'), t.jsxExpressionContainer(t.awaitExpression(t.callExpression(t.identifier('getLocale'), [])))));
28
- }
29
- export function makeParentFunctionAsync(path) {
30
- const functionParent = path.getFunctionParent();
31
- if (!functionParent)
32
- return false;
33
- const node = functionParent.node;
34
- if ((t.isFunctionDeclaration(node) ||
35
- t.isFunctionExpression(node) ||
36
- t.isArrowFunctionExpression(node)) &&
37
- !node.async) {
38
- node.async = true;
39
- return true;
40
- }
41
- return false;
42
- }
@@ -1,7 +0,0 @@
1
- export declare function handleInitGT(filepath: string, errors: string[], warnings: string[], filesUpdated: string[], packageJson?: {
2
- type?: string;
3
- }, tsconfigJson?: {
4
- compilerOptions?: {
5
- module?: string;
6
- };
7
- }): Promise<void>;
@@ -1,157 +0,0 @@
1
- import fs from 'node:fs';
2
- import { parse } from '@babel/parser';
3
- import generateModule from '@babel/generator';
4
- import traverseModule from '@babel/traverse';
5
- // Handle CommonJS/ESM interop
6
- const traverse = traverseModule.default || traverseModule;
7
- const generate = generateModule.default || generateModule;
8
- import * as t from '@babel/types';
9
- import { logger } from '../../console/logger.js';
10
- import { needsCJS } from '../../utils/parse/needsCJS.js';
11
- export async function handleInitGT(filepath, errors, warnings, filesUpdated, packageJson, tsconfigJson) {
12
- const code = await fs.promises.readFile(filepath, 'utf8');
13
- let ast;
14
- try {
15
- ast = parse(code, {
16
- sourceType: 'module',
17
- plugins: ['jsx', 'typescript'],
18
- tokens: true,
19
- createParenthesizedExpressions: true,
20
- });
21
- // Get cjs or esm
22
- const cjsEnabled = needsCJS({
23
- ast,
24
- warnings,
25
- filepath,
26
- packageJson,
27
- tsconfigJson,
28
- });
29
- // Check if withGTConfig or initGT is already imported/required
30
- let hasGTConfig = false;
31
- let hasInitGT = false;
32
- traverse(ast, {
33
- ImportDeclaration(path) {
34
- if (path.node.source.value === 'gt-next/config') {
35
- path.node.specifiers.forEach((spec) => {
36
- if (t.isImportSpecifier(spec)) {
37
- if (spec.local.name === 'withGTConfig')
38
- hasGTConfig = true;
39
- if (spec.local.name === 'initGT')
40
- hasInitGT = true;
41
- }
42
- });
43
- }
44
- },
45
- VariableDeclaration(path) {
46
- path.node.declarations.forEach((dec) => {
47
- if (t.isVariableDeclarator(dec)) {
48
- // Handle destructuring: const { withGTConfig } = require('gt-next/config')
49
- if (t.isCallExpression(dec.init) &&
50
- t.isIdentifier(dec.init.callee, { name: 'require' }) &&
51
- t.isStringLiteral(dec.init.arguments[0], {
52
- value: 'gt-next/config',
53
- })) {
54
- // Handle simple assignment: const withGTConfig = require(...)
55
- if (t.isIdentifier(dec.id, { name: 'withGTConfig' }))
56
- hasGTConfig = true;
57
- if (t.isIdentifier(dec.id, { name: 'initGT' }))
58
- hasInitGT = true;
59
- // Handle destructuring: const { withGTConfig } = require(...)
60
- if (t.isObjectPattern(dec.id)) {
61
- dec.id.properties.forEach((prop) => {
62
- if (t.isObjectProperty(prop) &&
63
- t.isIdentifier(prop.key) &&
64
- t.isIdentifier(prop.value)) {
65
- if (prop.key.name === 'withGTConfig')
66
- hasGTConfig = true;
67
- if (prop.key.name === 'initGT')
68
- hasInitGT = true;
69
- }
70
- });
71
- }
72
- }
73
- // Handle member access: const withGTConfig = require('gt-next/config').withGTConfig
74
- else if (t.isMemberExpression(dec.init) &&
75
- t.isCallExpression(dec.init.object) &&
76
- t.isIdentifier(dec.init.object.callee, { name: 'require' }) &&
77
- t.isStringLiteral(dec.init.object.arguments[0], {
78
- value: 'gt-next/config',
79
- })) {
80
- if (t.isIdentifier(dec.id, { name: 'withGTConfig' }) &&
81
- t.isIdentifier(dec.init.property, { name: 'withGTConfig' })) {
82
- hasGTConfig = true;
83
- }
84
- if (t.isIdentifier(dec.id, { name: 'initGT' }) &&
85
- t.isIdentifier(dec.init.property, { name: 'initGT' })) {
86
- hasInitGT = true;
87
- }
88
- }
89
- }
90
- });
91
- },
92
- });
93
- // Return early if either withGTConfig or initGT is already present
94
- if (hasGTConfig || hasInitGT) {
95
- return;
96
- }
97
- ast.program.body.unshift(cjsEnabled
98
- ? t.variableDeclaration('const', [
99
- t.variableDeclarator(t.identifier('withGTConfig'), t.memberExpression(t.callExpression(t.identifier('require'), [
100
- t.stringLiteral('gt-next/config'),
101
- ]), t.identifier('withGTConfig'))),
102
- ])
103
- : t.importDeclaration([
104
- t.importSpecifier(t.identifier('withGTConfig'), t.identifier('withGTConfig')),
105
- ], t.stringLiteral('gt-next/config')));
106
- // Find and transform the default export
107
- traverse(ast, {
108
- ExportDefaultDeclaration(path) {
109
- const oldExport = path.node.declaration;
110
- let exportExpression;
111
- if (t.isFunctionDeclaration(oldExport)) {
112
- exportExpression = t.functionExpression(oldExport.id, oldExport.params, oldExport.body, oldExport.generator, oldExport.async);
113
- }
114
- else if (t.isClassDeclaration(oldExport)) {
115
- exportExpression = t.classExpression(oldExport.id, oldExport.superClass, oldExport.body, oldExport.decorators);
116
- }
117
- else if (t.isTSDeclareFunction(oldExport)) {
118
- // For TypeScript declare functions, create an empty function expression
119
- // since declare functions don't have a runtime implementation
120
- warnings.push(`Found TypeScript declare function in ${filepath}. Converting to empty function.`);
121
- exportExpression = t.functionExpression(oldExport.id, oldExport.params, t.blockStatement([]), false, false);
122
- }
123
- else {
124
- exportExpression = oldExport;
125
- }
126
- // Validate that we have a valid Next.js config export
127
- if (!t.isObjectExpression(exportExpression) &&
128
- !t.isFunctionExpression(exportExpression) &&
129
- !t.isArrowFunctionExpression(exportExpression)) {
130
- warnings.push(`Unexpected export type in ${filepath}. Next.js config should export an object or a function returning an object.`);
131
- }
132
- path.node.declaration = t.callExpression(t.identifier('withGTConfig'), [
133
- exportExpression,
134
- t.objectExpression([]),
135
- ]);
136
- },
137
- });
138
- // Generate the modified code
139
- const output = generate(ast, {
140
- retainLines: true,
141
- retainFunctionParens: true,
142
- comments: true,
143
- compact: 'auto',
144
- }, code);
145
- // Post-process the output to fix import spacing
146
- let processedCode = output.code;
147
- // Add newline after the comment only
148
- processedCode = processedCode.replace(/((?:import\s*{\s*withGTConfig\s*}\s*from|const\s*{\s*withGTConfig\s*}\s*=\s*require)\s*['"]gt-next\/config['"];?)/, '$1\n');
149
- // Write the modified code back to the file
150
- await fs.promises.writeFile(filepath, processedCode);
151
- filesUpdated.push(filepath);
152
- }
153
- catch (error) {
154
- logger.error(`Error parsing file ${filepath}: ${error}`);
155
- errors.push(`Failed to parse ${filepath}: ${error}`);
156
- }
157
- }
@@ -1,12 +0,0 @@
1
- import { WrapOptions } from '../../types/index.js';
2
- import { Libraries } from '../../types/libraries.js';
3
- /**
4
- * Wraps all JSX elements in the src directory with a <T> tag, with unique ids.
5
- * - Ignores pure strings
6
- *
7
- * @param options - The options object
8
- * @returns An object containing the updates and errors
9
- */
10
- export declare function wrapContentNext(options: WrapOptions, pkg: `${typeof Libraries.GT_NEXT}`, errors: string[], warnings: string[]): Promise<{
11
- filesUpdated: string[];
12
- }>;