@shriyanss/js-recon 1.3.1-alpha.1 → 1.3.1-alpha.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.
- package/CHANGELOG.md +27 -0
- package/build/analyze/engine/astEngine.js +34 -6
- package/build/analyze/engine/astEngine.js.map +1 -1
- package/build/analyze/helpers/engineHelpers/taintFlow.js +218 -0
- package/build/analyze/helpers/engineHelpers/taintFlow.js.map +1 -0
- package/build/analyze/helpers/schemas.js +1 -0
- package/build/analyze/helpers/schemas.js.map +1 -1
- package/build/globalConfig.js +1 -1
- package/build/lazyLoad/downloadQueue.js +186 -0
- package/build/lazyLoad/downloadQueue.js.map +1 -0
- package/build/lazyLoad/index.js +57 -55
- package/build/lazyLoad/index.js.map +1 -1
- package/build/lazyLoad/next_js/NextJsCrawler.js +34 -11
- package/build/lazyLoad/next_js/NextJsCrawler.js.map +1 -1
- package/build/lazyLoad/next_js/next_GetJSScript.js +20 -3
- package/build/lazyLoad/next_js/next_GetJSScript.js.map +1 -1
- package/build/lazyLoad/next_js/next_SubsequentRequests.js +20 -2
- package/build/lazyLoad/next_js/next_SubsequentRequests.js.map +1 -1
- package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js +10 -1
- package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js.map +1 -1
- package/build/lazyLoad/techDetect/checkReact.js +13 -2
- package/build/lazyLoad/techDetect/checkReact.js.map +1 -1
- package/build/lazyLoad/techDetect/index.js +15 -4
- package/build/lazyLoad/techDetect/index.js.map +1 -1
- package/build/lazyLoad/vue/vue_discoverJsFiles.js +25 -11
- package/build/lazyLoad/vue/vue_discoverJsFiles.js.map +1 -1
- package/build/lazyLoad/vue/vue_getClientSidePaths.js +31 -4
- package/build/lazyLoad/vue/vue_getClientSidePaths.js.map +1 -1
- package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js +3 -3
- package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js.map +1 -1
- package/build/lazyLoad/vue/vue_stringJsFiles.js +142 -0
- package/build/lazyLoad/vue/vue_stringJsFiles.js.map +1 -0
- package/build/map/index.js +31 -0
- package/build/map/index.js.map +1 -1
- package/build/map/next_js/getExports.js +11 -5
- package/build/map/next_js/getExports.js.map +1 -1
- package/build/map/next_js/getFetchInstances.js +11 -5
- package/build/map/next_js/getFetchInstances.js.map +1 -1
- package/build/map/next_js/resolveAxios.js +24 -5
- package/build/map/next_js/resolveAxios.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/astNodeToJsonString.js +2 -2
- package/build/map/next_js/resolveAxiosHelpers/astNodeToJsonString.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js +11 -5
- package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/interceptorHeaders.js +206 -0
- package/build/map/next_js/resolveAxiosHelpers/interceptorHeaders.js.map +1 -0
- package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js +25 -8
- package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/processDirectAxiosCall.js +14 -6
- package/build/map/next_js/resolveAxiosHelpers/processDirectAxiosCall.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js +22 -10
- package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/traceBody.js +913 -0
- package/build/map/next_js/resolveAxiosHelpers/traceBody.js.map +1 -0
- package/build/map/next_js/resolveFetch.js +115 -3
- package/build/map/next_js/resolveFetch.js.map +1 -1
- package/build/map/next_js/resolveNewRequest.js +749 -0
- package/build/map/next_js/resolveNewRequest.js.map +1 -0
- package/build/map/next_js/utils.js +311 -49
- package/build/map/next_js/utils.js.map +1 -1
- package/build/map/vue_js/vue_resolveFetch.js +155 -0
- package/build/map/vue_js/vue_resolveFetch.js.map +1 -0
- package/build/run/index.js +7 -2
- package/build/run/index.js.map +1 -1
- package/build/strings/index.js +5 -1
- package/build/strings/index.js.map +1 -1
- package/build/utility/makeReq.js +65 -8
- package/build/utility/makeReq.js.map +1 -1
- package/build/utility/openapiGenerator.js +46 -2
- package/build/utility/openapiGenerator.js.map +1 -1
- package/build/utility/postmanGenerator.js +163 -0
- package/build/utility/postmanGenerator.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveNewRequest.js","sourceRoot":"","sources":["../../../src/map/next_js/resolveNewRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,28 @@ const traverse = _traverse.default;
|
|
|
9
9
|
* @param depth - Current recursion depth to prevent infinite loops
|
|
10
10
|
* @returns The resolved value or a placeholder if unresolved
|
|
11
11
|
*/
|
|
12
|
+
/**
|
|
13
|
+
* Returns true if the given path is nested inside a loop statement.
|
|
14
|
+
* Used to skip loop-internal variable assignments that would shadow the
|
|
15
|
+
* top-level declaration we are interested in.
|
|
16
|
+
*/
|
|
17
|
+
const isInsideLoop = (p) => {
|
|
18
|
+
let current = p.parentPath;
|
|
19
|
+
while (current) {
|
|
20
|
+
if (current.isForStatement() ||
|
|
21
|
+
current.isForInStatement() ||
|
|
22
|
+
current.isForOfStatement() ||
|
|
23
|
+
current.isWhileStatement() ||
|
|
24
|
+
current.isDoWhileStatement()) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
// Don't cross function boundaries
|
|
28
|
+
if (current.isFunction())
|
|
29
|
+
break;
|
|
30
|
+
current = current.parentPath;
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
};
|
|
12
34
|
export const resolveVariableInChunk = (varName, chunkCode, depth = 0) => {
|
|
13
35
|
if (depth > 5) {
|
|
14
36
|
return `[max recursion depth for ${varName}]`;
|
|
@@ -23,6 +45,10 @@ export const resolveVariableInChunk = (varName, chunkCode, depth = 0) => {
|
|
|
23
45
|
traverse(ast, {
|
|
24
46
|
// Find variable declarations: let/const/var varName = ...
|
|
25
47
|
VariableDeclarator(path) {
|
|
48
|
+
// Skip declarations that are inside loops — they are loop counters or
|
|
49
|
+
// temporaries and would shadow the top-level variable we care about.
|
|
50
|
+
if (isInsideLoop(path))
|
|
51
|
+
return;
|
|
26
52
|
if (path.node.id.type === "Identifier" && path.node.id.name === varName && path.node.init) {
|
|
27
53
|
const init = path.node.init;
|
|
28
54
|
if (init.type === "StringLiteral") {
|
|
@@ -97,6 +123,9 @@ export const resolveVariableInChunk = (varName, chunkCode, depth = 0) => {
|
|
|
97
123
|
},
|
|
98
124
|
// Find assignments: varName = ...
|
|
99
125
|
AssignmentExpression(path) {
|
|
126
|
+
// Skip assignments inside loops for the same reason as above
|
|
127
|
+
if (isInsideLoop(path))
|
|
128
|
+
return;
|
|
100
129
|
if (path.node.left.type === "Identifier" && path.node.left.name === varName) {
|
|
101
130
|
const right = path.node.right;
|
|
102
131
|
if (right.type === "StringLiteral") {
|
|
@@ -327,11 +356,20 @@ export const substituteVariablesInString = (str, chunkCode, chunks, thirdArgName
|
|
|
327
356
|
while ((match = varPattern.exec(str)) !== null) {
|
|
328
357
|
const varName = match[1];
|
|
329
358
|
const resolvedValue = resolveVariableInChunk(varName, chunkCode);
|
|
330
|
-
// Only substitute if we got a clean value (not an error/unresolved placeholder)
|
|
359
|
+
// Only substitute if we got a clean value (not an error/unresolved placeholder).
|
|
360
|
+
// Also reject values that contain placeholder-style brackets (they are not fully
|
|
361
|
+
// resolved), pure numbers (likely loop counters, not URL segments), very long
|
|
362
|
+
// strings (likely resolved to code, not a URL component), or strings containing
|
|
363
|
+
// ANSI escape sequences (leaked from logging utilities in the bundle).
|
|
331
364
|
if (typeof resolvedValue === "string" &&
|
|
332
365
|
!resolvedValue.startsWith("[unresolved:") &&
|
|
333
366
|
!resolvedValue.startsWith("[error") &&
|
|
334
|
-
!resolvedValue.startsWith("[max recursion")
|
|
367
|
+
!resolvedValue.startsWith("[max recursion") &&
|
|
368
|
+
!resolvedValue.includes("[") &&
|
|
369
|
+
!/^\d+$/.test(resolvedValue) &&
|
|
370
|
+
!/^\d+:\d+$/.test(resolvedValue) &&
|
|
371
|
+
!resolvedValue.includes("\x1b") &&
|
|
372
|
+
resolvedValue.length <= 500) {
|
|
335
373
|
result = result.replace(`[var ${varName}]`, resolvedValue);
|
|
336
374
|
}
|
|
337
375
|
}
|
|
@@ -428,11 +466,17 @@ export const resolveWebpackChunkImport = (identifierName, chunkCode, chunks, thi
|
|
|
428
466
|
return `[webpack_import: chunk_${targetChunkId}]`;
|
|
429
467
|
}
|
|
430
468
|
// Parse the target chunk
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
469
|
+
let targetAst;
|
|
470
|
+
try {
|
|
471
|
+
targetAst = parser.parse(targetChunk.code, {
|
|
472
|
+
sourceType: "unambiguous",
|
|
473
|
+
plugins: ["jsx", "typescript"],
|
|
474
|
+
errorRecovery: true,
|
|
475
|
+
});
|
|
476
|
+
}
|
|
477
|
+
catch (_a) {
|
|
478
|
+
return `[webpack_import: chunk_${targetChunkId}]`;
|
|
479
|
+
}
|
|
436
480
|
// Find the export for the first property in memberPath
|
|
437
481
|
const firstProperty = memberPath[0];
|
|
438
482
|
let resolvedValue = null;
|
|
@@ -520,8 +564,52 @@ export const resolveWebpackChunkImport = (identifierName, chunkCode, chunks, thi
|
|
|
520
564
|
// console.log(`[DEBUG] Found property ${firstProperty} in chunk ${targetChunkId}`);
|
|
521
565
|
// Convert AST node to JavaScript object
|
|
522
566
|
const convertAstToValue = (node, remainingPath = []) => {
|
|
567
|
+
var _a, _b, _c, _d, _e, _f;
|
|
523
568
|
if (!node)
|
|
524
569
|
return null;
|
|
570
|
+
// Unwrap Object.freeze({...}) — single-arg wrapper that returns its first arg.
|
|
571
|
+
if (node.type === "CallExpression" &&
|
|
572
|
+
((_a = node.callee) === null || _a === void 0 ? void 0 : _a.type) === "MemberExpression" &&
|
|
573
|
+
((_b = node.callee.property) === null || _b === void 0 ? void 0 : _b.type) === "Identifier" &&
|
|
574
|
+
node.callee.property.name === "freeze" &&
|
|
575
|
+
((_c = node.arguments) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
|
576
|
+
return convertAstToValue(node.arguments[0], remainingPath);
|
|
577
|
+
}
|
|
578
|
+
// Unwrap Object.assign(target, ...sources) by merging each arg's properties
|
|
579
|
+
// so downstream remainingPath lookups can resolve keys contributed by sources.
|
|
580
|
+
if (node.type === "CallExpression" &&
|
|
581
|
+
((_d = node.callee) === null || _d === void 0 ? void 0 : _d.type) === "MemberExpression" &&
|
|
582
|
+
((_e = node.callee.property) === null || _e === void 0 ? void 0 : _e.type) === "Identifier" &&
|
|
583
|
+
node.callee.property.name === "assign" &&
|
|
584
|
+
((_f = node.arguments) === null || _f === void 0 ? void 0 : _f.length) > 0) {
|
|
585
|
+
const merged = {};
|
|
586
|
+
for (const arg of node.arguments) {
|
|
587
|
+
const value = convertAstToValue(arg, []);
|
|
588
|
+
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
589
|
+
Object.assign(merged, value);
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
if (remainingPath.length === 0)
|
|
593
|
+
return merged;
|
|
594
|
+
const [next, ...rest] = remainingPath;
|
|
595
|
+
if (next in merged) {
|
|
596
|
+
const v = merged[next];
|
|
597
|
+
if (rest.length === 0)
|
|
598
|
+
return v;
|
|
599
|
+
if (v && typeof v === "object") {
|
|
600
|
+
let cur = v;
|
|
601
|
+
for (const k of rest) {
|
|
602
|
+
if (cur && typeof cur === "object" && k in cur)
|
|
603
|
+
cur = cur[k];
|
|
604
|
+
else
|
|
605
|
+
return null;
|
|
606
|
+
}
|
|
607
|
+
return cur;
|
|
608
|
+
}
|
|
609
|
+
return null;
|
|
610
|
+
}
|
|
611
|
+
return null;
|
|
612
|
+
}
|
|
525
613
|
if (node.type === "ObjectExpression") {
|
|
526
614
|
const obj = {};
|
|
527
615
|
for (const prop of node.properties) {
|
|
@@ -819,6 +907,7 @@ export const resolveWebpackChunkImport = (identifierName, chunkCode, chunks, thi
|
|
|
819
907
|
* @returns The resolved value or a descriptive placeholder string
|
|
820
908
|
*/
|
|
821
909
|
export const resolveNodeValue = (initialNode, scope, nodeCode, callType, chunkCode, chunks, thirdArgName) => {
|
|
910
|
+
var _a, _b;
|
|
822
911
|
let currentNode = initialNode;
|
|
823
912
|
const visited = new Set();
|
|
824
913
|
try {
|
|
@@ -845,27 +934,55 @@ export const resolveNodeValue = (initialNode, scope, nodeCode, callType, chunkCo
|
|
|
845
934
|
if (prop.type === "ObjectProperty" && prop.key.type === "Identifier") {
|
|
846
935
|
const key = prop.key.name;
|
|
847
936
|
if (prop.value.type === "Identifier") {
|
|
848
|
-
|
|
937
|
+
// Try to resolve via scope; fall back to [param:name] for params
|
|
938
|
+
const valBinding = scope.getBinding(prop.value.name);
|
|
939
|
+
if (valBinding && valBinding.path.node.init) {
|
|
940
|
+
const resolved = resolveNodeValue(prop.value, scope, "", callType, chunkCode, chunks, thirdArgName);
|
|
941
|
+
obj[key] = resolved;
|
|
942
|
+
}
|
|
943
|
+
else if (valBinding && valBinding.kind === "param") {
|
|
944
|
+
obj[key] = `[param:${prop.value.name}]`;
|
|
945
|
+
}
|
|
946
|
+
else {
|
|
947
|
+
obj[key] = prop.value.name;
|
|
948
|
+
}
|
|
849
949
|
}
|
|
850
950
|
else if (prop.value.type === "CallExpression" &&
|
|
851
951
|
prop.value.callee.type === "MemberExpression" &&
|
|
852
952
|
prop.value.callee.property.type === "Identifier" &&
|
|
853
953
|
prop.value.callee.property.name === "stringify") {
|
|
854
|
-
|
|
954
|
+
// Nested JSON.stringify(expr) — resolve expr so we show what's being serialized.
|
|
955
|
+
const innerArgs = prop.value.arguments;
|
|
956
|
+
if (innerArgs.length > 0) {
|
|
957
|
+
obj[key] =
|
|
958
|
+
(_a = resolveNodeValue(innerArgs[0], scope, "", callType, chunkCode, chunks, thirdArgName)) !== null && _a !== void 0 ? _a : "[call to object...]";
|
|
959
|
+
}
|
|
960
|
+
else {
|
|
961
|
+
obj[key] = "[call to object...]";
|
|
962
|
+
}
|
|
855
963
|
}
|
|
856
964
|
else {
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
obj[key] = `[${prop.value.type}]`;
|
|
965
|
+
obj[key] =
|
|
966
|
+
(_b = resolveNodeValue(prop.value, scope, "", callType, chunkCode, chunks, thirdArgName)) !== null && _b !== void 0 ? _b : `[${prop.value.type}]`;
|
|
860
967
|
}
|
|
861
968
|
}
|
|
862
969
|
else if (prop.type === "SpreadElement") {
|
|
863
|
-
//
|
|
864
|
-
|
|
970
|
+
// Skip unresolvable spread elements — they're code artifacts,
|
|
971
|
+
// not actual body fields.
|
|
865
972
|
}
|
|
866
973
|
}
|
|
867
974
|
return obj;
|
|
868
975
|
}
|
|
976
|
+
else if (args.length > 0) {
|
|
977
|
+
// Argument isn't a literal object — try resolving it (handles Identifier,
|
|
978
|
+
// ConditionalExpression, etc.) so we can surface the actual body shape.
|
|
979
|
+
const resolved = resolveNodeValue(args[0], scope, nodeCode, callType, chunkCode, chunks, thirdArgName);
|
|
980
|
+
if (resolved !== null &&
|
|
981
|
+
resolved !== undefined &&
|
|
982
|
+
resolved !== "[call_stack_exceeded_use_better_machine]") {
|
|
983
|
+
return resolved;
|
|
984
|
+
}
|
|
985
|
+
}
|
|
869
986
|
}
|
|
870
987
|
}
|
|
871
988
|
}
|
|
@@ -893,9 +1010,22 @@ export const resolveNodeValue = (initialNode, scope, nodeCode, callType, chunkCo
|
|
|
893
1010
|
case "Identifier": {
|
|
894
1011
|
const binding = scope.getBinding(currentNode.name);
|
|
895
1012
|
if (binding && binding.path.node.init) {
|
|
896
|
-
|
|
1013
|
+
const initNode = binding.path.node.init;
|
|
1014
|
+
// Update nodeCode to the actual source of the init so that concat
|
|
1015
|
+
// patterns (e.g. "".concat(x, "/path")) are re-parsed correctly
|
|
1016
|
+
if (chunkCode &&
|
|
1017
|
+
typeof initNode.start === "number" &&
|
|
1018
|
+
typeof initNode.end === "number") {
|
|
1019
|
+
nodeCode = chunkCode
|
|
1020
|
+
.slice(initNode.start, initNode.end)
|
|
1021
|
+
.replace(/\n\s*/g, "");
|
|
1022
|
+
}
|
|
1023
|
+
currentNode = initNode;
|
|
897
1024
|
continue;
|
|
898
1025
|
}
|
|
1026
|
+
if (binding && binding.kind === "param") {
|
|
1027
|
+
return `[param:${currentNode.name}]`;
|
|
1028
|
+
}
|
|
899
1029
|
return `[unresolved: ${currentNode.name}]`;
|
|
900
1030
|
}
|
|
901
1031
|
case "ObjectExpression": {
|
|
@@ -936,27 +1066,43 @@ export const resolveNodeValue = (initialNode, scope, nodeCode, callType, chunkCo
|
|
|
936
1066
|
return obj;
|
|
937
1067
|
}
|
|
938
1068
|
case "MemberExpression": {
|
|
939
|
-
// Handle webpack chunk imports
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
1069
|
+
// Handle deeply-nested webpack chunk imports by flattening the chain:
|
|
1070
|
+
// s.h.NEXT_OKTA_VALIDATE_USER -> resolveWebpackChunkImport("s", ..., ["h", "NEXT_OKTA_VALIDATE_USER"])
|
|
1071
|
+
if (chunkCode && chunks && thirdArgName && !currentNode.computed) {
|
|
1072
|
+
const chain = [];
|
|
1073
|
+
let walker = currentNode;
|
|
1074
|
+
let rootIdent = null;
|
|
1075
|
+
while (walker) {
|
|
1076
|
+
if (walker.type === "MemberExpression" &&
|
|
1077
|
+
!walker.computed &&
|
|
1078
|
+
walker.property.type === "Identifier") {
|
|
1079
|
+
chain.unshift(walker.property.name);
|
|
1080
|
+
walker = walker.object;
|
|
1081
|
+
}
|
|
1082
|
+
else if (walker.type === "Identifier") {
|
|
1083
|
+
rootIdent = walker.name;
|
|
1084
|
+
break;
|
|
1085
|
+
}
|
|
1086
|
+
else {
|
|
1087
|
+
break;
|
|
956
1088
|
}
|
|
957
1089
|
}
|
|
958
|
-
|
|
959
|
-
|
|
1090
|
+
if (rootIdent && chain.length > 0) {
|
|
1091
|
+
try {
|
|
1092
|
+
const webpackResult = resolveWebpackChunkImport(rootIdent, chunkCode, chunks, thirdArgName, chain);
|
|
1093
|
+
if (webpackResult !== null &&
|
|
1094
|
+
webpackResult !== undefined &&
|
|
1095
|
+
typeof webpackResult === "string" &&
|
|
1096
|
+
!webpackResult.startsWith("[unresolved") &&
|
|
1097
|
+
!webpackResult.startsWith("[error") &&
|
|
1098
|
+
!webpackResult.startsWith("[unsupported") &&
|
|
1099
|
+
!webpackResult.startsWith("[max_depth")) {
|
|
1100
|
+
return webpackResult;
|
|
1101
|
+
}
|
|
1102
|
+
}
|
|
1103
|
+
catch (e) {
|
|
1104
|
+
// fall through
|
|
1105
|
+
}
|
|
960
1106
|
}
|
|
961
1107
|
}
|
|
962
1108
|
const object = resolveNodeValue(currentNode.object, scope, nodeCode, callType, chunkCode, chunks, thirdArgName);
|
|
@@ -977,6 +1123,20 @@ export const resolveNodeValue = (initialNode, scope, nodeCode, callType, chunkCo
|
|
|
977
1123
|
}
|
|
978
1124
|
return object[propertyName];
|
|
979
1125
|
}
|
|
1126
|
+
// Build a readable path like [member:e.Rut.toString] for unresolved member expressions
|
|
1127
|
+
const memberParts = [];
|
|
1128
|
+
let memberWalker = currentNode;
|
|
1129
|
+
while (memberWalker &&
|
|
1130
|
+
memberWalker.type === "MemberExpression" &&
|
|
1131
|
+
!memberWalker.computed &&
|
|
1132
|
+
memberWalker.property.type === "Identifier") {
|
|
1133
|
+
memberParts.unshift(memberWalker.property.name);
|
|
1134
|
+
memberWalker = memberWalker.object;
|
|
1135
|
+
}
|
|
1136
|
+
if (memberWalker && memberWalker.type === "Identifier" && memberParts.length > 0) {
|
|
1137
|
+
memberParts.unshift(memberWalker.name);
|
|
1138
|
+
return `[member:${memberParts.join(".")}]`;
|
|
1139
|
+
}
|
|
980
1140
|
return `[unresolved member expression]`;
|
|
981
1141
|
}
|
|
982
1142
|
case "CallExpression": {
|
|
@@ -1026,13 +1186,19 @@ export const resolveNodeValue = (initialNode, scope, nodeCode, callType, chunkCo
|
|
|
1026
1186
|
// a lot of times, things like `"".concat(var1).concat(var2)` - which is basically multiple
|
|
1027
1187
|
// .concat() with varying arguments end up here. They needs to be resolved as a string
|
|
1028
1188
|
// first, match as regex
|
|
1029
|
-
if (nodeCode.replace(/\n\s*/g, "").match(/^"[
|
|
1189
|
+
if (nodeCode.replace(/\n\s*/g, "").match(/^"[^"]*"(\.concat\(.+\))+$/)) {
|
|
1030
1190
|
// parse it separately with ast
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1191
|
+
let ast;
|
|
1192
|
+
try {
|
|
1193
|
+
ast = parser.parse(nodeCode, {
|
|
1194
|
+
sourceType: "unambiguous",
|
|
1195
|
+
plugins: ["jsx", "typescript"],
|
|
1196
|
+
errorRecovery: true,
|
|
1197
|
+
});
|
|
1198
|
+
}
|
|
1199
|
+
catch (_c) {
|
|
1200
|
+
break;
|
|
1201
|
+
}
|
|
1036
1202
|
// get all the concat calls first. Like .concat(...)
|
|
1037
1203
|
// I want to only get concat() and nothing else. Also, it doesn't matter how many times they are called
|
|
1038
1204
|
const concatCalls = [];
|
|
@@ -1093,7 +1259,24 @@ export const resolveNodeValue = (initialNode, scope, nodeCode, callType, chunkCo
|
|
|
1093
1259
|
return toReturn;
|
|
1094
1260
|
}
|
|
1095
1261
|
}
|
|
1096
|
-
|
|
1262
|
+
// Build a readable callee label for the placeholder
|
|
1263
|
+
let calleeLabel = calleeName !== "[unknown]" ? calleeName : "";
|
|
1264
|
+
if (!calleeLabel && currentNode.callee.type === "MemberExpression") {
|
|
1265
|
+
const parts = [];
|
|
1266
|
+
let c = currentNode.callee;
|
|
1267
|
+
while (c.type === "MemberExpression" && !c.computed && c.property.type === "Identifier") {
|
|
1268
|
+
parts.unshift(c.property.name);
|
|
1269
|
+
c = c.object;
|
|
1270
|
+
}
|
|
1271
|
+
if (c.type === "Identifier")
|
|
1272
|
+
parts.unshift(c.name);
|
|
1273
|
+
calleeLabel = parts.join(".");
|
|
1274
|
+
}
|
|
1275
|
+
return `[call:${calleeLabel || "?"}()]`;
|
|
1276
|
+
}
|
|
1277
|
+
case "AwaitExpression": {
|
|
1278
|
+
currentNode = currentNode.argument;
|
|
1279
|
+
continue;
|
|
1097
1280
|
}
|
|
1098
1281
|
case "NewExpression": {
|
|
1099
1282
|
if (currentNode.callee.type === "Identifier" &&
|
|
@@ -1102,6 +1285,42 @@ export const resolveNodeValue = (initialNode, scope, nodeCode, callType, chunkCo
|
|
|
1102
1285
|
currentNode = currentNode.arguments[0];
|
|
1103
1286
|
continue;
|
|
1104
1287
|
}
|
|
1288
|
+
if (currentNode.callee.type === "Identifier" &&
|
|
1289
|
+
currentNode.callee.name === "URLSearchParams" &&
|
|
1290
|
+
currentNode.arguments.length > 0) {
|
|
1291
|
+
const spArg = currentNode.arguments[0];
|
|
1292
|
+
if (spArg.type === "ObjectExpression") {
|
|
1293
|
+
const params = [];
|
|
1294
|
+
for (const prop of spArg.properties) {
|
|
1295
|
+
if (prop.type !== "ObjectProperty")
|
|
1296
|
+
continue;
|
|
1297
|
+
const key = prop.key.type === "Identifier"
|
|
1298
|
+
? prop.key.name
|
|
1299
|
+
: prop.key.type === "StringLiteral"
|
|
1300
|
+
? prop.key.value
|
|
1301
|
+
: null;
|
|
1302
|
+
if (!key)
|
|
1303
|
+
continue;
|
|
1304
|
+
const val = resolveNodeValue(prop.value, scope, nodeCode, callType, chunkCode, chunks, thirdArgName);
|
|
1305
|
+
if (val === "[call_stack_exceeded_use_better_machine]")
|
|
1306
|
+
return val;
|
|
1307
|
+
// Use the literal value when fully resolved; otherwise use {key} as placeholder.
|
|
1308
|
+
const valStr = val !== null && val !== undefined && !String(val).startsWith("[")
|
|
1309
|
+
? encodeURIComponent(String(val))
|
|
1310
|
+
: `{${key}}`;
|
|
1311
|
+
params.push(`${key}=${valStr}`);
|
|
1312
|
+
}
|
|
1313
|
+
if (params.length > 0)
|
|
1314
|
+
return params.join("&");
|
|
1315
|
+
}
|
|
1316
|
+
// Non-object arg — try to resolve it directly
|
|
1317
|
+
const spResolved = resolveNodeValue(spArg, scope, nodeCode, callType, chunkCode, chunks, thirdArgName);
|
|
1318
|
+
if (spResolved !== null &&
|
|
1319
|
+
spResolved !== undefined &&
|
|
1320
|
+
spResolved !== "[call_stack_exceeded_use_better_machine]") {
|
|
1321
|
+
return String(spResolved);
|
|
1322
|
+
}
|
|
1323
|
+
}
|
|
1105
1324
|
return `[unresolved new expression]`;
|
|
1106
1325
|
}
|
|
1107
1326
|
case "LogicalExpression": {
|
|
@@ -1135,18 +1354,61 @@ export const resolveNodeValue = (initialNode, scope, nodeCode, callType, chunkCo
|
|
|
1135
1354
|
if (right === "[call_stack_exceeded_use_better_machine]") {
|
|
1136
1355
|
return right;
|
|
1137
1356
|
}
|
|
1138
|
-
if (
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1357
|
+
if (currentNode.operator === "+") {
|
|
1358
|
+
const leftOk = left !== null && left !== undefined;
|
|
1359
|
+
const rightOk = right !== null && right !== undefined;
|
|
1360
|
+
// Fully resolved — concatenate directly.
|
|
1361
|
+
if (leftOk && rightOk && !String(left).startsWith("[") && !String(right).startsWith("[")) {
|
|
1362
|
+
return left + right;
|
|
1363
|
+
}
|
|
1364
|
+
// Partially resolved — concatenate what we have so the caller
|
|
1365
|
+
// at least sees the resolvable fragments alongside the placeholders.
|
|
1366
|
+
if (leftOk && rightOk) {
|
|
1367
|
+
return `${left}${right}`;
|
|
1146
1368
|
}
|
|
1369
|
+
if (leftOk)
|
|
1370
|
+
return String(left);
|
|
1371
|
+
if (rightOk)
|
|
1372
|
+
return String(right);
|
|
1147
1373
|
}
|
|
1148
1374
|
return `[unresolved binary expression: ${currentNode.operator}]`;
|
|
1149
1375
|
}
|
|
1376
|
+
case "ArrayExpression": {
|
|
1377
|
+
const elements = [];
|
|
1378
|
+
for (const element of currentNode.elements) {
|
|
1379
|
+
if (element === null) {
|
|
1380
|
+
elements.push(null);
|
|
1381
|
+
continue;
|
|
1382
|
+
}
|
|
1383
|
+
const resolved = resolveNodeValue(element, scope, nodeCode, callType, chunkCode, chunks, thirdArgName);
|
|
1384
|
+
if (resolved === "[call_stack_exceeded_use_better_machine]")
|
|
1385
|
+
return resolved;
|
|
1386
|
+
elements.push(resolved);
|
|
1387
|
+
}
|
|
1388
|
+
return elements;
|
|
1389
|
+
}
|
|
1390
|
+
case "UnaryExpression": {
|
|
1391
|
+
if (currentNode.operator === "void")
|
|
1392
|
+
return null;
|
|
1393
|
+
const operand = resolveNodeValue(currentNode.argument, scope, nodeCode, callType, chunkCode, chunks, thirdArgName);
|
|
1394
|
+
if (operand === "[call_stack_exceeded_use_better_machine]")
|
|
1395
|
+
return operand;
|
|
1396
|
+
if (currentNode.operator === "!") {
|
|
1397
|
+
if (typeof operand === "boolean")
|
|
1398
|
+
return !operand;
|
|
1399
|
+
if (typeof operand === "number")
|
|
1400
|
+
return operand === 0;
|
|
1401
|
+
return "<boolean>";
|
|
1402
|
+
}
|
|
1403
|
+
if (currentNode.operator === "-") {
|
|
1404
|
+
if (typeof operand === "number")
|
|
1405
|
+
return -operand;
|
|
1406
|
+
return "<number>";
|
|
1407
|
+
}
|
|
1408
|
+
if (currentNode.operator === "typeof")
|
|
1409
|
+
return "<string>";
|
|
1410
|
+
return "<unknown>";
|
|
1411
|
+
}
|
|
1150
1412
|
default:
|
|
1151
1413
|
return `[unsupported node type: ${currentNode.type}]`;
|
|
1152
1414
|
}
|