@shriyanss/js-recon 1.0.0 → 1.1.0-beta.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 (198) hide show
  1. package/.api_gateway_config.json +1 -0
  2. package/.github/workflows/npm-publish.yml +35 -0
  3. package/.github/workflows/prettier.yaml +44 -0
  4. package/.prettierignore +2 -0
  5. package/.prettierrc +4 -0
  6. package/.resp_cache.json +1 -0
  7. package/.vscode/launch.json +27 -0
  8. package/CHANGELOG.md +40 -0
  9. package/README.md +35 -140
  10. package/build/api_gateway/checkFeasibility.js +32 -0
  11. package/build/api_gateway/checkFeasibility.js.map +1 -0
  12. package/build/api_gateway/checkFireWallBlocking.js +24 -0
  13. package/build/api_gateway/checkFireWallBlocking.js.map +1 -0
  14. package/build/api_gateway/genReq.js +202 -0
  15. package/build/api_gateway/genReq.js.map +1 -0
  16. package/build/api_gateway/index.js +277 -0
  17. package/build/api_gateway/index.js.map +1 -0
  18. package/build/endpoints/gen_report/gen_json.js +22 -0
  19. package/build/endpoints/gen_report/gen_json.js.map +1 -0
  20. package/build/endpoints/gen_report/gen_markdown.js +66 -0
  21. package/build/endpoints/gen_report/gen_markdown.js.map +1 -0
  22. package/build/endpoints/gen_report/utility/iterate_n_store.js +46 -0
  23. package/build/endpoints/gen_report/utility/iterate_n_store.js.map +1 -0
  24. package/build/endpoints/index.js +89 -0
  25. package/build/endpoints/index.js.map +1 -0
  26. package/build/endpoints/next_js/client_jsFilesHref.js +91 -0
  27. package/build/endpoints/next_js/client_jsFilesHref.js.map +1 -0
  28. package/build/endpoints/next_js/client_jsonParse.js +75 -0
  29. package/build/endpoints/next_js/client_jsonParse.js.map +1 -0
  30. package/build/endpoints/next_js/client_subsequentRequests.js +199 -0
  31. package/build/endpoints/next_js/client_subsequentRequests.js.map +1 -0
  32. package/build/endpoints/next_js/getWebpacks.js +45 -0
  33. package/build/endpoints/next_js/getWebpacks.js.map +1 -0
  34. package/build/globalConfig.js +11 -0
  35. package/build/globalConfig.js.map +1 -0
  36. package/build/index.js +166 -0
  37. package/build/index.js.map +1 -0
  38. package/build/lazyLoad/downloadFilesUtil.js +128 -0
  39. package/build/lazyLoad/downloadFilesUtil.js.map +1 -0
  40. package/build/lazyLoad/downloadLoadedJsUtil.js +51 -0
  41. package/build/lazyLoad/downloadLoadedJsUtil.js.map +1 -0
  42. package/build/lazyLoad/globals.js +25 -0
  43. package/build/lazyLoad/globals.js.map +1 -0
  44. package/build/lazyLoad/index.js +171 -0
  45. package/build/lazyLoad/index.js.map +1 -0
  46. package/build/lazyLoad/next_js/next_GetJSScript.js +94 -0
  47. package/build/lazyLoad/next_js/next_GetJSScript.js.map +1 -0
  48. package/build/lazyLoad/next_js/next_GetLazyResources.js +202 -0
  49. package/build/lazyLoad/next_js/next_GetLazyResources.js.map +1 -0
  50. package/build/lazyLoad/next_js/next_SubsequentRequests.js +120 -0
  51. package/build/lazyLoad/next_js/next_SubsequentRequests.js.map +1 -0
  52. package/build/lazyLoad/nuxt_js/nuxt_astParse.js +188 -0
  53. package/build/lazyLoad/nuxt_js/nuxt_astParse.js.map +1 -0
  54. package/build/lazyLoad/nuxt_js/nuxt_getFromPageSource.js +75 -0
  55. package/build/lazyLoad/nuxt_js/nuxt_getFromPageSource.js.map +1 -0
  56. package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js +94 -0
  57. package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js.map +1 -0
  58. package/build/lazyLoad/svelte/svelte_getFromPageSource.js +68 -0
  59. package/build/lazyLoad/svelte/svelte_getFromPageSource.js.map +1 -0
  60. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js +95 -0
  61. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js.map +1 -0
  62. package/build/map/index.js +58 -0
  63. package/build/map/index.js.map +1 -0
  64. package/build/map/next_js/getFetchInstances.js +105 -0
  65. package/build/map/next_js/getFetchInstances.js.map +1 -0
  66. package/build/map/next_js/getWebpackConnections.js +224 -0
  67. package/build/map/next_js/getWebpackConnections.js.map +1 -0
  68. package/build/map/next_js/interactive.js +32 -0
  69. package/build/map/next_js/interactive.js.map +1 -0
  70. package/build/map/next_js/interactive_helpers/commandHandler.js +190 -0
  71. package/build/map/next_js/interactive_helpers/commandHandler.js.map +1 -0
  72. package/build/map/next_js/interactive_helpers/commandHelpers.js +91 -0
  73. package/build/map/next_js/interactive_helpers/commandHelpers.js.map +1 -0
  74. package/build/map/next_js/interactive_helpers/helpMenu.js +11 -0
  75. package/build/map/next_js/interactive_helpers/helpMenu.js.map +1 -0
  76. package/build/map/next_js/interactive_helpers/keybindings.js +80 -0
  77. package/build/map/next_js/interactive_helpers/keybindings.js.map +1 -0
  78. package/build/map/next_js/interactive_helpers/printer.js +17 -0
  79. package/build/map/next_js/interactive_helpers/printer.js.map +1 -0
  80. package/build/map/next_js/interactive_helpers/ui.js +81 -0
  81. package/build/map/next_js/interactive_helpers/ui.js.map +1 -0
  82. package/build/map/next_js/resolveFetch.js +201 -0
  83. package/build/map/next_js/resolveFetch.js.map +1 -0
  84. package/build/run/index.js +62 -0
  85. package/build/run/index.js.map +1 -0
  86. package/build/strings/index.js +235 -0
  87. package/build/strings/index.js.map +1 -0
  88. package/build/strings/openapi.js +55 -0
  89. package/build/strings/openapi.js.map +1 -0
  90. package/build/strings/permutate.js +55 -0
  91. package/build/strings/permutate.js.map +1 -0
  92. package/build/strings/secrets.js +89 -0
  93. package/build/strings/secrets.js.map +1 -0
  94. package/build/techDetect/index.js +224 -0
  95. package/build/techDetect/index.js.map +1 -0
  96. package/build/utility/ai.js +69 -0
  97. package/build/utility/ai.js.map +1 -0
  98. package/build/utility/globals.js +84 -0
  99. package/build/utility/globals.js.map +1 -0
  100. package/build/utility/interfaces.js +2 -0
  101. package/build/utility/interfaces.js.map +1 -0
  102. package/build/utility/makeReq.js +265 -0
  103. package/build/utility/makeReq.js.map +1 -0
  104. package/build/utility/resolvePath.js +44 -0
  105. package/build/utility/resolvePath.js.map +1 -0
  106. package/{utility → build/utility}/runSandboxed.js +10 -13
  107. package/build/utility/runSandboxed.js.map +1 -0
  108. package/{utility → build/utility}/urlUtils.js +9 -11
  109. package/build/utility/urlUtils.js.map +1 -0
  110. package/docs/README.md +20 -0
  111. package/docs/api-gateway.md +68 -0
  112. package/docs/endpoints.md +49 -0
  113. package/docs/example-scenario.md +258 -0
  114. package/docs/interactive-mode.md +76 -0
  115. package/docs/lazyload.md +56 -0
  116. package/docs/map.md +53 -0
  117. package/docs/run.md +54 -0
  118. package/docs/strings.md +75 -0
  119. package/endpoints.json +77 -0
  120. package/extracted_urls-openapi.json +225 -0
  121. package/extracted_urls-swagger.json +225 -0
  122. package/extracted_urls.json +47 -0
  123. package/extracted_urls.txt +296 -0
  124. package/mapped.json +3413 -0
  125. package/output/ss0x00.com/_next/data/k7xKVnxmboK4SktY2dZWt/index.json +971 -0
  126. package/output/ss0x00.com/_next/static/chunks/12.7e6d2ac6e1808fc2.js +247 -0
  127. package/output/ss0x00.com/_next/static/chunks/128.160aa801ef0445bc.js +1074 -0
  128. package/output/ss0x00.com/_next/static/chunks/132.55df84f7707fc278.js +102 -0
  129. package/output/ss0x00.com/_next/static/chunks/142.77038c55d9ec10ba.js +96 -0
  130. package/output/ss0x00.com/_next/static/chunks/215.321479e91d330bfa.js +228 -0
  131. package/output/ss0x00.com/_next/static/chunks/229.097c396d86b4a882.js +458 -0
  132. package/output/ss0x00.com/_next/static/chunks/257.5fd052aa4ef06ef9.js +1327 -0
  133. package/output/ss0x00.com/_next/static/chunks/268.72cb3779f66db70b.js +10520 -0
  134. package/output/ss0x00.com/_next/static/chunks/320.57d528b0e9bf86f0.js +186 -0
  135. package/output/ss0x00.com/_next/static/chunks/325.302a44b604c35f17.js +88 -0
  136. package/output/ss0x00.com/_next/static/chunks/328.e4a0307a4fddf318.js +248 -0
  137. package/output/ss0x00.com/_next/static/chunks/432.3621f17504ef18f2.js +443 -0
  138. package/output/ss0x00.com/_next/static/chunks/44.e90dd963003a3d43.js +1094 -0
  139. package/output/ss0x00.com/_next/static/chunks/442.8c054f100f9e5e50.js +1082 -0
  140. package/output/ss0x00.com/_next/static/chunks/460.f8db9a5142598e2c.js +466 -0
  141. package/output/ss0x00.com/_next/static/chunks/487.05ca55420459c002.js +78 -0
  142. package/output/ss0x00.com/_next/static/chunks/567.1909a6b0a920114b.js +1374 -0
  143. package/output/ss0x00.com/_next/static/chunks/586.802fc9214d87fb29.js +752 -0
  144. package/output/ss0x00.com/_next/static/chunks/620.a2a3a6b94d30a4c8.js +1037 -0
  145. package/output/ss0x00.com/_next/static/chunks/642.6b3e487c9604cbb8.js +1628 -0
  146. package/output/ss0x00.com/_next/static/chunks/673.e5d77887e5c6a68c.js +1045 -0
  147. package/output/ss0x00.com/_next/static/chunks/684.8b8e52baca70524b.js +96 -0
  148. package/output/ss0x00.com/_next/static/chunks/686.79480519e5ccfb77.js +296 -0
  149. package/output/ss0x00.com/_next/static/chunks/756.7a3878a2e6765be7.js +504 -0
  150. package/output/ss0x00.com/_next/static/chunks/761.7bea7516c5d22b2a.js +1485 -0
  151. package/output/ss0x00.com/_next/static/chunks/794.e079ef369b41a3c5.js +1350 -0
  152. package/output/ss0x00.com/_next/static/chunks/826.31ba213e1d023c68.js +1031 -0
  153. package/output/ss0x00.com/_next/static/chunks/847.d8397a73efc81848.js +1068 -0
  154. package/output/ss0x00.com/_next/static/chunks/848.5feaeee1e2624aea.js +132 -0
  155. package/output/ss0x00.com/_next/static/chunks/850.ecc7c3c3d787ee03.js +1472 -0
  156. package/output/ss0x00.com/_next/static/chunks/853.50b9eb60b7d0e83c.js +1472 -0
  157. package/output/ss0x00.com/_next/static/chunks/856.7a7bb6c3c7bfc2ba.js +1320 -0
  158. package/output/ss0x00.com/_next/static/chunks/859.df4bd45c03a65f53.js +1306 -0
  159. package/output/ss0x00.com/_next/static/chunks/867.e8633955a147c978.js +541 -0
  160. package/output/ss0x00.com/_next/static/chunks/921.c3123f20a4c8d53c.js +96 -0
  161. package/output/ss0x00.com/_next/static/chunks/932.25cb421c466c99cb.js +999 -0
  162. package/output/ss0x00.com/_next/static/chunks/framework-64ad27b21261a9ce.js +9189 -0
  163. package/output/ss0x00.com/_next/static/chunks/main-710ab85aa9a8f10d.js +6583 -0
  164. package/output/ss0x00.com/_next/static/chunks/pages/5D-af5a23529ce3c337.js +486 -0
  165. package/output/ss0x00.com/_next/static/chunks/pages/_app-c449865c8af1faa0.js +39 -0
  166. package/output/ss0x00.com/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +6383 -0
  167. package/output/ss0x00.com/_next/static/chunks/webpack-efff35ee26971294.js +271 -0
  168. package/output/ss0x00.com/_next/static/k7xKVnxmboK4SktY2dZWt/_buildManifest.js +8 -0
  169. package/output/ss0x00.com/_next/static/k7xKVnxmboK4SktY2dZWt/_ssgManifest.js +3 -0
  170. package/output/ss0x00.com/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js +82 -0
  171. package/package.json +50 -38
  172. package/strings.json +7407 -0
  173. package/api_gateway/checkFeasibility.js +0 -25
  174. package/api_gateway/checkFireWallBlocking.js +0 -17
  175. package/api_gateway/genReq.js +0 -214
  176. package/api_gateway/index.js +0 -325
  177. package/endpoints/index.js +0 -7
  178. package/globalConfig.js +0 -12
  179. package/index.js +0 -69
  180. package/lazyLoad/downloadFilesUtil.js +0 -122
  181. package/lazyLoad/downloadLoadedJsUtil.js +0 -54
  182. package/lazyLoad/globals.js +0 -15
  183. package/lazyLoad/index.js +0 -167
  184. package/lazyLoad/next_js/next_GetJSScript.js +0 -99
  185. package/lazyLoad/next_js/next_GetLazyResources.js +0 -201
  186. package/lazyLoad/next_js/next_SubsequentRequests.js +0 -138
  187. package/lazyLoad/nuxt_js/nuxt_astParse.js +0 -194
  188. package/lazyLoad/nuxt_js/nuxt_getFromPageSource.js +0 -77
  189. package/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js +0 -99
  190. package/research/firewall_bypass.md +0 -38
  191. package/research/next_js.md +0 -116
  192. package/research/nuxt_js.md +0 -125
  193. package/research/vue_js.md +0 -9
  194. package/strings/index.js +0 -145
  195. package/techDetect/index.js +0 -156
  196. package/utility/globals.js +0 -6
  197. package/utility/makeReq.js +0 -179
  198. package/utility/resolvePath.js +0 -43
@@ -0,0 +1,224 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import fs from "fs";
11
+ import path from "path";
12
+ import parser from "@babel/parser";
13
+ import _traverse from "@babel/traverse";
14
+ const traverse = _traverse.default;
15
+ import chalk from "chalk";
16
+ import * as globals from "../../utility/globals.js";
17
+ import { getCompletion } from "../../utility/ai.js";
18
+ const getWebpackConnections = (directory, output, formats) => __awaiter(void 0, void 0, void 0, function* () {
19
+ const maxAiThreads = globals.getAiThreads();
20
+ if (globals.getAi().length > 0) {
21
+ // print a warning message about costs that might incur
22
+ console.log(chalk.yellow("[!] AI integration is enabled. This may incur costs. By using this feature, you agree to the AI provider's terms of service, and accept the risk of incurring unexpected costs due to huge codebase."));
23
+ const provider = globals.getAiServiceProvider();
24
+ if (provider === "openai") {
25
+ const apiKey = globals.getOpenaiApiKey() || process.env.OPENAI_API_KEY;
26
+ if (!apiKey) {
27
+ console.log(chalk.red("[!] OpenAI API key not found. Please provide it via --openai-api-key or OPENAI_API_KEY environment variable."));
28
+ process.exit(1);
29
+ }
30
+ }
31
+ console.log(chalk.cyan(`[i] AI provider "${provider}" initialized.`));
32
+ }
33
+ // if the output file already exists, and AI mode is enabled, skip coz it burns $$$
34
+ if (fs.existsSync(`${output}.json`) && globals.getAi().length > 0) {
35
+ console.log(chalk.yellow(`[!] Output file ${output}.json already exists. Skipping regeneration to save costs.`));
36
+ const chunks = JSON.parse(fs.readFileSync(`${output}.json`, "utf8"));
37
+ return chunks;
38
+ }
39
+ console.log(chalk.cyan("[i] Getting webpack connections"));
40
+ // list all the files in the directory
41
+ let files = fs.readdirSync(directory, { recursive: true });
42
+ // remove all subsequent requests file from the list
43
+ files = files.filter((file) => {
44
+ return !file.includes("___subsequent_requests");
45
+ });
46
+ // remove all directories from the list
47
+ files = files.filter((file) => {
48
+ return !fs.lstatSync(path.join(directory, file)).isDirectory();
49
+ });
50
+ let chunks = {};
51
+ // read all the files, and get the chunks
52
+ for (const file of files) {
53
+ // if the first three lines of the file doesn't contain `self.webpackChunk_N_E`, continue
54
+ const firstThreeLines = fs
55
+ .readFileSync(path.join(directory, file), "utf8")
56
+ .split("\n")
57
+ .slice(0, 3);
58
+ if (!firstThreeLines.some((line) => line.includes("self.webpackChunk_N_E"))) {
59
+ continue;
60
+ }
61
+ // read the file
62
+ const code = fs.readFileSync(path.join(directory, file), "utf8");
63
+ // parse the code with ast
64
+ let ast;
65
+ try {
66
+ ast = parser.parse(code, {
67
+ sourceType: "unambiguous",
68
+ plugins: ["jsx", "typescript"],
69
+ });
70
+ }
71
+ catch (err) {
72
+ continue;
73
+ }
74
+ // traverse the ast
75
+ traverse(ast, {
76
+ CallExpression(path) {
77
+ const callee = path.get("callee");
78
+ // check if the call expression is a push to a webpack chunk
79
+ if (!callee.isMemberExpression() ||
80
+ !callee.get("property").isIdentifier({ name: "push" })) {
81
+ return;
82
+ }
83
+ let object = callee.get("object");
84
+ if (object.isAssignmentExpression()) {
85
+ object = object.get("left");
86
+ }
87
+ if (!(object.isMemberExpression() &&
88
+ object.get("property").isIdentifier() &&
89
+ object
90
+ .get("property")
91
+ .node.name.startsWith("webpackChunk"))) {
92
+ return;
93
+ }
94
+ // get the first argument of the push call
95
+ const arg = path.get("arguments.0");
96
+ if (!arg || !arg.isArrayExpression()) {
97
+ return;
98
+ }
99
+ // find the object expression in the arguments
100
+ const elements = arg.get("elements");
101
+ for (const element of elements) {
102
+ if (element.isObjectExpression()) {
103
+ const properties = element.get("properties");
104
+ for (const prop of properties) {
105
+ if (prop.isObjectProperty()) {
106
+ const key = prop.get("key");
107
+ if (key.isNumericLiteral() ||
108
+ key.isStringLiteral()) {
109
+ const keyValue = key.node.value;
110
+ const function_code = code
111
+ .slice(prop.node.start, prop.node.end)
112
+ .replace(/^\s*[\w\d]+:\s+function\s+/, `function webpack_${keyValue} `)
113
+ .replace(/^s*[\w\d]+:\s\(/, `func_${keyValue} = (`);
114
+ chunks[String(keyValue)] = {
115
+ id: String(keyValue),
116
+ description: "none",
117
+ loadedOn: [],
118
+ containsFetch: false,
119
+ exports: "string",
120
+ callStack: [],
121
+ code: function_code,
122
+ imports: [],
123
+ file: file,
124
+ };
125
+ }
126
+ }
127
+ }
128
+ }
129
+ }
130
+ },
131
+ });
132
+ }
133
+ // now, iterate through every chunk, and find the imports in the function
134
+ console.log(chalk.cyan("[i] Finding imports for chunks"));
135
+ for (const [key, value] of Object.entries(chunks)) {
136
+ let ast;
137
+ try {
138
+ ast = parser.parse(value.code, {
139
+ sourceType: "unambiguous",
140
+ plugins: ["jsx", "typescript"],
141
+ });
142
+ }
143
+ catch (err) {
144
+ continue;
145
+ }
146
+ // if the function has three arguments, get the name of the third argument
147
+ let thirdArgName;
148
+ traverse(ast, {
149
+ FunctionDeclaration(path) {
150
+ const args = path.get("params");
151
+ if (args.length === 3) {
152
+ thirdArgName = args[2].node.name;
153
+ }
154
+ },
155
+ });
156
+ // if the function doesn't have three arguments, continue
157
+ if (!thirdArgName) {
158
+ continue;
159
+ }
160
+ // if the thirs argument, i.e. __webpack_require__ is present, then see if it is used
161
+ // if yes, print the chunk name
162
+ traverse(ast, {
163
+ CallExpression(path) {
164
+ const callee = path.get("callee");
165
+ if (callee.isIdentifier({ name: thirdArgName })) {
166
+ // the id of the function
167
+ const id = path.get("arguments.0");
168
+ if (id) {
169
+ if (id.node.value !== undefined &&
170
+ String(id.node.value).match(/^\d+$/) &&
171
+ id.node.value !== "") {
172
+ chunks[key].imports.push(String(id.node.value));
173
+ }
174
+ }
175
+ }
176
+ },
177
+ });
178
+ }
179
+ // if AI description is enabled, add them
180
+ if (globals.getAi() && globals.getAi().includes("description")) {
181
+ console.log(chalk.cyan("[i] Generating descriptions for chunks"));
182
+ const chunkEntries = Object.entries(chunks);
183
+ const descriptionPromises = [];
184
+ let activeThreads = 0;
185
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
186
+ const systemPrompt = "You are a code analyzer. You will be given a function from the webpack of a compiled Next.JS file. You have to generate a one-liner description of what the function does.";
187
+ for (const [key, value] of chunkEntries) {
188
+ while (activeThreads >= maxAiThreads) {
189
+ yield sleep(Math.floor(Math.random() * 451) + 50); // Sleep for 50-500ms
190
+ }
191
+ activeThreads++;
192
+ const promise = (() => __awaiter(void 0, void 0, void 0, function* () {
193
+ try {
194
+ const description = yield getCompletion(value.code, systemPrompt);
195
+ return { key, description };
196
+ }
197
+ catch (err) {
198
+ console.log(chalk.red(`[!] Error generating description for chunk ${key}: ${err.message}`));
199
+ return { key, description: "none" };
200
+ }
201
+ finally {
202
+ activeThreads--;
203
+ }
204
+ }))();
205
+ descriptionPromises.push(promise);
206
+ }
207
+ const results = yield Promise.all(descriptionPromises);
208
+ results.forEach(({ key, description }) => {
209
+ if (chunks[key]) {
210
+ chunks[key].description = description || "none";
211
+ console.log(chalk.green(`[✓] Generated description for ${key}: ${chunks[key].description}`));
212
+ }
213
+ });
214
+ }
215
+ console.log(chalk.green(`[✓] Found ${Object.keys(chunks).length} webpack functions`));
216
+ if (formats.includes("json")) {
217
+ const chunks_json = JSON.stringify(chunks, null, 2);
218
+ fs.writeFileSync(`${output}.json`, chunks_json);
219
+ console.log(chalk.green(`[✓] Saved webpack connections to ${output}.json`));
220
+ }
221
+ return chunks;
222
+ });
223
+ export default getWebpackConnections;
224
+ //# sourceMappingURL=getWebpackConnections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWebpackConnections.js","sourceRoot":"","sources":["../../../src/map/next_js/getWebpackConnections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { createUI } from "./interactive_helpers/ui.js";
11
+ import { handleCommand } from "./interactive_helpers/commandHandler.js";
12
+ import { setupKeybindings } from "./interactive_helpers/keybindings.js";
13
+ const interactive = (chunks) => __awaiter(void 0, void 0, void 0, function* () {
14
+ const state = {
15
+ chunks,
16
+ lastCommandStatus: true,
17
+ functionNavHistory: [],
18
+ functionNavHistoryIndex: -1,
19
+ funcWriteFile: undefined,
20
+ commandHistory: [],
21
+ commandHistoryIndex: -1,
22
+ };
23
+ const ui = createUI();
24
+ ui.inputBox.on("submit", (text) => {
25
+ handleCommand(text, state, ui);
26
+ });
27
+ setupKeybindings(ui.screen, ui.inputBox, ui.outputBox, state);
28
+ ui.inputBox.focus();
29
+ ui.screen.render();
30
+ });
31
+ export default interactive;
32
+ //# sourceMappingURL=interactive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../../src/map/next_js/interactive.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,MAAM,WAAW,GAAG,CAAO,MAAM,EAAE,EAAE;IACjC,MAAM,KAAK,GAAG;QACV,MAAM;QACN,iBAAiB,EAAE,IAAI;QACvB,kBAAkB,EAAE,EAAE;QACtB,uBAAuB,EAAE,CAAC,CAAC;QAC3B,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,EAAE;QAClB,mBAAmB,EAAE,CAAC,CAAC;KAC1B,CAAC;IAEF,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEtB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;QAC9B,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE9D,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACpB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;AACvB,CAAC,CAAA,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,190 @@
1
+ import chalk from "chalk";
2
+ import path from "path";
3
+ import commandHelpers from "./commandHelpers.js";
4
+ import { helpMenu } from "./helpMenu.js";
5
+ import { printFunction } from "./printer.js";
6
+ function handleCommand(text, state, ui) {
7
+ var _a;
8
+ const { chunks } = state;
9
+ const { outputBox, inputBox, screen } = ui;
10
+ if (text !== "" &&
11
+ !text.match(/^\s+$/) &&
12
+ text !== state.commandHistory[state.commandHistory.length - 1]) {
13
+ state.commandHistory.push(text);
14
+ state.commandHistoryIndex = state.commandHistory.length;
15
+ }
16
+ if (state.lastCommandStatus) {
17
+ outputBox.log(`${chalk.bgGreenBright("%")} ${text}`);
18
+ }
19
+ else {
20
+ outputBox.log(`${chalk.bgRed("%")} ${text}`);
21
+ }
22
+ if (text === "") {
23
+ state.lastCommandStatus = true;
24
+ }
25
+ else if (text === "exit") {
26
+ return process.exit(0);
27
+ }
28
+ else if (text === "help") {
29
+ let helpText = chalk.cyan("Available commands:\n");
30
+ for (const [key, value] of Object.entries(helpMenu)) {
31
+ helpText += chalk.green(`\n${key}:\n`);
32
+ helpText += ` ${value.replace(/\n/g, "\n ")}\n`;
33
+ }
34
+ outputBox.log(helpText);
35
+ state.lastCommandStatus = true;
36
+ }
37
+ else if (text.startsWith("list")) {
38
+ const usage = helpMenu.list;
39
+ if (text.split(" ").length < 2) {
40
+ outputBox.log(chalk.magenta(usage));
41
+ state.lastCommandStatus = false;
42
+ }
43
+ else {
44
+ const option = text.split(" ")[1];
45
+ if (option === "") {
46
+ outputBox.log(chalk.magenta(usage));
47
+ state.lastCommandStatus = false;
48
+ }
49
+ else if (option === "fetch") {
50
+ outputBox.log(commandHelpers.fetchMenu(chunks));
51
+ state.lastCommandStatus = true;
52
+ }
53
+ else if (option === "all") {
54
+ outputBox.log(commandHelpers.listAllFunctions(chunks));
55
+ state.lastCommandStatus = true;
56
+ }
57
+ else if (option === "nav") {
58
+ outputBox.log(commandHelpers.navHistory(chunks, state.functionNavHistory));
59
+ state.lastCommandStatus = true;
60
+ }
61
+ else {
62
+ outputBox.log(chalk.red(option), "is not a valid option");
63
+ state.lastCommandStatus = false;
64
+ }
65
+ }
66
+ }
67
+ else if (text.startsWith("go")) {
68
+ const usage = helpMenu.go;
69
+ if (text.split(" ").length < 2) {
70
+ outputBox.log(chalk.magenta(usage));
71
+ state.lastCommandStatus = false;
72
+ }
73
+ else {
74
+ const funcName = text.split(" ")[1];
75
+ if (funcName === "") {
76
+ outputBox.log(chalk.magenta(usage));
77
+ state.lastCommandStatus = false;
78
+ }
79
+ else if (funcName === "to") {
80
+ const funcId = text.split(" ")[2];
81
+ // check if the function exists
82
+ if (chunks[funcId]) {
83
+ const funcCode = commandHelpers.getFunctionCode(chunks, funcId);
84
+ printFunction(outputBox, funcCode, (_a = chunks[funcId]) === null || _a === void 0 ? void 0 : _a.description, state.funcWriteFile);
85
+ state.lastCommandStatus = true;
86
+ }
87
+ else {
88
+ outputBox.log(chalk.red(`No function with ID ${funcId} found`));
89
+ state.lastCommandStatus = false;
90
+ }
91
+ state.functionNavHistory.push(funcId);
92
+ state.functionNavHistoryIndex++;
93
+ }
94
+ else if (funcName === "back") {
95
+ if (state.functionNavHistory.length > 0) {
96
+ if (state.functionNavHistoryIndex > 0) {
97
+ state.functionNavHistoryIndex--;
98
+ const funcId = state.functionNavHistory[state.functionNavHistoryIndex];
99
+ const funcCode = commandHelpers.getFunctionCode(chunks, funcId);
100
+ printFunction(outputBox, funcCode, chunks[funcId].description, state.funcWriteFile);
101
+ state.lastCommandStatus = true;
102
+ }
103
+ else {
104
+ outputBox.log(chalk.red("No previous function found"));
105
+ state.lastCommandStatus = false;
106
+ }
107
+ }
108
+ else {
109
+ outputBox.log(chalk.red("No previous function found"));
110
+ state.lastCommandStatus = false;
111
+ }
112
+ }
113
+ else if (funcName === "ahead") {
114
+ if (state.functionNavHistory.length > 0) {
115
+ if (state.functionNavHistoryIndex <
116
+ state.functionNavHistory.length - 1) {
117
+ state.functionNavHistoryIndex++;
118
+ const funcId = state.functionNavHistory[state.functionNavHistoryIndex];
119
+ const funcCode = commandHelpers.getFunctionCode(chunks, funcId);
120
+ printFunction(outputBox, funcCode, chunks[funcId].description, state.funcWriteFile);
121
+ state.lastCommandStatus = true;
122
+ }
123
+ else {
124
+ outputBox.log(chalk.red("No next function found"));
125
+ state.lastCommandStatus = false;
126
+ }
127
+ }
128
+ else {
129
+ outputBox.log(chalk.red("No next function found"));
130
+ state.lastCommandStatus = false;
131
+ }
132
+ }
133
+ else {
134
+ outputBox.log(chalk.red(funcName), "is not a valid option");
135
+ state.lastCommandStatus = false;
136
+ }
137
+ }
138
+ }
139
+ else if (text === "clear") {
140
+ outputBox.setText("");
141
+ state.lastCommandStatus = true;
142
+ }
143
+ else if (text.startsWith("set")) {
144
+ if (text.split(" ").length < 3) {
145
+ outputBox.log(chalk.magenta(helpMenu.set));
146
+ state.lastCommandStatus = false;
147
+ }
148
+ else {
149
+ const option = text.split(" ")[1];
150
+ if (option === "funcwritefile") {
151
+ const fileName = text.split(" ")[2];
152
+ state.funcWriteFile = path.join(`${fileName}`);
153
+ outputBox.log(chalk.green(`Function write file set to ${state.funcWriteFile}`));
154
+ state.lastCommandStatus = true;
155
+ }
156
+ else {
157
+ outputBox.log(chalk.red(option), "is not a valid option");
158
+ state.lastCommandStatus = false;
159
+ }
160
+ }
161
+ }
162
+ else if (text.startsWith("trace")) {
163
+ const usage = helpMenu.trace;
164
+ if (text.split(" ").length < 2) {
165
+ outputBox.log(chalk.magenta(usage));
166
+ state.lastCommandStatus = false;
167
+ }
168
+ else {
169
+ const option = text.split(" ")[1];
170
+ if (option === "") {
171
+ outputBox.log(chalk.magenta(usage));
172
+ state.lastCommandStatus = false;
173
+ }
174
+ else {
175
+ const funcName = text.split(" ")[1];
176
+ outputBox.log(commandHelpers.traceFunction(chunks, funcName));
177
+ state.lastCommandStatus = true;
178
+ }
179
+ }
180
+ }
181
+ else {
182
+ outputBox.log(chalk.red(text), "is not a valid command");
183
+ state.lastCommandStatus = false;
184
+ }
185
+ inputBox.clearValue();
186
+ inputBox.focus();
187
+ screen.render();
188
+ }
189
+ export { handleCommand };
190
+ //# sourceMappingURL=commandHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandHandler.js","sourceRoot":"","sources":["../../../../src/map/next_js/interactive_helpers/commandHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import chalk from "chalk";
2
+ const commandHelpers = {
3
+ fetchMenu: (chunks) => {
4
+ let returnText = chalk.cyan("List of chunks that contain fetch instances\n");
5
+ for (const chunk of Object.values(chunks)) {
6
+ if (chunk.containsFetch) {
7
+ returnText += chalk.green(`- ${chunk.id}: ${chunk.file} (${chunk.description})\n`);
8
+ }
9
+ }
10
+ return returnText;
11
+ },
12
+ getFunctionCode: (chunks, funcName) => {
13
+ let funcCode;
14
+ for (const chunk of Object.values(chunks)) {
15
+ if (chunk.id == funcName) {
16
+ funcCode = chunk.code;
17
+ }
18
+ }
19
+ if (!funcCode) {
20
+ return chalk.red(`Function ${funcName} not found`);
21
+ }
22
+ return funcCode;
23
+ },
24
+ listAllFunctions: (chunks) => {
25
+ let returnText = chalk.cyan("List of all functions\n");
26
+ for (const chunk of Object.values(chunks)) {
27
+ returnText += chalk.green(`- ${chunk.id}: ${chunk.description} (${chunk.file})\n`);
28
+ }
29
+ return returnText;
30
+ },
31
+ navHistory: (chunks, navList) => {
32
+ let returnText = chalk.cyan("Navigation history\n");
33
+ if (navList.length === 0) {
34
+ returnText += chalk.yellow("- No navigation history");
35
+ }
36
+ else {
37
+ for (const id of navList) {
38
+ returnText += chalk.green(`- ${id}: ${chunks[id].description}\n`);
39
+ }
40
+ }
41
+ return returnText;
42
+ },
43
+ traceFunction: (chunks, funcName) => {
44
+ let returnText = chalk.cyan(`Tracing function ${funcName}\n`);
45
+ const thisChunk = chunks[funcName];
46
+ if (!thisChunk) {
47
+ returnText += chalk.red(`Function ${funcName} not found`);
48
+ }
49
+ else {
50
+ // get imports
51
+ if (thisChunk.imports.length === 0) {
52
+ returnText += chalk.yellow("- No imports");
53
+ }
54
+ else {
55
+ returnText += chalk.greenBright("Imports:\n");
56
+ for (const importName of thisChunk.imports) {
57
+ const funcDesc = chunks[importName].description;
58
+ returnText += chalk.green(`- ${importName}: ${funcDesc}\n`);
59
+ }
60
+ }
61
+ returnText += "\n";
62
+ // get functions which import this particular function
63
+ // iterate over the function
64
+ let exported_to_chunks = [];
65
+ for (const chunk of Object.values(chunks)) {
66
+ // get the imports
67
+ const chunk_imports = chunk.imports;
68
+ // see if the import includes this particular ID
69
+ for (const chunk_import of chunk_imports) {
70
+ // if so, then push to the var
71
+ if (chunk_import == funcName) {
72
+ exported_to_chunks.push(chunk.id);
73
+ }
74
+ }
75
+ }
76
+ // append to return text
77
+ if (exported_to_chunks.length === 0) {
78
+ returnText += chalk.yellow("- No exports");
79
+ }
80
+ else {
81
+ returnText += chalk.greenBright("Exports:\n");
82
+ for (const exportName of exported_to_chunks) {
83
+ returnText += chalk.green(`- ${exportName}: ${chunks[exportName].description}\n`);
84
+ }
85
+ }
86
+ }
87
+ return returnText;
88
+ },
89
+ };
90
+ export default commandHelpers;
91
+ //# sourceMappingURL=commandHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandHelpers.js","sourceRoot":"","sources":["../../../../src/map/next_js/interactive_helpers/commandHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ const helpMenu = {
2
+ help: "Show this help menu",
3
+ exit: "Exit the interactive mode (or press escape twice)",
4
+ clear: "Clear the output box",
5
+ list: "Usage: list <option>\n fetch: List functions that contain fetch instances\n all: List all functions\n nav: List navigation history",
6
+ go: "Usage: go <option>\n to <functionID>: Go to a specific function\n back: Go back to the previous function\n ahead: Go to the next function",
7
+ set: "Usage: set <option> <value>\n funcwritefile <filename>: Set file to write function code to",
8
+ trace: "Usage: trace <functionName>\n Traces imports for a function",
9
+ };
10
+ export { helpMenu };
11
+ //# sourceMappingURL=helpMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpMenu.js","sourceRoot":"","sources":["../../../../src/map/next_js/interactive_helpers/helpMenu.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG;IACb,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,mDAAmD;IACzD,KAAK,EAAE,sBAAsB;IAC7B,IAAI,EAAE,2IAA2I;IACjJ,EAAE,EAAE,+JAA+J;IACnK,GAAG,EAAE,6FAA6F;IAClG,KAAK,EAAE,8DAA8D;CACxE,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}