gt 0.10.0 → 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 (531) hide show
  1. package/CHANGELOG.md +1275 -0
  2. package/LICENSE.md +105 -0
  3. package/README.md +26 -198
  4. package/dist/api/collectUserEditDiffs.d.ts +9 -0
  5. package/dist/api/collectUserEditDiffs.js +159 -0
  6. package/dist/api/downloadFileBatch.d.ts +23 -0
  7. package/dist/api/downloadFileBatch.js +190 -0
  8. package/dist/api/saveLocalEdits.d.ts +6 -0
  9. package/dist/api/saveLocalEdits.js +38 -0
  10. package/dist/bin/bin-entry.d.ts +1 -0
  11. package/dist/bin/bin-entry.js +9 -0
  12. package/dist/bin/bin-main.d.ts +2 -0
  13. package/dist/bin/bin-main.js +67 -0
  14. package/dist/cli/base.d.ts +59 -0
  15. package/dist/cli/base.js +529 -0
  16. package/dist/cli/commands/download.d.ts +8 -0
  17. package/dist/cli/commands/download.js +51 -0
  18. package/dist/cli/commands/enqueue.d.ts +9 -0
  19. package/dist/cli/commands/enqueue.js +27 -0
  20. package/dist/cli/commands/setupProject.d.ts +7 -0
  21. package/dist/cli/commands/setupProject.js +37 -0
  22. package/dist/cli/commands/stage.d.ts +9 -0
  23. package/dist/cli/commands/stage.js +59 -0
  24. package/dist/cli/commands/translate.d.ts +7 -0
  25. package/dist/cli/commands/translate.js +70 -0
  26. package/dist/cli/commands/upload.d.ts +13 -0
  27. package/dist/cli/commands/upload.js +142 -0
  28. package/dist/cli/commands/utils/validation.d.ts +13 -0
  29. package/dist/cli/commands/utils/validation.js +38 -0
  30. package/dist/cli/flags.d.ts +15 -0
  31. package/dist/cli/flags.js +70 -0
  32. package/dist/cli/inline.d.ts +17 -0
  33. package/dist/cli/inline.js +135 -0
  34. package/dist/cli/next.d.ts +10 -0
  35. package/dist/cli/next.js +12 -0
  36. package/dist/cli/node.d.ts +10 -0
  37. package/dist/cli/node.js +9 -0
  38. package/dist/cli/react.d.ts +12 -0
  39. package/dist/cli/react.js +72 -0
  40. package/dist/config/generateSettings.d.ts +9 -0
  41. package/dist/config/generateSettings.js +214 -0
  42. package/dist/config/optionPresets.d.ts +3 -0
  43. package/dist/config/optionPresets.js +65 -0
  44. package/dist/config/resolveConfig.d.ts +4 -0
  45. package/dist/config/resolveConfig.js +33 -0
  46. package/dist/config/utils.d.ts +2 -0
  47. package/dist/config/utils.js +4 -0
  48. package/dist/config/validateSettings.d.ts +3 -0
  49. package/dist/config/validateSettings.js +32 -0
  50. package/dist/console/colors.d.ts +6 -0
  51. package/dist/console/colors.js +19 -0
  52. package/dist/console/displayTranslateSummary.d.ts +1 -0
  53. package/dist/console/displayTranslateSummary.js +42 -0
  54. package/dist/console/formatting.d.ts +1 -0
  55. package/dist/console/formatting.js +7 -0
  56. package/dist/console/index.d.ts +34 -0
  57. package/dist/console/index.js +46 -0
  58. package/dist/console/logger.d.ts +35 -0
  59. package/dist/console/logger.js +250 -0
  60. package/dist/console/logging.d.ts +52 -0
  61. package/dist/console/logging.js +175 -0
  62. package/dist/formats/files/aggregateFiles.d.ts +4 -0
  63. package/dist/formats/files/aggregateFiles.js +156 -0
  64. package/dist/formats/files/collectFiles.d.ts +6 -0
  65. package/dist/formats/files/collectFiles.js +49 -0
  66. package/dist/formats/files/convertToFileTranslationData.d.ts +15 -0
  67. package/dist/formats/files/convertToFileTranslationData.js +21 -0
  68. package/dist/formats/files/fileMapping.d.ts +11 -0
  69. package/dist/formats/files/fileMapping.js +115 -0
  70. package/dist/formats/files/preprocess/mdx.d.ts +6 -0
  71. package/dist/formats/files/preprocess/mdx.js +14 -0
  72. package/dist/formats/files/preprocess/mintlify.d.ts +5 -0
  73. package/dist/formats/files/preprocess/mintlify.js +15 -0
  74. package/dist/formats/files/preprocessContent.d.ts +8 -0
  75. package/dist/formats/files/preprocessContent.js +23 -0
  76. package/dist/formats/files/save.d.ts +5 -0
  77. package/dist/formats/files/save.js +17 -0
  78. package/dist/formats/files/supportedFiles.d.ts +11 -0
  79. package/dist/formats/files/supportedFiles.js +20 -0
  80. package/dist/formats/json/extractJson.d.ts +15 -0
  81. package/dist/formats/json/extractJson.js +101 -0
  82. package/dist/formats/json/flattenJson.d.ts +14 -0
  83. package/dist/formats/json/flattenJson.js +64 -0
  84. package/dist/formats/json/mergeJson.d.ts +13 -0
  85. package/dist/formats/json/mergeJson.js +367 -0
  86. package/dist/formats/json/parseJson.d.ts +2 -0
  87. package/dist/formats/json/parseJson.js +109 -0
  88. package/dist/formats/json/utils.d.ts +47 -0
  89. package/dist/formats/json/utils.js +150 -0
  90. package/dist/formats/utils.d.ts +2 -0
  91. package/dist/formats/utils.js +24 -0
  92. package/dist/formats/yaml/mergeYaml.d.ts +5 -0
  93. package/dist/formats/yaml/mergeYaml.js +61 -0
  94. package/dist/formats/yaml/parseYaml.d.ts +5 -0
  95. package/dist/formats/yaml/parseYaml.js +24 -0
  96. package/dist/formats/yaml/utils.d.ts +2 -0
  97. package/dist/formats/yaml/utils.js +23 -0
  98. package/dist/fs/clearLocaleDirs.d.ts +8 -0
  99. package/dist/fs/clearLocaleDirs.js +126 -0
  100. package/dist/fs/config/downloadedVersions.d.ts +21 -0
  101. package/dist/fs/config/downloadedVersions.js +50 -0
  102. package/dist/fs/config/loadConfig.d.ts +1 -0
  103. package/dist/fs/config/loadConfig.js +9 -0
  104. package/dist/fs/config/parseFilesConfig.d.ts +27 -0
  105. package/dist/fs/config/parseFilesConfig.js +150 -0
  106. package/dist/fs/config/setupConfig.d.ts +17 -0
  107. package/dist/fs/config/setupConfig.js +50 -0
  108. package/dist/fs/config/updateConfig.d.ts +21 -0
  109. package/dist/fs/config/updateConfig.js +57 -0
  110. package/dist/fs/config/updateVersions.d.ts +11 -0
  111. package/dist/fs/config/updateVersions.js +30 -0
  112. package/dist/fs/copyFile.d.ts +7 -0
  113. package/dist/fs/copyFile.js +39 -0
  114. package/dist/fs/createLoadTranslationsFile.d.ts +1 -0
  115. package/dist/fs/createLoadTranslationsFile.js +49 -0
  116. package/dist/fs/determineFramework.d.ts +5 -0
  117. package/dist/fs/determineFramework.js +53 -0
  118. package/dist/fs/findFilepath.d.ts +36 -0
  119. package/dist/fs/findFilepath.js +90 -0
  120. package/dist/fs/index.d.ts +1 -0
  121. package/dist/fs/index.js +1 -0
  122. package/dist/fs/loadJSON.d.ts +6 -0
  123. package/dist/fs/loadJSON.js +17 -0
  124. package/dist/fs/matchFiles.d.ts +1 -0
  125. package/dist/fs/matchFiles.js +8 -0
  126. package/dist/fs/saveJSON.d.ts +1 -0
  127. package/dist/fs/saveJSON.js +7 -0
  128. package/dist/fs/utils.d.ts +1 -0
  129. package/dist/fs/utils.js +16 -0
  130. package/dist/functions.d.ts +7 -0
  131. package/dist/functions.js +6 -0
  132. package/dist/generated/version.d.ts +1 -0
  133. package/dist/generated/version.js +2 -0
  134. package/dist/git/branches.d.ts +7 -0
  135. package/dist/git/branches.js +88 -0
  136. package/dist/hooks/postProcess.d.ts +4 -0
  137. package/dist/hooks/postProcess.js +110 -0
  138. package/dist/index.d.ts +4 -0
  139. package/dist/index.js +27 -0
  140. package/dist/locadex/setupFlow.d.ts +2 -0
  141. package/dist/locadex/setupFlow.js +9 -0
  142. package/dist/main.d.ts +2 -0
  143. package/dist/main.js +10 -0
  144. package/dist/next/config/parseNextConfig.d.ts +10 -0
  145. package/dist/next/config/parseNextConfig.js +53 -0
  146. package/dist/next/jsx/utils.d.ts +7 -0
  147. package/dist/next/jsx/utils.js +42 -0
  148. package/dist/next/parse/handleInitGT.d.ts +7 -0
  149. package/dist/next/parse/handleInitGT.js +157 -0
  150. package/dist/next/parse/wrapContent.d.ts +12 -0
  151. package/dist/next/parse/wrapContent.js +164 -0
  152. package/dist/react/config/createESBuildConfig.d.ts +2 -0
  153. package/dist/react/config/createESBuildConfig.js +119 -0
  154. package/dist/react/jsx/evaluateJsx.d.ts +24 -0
  155. package/dist/react/jsx/evaluateJsx.js +123 -0
  156. package/dist/react/jsx/utils/buildImportMap.d.ts +9 -0
  157. package/dist/react/jsx/utils/buildImportMap.js +30 -0
  158. package/dist/react/jsx/utils/constants.d.ts +15 -0
  159. package/dist/react/jsx/utils/constants.js +49 -0
  160. package/dist/react/jsx/utils/getCalleeNameFromExpression.d.ts +9 -0
  161. package/dist/react/jsx/utils/getCalleeNameFromExpression.js +32 -0
  162. package/dist/react/jsx/utils/getPathsAndAliases.d.ts +21 -0
  163. package/dist/react/jsx/utils/getPathsAndAliases.js +91 -0
  164. package/dist/react/jsx/utils/isNumberLiteral.d.ts +7 -0
  165. package/dist/react/jsx/utils/isNumberLiteral.js +13 -0
  166. package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.d.ts +9 -0
  167. package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.js +138 -0
  168. package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.d.ts +6 -0
  169. package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.js +197 -0
  170. package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.d.ts +13 -0
  171. package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.js +42 -0
  172. package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.d.ts +5 -0
  173. package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.js +69 -0
  174. package/dist/react/jsx/utils/jsxParsing/parseJsx.d.ts +33 -0
  175. package/dist/react/jsx/utils/jsxParsing/parseJsx.js +918 -0
  176. package/dist/react/jsx/utils/jsxParsing/parseTProps.d.ts +8 -0
  177. package/dist/react/jsx/utils/jsxParsing/parseTProps.js +65 -0
  178. package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.d.ts +2 -0
  179. package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.js +61 -0
  180. package/dist/react/jsx/utils/jsxParsing/types.d.ts +48 -0
  181. package/dist/react/jsx/utils/jsxParsing/types.js +34 -0
  182. package/dist/react/jsx/utils/mapAttributeName.d.ts +11 -0
  183. package/dist/react/jsx/utils/mapAttributeName.js +12 -0
  184. package/dist/react/jsx/utils/parseAst.d.ts +31 -0
  185. package/dist/react/jsx/utils/parseAst.js +278 -0
  186. package/dist/react/jsx/utils/parseDeclareStatic.d.ts +15 -0
  187. package/dist/react/jsx/utils/parseDeclareStatic.js +540 -0
  188. package/dist/react/jsx/utils/parseString.d.ts +25 -0
  189. package/dist/react/jsx/utils/parseString.js +540 -0
  190. package/dist/react/jsx/utils/parseStringFunction.d.ts +30 -0
  191. package/dist/react/jsx/utils/parseStringFunction.js +348 -0
  192. package/dist/react/jsx/utils/resolveImportPath.d.ts +11 -0
  193. package/dist/react/jsx/utils/resolveImportPath.js +111 -0
  194. package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.d.ts +29 -0
  195. package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.js +86 -0
  196. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.d.ts +14 -0
  197. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.js +24 -0
  198. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.d.ts +19 -0
  199. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.js +31 -0
  200. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleStaticTranslationCall.d.ts +22 -0
  201. package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleStaticTranslationCall.js +51 -0
  202. package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.d.ts +18 -0
  203. package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.js +39 -0
  204. package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.d.ts +24 -0
  205. package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.js +68 -0
  206. package/dist/react/jsx/utils/stringParsing/types.d.ts +41 -0
  207. package/dist/react/jsx/utils/stringParsing/types.js +1 -0
  208. package/dist/react/jsx/utils/types.d.ts +14 -0
  209. package/dist/react/jsx/utils/types.js +1 -0
  210. package/dist/react/jsx/utils/validateStringFunction.d.ts +7 -0
  211. package/dist/react/jsx/utils/validateStringFunction.js +31 -0
  212. package/dist/react/jsx/wrapJsx.d.ts +51 -0
  213. package/dist/react/jsx/wrapJsx.js +387 -0
  214. package/dist/react/parse/addVitePlugin/index.d.ts +22 -0
  215. package/dist/react/parse/addVitePlugin/index.js +41 -0
  216. package/dist/react/parse/addVitePlugin/installCompiler.d.ts +8 -0
  217. package/dist/react/parse/addVitePlugin/installCompiler.js +22 -0
  218. package/dist/react/parse/addVitePlugin/updateViteConfig.d.ts +19 -0
  219. package/dist/react/parse/addVitePlugin/updateViteConfig.js +120 -0
  220. package/dist/react/parse/addVitePlugin/utils/addCompilerImport.d.ts +9 -0
  221. package/dist/react/parse/addVitePlugin/utils/addCompilerImport.js +34 -0
  222. package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.d.ts +11 -0
  223. package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.js +48 -0
  224. package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.d.ts +15 -0
  225. package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.js +113 -0
  226. package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.d.ts +12 -0
  227. package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.js +32 -0
  228. package/dist/react/parse/createDictionaryUpdates.d.ts +3 -0
  229. package/dist/react/parse/createDictionaryUpdates.js +187 -0
  230. package/dist/react/parse/createInlineUpdates.d.ts +13 -0
  231. package/dist/react/parse/createInlineUpdates.js +161 -0
  232. package/dist/react/parse/wrapContent.d.ts +12 -0
  233. package/dist/react/parse/wrapContent.js +162 -0
  234. package/dist/react/utils/flattenDictionary.d.ts +20 -0
  235. package/dist/react/utils/flattenDictionary.js +75 -0
  236. package/dist/react/utils/getEntryAndMetadata.d.ts +5 -0
  237. package/dist/react/utils/getEntryAndMetadata.js +11 -0
  238. package/dist/react/utils/getVariableName.d.ts +25 -0
  239. package/dist/react/utils/getVariableName.js +37 -0
  240. package/dist/setup/agentInstructions.d.ts +24 -0
  241. package/dist/setup/agentInstructions.js +138 -0
  242. package/dist/setup/detectFramework.d.ts +31 -0
  243. package/dist/setup/detectFramework.js +106 -0
  244. package/dist/setup/frameworkUtils.d.ts +3 -0
  245. package/dist/setup/frameworkUtils.js +30 -0
  246. package/dist/setup/instructions/base.md +29 -0
  247. package/dist/setup/instructions/gt-next.md +107 -0
  248. package/dist/setup/instructions/gt-react.md +98 -0
  249. package/dist/setup/userInput.d.ts +4 -0
  250. package/dist/setup/userInput.js +32 -0
  251. package/dist/setup/wizard.d.ts +3 -0
  252. package/dist/setup/wizard.js +147 -0
  253. package/dist/state/recentDownloads.d.ts +12 -0
  254. package/dist/state/recentDownloads.js +18 -0
  255. package/dist/state/translateWarnings.d.ts +10 -0
  256. package/dist/state/translateWarnings.js +13 -0
  257. package/dist/translation/parse.d.ts +17 -0
  258. package/dist/translation/parse.js +77 -0
  259. package/dist/translation/stage.d.ts +3 -0
  260. package/dist/translation/stage.js +44 -0
  261. package/dist/translation/validate.d.ts +14 -0
  262. package/dist/translation/validate.js +100 -0
  263. package/dist/types/branch.d.ts +14 -0
  264. package/dist/types/branch.js +1 -0
  265. package/dist/types/data/json.d.ts +6 -0
  266. package/dist/types/data/json.js +1 -0
  267. package/dist/types/data.d.ts +37 -0
  268. package/dist/types/data.js +1 -0
  269. package/dist/types/files.d.ts +8 -0
  270. package/dist/types/files.js +1 -0
  271. package/dist/types/index.d.ts +243 -0
  272. package/dist/types/index.js +1 -0
  273. package/dist/types/libraries.d.ts +31 -0
  274. package/dist/types/libraries.js +72 -0
  275. package/dist/types/parsing.d.ts +3 -0
  276. package/dist/types/parsing.js +1 -0
  277. package/dist/utils/addExplicitAnchorIds.d.ts +24 -0
  278. package/dist/utils/addExplicitAnchorIds.js +416 -0
  279. package/dist/utils/constants.d.ts +5 -0
  280. package/dist/utils/constants.js +6 -0
  281. package/dist/utils/credentials.d.ts +12 -0
  282. package/dist/utils/credentials.js +120 -0
  283. package/dist/utils/flattenJsonFiles.d.ts +2 -0
  284. package/dist/utils/flattenJsonFiles.js +36 -0
  285. package/dist/utils/gitDiff.d.ts +8 -0
  286. package/dist/utils/gitDiff.js +34 -0
  287. package/dist/utils/gt.d.ts +2 -0
  288. package/dist/utils/gt.js +2 -0
  289. package/dist/utils/hash.d.ts +6 -0
  290. package/dist/utils/hash.js +11 -0
  291. package/dist/utils/headers.d.ts +1 -0
  292. package/dist/utils/headers.js +14 -0
  293. package/dist/utils/installPackage.d.ts +3 -0
  294. package/dist/utils/installPackage.js +77 -0
  295. package/dist/utils/localizeRelativeAssets.d.ts +8 -0
  296. package/dist/utils/localizeRelativeAssets.js +166 -0
  297. package/dist/utils/localizeStaticImports.d.ts +15 -0
  298. package/dist/utils/localizeStaticImports.js +397 -0
  299. package/dist/utils/localizeStaticUrls.d.ts +19 -0
  300. package/dist/utils/localizeStaticUrls.js +450 -0
  301. package/dist/utils/mintlifyTitleFallback.d.ts +6 -0
  302. package/dist/utils/mintlifyTitleFallback.js +80 -0
  303. package/dist/utils/packageInfo.d.ts +3 -0
  304. package/dist/utils/packageInfo.js +17 -0
  305. package/dist/utils/packageJson.d.ts +6 -0
  306. package/dist/utils/packageJson.js +68 -0
  307. package/dist/utils/packageManager.d.ts +28 -0
  308. package/dist/utils/packageManager.js +269 -0
  309. package/dist/utils/parse/needsCJS.d.ts +20 -0
  310. package/dist/utils/parse/needsCJS.js +72 -0
  311. package/dist/utils/persistPostprocessHashes.d.ts +12 -0
  312. package/dist/utils/persistPostprocessHashes.js +39 -0
  313. package/dist/utils/processAnchorIds.d.ts +6 -0
  314. package/dist/utils/processAnchorIds.js +56 -0
  315. package/dist/utils/processOpenApi.d.ts +8 -0
  316. package/dist/utils/processOpenApi.js +651 -0
  317. package/dist/utils/sanitizeFileContent.d.ts +6 -0
  318. package/dist/utils/sanitizeFileContent.js +29 -0
  319. package/dist/utils/sharedStaticAssets.d.ts +9 -0
  320. package/dist/utils/sharedStaticAssets.js +384 -0
  321. package/dist/utils/validateMdx.d.ts +10 -0
  322. package/dist/utils/validateMdx.js +25 -0
  323. package/dist/utils/wrapPlainUrls.d.ts +8 -0
  324. package/dist/utils/wrapPlainUrls.js +72 -0
  325. package/dist/workflows/download.d.ts +32 -0
  326. package/dist/workflows/download.js +131 -0
  327. package/dist/workflows/enqueue.d.ts +17 -0
  328. package/dist/workflows/enqueue.js +59 -0
  329. package/dist/workflows/setupProject.d.ts +13 -0
  330. package/dist/workflows/setupProject.js +48 -0
  331. package/dist/workflows/stage.d.ts +18 -0
  332. package/dist/workflows/stage.js +59 -0
  333. package/dist/workflows/steps/BranchStep.d.ts +13 -0
  334. package/dist/workflows/steps/BranchStep.js +161 -0
  335. package/dist/workflows/steps/DownloadStep.d.ts +19 -0
  336. package/dist/workflows/steps/DownloadStep.js +131 -0
  337. package/dist/workflows/steps/EnqueueStep.d.ts +15 -0
  338. package/dist/workflows/steps/EnqueueStep.js +33 -0
  339. package/dist/workflows/steps/PollJobsStep.d.ts +31 -0
  340. package/dist/workflows/steps/PollJobsStep.js +288 -0
  341. package/dist/workflows/steps/SetupStep.d.ts +16 -0
  342. package/dist/workflows/steps/SetupStep.js +72 -0
  343. package/dist/workflows/steps/UploadSourcesStep.d.ts +27 -0
  344. package/dist/workflows/steps/UploadSourcesStep.js +131 -0
  345. package/dist/workflows/steps/UploadTranslationsStep.d.ts +22 -0
  346. package/dist/workflows/steps/UploadTranslationsStep.js +71 -0
  347. package/dist/workflows/steps/UserEditDiffsStep.d.ts +11 -0
  348. package/dist/workflows/steps/UserEditDiffsStep.js +30 -0
  349. package/dist/workflows/steps/WorkflowStep.d.ts +4 -0
  350. package/dist/workflows/steps/WorkflowStep.js +2 -0
  351. package/dist/workflows/upload.d.ts +15 -0
  352. package/dist/workflows/upload.js +47 -0
  353. package/package.json +149 -112
  354. package/.dont-break +0 -6
  355. package/.jshintrc +0 -76
  356. package/.npmignore +0 -9
  357. package/.travis.yml +0 -21
  358. package/Gruntfile.js +0 -65
  359. package/History.md +0 -90
  360. package/MIT-License.txt +0 -21
  361. package/bin/gt.js +0 -58
  362. package/complexity.json +0 -17
  363. package/doc/RequireJsExample.md +0 -10
  364. package/examples/all.js +0 -72
  365. package/examples/altAsserrionSyntax/tests.js +0 -32
  366. package/examples/amd/bar.js +0 -4
  367. package/examples/amd/foo.js +0 -15
  368. package/examples/amd/fooTests.js +0 -8
  369. package/examples/arrays/test.js +0 -15
  370. package/examples/assert/test-assert-object.js +0 -15
  371. package/examples/assert/test-assert-require.js +0 -17
  372. package/examples/async/asyncAll.js +0 -37
  373. package/examples/async/asyncSetup.js +0 -29
  374. package/examples/async/asyncSetupOnce.js +0 -25
  375. package/examples/async/asyncTeardown.js +0 -27
  376. package/examples/async/stopStart.js +0 -22
  377. package/examples/async/test.js +0 -43
  378. package/examples/async/timeoutTests.js +0 -19
  379. package/examples/basic/code.js +0 -50
  380. package/examples/basic/code2.js +0 -9
  381. package/examples/basic/default.js +0 -26
  382. package/examples/basic/definedUndefined.js +0 -28
  383. package/examples/basic/empty.js +0 -24
  384. package/examples/basic/exceptionTests.js +0 -55
  385. package/examples/basic/fullMessage.js +0 -28
  386. package/examples/basic/functions.js +0 -18
  387. package/examples/basic/incomplete.js +0 -16
  388. package/examples/basic/null.js +0 -17
  389. package/examples/basic/optional.js +0 -45
  390. package/examples/basic/tests.js +0 -147
  391. package/examples/bdd/spec.js +0 -67
  392. package/examples/browser/code_coverage_report.json +0 -1
  393. package/examples/browser/index.html +0 -50
  394. package/examples/browser/packages.js +0 -12
  395. package/examples/browser/packagesDefault.js +0 -12
  396. package/examples/browser/qunit/qunit-1.10.0.css +0 -235
  397. package/examples/browser/qunit/qunit-1.10.0.js +0 -1977
  398. package/examples/browser/runTestsWithCoverage.bat +0 -19
  399. package/examples/browser/runner.js +0 -178
  400. package/examples/browser/src/Foo.js +0 -14
  401. package/examples/browser/srcInstrumented/Foo.js +0 -6
  402. package/examples/browser/test/FooTest.js +0 -31
  403. package/examples/browser/testDojo.js +0 -63
  404. package/examples/browser/testInstrumented/FooTest.js +0 -6
  405. package/examples/coffee/coffeeTestsCoffee/foo.coffee +0 -4
  406. package/examples/coffee/coffeeTestsCoffee/tests.coffee +0 -7
  407. package/examples/coffee/coffeeTestsJs/foo.js +0 -9
  408. package/examples/coffee/coffeeTestsJs/tests.coffee +0 -9
  409. package/examples/coffee/jsTestsCoffee/foo.coffee +0 -4
  410. package/examples/coffee/jsTestsCoffee/tests.js +0 -8
  411. package/examples/coverage.png +0 -0
  412. package/examples/crash/foo.js +0 -8
  413. package/examples/crashOnLoading/foo.js +0 -3
  414. package/examples/crashStackSize/foo.js +0 -8
  415. package/examples/crashStackSize/test.js +0 -7
  416. package/examples/doh/foo.js +0 -15
  417. package/examples/doh/fooTests.js +0 -28
  418. package/examples/dohDefine/foo.js +0 -14
  419. package/examples/dohDefine/fooTests.js +0 -24
  420. package/examples/dojo/src/Foo.js +0 -12
  421. package/examples/dojo/test/FooTest.js +0 -9
  422. package/examples/dojo/testDojo.js +0 -69
  423. package/examples/equiv/equiv.js +0 -22
  424. package/examples/example.png +0 -0
  425. package/examples/exec/foo.js +0 -5
  426. package/examples/exec/tests.js +0 -50
  427. package/examples/expect/test.js +0 -53
  428. package/examples/extend/extend-through-api.js +0 -40
  429. package/examples/extend/test.js +0 -18
  430. package/examples/faster/fibonacci.js +0 -18
  431. package/examples/faster/test.js +0 -89
  432. package/examples/fluent/foo.js +0 -38
  433. package/examples/funcAndArity/test.js +0 -15
  434. package/examples/gtAndQUnit/gtTests.js +0 -6
  435. package/examples/gtAndQUnit/qunitTests.js +0 -5
  436. package/examples/jsUnity/foo.js +0 -10
  437. package/examples/jsUnity/fooTests.js +0 -19
  438. package/examples/lodash/totalLength.js +0 -19
  439. package/examples/longStrings/test.js +0 -27
  440. package/examples/moduleSetupTeardown/test.js +0 -115
  441. package/examples/namedTest/foo.js +0 -9
  442. package/examples/overrideGt/test.js +0 -11
  443. package/examples/quickFail/test.js +0 -22
  444. package/examples/qunit/foo.js +0 -13
  445. package/examples/reporting/tests.coffee +0 -9
  446. package/examples/requirejs/lib/Foo.js +0 -11
  447. package/examples/requirejs/lib/Rectangle.js +0 -13
  448. package/examples/requirejs/runTests.js +0 -5
  449. package/examples/requirejs/test/RectangleTest.js +0 -22
  450. package/examples/silent/foo.js +0 -7
  451. package/examples/silent/fooTest.js +0 -18
  452. package/examples/skipTest/tests.js +0 -15
  453. package/examples/testsFromOtherTests/parentTests.js +0 -7
  454. package/examples/testsFromOtherTests/tests.js +0 -5
  455. package/examples/throws/test.js +0 -17
  456. package/examples/use-gt-as-module/fooTest.js +0 -8
  457. package/examples/use-gt-as-module/test-code.js +0 -7
  458. package/gt.js +0 -11
  459. package/lib/coverage.js +0 -234
  460. package/src/JUnitReporter.js +0 -30
  461. package/src/QUnitBrowserAdapter.js +0 -15
  462. package/src/Reporter.js +0 -127
  463. package/src/TestRunInfo.js +0 -25
  464. package/src/TestRunner.js +0 -223
  465. package/src/UnitTest/CollectionMethods.js +0 -97
  466. package/src/UnitTest/ModuleTests.js +0 -104
  467. package/src/UnitTest/Test.js +0 -85
  468. package/src/UnitTest/TestAsync.js +0 -78
  469. package/src/UnitTest/TestBaseInfo.js +0 -21
  470. package/src/UnitTest/TestCollection.js +0 -206
  471. package/src/UnitTest/TestInfo.js +0 -30
  472. package/src/UnitTest/TestReport.js +0 -27
  473. package/src/assertions/PrimaryAssertions.js +0 -163
  474. package/src/assertions/SecondaryAssertions.js +0 -262
  475. package/src/assertions/TertiaryAssertions.js +0 -99
  476. package/src/bddInterface.js +0 -39
  477. package/src/covered.js +0 -156
  478. package/src/dohAdapter.js +0 -79
  479. package/src/dohInterface.js +0 -20
  480. package/src/equiv.js +0 -11
  481. package/src/jsunityAdapter.js +0 -66
  482. package/src/jsunityInterface.js +0 -13
  483. package/src/options.js +0 -116
  484. package/src/shiv.js +0 -16
  485. package/src/sure.js +0 -226
  486. package/src/test/ConsoleHider.js +0 -26
  487. package/src/test/JUnitReporter.js +0 -12
  488. package/src/test/ModuleTests.js +0 -37
  489. package/src/test/Test.js +0 -18
  490. package/src/test/TestCollection.js +0 -21
  491. package/src/test/TestRunInfo.js +0 -15
  492. package/src/test/TestRunner.js +0 -9
  493. package/src/test/utils.js +0 -43
  494. package/src/utils/ConsoleHider.js +0 -27
  495. package/src/utils/WatchFiles.js +0 -13
  496. package/src/utils/discoverFiles.js +0 -18
  497. package/src/utils/joinArguments.js +0 -13
  498. package/src/utils/not.js +0 -14
  499. package/src/utils/pluckFunction.js +0 -15
  500. package/src/utils/test/joinArgumentsTest.js +0 -24
  501. package/src/utils/test/not.js +0 -70
  502. package/src/utils/test/pluckFunctionLoDashTest.js +0 -51
  503. package/src/utils/test/pluckFunctionTest.js +0 -41
  504. package/src/utils/test/pluckObjects.js +0 -20
  505. package/src/utils/utils.js +0 -146
  506. package/tests/all.js +0 -24
  507. package/tests/large/bddTest.js +0 -9
  508. package/tests/large/expectedCrash.js +0 -3
  509. package/tests/large/expectedCrashTest.js +0 -9
  510. package/tests/large/filterCLI.js +0 -10
  511. package/tests/large/filterCLITest.js +0 -18
  512. package/tests/large/loadingCrash.js +0 -1
  513. package/tests/large/loadingCrashTest.js +0 -9
  514. package/tests/large/skip.js +0 -11
  515. package/tests/large/skipTest.js +0 -9
  516. package/tests/large/twoFailing.js +0 -9
  517. package/tests/large/twoFailingTest.js +0 -9
  518. package/tests/mocha/.npmignore +0 -1
  519. package/tests/mocha/basic.js +0 -12
  520. package/tests/mocha/gt-as-module.js +0 -65
  521. package/tests/mocha/test-collection.js +0 -67
  522. package/tests/small/errorInAsync.js +0 -6
  523. package/tests/small/errorInAsyncTest.js +0 -14
  524. package/tests/small/oneFails.js +0 -7
  525. package/tests/small/oneFailsTest.js +0 -18
  526. package/tests/small/pluckObjects.js +0 -20
  527. package/tests/small/pluckTest.js +0 -51
  528. package/tests/small/setupException.js +0 -8
  529. package/tests/small/setupExceptionTest.js +0 -9
  530. package/tests/small/teardownException.js +0 -8
  531. package/tests/small/teardownExceptionTest.js +0 -9
@@ -0,0 +1,269 @@
1
+ // This file is MIT licensed and was adapted from https://github.com/getsentry/sentry-wizard/blob/master/src/utils/package-manager.ts and https://github.com/getsentry/sentry-wizard/blob/master/src/utils/clack/index.ts
2
+ import * as fs from 'fs';
3
+ import * as path from 'path';
4
+ import { getPackageJson, updatePackageJson } from './packageJson.js';
5
+ import { promptSelect } from '../console/logging.js';
6
+ export class NoPackageManagerError extends Error {
7
+ constructor(message) {
8
+ super(message);
9
+ this.name = 'NoPackageManagerError';
10
+ }
11
+ }
12
+ export const BUN = {
13
+ id: 'bun',
14
+ name: 'bun',
15
+ label: 'Bun',
16
+ installCommand: 'add',
17
+ installAllCommand: 'bun install',
18
+ buildCommand: 'bun run build',
19
+ runScriptCommand: 'bun run',
20
+ flags: '',
21
+ forceInstallFlag: '--force',
22
+ devDependencyFlag: '--dev',
23
+ detect: (cwd) => ['bun.lockb', 'bun.lock'].some((lockFile) => {
24
+ try {
25
+ return fs.existsSync(path.join(cwd, lockFile));
26
+ }
27
+ catch (e) {
28
+ return false;
29
+ }
30
+ }),
31
+ addOverride: async (pkgName, pkgVersion) => {
32
+ const packageDotJson = await getPackageJson();
33
+ if (!packageDotJson) {
34
+ return;
35
+ }
36
+ const overrides = packageDotJson.overrides || {};
37
+ await updatePackageJson({
38
+ ...packageDotJson,
39
+ overrides: {
40
+ ...overrides,
41
+ [pkgName]: pkgVersion,
42
+ },
43
+ });
44
+ },
45
+ };
46
+ export const DENO = {
47
+ id: 'deno',
48
+ name: 'deno',
49
+ label: 'Deno',
50
+ installCommand: 'install',
51
+ installAllCommand: 'deno install',
52
+ buildCommand: 'deno task build',
53
+ runScriptCommand: 'deno task',
54
+ flags: '',
55
+ forceInstallFlag: '--force',
56
+ devDependencyFlag: '--dev',
57
+ registry: 'npm',
58
+ detect: (cwd) => {
59
+ try {
60
+ return fs.existsSync(path.join(cwd, 'deno.lock'));
61
+ }
62
+ catch (e) {
63
+ return false;
64
+ }
65
+ },
66
+ addOverride: async (pkgName, pkgVersion) => {
67
+ const packageDotJson = await getPackageJson();
68
+ if (!packageDotJson) {
69
+ return;
70
+ }
71
+ const overrides = packageDotJson.overrides || {};
72
+ await updatePackageJson({
73
+ ...packageDotJson,
74
+ overrides: {
75
+ ...overrides,
76
+ [pkgName]: pkgVersion,
77
+ },
78
+ });
79
+ },
80
+ };
81
+ export const YARN_V1 = {
82
+ id: 'yarn_v1',
83
+ name: 'yarn',
84
+ label: 'Yarn V1',
85
+ installCommand: 'add',
86
+ installAllCommand: 'yarn install',
87
+ buildCommand: 'yarn build',
88
+ runScriptCommand: 'yarn',
89
+ flags: '--ignore-workspace-root-check',
90
+ forceInstallFlag: '--force',
91
+ devDependencyFlag: '--dev',
92
+ detect: (cwd) => {
93
+ try {
94
+ return fs
95
+ .readFileSync(path.join(cwd, 'yarn.lock'), 'utf-8')
96
+ .slice(0, 500)
97
+ .includes('yarn lockfile v1');
98
+ }
99
+ catch (e) {
100
+ return false;
101
+ }
102
+ },
103
+ addOverride: async (pkgName, pkgVersion) => {
104
+ const packageDotJson = await getPackageJson();
105
+ if (!packageDotJson) {
106
+ return;
107
+ }
108
+ const resolutions = packageDotJson.resolutions || {};
109
+ await updatePackageJson({
110
+ ...packageDotJson,
111
+ resolutions: {
112
+ ...resolutions,
113
+ [pkgName]: pkgVersion,
114
+ },
115
+ });
116
+ },
117
+ };
118
+ /** YARN V2/3/4 */
119
+ export const YARN_V2 = {
120
+ id: 'yarn_v2',
121
+ name: 'yarn',
122
+ label: 'Yarn V2/3/4',
123
+ installCommand: 'add',
124
+ installAllCommand: 'yarn install',
125
+ buildCommand: 'yarn build',
126
+ runScriptCommand: 'yarn',
127
+ flags: '',
128
+ forceInstallFlag: '--force',
129
+ devDependencyFlag: '--dev',
130
+ detect: (cwd) => {
131
+ try {
132
+ return fs
133
+ .readFileSync(path.join(cwd, 'yarn.lock'), 'utf-8')
134
+ .slice(0, 500)
135
+ .includes('__metadata');
136
+ }
137
+ catch (e) {
138
+ return false;
139
+ }
140
+ },
141
+ addOverride: async (pkgName, pkgVersion) => {
142
+ const packageDotJson = await getPackageJson();
143
+ if (!packageDotJson) {
144
+ return;
145
+ }
146
+ const resolutions = packageDotJson.resolutions || {};
147
+ await updatePackageJson({
148
+ ...packageDotJson,
149
+ resolutions: {
150
+ ...resolutions,
151
+ [pkgName]: pkgVersion,
152
+ },
153
+ });
154
+ },
155
+ };
156
+ export const PNPM = {
157
+ id: 'pnpm',
158
+ name: 'pnpm',
159
+ label: 'PNPM',
160
+ installCommand: 'add',
161
+ installAllCommand: 'pnpm install',
162
+ buildCommand: 'pnpm build',
163
+ runScriptCommand: 'pnpm',
164
+ flags: '--ignore-workspace-root-check',
165
+ forceInstallFlag: '--force',
166
+ devDependencyFlag: '--save-dev',
167
+ detect: (cwd) => {
168
+ try {
169
+ return fs.existsSync(path.join(cwd, 'pnpm-lock.yaml'));
170
+ }
171
+ catch (e) {
172
+ return false;
173
+ }
174
+ },
175
+ addOverride: async (pkgName, pkgVersion) => {
176
+ const packageDotJson = await getPackageJson();
177
+ if (!packageDotJson) {
178
+ return;
179
+ }
180
+ const pnpm = packageDotJson.pnpm || {};
181
+ const overrides = pnpm.overrides || {};
182
+ await updatePackageJson({
183
+ ...packageDotJson,
184
+ pnpm: {
185
+ ...pnpm,
186
+ overrides: {
187
+ ...overrides,
188
+ [pkgName]: pkgVersion,
189
+ },
190
+ },
191
+ });
192
+ },
193
+ };
194
+ export const NPM = {
195
+ id: 'npm',
196
+ name: 'npm',
197
+ label: 'NPM',
198
+ installCommand: 'install',
199
+ installAllCommand: 'npm ci',
200
+ buildCommand: 'npm run build',
201
+ runScriptCommand: 'npm run',
202
+ flags: '',
203
+ forceInstallFlag: '--force',
204
+ devDependencyFlag: '--save-dev',
205
+ detect: (cwd) => {
206
+ try {
207
+ return fs.existsSync(path.join(cwd, 'package-lock.json'));
208
+ }
209
+ catch (e) {
210
+ return false;
211
+ }
212
+ },
213
+ addOverride: async (pkgName, pkgVersion) => {
214
+ const packageDotJson = await getPackageJson();
215
+ if (!packageDotJson) {
216
+ return;
217
+ }
218
+ const overrides = packageDotJson.overrides || {};
219
+ await updatePackageJson({
220
+ ...packageDotJson,
221
+ overrides: {
222
+ ...overrides,
223
+ [pkgName]: pkgVersion,
224
+ },
225
+ });
226
+ },
227
+ };
228
+ export const packageManagers = [NPM, YARN_V1, YARN_V2, PNPM, BUN, DENO];
229
+ export function _detectPackageManger(cwd) {
230
+ const foundPackageMangers = packageManagers.filter((packageManager) => packageManager.detect(cwd));
231
+ // Only consider a package manager detected if we found exactly one.
232
+ // If we find more than one, we should not make any assumptions.
233
+ if (foundPackageMangers.length === 1) {
234
+ return foundPackageMangers[0];
235
+ }
236
+ return null;
237
+ }
238
+ // Get the package manager for the current project
239
+ // Uses a global cache to avoid prompting the user multiple times
240
+ export async function getPackageManager(cwd = process.cwd(), specifiedPackageManager, errorIfNotFound = false) {
241
+ const globalWizard = global;
242
+ if (globalWizard._gt_wizard_cached_package_manager) {
243
+ return globalWizard._gt_wizard_cached_package_manager;
244
+ }
245
+ if (specifiedPackageManager) {
246
+ const packageManager = packageManagers.find((packageManager) => packageManager.id === specifiedPackageManager);
247
+ if (packageManager) {
248
+ globalWizard._gt_wizard_cached_package_manager = packageManager;
249
+ return packageManager;
250
+ }
251
+ }
252
+ const detectedPackageManager = _detectPackageManger(cwd);
253
+ if (detectedPackageManager) {
254
+ globalWizard._gt_wizard_cached_package_manager = detectedPackageManager;
255
+ return detectedPackageManager;
256
+ }
257
+ if (errorIfNotFound) {
258
+ throw new NoPackageManagerError('No package manager found');
259
+ }
260
+ const selectedPackageManager = await promptSelect({
261
+ message: 'Please select your package manager.',
262
+ options: packageManagers.map((packageManager) => ({
263
+ value: packageManager,
264
+ label: packageManager.label,
265
+ })),
266
+ });
267
+ globalWizard._gt_wizard_cached_package_manager = selectedPackageManager;
268
+ return selectedPackageManager;
269
+ }
@@ -0,0 +1,20 @@
1
+ import { ParseResult } from '@babel/parser';
2
+ import * as t from '@babel/types';
3
+ /**
4
+ * Given an AST determines if the file needs to be compiled as CommonJS or ESM.
5
+ * @param ast - The AST to analyze
6
+ * @returns True if the file needs to be compiled as CommonJS, false if it needs to be compiled as ESM
7
+ */
8
+ export declare function needsCJS({ ast, warnings, filepath, packageJson, tsconfigJson, }: {
9
+ ast: ParseResult<t.File>;
10
+ warnings: string[];
11
+ filepath: string;
12
+ packageJson?: {
13
+ type?: string;
14
+ };
15
+ tsconfigJson?: {
16
+ compilerOptions?: {
17
+ module?: string;
18
+ };
19
+ };
20
+ }): boolean;
@@ -0,0 +1,72 @@
1
+ import traverseModule from '@babel/traverse';
2
+ import * as t from '@babel/types';
3
+ // Handle CommonJS/ESM interop
4
+ const traverse = traverseModule.default || traverseModule;
5
+ /**
6
+ * Given an AST determines if the file needs to be compiled as CommonJS or ESM.
7
+ * @param ast - The AST to analyze
8
+ * @returns True if the file needs to be compiled as CommonJS, false if it needs to be compiled as ESM
9
+ */
10
+ export function needsCJS({ ast, warnings, filepath, packageJson, tsconfigJson, }) {
11
+ // Analyze the actual file content to determine module system
12
+ let hasES6Imports = false;
13
+ let hasCommonJSRequire = false;
14
+ traverse(ast, {
15
+ ImportDeclaration() {
16
+ hasES6Imports = true;
17
+ },
18
+ CallExpression(path) {
19
+ if (t.isIdentifier(path.node.callee, { name: 'require' })) {
20
+ hasCommonJSRequire = true;
21
+ }
22
+ },
23
+ });
24
+ // Determine if we need CommonJS based on actual file content and fallback to config-based logic
25
+ let needsCJS = false;
26
+ if (hasES6Imports && !hasCommonJSRequire) {
27
+ // File uses ES6 imports, so we should use ES6 imports
28
+ needsCJS = false;
29
+ }
30
+ else if (hasCommonJSRequire && !hasES6Imports) {
31
+ // File uses CommonJS require, so we should use CommonJS require
32
+ needsCJS = true;
33
+ }
34
+ else if (hasES6Imports && hasCommonJSRequire) {
35
+ // Mixed usage - this is unusual but we'll default to ES6 imports
36
+ warnings.push(`Mixed ES6 imports and CommonJS require detected in ${filepath}. Defaulting to ES6 imports.`);
37
+ needsCJS = false;
38
+ }
39
+ else {
40
+ // No imports/requires found, fall back to configuration-based logic
41
+ if (filepath.endsWith('.ts') || filepath.endsWith('.tsx')) {
42
+ // For TypeScript files, check tsconfig.json compilerOptions.module
43
+ const moduleSetting = tsconfigJson?.compilerOptions?.module;
44
+ if (moduleSetting === 'commonjs' || moduleSetting === 'node') {
45
+ needsCJS = true;
46
+ }
47
+ else if (moduleSetting === 'esnext' ||
48
+ moduleSetting === 'es2022' ||
49
+ moduleSetting === 'es2020' ||
50
+ moduleSetting === 'es2015' ||
51
+ moduleSetting === 'es6' ||
52
+ moduleSetting === 'node16' ||
53
+ moduleSetting === 'nodenext') {
54
+ needsCJS = false;
55
+ }
56
+ else {
57
+ // Default to ESM for TypeScript files if no module setting is specified
58
+ needsCJS = false;
59
+ }
60
+ }
61
+ else if (filepath.endsWith('.js')) {
62
+ // For JavaScript files, check package.json type
63
+ // If package.json has "type": "module", .js files are treated as ES modules
64
+ needsCJS = packageJson?.type !== 'module';
65
+ }
66
+ else {
67
+ // For other file extensions, default to ESM
68
+ needsCJS = false;
69
+ }
70
+ }
71
+ return needsCJS;
72
+ }
@@ -0,0 +1,12 @@
1
+ import type { Settings } from '../types/index.js';
2
+ type DownloadMeta = {
3
+ branchId: string;
4
+ fileId: string;
5
+ versionId: string;
6
+ locale: string;
7
+ };
8
+ /**
9
+ * Persist postprocessed content hashes for recently downloaded files into gt-lock.json.
10
+ */
11
+ export declare function persistPostProcessHashes(settings: Settings, includeFiles: Set<string> | undefined, downloadedMeta: Map<string, DownloadMeta>): void;
12
+ export {};
@@ -0,0 +1,39 @@
1
+ import * as fs from 'node:fs';
2
+ import { ensureNestedObject, getDownloadedVersions, saveDownloadedVersions, } from '../fs/config/downloadedVersions.js';
3
+ import { hashStringSync } from './hash.js';
4
+ /**
5
+ * Persist postprocessed content hashes for recently downloaded files into gt-lock.json.
6
+ */
7
+ export function persistPostProcessHashes(settings, includeFiles, downloadedMeta) {
8
+ if (!includeFiles || includeFiles.size === 0 || downloadedMeta.size === 0) {
9
+ return;
10
+ }
11
+ const downloadedVersions = getDownloadedVersions(settings.configDirectory);
12
+ let lockUpdated = false;
13
+ for (const filePath of includeFiles) {
14
+ const meta = downloadedMeta.get(filePath);
15
+ if (!meta)
16
+ continue;
17
+ if (!fs.existsSync(filePath))
18
+ continue;
19
+ const content = fs.readFileSync(filePath, 'utf8');
20
+ const hash = hashStringSync(content);
21
+ ensureNestedObject(downloadedVersions.entries, [
22
+ meta.branchId,
23
+ meta.fileId,
24
+ meta.versionId,
25
+ meta.locale,
26
+ ]);
27
+ const existing = downloadedVersions.entries[meta.branchId][meta.fileId][meta.versionId][meta.locale] || {};
28
+ if (existing.postProcessHash !== hash) {
29
+ downloadedVersions.entries[meta.branchId][meta.fileId][meta.versionId][meta.locale] = {
30
+ ...existing,
31
+ postProcessHash: hash,
32
+ };
33
+ lockUpdated = true;
34
+ }
35
+ }
36
+ if (lockUpdated) {
37
+ saveDownloadedVersions(settings.configDirectory, downloadedVersions);
38
+ }
39
+ }
@@ -0,0 +1,6 @@
1
+ import { Settings } from '../types/index.js';
2
+ /**
3
+ * Processes all translated MD/MDX files to add explicit anchor IDs
4
+ * This preserves navigation links when headings are translated
5
+ */
6
+ export default function processAnchorIds(settings: Settings, includeFiles?: Set<string>): Promise<void>;
@@ -0,0 +1,56 @@
1
+ import { addExplicitAnchorIds, extractHeadingInfo, } from './addExplicitAnchorIds.js';
2
+ import { getRelative, readFile } from '../fs/findFilepath.js';
3
+ import { createFileMapping } from '../formats/files/fileMapping.js';
4
+ import * as fs from 'fs';
5
+ /**
6
+ * Processes all translated MD/MDX files to add explicit anchor IDs
7
+ * This preserves navigation links when headings are translated
8
+ */
9
+ export default async function processAnchorIds(settings, includeFiles) {
10
+ if (!settings.files)
11
+ return;
12
+ const { resolvedPaths, placeholderPaths, transformPaths } = settings.files;
13
+ const fileMapping = createFileMapping(resolvedPaths, placeholderPaths, transformPaths, settings.locales, settings.defaultLocale);
14
+ const sourceTypeByPath = new Map();
15
+ if (resolvedPaths.md) {
16
+ for (const filePath of resolvedPaths.md) {
17
+ sourceTypeByPath.set(getRelative(filePath), 'md');
18
+ }
19
+ }
20
+ if (resolvedPaths.mdx) {
21
+ for (const filePath of resolvedPaths.mdx) {
22
+ sourceTypeByPath.set(getRelative(filePath), 'mdx');
23
+ }
24
+ }
25
+ // Process each locale's translated files
26
+ const processPromises = Object.entries(fileMapping)
27
+ .filter(([locale, filesMap]) => locale !== settings.defaultLocale) // Skip default locale
28
+ .map(async ([locale, filesMap]) => {
29
+ // Get all translated files whose sources are md or mdx
30
+ const mdFiles = Object.entries(filesMap).filter(([sourcePath, translatedPath]) => translatedPath &&
31
+ sourceTypeByPath.has(sourcePath) &&
32
+ (!includeFiles || includeFiles.has(translatedPath)));
33
+ for (const [sourcePath, translatedPath] of mdFiles) {
34
+ try {
35
+ // Check if translated file exists before processing
36
+ if (!fs.existsSync(translatedPath)) {
37
+ continue;
38
+ }
39
+ // Extract heading info from source file
40
+ const sourceContent = readFile(sourcePath);
41
+ const sourceHeadingMap = extractHeadingInfo(sourceContent);
42
+ const fileTypeHint = sourceTypeByPath.get(sourcePath);
43
+ // Read translated file and apply anchor IDs
44
+ const translatedContent = readFile(translatedPath);
45
+ const result = addExplicitAnchorIds(translatedContent, sourceHeadingMap, settings, sourcePath, translatedPath, fileTypeHint);
46
+ if (result.hasChanges) {
47
+ fs.writeFileSync(translatedPath, result.content, 'utf8');
48
+ }
49
+ }
50
+ catch (error) {
51
+ console.warn(`Failed to process IDs for ${translatedPath}: ${error instanceof Error ? error.message : String(error)}`);
52
+ }
53
+ }
54
+ });
55
+ await Promise.all(processPromises);
56
+ }
@@ -0,0 +1,8 @@
1
+ import { Settings } from '../types/index.js';
2
+ /**
3
+ * Postprocess Mintlify OpenAPI references to point to locale-specific spec files.
4
+ * - Uses openapi.files (ordered) to resolve ambiguities (first match wins).
5
+ * - Relies on the user's json transform rules for locale paths.
6
+ * - Warns on missing/ambiguous references but keeps behavior deterministic.
7
+ */
8
+ export default function processOpenApi(settings: Settings, includeFiles?: Set<string>): Promise<void>;