@shriyanss/js-recon 1.2.2-alpha.3 → 1.2.2-alpha.5
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.
- package/CHANGELOG.md +34 -1
- package/build/globalConfig.js +2 -1
- package/build/globalConfig.js.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/lazyLoad/downloadFilesUtil.js +7 -4
- package/build/lazyLoad/downloadFilesUtil.js.map +1 -1
- package/build/lazyLoad/index.js +114 -2
- package/build/lazyLoad/index.js.map +1 -1
- package/build/lazyLoad/next_js/next_bruteForceJsFiles.js +32 -0
- package/build/lazyLoad/next_js/next_bruteForceJsFiles.js.map +1 -0
- package/build/lazyLoad/next_js/next_promiseResolve.js +76 -0
- package/build/lazyLoad/next_js/next_promiseResolve.js.map +1 -0
- package/build/lazyLoad/sourcemap.js +188 -0
- package/build/lazyLoad/sourcemap.js.map +1 -0
- package/build/lazyLoad/techDetect/index.js +49 -3
- package/build/lazyLoad/techDetect/index.js.map +1 -1
- package/build/lazyLoad/vue/vue_RuntimeJs.js +101 -0
- package/build/lazyLoad/vue/vue_RuntimeJs.js.map +1 -0
- package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js +96 -0
- package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js.map +1 -0
- package/build/lazyLoad/vue/vue_jsImports.js +65 -0
- package/build/lazyLoad/vue/vue_jsImports.js.map +1 -0
- package/build/lazyLoad/vue/vue_reconstructSourceMaps.js +56 -0
- package/build/lazyLoad/vue/vue_reconstructSourceMaps.js.map +1 -0
- package/build/lazyLoad/vue/vue_sourcemapExtract.js +166 -0
- package/build/lazyLoad/vue/vue_sourcemapExtract.js.map +1 -0
- package/build/map/next_js/getAxiosInstances.js +1 -1
- package/build/map/next_js/getAxiosInstances.js.map +1 -1
- package/build/map/next_js/getWebpackConnections.js +1 -1
- package/build/map/next_js/getWebpackConnections.js.map +1 -1
- package/build/map/next_js/interactive_helpers/commandHelpers.js +1 -1
- package/build/map/next_js/interactive_helpers/commandHelpers.js.map +1 -1
- package/build/map/next_js/resolveAxios.js +21 -4
- package/build/map/next_js/resolveAxios.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/directCallsWithoutAssignment.js +48 -0
- package/build/map/next_js/resolveAxiosHelpers/directCallsWithoutAssignment.js.map +1 -0
- package/build/map/next_js/resolveAxiosHelpers/findAxiosClients.js +8 -8
- package/build/map/next_js/resolveAxiosHelpers/findAxiosClients.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js +302 -0
- package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js.map +1 -0
- package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js +48 -8
- package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/handleZDotCreate.js +12 -2
- package/build/map/next_js/resolveAxiosHelpers/handleZDotCreate.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js +10 -3
- package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/processDirectAxiosCall.js +113 -0
- package/build/map/next_js/resolveAxiosHelpers/processDirectAxiosCall.js.map +1 -0
- package/build/map/next_js/resolveAxiosHelpers/processExportedEndpoints.js +274 -0
- package/build/map/next_js/resolveAxiosHelpers/processExportedEndpoints.js.map +1 -0
- package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js +506 -0
- package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js.map +1 -0
- package/build/map/next_js/resolveFetch.js +243 -4
- package/build/map/next_js/resolveFetch.js.map +1 -1
- package/build/map/next_js/utils.js +867 -11
- package/build/map/next_js/utils.js.map +1 -1
- package/build/run/index.js +7 -5
- package/build/run/index.js.map +1 -1
- package/build/utility/globals.js.map +1 -1
- package/build/utility/makeReq.js +159 -91
- package/build/utility/makeReq.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Source Map Decoder
|
|
3
|
+
*
|
|
4
|
+
* Extracts original source code from minified JavaScript using source maps.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Extract original source files from a source map.
|
|
8
|
+
*
|
|
9
|
+
* @param sourceMap - The source map object or JSON string
|
|
10
|
+
* @param options - Optional configuration
|
|
11
|
+
* @returns Object containing extracted files and count of missing sources
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import { extractSources } from './sourcemap';
|
|
16
|
+
*
|
|
17
|
+
* const sourceMap = {
|
|
18
|
+
* version: 3,
|
|
19
|
+
* sources: ['src/app.ts', 'src/utils.ts'],
|
|
20
|
+
* sourcesContent: ['const x = 1;', 'export const y = 2;'],
|
|
21
|
+
* mappings: '...',
|
|
22
|
+
* };
|
|
23
|
+
*
|
|
24
|
+
* const result = extractSources(sourceMap);
|
|
25
|
+
* for (const file of result.files) {
|
|
26
|
+
* console.log(`${file.path}:\n${file.content}`);
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export function extractSources(sourceMap, options = {}) {
|
|
31
|
+
var _a;
|
|
32
|
+
const { cleanPaths = true, normalizePaths = true } = options;
|
|
33
|
+
// Parse JSON string if needed
|
|
34
|
+
const map = typeof sourceMap === "string" ? JSON.parse(sourceMap) : sourceMap;
|
|
35
|
+
// Validate source map
|
|
36
|
+
if (!map.sources || !Array.isArray(map.sources)) {
|
|
37
|
+
throw new Error('Invalid source map: missing "sources" array');
|
|
38
|
+
}
|
|
39
|
+
const files = [];
|
|
40
|
+
let missingCount = 0;
|
|
41
|
+
for (let i = 0; i < map.sources.length; i++) {
|
|
42
|
+
let path = map.sources[i];
|
|
43
|
+
const content = (_a = map.sourcesContent) === null || _a === void 0 ? void 0 : _a[i];
|
|
44
|
+
// Skip if no content
|
|
45
|
+
if (content === null || content === undefined) {
|
|
46
|
+
missingCount++;
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
// Clean up path
|
|
50
|
+
if (cleanPaths) {
|
|
51
|
+
path = cleanPath(path);
|
|
52
|
+
}
|
|
53
|
+
if (normalizePaths) {
|
|
54
|
+
path = normalizePath(path);
|
|
55
|
+
}
|
|
56
|
+
// Apply sourceRoot if present
|
|
57
|
+
if (map.sourceRoot && !path.startsWith("/")) {
|
|
58
|
+
const root = cleanPaths ? cleanPath(map.sourceRoot) : map.sourceRoot;
|
|
59
|
+
path = joinPaths(root, path);
|
|
60
|
+
}
|
|
61
|
+
files.push({ path, content });
|
|
62
|
+
}
|
|
63
|
+
return { files, missingCount };
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Extract a single source file by index or path.
|
|
67
|
+
*
|
|
68
|
+
* @param sourceMap - The source map object or JSON string
|
|
69
|
+
* @param indexOrPath - Index into sources array or file path to find
|
|
70
|
+
* @returns The source file or null if not found
|
|
71
|
+
*/
|
|
72
|
+
export function extractSource(sourceMap, indexOrPath) {
|
|
73
|
+
var _a, _b;
|
|
74
|
+
const map = typeof sourceMap === "string" ? JSON.parse(sourceMap) : sourceMap;
|
|
75
|
+
if (typeof indexOrPath === "number") {
|
|
76
|
+
const index = indexOrPath;
|
|
77
|
+
if (index < 0 || index >= map.sources.length) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
const content = (_a = map.sourcesContent) === null || _a === void 0 ? void 0 : _a[index];
|
|
81
|
+
if (content === null || content === undefined) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
return { path: map.sources[index], content };
|
|
85
|
+
}
|
|
86
|
+
// Search by path
|
|
87
|
+
const searchPath = indexOrPath;
|
|
88
|
+
const index = map.sources.findIndex((s) => s === searchPath ||
|
|
89
|
+
s.endsWith(searchPath) ||
|
|
90
|
+
cleanPath(s) === searchPath ||
|
|
91
|
+
cleanPath(s).endsWith(searchPath));
|
|
92
|
+
if (index === -1) {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
const content = (_b = map.sourcesContent) === null || _b === void 0 ? void 0 : _b[index];
|
|
96
|
+
if (content === null || content === undefined) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
return { path: map.sources[index], content };
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get list of source file paths without extracting content.
|
|
103
|
+
*
|
|
104
|
+
* @param sourceMap - The source map object or JSON string
|
|
105
|
+
* @returns Array of source file paths
|
|
106
|
+
*/
|
|
107
|
+
export function listSources(sourceMap) {
|
|
108
|
+
const map = typeof sourceMap === "string" ? JSON.parse(sourceMap) : sourceMap;
|
|
109
|
+
return map.sources || [];
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Check if a source map has embedded source content.
|
|
113
|
+
*
|
|
114
|
+
* @param sourceMap - The source map object or JSON string
|
|
115
|
+
* @returns true if sourcesContent is present and has at least one non-null entry
|
|
116
|
+
*/
|
|
117
|
+
export function hasSourceContent(sourceMap) {
|
|
118
|
+
const map = typeof sourceMap === "string" ? JSON.parse(sourceMap) : sourceMap;
|
|
119
|
+
return Array.isArray(map.sourcesContent) && map.sourcesContent.some((c) => c !== null && c !== undefined);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Remove protocol prefixes like webpack://, file://, etc.
|
|
123
|
+
*/
|
|
124
|
+
function cleanPath(path) {
|
|
125
|
+
return path
|
|
126
|
+
.replace(/^webpack:\/\/[^/]*\//, "") // webpack://package-name/
|
|
127
|
+
.replace(/^webpack:\/\//, "") // webpack://
|
|
128
|
+
.replace(/^file:\/\//, "") // file://
|
|
129
|
+
.replace(/^\.\//, ""); // ./
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Normalize path by resolving ../ sequences.
|
|
133
|
+
* SECURITY: Removes all leading ../ to prevent directory traversal attacks.
|
|
134
|
+
* Files will always stay within the intended output directory.
|
|
135
|
+
*/
|
|
136
|
+
function normalizePath(path) {
|
|
137
|
+
const parts = path.split("/");
|
|
138
|
+
const result = [];
|
|
139
|
+
for (const part of parts) {
|
|
140
|
+
if (part === "..") {
|
|
141
|
+
// Only allow going back within the path we've built
|
|
142
|
+
// Never allow escaping (result would go negative)
|
|
143
|
+
if (result.length > 0) {
|
|
144
|
+
result.pop();
|
|
145
|
+
}
|
|
146
|
+
// If result is empty, just skip the '..' entirely (prevents traversal)
|
|
147
|
+
}
|
|
148
|
+
else if (part !== "." && part !== "") {
|
|
149
|
+
result.push(part);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return result.join("/") || ".";
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Sanitize a path to ensure it cannot escape the output directory.
|
|
156
|
+
* This is a safety check that should be used before writing files.
|
|
157
|
+
*
|
|
158
|
+
* @param basePath - The base output directory (absolute path)
|
|
159
|
+
* @param filePath - The file path to sanitize
|
|
160
|
+
* @returns Safe path that is guaranteed to be under basePath
|
|
161
|
+
*/
|
|
162
|
+
export function safePath(basePath, filePath) {
|
|
163
|
+
// Clean and normalize the file path
|
|
164
|
+
let cleaned = cleanPath(filePath);
|
|
165
|
+
cleaned = normalizePath(cleaned);
|
|
166
|
+
// Remove any remaining ../ sequences (belt and suspenders)
|
|
167
|
+
cleaned = cleaned.replace(/\.\.\//g, "").replace(/^\.\.$/, "");
|
|
168
|
+
// Remove leading slashes to prevent absolute path injection
|
|
169
|
+
cleaned = cleaned.replace(/^\/+/, "");
|
|
170
|
+
// Join with base path
|
|
171
|
+
const joined = basePath.endsWith("/") ? basePath + cleaned : basePath + "/" + cleaned;
|
|
172
|
+
return joined;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Join two path segments
|
|
176
|
+
*/
|
|
177
|
+
function joinPaths(base, path) {
|
|
178
|
+
if (!base)
|
|
179
|
+
return path;
|
|
180
|
+
if (!path)
|
|
181
|
+
return base;
|
|
182
|
+
const baseClean = base.endsWith("/") ? base.slice(0, -1) : base;
|
|
183
|
+
const pathClean = path.startsWith("/") ? path.slice(1) : path;
|
|
184
|
+
return `${baseClean}/${pathClean}`;
|
|
185
|
+
}
|
|
186
|
+
// Default export for convenience
|
|
187
|
+
export default { extractSources, extractSource, listSources, hasSourceContent };
|
|
188
|
+
//# sourceMappingURL=sourcemap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sourcemap.js","sourceRoot":"","sources":["../../src/lazyLoad/sourcemap.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,7 +55,7 @@ const checkNextJS = ($) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
55
55
|
* - evidence: A string with the evidence of the detection, or an empty string
|
|
56
56
|
* if Vue.js was not detected.
|
|
57
57
|
*/
|
|
58
|
-
const checkVueJS = (
|
|
58
|
+
const checkVueJS = ($, url) => __awaiter(void 0, void 0, void 0, function* () {
|
|
59
59
|
let detected = false;
|
|
60
60
|
let evidence = "";
|
|
61
61
|
$("*").each((_, el) => {
|
|
@@ -67,9 +67,55 @@ const checkVueJS = ($) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
67
67
|
detected = true;
|
|
68
68
|
evidence = `${tag} :: ${attrName}`;
|
|
69
69
|
}
|
|
70
|
+
else if (attrName.startsWith("data-vue-")) {
|
|
71
|
+
detected = true;
|
|
72
|
+
evidence = `${tag} :: ${attrName}`;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
if (detected) {
|
|
78
|
+
return { detected, evidence };
|
|
79
|
+
}
|
|
80
|
+
// now, iterate through all the script tags, and find something like `app.js`
|
|
81
|
+
let appJsURL;
|
|
82
|
+
$("script").each((_, el) => {
|
|
83
|
+
const tag = $(el).get(0).tagName;
|
|
84
|
+
const attribs = el.attribs;
|
|
85
|
+
if (attribs) {
|
|
86
|
+
for (const [attrName, attrValue] of Object.entries(attribs)) {
|
|
87
|
+
if (attrName === "src") {
|
|
88
|
+
// @ts-ignore
|
|
89
|
+
if (attrValue.includes("app.js")) {
|
|
90
|
+
// get the URL of the app.js file
|
|
91
|
+
// @ts-ignore
|
|
92
|
+
if (attrValue.startsWith("/")) {
|
|
93
|
+
// @ts-ignore
|
|
94
|
+
appJsURL = new URL(attrValue, url).href;
|
|
95
|
+
// @ts-ignore
|
|
96
|
+
}
|
|
97
|
+
else if (attrValue.startsWith("http")) {
|
|
98
|
+
// @ts-ignore
|
|
99
|
+
appJsURL = attrValue;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// @ts-ignore
|
|
103
|
+
appJsURL = new URL(attrValue, url).href;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
70
107
|
}
|
|
71
108
|
}
|
|
72
109
|
});
|
|
110
|
+
if (appJsURL) {
|
|
111
|
+
const appJsContent = yield makeRequest(appJsURL).then((res) => res.text());
|
|
112
|
+
if (appJsContent) {
|
|
113
|
+
if (appJsContent.includes("Vue.component(")) {
|
|
114
|
+
detected = true;
|
|
115
|
+
evidence = `${appJsURL} :: Vue.component()`;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
73
119
|
return { detected, evidence };
|
|
74
120
|
});
|
|
75
121
|
/**
|
|
@@ -267,7 +313,7 @@ const frameworkDetect = (url) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
267
313
|
// and the second one is by opening the page in browser, loading content, and then analyzing the page content ($res)
|
|
268
314
|
// check all technologies one by one
|
|
269
315
|
const result_checkNextJS = yield checkNextJS($);
|
|
270
|
-
const result_checkVueJS = yield checkVueJS(
|
|
316
|
+
const result_checkVueJS = yield checkVueJS($, url);
|
|
271
317
|
const result_checkSvelte = yield checkSvelte($);
|
|
272
318
|
const result_checkAngular = yield checkAngularJS($, url);
|
|
273
319
|
// now, also check with the res response
|
|
@@ -284,7 +330,7 @@ const frameworkDetect = (url) => __awaiter(void 0, void 0, void 0, function* ()
|
|
|
284
330
|
const resBody = yield res.text();
|
|
285
331
|
$res = cheerio.load(resBody);
|
|
286
332
|
result_checkNextJS_res = yield checkNextJS($res);
|
|
287
|
-
result_checkVueJS_res = yield checkVueJS($res);
|
|
333
|
+
result_checkVueJS_res = yield checkVueJS($res, url);
|
|
288
334
|
result_checkSvelte_res = yield checkSvelte($res);
|
|
289
335
|
result_checkAngularJS_res = yield checkAngularJS($res, url);
|
|
290
336
|
}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ==============================================
|
|
3
|
+
* ==============================================
|
|
4
|
+
* ==============================================
|
|
5
|
+
*
|
|
6
|
+
* !!!INCOMPLETE MODULE!!!
|
|
7
|
+
*
|
|
8
|
+
* WILL RETURN BLANK LIST
|
|
9
|
+
*
|
|
10
|
+
* ==============================================
|
|
11
|
+
* ==============================================
|
|
12
|
+
* ==============================================
|
|
13
|
+
*/
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
import makeRequest from "../../utility/makeReq.js";
|
|
24
|
+
import * as cheerio from "cheerio";
|
|
25
|
+
import * as parser from "@babel/parser";
|
|
26
|
+
import _traverse from "@babel/traverse";
|
|
27
|
+
const traverse = _traverse.default;
|
|
28
|
+
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());
|
|
31
|
+
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
|
+
const $ = cheerio.load(rootHtml);
|
|
36
|
+
// const $ = cheerio.load(Buffer.from(rootHtml, "base64").toString("utf-8"));
|
|
37
|
+
$("script").each((_, el) => {
|
|
38
|
+
const tag = $(el).get(0).tagName;
|
|
39
|
+
const attribs = el.attribs;
|
|
40
|
+
if (attribs) {
|
|
41
|
+
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
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
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
|
+
}
|
|
57
|
+
}
|
|
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
|
|
61
|
+
const ast = parser.parse(runtimeJsContent, {
|
|
62
|
+
sourceType: "unambiguous",
|
|
63
|
+
plugins: ["jsx", "typescript"],
|
|
64
|
+
errorRecovery: true,
|
|
65
|
+
});
|
|
66
|
+
// now, traverse the ast, and find the right spot
|
|
67
|
+
// Looking for: script.src = function(e) { ... }(e)
|
|
68
|
+
let scriptSrcAssignment = null;
|
|
69
|
+
traverse(ast, {
|
|
70
|
+
AssignmentExpression(path) {
|
|
71
|
+
const { left, right } = path.node;
|
|
72
|
+
// Check if left side is `script.src`
|
|
73
|
+
if (left.type === "MemberExpression" &&
|
|
74
|
+
left.object.type === "Identifier" &&
|
|
75
|
+
left.object.name === "script" &&
|
|
76
|
+
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
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
// TODO: Add the rest of the logic from the code
|
|
98
|
+
return discovered_urls;
|
|
99
|
+
});
|
|
100
|
+
export default vue_runtimeJs;
|
|
101
|
+
//# sourceMappingURL=vue_RuntimeJs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue_RuntimeJs.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_RuntimeJs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
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 parser from "@babel/parser";
|
|
12
|
+
import _traverse from "@babel/traverse";
|
|
13
|
+
import * as cheerio from "cheerio";
|
|
14
|
+
import chalk from "chalk";
|
|
15
|
+
const traverse = _traverse.default;
|
|
16
|
+
const vue_singleJsFileOnHome = (url) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
let jsFilesFound = [];
|
|
18
|
+
// first, get the home page content
|
|
19
|
+
const req = yield makeRequest(url, {});
|
|
20
|
+
const homePageContent = yield req.text();
|
|
21
|
+
// load the home page content into cheerio
|
|
22
|
+
const $ = cheerio.load(homePageContent);
|
|
23
|
+
// go through the home page HTML, and find the
|
|
24
|
+
// count of <script> tags that loads external JS
|
|
25
|
+
let externalScriptTagCount = 0;
|
|
26
|
+
let jsUrl = "";
|
|
27
|
+
$("script").each((_, el) => {
|
|
28
|
+
if ($(el).attr("src")) {
|
|
29
|
+
externalScriptTagCount++;
|
|
30
|
+
jsUrl = $(el).attr("src");
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
// if the count is 1, then it's a single JS file
|
|
34
|
+
if (externalScriptTagCount !== 1) {
|
|
35
|
+
return jsFilesFound;
|
|
36
|
+
}
|
|
37
|
+
// if the count is 1, then it's a single JS file
|
|
38
|
+
console.log(chalk.green("[✓] Single JS file detected"));
|
|
39
|
+
// print the warning
|
|
40
|
+
console.log(chalk.yellow("[!] This method is MEMORY INTENSIVE. Underpowered devices may freeze"));
|
|
41
|
+
// resolve the URL
|
|
42
|
+
if (jsUrl.startsWith("/") || jsUrl.startsWith("./") || jsUrl.startsWith("../")) {
|
|
43
|
+
jsUrl = new URL(jsUrl, url).href;
|
|
44
|
+
}
|
|
45
|
+
// get the contents of that JS file
|
|
46
|
+
const jsReq = yield makeRequest(jsUrl);
|
|
47
|
+
const jsContent = yield jsReq.text();
|
|
48
|
+
// parse the JS file
|
|
49
|
+
const ast = parser.parse(jsContent, {
|
|
50
|
+
sourceType: "unambiguous",
|
|
51
|
+
plugins: ["jsx", "typescript"],
|
|
52
|
+
errorRecovery: true,
|
|
53
|
+
});
|
|
54
|
+
// traverse the AST
|
|
55
|
+
let initialFoundJsPaths = [];
|
|
56
|
+
traverse(ast, {
|
|
57
|
+
ArrayExpression(path) {
|
|
58
|
+
const elements = path.node.elements;
|
|
59
|
+
if (!elements)
|
|
60
|
+
return;
|
|
61
|
+
const currentJsFiles = [];
|
|
62
|
+
let hasJs = false;
|
|
63
|
+
let isPureJsCssList = true;
|
|
64
|
+
for (const element of elements) {
|
|
65
|
+
// element can be null in sparse arrays
|
|
66
|
+
if (!element || element.type !== "StringLiteral") {
|
|
67
|
+
isPureJsCssList = false;
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
const value = element.value;
|
|
71
|
+
if (value.endsWith(".js")) {
|
|
72
|
+
hasJs = true;
|
|
73
|
+
currentJsFiles.push(value);
|
|
74
|
+
}
|
|
75
|
+
else if (!value.endsWith(".css")) {
|
|
76
|
+
// If it's not .js and not .css, it's not the list we're looking for
|
|
77
|
+
isPureJsCssList = false;
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (isPureJsCssList && hasJs) {
|
|
82
|
+
initialFoundJsPaths.push(...currentJsFiles);
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
// now that paths are found, iterate through those, and construct the full URLs
|
|
87
|
+
for (const path of initialFoundJsPaths) {
|
|
88
|
+
if (!path.endsWith(".js"))
|
|
89
|
+
continue;
|
|
90
|
+
const fullUrl = new URL(path, url).href;
|
|
91
|
+
jsFilesFound.push(fullUrl);
|
|
92
|
+
}
|
|
93
|
+
return jsFilesFound;
|
|
94
|
+
});
|
|
95
|
+
export default vue_singleJsFileOnHome;
|
|
96
|
+
//# sourceMappingURL=vue_SingleJsFileOnHome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue_SingleJsFileOnHome.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_SingleJsFileOnHome.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
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 parser from "@babel/parser";
|
|
12
|
+
import _traverse from "@babel/traverse";
|
|
13
|
+
import chalk from "chalk";
|
|
14
|
+
const traverse = _traverse.default;
|
|
15
|
+
const parseJsFile = (url) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
+
let foundUrls = [];
|
|
17
|
+
const req = yield makeRequest(url);
|
|
18
|
+
const reqText = yield req.text();
|
|
19
|
+
const ast = parser.parse(reqText, {
|
|
20
|
+
sourceType: "module",
|
|
21
|
+
plugins: ["importAssertions"],
|
|
22
|
+
});
|
|
23
|
+
// get all the import statements
|
|
24
|
+
traverse(ast, {
|
|
25
|
+
ImportDeclaration(path) {
|
|
26
|
+
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 {
|
|
33
|
+
// DEBUG
|
|
34
|
+
console.log(chalk.red(`Found import statement but can't resolve it: ${source} - on ${url}`));
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
return foundUrls;
|
|
39
|
+
});
|
|
40
|
+
const vue_jsImports = (url, foundJsFiles) => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
+
let foundUrls = [];
|
|
42
|
+
let crawledUrls = [];
|
|
43
|
+
// iterate through URLs, and get the contents of those
|
|
44
|
+
for (const jsfile of foundJsFiles) {
|
|
45
|
+
const foundUrlsParsed = yield parseJsFile(jsfile);
|
|
46
|
+
foundUrls.push(...foundUrlsParsed);
|
|
47
|
+
if (!crawledUrls.includes(jsfile)) {
|
|
48
|
+
crawledUrls.push(jsfile);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// continue crawling until no new URLs are found
|
|
52
|
+
while (foundUrls.some((url) => !crawledUrls.includes(url))) {
|
|
53
|
+
// iterate through foundUrls
|
|
54
|
+
for (const url of foundUrls) {
|
|
55
|
+
if (!crawledUrls.includes(url)) {
|
|
56
|
+
crawledUrls.push(url);
|
|
57
|
+
const foundUrlsParsed = yield parseJsFile(url);
|
|
58
|
+
foundUrls.push(...foundUrlsParsed);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return foundUrls;
|
|
63
|
+
});
|
|
64
|
+
export default vue_jsImports;
|
|
65
|
+
//# sourceMappingURL=vue_jsImports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue_jsImports.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_jsImports.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,MAAM,MAAM,eAAe,CAAC;AACnC,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;AAEnC,MAAM,WAAW,GAAG,CAAO,GAAW,EAAE,EAAE;IACtC,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAEjC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;QAC9B,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE,CAAC,kBAAkB,CAAC;KAChC,CAAC,CAAC;IAEH,gCAAgC;IAChC,QAAQ,CAAC,GAAG,EAAE;QACV,iBAAiB,CAAC,IAAI;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAEtC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,QAAQ;gBACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC;YACjG,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACrB,CAAC,CAAA,CAAC;AAEF,MAAM,aAAa,GAAG,CAAO,GAAW,EAAE,YAAsB,EAAE,EAAE;IAChE,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,IAAI,WAAW,GAAa,EAAE,CAAC;IAE/B,sDAAsD;IACtD,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QAClD,SAAS,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACzD,4BAA4B;QAC5B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC/C,SAAS,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAA,CAAC;AAEF,eAAe,aAAa,CAAC"}
|