@shriyanss/js-recon 1.2.2 → 1.3.1-alpha.2

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 (152) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/build/analyze/engine/astEngine.js +65 -31
  3. package/build/analyze/engine/astEngine.js.map +1 -1
  4. package/build/analyze/helpers/engineHelpers/findMemberExpressionAssignment.js.map +1 -1
  5. package/build/analyze/helpers/engineHelpers/taintFlow.js +218 -0
  6. package/build/analyze/helpers/engineHelpers/taintFlow.js.map +1 -0
  7. package/build/analyze/helpers/schemas.js +2 -0
  8. package/build/analyze/helpers/schemas.js.map +1 -1
  9. package/build/endpoints/next_js/client_jsFilesHref.js +4 -2
  10. package/build/endpoints/next_js/client_jsFilesHref.js.map +1 -1
  11. package/build/endpoints/next_js/client_mappedJsonFile.js.map +1 -1
  12. package/build/endpoints/next_js/client_subsequentRequests.js +12 -4
  13. package/build/endpoints/next_js/client_subsequentRequests.js.map +1 -1
  14. package/build/globalConfig.js +1 -1
  15. package/build/globalConfig.js.map +1 -1
  16. package/build/index.js +16 -2
  17. package/build/index.js.map +1 -1
  18. package/build/lazyLoad/downloadFilesUtil.js +74 -80
  19. package/build/lazyLoad/downloadFilesUtil.js.map +1 -1
  20. package/build/lazyLoad/downloadLoadedJsUtil.js +1 -1
  21. package/build/lazyLoad/downloadLoadedJsUtil.js.map +1 -1
  22. package/build/lazyLoad/downloadQueue.js +186 -0
  23. package/build/lazyLoad/downloadQueue.js.map +1 -0
  24. package/build/lazyLoad/index.js +76 -89
  25. package/build/lazyLoad/index.js.map +1 -1
  26. package/build/lazyLoad/next_js/NextJsCrawler.js +109 -32
  27. package/build/lazyLoad/next_js/NextJsCrawler.js.map +1 -1
  28. package/build/lazyLoad/next_js/next_GetJSScript.js +20 -3
  29. package/build/lazyLoad/next_js/next_GetJSScript.js.map +1 -1
  30. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js +1 -1
  31. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js.map +1 -1
  32. package/build/lazyLoad/next_js/next_SubsequentRequests.js +24 -4
  33. package/build/lazyLoad/next_js/next_SubsequentRequests.js.map +1 -1
  34. package/build/lazyLoad/next_js/next_bruteForceJsFiles.js +8 -3
  35. package/build/lazyLoad/next_js/next_bruteForceJsFiles.js.map +1 -1
  36. package/build/lazyLoad/next_js/next_getClientSidePaths.js +83 -0
  37. package/build/lazyLoad/next_js/next_getClientSidePaths.js.map +1 -0
  38. package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js +10 -1
  39. package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js.map +1 -1
  40. package/build/lazyLoad/nuxt_js/nuxt_astParse.js.map +1 -1
  41. package/build/lazyLoad/react/react_getScriptTags.js +29 -0
  42. package/build/lazyLoad/react/react_getScriptTags.js.map +1 -0
  43. package/build/lazyLoad/react/react_sourcemapUrls.js +44 -0
  44. package/build/lazyLoad/react/react_sourcemapUrls.js.map +1 -0
  45. package/build/lazyLoad/react/react_webpackChunkPaths.js +188 -0
  46. package/build/lazyLoad/react/react_webpackChunkPaths.js.map +1 -0
  47. package/build/lazyLoad/techDetect/checkAngularJS.js +70 -0
  48. package/build/lazyLoad/techDetect/checkAngularJS.js.map +1 -0
  49. package/build/lazyLoad/techDetect/checkNextJS.js +45 -0
  50. package/build/lazyLoad/techDetect/checkNextJS.js.map +1 -0
  51. package/build/lazyLoad/techDetect/checkNuxtJS.js +39 -0
  52. package/build/lazyLoad/techDetect/checkNuxtJS.js.map +1 -0
  53. package/build/lazyLoad/techDetect/checkReact.js +55 -0
  54. package/build/lazyLoad/techDetect/checkReact.js.map +1 -0
  55. package/build/lazyLoad/techDetect/checkSvelte.js +69 -0
  56. package/build/lazyLoad/techDetect/checkSvelte.js.map +1 -0
  57. package/build/lazyLoad/techDetect/checkVueJS.js +118 -0
  58. package/build/lazyLoad/techDetect/checkVueJS.js.map +1 -0
  59. package/build/lazyLoad/techDetect/index.js +29 -258
  60. package/build/lazyLoad/techDetect/index.js.map +1 -1
  61. package/build/lazyLoad/vue/vue_RuntimeJs.js +122 -54
  62. package/build/lazyLoad/vue/vue_RuntimeJs.js.map +1 -1
  63. package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js +4 -0
  64. package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js.map +1 -1
  65. package/build/lazyLoad/vue/vue_discoverJsFiles.js +82 -0
  66. package/build/lazyLoad/vue/vue_discoverJsFiles.js.map +1 -0
  67. package/build/lazyLoad/vue/vue_getClientSidePaths.js +149 -0
  68. package/build/lazyLoad/vue/vue_getClientSidePaths.js.map +1 -0
  69. package/build/lazyLoad/vue/vue_jsImports.js +40 -34
  70. package/build/lazyLoad/vue/vue_jsImports.js.map +1 -1
  71. package/build/lazyLoad/vue/vue_pageSrc.js +60 -0
  72. package/build/lazyLoad/vue/vue_pageSrc.js.map +1 -0
  73. package/build/lazyLoad/vue/vue_reconstructSourceMaps.js +8 -0
  74. package/build/lazyLoad/vue/vue_reconstructSourceMaps.js.map +1 -1
  75. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js +136 -0
  76. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js.map +1 -0
  77. package/build/lazyLoad/vue/vue_severalJsFilesHome.js +5 -0
  78. package/build/lazyLoad/vue/vue_severalJsFilesHome.js.map +1 -1
  79. package/build/lazyLoad/vue/vue_stringJsFiles.js +142 -0
  80. package/build/lazyLoad/vue/vue_stringJsFiles.js.map +1 -0
  81. package/build/lazyLoad/vue/vue_viteMapDeps.js +89 -0
  82. package/build/lazyLoad/vue/vue_viteMapDeps.js.map +1 -0
  83. package/build/map/index.js +50 -0
  84. package/build/map/index.js.map +1 -1
  85. package/build/map/next_js/getExports.js +14 -6
  86. package/build/map/next_js/getExports.js.map +1 -1
  87. package/build/map/next_js/getFetchInstances.js +11 -5
  88. package/build/map/next_js/getFetchInstances.js.map +1 -1
  89. package/build/map/next_js/getTurbopackConnections.js +255 -0
  90. package/build/map/next_js/getTurbopackConnections.js.map +1 -0
  91. package/build/map/next_js/getWebpackConnections.js +3 -4
  92. package/build/map/next_js/getWebpackConnections.js.map +1 -1
  93. package/build/map/next_js/resolveAxios.js +24 -5
  94. package/build/map/next_js/resolveAxios.js.map +1 -1
  95. package/build/map/next_js/resolveAxiosHelpers/astNodeToJsonString.js +2 -2
  96. package/build/map/next_js/resolveAxiosHelpers/astNodeToJsonString.js.map +1 -1
  97. package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js +25 -15
  98. package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js.map +1 -1
  99. package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js.map +1 -1
  100. package/build/map/next_js/resolveAxiosHelpers/interceptorHeaders.js +206 -0
  101. package/build/map/next_js/resolveAxiosHelpers/interceptorHeaders.js.map +1 -0
  102. package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js +25 -8
  103. package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js.map +1 -1
  104. package/build/map/next_js/resolveAxiosHelpers/processDirectAxiosCall.js +14 -6
  105. package/build/map/next_js/resolveAxiosHelpers/processDirectAxiosCall.js.map +1 -1
  106. package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js +22 -10
  107. package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js.map +1 -1
  108. package/build/map/next_js/resolveAxiosHelpers/traceBody.js +913 -0
  109. package/build/map/next_js/resolveAxiosHelpers/traceBody.js.map +1 -0
  110. package/build/map/next_js/resolveFetch.js +117 -4
  111. package/build/map/next_js/resolveFetch.js.map +1 -1
  112. package/build/map/next_js/resolveNewRequest.js +749 -0
  113. package/build/map/next_js/resolveNewRequest.js.map +1 -0
  114. package/build/map/next_js/utils.js +311 -49
  115. package/build/map/next_js/utils.js.map +1 -1
  116. package/build/map/vue_js/getViteConnections.js +293 -0
  117. package/build/map/vue_js/getViteConnections.js.map +1 -0
  118. package/build/map/vue_js/interactive.js +39 -0
  119. package/build/map/vue_js/interactive.js.map +1 -0
  120. package/build/map/vue_js/interactive_helpers/commandHandler.js +285 -0
  121. package/build/map/vue_js/interactive_helpers/commandHandler.js.map +1 -0
  122. package/build/map/vue_js/interactive_helpers/commandHelpers.js +39 -0
  123. package/build/map/vue_js/interactive_helpers/commandHelpers.js.map +1 -0
  124. package/build/map/vue_js/interactive_helpers/helpMenu.js +11 -0
  125. package/build/map/vue_js/interactive_helpers/helpMenu.js.map +1 -0
  126. package/build/map/vue_js/vue_resolveFetch.js +155 -0
  127. package/build/map/vue_js/vue_resolveFetch.js.map +1 -0
  128. package/build/mcp/cli.js +381 -0
  129. package/build/mcp/cli.js.map +1 -0
  130. package/build/mcp/commands.js +147 -0
  131. package/build/mcp/commands.js.map +1 -0
  132. package/build/mcp/config.js +68 -0
  133. package/build/mcp/config.js.map +1 -0
  134. package/build/mcp/index.js +29 -0
  135. package/build/mcp/index.js.map +1 -0
  136. package/build/mcp/providers.js +153 -0
  137. package/build/mcp/providers.js.map +1 -0
  138. package/build/mcp/tools.js +185 -0
  139. package/build/mcp/tools.js.map +1 -0
  140. package/build/run/index.js +40 -16
  141. package/build/run/index.js.map +1 -1
  142. package/build/strings/index.js +5 -1
  143. package/build/strings/index.js.map +1 -1
  144. package/build/utility/makeReq.js +90 -63
  145. package/build/utility/makeReq.js.map +1 -1
  146. package/build/utility/openapiGenerator.js +46 -2
  147. package/build/utility/openapiGenerator.js.map +1 -1
  148. package/build/utility/postmanGenerator.js +163 -0
  149. package/build/utility/postmanGenerator.js.map +1 -0
  150. package/build/utility/puppeteerInstance.js +5 -0
  151. package/build/utility/puppeteerInstance.js.map +1 -0
  152. package/package.json +11 -4
@@ -19,67 +19,14 @@ var __rest = (this && this.__rest) || function (s, e) {
19
19
  return t;
20
20
  };
21
21
  import chalk from "chalk";
22
- import puppeteer from "puppeteer";
22
+ import puppeteer from "./puppeteerInstance.js";
23
23
  import * as globals from "./globals.js";
24
24
  import { get } from "../api_gateway/genReq.js";
25
25
  import fs from "fs";
26
26
  import { EventEmitter } from "events";
27
27
  // random user agents
28
28
  const UAs = [
29
- "Chrome/Windows: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
30
- "Chrome/Windows: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
31
- "Chrome/Windows: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
32
- "Chrome/macOS: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
33
- "Chrome/Linux: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
34
- "Chrome/iPhone: Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/87.0.4280.77 Mobile/15E148 Safari/604.1",
35
- "Chrome/iPhone (request desktop): Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/87 Version/11.1.1 Safari/605.1.15",
36
- "Chrome/iPad: Mozilla/5.0 (iPad; CPU OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/87.0.4280.77 Mobile/15E148 Safari/604.1",
37
- "Chrome/iPod: Mozilla/5.0 (iPod; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/87.0.4280.77 Mobile/15E148 Safari/604.1",
38
- "Chrome/Android: Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 Mobile Safari/537.36",
39
- "Chrome/Android: Mozilla/5.0 (Linux; Android 10; SM-A205U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 Mobile Safari/537.36",
40
- "Chrome/Android: Mozilla/5.0 (Linux; Android 10; LM-Q720) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 Mobile Safari/537.36",
41
- "Firefox/Windows: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0",
42
- "Firefox/macOS: Mozilla/5.0 (Macintosh; Intel Mac OS X 11.1; rv:84.0) Gecko/20100101 Firefox/84.0",
43
- "Firefox/Linux: Mozilla/5.0 (X11; Linux i686; rv:84.0) Gecko/20100101 Firefox/84.0",
44
- "Firefox/iPhone: Mozilla/5.0 (iPhone; CPU iPhone OS 11_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/30.0 Mobile/15E148 Safari/605.1.15",
45
- "Firefox/iPad: Mozilla/5.0 (iPad; CPU OS 11_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/30.0 Mobile/15E148 Safari/605.1.15",
46
- "Firefox/Android: Mozilla/5.0 (Android 11; Mobile; rv:68.0) Gecko/68.0 Firefox/84.0",
47
- "Safari/macOS: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15",
48
- "Safari/iPhone: Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1",
49
- "Safari/iPhone (request desktop): Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15",
50
- "Safari/iPad: Mozilla/5.0 (iPad; CPU OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1",
51
- "IE11/Windows: Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko",
52
- "Edge/Windows: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66",
53
- "Edge/macOS: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66",
54
- "Edge/Android: Mozilla/5.0 (Linux; Android 10; HD1913) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 Mobile Safari/537.36 EdgA/45.12.4.5121",
55
- "Edge/iOS: Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 EdgiOS/45.11.11 Mobile/15E148 Safari/605.1.15",
56
- "Opera/Windows: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 OPR/73.0.3856.329",
57
- "Opera/macOS: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 OPR/73.0.3856.329",
58
- "Opera/Linux: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 OPR/73.0.3856.329",
59
- "Opera/Android: Mozilla/5.0 (Linux; Android 10; VOG-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 Mobile Safari/537.36 OPR/61.1.3076.56625",
60
- "Vivaldi/Windows: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Vivaldi/3.5",
61
- "Vivaldi/macOS: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Vivaldi/3.5",
62
- "Vivaldi/Linux: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Vivaldi/3.5",
63
- "Yandex/Windows: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 YaBrowser/20.12.0 Yowser/2.5 Safari/537.36",
64
- "Yandex/macOS: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 YaBrowser/20.12.0 Yowser/2.5 Safari/537.36",
65
- "Yandex/iOS: Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 YaBrowser/20.11.2.199 Mobile/15E148 Safari/604.1",
66
- "Yandex/Android: Mozilla/5.0 (Linux; arm_64; Android 11; SM-G965F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 YaBrowser/20.12.29.180 Mobile Safari/537.36",
67
- "Chrome/ChromeOS: Mozilla/5.0 (X11; CrOS x86_64 13505.63.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
68
- "Safari/macOS: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15",
69
- "Firefox/macOS: Mozilla/5.0 (Macintosh; Intel Mac OS X 11.1; rv:84.0) Gecko/20100101 Firefox/84.0",
70
- "Chrome/macOS: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
71
- "Vivaldi/macOS: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Vivaldi/3.5",
72
- "Edge/macOS: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66",
73
- "Safari/iOS: Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1",
74
- "Chrome/iOS: Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/87.0.4280.77 Mobile/15E148 Safari/604.1",
75
- "Firefox/iOS: Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/30.0 Mobile/15E148 Safari/605.1.15",
76
- "Edge/Windows: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66",
77
- "Internet-Explorer/Windows: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko",
78
- "Chrome/Windows: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
79
- "Firefox/Windows: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0",
80
- "Vivaldi/Windows: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Vivaldi/3.5",
81
- "Chrome/Android: Mozilla/5.0 (Linux; Android 11) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 Mobile Safari/537.36",
82
- "Firefox/Android: Mozilla/5.0 (Android 11; Mobile; rv:68.0) Gecko/68.0 Firefox/84.0",
29
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36",
83
30
  ];
84
31
  /**
85
32
  * Reads response data from cache for future requests.
@@ -139,6 +86,15 @@ const readCache = (url, headers) => __awaiter(void 0, void 0, void 0, function*
139
86
  * @returns Promise that resolves when caching is complete
140
87
  */
141
88
  const writeCache = (url, headers, response) => __awaiter(void 0, void 0, void 0, function* () {
89
+ try {
90
+ yield writeCacheUnsafe(url, headers, response);
91
+ }
92
+ catch (err) {
93
+ // Caching must never break a request. Log and move on.
94
+ console.log(chalk.yellow(`[!] Failed to write response cache for ${url}: ${(err === null || err === void 0 ? void 0 : err.message) || err}`));
95
+ }
96
+ });
97
+ const writeCacheUnsafe = (url, headers, response) => __awaiter(void 0, void 0, void 0, function* () {
142
98
  // clone the response
143
99
  const clonedResponse = response.clone();
144
100
  // if cache exists, return
@@ -151,7 +107,8 @@ const writeCache = (url, headers, response) => __awaiter(void 0, void 0, void 0,
151
107
  if (!cache[url]) {
152
108
  cache[url] = {};
153
109
  }
154
- const body = Buffer.from(yield clonedResponse.arrayBuffer()).toString("base64");
110
+ const bodyBuffer = Buffer.from(yield clonedResponse.arrayBuffer());
111
+ const body = bodyBuffer.toString("base64");
155
112
  const status = clonedResponse.status;
156
113
  const resp_headers = clonedResponse.headers;
157
114
  if (headers["RSC"]) {
@@ -172,7 +129,34 @@ const writeCache = (url, headers, response) => __awaiter(void 0, void 0, void 0,
172
129
  };
173
130
  // console.log("normal", url);
174
131
  }
175
- fs.writeFileSync(globals.getRespCacheFile(), JSON.stringify(cache));
132
+ let serialized;
133
+ try {
134
+ // so, the cache is the response body for the URL
135
+ serialized = JSON.stringify(cache);
136
+ }
137
+ catch (err) {
138
+ if (err instanceof RangeError) {
139
+ // console.log(
140
+ // chalk.yellow(
141
+ // `[!] Response cache too large to serialize; dropping entry for ${url} and skipping cache write`
142
+ // )
143
+ // );
144
+ // // Roll back the entry we just added so future writes don't keep retrying.
145
+ // if (headers["RSC"]) {
146
+ // delete cache[url].rsc;
147
+ // } else {
148
+ // delete cache[url].normal;
149
+ // }
150
+ // if (!cache[url].rsc && !cache[url].normal) {
151
+ // delete cache[url];
152
+ // }
153
+ // return;
154
+ console.log(chalk.yellow(`[!] Cache too big... Emptying cache`));
155
+ serialized = JSON.stringify({}); // empty cache
156
+ }
157
+ // throw err;
158
+ }
159
+ fs.writeFileSync(globals.getRespCacheFile(), serialized);
176
160
  // console.log("wrote cache for ", url);
177
161
  });
178
162
  /**
@@ -243,6 +227,19 @@ const handleFirewall = (url, resp_text) => __awaiter(void 0, void 0, void 0, fun
243
227
  yield browser.close();
244
228
  return content;
245
229
  }
230
+ else if (resp_text.includes("403 ERROR") && resp_text.includes("Generated by cloudfront")) {
231
+ console.log(chalk.yellow(`[!] Cloudfront Firewall detected. Trying to bypass with headless browser`));
232
+ const browser = yield puppeteer.launch({
233
+ headless: true,
234
+ args: globals.getDisableSandbox() ? ["--no-sandbox", "--disable-setuid-sandbox"] : [],
235
+ });
236
+ const page = yield browser.newPage();
237
+ yield page.goto(url);
238
+ yield new Promise((resolve) => setTimeout(resolve, 5000));
239
+ const content = yield page.content();
240
+ yield browser.close();
241
+ return content;
242
+ }
246
243
  return null;
247
244
  });
248
245
  /**
@@ -263,6 +260,9 @@ const handleFirewall = (url, resp_text) => __awaiter(void 0, void 0, void 0, fun
263
260
  * @returns A Promise that resolves to a Response, or null if all retries fail
264
261
  */
265
262
  const makeRequest = (url, args) => __awaiter(void 0, void 0, void 0, function* () {
263
+ if (url.startsWith("//")) {
264
+ url = "https:" + url;
265
+ }
266
266
  const _a = args || {}, { timeout } = _a, restArgs = __rest(_a, ["timeout"]);
267
267
  const requestOptions = restArgs;
268
268
  const requestTimeout = timeout || globals.getRequestTimeout();
@@ -282,7 +282,14 @@ const makeRequest = (url, args) => __awaiter(void 0, void 0, void 0, function* (
282
282
  // if cache is enabled, read the cache and return if cache is present. else, continue
283
283
  if (!globals.getDisableCache()) {
284
284
  const cachedResponse = yield readCache(url, requestOptions.headers || {});
285
+ // if the response if cached, then check if contains any signatures of firewall
285
286
  if (cachedResponse !== null) {
287
+ const cachedText = yield cachedResponse.clone().text();
288
+ const firewallContent = yield handleFirewall(url, cachedText);
289
+ if (firewallContent) {
290
+ yield writeCache(url, requestOptions.headers || {}, new Response(firewallContent));
291
+ return new Response(firewallContent);
292
+ }
286
293
  return cachedResponse;
287
294
  }
288
295
  }
@@ -298,17 +305,37 @@ const makeRequest = (url, args) => __awaiter(void 0, void 0, void 0, function* (
298
305
  return response;
299
306
  }
300
307
  else {
301
- // Helper to read response once and store data for reuse
308
+ // Helper to read response once and store data for reuse.
309
+ // We copy the bytes into a Buffer that owns its own ArrayBuffer so the
310
+ // stored body cannot be invalidated by undici recycling its internal
311
+ // buffer after we consume the response.
302
312
  const consumeResponse = (res) => __awaiter(void 0, void 0, void 0, function* () {
303
313
  if (!res)
304
314
  return null;
305
- const body = yield res.arrayBuffer();
306
- const text = new TextDecoder().decode(body);
307
- return { body, status: res.status, headers: res.headers, ok: res.ok, text };
315
+ const ab = yield res.arrayBuffer();
316
+ const body = Buffer.alloc(ab.byteLength);
317
+ body.set(new Uint8Array(ab));
318
+ const text = body.toString("utf-8");
319
+ // Snapshot headers as a plain object so we can rebuild a fresh
320
+ // Headers instance per Response instead of sharing state.
321
+ const headers = new Headers(res.headers);
322
+ return { body, status: res.status, headers, ok: res.ok, text };
308
323
  });
309
- // Helper to create Response from stored data
324
+ // Helper to create Response from stored data. Pass the body as an
325
+ // immutable string so each Response gets a fully independent backing
326
+ // store; undici has been known to flag Responses as already-consumed
327
+ // when buffer-backed bodies share underlying memory. Strip headers
328
+ // that no longer match the decoded body (content-length / encoding).
310
329
  const createResponse = (data) => {
311
- return new Response(data.body, { status: data.status, headers: data.headers });
330
+ // Copy bytes into a fresh Uint8Array so each Response owns its
331
+ // backing memory — text decoding would corrupt binary payloads.
332
+ const bodyCopy = new Uint8Array(data.body.byteLength);
333
+ bodyCopy.set(data.body);
334
+ const headers = new Headers(data.headers);
335
+ headers.delete("content-length");
336
+ headers.delete("content-encoding");
337
+ headers.delete("transfer-encoding");
338
+ return new Response(bodyCopy, { status: data.status, headers });
312
339
  };
313
340
  // When using default headers, try both with and without Referer/Origin
314
341
  // to handle servers that return 404 for one but 200 for the other
@@ -1 +1 @@
1
- {"version":3,"file":"makeReq.js","sourceRoot":"","sources":["../../src/utility/makeReq.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"makeReq.js","sourceRoot":"","sources":["../../src/utility/makeReq.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,33 @@ import replacePlaceholders from "./replaceUrlPlaceholders.js";
11
11
  * @param value - The value to determine the OpenAPI type for
12
12
  * @returns The OpenAPI type string corresponding to the given value
13
13
  */
14
+ // Zod-style placeholder strings emitted by traceBody (e.g. "<number>", "<date>",
15
+ // "<array>") carry the field's real type even though they're stringified. Map
16
+ // them back to an OpenAPI type so the spec doesn't collapse every body field
17
+ // to `type: "string"`.
18
+ const ZOD_PLACEHOLDER_TYPE_MAP = {
19
+ string: "string",
20
+ number: "number",
21
+ integer: "integer",
22
+ bigint: "integer",
23
+ boolean: "boolean",
24
+ date: "string",
25
+ array: "array",
26
+ object: "object",
27
+ enum: "string",
28
+ literal: "string",
29
+ unknown: "string",
30
+ coerce: "string",
31
+ };
32
+ export const getZodPlaceholderType = (value) => {
33
+ var _a;
34
+ if (typeof value !== "string")
35
+ return null;
36
+ const match = /^<([a-zA-Z]+)>$/.exec(value);
37
+ if (!match)
38
+ return null;
39
+ return (_a = ZOD_PLACEHOLDER_TYPE_MAP[match[1]]) !== null && _a !== void 0 ? _a : null;
40
+ };
14
41
  export const getOpenApiType = (value) => {
15
42
  if (value === null) {
16
43
  return "string"; // OpenAPI 3.0 doesn't have a 'null' type, use nullable
@@ -18,6 +45,9 @@ export const getOpenApiType = (value) => {
18
45
  if (Array.isArray(value)) {
19
46
  return "array";
20
47
  }
48
+ const placeholderType = getZodPlaceholderType(value);
49
+ if (placeholderType)
50
+ return placeholderType;
21
51
  const jsType = typeof value;
22
52
  if (["string", "number", "boolean", "object"].includes(jsType)) {
23
53
  return jsType;
@@ -48,9 +78,19 @@ export const generateOpenapiV3Spec = (items, chunks) => {
48
78
  paths: {},
49
79
  };
50
80
  for (const item of items) {
51
- const pathKeyBeforeQuery = typeof item.path === "string" ? item.path.split("?")[0] : "";
81
+ let rawItemPath = typeof item.path === "string" ? item.path : "";
82
+ try {
83
+ if (rawItemPath.startsWith("http://") || rawItemPath.startsWith("https://")) {
84
+ rawItemPath = new URL(rawItemPath).pathname;
85
+ }
86
+ }
87
+ catch (_a) { }
88
+ const pathKeyBeforeQuery = rawItemPath.split("?")[0];
52
89
  const pathKey = replacePlaceholders(pathKeyBeforeQuery.startsWith("/") ? pathKeyBeforeQuery : `/${pathKeyBeforeQuery}`);
53
- const method = item.method.toLowerCase();
90
+ const VALID_METHODS = new Set(["get", "post", "put", "patch", "delete", "head", "options", "trace"]);
91
+ const rawMethod = typeof item.method === "string" ? item.method.toLowerCase() : "";
92
+ const methodIsValid = VALID_METHODS.has(rawMethod);
93
+ const method = methodIsValid ? rawMethod : "get";
54
94
  if (!spec.paths[pathKey]) {
55
95
  spec.paths[pathKey] = {};
56
96
  }
@@ -111,6 +151,10 @@ export const generateOpenapiV3Spec = (items, chunks) => {
111
151
  },
112
152
  tags: globalsUtil.getOpenapiChunkTag() ? [item.chunkId] : [],
113
153
  };
154
+ if (!methodIsValid) {
155
+ operationObject.description =
156
+ `Note: original HTTP method ${JSON.stringify(item.method)} could not be determined; defaulted to GET — verify before use.`;
157
+ }
114
158
  if (parameters.length > 0) {
115
159
  operationObject.parameters = parameters;
116
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openapiGenerator.js","sourceRoot":"","sources":["../../src/utility/openapiGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapiGenerator.js","sourceRoot":"","sources":["../../src/utility/openapiGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
1
+ import replacePlaceholders from "./replaceUrlPlaceholders.js";
2
+ const buildBodyExample = (rawBody) => {
3
+ if (!rawBody)
4
+ return undefined;
5
+ // The body strings we produce in traceBody.ts are JSON-ish but use
6
+ // angle-bracketed placeholders for types (e.g. `"<string>"`). They are valid
7
+ // JSON, so just pretty-print whatever parses.
8
+ try {
9
+ return JSON.stringify(JSON.parse(rawBody), null, 2);
10
+ }
11
+ catch (_a) {
12
+ return rawBody;
13
+ }
14
+ };
15
+ const splitPath = (rawPath) => {
16
+ const [withoutQuery, queryString] = rawPath.split("?", 2);
17
+ const segments = withoutQuery.split("/").filter(Boolean);
18
+ const query = [];
19
+ if (queryString) {
20
+ for (const part of queryString.split("&")) {
21
+ const [k, v = ""] = part.split("=", 2);
22
+ if (k)
23
+ query.push({ key: decodeURIComponent(k), value: decodeURIComponent(v) });
24
+ }
25
+ }
26
+ return { segments, query };
27
+ };
28
+ /**
29
+ * Generates a Postman Collection v2.1 from the discovered endpoints, organising
30
+ * them into nested folders that mirror the URL path. The first matching folder
31
+ * is reused for sibling endpoints so importers don't end up with one folder per
32
+ * request.
33
+ *
34
+ * Path parameters (`{id}`) are not used as folder names — they belong to a
35
+ * specific endpoint, not the wider category — so when a segment is a path
36
+ * variable we attach the operation directly to its parent folder and let the
37
+ * request's full URL carry the variable.
38
+ */
39
+ export const generatePostmanCollection = (items) => {
40
+ var _a, _b;
41
+ const collection = {
42
+ info: {
43
+ name: "API Collection",
44
+ description: "Endpoints discovered by js-recon, grouped by URL path.",
45
+ schema: "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
46
+ },
47
+ item: [],
48
+ variable: [{ key: "baseUrl", value: "https://example.com" }],
49
+ };
50
+ // Tracks (folder-path) → existing PMItem so the second endpoint under the same folder and reuses it
51
+ const folderIndex = new Map();
52
+ folderIndex.set("", { name: "", item: collection.item });
53
+ const ensureFolder = (folderSegments) => {
54
+ let runningKey = "";
55
+ let parent = folderIndex.get("");
56
+ for (const segment of folderSegments) {
57
+ runningKey = runningKey ? `${runningKey}/${segment}` : segment;
58
+ let folder = folderIndex.get(runningKey);
59
+ if (!folder) {
60
+ folder = { name: segment, item: [] };
61
+ parent.item.push(folder);
62
+ folderIndex.set(runningKey, folder);
63
+ }
64
+ parent = folder;
65
+ }
66
+ return parent;
67
+ };
68
+ // Deduplicate (path, method) — the OpenAPI generator already does this; we
69
+ // mirror the behaviour here so reimporting doesn't produce duplicates.
70
+ const seen = new Set();
71
+ for (const item of items) {
72
+ let rawPath = typeof item.path === "string" ? item.path : "";
73
+ // If path is an absolute URL, extract just the pathname so we don't
74
+ // prepend {{baseUrl}} to an already-complete URL.
75
+ try {
76
+ if (rawPath.startsWith("http://") || rawPath.startsWith("https://")) {
77
+ const u = new URL(rawPath);
78
+ rawPath = u.pathname + (u.search || "");
79
+ }
80
+ }
81
+ catch (_c) {
82
+ // leave rawPath as-is if URL parsing fails
83
+ }
84
+ const normalized = replacePlaceholders(rawPath.startsWith("/") ? rawPath : `/${rawPath}`);
85
+ const method = typeof item.method === "string" ? item.method.toUpperCase() : "GET";
86
+ const dedupeKey = `${method} ${normalized}`;
87
+ if (seen.has(dedupeKey))
88
+ continue;
89
+ seen.add(dedupeKey);
90
+ const { segments, query } = splitPath(normalized);
91
+ // Folder segments = all path segments except path-parameter segments.
92
+ // A trailing `{id}` segment doesn't earn its own folder; we mount the
93
+ // request on the parent.
94
+ const folderSegments = [];
95
+ const pathVars = [];
96
+ for (const seg of segments) {
97
+ const isVar = seg.startsWith("{") && seg.endsWith("}");
98
+ if (isVar) {
99
+ pathVars.push({ key: seg.slice(1, -1), value: "" });
100
+ }
101
+ else {
102
+ folderSegments.push(seg);
103
+ }
104
+ }
105
+ // The leaf segment is the endpoint's own name; remove it from the
106
+ // folder hierarchy so the request lands directly in its parent folder.
107
+ const leaf = (_a = folderSegments.pop()) !== null && _a !== void 0 ? _a : "";
108
+ const folder = ensureFolder(folderSegments);
109
+ const headers = Object.entries(item.headers || {}).map(([key, value]) => ({
110
+ key,
111
+ value: String(value),
112
+ type: "text",
113
+ }));
114
+ const requestName = `${method} /${segments.join("/")}`;
115
+ const pmUrlPath = segments.map((s) => (s.startsWith("{") && s.endsWith("}") ? `:${s.slice(1, -1)}` : s));
116
+ const request = {
117
+ method,
118
+ header: headers,
119
+ url: Object.assign(Object.assign({ raw: `{{baseUrl}}/${pmUrlPath.join("/")}${query.length > 0 ? "?" + query.map((q) => `${q.key}=${q.value}`).join("&") : ""}`, host: ["{{baseUrl}}"], path: pmUrlPath }, (query.length > 0 ? { query } : {})), (pathVars.length > 0 ? { variable: pathVars } : {})),
120
+ };
121
+ if (item.body && ["POST", "PUT", "PATCH", "DELETE"].includes(method)) {
122
+ const bodyRaw = (_b = buildBodyExample(item.body)) !== null && _b !== void 0 ? _b : item.body;
123
+ // Skip bodies that are empty objects — they only contain unresolvable spread artifacts.
124
+ let isEmptyObject = false;
125
+ try {
126
+ const parsed = JSON.parse(bodyRaw);
127
+ isEmptyObject =
128
+ typeof parsed === "object" &&
129
+ parsed !== null &&
130
+ !Array.isArray(parsed) &&
131
+ Object.keys(parsed).length === 0;
132
+ }
133
+ catch (_d) { }
134
+ if (!isEmptyObject) {
135
+ request.body = {
136
+ mode: "raw",
137
+ raw: bodyRaw,
138
+ options: { raw: { language: "json" } },
139
+ };
140
+ }
141
+ else {
142
+ request.body = { mode: "none" };
143
+ }
144
+ }
145
+ else {
146
+ request.body = { mode: "none" };
147
+ }
148
+ // Friendly request label — keep the leaf in the name to disambiguate
149
+ // siblings under the same parent (e.g. invoices vs invoices/latest).
150
+ const leafName = leaf || segments[segments.length - 1] || "/";
151
+ const itemEntry = {
152
+ name: `${method} ${leafName}`,
153
+ request,
154
+ };
155
+ // If this URL has no folder segments at all (e.g. `/version`), put it
156
+ // at the top level so it isn't lost.
157
+ folder.item.push(itemEntry);
158
+ // Suppress unused requestName lint warning — kept for future use.
159
+ void requestName;
160
+ }
161
+ return collection;
162
+ };
163
+ //# sourceMappingURL=postmanGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postmanGenerator.js","sourceRoot":"","sources":["../../src/utility/postmanGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import puppeteerExtra from "puppeteer-extra";
2
+ import StealthPlugin from "puppeteer-extra-plugin-stealth";
3
+ puppeteerExtra.use(StealthPlugin());
4
+ export default puppeteerExtra;
5
+ //# sourceMappingURL=puppeteerInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puppeteerInstance.js","sourceRoot":"","sources":["../../src/utility/puppeteerInstance.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAG1D,cAAsB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;AAE7C,eAAe,cAA0C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shriyanss/js-recon",
3
- "version": "1.2.2",
3
+ "version": "1.3.1-alpha.2",
4
4
  "description": "JS Recon Tool",
5
5
  "main": "build/index.js",
6
6
  "type": "module",
@@ -12,22 +12,25 @@
12
12
  "build": "rm -rf build/ && tsc",
13
13
  "start": "node build/index.js",
14
14
  "test": "node build/index.js -h",
15
- "cleanup": "rm -rf build output .resp_cache.json endpoints.json extracted_urls{.txt,.json,-openapi.json} strings.json mapped{-openapi.json,.json} analyze.json test{.yaml,.js} shriyanss-js-recon-*.tgz js-recon.db report.{html,md} js_recon_run_output *_test.js extracted/ research.json && tsc"
15
+ "cleanup": "rm -rf build output .resp_cache.json endpoints.json extracted_urls{.txt,.json,-openapi.json} strings.json mapped{-openapi.json,.json,-openapi.postman_collection.json} analyze.json test{.yaml,.js} shriyanss-js-recon-*.tgz js-recon.db report.{html,md} js_recon_run_output *_test.js extracted/ research.json && tsc"
16
16
  },
17
17
  "keywords": [],
18
18
  "author": "Shriyans Sudhi",
19
19
  "license": "MIT",
20
20
  "dependencies": {
21
+ "@anthropic-ai/sdk": "^0.82.0",
21
22
  "@aws-sdk/client-api-gateway": "^3.958.0",
22
23
  "@babel/parser": "^7.27.4",
23
24
  "@babel/traverse": "^7.27.4",
24
25
  "@babel/types": "^7.27.6",
25
26
  "@types/chalk": "^0.4.31",
27
+ "@types/cli-progress": "^3.11.6",
26
28
  "better-sqlite3": "^12.5.0",
27
29
  "blessed": "^0.1.81",
28
30
  "chalk": "^5.4.1",
29
31
  "cheerio": "^1.0.0",
30
32
  "cli-highlight": "^2.1.11",
33
+ "cli-progress": "^3.12.0",
31
34
  "commander": "^14.0.0",
32
35
  "datatables.net": "^2.3.2",
33
36
  "datatables.net-dt": "^2.3.2",
@@ -40,8 +43,11 @@
40
43
  "ollama": "^0.6.3",
41
44
  "openai": "^5.8.2",
42
45
  "path": "^0.12.7",
43
- "puppeteer": "^24.34.0",
44
46
  "prettier": "^3.7.4",
47
+ "puppeteer": "^24.43.1",
48
+ "puppeteer-extra": "^3.3.6",
49
+ "puppeteer-extra-plugin-stealth": "^2.11.2",
50
+ "readline": "^1.3.0",
45
51
  "ses": "^1.13.0",
46
52
  "yaml": "^2.8.0",
47
53
  "zod": "^3.23.8"
@@ -55,9 +61,10 @@
55
61
  },
56
62
  "homepage": "https://github.com/shriyanss/js-recon#readme",
57
63
  "devDependencies": {
64
+ "@types/babel__traverse": "^7.28.0",
58
65
  "@types/better-sqlite3": "^7.6.13",
59
66
  "@types/blessed": "^0.1.25",
60
- "@types/node": "^24.5.2",
67
+ "@types/node": "^24.12.4",
61
68
  "ts-node": "^10.9.2",
62
69
  "tsconfig-paths": "^4.2.0",
63
70
  "typescript": "^5.9.2"