@shriyanss/js-recon 1.2.2 → 1.3.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 (117) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/build/analyze/engine/astEngine.js +32 -26
  3. package/build/analyze/engine/astEngine.js.map +1 -1
  4. package/build/analyze/helpers/engineHelpers/findMemberExpressionAssignment.js.map +1 -1
  5. package/build/analyze/helpers/schemas.js +1 -0
  6. package/build/analyze/helpers/schemas.js.map +1 -1
  7. package/build/endpoints/next_js/client_jsFilesHref.js +4 -2
  8. package/build/endpoints/next_js/client_jsFilesHref.js.map +1 -1
  9. package/build/endpoints/next_js/client_mappedJsonFile.js.map +1 -1
  10. package/build/endpoints/next_js/client_subsequentRequests.js +12 -4
  11. package/build/endpoints/next_js/client_subsequentRequests.js.map +1 -1
  12. package/build/globalConfig.js +1 -1
  13. package/build/globalConfig.js.map +1 -1
  14. package/build/index.js +16 -2
  15. package/build/index.js.map +1 -1
  16. package/build/lazyLoad/downloadFilesUtil.js +74 -80
  17. package/build/lazyLoad/downloadFilesUtil.js.map +1 -1
  18. package/build/lazyLoad/downloadLoadedJsUtil.js +1 -1
  19. package/build/lazyLoad/downloadLoadedJsUtil.js.map +1 -1
  20. package/build/lazyLoad/index.js +31 -46
  21. package/build/lazyLoad/index.js.map +1 -1
  22. package/build/lazyLoad/next_js/NextJsCrawler.js +76 -22
  23. package/build/lazyLoad/next_js/NextJsCrawler.js.map +1 -1
  24. package/build/lazyLoad/next_js/next_GetJSScript.js +1 -1
  25. package/build/lazyLoad/next_js/next_GetJSScript.js.map +1 -1
  26. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js +1 -1
  27. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js.map +1 -1
  28. package/build/lazyLoad/next_js/next_SubsequentRequests.js +4 -2
  29. package/build/lazyLoad/next_js/next_SubsequentRequests.js.map +1 -1
  30. package/build/lazyLoad/next_js/next_bruteForceJsFiles.js +8 -3
  31. package/build/lazyLoad/next_js/next_bruteForceJsFiles.js.map +1 -1
  32. package/build/lazyLoad/next_js/next_getClientSidePaths.js +83 -0
  33. package/build/lazyLoad/next_js/next_getClientSidePaths.js.map +1 -0
  34. package/build/lazyLoad/nuxt_js/nuxt_astParse.js.map +1 -1
  35. package/build/lazyLoad/react/react_getScriptTags.js +29 -0
  36. package/build/lazyLoad/react/react_getScriptTags.js.map +1 -0
  37. package/build/lazyLoad/react/react_sourcemapUrls.js +44 -0
  38. package/build/lazyLoad/react/react_sourcemapUrls.js.map +1 -0
  39. package/build/lazyLoad/react/react_webpackChunkPaths.js +188 -0
  40. package/build/lazyLoad/react/react_webpackChunkPaths.js.map +1 -0
  41. package/build/lazyLoad/techDetect/checkAngularJS.js +70 -0
  42. package/build/lazyLoad/techDetect/checkAngularJS.js.map +1 -0
  43. package/build/lazyLoad/techDetect/checkNextJS.js +45 -0
  44. package/build/lazyLoad/techDetect/checkNextJS.js.map +1 -0
  45. package/build/lazyLoad/techDetect/checkNuxtJS.js +39 -0
  46. package/build/lazyLoad/techDetect/checkNuxtJS.js.map +1 -0
  47. package/build/lazyLoad/techDetect/checkReact.js +44 -0
  48. package/build/lazyLoad/techDetect/checkReact.js.map +1 -0
  49. package/build/lazyLoad/techDetect/checkSvelte.js +69 -0
  50. package/build/lazyLoad/techDetect/checkSvelte.js.map +1 -0
  51. package/build/lazyLoad/techDetect/checkVueJS.js +118 -0
  52. package/build/lazyLoad/techDetect/checkVueJS.js.map +1 -0
  53. package/build/lazyLoad/techDetect/index.js +14 -254
  54. package/build/lazyLoad/techDetect/index.js.map +1 -1
  55. package/build/lazyLoad/vue/vue_RuntimeJs.js +122 -54
  56. package/build/lazyLoad/vue/vue_RuntimeJs.js.map +1 -1
  57. package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js +4 -0
  58. package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js.map +1 -1
  59. package/build/lazyLoad/vue/vue_discoverJsFiles.js +68 -0
  60. package/build/lazyLoad/vue/vue_discoverJsFiles.js.map +1 -0
  61. package/build/lazyLoad/vue/vue_getClientSidePaths.js +122 -0
  62. package/build/lazyLoad/vue/vue_getClientSidePaths.js.map +1 -0
  63. package/build/lazyLoad/vue/vue_jsImports.js +40 -34
  64. package/build/lazyLoad/vue/vue_jsImports.js.map +1 -1
  65. package/build/lazyLoad/vue/vue_pageSrc.js +60 -0
  66. package/build/lazyLoad/vue/vue_pageSrc.js.map +1 -0
  67. package/build/lazyLoad/vue/vue_reconstructSourceMaps.js +8 -0
  68. package/build/lazyLoad/vue/vue_reconstructSourceMaps.js.map +1 -1
  69. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js +136 -0
  70. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js.map +1 -0
  71. package/build/lazyLoad/vue/vue_severalJsFilesHome.js +5 -0
  72. package/build/lazyLoad/vue/vue_severalJsFilesHome.js.map +1 -1
  73. package/build/lazyLoad/vue/vue_viteMapDeps.js +89 -0
  74. package/build/lazyLoad/vue/vue_viteMapDeps.js.map +1 -0
  75. package/build/map/index.js +19 -0
  76. package/build/map/index.js.map +1 -1
  77. package/build/map/next_js/getExports.js +3 -1
  78. package/build/map/next_js/getExports.js.map +1 -1
  79. package/build/map/next_js/getTurbopackConnections.js +255 -0
  80. package/build/map/next_js/getTurbopackConnections.js.map +1 -0
  81. package/build/map/next_js/getWebpackConnections.js +3 -4
  82. package/build/map/next_js/getWebpackConnections.js.map +1 -1
  83. package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js +14 -10
  84. package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js.map +1 -1
  85. package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js.map +1 -1
  86. package/build/map/next_js/resolveFetch.js +2 -1
  87. package/build/map/next_js/resolveFetch.js.map +1 -1
  88. package/build/map/next_js/utils.js.map +1 -1
  89. package/build/map/vue_js/getViteConnections.js +293 -0
  90. package/build/map/vue_js/getViteConnections.js.map +1 -0
  91. package/build/map/vue_js/interactive.js +39 -0
  92. package/build/map/vue_js/interactive.js.map +1 -0
  93. package/build/map/vue_js/interactive_helpers/commandHandler.js +285 -0
  94. package/build/map/vue_js/interactive_helpers/commandHandler.js.map +1 -0
  95. package/build/map/vue_js/interactive_helpers/commandHelpers.js +39 -0
  96. package/build/map/vue_js/interactive_helpers/commandHelpers.js.map +1 -0
  97. package/build/map/vue_js/interactive_helpers/helpMenu.js +11 -0
  98. package/build/map/vue_js/interactive_helpers/helpMenu.js.map +1 -0
  99. package/build/mcp/cli.js +381 -0
  100. package/build/mcp/cli.js.map +1 -0
  101. package/build/mcp/commands.js +147 -0
  102. package/build/mcp/commands.js.map +1 -0
  103. package/build/mcp/config.js +68 -0
  104. package/build/mcp/config.js.map +1 -0
  105. package/build/mcp/index.js +29 -0
  106. package/build/mcp/index.js.map +1 -0
  107. package/build/mcp/providers.js +153 -0
  108. package/build/mcp/providers.js.map +1 -0
  109. package/build/mcp/tools.js +185 -0
  110. package/build/mcp/tools.js.map +1 -0
  111. package/build/run/index.js +35 -16
  112. package/build/run/index.js.map +1 -1
  113. package/build/utility/makeReq.js +25 -55
  114. package/build/utility/makeReq.js.map +1 -1
  115. package/build/utility/puppeteerInstance.js +5 -0
  116. package/build/utility/puppeteerInstance.js.map +1 -0
  117. package/package.json +10 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lazyLoad/techDetect/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lazyLoad/techDetect/index.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,3 @@
1
- /**
2
- * ==============================================
3
- * ==============================================
4
- * ==============================================
5
- *
6
- * !!!INCOMPLETE MODULE!!!
7
- *
8
- * WILL RETURN BLANK LIST
9
- *
10
- * ==============================================
11
- * ==============================================
12
- * ==============================================
13
- */
14
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -20,81 +7,162 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
20
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
21
8
  });
22
9
  };
10
+ import chalk from "chalk";
23
11
  import makeRequest from "../../utility/makeReq.js";
24
12
  import * as cheerio from "cheerio";
25
13
  import * as parser from "@babel/parser";
26
14
  import _traverse from "@babel/traverse";
27
15
  const traverse = _traverse.default;
16
+ import inquirer from "inquirer";
17
+ import CONFIG from "../../globalConfig.js";
18
+ import execFunc from "../../utility/runSandboxed.js";
19
+ import * as globals from "../../utility/globals.js";
28
20
  const vue_runtimeJs = (url) => __awaiter(void 0, void 0, void 0, function* () {
29
- let discovered_urls = [];
30
- const rootHtml = yield makeRequest(url).then((res) => res.text());
21
+ const rootHtmlRes = yield makeRequest(url);
22
+ if (!rootHtmlRes) {
23
+ console.log(chalk.red(`[!] Failed to fetch ${url}`));
24
+ return [];
25
+ }
26
+ const rootHtml = yield rootHtmlRes.text();
31
27
  let runtimeJsUrl;
32
- // iterate through the HTML, and find all script tags.
33
- // from those, find the one that has runtime.<hash>.js
34
- // DEBUG: base64 decode the HTML
35
28
  const $ = cheerio.load(rootHtml);
36
- // const $ = cheerio.load(Buffer.from(rootHtml, "base64").toString("utf-8"));
37
29
  $("script").each((_, el) => {
38
- const tag = $(el).get(0).tagName;
39
30
  const attribs = el.attribs;
40
31
  if (attribs) {
41
32
  for (const [attrName, attrValue] of Object.entries(attribs)) {
42
- if (attrName === "src") {
43
- // @ts-ignore
44
- if (attrValue.match(/runtime\..+\.js/)) {
45
- // @ts-ignore
46
- runtimeJsUrl = attrValue;
47
- }
33
+ // Match webpack runtime filename specifically: /runtime.<hex>.js
34
+ // Exclude things like /vue.runtime.2.7.20.min.js
35
+ if (attrName === "src" && attrValue.match(/\/runtime\.[a-f0-9]+\.js(?:$|\?)/)) {
36
+ runtimeJsUrl = attrValue;
48
37
  }
49
38
  }
50
39
  }
51
40
  });
52
- if (runtimeJsUrl) {
53
- // if it starts with HTTP, then great. else, construct using path.join
54
- if (!runtimeJsUrl.startsWith("http")) {
55
- runtimeJsUrl = new URL(runtimeJsUrl, url).href;
56
- }
41
+ if (!runtimeJsUrl) {
42
+ console.log(chalk.red("[!] No runtime JS file found in page source"));
43
+ console.log(chalk.magenta(CONFIG.notFoundMessage));
44
+ return [];
57
45
  }
58
- // now, get the contents of the runtime.<hash>.js file
59
- const runtimeJsContent = yield makeRequest(runtimeJsUrl).then((res) => res.text());
60
- // ast parser goes brrrr
46
+ if (!runtimeJsUrl.startsWith("http")) {
47
+ runtimeJsUrl = new URL(runtimeJsUrl, url).href;
48
+ }
49
+ const runtimeJsRes = yield makeRequest(runtimeJsUrl);
50
+ if (!runtimeJsRes) {
51
+ console.log(chalk.red(`[!] Failed to fetch ${runtimeJsUrl}`));
52
+ return [];
53
+ }
54
+ const runtimeJsContent = yield runtimeJsRes.text();
61
55
  const ast = parser.parse(runtimeJsContent, {
62
56
  sourceType: "unambiguous",
63
57
  plugins: ["jsx", "typescript"],
64
58
  errorRecovery: true,
65
59
  });
66
- // now, traverse the ast, and find the right spot
67
- // Looking for: script.src = function(e) { ... }(e)
68
- let scriptSrcAssignment = null;
60
+ let scriptSrcFuncSource;
61
+ let publicPathObj;
62
+ let publicPathProp;
69
63
  traverse(ast, {
70
64
  AssignmentExpression(path) {
65
+ var _a, _b;
71
66
  const { left, right } = path.node;
72
- // Check if left side is `script.src`
67
+ // Anchor on the always-present pattern: script.src = function(e){...}(e)
73
68
  if (left.type === "MemberExpression" &&
74
69
  left.object.type === "Identifier" &&
75
70
  left.object.name === "script" &&
76
71
  left.property.type === "Identifier" &&
77
- left.property.name === "src") {
78
- // Check if right side is a CallExpression (IIFE pattern)
79
- // i.e., function(e) { ... }(e)
80
- if (right.type === "CallExpression" && right.callee.type === "FunctionExpression") {
81
- // Found the pattern! Extract the function body
82
- const funcExpr = right.callee;
83
- // Get the source code for this node
84
- const start = path.node.start;
85
- const end = path.node.end;
86
- if (start !== null && end !== null) {
87
- const sourceCode = runtimeJsContent.slice(start, end);
88
- console.log("Found script.src assignment:", sourceCode);
89
- scriptSrcAssignment = path.node;
90
- // TODO: Process the function body to extract chunk mappings
91
- // The function typically contains object mappings for chunk names and hashes
72
+ left.property.name === "src" &&
73
+ right.type === "CallExpression" &&
74
+ right.callee.type === "FunctionExpression") {
75
+ const funcExpr = right.callee;
76
+ if (funcExpr.start !== null && funcExpr.end !== null) {
77
+ scriptSrcFuncSource = runtimeJsContent.slice(funcExpr.start, funcExpr.end);
78
+ }
79
+ // The public-path variable is whatever sits leftmost in the
80
+ // concatenation chain of the return statement. The webpack
81
+ // template emits any short <obj>.<prop> identifier here, not
82
+ // necessarily `c.p`.
83
+ const returnStmt = (_b = (_a = funcExpr.body) === null || _a === void 0 ? void 0 : _a.body) === null || _b === void 0 ? void 0 : _b.find((s) => s.type === "ReturnStatement");
84
+ if (returnStmt && returnStmt.argument) {
85
+ let cursor = returnStmt.argument;
86
+ while (cursor && cursor.type === "BinaryExpression") {
87
+ cursor = cursor.left;
88
+ }
89
+ if (cursor &&
90
+ cursor.type === "MemberExpression" &&
91
+ !cursor.computed &&
92
+ cursor.object.type === "Identifier" &&
93
+ cursor.property.type === "Identifier") {
94
+ publicPathObj = cursor.object.name;
95
+ publicPathProp = cursor.property.name;
92
96
  }
93
97
  }
94
98
  }
95
99
  },
96
100
  });
97
- // TODO: Add the rest of the logic from the code
101
+ if (!scriptSrcFuncSource) {
102
+ console.log(chalk.red("[!] Could not find chunk URL builder function in runtime JS"));
103
+ console.log(chalk.magenta(CONFIG.notFoundMessage));
104
+ return [];
105
+ }
106
+ console.log(chalk.green("[✓] Found chunk URL builder function"));
107
+ console.log(chalk.yellow(scriptSrcFuncSource));
108
+ if (publicPathObj && publicPathProp) {
109
+ console.log(chalk.green(`[✓] Public-path variable detected: ${publicPathObj}.${publicPathProp}`));
110
+ }
111
+ else {
112
+ console.log(chalk.yellow("[!] Could not detect public-path variable; will resolve chunk paths against runtime.js directory regardless"));
113
+ }
114
+ if (!globals.getYes()) {
115
+ const { confirmed } = yield inquirer.prompt([
116
+ {
117
+ type: "confirm",
118
+ name: "confirmed",
119
+ message: "Is this the correct function?",
120
+ default: true,
121
+ },
122
+ ]);
123
+ if (!confirmed) {
124
+ console.log(chalk.red("[!] Not executing function."));
125
+ return [];
126
+ }
127
+ }
128
+ console.log(chalk.cyan("[i] Proceeding with the selected function to fetch files"));
129
+ // Stub the public-path variable with empty string so the function returns
130
+ // just the relative chunk path (e.g. "pages/index.<hash>.js"). The real
131
+ // public path value isn't needed -- chunks live alongside runtime.js, so
132
+ // resolving the relative path against the runtime.js directory gives the
133
+ // correct absolute URL.
134
+ const stubDecl = publicPathObj && publicPathProp ? `var ${publicPathObj} = { ${publicPathProp}: "" };` : "";
135
+ const urlBuilderFunc = `(() => { ${stubDecl} return (${scriptSrcFuncSource}); })()`;
136
+ const js_paths = [];
137
+ try {
138
+ const integers = scriptSrcFuncSource.match(/\d+/g);
139
+ if (integers) {
140
+ for (const i of integers) {
141
+ const output = execFunc(urlBuilderFunc, parseInt(i));
142
+ if (output !== null && output !== undefined && !String(output).includes("undefined")) {
143
+ js_paths.push(String(output));
144
+ }
145
+ }
146
+ }
147
+ }
148
+ catch (err) {
149
+ console.error(chalk.red("Unsafe or invalid code:", err instanceof Error ? err.message : String(err)));
150
+ return [];
151
+ }
152
+ const unique_paths = [...new Set(js_paths)];
153
+ if (unique_paths.length > 0) {
154
+ console.log(chalk.green(`[✓] Found ${unique_paths.length} JS chunks`));
155
+ }
156
+ const runtimeDir = runtimeJsUrl.split("/").slice(0, -1).join("/") + "/";
157
+ const discovered_urls = [];
158
+ for (const js_path of unique_paths) {
159
+ if (js_path.startsWith("http")) {
160
+ discovered_urls.push(js_path);
161
+ }
162
+ else {
163
+ discovered_urls.push(new URL(js_path, runtimeDir).href);
164
+ }
165
+ }
98
166
  return discovered_urls;
99
167
  });
100
168
  export default vue_runtimeJs;
@@ -1 +1 @@
1
- {"version":3,"file":"vue_RuntimeJs.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_RuntimeJs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vue_RuntimeJs.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_RuntimeJs.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,10 @@ const vue_singleJsFileOnHome = (url) => __awaiter(void 0, void 0, void 0, functi
17
17
  let jsFilesFound = [];
18
18
  // first, get the home page content
19
19
  const req = yield makeRequest(url, {});
20
+ if (req == null) {
21
+ console.log(chalk.red(`Failed to fetch ${url}`));
22
+ return jsFilesFound;
23
+ }
20
24
  const homePageContent = yield req.text();
21
25
  // load the home page content into cheerio
22
26
  const $ = cheerio.load(homePageContent);
@@ -1 +1 @@
1
- {"version":3,"file":"vue_SingleJsFileOnHome.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_SingleJsFileOnHome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vue_SingleJsFileOnHome.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_SingleJsFileOnHome.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
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 chalk from "chalk";
11
+ import vue_pageSrc from "./vue_pageSrc.js";
12
+ import vue_runtimeJs from "./vue_RuntimeJs.js";
13
+ import vue_singleJsFileOnHome from "./vue_SingleJsFileOnHome.js";
14
+ import vue_severalJsFilesHome from "./vue_severalJsFilesHome.js";
15
+ import vue_jsImports from "./vue_jsImports.js";
16
+ import vue_reconstructSourceMaps from "./vue_reconstructSourceMaps.js";
17
+ import vue_getClientSidePaths from "./vue_getClientSidePaths.js";
18
+ import vue_viteMapDeps from "./vue_viteMapDeps.js";
19
+ /**
20
+ * Runs the full Vue.js JS-file discovery pipeline against a single URL.
21
+ *
22
+ * Combines all the per-URL discovery techniques (page source script tags,
23
+ * runtime.js chunks, single/several JS files on home, import statements,
24
+ * source-map reconstruction) into one reusable flow, and also surfaces the
25
+ * client-side paths found in the discovered files so callers can recurse.
26
+ */
27
+ const vue_discoverJsFiles = (url_1, ...args_1) => __awaiter(void 0, [url_1, ...args_1], void 0, function* (url, maxJsSizeMb = 2) {
28
+ let jsFiles = [];
29
+ // first, get all the JS files from the page source
30
+ const fromPageSrc = yield vue_pageSrc(url);
31
+ jsFiles.push(...fromPageSrc);
32
+ // method 1: through runtime.<hash>.js
33
+ const fromRuntimeJs = yield vue_runtimeJs(url);
34
+ jsFiles.push(...fromRuntimeJs);
35
+ // single JS file on the page (typically dev-mode)
36
+ const fromSingleJs = yield vue_singleJsFileOnHome(url);
37
+ jsFiles.push(...fromSingleJs);
38
+ if (fromSingleJs.length > 0) {
39
+ console.log(chalk.green(`[✓] Found ${fromSingleJs.length} files from the single JS file on home`));
40
+ }
41
+ // several JS files referenced directly on the page
42
+ const fromSeveralJs = yield vue_severalJsFilesHome(url);
43
+ jsFiles.push(...fromSeveralJs);
44
+ // scan page-loaded JS files for Vite's __vite__mapDeps chunk manifest
45
+ const fromViteMapDeps = yield vue_viteMapDeps(jsFiles, maxJsSizeMb);
46
+ jsFiles.push(...fromViteMapDeps);
47
+ if (fromViteMapDeps.length > 0) {
48
+ console.log(chalk.green(`[✓] Found ${fromViteMapDeps.length} files from __vite__mapDeps`));
49
+ }
50
+ // walk the import graph of everything found so far
51
+ const fromImports = yield vue_jsImports(url, jsFiles, maxJsSizeMb);
52
+ jsFiles.push(...fromImports);
53
+ if (fromImports.length > 0) {
54
+ console.log(chalk.green(`[✓] Found ${fromImports.length} files from import statements`));
55
+ }
56
+ // reconstruct sourceMappingURL references
57
+ const fromSourceMaps = yield vue_reconstructSourceMaps(url, jsFiles);
58
+ jsFiles.push(...fromSourceMaps);
59
+ if (fromSourceMaps.length > 0) {
60
+ console.log(chalk.green(`[✓] Found ${fromSourceMaps.length} files from reconstructing source maps`));
61
+ }
62
+ jsFiles = [...new Set(jsFiles)].map((f) => (f.startsWith("//") ? "https:" + f : f));
63
+ // surface client-side paths so the caller can recurse into them
64
+ const clientSidePaths = yield vue_getClientSidePaths(url, jsFiles, maxJsSizeMb);
65
+ return { jsFiles, clientSidePaths: [...new Set(clientSidePaths)] };
66
+ });
67
+ export default vue_discoverJsFiles;
68
+ //# sourceMappingURL=vue_discoverJsFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue_discoverJsFiles.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_discoverJsFiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
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 makeRequest from "../../utility/makeReq.js";
11
+ import _traverse from "@babel/traverse";
12
+ import chalk from "chalk";
13
+ import parser from "@babel/parser";
14
+ import t from "@babel/types";
15
+ const traverse = _traverse.default;
16
+ const vue_getClientSidePaths = (url_1, jsFiles_1, ...args_1) => __awaiter(void 0, [url_1, jsFiles_1, ...args_1], void 0, function* (url, jsFiles, maxJsSizeMb = 2) {
17
+ const MAX_JS_SIZE_BYTES = maxJsSizeMb * 1024 * 1024;
18
+ let toReturn = [];
19
+ console.log(chalk.cyan(`[i] Extracting client-side paths from ${jsFiles.length} JS files...`));
20
+ const baseOrigin = new URL(url).origin;
21
+ // iterate through all those
22
+ for (const jsFile of jsFiles) {
23
+ if (!jsFile.endsWith(".js")) {
24
+ continue;
25
+ }
26
+ const req = yield makeRequest(jsFile);
27
+ if (req == null) {
28
+ console.log(chalk.red(`[!] Failed to fetch ${jsFile}`));
29
+ continue;
30
+ }
31
+ const jsContent = yield req.text();
32
+ if (jsContent.length > MAX_JS_SIZE_BYTES) {
33
+ console.log(chalk.yellow(`[!] Skipping large file (${(jsContent.length / 1024 / 1024).toFixed(1)} MB): ${jsFile}`));
34
+ continue;
35
+ }
36
+ // load in ast
37
+ let ast;
38
+ try {
39
+ ast = parser.parse(jsContent, {
40
+ sourceType: "unambiguous",
41
+ plugins: ["jsx", "typescript"],
42
+ errorRecovery: true,
43
+ });
44
+ }
45
+ catch (_a) {
46
+ console.log(chalk.red(`[!] Failed to parse ${jsFile}`));
47
+ continue;
48
+ }
49
+ const jsFileOrigin = new URL(jsFile).origin;
50
+ traverse(ast, {
51
+ ObjectProperty(path) {
52
+ const { key, value } = path.node;
53
+ if (t.isIdentifier(key, { name: "link" }) &&
54
+ t.isStringLiteral(value) &&
55
+ t.isObjectExpression(path.parent)) {
56
+ const linkVal = value.value;
57
+ if (linkVal.startsWith("//")) {
58
+ toReturn.push("https:" + linkVal);
59
+ }
60
+ else if (linkVal.startsWith("/")) {
61
+ toReturn.push(baseOrigin + linkVal);
62
+ }
63
+ else if (linkVal.startsWith("http") && new URL(linkVal).origin === jsFileOrigin) {
64
+ toReturn.push(linkVal);
65
+ }
66
+ }
67
+ },
68
+ CallExpression(path) {
69
+ const { callee, arguments: args } = path.node;
70
+ // Match Object.assign(...)
71
+ if (!t.isMemberExpression(callee) ||
72
+ !t.isIdentifier(callee.object, { name: "Object" }) ||
73
+ !t.isIdentifier(callee.property, { name: "assign" }))
74
+ return;
75
+ if (args.length < 2)
76
+ return;
77
+ const [firstArg, secondArg] = args;
78
+ // Match window.<something>.routes
79
+ if (!t.isMemberExpression(firstArg) ||
80
+ !t.isIdentifier(firstArg.property, { name: "routes" }) ||
81
+ !t.isMemberExpression(firstArg.object) ||
82
+ !t.isIdentifier(firstArg.object.object, { name: "window" }))
83
+ return;
84
+ if (!t.isObjectExpression(secondArg))
85
+ return;
86
+ for (const routeEntry of secondArg.properties) {
87
+ if (!t.isObjectProperty(routeEntry) || !t.isObjectExpression(routeEntry.value))
88
+ continue;
89
+ for (const routeProp of routeEntry.value.properties) {
90
+ if (!t.isObjectProperty(routeProp) ||
91
+ !t.isIdentifier(routeProp.key, { name: "tokens" }) ||
92
+ !t.isArrayExpression(routeProp.value))
93
+ continue;
94
+ for (const tokenEl of routeProp.value.elements) {
95
+ if (!t.isArrayExpression(tokenEl))
96
+ continue;
97
+ const [typeEl, valueEl] = tokenEl.elements;
98
+ if (t.isStringLiteral(typeEl, { value: "text" }) && t.isStringLiteral(valueEl)) {
99
+ const pathVal = valueEl.value;
100
+ if (pathVal.startsWith("//")) {
101
+ toReturn.push("https:" + pathVal);
102
+ }
103
+ else if (pathVal.startsWith("/")) {
104
+ toReturn.push(baseOrigin + pathVal);
105
+ }
106
+ else if (pathVal.startsWith("http") && new URL(pathVal).origin === jsFileOrigin) {
107
+ toReturn.push(pathVal);
108
+ }
109
+ }
110
+ }
111
+ }
112
+ }
113
+ },
114
+ });
115
+ }
116
+ if (toReturn.length > 0) {
117
+ console.log(chalk.green(`[+] Found ${toReturn.length} client-side paths from JS files!`));
118
+ }
119
+ return toReturn;
120
+ });
121
+ export default vue_getClientSidePaths;
122
+ //# sourceMappingURL=vue_getClientSidePaths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue_getClientSidePaths.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_getClientSidePaths.ts"],"names":[],"mappings":"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"}
@@ -12,59 +12,65 @@ import parser from "@babel/parser";
12
12
  import _traverse from "@babel/traverse";
13
13
  import chalk from "chalk";
14
14
  const traverse = _traverse.default;
15
- const parseJsFile = (url) => __awaiter(void 0, void 0, void 0, function* () {
16
- let foundUrls = [];
15
+ const parseJsFile = (url, maxJsSizeMb) => __awaiter(void 0, void 0, void 0, function* () {
16
+ const MAX_JS_SIZE_BYTES = maxJsSizeMb * 1024 * 1024;
17
+ const foundUrls = new Set();
17
18
  const req = yield makeRequest(url);
19
+ if (req == null) {
20
+ console.log(chalk.red(`Failed to fetch ${url}`));
21
+ return foundUrls;
22
+ }
18
23
  const reqText = yield req.text();
19
- const ast = parser.parse(reqText, {
20
- sourceType: "module",
21
- plugins: ["importAssertions"],
22
- });
24
+ if (reqText.length > MAX_JS_SIZE_BYTES) {
25
+ return foundUrls;
26
+ }
27
+ let ast;
28
+ try {
29
+ ast = parser.parse(reqText, {
30
+ sourceType: "module",
31
+ plugins: ["importAssertions"],
32
+ });
33
+ }
34
+ catch (_a) {
35
+ return foundUrls;
36
+ }
23
37
  // get all the import statements
24
38
  traverse(ast, {
25
39
  ImportDeclaration(path) {
26
40
  const source = path.node.source.value;
27
- if (source.startsWith("./")) {
28
- if (!foundUrls.includes(new URL(source, url).href)) {
29
- foundUrls.push(new URL(source, url).href);
30
- }
31
- }
32
- else if (source.startsWith("../")) {
33
- if (!foundUrls.includes(new URL(source, url).href)) {
34
- foundUrls.push(new URL(source, url).href);
35
- }
41
+ if (source.startsWith("./") || source.startsWith("../") || source.startsWith("/")) {
42
+ foundUrls.add(new URL(source, url).href);
36
43
  }
37
44
  else {
38
- // DEBUG
39
45
  console.log(chalk.red(`Found import statement but can't resolve it: ${source} - on ${url}`));
40
46
  }
41
47
  },
42
48
  });
43
49
  return foundUrls;
44
50
  });
45
- const vue_jsImports = (url, foundJsFiles) => __awaiter(void 0, void 0, void 0, function* () {
46
- let foundUrls = [];
47
- let crawledUrls = [];
48
- // iterate through URLs, and get the contents of those
51
+ const vue_jsImports = (url_1, foundJsFiles_1, ...args_1) => __awaiter(void 0, [url_1, foundJsFiles_1, ...args_1], void 0, function* (url, foundJsFiles, maxJsSizeMb = 2) {
52
+ const allDiscoveredUrls = new Set();
53
+ const crawledUrls = new Set(foundJsFiles);
49
54
  for (const jsfile of foundJsFiles) {
50
- const foundUrlsParsed = yield parseJsFile(jsfile);
51
- foundUrls.push(...foundUrlsParsed);
52
- if (!crawledUrls.includes(jsfile)) {
53
- crawledUrls.push(jsfile);
54
- }
55
+ const discovered = yield parseJsFile(jsfile, maxJsSizeMb);
56
+ for (const u of discovered)
57
+ allDiscoveredUrls.add(u);
55
58
  }
56
- // continue crawling until no new URLs are found
57
- while (foundUrls.some((url) => !crawledUrls.includes(url))) {
58
- // iterate through foundUrls
59
- for (const url of foundUrls) {
60
- if (!crawledUrls.includes(url)) {
61
- crawledUrls.push(url);
62
- const foundUrlsParsed = yield parseJsFile(url);
63
- foundUrls.push(...foundUrlsParsed);
59
+ // crawl newly found URLs until no uncrawled ones remain
60
+ let foundNew = true;
61
+ while (foundNew) {
62
+ foundNew = false;
63
+ for (const u of [...allDiscoveredUrls]) {
64
+ if (!crawledUrls.has(u)) {
65
+ foundNew = true;
66
+ crawledUrls.add(u);
67
+ const discovered = yield parseJsFile(u, maxJsSizeMb);
68
+ for (const newU of discovered)
69
+ allDiscoveredUrls.add(newU);
64
70
  }
65
71
  }
66
72
  }
67
- return foundUrls;
73
+ return [...allDiscoveredUrls];
68
74
  });
69
75
  export default vue_jsImports;
70
76
  //# sourceMappingURL=vue_jsImports.js.map