@shriyanss/js-recon 1.0.0 → 1.1.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/.github/workflows/build-and-prettify.yaml +65 -0
  2. package/.github/workflows/npm-publish.yml +35 -0
  3. package/.prettierignore +2 -0
  4. package/.prettierrc +4 -0
  5. package/CHANGELOG.md +50 -0
  6. package/README.md +35 -139
  7. package/build/api_gateway/checkFeasibility.js +32 -0
  8. package/build/api_gateway/checkFeasibility.js.map +1 -0
  9. package/build/api_gateway/checkFireWallBlocking.js +24 -0
  10. package/build/api_gateway/checkFireWallBlocking.js.map +1 -0
  11. package/build/api_gateway/genReq.js +199 -0
  12. package/build/api_gateway/genReq.js.map +1 -0
  13. package/build/api_gateway/index.js +275 -0
  14. package/build/api_gateway/index.js.map +1 -0
  15. package/build/endpoints/gen_report/gen_json.js +22 -0
  16. package/build/endpoints/gen_report/gen_json.js.map +1 -0
  17. package/build/endpoints/gen_report/gen_markdown.js +66 -0
  18. package/build/endpoints/gen_report/gen_markdown.js.map +1 -0
  19. package/build/endpoints/gen_report/utility/iterate_n_store.js +46 -0
  20. package/build/endpoints/gen_report/utility/iterate_n_store.js.map +1 -0
  21. package/build/endpoints/index.js +89 -0
  22. package/build/endpoints/index.js.map +1 -0
  23. package/build/endpoints/next_js/client_jsFilesHref.js +91 -0
  24. package/build/endpoints/next_js/client_jsFilesHref.js.map +1 -0
  25. package/build/endpoints/next_js/client_jsonParse.js +78 -0
  26. package/build/endpoints/next_js/client_jsonParse.js.map +1 -0
  27. package/build/endpoints/next_js/client_subsequentRequests.js +199 -0
  28. package/build/endpoints/next_js/client_subsequentRequests.js.map +1 -0
  29. package/build/endpoints/next_js/getWebpacks.js +45 -0
  30. package/build/endpoints/next_js/getWebpacks.js.map +1 -0
  31. package/build/globalConfig.js +11 -0
  32. package/build/globalConfig.js.map +1 -0
  33. package/build/index.js +166 -0
  34. package/build/index.js.map +1 -0
  35. package/build/lazyLoad/downloadFilesUtil.js +128 -0
  36. package/build/lazyLoad/downloadFilesUtil.js.map +1 -0
  37. package/build/lazyLoad/downloadLoadedJsUtil.js +51 -0
  38. package/build/lazyLoad/downloadLoadedJsUtil.js.map +1 -0
  39. package/build/lazyLoad/globals.js +22 -0
  40. package/build/lazyLoad/globals.js.map +1 -0
  41. package/build/lazyLoad/index.js +170 -0
  42. package/build/lazyLoad/index.js.map +1 -0
  43. package/build/lazyLoad/next_js/next_GetJSScript.js +94 -0
  44. package/build/lazyLoad/next_js/next_GetJSScript.js.map +1 -0
  45. package/build/lazyLoad/next_js/next_GetLazyResources.js +202 -0
  46. package/build/lazyLoad/next_js/next_GetLazyResources.js.map +1 -0
  47. package/build/lazyLoad/next_js/next_SubsequentRequests.js +120 -0
  48. package/build/lazyLoad/next_js/next_SubsequentRequests.js.map +1 -0
  49. package/build/lazyLoad/nuxt_js/nuxt_astParse.js +188 -0
  50. package/build/lazyLoad/nuxt_js/nuxt_astParse.js.map +1 -0
  51. package/build/lazyLoad/nuxt_js/nuxt_getFromPageSource.js +75 -0
  52. package/build/lazyLoad/nuxt_js/nuxt_getFromPageSource.js.map +1 -0
  53. package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js +94 -0
  54. package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js.map +1 -0
  55. package/build/lazyLoad/svelte/svelte_getFromPageSource.js +68 -0
  56. package/build/lazyLoad/svelte/svelte_getFromPageSource.js.map +1 -0
  57. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js +95 -0
  58. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js.map +1 -0
  59. package/build/map/index.js +58 -0
  60. package/build/map/index.js.map +1 -0
  61. package/build/map/next_js/getFetchInstances.js +108 -0
  62. package/build/map/next_js/getFetchInstances.js.map +1 -0
  63. package/build/map/next_js/getWebpackConnections.js +227 -0
  64. package/build/map/next_js/getWebpackConnections.js.map +1 -0
  65. package/build/map/next_js/interactive.js +32 -0
  66. package/build/map/next_js/interactive.js.map +1 -0
  67. package/build/map/next_js/interactive_helpers/commandHandler.js +190 -0
  68. package/build/map/next_js/interactive_helpers/commandHandler.js.map +1 -0
  69. package/build/map/next_js/interactive_helpers/commandHelpers.js +91 -0
  70. package/build/map/next_js/interactive_helpers/commandHelpers.js.map +1 -0
  71. package/build/map/next_js/interactive_helpers/helpMenu.js +11 -0
  72. package/build/map/next_js/interactive_helpers/helpMenu.js.map +1 -0
  73. package/build/map/next_js/interactive_helpers/keybindings.js +80 -0
  74. package/build/map/next_js/interactive_helpers/keybindings.js.map +1 -0
  75. package/build/map/next_js/interactive_helpers/printer.js +17 -0
  76. package/build/map/next_js/interactive_helpers/printer.js.map +1 -0
  77. package/build/map/next_js/interactive_helpers/ui.js +81 -0
  78. package/build/map/next_js/interactive_helpers/ui.js.map +1 -0
  79. package/build/map/next_js/resolveFetch.js +201 -0
  80. package/build/map/next_js/resolveFetch.js.map +1 -0
  81. package/build/run/index.js +62 -0
  82. package/build/run/index.js.map +1 -0
  83. package/build/strings/index.js +238 -0
  84. package/build/strings/index.js.map +1 -0
  85. package/build/strings/openapi.js +55 -0
  86. package/build/strings/openapi.js.map +1 -0
  87. package/build/strings/permutate.js +55 -0
  88. package/build/strings/permutate.js.map +1 -0
  89. package/build/strings/secrets.js +89 -0
  90. package/build/strings/secrets.js.map +1 -0
  91. package/build/techDetect/index.js +229 -0
  92. package/build/techDetect/index.js.map +1 -0
  93. package/build/utility/ai.js +69 -0
  94. package/build/utility/ai.js.map +1 -0
  95. package/build/utility/globals.js +84 -0
  96. package/build/utility/globals.js.map +1 -0
  97. package/build/utility/interfaces.js +2 -0
  98. package/build/utility/interfaces.js.map +1 -0
  99. package/build/utility/makeReq.js +265 -0
  100. package/build/utility/makeReq.js.map +1 -0
  101. package/build/utility/resolvePath.js +44 -0
  102. package/build/utility/resolvePath.js.map +1 -0
  103. package/{utility → build/utility}/runSandboxed.js +10 -13
  104. package/build/utility/runSandboxed.js.map +1 -0
  105. package/{utility → build/utility}/urlUtils.js +9 -11
  106. package/build/utility/urlUtils.js.map +1 -0
  107. package/docs/CNAME +1 -0
  108. package/docs/README.md +20 -0
  109. package/docs/api-gateway.md +68 -0
  110. package/docs/endpoints.md +49 -0
  111. package/docs/example-scenario.md +258 -0
  112. package/docs/interactive-mode.md +76 -0
  113. package/docs/lazyload.md +56 -0
  114. package/docs/map.md +53 -0
  115. package/docs/run.md +54 -0
  116. package/docs/strings.md +75 -0
  117. package/package.json +50 -38
  118. package/api_gateway/checkFeasibility.js +0 -25
  119. package/api_gateway/checkFireWallBlocking.js +0 -17
  120. package/api_gateway/genReq.js +0 -214
  121. package/api_gateway/index.js +0 -325
  122. package/endpoints/index.js +0 -7
  123. package/globalConfig.js +0 -12
  124. package/index.js +0 -69
  125. package/lazyLoad/downloadFilesUtil.js +0 -122
  126. package/lazyLoad/downloadLoadedJsUtil.js +0 -54
  127. package/lazyLoad/globals.js +0 -15
  128. package/lazyLoad/index.js +0 -167
  129. package/lazyLoad/next_js/next_GetJSScript.js +0 -99
  130. package/lazyLoad/next_js/next_GetLazyResources.js +0 -201
  131. package/lazyLoad/next_js/next_SubsequentRequests.js +0 -138
  132. package/lazyLoad/nuxt_js/nuxt_astParse.js +0 -194
  133. package/lazyLoad/nuxt_js/nuxt_getFromPageSource.js +0 -77
  134. package/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js +0 -99
  135. package/research/firewall_bypass.md +0 -38
  136. package/research/next_js.md +0 -116
  137. package/research/nuxt_js.md +0 -125
  138. package/research/vue_js.md +0 -9
  139. package/strings/index.js +0 -145
  140. package/techDetect/index.js +0 -156
  141. package/utility/globals.js +0 -6
  142. package/utility/makeReq.js +0 -179
  143. package/utility/resolvePath.js +0 -43
@@ -0,0 +1,227 @@
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, {
42
+ recursive: true,
43
+ encoding: "utf8",
44
+ });
45
+ // remove all subsequent requests file from the list
46
+ files = files.filter((file) => {
47
+ return !file.includes("___subsequent_requests");
48
+ });
49
+ // remove all directories from the list
50
+ files = files.filter((file) => {
51
+ return !fs.lstatSync(path.join(directory, file)).isDirectory();
52
+ });
53
+ let chunks = {};
54
+ // read all the files, and get the chunks
55
+ for (const file of files) {
56
+ // if the first three lines of the file doesn't contain `self.webpackChunk_N_E`, continue
57
+ const firstThreeLines = fs
58
+ .readFileSync(path.join(directory, file.toString()), "utf8")
59
+ .split("\n")
60
+ .slice(0, 3);
61
+ if (!firstThreeLines.some((line) => line.includes("self.webpackChunk_N_E"))) {
62
+ continue;
63
+ }
64
+ // read the file
65
+ const code = fs.readFileSync(path.join(directory, file.toString()), "utf8");
66
+ // parse the code with ast
67
+ let ast;
68
+ try {
69
+ ast = parser.parse(code, {
70
+ sourceType: "unambiguous",
71
+ plugins: ["jsx", "typescript"],
72
+ });
73
+ }
74
+ catch (err) {
75
+ continue;
76
+ }
77
+ // traverse the ast
78
+ traverse(ast, {
79
+ CallExpression(path) {
80
+ const callee = path.get("callee");
81
+ // check if the call expression is a push to a webpack chunk
82
+ if (!callee.isMemberExpression() ||
83
+ !callee.get("property").isIdentifier({ name: "push" })) {
84
+ return;
85
+ }
86
+ let object = callee.get("object");
87
+ if (object.isAssignmentExpression()) {
88
+ object = object.get("left");
89
+ }
90
+ if (!(object.isMemberExpression() &&
91
+ object.get("property").isIdentifier() &&
92
+ object
93
+ .get("property")
94
+ .node.name.startsWith("webpackChunk"))) {
95
+ return;
96
+ }
97
+ // get the first argument of the push call
98
+ const arg = path.get("arguments.0");
99
+ if (!arg || !arg.isArrayExpression()) {
100
+ return;
101
+ }
102
+ // find the object expression in the arguments
103
+ const elements = arg.get("elements");
104
+ for (const element of elements) {
105
+ if (element.isObjectExpression()) {
106
+ const properties = element.get("properties");
107
+ for (const prop of properties) {
108
+ if (prop.isObjectProperty()) {
109
+ const key = prop.get("key");
110
+ if (key.isNumericLiteral() ||
111
+ key.isStringLiteral()) {
112
+ const keyValue = key.node.value;
113
+ const function_code = code
114
+ .slice(prop.node.start, prop.node.end)
115
+ .replace(/^\s*[\w\d]+:\s+function\s+/, `function webpack_${keyValue} `)
116
+ .replace(/^s*[\w\d]+:\s\(/, `func_${keyValue} = (`);
117
+ chunks[String(keyValue)] = {
118
+ id: String(keyValue),
119
+ description: "none",
120
+ loadedOn: [],
121
+ containsFetch: false,
122
+ exports: "string",
123
+ callStack: [],
124
+ code: function_code,
125
+ imports: [],
126
+ file: file,
127
+ };
128
+ }
129
+ }
130
+ }
131
+ }
132
+ }
133
+ },
134
+ });
135
+ }
136
+ // now, iterate through every chunk, and find the imports in the function
137
+ console.log(chalk.cyan("[i] Finding imports for chunks"));
138
+ for (const [key, value] of Object.entries(chunks)) {
139
+ let ast;
140
+ try {
141
+ ast = parser.parse(value.code, {
142
+ sourceType: "unambiguous",
143
+ plugins: ["jsx", "typescript"],
144
+ });
145
+ }
146
+ catch (err) {
147
+ continue;
148
+ }
149
+ // if the function has three arguments, get the name of the third argument
150
+ let thirdArgName;
151
+ traverse(ast, {
152
+ FunctionDeclaration(path) {
153
+ const args = path.get("params");
154
+ if (args.length === 3) {
155
+ thirdArgName = args[2].node.name;
156
+ }
157
+ },
158
+ });
159
+ // if the function doesn't have three arguments, continue
160
+ if (!thirdArgName) {
161
+ continue;
162
+ }
163
+ // if the thirs argument, i.e. __webpack_require__ is present, then see if it is used
164
+ // if yes, print the chunk name
165
+ traverse(ast, {
166
+ CallExpression(path) {
167
+ const callee = path.get("callee");
168
+ if (callee.isIdentifier({ name: thirdArgName })) {
169
+ // the id of the function
170
+ const id = path.get("arguments.0");
171
+ if (id) {
172
+ if (id.node.value !== undefined &&
173
+ String(id.node.value).match(/^\d+$/) &&
174
+ id.node.value !== "") {
175
+ chunks[key].imports.push(String(id.node.value));
176
+ }
177
+ }
178
+ }
179
+ },
180
+ });
181
+ }
182
+ // if AI description is enabled, add them
183
+ if (globals.getAi() && globals.getAi().includes("description")) {
184
+ console.log(chalk.cyan("[i] Generating descriptions for chunks"));
185
+ const chunkEntries = Object.entries(chunks);
186
+ const descriptionPromises = [];
187
+ let activeThreads = 0;
188
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
189
+ 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.";
190
+ for (const [key, value] of chunkEntries) {
191
+ while (activeThreads >= maxAiThreads) {
192
+ yield sleep(Math.floor(Math.random() * 451) + 50); // Sleep for 50-500ms
193
+ }
194
+ activeThreads++;
195
+ const promise = (() => __awaiter(void 0, void 0, void 0, function* () {
196
+ try {
197
+ const description = yield getCompletion(value.code, systemPrompt);
198
+ return { key, description };
199
+ }
200
+ catch (err) {
201
+ console.log(chalk.red(`[!] Error generating description for chunk ${key}: ${err.message}`));
202
+ return { key, description: "none" };
203
+ }
204
+ finally {
205
+ activeThreads--;
206
+ }
207
+ }))();
208
+ descriptionPromises.push(promise);
209
+ }
210
+ const results = yield Promise.all(descriptionPromises);
211
+ results.forEach(({ key, description }) => {
212
+ if (chunks[key]) {
213
+ chunks[key].description = description || "none";
214
+ console.log(chalk.green(`[✓] Generated description for ${key}: ${chunks[key].description}`));
215
+ }
216
+ });
217
+ }
218
+ console.log(chalk.green(`[✓] Found ${Object.keys(chunks).length} webpack functions`));
219
+ if (formats.includes("json")) {
220
+ const chunks_json = JSON.stringify(chunks, null, 2);
221
+ fs.writeFileSync(`${output}.json`, chunks_json);
222
+ console.log(chalk.green(`[✓] Saved webpack connections to ${output}.json`));
223
+ }
224
+ return chunks;
225
+ });
226
+ export default getWebpackConnections;
227
+ //# 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"}