@js-recon/js-recon 1.4.3 → 2.0.1-alpha.1

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 (461) hide show
  1. package/.claude-sync/sync.sh +1 -1
  2. package/.github/workflows/build-and-prettify.yaml +55 -25
  3. package/.github/workflows/codeql.yml +33 -0
  4. package/.github/workflows/exploit-smoke-test.yaml +160 -0
  5. package/.github/workflows/framework-detection-smoke-test.yaml +135 -0
  6. package/.github/workflows/plumber.yml +20 -0
  7. package/.github/workflows/promote-js-recon.yml +5 -3
  8. package/.github/workflows/publish-js-recon.yml +6 -1
  9. package/.github/workflows/rules-smoke-test.yaml +15 -7
  10. package/.nvmrc +1 -0
  11. package/.plumber.yaml +151 -0
  12. package/CHANGELOG.md +54 -0
  13. package/CONTRIBUTING.md +32 -0
  14. package/Dockerfile +1 -0
  15. package/README.md +55 -2
  16. package/SECURITY.md +1 -1
  17. package/build/analyze/engine/astEngine.js +10 -9
  18. package/build/analyze/engine/astEngine.js.map +1 -1
  19. package/build/analyze/engine/csMastSEngine.js +6 -6
  20. package/build/analyze/engine/csMastSEngine.js.map +1 -1
  21. package/build/analyze/engine/index.js +1 -1
  22. package/build/analyze/engine/index.js.map +1 -1
  23. package/build/analyze/engine/requestEngine.js +6 -6
  24. package/build/analyze/engine/requestEngine.js.map +1 -1
  25. package/build/analyze/helpers/determineCompatibleVersion.js +70 -0
  26. package/build/analyze/helpers/determineCompatibleVersion.js.map +1 -0
  27. package/build/analyze/helpers/engineHelpers/findMemberExpressionAssignment.js +9 -3
  28. package/build/analyze/helpers/engineHelpers/findMemberExpressionAssignment.js.map +1 -1
  29. package/build/analyze/helpers/initRules.js +42 -24
  30. package/build/analyze/helpers/initRules.js.map +1 -1
  31. package/build/analyze/helpers/outputHelper.js +3 -3
  32. package/build/analyze/helpers/outputHelper.js.map +1 -1
  33. package/build/analyze/helpers/schemas.js +1 -0
  34. package/build/analyze/helpers/schemas.js.map +1 -1
  35. package/build/analyze/helpers/validate.js +9 -5
  36. package/build/analyze/helpers/validate.js.map +1 -1
  37. package/build/analyze/index.js +26 -16
  38. package/build/analyze/index.js.map +1 -1
  39. package/build/cliProgram.js +710 -0
  40. package/build/cliProgram.js.map +1 -0
  41. package/build/completion/index.js +245 -339
  42. package/build/completion/index.js.map +1 -1
  43. package/build/completion/introspect.js +17 -0
  44. package/build/completion/introspect.js.map +1 -0
  45. package/build/config/applicationConfig.js +494 -0
  46. package/build/config/applicationConfig.js.map +1 -0
  47. package/build/cs_mast/index.js +18 -17
  48. package/build/cs_mast/index.js.map +1 -1
  49. package/build/endpoints/gen_report/gen_json.js +2 -2
  50. package/build/endpoints/gen_report/gen_json.js.map +1 -1
  51. package/build/endpoints/gen_report/utility/iterate_n_store.js +1 -1
  52. package/build/endpoints/gen_report/utility/iterate_n_store.js.map +1 -1
  53. package/build/endpoints/index.js +12 -12
  54. package/build/endpoints/index.js.map +1 -1
  55. package/build/endpoints/next_js/client_jsFilesHref.js +3 -3
  56. package/build/endpoints/next_js/client_jsFilesHref.js.map +1 -1
  57. package/build/endpoints/next_js/client_jsonParse.js +4 -4
  58. package/build/endpoints/next_js/client_jsonParse.js.map +1 -1
  59. package/build/endpoints/next_js/client_mappedJsonFile.js +6 -6
  60. package/build/endpoints/next_js/client_mappedJsonFile.js.map +1 -1
  61. package/build/endpoints/next_js/client_subsequentRequests.js +5 -5
  62. package/build/endpoints/next_js/client_subsequentRequests.js.map +1 -1
  63. package/build/exploit/angular/cve-2026-68945.js +61 -0
  64. package/build/exploit/angular/cve-2026-68945.js.map +1 -0
  65. package/build/exploit/index.js +60 -0
  66. package/build/exploit/index.js.map +1 -0
  67. package/build/exploit/next/cve-2025-29927.js +65 -0
  68. package/build/exploit/next/cve-2025-29927.js.map +1 -0
  69. package/build/exploit/next/cve-2026-64645.js +51 -0
  70. package/build/exploit/next/cve-2026-64645.js.map +1 -0
  71. package/build/exploit/nuxt/cve-2026-71315.js +47 -0
  72. package/build/exploit/nuxt/cve-2026-71315.js.map +1 -0
  73. package/build/exploit/nuxt/cve-2026-71320.js +114 -0
  74. package/build/exploit/nuxt/cve-2026-71320.js.map +1 -0
  75. package/build/exploit/react/cve-2025-55182.js +116 -0
  76. package/build/exploit/react/cve-2025-55182.js.map +1 -0
  77. package/build/exploit/registry/cveRegistry.js +115 -0
  78. package/build/exploit/registry/cveRegistry.js.map +1 -0
  79. package/build/exploit/types.js +2 -0
  80. package/build/exploit/types.js.map +1 -0
  81. package/build/exploit/utility/compareResponses.js +29 -0
  82. package/build/exploit/utility/compareResponses.js.map +1 -0
  83. package/build/exploit/utility/outputHelper.js +22 -0
  84. package/build/exploit/utility/outputHelper.js.map +1 -0
  85. package/build/exploit/utility/rawRequest.js +54 -0
  86. package/build/exploit/utility/rawRequest.js.map +1 -0
  87. package/build/exploit/utility/sandboxRce.js +49 -0
  88. package/build/exploit/utility/sandboxRce.js.map +1 -0
  89. package/build/exploit/utility/toEngineOutput.js +28 -0
  90. package/build/exploit/utility/toEngineOutput.js.map +1 -0
  91. package/build/exploit/utility/wsClient.js +78 -0
  92. package/build/exploit/utility/wsClient.js.map +1 -0
  93. package/build/exploit/vite/cve-2025-30208.js +44 -0
  94. package/build/exploit/vite/cve-2025-30208.js.map +1 -0
  95. package/build/exploit/vite/cve-2026-39363.js +60 -0
  96. package/build/exploit/vite/cve-2026-39363.js.map +1 -0
  97. package/build/fingerprint/index.js +11 -21
  98. package/build/fingerprint/index.js.map +1 -1
  99. package/build/globalConfig.js +2 -2
  100. package/build/globalConfig.js.map +1 -1
  101. package/build/index.js +16 -555
  102. package/build/index.js.map +1 -1
  103. package/build/lazyLoad/angular/angular_getFromPageSource.js +3 -3
  104. package/build/lazyLoad/angular/angular_getFromPageSource.js.map +1 -1
  105. package/build/lazyLoad/downloadFilesUtil.js +51 -40
  106. package/build/lazyLoad/downloadFilesUtil.js.map +1 -1
  107. package/build/lazyLoad/downloadQueue.js +154 -50
  108. package/build/lazyLoad/downloadQueue.js.map +1 -1
  109. package/build/lazyLoad/downloadResponse.js +113 -0
  110. package/build/lazyLoad/downloadResponse.js.map +1 -0
  111. package/build/lazyLoad/generic/generic_crawlPages.js +186 -0
  112. package/build/lazyLoad/generic/generic_crawlPages.js.map +1 -0
  113. package/build/lazyLoad/generic/generic_downloadFiles.js +81 -0
  114. package/build/lazyLoad/generic/generic_downloadFiles.js.map +1 -0
  115. package/build/lazyLoad/generic/generic_extractLinks.js +79 -0
  116. package/build/lazyLoad/generic/generic_extractLinks.js.map +1 -0
  117. package/build/lazyLoad/generic/generic_getScriptTags.js +152 -0
  118. package/build/lazyLoad/generic/generic_getScriptTags.js.map +1 -0
  119. package/build/lazyLoad/generic/generic_importMapDiscovery.js +87 -0
  120. package/build/lazyLoad/generic/generic_importMapDiscovery.js.map +1 -0
  121. package/build/lazyLoad/generic/generic_resolveScope.js +61 -0
  122. package/build/lazyLoad/generic/generic_resolveScope.js.map +1 -0
  123. package/build/lazyLoad/generic/generic_scanAttributesForJs.js +122 -0
  124. package/build/lazyLoad/generic/generic_scanAttributesForJs.js.map +1 -0
  125. package/build/lazyLoad/generic/generic_stringsDiscovery.js +103 -0
  126. package/build/lazyLoad/generic/generic_stringsDiscovery.js.map +1 -0
  127. package/build/lazyLoad/generic/generic_webpackChunkPaths.js +56 -0
  128. package/build/lazyLoad/generic/generic_webpackChunkPaths.js.map +1 -0
  129. package/build/lazyLoad/globals.js +35 -0
  130. package/build/lazyLoad/globals.js.map +1 -1
  131. package/build/lazyLoad/index.js +311 -175
  132. package/build/lazyLoad/index.js.map +1 -1
  133. package/build/lazyLoad/methodFilter.js +2 -0
  134. package/build/lazyLoad/methodFilter.js.map +1 -1
  135. package/build/lazyLoad/next_js/NextJsCrawler.js +39 -14
  136. package/build/lazyLoad/next_js/NextJsCrawler.js.map +1 -1
  137. package/build/lazyLoad/next_js/next_GetJSScript.js +3 -3
  138. package/build/lazyLoad/next_js/next_GetJSScript.js.map +1 -1
  139. package/build/lazyLoad/next_js/next_GetLazyResourcesBuildManifestJs.js +4 -4
  140. package/build/lazyLoad/next_js/next_GetLazyResourcesBuildManifestJs.js.map +1 -1
  141. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js +21 -20
  142. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js.map +1 -1
  143. package/build/lazyLoad/next_js/next_SubsequentRequests.js +100 -99
  144. package/build/lazyLoad/next_js/next_SubsequentRequests.js.map +1 -1
  145. package/build/lazyLoad/next_js/next_bruteForceJsFiles.js +1 -1
  146. package/build/lazyLoad/next_js/next_bruteForceJsFiles.js.map +1 -1
  147. package/build/lazyLoad/next_js/next_buildId.js +2 -2
  148. package/build/lazyLoad/next_js/next_buildId.js.map +1 -1
  149. package/build/lazyLoad/next_js/next_getClientSidePaths.js +2 -2
  150. package/build/lazyLoad/next_js/next_getClientSidePaths.js.map +1 -1
  151. package/build/lazyLoad/next_js/next_parseLayoutJs.js +6 -6
  152. package/build/lazyLoad/next_js/next_parseLayoutJs.js.map +1 -1
  153. package/build/lazyLoad/next_js/next_promiseResolve.js +1 -1
  154. package/build/lazyLoad/next_js/next_promiseResolve.js.map +1 -1
  155. package/build/lazyLoad/next_js/next_routerStateForge.js +341 -0
  156. package/build/lazyLoad/next_js/next_routerStateForge.js.map +1 -0
  157. package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js +1 -1
  158. package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js.map +1 -1
  159. package/build/lazyLoad/next_js/next_serverActionIdScan.js +77 -0
  160. package/build/lazyLoad/next_js/next_serverActionIdScan.js.map +1 -0
  161. package/build/lazyLoad/nuxt_js/nuxt_astParse.js +15 -13
  162. package/build/lazyLoad/nuxt_js/nuxt_astParse.js.map +1 -1
  163. package/build/lazyLoad/nuxt_js/nuxt_getBuildsManifest.js +2 -2
  164. package/build/lazyLoad/nuxt_js/nuxt_getBuildsManifest.js.map +1 -1
  165. package/build/lazyLoad/nuxt_js/nuxt_getFromPageSource.js +3 -3
  166. package/build/lazyLoad/nuxt_js/nuxt_getFromPageSource.js.map +1 -1
  167. package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js +2 -2
  168. package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js.map +1 -1
  169. package/build/lazyLoad/outputPath.js +92 -0
  170. package/build/lazyLoad/outputPath.js.map +1 -0
  171. package/build/lazyLoad/react/react_followImports.js +15 -5
  172. package/build/lazyLoad/react/react_followImports.js.map +1 -1
  173. package/build/lazyLoad/react/react_getScriptTags.js +11 -6
  174. package/build/lazyLoad/react/react_getScriptTags.js.map +1 -1
  175. package/build/lazyLoad/react/react_sourcemapUrls.js +3 -2
  176. package/build/lazyLoad/react/react_sourcemapUrls.js.map +1 -1
  177. package/build/lazyLoad/react/react_webpackChunkPaths.js +12 -203
  178. package/build/lazyLoad/react/react_webpackChunkPaths.js.map +1 -1
  179. package/build/lazyLoad/researchUtils.js +15 -0
  180. package/build/lazyLoad/researchUtils.js.map +1 -0
  181. package/build/lazyLoad/shared/webpackChunkParsers.js +218 -0
  182. package/build/lazyLoad/shared/webpackChunkParsers.js.map +1 -0
  183. package/build/lazyLoad/stagnation/stagnationMonitor.js +63 -0
  184. package/build/lazyLoad/stagnation/stagnationMonitor.js.map +1 -0
  185. package/build/lazyLoad/svelte/svelte_discoverPagesFromJs.js +1 -0
  186. package/build/lazyLoad/svelte/svelte_discoverPagesFromJs.js.map +1 -1
  187. package/build/lazyLoad/svelte/svelte_getFromPageSource.js +5 -5
  188. package/build/lazyLoad/svelte/svelte_getFromPageSource.js.map +1 -1
  189. package/build/lazyLoad/svelte/svelte_getVersionJson.js +2 -2
  190. package/build/lazyLoad/svelte/svelte_getVersionJson.js.map +1 -1
  191. package/build/lazyLoad/svelte/svelte_recursivePageCrawl.js +6 -6
  192. package/build/lazyLoad/svelte/svelte_recursivePageCrawl.js.map +1 -1
  193. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js +2 -2
  194. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js.map +1 -1
  195. package/build/lazyLoad/techDetect/checkAngularJS.js +1 -1
  196. package/build/lazyLoad/techDetect/checkAngularJS.js.map +1 -1
  197. package/build/lazyLoad/techDetect/checkNuxtJS.js +3 -3
  198. package/build/lazyLoad/techDetect/checkNuxtJS.js.map +1 -1
  199. package/build/lazyLoad/techDetect/checkSvelte.js +0 -1
  200. package/build/lazyLoad/techDetect/checkSvelte.js.map +1 -1
  201. package/build/lazyLoad/techDetect/checkVueJS.js +6 -6
  202. package/build/lazyLoad/techDetect/checkVueJS.js.map +1 -1
  203. package/build/lazyLoad/techDetect/index.js +106 -60
  204. package/build/lazyLoad/techDetect/index.js.map +1 -1
  205. package/build/lazyLoad/vue/vue_RuntimeJs.js +20 -15
  206. package/build/lazyLoad/vue/vue_RuntimeJs.js.map +1 -1
  207. package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js +10 -5
  208. package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js.map +1 -1
  209. package/build/lazyLoad/vue/vue_discoverJsFiles.js +20 -17
  210. package/build/lazyLoad/vue/vue_discoverJsFiles.js.map +1 -1
  211. package/build/lazyLoad/vue/vue_getClientSidePaths.js +70 -46
  212. package/build/lazyLoad/vue/vue_getClientSidePaths.js.map +1 -1
  213. package/build/lazyLoad/vue/vue_jsImports.js +3 -2
  214. package/build/lazyLoad/vue/vue_jsImports.js.map +1 -1
  215. package/build/lazyLoad/vue/vue_pageSrc.js +3 -2
  216. package/build/lazyLoad/vue/vue_pageSrc.js.map +1 -1
  217. package/build/lazyLoad/vue/vue_reconstructSourceMaps.js +6 -5
  218. package/build/lazyLoad/vue/vue_reconstructSourceMaps.js.map +1 -1
  219. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js +10 -21
  220. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js.map +1 -1
  221. package/build/lazyLoad/vue/vue_severalJsFilesHome.js +5 -4
  222. package/build/lazyLoad/vue/vue_severalJsFilesHome.js.map +1 -1
  223. package/build/lazyLoad/vue/vue_stringJsFiles.js +28 -25
  224. package/build/lazyLoad/vue/vue_stringJsFiles.js.map +1 -1
  225. package/build/lazyLoad/vue/vue_viteMapDeps.js +8 -2
  226. package/build/lazyLoad/vue/vue_viteMapDeps.js.map +1 -1
  227. package/build/load/index.js +8 -7
  228. package/build/load/index.js.map +1 -1
  229. package/build/map/angular_js/getAngularConnections.js +6 -6
  230. package/build/map/angular_js/getAngularConnections.js.map +1 -1
  231. package/build/map/graphql/resolveGraphql.js +6 -6
  232. package/build/map/graphql/resolveGraphql.js.map +1 -1
  233. package/build/map/index.js +17 -17
  234. package/build/map/index.js.map +1 -1
  235. package/build/map/interactive-mode/commandHandler.js +278 -0
  236. package/build/map/interactive-mode/commandHandler.js.map +1 -0
  237. package/build/map/interactive-mode/commandHelpers.js +189 -0
  238. package/build/map/interactive-mode/commandHelpers.js.map +1 -0
  239. package/build/map/interactive-mode/esqueryGen.js.map +1 -0
  240. package/build/map/interactive-mode/helpMenu.js +11 -0
  241. package/build/map/interactive-mode/helpMenu.js.map +1 -0
  242. package/build/map/interactive-mode/inputPatch.js.map +1 -0
  243. package/build/map/interactive-mode/interactive.js +71 -0
  244. package/build/map/interactive-mode/interactive.js.map +1 -0
  245. package/build/map/interactive-mode/keybindings.js.map +1 -0
  246. package/build/map/interactive-mode/printer.js.map +1 -0
  247. package/build/map/interactive-mode/ui.js.map +1 -0
  248. package/build/map/next_js/getAxiosInstances.js +5 -5
  249. package/build/map/next_js/getAxiosInstances.js.map +1 -1
  250. package/build/map/next_js/getExports.js +4 -4
  251. package/build/map/next_js/getExports.js.map +1 -1
  252. package/build/map/next_js/getFetchInstances.js +10 -10
  253. package/build/map/next_js/getFetchInstances.js.map +1 -1
  254. package/build/map/next_js/getTurbopackConnections.js +8 -8
  255. package/build/map/next_js/getTurbopackConnections.js.map +1 -1
  256. package/build/map/next_js/getWebpackConnections.js +27 -16
  257. package/build/map/next_js/getWebpackConnections.js.map +1 -1
  258. package/build/map/next_js/interactive.js +3 -65
  259. package/build/map/next_js/interactive.js.map +1 -1
  260. package/build/map/next_js/interactive_helpers/commandHandler.js +38 -290
  261. package/build/map/next_js/interactive_helpers/commandHandler.js.map +1 -1
  262. package/build/map/next_js/interactive_helpers/commandHelpers.js +0 -184
  263. package/build/map/next_js/interactive_helpers/commandHelpers.js.map +1 -1
  264. package/build/map/next_js/interactive_helpers/helpMenu.js +2 -10
  265. package/build/map/next_js/interactive_helpers/helpMenu.js.map +1 -1
  266. package/build/map/next_js/resolveAxios.js +6 -6
  267. package/build/map/next_js/resolveAxios.js.map +1 -1
  268. package/build/map/next_js/resolveAxiosHelpers/findAxiosClients.js +4 -4
  269. package/build/map/next_js/resolveAxiosHelpers/findAxiosClients.js.map +1 -1
  270. package/build/map/next_js/resolveAxiosHelpers/findAxiosInstance.js +2 -2
  271. package/build/map/next_js/resolveAxiosHelpers/findAxiosInstance.js.map +1 -1
  272. package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js +5 -5
  273. package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js.map +1 -1
  274. package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js +10 -10
  275. package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js.map +1 -1
  276. package/build/map/next_js/resolveAxiosHelpers/handleZDotCreate.js +13 -9
  277. package/build/map/next_js/resolveAxiosHelpers/handleZDotCreate.js.map +1 -1
  278. package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js +12 -8
  279. package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js.map +1 -1
  280. package/build/map/next_js/resolveAxiosHelpers/processDirectAxiosCall.js +12 -8
  281. package/build/map/next_js/resolveAxiosHelpers/processDirectAxiosCall.js.map +1 -1
  282. package/build/map/next_js/resolveAxiosHelpers/processExportedEndpoints.js +11 -11
  283. package/build/map/next_js/resolveAxiosHelpers/processExportedEndpoints.js.map +1 -1
  284. package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js +16 -16
  285. package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js.map +1 -1
  286. package/build/map/next_js/resolveFetch.js +23 -23
  287. package/build/map/next_js/resolveFetch.js.map +1 -1
  288. package/build/map/next_js/resolveNewRequest.js +10 -10
  289. package/build/map/next_js/resolveNewRequest.js.map +1 -1
  290. package/build/map/next_js/resolveServerActions.js +4 -4
  291. package/build/map/next_js/resolveServerActions.js.map +1 -1
  292. package/build/map/next_js/utils.js +8 -2
  293. package/build/map/next_js/utils.js.map +1 -1
  294. package/build/map/react_js/getReactConnections.js +21 -14
  295. package/build/map/react_js/getReactConnections.js.map +1 -1
  296. package/build/map/svelte_js/interactive.js +3 -54
  297. package/build/map/svelte_js/interactive.js.map +1 -1
  298. package/build/map/vue_js/getViteConnections.js +23 -16
  299. package/build/map/vue_js/getViteConnections.js.map +1 -1
  300. package/build/map/vue_js/interactive.js +3 -63
  301. package/build/map/vue_js/interactive.js.map +1 -1
  302. package/build/map/vue_js/interactive_helpers/commandHandler.js +34 -283
  303. package/build/map/vue_js/interactive_helpers/commandHandler.js.map +1 -1
  304. package/build/map/vue_js/interactive_helpers/helpMenu.js +2 -10
  305. package/build/map/vue_js/interactive_helpers/helpMenu.js.map +1 -1
  306. package/build/map/vue_js/taint_utils.js +1 -1
  307. package/build/map/vue_js/taint_utils.js.map +1 -1
  308. package/build/map/vue_js/vue_resolveFetch.js +12 -12
  309. package/build/map/vue_js/vue_resolveFetch.js.map +1 -1
  310. package/build/map/vue_js/vue_resolveHttpClient.js +18 -18
  311. package/build/map/vue_js/vue_resolveHttpClient.js.map +1 -1
  312. package/build/map/vue_js/vue_resolveXhr.js +11 -11
  313. package/build/map/vue_js/vue_resolveXhr.js.map +1 -1
  314. package/build/mcp/chatOneShot.js +7 -7
  315. package/build/mcp/chatOneShot.js.map +1 -1
  316. package/build/mcp/claudeCodeCreds.js +5 -5
  317. package/build/mcp/claudeCodeCreds.js.map +1 -1
  318. package/build/mcp/cli.js +36 -35
  319. package/build/mcp/cli.js.map +1 -1
  320. package/build/mcp/config.js +4 -4
  321. package/build/mcp/config.js.map +1 -1
  322. package/build/mcp/index.js +7 -7
  323. package/build/mcp/index.js.map +1 -1
  324. package/build/mcp/mcpServer.js +3 -2
  325. package/build/mcp/mcpServer.js.map +1 -1
  326. package/build/mcp/skills.js +1 -0
  327. package/build/mcp/skills.js.map +1 -1
  328. package/build/mcp/tools.js +5 -4
  329. package/build/mcp/tools.js.map +1 -1
  330. package/build/proxy/checkFeasibility.js +8 -4
  331. package/build/proxy/checkFeasibility.js.map +1 -1
  332. package/build/proxy/checkFireWallBlocking.js +23 -13
  333. package/build/proxy/checkFireWallBlocking.js.map +1 -1
  334. package/build/proxy/detectBlockedResponse.js +205 -0
  335. package/build/proxy/detectBlockedResponse.js.map +1 -0
  336. package/build/proxy/genReq.js +434 -127
  337. package/build/proxy/genReq.js.map +1 -1
  338. package/build/proxy/index.js +3 -3
  339. package/build/proxy/index.js.map +1 -1
  340. package/build/proxy/oxylabsFallback.js +110 -0
  341. package/build/proxy/oxylabsFallback.js.map +1 -0
  342. package/build/proxy/proxyFeasibilityRequest.js +11 -9
  343. package/build/proxy/proxyFeasibilityRequest.js.map +1 -1
  344. package/build/refactor/index.js +83 -79
  345. package/build/refactor/index.js.map +1 -1
  346. package/build/refactor/next/index.js +69 -26
  347. package/build/refactor/next/index.js.map +1 -1
  348. package/build/refactor/next/transform.js +11 -4
  349. package/build/refactor/next/transform.js.map +1 -1
  350. package/build/refactor/next/validator.js +7 -7
  351. package/build/refactor/next/validator.js.map +1 -1
  352. package/build/refactor/react/index.js +13 -13
  353. package/build/refactor/react/index.js.map +1 -1
  354. package/build/refactor/react/validator.js +7 -7
  355. package/build/refactor/react/validator.js.map +1 -1
  356. package/build/refactor/react-vite/index.js +3 -3
  357. package/build/refactor/react-vite/index.js.map +1 -1
  358. package/build/refactor/remote/hf-client.js +1 -0
  359. package/build/refactor/remote/hf-client.js.map +1 -1
  360. package/build/refactor/remote/version-detect.js +12 -12
  361. package/build/refactor/remote/version-detect.js.map +1 -1
  362. package/build/refactor/vue/index.js +6 -6
  363. package/build/refactor/vue/index.js.map +1 -1
  364. package/build/refactor/vue/vite.js +6 -6
  365. package/build/refactor/vue/vite.js.map +1 -1
  366. package/build/report/index.js +30 -8
  367. package/build/report/index.js.map +1 -1
  368. package/build/report/swaggerJacker.js +63 -0
  369. package/build/report/swaggerJacker.js.map +1 -0
  370. package/build/report/utility/genHtml.js +7 -7
  371. package/build/report/utility/genHtml.js.map +1 -1
  372. package/build/report/utility/populateDb/populateAnalysisFindings.js +2 -2
  373. package/build/report/utility/populateDb/populateAnalysisFindings.js.map +1 -1
  374. package/build/report/utility/populateDb/populateEndpoints.js +3 -3
  375. package/build/report/utility/populateDb/populateEndpoints.js.map +1 -1
  376. package/build/report/utility/populateDb/populateMappedJson.js +2 -2
  377. package/build/report/utility/populateDb/populateMappedJson.js.map +1 -1
  378. package/build/report/utility/populateDb/populateMappedOpenapi.js +3 -3
  379. package/build/report/utility/populateDb/populateMappedOpenapi.js.map +1 -1
  380. package/build/run/bundler-detect.js +45 -9
  381. package/build/run/bundler-detect.js.map +1 -1
  382. package/build/run/cancellableStep.js +27 -0
  383. package/build/run/cancellableStep.js.map +1 -0
  384. package/build/run/dashboard/dashboardHtml.js +150 -0
  385. package/build/run/dashboard/dashboardHtml.js.map +1 -0
  386. package/build/run/dashboard/fsBrowser.js +43 -0
  387. package/build/run/dashboard/fsBrowser.js.map +1 -0
  388. package/build/run/dashboard/server.js +123 -0
  389. package/build/run/dashboard/server.js.map +1 -0
  390. package/build/run/dashboard/state.js +97 -0
  391. package/build/run/dashboard/state.js.map +1 -0
  392. package/build/run/index.js +239 -204
  393. package/build/run/index.js.map +1 -1
  394. package/build/run/interruptHandler.js +18 -0
  395. package/build/run/interruptHandler.js.map +1 -1
  396. package/build/run/outputDirectory.js +377 -0
  397. package/build/run/outputDirectory.js.map +1 -0
  398. package/build/sourcemaps/index.js +116 -29
  399. package/build/sourcemaps/index.js.map +1 -1
  400. package/build/strings/index.js +38 -28
  401. package/build/strings/index.js.map +1 -1
  402. package/build/strings/openapi.js +4 -4
  403. package/build/strings/openapi.js.map +1 -1
  404. package/build/strings/permutate.js +4 -4
  405. package/build/strings/permutate.js.map +1 -1
  406. package/build/strings/secrets.js +1 -0
  407. package/build/strings/secrets.js.map +1 -1
  408. package/build/strings/trufflehog.js +66 -19
  409. package/build/strings/trufflehog.js.map +1 -1
  410. package/build/strings/trufflehogConfig.js +36 -0
  411. package/build/strings/trufflehogConfig.js.map +1 -0
  412. package/build/strings/trufflehogDownload.js +115 -0
  413. package/build/strings/trufflehogDownload.js.map +1 -0
  414. package/build/utility/ai.js +33 -4
  415. package/build/utility/ai.js.map +1 -1
  416. package/build/utility/banner.js +4 -3
  417. package/build/utility/banner.js.map +1 -1
  418. package/build/utility/configureSandbox.js +2 -2
  419. package/build/utility/configureSandbox.js.map +1 -1
  420. package/build/utility/downloadProgress.js +99 -0
  421. package/build/utility/downloadProgress.js.map +1 -0
  422. package/build/utility/globals.js +19 -11
  423. package/build/utility/globals.js.map +1 -1
  424. package/build/utility/heap.js +2 -1
  425. package/build/utility/heap.js.map +1 -1
  426. package/build/utility/makeReq.js +490 -257
  427. package/build/utility/makeReq.js.map +1 -1
  428. package/build/utility/openapiGenerator.js +2 -2
  429. package/build/utility/openapiGenerator.js.map +1 -1
  430. package/build/utility/printMsg.js +53 -0
  431. package/build/utility/printMsg.js.map +1 -0
  432. package/build/utility/progressLog.js +68 -7
  433. package/build/utility/progressLog.js.map +1 -1
  434. package/build/utility/resolvePath.js +2 -1
  435. package/build/utility/resolvePath.js.map +1 -1
  436. package/build/utility/ruleVersionMap.js +73 -0
  437. package/build/utility/ruleVersionMap.js.map +1 -0
  438. package/build/utility/targetInputs.js +177 -0
  439. package/build/utility/targetInputs.js.map +1 -0
  440. package/build/utility/urlUtils.js +37 -1
  441. package/build/utility/urlUtils.js.map +1 -1
  442. package/config.dist.yaml +251 -0
  443. package/contributing/testing.md +106 -0
  444. package/eslint.config.js +24 -0
  445. package/package.json +22 -5
  446. package/scripts/exploit-smoke-test.js +82 -0
  447. package/scripts/framework-detect-smoke-test.js +64 -0
  448. package/scripts/postinstall-completion.mjs +40 -0
  449. package/scripts/smoke-test.js +12 -0
  450. package/build/lazyLoad/downloadLoadedJsUtil.js +0 -98
  451. package/build/lazyLoad/downloadLoadedJsUtil.js.map +0 -1
  452. package/build/map/next_js/interactive_helpers/esqueryGen.js.map +0 -1
  453. package/build/map/next_js/interactive_helpers/inputPatch.js.map +0 -1
  454. package/build/map/next_js/interactive_helpers/keybindings.js.map +0 -1
  455. package/build/map/next_js/interactive_helpers/printer.js.map +0 -1
  456. package/build/map/next_js/interactive_helpers/ui.js.map +0 -1
  457. /package/build/map/{next_js/interactive_helpers → interactive-mode}/esqueryGen.js +0 -0
  458. /package/build/map/{next_js/interactive_helpers → interactive-mode}/inputPatch.js +0 -0
  459. /package/build/map/{next_js/interactive_helpers → interactive-mode}/keybindings.js +0 -0
  460. /package/build/map/{next_js/interactive_helpers → interactive-mode}/printer.js +0 -0
  461. /package/build/map/{next_js/interactive_helpers → interactive-mode}/ui.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC;AACzF,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;AACjD,IAAI,CAAC,aAAa,IAAI,CAAC,eAAe,EAAE,CAAC;IACrC,MAAM,CAAC,GAAS,EAAE,kDAAC,OAAA,WAAW,EAAE,CAAA,GAAA,CAAC,EAAE,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE7D,OAAO,CAAC,aAAa,CAAC;IAClB,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACzC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;IAC1C,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IAChD,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7C,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;IAC3C,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IAC5C,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;IAC7C,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE;QACrB,oEAAoE;QACpE,OAAO,GAAG;aACL,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACV,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3E,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC/F,CAAC,CAAC;AAEH,4CAA4C;AAC5C,MAAM,cAAc,GAAG,CAAC,aAAa,CAAC,CAAC;AAEvC;;;GAGG;AACH,SAAS,cAAc,CAAC,QAA4B;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,QAAQ,qCAAqC,CAAC,CAAC,CAAC;QACzG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAoB;IAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,+BAA+B,YAAY,8BAA8B,CAAC,CAAC,CAAC;QACvG,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACJ,WAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;AACL,CAAC;AAED,OAAO;KACF,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,sBAAsB,EAAE,+DAA+D,CAAC;KAC/F,MAAM,CAAC,0BAA0B,EAAE,kBAAkB,EAAE,QAAQ,CAAC;KAChE,MAAM,CAAC,gBAAgB,EAAE,kDAAkD,EAAE,KAAK,CAAC;KACnF,MAAM,CAAC,qBAAqB,EAAE,2DAA2D,EAAE,GAAG,CAAC;KAC/F,MAAM,CAAC,yBAAyB,EAAE,0BAA0B,EAAE,GAAG,CAAC;KAClE,MAAM,CAAC,uBAAuB,EAAE,2DAA2D,EAAE,KAAK,CAAC;KACnG,MAAM,CAAC,oBAAoB,EAAE,iCAAiC,EAAE,qBAAqB,CAAC;KACtF,MAAM,CAAC,uBAAuB,EAAE,sDAAsD,EAAE,oBAAoB,CAAC;KAC7G,MAAM,CAAC,oBAAoB,EAAE,+DAA+D,EAAE,KAAK,CAAC;KACpG,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,EAAE,kBAAkB,CAAC;KACjF,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,KAAK,CAAC;KAC5D,MAAM,CAAC,cAAc,EAAE,0DAA0D,EAAE,KAAK,CAAC;KACzF,MAAM,CAAC,WAAW,EAAE,gDAAgD,EAAE,KAAK,CAAC;KAC5E,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,OAAO,CAAC;KAC/D,MAAM,CAAC,gBAAgB,EAAE,sCAAsC,EAAE,KAAK,CAAC;KACvE,MAAM,CAAC,cAAc,EAAE,yBAAyB,CAAC;KACjD,MAAM,CAAC,YAAY,EAAE,sCAAsC,EAAE,KAAK,CAAC;KACnE,MAAM,CAAC,6BAA6B,EAAE,gCAAgC,EAAE,WAAW,CAAC;KACpF,MAAM,CAAC,YAAY,EAAE,sBAAsB,EAAE,KAAK,CAAC;KACnD,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,EAAE,eAAe,CAAC;KACpF,MAAM,CAAC,+BAA+B,EAAE,8CAA8C,EAAE,IAAI,CAAC;KAC7F,MAAM,CAAC,oBAAoB,EAAE,gDAAgD,EAAE,GAAG,CAAC;KACnF,MAAM,CAAC,8BAA8B,EAAE,kEAAkE,EAAE,IAAI,CAAC;KAChH,MAAM,CACH,+BAA+B,EAC/B,uEAAuE,EACvE,IAAI,CACP;KACA,MAAM,CAAC,qBAAqB,EAAE,kEAAkE,EAAE,KAAK,CAAC;KACxG,MAAM,CACH,6BAA6B,EAC7B,yFAAyF,CAC5F;KACA,MAAM,CACH,6BAA6B,EAC7B,0FAA0F,CAC7F;KACA,MAAM,CACH,4BAA4B,EAC5B,6IAA6I,CAChJ;KACA,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;IAClB,gDAAgD;IAChD,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrD,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CACT,KAAK,CAAC,GAAG,CAAC,2BAA2B,MAAM,wBAAwB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CACjG,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAC/C,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YACrC,KAAK,MAAM,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAa,GAAG,CAAC,cAAc;QAC/C,CAAC,CAAC,GAAG,CAAC,cAAc;aACb,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,cAAc,GAAa,GAAG,CAAC,cAAc;QAC/C,CAAC,CAAC,GAAG,CAAC,cAAc;aACb,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,cAAc,CAAC,GAAG,CAAC,CAAC;IACpB,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC9C,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5C,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAEnC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEtB,MAAM,QAAQ,CACV,GAAG,CAAC,GAAG,EACP,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EACpB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EACnB,GAAG,CAAC,kBAAkB,EACtB,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,cAAc,EAClB,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EACzB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EACrB,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,IAAI,EACvC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,cAAc,EACd,cAAc,EACd,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,IAAI,CACtC,CAAC;AACN,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,iBAAiB,EAAE,0DAA0D,CAAC;KACrF,MAAM,CAAC,6BAA6B,EAAE,+BAA+B,CAAC;KACtE,MAAM,CAAC,yBAAyB,EAAE,0CAA0C,EAAE,WAAW,CAAC;KAC1F,MAAM,CAAC,0BAA0B,EAAE,iEAAiE,EAAE,MAAM,CAAC;KAC7G,MAAM,CAAC,mBAAmB,EAAE,+EAA+E,CAAC;KAC5G,MAAM,CAAC,YAAY,EAAE,6BAA6B,EAAE,KAAK,CAAC;KAC1D,MAAM,CAAC,sBAAsB,EAAE,gCAAgC,CAAC;KAChE,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;IAClB,MAAM,SAAS,CACX,GAAG,CAAC,GAAG,EACP,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAC3B,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,UAAU,CACjB,CAAC;AACN,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,+BAA+B,CAAC;KAC5C,cAAc,CAAC,6BAA6B,EAAE,+BAA+B,CAAC;KAC9E,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,EAAE,cAAc,CAAC;KAC9E,MAAM,CAAC,oBAAoB,EAAE,2BAA2B,EAAE,KAAK,CAAC;KAChE,MAAM,CACH,6BAA6B,EAC7B,8DAA8D,EAC9D,gBAAgB,CACnB;KACA,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,EAAE,KAAK,CAAC;KAClE,MAAM,CAAC,WAAW,EAAE,qDAAqD,EAAE,KAAK,CAAC;KACjF,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,KAAK,CAAC;KACvD,MAAM,CAAC,cAAc,EAAE,uDAAuD,EAAE,KAAK,CAAC;KACtF,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;IAClB,MAAM,OAAO,CACT,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,UAAU,CACjB,CAAC;AACN,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,+EAA+E,CAAC;KAC5F,MAAM,CAAC,YAAY,EAAE,sDAAsD,EAAE,KAAK,CAAC;KACnF,MAAM,CAAC,oBAAoB,EAAE,4CAA4C,CAAC;KAC1E,MAAM,CAAC,eAAe,EAAE,sEAAsE,EAAE,KAAK,CAAC;KACtG,MAAM,CAAC,uBAAuB,EAAE,kDAAkD,CAAC;KACnF,MAAM,CACH,wBAAwB,EACxB,oGAAoG,CACvG;KACA,MAAM,CACH,wBAAwB,EACxB,wGAAwG,CAC3G;KACA,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,EAAE,oBAAoB,CAAC;KAChF,MAAM,CAAC,YAAY,EAAE,oDAAoD,EAAE,KAAK,CAAC;KACjF,MAAM,CACH,eAAe,EACf,wKAAwK,EACxK,KAAK,CACR;KACA,MAAM,CAAC,yBAAyB,EAAE,6BAA6B,CAAC;KAChE,MAAM,CACH,yBAAyB,EACzB,yGAAyG,CAC5G;KACA,MAAM,CACH,eAAe,EACf,sGAAsG,CACzG;KACA,MAAM,CAAC,+BAA+B,EAAE,iDAAiD,CAAC;KAC1F,MAAM,CAAC,+BAA+B,EAAE,iDAAiD,CAAC;KAC1F,MAAM,CAAC,6BAA6B,EAAE,qDAAqD,CAAC;KAC5F,MAAM,CACH,uBAAuB,EACvB,mHAAmH,CACtH;KACA,MAAM,CACH,2BAA2B,EAC3B,+HAA+H,CAClI;KACA,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;IAClB,IAAI,CAAC;QACD,MAAM,KAAK,CAAC;YACR,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,QAAQ,EAAE,GAAG,CAAC,KAAK;YACnB,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;SACzC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,6BAA6B,EAAE,+BAA+B,CAAC;KACtE,MAAM,CAAC,mBAAmB,EAAE,+EAA+E,CAAC;KAC5G,MAAM,CAAC,YAAY,EAAE,6BAA6B,EAAE,KAAK,CAAC;KAC1D,MAAM,CAAC,qBAAqB,EAAE,sCAAsC,EAAE,QAAQ,CAAC;KAC/E,MAAM,CAAC,uBAAuB,EAAE,iEAAiE,EAAE,MAAM,CAAC;KAC1G,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,KAAK,CAAC;KACtD,MAAM,CACH,yBAAyB,EACzB,8MAA8M,EAC9M,CAAC,GAAW,EAAE,IAAc,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAChG,EAAc,CACjB;KACA,MAAM,CAAC,gBAAgB,EAAE,sEAAsE,CAAC;KAChG,MAAM,CAAC,wBAAwB,EAAE,iCAAiC,EAAE,GAAG,CAAC;KACxE,MAAM,CAAC,0BAA0B,EAAE,4DAA4D,EAAE,QAAQ,CAAC;KAC1G,MAAM,CAAC,0BAA0B,EAAE,kDAAkD,CAAC;KACtF,MAAM,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;KAClD,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,CAAC;KAC3D,MAAM,CAAC,WAAW,EAAE,qCAAqC,EAAE,KAAK,CAAC;KACjE,MAAM,CAAC,yBAAyB,EAAE,8BAA8B,EAAE,qBAAqB,CAAC;KACxF,MAAM,CAAC,qBAAqB,EAAE,yDAAyD,EAAE,KAAK,CAAC;KAC/F,MAAM,CAAC,cAAc,EAAE,gEAAgE,CAAC;KACxF,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC;KAC1C,MAAM,CACH,2BAA2B,EAC3B,uFAAuF,EACvF,GAAG,CACN;KACA,MAAM,CAAC,iBAAiB,EAAE,gDAAgD,CAAC;KAC3E,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;;IAClB,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;QAAE,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,WAAW,CAAC,KAAK,CAAC,CAAA,MAAA,GAAG,CAAC,EAAE,0CAAE,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE,CAAC,CAAC;IAC5C,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpD,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC9C,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,GAAG,CAAC,UAAU;QAAE,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9D,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACpD,2EAA2E;IAC3E,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAElE,sBAAsB;IACtB,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;YACvC,IAAI,MAAM,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAA,GAAG,CAAC,iBAAiB,mCAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,WAAW,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,GAAG,CACL,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EACrB,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,OAAO,IAAI,EAAE,CACpB,CAAC;AACN,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,0BAA0B,EAAE,kBAAkB,EAAE,aAAa,CAAC;KACrE,MAAM,CAAC,0BAA0B,EAAE,kBAAkB,EAAE,mBAAmB,CAAC;KAC3E,MAAM,CAAC,mBAAmB,EAAE,+EAA+E,CAAC;KAC5G,MAAM,CAAC,YAAY,EAAE,6BAA6B,EAAE,KAAK,CAAC;KAC1D,MAAM,CACH,qBAAqB,EACrB,8GAA8G,CACjH;KACA,MAAM,CACH,oCAAoC,EACpC,kHAAkH,EAClH,KAAK,CACR;KACA,MAAM,CAAC,iBAAiB,EAAE,0CAA0C,EAAE,KAAK,CAAC;KAC5E,MAAM,CAAC,qBAAqB,EAAE,iDAAiD,EAAE,KAAK,CAAC;KACvF,MAAM,CACH,aAAa,EACb,2GAA2G,CAC9G;KACA,MAAM,CACH,4BAA4B,EAC5B,0LAA0L,CAC7L;KACA,MAAM,CACH,qBAAqB,EACrB,4NAA4N,CAC/N;KACA,MAAM,CACH,kBAAkB,EAClB,qIAAqI,EACrI,KAAK,CACR;KACA,MAAM,CACH,kCAAkC,EAClC,oRAAoR,CACvR;KACA,MAAM,CACH,wCAAwC,EACxC,8GAA8G,EAC9G,GAAG,CACN;KACA,MAAM,CACH,qCAAqC,EACrC,2HAA2H,EAC3H,KAAK,CACR;KACA,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;;IAClB,MAAM,IAAI,GAAyB,GAAG,CAAC,IAAI;QACvC,CAAC,CAAE,GAAG,CAAC,IAAe;aACf,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAA,GAAG,CAAC,6BAA6B,mCAAI,CAAC,CAAC,CAAC;IACrF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,6BAA6B,CAAC,IAAI,6BAA6B,GAAG,CAAC,EAAE,CAAC;QACxF,OAAO,CAAC,KAAK,CACT,2EAA2E,GAAG,CAAC,6BAA6B,IAAI,CACnH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE;QAC3E,gBAAgB,EAAE,MAAM,CAAC,MAAA,GAAG,CAAC,gBAAgB,mCAAI,GAAG,CAAC;QACrD,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY;QAChC,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe;QACtC,QAAQ,EAAE,GAAG,CAAC,MAAM,KAAK,KAAK;QAC9B,gBAAgB,EAAE,GAAG,CAAC,gBAAsC;QAC5D,IAAI;QACJ,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa;QAClC,mBAAmB,EAAE,GAAG,CAAC,mBAAyC;QAClE,6BAA6B;QAC7B,6BAA6B,EAAE,CAAC,CAAC,GAAG,CAAC,6BAA6B;KACrE,CAAC,CAAC;AACP,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,kBAAkB,CAAC;KAC/B,MAAM,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;KAC3D,MAAM,CAAC,0BAA0B,EAAE,kBAAkB,EAAE,aAAa,CAAC;KACrE,MAAM,CAAC,mBAAmB,EAAE,+EAA+E,CAAC;KAC5G,MAAM,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;KACvD,MAAM,CAAC,YAAY,EAAE,6BAA6B,EAAE,KAAK,CAAC;KAC1D,MAAM,CAAC,YAAY,EAAE,oBAAoB,EAAE,KAAK,CAAC;KACjD,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,cAAc,CAAC;KACtE,MAAM,CAAC,+BAA+B,EAAE,gEAAgE,EAAE,KAAK,CAAC;KAChH,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;IAClB,MAAM,OAAO,CACT,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,MAAM,EACV,CAAC,CAAC,GAAG,CAAC,wBAAwB,CACjC,CAAC;AACN,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,wBAAwB,EAAE,sBAAsB,EAAE,aAAa,CAAC;KACvE,MAAM,CAAC,0BAA0B,EAAE,kBAAkB,CAAC;KACtD,MAAM,CAAC,2BAA2B,EAAE,mBAAmB,CAAC;KACxD,MAAM,CAAC,6BAA6B,EAAE,qBAAqB,CAAC;KAC5D,MAAM,CAAC,6CAA6C,EAAE,0BAA0B,CAAC;KACjF,MAAM,CAAC,qBAAqB,EAAE,0CAA0C,EAAE,QAAQ,CAAC;KACnF,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;IAClB,MAAM,MAAM,CACR,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,iBAAiB,EACrB,GAAG,CAAC,MAAM,CACb,CAAC;AACN,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,iBAAiB,CAAC;KAC9B,MAAM,CAAC,sBAAsB,EAAE,+DAA+D,CAAC;KAC/F,MAAM,CAAC,wBAAwB,EAAE,oDAAoD,CAAC;KACtF,MAAM,CACH,+BAA+B,EAC/B,2FAA2F,EAC3F,KAAK,CACR;KACA,MAAM,CACH,yBAAyB,EACzB,0NAA0N,EAC1N,CAAC,GAAW,EAAE,IAAc,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAChG,EAAc,CACjB;KACA,MAAM,CAAC,0BAA0B,EAAE,kBAAkB,EAAE,QAAQ,CAAC;KAChE,MAAM,CACH,oBAAoB,EACpB,2JAA2J,EAC3J,KAAK,CACR;KACA,MAAM,CAAC,gBAAgB,EAAE,kDAAkD,EAAE,KAAK,CAAC;KACnF,MAAM,CAAC,qBAAqB,EAAE,2DAA2D,EAAE,GAAG,CAAC;KAC/F,MAAM,CAAC,yBAAyB,EAAE,0BAA0B,EAAE,GAAG,CAAC;KAClE,MAAM,CAAC,uBAAuB,EAAE,sDAAsD,EAAE,oBAAoB,CAAC;KAC7G,MAAM,CAAC,oBAAoB,EAAE,+DAA+D,EAAE,KAAK,CAAC;KACpG,MAAM,CACH,sBAAsB,EACtB,uLAAuL,EACvL,KAAK,CACR;KACA,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,EAAE,kBAAkB,CAAC;KACjF,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,KAAK,CAAC;KAC5D,MAAM,CAAC,cAAc,EAAE,0DAA0D,EAAE,KAAK,CAAC;KACzF,MAAM,CAAC,WAAW,EAAE,gDAAgD,EAAE,KAAK,CAAC;KAC5E,MAAM,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,CAAC;KAC9C,MAAM,CAAC,cAAc,EAAE,uDAAuD,EAAE,KAAK,CAAC;KACtF,MAAM,CAAC,gBAAgB,EAAE,sEAAsE,CAAC;KAChG,MAAM,CAAC,wBAAwB,EAAE,iCAAiC,EAAE,GAAG,CAAC;KACxE,MAAM,CAAC,0BAA0B,EAAE,4DAA4D,EAAE,QAAQ,CAAC;KAC1G,MAAM,CAAC,0BAA0B,EAAE,kDAAkD,CAAC;KACtF,MAAM,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;KAClD,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,CAAC;KAC3D,MAAM,CAAC,yBAAyB,EAAE,sEAAsE,EAAE,KAAK,CAAC;KAChH,MAAM,CAAC,cAAc,EAAE,gEAAgE,CAAC;KACxF,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC;KAC1C,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,OAAO,CAAC;KAC/D,MAAM,CAAC,gBAAgB,EAAE,sCAAsC,EAAE,KAAK,CAAC;KACvE,MAAM,CAAC,cAAc,EAAE,yBAAyB,CAAC;KACjD,MAAM,CAAC,6BAA6B,EAAE,gCAAgC,EAAE,WAAW,CAAC;KACpF,MAAM,CAAC,YAAY,EAAE,sBAAsB,EAAE,KAAK,CAAC;KACnD,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,EAAE,eAAe,CAAC;KACpF,MAAM,CAAC,+BAA+B,EAAE,8CAA8C,EAAE,IAAI,CAAC;KAC7F,MAAM,CAAC,oBAAoB,EAAE,gDAAgD,EAAE,GAAG,CAAC;KACnF,MAAM,CAAC,8BAA8B,EAAE,iEAAiE,EAAE,IAAI,CAAC;KAC/G,MAAM,CACH,+BAA+B,EAC/B,uEAAuE,EACvE,IAAI,CACP;KACA,MAAM,CAAC,iBAAiB,EAAE,gDAAgD,CAAC;KAC3E,MAAM,CAAC,qBAAqB,EAAE,kEAAkE,EAAE,KAAK,CAAC;KACxG,MAAM,CACH,6BAA6B,EAC7B,kGAAkG,CACrG;KACA,MAAM,CACH,6BAA6B,EAC7B,mGAAmG,CACtG;KACA,MAAM,CACH,4BAA4B,EAC5B,sJAAsJ,CACzJ;KACA,MAAM,CACH,qCAAqC,EACrC,0GAA0G,EAC1G,IAAI,CACP;KACA,MAAM,CAAC,oBAAoB,EAAE,+CAA+C,EAAE,KAAK,CAAC;KACpF,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;;IAClB,gDAAgD;IAChD,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrD,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CACT,KAAK,CAAC,GAAG,CAAC,2BAA2B,MAAM,wBAAwB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CACjG,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAC/C,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YACrC,KAAK,MAAM,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,yCAAyC;IACzC,MAAM,cAAc,GAAa,GAAG,CAAC,cAAc;QAC/C,CAAC,CAAC,GAAG,CAAC,cAAc;aACb,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,cAAc,GAAa,GAAG,CAAC,cAAc;QAC/C,CAAC,CAAC,GAAG,CAAC,cAAc;aACb,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IACD,GAAG,CAAC,eAAe,GAAG,cAAc,CAAC;IACrC,GAAG,CAAC,eAAe,GAAG,cAAc,CAAC;IAErC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;QAAE,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,KAAK,CAAC,CAAA,MAAA,GAAG,CAAC,EAAE,0CAAE,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE,CAAC,CAAC;IAC5C,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC9C,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,UAAU;QAAE,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9D,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACvD,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClE,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC9C,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5C,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAExC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEtB,sBAAsB;IACtB,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;YACvC,IAAI,MAAM,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kEAAkE,CAAC;KAC/E,cAAc,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;KAC9D,cAAc,CAAC,iBAAiB,EAAE,qEAAqE,CAAC;KACxG,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,EAAE,kBAAkB,CAAC;KACjF,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;IAClB,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,qDAAqD,CAAC;KAClE,cAAc,CAAC,sBAAsB,EAAE,+DAA+D,CAAC;KACvG,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,4DAA4D,EAAE,MAAM,CAAC;KACtG,MAAM,CAAC,yBAAyB,EAAE,wCAAwC,EAAE,GAAG,CAAC;KAChF,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,OAAO,CAAC;KAC/D,MAAM,CAAC,gBAAgB,EAAE,sCAAsC,EAAE,KAAK,CAAC;KACvE,MAAM,CAAC,cAAc,EAAE,yBAAyB,CAAC;KACjD,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;IAClB,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAClC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,6EAA6E,CAAC;KAC1F,MAAM,CAAC,OAAO,EAAE,4BAA4B,EAAE,KAAK,CAAC;KACpD,MAAM,CAAC,UAAU,EAAE,kDAAkD,EAAE,KAAK,CAAC;KAC7E,MAAM,CACH,qBAAqB,EACrB,yFAAyF,EACzF,CAAC,GAAW,EAAE,IAAc,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAC/C,EAAc,CACjB;KACA,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,SAAS,CAAC;KAC/D,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;KACzD,MAAM,CAAC,iBAAiB,EAAE,8DAA8D,CAAC;KACzF,MAAM,CAAC,uBAAuB,EAAE,yCAAyC,CAAC;KAC1E,MAAM,CAAC,2BAA2B,EAAE,+DAA+D,CAAC;KACpG,MAAM,CAAC,yBAAyB,EAAE,8DAA8D,CAAC;KACjG,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;IAClB,MAAM,GAAG,CAAC;QACN,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,UAAU,EAAE,GAAG,CAAC,MAAM;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;QAC1C,cAAc,EAAE,GAAG,CAAC,cAAc;KACrC,CAAC,CAAC;AACP,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,+EAA+E,CAAC;KAC5F,MAAM,CAAC,0BAA0B,EAAE,uCAAuC,EAAE,QAAQ,CAAC;KACrF,MAAM,CAAC,yBAAyB,EAAE,kCAAkC,EAAE,KAAK,CAAC;KAC5E,MAAM,CAAC,sBAAsB,EAAE,iDAAiD,EAAE,GAAG,CAAC;KACtF,MAAM,CAAC,iCAAiC,EAAE,mCAAmC,CAAC;KAC9E,MAAM,CAAC,mCAAmC,EAAE,+CAA+C,EAAE,KAAK,CAAC;KACnG,MAAM,CAAC,qBAAqB,EAAE,2DAA2D,EAAE,oBAAoB,CAAC;KAChH,MAAM,CAAC,gBAAgB,EAAE,yEAAyE,EAAE,EAAE,CAAC;KACvG,MAAM,CACH,yBAAyB,EACzB,kFAAkF,EAClF,KAAK,CACR;KACA,MAAM,CACH,qBAAqB,EACrB,8FAA8F,CACjG;KACA,MAAM,CAAC,wBAAwB,EAAE,qEAAqE,EAAE,GAAG,CAAC;KAC5G,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;IAClB,MAAM,MAAM,CACR,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,cAAc,EAClB,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,EAC/B,GAAG,CAAC,eAAe,EACnB,GAAG,CAAC,eAAe,EACnB,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAAI,IAAI,EAAE,EACd,GAAG,CAAC,mBAAmB,EACvB,GAAG,CAAC,UAAU,EACd,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CACpC,CAAC;AACN,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,cAAc,CAAC,oBAAoB,EAAE,qDAAqD,CAAC;KAC3F,MAAM,CAAC,0BAA0B,EAAE,6CAA6C,EAAE,WAAW,CAAC;KAC9F,MAAM,CAAC,CAAO,GAAG,EAAE,EAAE;IAClB,MAAM,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO;KACF,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,0DAA0D,CAAC;KACvE,QAAQ,CAAC,SAAS,EAAE,gCAAgC,CAAC;KACrD,WAAW,CACR,OAAO,EACP;;;;sEAI8D,CACjE;KACA,MAAM,CAAC,CAAO,KAAK,EAAE,EAAE;IACpB,UAAU,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC,CAAA,CAAC,CAAC;AAEP,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC;AACzF,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;AACjD,IAAI,CAAC,aAAa,IAAI,CAAC,eAAe,EAAE,CAAC;IACrC,MAAM,CAAC,GAAS,EAAE,kDAAC,OAAA,WAAW,EAAE,CAAA,GAAA,CAAC,EAAE,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,IAAI,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,MAAM,CAAC,GAAS,EAAE,kDAAC,OAAA,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA,GAAA,CAAC,EAAE,CAAC;AAC3D,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACb,IACI,KAAK,YAAY,sBAAsB;QACvC,KAAK,YAAY,iCAAiC;QAClD,KAAK,YAAY,gBAAgB;QACjC,KAAK,YAAY,uBAAuB,EAC1C,CAAC;QACC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACJ,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC"}
@@ -8,12 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import makeRequest from "../../utility/makeReq.js";
11
- import chalk from "chalk";
12
11
  import * as cheerio from "cheerio";
13
12
  import resolvePath from "../../utility/resolvePath.js";
13
+ import { printMsg, MSG } from "../../utility/printMsg.js";
14
14
  const angular_getFromPageSource = (url) => __awaiter(void 0, void 0, void 0, function* () {
15
- console.log(chalk.cyan("[i] Analyzing page source"));
16
- let foundUrls = [];
15
+ printMsg(MSG.Header, "[i] Analyzing page source");
16
+ const foundUrls = [];
17
17
  const pageSource = yield makeRequest(url, {});
18
18
  const body = yield pageSource.text();
19
19
  // cheerio to parse the page source
@@ -1 +1 @@
1
- {"version":3,"file":"angular_getFromPageSource.js","sourceRoot":"","sources":["../../../src/lazyLoad/angular/angular_getFromPageSource.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,WAAW,MAAM,8BAA8B,CAAC;AAEvD,MAAM,yBAAyB,GAAG,CAAO,GAAW,EAAE,EAAE;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAErD,IAAI,SAAS,GAAa,EAAE,CAAC;IAE7B,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IAErC,mCAAmC;IACnC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7B,2BAA2B;IAC3B,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,OAAO,EAAE,CAAC;YACV,wEAAwE;YACxE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;iBAAM,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,oCAAoC;gBACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,SAAS,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,SAAS,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAA,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"angular_getFromPageSource.js","sourceRoot":"","sources":["../../../src/lazyLoad/angular/angular_getFromPageSource.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,yBAAyB,GAAG,CAAO,GAAW,EAAE,EAAE;IACpD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAElD,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IAErC,mCAAmC;IACnC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7B,2BAA2B;IAC3B,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,OAAO,EAAE,CAAC;YACV,wEAAwE;YACxE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;iBAAM,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,oCAAoC;gBACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,SAAS,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,SAAS,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAA,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -7,13 +7,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import chalk from "chalk";
11
10
  import path from "path";
12
11
  import fs from "fs";
13
12
  import prettier from "prettier";
14
13
  import makeRequest from "../utility/makeReq.js";
15
- import { getURLDirectory } from "../utility/urlUtils.js";
14
+ import { getURLDirectory, hostMatchesScope } from "../utility/urlUtils.js";
16
15
  import { getScope, getMaxReqQueue } from "./globals.js"; // Import scope and max_req_queue functions
16
+ import { getSanitizedAssetFilename, resolveAssetOutputDirectory } from "./outputPath.js";
17
+ import { getDownloadedAssetKind, readDownloadedAssetResponse } from "./downloadResponse.js";
18
+ import * as globalsUtil from "../utility/globals.js";
19
+ import { printMsg, MSG } from "../utility/printMsg.js";
17
20
  /**
18
21
  * Downloads the provided JavaScript or JSON URLs and stores them in the given output directory.
19
22
  *
@@ -29,7 +32,7 @@ import { getScope, getMaxReqQueue } from "./globals.js"; // Import scope and max
29
32
  // and Prettier's internal AST for a 2 MB file can consume hundreds of MB.
30
33
  const PRETTIER_SIZE_LIMIT = 500 * 1024; // 500 KB
31
34
  const downloadFiles = (urls, output) => __awaiter(void 0, void 0, void 0, function* () {
32
- console.log(chalk.cyan(`[i] Attempting to download ${urls.length} JS chunks`));
35
+ printMsg(MSG.Header, `[i] Attempting to download ${urls.length} JS chunks`);
33
36
  fs.mkdirSync(output, { recursive: true });
34
37
  const ignoredJSFiles = [];
35
38
  const ignoredJSDomains = [];
@@ -37,73 +40,81 @@ const downloadFiles = (urls, output) => __awaiter(void 0, void 0, void 0, functi
37
40
  let cursor = 0;
38
41
  const concurrency = Math.max(1, getMaxReqQueue());
39
42
  const processOne = (url) => __awaiter(void 0, void 0, void 0, function* () {
40
- var _a, _b;
41
43
  try {
42
44
  if (!url.match(/(\.mjs\.map|\.mjs|\.js|\.json|\.js\.map|\.vue)/) ||
43
45
  url.match(/lang\.(css|scss|sass|less|styl)/)) {
44
- console.log(chalk.yellow(`[i] Ignored ${url}`));
46
+ printMsg(MSG.Warn, `[i] Ignored ${url}`);
45
47
  return;
46
48
  }
47
- const { host, directory } = getURLDirectory(url);
48
- if (!getScope().includes("*") && !getScope().includes(host)) {
49
+ const { rawHost } = getURLDirectory(url);
50
+ if (!hostMatchesScope(rawHost, getScope())) {
49
51
  ignoredJSFiles.push(url);
50
- if (!ignoredJSDomains.includes(host)) {
51
- ignoredJSDomains.push(host);
52
+ if (!ignoredJSDomains.includes(rawHost)) {
53
+ ignoredJSDomains.push(rawHost);
52
54
  }
53
55
  return;
54
56
  }
55
- const childDir = path.join(output, host, directory);
56
- fs.mkdirSync(childDir, { recursive: true });
57
57
  let res;
58
58
  try {
59
- res = yield makeRequest(url, {});
59
+ res = yield makeRequest(url, { reportErrors: true });
60
60
  }
61
61
  catch (err) {
62
- console.error(chalk.red(`[!] Failed to download: ${url}`));
62
+ printMsg(MSG.Err, `[!] Failed to download: ${url}`);
63
63
  return;
64
64
  }
65
65
  if (!res) {
66
- console.error(chalk.red(`[!] Failed to download: ${url}`));
66
+ // makeRequest owns the detailed fetch diagnostic.
67
67
  return;
68
68
  }
69
- const rawText = yield res.text();
70
- const file = url.match(/\.json/) || url.match(/\.m?js\.map/) ? rawText : `// File Source: ${url}\n${rawText}`;
71
- let filename;
72
- try {
73
- filename = (_b = (_a = url
74
- .split("/")
75
- .pop()) === null || _a === void 0 ? void 0 : _a.match(/[a-zA-Z0-9\.\-_]+\.(mjs(\.map)?|js(on)?(\.map)?|vue)/)) === null || _b === void 0 ? void 0 : _b[0];
76
- }
77
- catch (_c) {
78
- for (const chunk of url.split("/")) {
79
- if (chunk.match(/\.(mjs(\.map)?|js(on)?|vue)$/)) {
80
- filename = chunk;
81
- break;
82
- }
83
- }
69
+ const responseResult = yield readDownloadedAssetResponse(url, res);
70
+ if (responseResult.ok === false) {
71
+ const label = responseResult.failure === "invalidResponse" ? "Invalid response" : "Failed to download";
72
+ printMsg(MSG.Err, `[!] ${label}: ${url} : ${responseResult.reason}`);
73
+ return;
84
74
  }
75
+ const rawText = responseResult.body;
76
+ const assetKind = getDownloadedAssetKind(url);
77
+ const file = assetKind === "json" ? rawText : `// File Source: ${url}\n${rawText}`;
78
+ const filename = getSanitizedAssetFilename(url);
85
79
  if (!filename) {
86
- console.warn(chalk.yellow(`[!] Could not determine filename for URL: ${url}. Skipping.`));
80
+ printMsg(MSG.Warn, `[!] Could not determine filename for URL: ${url}. Skipping.`);
87
81
  return;
88
82
  }
83
+ const childDir = resolveAssetOutputDirectory(output, url);
89
84
  const filePath = path.join(childDir, filename);
85
+ let formatted;
90
86
  try {
91
- if (url.match(/\.json/) || url.match(/\.m?js\.map/)) {
92
- const formatted = file.length <= PRETTIER_SIZE_LIMIT ? yield prettier.format(file, { parser: "json" }) : file;
93
- fs.writeFileSync(filePath, formatted);
87
+ if (assetKind === "json") {
88
+ formatted =
89
+ file.length <= PRETTIER_SIZE_LIMIT ? yield prettier.format(file, { parser: "json" }) : file;
90
+ }
91
+ else if (assetKind === "vue") {
92
+ formatted =
93
+ file.length <= PRETTIER_SIZE_LIMIT ? yield prettier.format(file, { parser: "vue" }) : file;
94
94
  }
95
95
  else {
96
- const formatted = file.length <= PRETTIER_SIZE_LIMIT ? yield prettier.format(file, { parser: "babel" }) : file;
97
- fs.writeFileSync(filePath, formatted);
96
+ formatted =
97
+ file.length <= PRETTIER_SIZE_LIMIT ? yield prettier.format(file, { parser: "babel" }) : file;
98
98
  }
99
99
  }
100
- catch (_d) {
101
- console.error(chalk.red(`[!] Failed to write file: ${filePath}`));
100
+ catch (formatErr) {
101
+ printMsg(MSG.Err, `[!] Failed to format file: ${filePath} : ${formatErr}`);
102
+ return;
103
+ }
104
+ try {
105
+ fs.mkdirSync(childDir, { recursive: true });
106
+ fs.writeFileSync(filePath, formatted);
107
+ }
108
+ catch (writeErr) {
109
+ if (globalsUtil.getVerbose()) {
110
+ printMsg(MSG.Err, `[!] Failed to write file: ${filePath} : ${writeErr}`);
111
+ }
112
+ return;
102
113
  }
103
114
  download_count++;
104
115
  }
105
116
  catch (err) {
106
- console.error(chalk.red(`[!] Failed to download: ${url} : ${err}`));
117
+ printMsg(MSG.Err, `[!] Failed to download: ${url} : ${err}`);
107
118
  }
108
119
  });
109
120
  // Worker pool: each worker processes one file end-to-end before taking the next.
@@ -118,10 +129,10 @@ const downloadFiles = (urls, output) => __awaiter(void 0, void 0, void 0, functi
118
129
  });
119
130
  yield Promise.all(Array.from({ length: concurrency }, () => worker()));
120
131
  if (ignoredJSFiles.length > 0) {
121
- console.log(chalk.yellow(`[i] Ignored ${ignoredJSFiles.length} JS files across ${ignoredJSDomains.length} domain(s) - ${ignoredJSDomains.join(", ")}`));
132
+ printMsg(MSG.Warn, `[i] Ignored ${ignoredJSFiles.length} JS files across ${ignoredJSDomains.length} domain(s) - ${ignoredJSDomains.join(", ")}`);
122
133
  }
123
134
  if (download_count > 0) {
124
- console.log(chalk.green(`[✓] Downloaded ${download_count} JS chunks to ${output} directory`));
135
+ printMsg(MSG.Run, `[✓] Downloaded ${download_count} JS chunks to ${output} directory`);
125
136
  }
126
137
  });
127
138
  export default downloadFiles;
@@ -1 +1 @@
1
- {"version":3,"file":"downloadFilesUtil.js","sourceRoot":"","sources":["../../src/lazyLoad/downloadFilesUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"downloadFilesUtil.js","sourceRoot":"","sources":["../../src/lazyLoad/downloadFilesUtil.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,19 @@ import chalk from "chalk";
11
11
  import path from "path";
12
12
  import fs from "fs";
13
13
  import prettier from "prettier";
14
- import makeRequest from "../utility/makeReq.js";
15
- import { getURLDirectory } from "../utility/urlUtils.js";
14
+ import makeRequest, { isRequestCancelled } from "../utility/makeReq.js";
15
+ import { getURLDirectory, hostMatchesScope } from "../utility/urlUtils.js";
16
16
  import { getScope } from "./globals.js";
17
17
  import { progressLog, progressError, progressWarn } from "../utility/progressLog.js";
18
+ import { getDownloadedAssetKind, readDownloadedAssetResponse } from "./downloadResponse.js";
19
+ import { getSanitizedAssetFilename, resolveAssetOutputDirectory } from "./outputPath.js";
20
+ import * as globalsUtil from "../utility/globals.js";
21
+ const EMPTY_FAILURE_COUNTS = Object.freeze({
22
+ download: 0,
23
+ invalidResponse: 0,
24
+ format: 0,
25
+ write: 0,
26
+ });
18
27
  const PRETTIER_SIZE_LIMIT = 500 * 1024;
19
28
  /**
20
29
  * A concurrent download queue that starts downloading JS files as soon as URLs
@@ -28,6 +37,7 @@ const PRETTIER_SIZE_LIMIT = 500 * 1024;
28
37
  */
29
38
  export class DownloadQueue {
30
39
  constructor(output, concurrency, options = {}) {
40
+ var _a, _b;
31
41
  /** Tracks every URL ever enqueued to avoid duplicate downloads. */
32
42
  this.seen = new Set();
33
43
  /** Pending URLs waiting for a free worker slot. */
@@ -39,16 +49,24 @@ export class DownloadQueue {
39
49
  /** Stats */
40
50
  this.downloadCount = 0;
41
51
  this.processedCount = 0;
52
+ this.failureCounts = EMPTY_FAILURE_COUNTS;
53
+ this.ignoredCount = 0;
42
54
  this.ignoredFiles = [];
43
55
  this.ignoredDomains = [];
44
56
  this.output = output;
45
57
  this.concurrency = Math.max(1, concurrency);
46
58
  this.onProgress = options.onProgress;
59
+ this.compactOutput = (_a = options.compactOutput) !== null && _a !== void 0 ? _a : false;
60
+ this.alreadyBatchTargetRoot = (_b = options.alreadyBatchTargetRoot) !== null && _b !== void 0 ? _b : false;
61
+ this.progressObserverActive = Boolean(options.onProgress);
47
62
  fs.mkdirSync(output, { recursive: true });
48
63
  }
49
64
  get totalEnqueued() {
50
65
  return this.seen.size;
51
66
  }
67
+ get progress() {
68
+ return this.createProgressSnapshot();
69
+ }
52
70
  /**
53
71
  * Enqueue URLs for download. Already-seen URLs are silently skipped.
54
72
  * New workers are spawned immediately up to the configured concurrency.
@@ -64,6 +82,7 @@ export class DownloadQueue {
64
82
  if (fresh.length === 0)
65
83
  return;
66
84
  this.pending.push(...fresh);
85
+ this.emitProgress();
67
86
  this.spawnWorkers();
68
87
  }
69
88
  /** Returns a Promise that resolves once all pending downloads are complete. */
@@ -77,6 +96,19 @@ export class DownloadQueue {
77
96
  }
78
97
  /** Print a summary of ignored files. */
79
98
  printSummary() {
99
+ if (this.compactOutput && this.processedCount > 0) {
100
+ const failedCount = this.getFailedCount();
101
+ const { download, invalidResponse, format, write } = this.failureCounts;
102
+ const failureSummary = `${download} download, ${invalidResponse} invalid response, ${format} format, ${write} write`;
103
+ const summary = `[${failedCount > 0 ? "!" : "✓"}] Processed ${this.processedCount} JS chunks: ${this.downloadCount} downloaded, ${failedCount} failed (${failureSummary}), ${this.ignoredCount} ignored`;
104
+ if (failedCount > 0) {
105
+ progressWarn(chalk.yellow(summary));
106
+ }
107
+ else {
108
+ progressLog(chalk.green(summary));
109
+ }
110
+ return;
111
+ }
80
112
  if (this.ignoredFiles.length > 0) {
81
113
  progressLog(chalk.yellow(`[i] Ignored ${this.ignoredFiles.length} files across ${this.ignoredDomains.length} domain(s) - ${this.ignoredDomains.join(", ")}`));
82
114
  }
@@ -85,6 +117,42 @@ export class DownloadQueue {
85
117
  }
86
118
  }
87
119
  // ── internals ────────────────────────────────────────────────────────
120
+ createProgressSnapshot() {
121
+ return Object.freeze({
122
+ processed: this.processedCount,
123
+ total: this.seen.size,
124
+ downloaded: this.downloadCount,
125
+ failed: this.getFailedCount(),
126
+ ignored: this.ignoredCount,
127
+ failures: Object.freeze(Object.assign({}, this.failureCounts)),
128
+ });
129
+ }
130
+ emitProgress() {
131
+ if (!this.onProgress || !this.progressObserverActive)
132
+ return;
133
+ try {
134
+ this.onProgress(this.createProgressSnapshot());
135
+ }
136
+ catch (err) {
137
+ this.progressObserverActive = false;
138
+ this.reportWarning(chalk.yellow(`[!] Download progress observer disabled after an error: ${err}`));
139
+ }
140
+ }
141
+ getFailedCount() {
142
+ const { download, invalidResponse, format, write } = this.failureCounts;
143
+ return download + invalidResponse + format + write;
144
+ }
145
+ recordFailure(kind) {
146
+ this.failureCounts = Object.freeze(Object.assign(Object.assign({}, this.failureCounts), { [kind]: this.failureCounts[kind] + 1 }));
147
+ }
148
+ reportError(message) {
149
+ if (!this.compactOutput)
150
+ progressError(message);
151
+ }
152
+ reportWarning(message) {
153
+ if (!this.compactOutput)
154
+ progressWarn(message);
155
+ }
88
156
  spawnWorkers() {
89
157
  while (this.activeWorkers < this.concurrency && this.pending.length > 0) {
90
158
  this.activeWorkers++;
@@ -93,98 +161,134 @@ export class DownloadQueue {
93
161
  }
94
162
  runWorker() {
95
163
  return __awaiter(this, void 0, void 0, function* () {
96
- while (this.pending.length > 0) {
97
- const url = this.pending.shift();
98
- yield this.processOne(url);
164
+ try {
165
+ while (this.pending.length > 0) {
166
+ const url = this.pending.shift();
167
+ yield this.processOne(url);
168
+ }
99
169
  }
100
- this.activeWorkers--;
101
- if (this.activeWorkers === 0 && this.pending.length === 0) {
102
- const callbacks = this.drainCallbacks.splice(0);
103
- for (const cb of callbacks)
104
- cb();
170
+ finally {
171
+ this.activeWorkers--;
172
+ if (this.activeWorkers === 0 && this.pending.length === 0) {
173
+ const callbacks = this.drainCallbacks.splice(0);
174
+ for (const cb of callbacks)
175
+ cb();
176
+ }
105
177
  }
106
178
  });
107
179
  }
108
180
  processOne(url) {
109
181
  return __awaiter(this, void 0, void 0, function* () {
110
- var _a, _b, _c;
111
182
  try {
183
+ if (isRequestCancelled()) {
184
+ this.ignoredCount++;
185
+ return;
186
+ }
112
187
  if (!url.match(/(\.mjs\.map|\.mjs|\.js|\.json|\.js\.map|\.vue)/) ||
113
188
  url.match(/lang\.(css|scss|sass|less|styl)/)) {
114
- progressLog(chalk.yellow(`[i] Ignored ${url}`));
189
+ this.ignoredCount++;
190
+ if (!this.compactOutput)
191
+ progressLog(chalk.yellow(`[i] Ignored ${url}`));
115
192
  return;
116
193
  }
117
- const { host, directory } = getURLDirectory(url);
118
- if (!getScope().includes("*") && !getScope().includes(host)) {
194
+ const { rawHost } = getURLDirectory(url);
195
+ if (!hostMatchesScope(rawHost, getScope())) {
196
+ this.ignoredCount++;
119
197
  this.ignoredFiles.push(url);
120
- if (!this.ignoredDomains.includes(host)) {
121
- this.ignoredDomains.push(host);
198
+ if (!this.ignoredDomains.includes(rawHost)) {
199
+ this.ignoredDomains.push(rawHost);
122
200
  }
123
201
  return;
124
202
  }
125
- const childDir = path.join(this.output, host, directory);
126
- fs.mkdirSync(childDir, { recursive: true });
127
203
  let res;
128
204
  try {
129
- res = yield makeRequest(url, {});
205
+ res = yield makeRequest(url, { reportErrors: !this.compactOutput });
130
206
  }
131
- catch (_d) {
132
- progressError(chalk.red(`[!] Failed to download: ${url}`));
207
+ catch (err) {
208
+ this.recordFailure("download");
209
+ this.reportError(chalk.red(`[!] Failed to download: ${url} : ${err}`));
133
210
  return;
134
211
  }
135
212
  if (!res) {
136
- progressError(chalk.red(`[!] Failed to download: ${url}`));
213
+ // makeRequest owns the detailed non-compact diagnostic. Compact mode
214
+ // intentionally records only the aggregate failure.
215
+ if (isRequestCancelled()) {
216
+ this.ignoredCount++;
217
+ }
218
+ else {
219
+ this.recordFailure("download");
220
+ }
137
221
  return;
138
222
  }
139
- const rawText = yield res.text();
223
+ const responseResult = yield readDownloadedAssetResponse(url, res);
224
+ if (responseResult.ok === false) {
225
+ this.recordFailure(responseResult.failure);
226
+ const label = responseResult.failure === "invalidResponse" ? "Invalid response" : "Failed to download";
227
+ this.reportError(chalk.red(`[!] ${label}: ${url} : ${responseResult.reason}`));
228
+ return;
229
+ }
230
+ if (isRequestCancelled()) {
231
+ this.ignoredCount++;
232
+ return;
233
+ }
234
+ const rawText = responseResult.body;
235
+ const assetKind = getDownloadedAssetKind(url);
140
236
  // .js.map / .mjs.map payloads are JSON — adding a `//` banner would break strict
141
237
  // JSON parsing later in the same function (parser: "json").
142
- const file = url.match(/\.json/) || url.match(/\.m?js\.map/) ? rawText : `// File Source: ${url}\n${rawText}`;
143
- let filename;
144
- try {
145
- filename = (_b = (_a = url
146
- .split("/")
147
- .pop()) === null || _a === void 0 ? void 0 : _a.match(/[a-zA-Z0-9\.\-_]+\.(mjs(\.map)?|js(on)?(\.map)?|vue)/)) === null || _b === void 0 ? void 0 : _b[0];
148
- }
149
- catch (_e) {
150
- for (const chunk of url.split("/")) {
151
- if (chunk.match(/\.(mjs(\.map)?|js(on)?|vue)$/)) {
152
- filename = chunk;
153
- break;
154
- }
155
- }
156
- }
238
+ const file = assetKind === "json" ? rawText : `// File Source: ${url}\n${rawText}`;
239
+ const filename = getSanitizedAssetFilename(url);
157
240
  if (!filename) {
158
- progressWarn(chalk.yellow(`[!] Could not determine filename for URL: ${url}. Skipping.`));
241
+ this.ignoredCount++;
242
+ this.reportWarning(chalk.yellow(`[!] Could not determine filename for URL: ${url}. Skipping.`));
159
243
  return;
160
244
  }
245
+ const childDir = resolveAssetOutputDirectory(this.output, url, this.alreadyBatchTargetRoot);
161
246
  const filePath = path.join(childDir, filename);
247
+ let formatted;
162
248
  try {
163
- if (url.match(/\.json/) || url.match(/\.m?js\.map/)) {
164
- const formatted = file.length <= PRETTIER_SIZE_LIMIT ? yield prettier.format(file, { parser: "json" }) : file;
165
- fs.writeFileSync(filePath, formatted);
249
+ if (assetKind === "json") {
250
+ formatted =
251
+ file.length <= PRETTIER_SIZE_LIMIT ? yield prettier.format(file, { parser: "json" }) : file;
166
252
  }
167
- else if (url.match(/\.vue$/)) {
168
- const formatted = file.length <= PRETTIER_SIZE_LIMIT ? yield prettier.format(file, { parser: "vue" }) : file;
169
- fs.writeFileSync(filePath, formatted);
253
+ else if (assetKind === "vue") {
254
+ formatted =
255
+ file.length <= PRETTIER_SIZE_LIMIT ? yield prettier.format(file, { parser: "vue" }) : file;
170
256
  }
171
257
  else {
172
- const formatted = file.length <= PRETTIER_SIZE_LIMIT ? yield prettier.format(file, { parser: "babel" }) : file;
173
- fs.writeFileSync(filePath, formatted);
258
+ formatted =
259
+ file.length <= PRETTIER_SIZE_LIMIT ? yield prettier.format(file, { parser: "babel" }) : file;
174
260
  }
175
261
  }
262
+ catch (formatErr) {
263
+ this.recordFailure("format");
264
+ this.reportError(chalk.red(`[!] Failed to format file: ${filePath} : ${formatErr}`));
265
+ return;
266
+ }
267
+ if (isRequestCancelled()) {
268
+ this.ignoredCount++;
269
+ return;
270
+ }
271
+ try {
272
+ fs.mkdirSync(childDir, { recursive: true });
273
+ fs.writeFileSync(filePath, formatted);
274
+ }
176
275
  catch (writeErr) {
177
- progressError(chalk.red(`[!] Failed to write file: ${filePath} : ${writeErr}`));
276
+ this.recordFailure("write");
277
+ if (globalsUtil.getVerbose()) {
278
+ const shortErr = String(writeErr).split("\n")[0];
279
+ this.reportError(chalk.red(`[!] Failed to write file: ${filePath} : ${shortErr}`));
280
+ }
178
281
  return;
179
282
  }
180
283
  this.downloadCount++;
181
284
  }
182
285
  catch (err) {
183
- progressError(chalk.red(`[!] Failed to download: ${url} : ${err}`));
286
+ this.recordFailure("download");
287
+ this.reportError(chalk.red(`[!] Failed to download: ${url} : ${err}`));
184
288
  }
185
289
  finally {
186
290
  this.processedCount++;
187
- (_c = this.onProgress) === null || _c === void 0 ? void 0 : _c.call(this, this.processedCount, this.seen.size, this.downloadCount);
291
+ this.emitProgress();
188
292
  }
189
293
  });
190
294
  }