@shriyanss/js-recon 1.2.1-alpha.2 → 1.2.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,228 +1,292 @@
1
1
  import parser from "@babel/parser";
2
2
  import _traverse from "@babel/traverse";
3
3
  const traverse = _traverse.default;
4
- export const resolveNodeValue = (node, scope, nodeCode, callType) => {
5
- if (!node)
6
- return null;
7
- // fetch specific ops
8
- if (callType === "fetch") {
9
- // check if it is a JSON.stringify call
10
- if (node.type === "CallExpression" && node.callee.type === "MemberExpression") {
11
- if (node.callee.property.type === "Identifier" && node.callee.property.name === "stringify") {
12
- // if so, then first get the args for it
13
- const args = node.arguments;
14
- // see if the first arg is an object
15
- if (args.length > 0 && args[0].type === "ObjectExpression") {
16
- // if it is an object, then convert stringify it
4
+ export const resolveNodeValue = (initialNode, scope, nodeCode, callType) => {
5
+ let currentNode = initialNode;
6
+ const visited = new Set();
7
+ try {
8
+ while (currentNode) {
9
+ if (visited.has(currentNode)) {
10
+ return "[cyclic reference]";
11
+ }
12
+ visited.add(currentNode);
13
+ if (!currentNode)
14
+ return null;
15
+ // fetch specific ops
16
+ if (callType === "fetch") {
17
+ // check if it is a JSON.stringify call
18
+ if (currentNode.type === "CallExpression" && currentNode.callee.type === "MemberExpression") {
19
+ if (currentNode.callee.property.type === "Identifier" &&
20
+ currentNode.callee.property.name === "stringify") {
21
+ // if so, then first get the args for it
22
+ const args = currentNode.arguments;
23
+ // see if the first arg is an object
24
+ if (args.length > 0 && args[0].type === "ObjectExpression") {
25
+ // if it is an object, then convert stringify it
26
+ const obj = {};
27
+ for (const prop of args[0].properties) {
28
+ if (prop.type === "ObjectProperty" && prop.key.type === "Identifier") {
29
+ const key = prop.key.name;
30
+ if (prop.value.type === "Identifier") {
31
+ obj[key] = prop.value.name;
32
+ }
33
+ else if (prop.value.type === "CallExpression" &&
34
+ prop.value.callee.type === "MemberExpression" &&
35
+ prop.value.callee.property.type === "Identifier" &&
36
+ prop.value.callee.property.name === "stringify") {
37
+ obj[key] = "[call to object...]";
38
+ }
39
+ else {
40
+ // For other types of values, you might want to add more handling
41
+ // For now, we'll just represent them as a string of their type.
42
+ obj[key] = `[${prop.value.type}]`;
43
+ }
44
+ }
45
+ else if (prop.type === "SpreadElement") {
46
+ // Handle spread elements if necessary, e.g., by adding a placeholder
47
+ obj["...spread"] = `[${prop.argument.type}]`;
48
+ }
49
+ }
50
+ return obj;
51
+ }
52
+ }
53
+ }
54
+ }
55
+ switch (currentNode.type) {
56
+ case "StringLiteral":
57
+ case "NumericLiteral":
58
+ case "BooleanLiteral":
59
+ return currentNode.value;
60
+ case "NullLiteral":
61
+ return null;
62
+ case "TemplateLiteral": {
63
+ let result = "";
64
+ for (let i = 0; i < currentNode.quasis.length; i++) {
65
+ result += currentNode.quasis[i].value.raw;
66
+ if (i < currentNode.expressions.length) {
67
+ const resolved = resolveNodeValue(currentNode.expressions[i], scope, nodeCode, callType);
68
+ if (resolved === "[call_stack_exceeded_use_better_machine]") {
69
+ return resolved;
70
+ }
71
+ result += resolved;
72
+ }
73
+ }
74
+ return result;
75
+ }
76
+ case "Identifier": {
77
+ const binding = scope.getBinding(currentNode.name);
78
+ if (binding && binding.path.node.init) {
79
+ currentNode = binding.path.node.init;
80
+ continue;
81
+ }
82
+ return `[unresolved: ${currentNode.name}]`;
83
+ }
84
+ case "ObjectExpression": {
17
85
  const obj = {};
18
- for (const prop of args[0].properties) {
19
- if (prop.type === "ObjectProperty" && prop.key.type === "Identifier") {
20
- const key = prop.key.name;
21
- if (prop.value.type === "Identifier") {
22
- obj[key] = prop.value.name;
86
+ for (const prop of currentNode.properties) {
87
+ if (prop.type === "ObjectProperty") {
88
+ let key;
89
+ if (prop.computed) {
90
+ const resolved = resolveNodeValue(prop.key, scope, nodeCode, callType);
91
+ if (resolved === "[call_stack_exceeded_use_better_machine]") {
92
+ return resolved;
93
+ }
94
+ key = resolved;
95
+ }
96
+ else if (prop.key.type === "Identifier") {
97
+ key = prop.key.name;
23
98
  }
24
- else if (prop.value.type === "CallExpression" &&
25
- prop.value.callee.type === "MemberExpression" &&
26
- prop.value.callee.property.type === "Identifier" &&
27
- prop.value.callee.property.name === "stringify") {
28
- obj[key] = "[call to object...]";
99
+ else if (prop.key.type === "StringLiteral") {
100
+ key = prop.key.value;
29
101
  }
30
- else {
31
- // For other types of values, you might want to add more handling
32
- // For now, we'll just represent them as a string of their type.
33
- obj[key] = `[${prop.value.type}]`;
102
+ const value = resolveNodeValue(prop.value, scope, nodeCode, callType);
103
+ if (value === "[call_stack_exceeded_use_better_machine]") {
104
+ return value;
34
105
  }
106
+ obj[key] = value;
35
107
  }
36
108
  else if (prop.type === "SpreadElement") {
37
- // Handle spread elements if necessary, e.g., by adding a placeholder
38
- obj["...spread"] = `[${prop.argument.type}]`;
109
+ const resolved = resolveNodeValue(prop.argument, scope, nodeCode, callType);
110
+ if (resolved === "[call_stack_exceeded_use_better_machine]") {
111
+ return resolved;
112
+ }
113
+ const spreadObj = resolved;
114
+ if (typeof spreadObj === "object" && spreadObj !== null) {
115
+ Object.assign(obj, spreadObj);
116
+ }
39
117
  }
40
118
  }
41
119
  return obj;
42
120
  }
43
- }
44
- }
45
- }
46
- switch (node.type) {
47
- case "StringLiteral":
48
- case "NumericLiteral":
49
- case "BooleanLiteral":
50
- return node.value;
51
- case "NullLiteral":
52
- return null;
53
- case "TemplateLiteral": {
54
- let result = "";
55
- for (let i = 0; i < node.quasis.length; i++) {
56
- result += node.quasis[i].value.raw;
57
- if (i < node.expressions.length) {
58
- result += resolveNodeValue(node.expressions[i], scope, nodeCode, callType);
121
+ case "MemberExpression": {
122
+ const object = resolveNodeValue(currentNode.object, scope, nodeCode, callType);
123
+ if (object === "[call_stack_exceeded_use_better_machine]") {
124
+ return object;
125
+ }
126
+ if (typeof object === "object" && object !== null) {
127
+ let propertyName;
128
+ if (currentNode.computed) {
129
+ const resolved = resolveNodeValue(currentNode.property, scope, nodeCode, callType);
130
+ if (resolved === "[call_stack_exceeded_use_better_machine]") {
131
+ return resolved;
132
+ }
133
+ propertyName = resolved;
134
+ }
135
+ else if (currentNode.property.type === "Identifier") {
136
+ propertyName = currentNode.property.name;
137
+ }
138
+ return object[propertyName];
139
+ }
140
+ return `[unresolved member expression]`;
59
141
  }
60
- }
61
- return result;
62
- }
63
- case "Identifier": {
64
- const binding = scope.getBinding(node.name);
65
- if (binding && binding.path.node.init) {
66
- return resolveNodeValue(binding.path.node.init, scope, nodeCode, callType);
67
- }
68
- return `[unresolved: ${node.name}]`;
69
- }
70
- case "ObjectExpression": {
71
- const obj = {};
72
- for (const prop of node.properties) {
73
- if (prop.type === "ObjectProperty") {
74
- let key;
75
- if (prop.computed) {
76
- key = resolveNodeValue(prop.key, scope, nodeCode, callType);
142
+ case "CallExpression": {
143
+ if (currentNode.callee.type === "MemberExpression" &&
144
+ currentNode.callee.property.type === "Identifier" &&
145
+ currentNode.callee.property.name === "toString") {
146
+ currentNode = currentNode.callee.object;
147
+ continue;
77
148
  }
78
- else if (prop.key.type === "Identifier") {
79
- key = prop.key.name;
149
+ let calleeName = "[unknown]";
150
+ if (currentNode.callee.type === "Identifier") {
151
+ calleeName = currentNode.callee.name;
80
152
  }
81
- else if (prop.key.type === "StringLiteral") {
82
- key = prop.key.value;
153
+ // a lot of times, things like `"".concat(var1).concat(var2)` - which is basically multiple
154
+ // .concat() with varying arguments end up here. They needs to be resolved as a string
155
+ // first, match as regex
156
+ if (nodeCode.replace(/\n\s*/g, "").match(/^"[\d\w\/]*"(\.concat\(.+\))+$/)) {
157
+ // parse it separately with ast
158
+ const ast = parser.parse(nodeCode, {
159
+ sourceType: "unambiguous",
160
+ plugins: ["jsx", "typescript"],
161
+ errorRecovery: true,
162
+ });
163
+ // get all the concat calls first. Like .concat(...)
164
+ // I want to only get concat() and nothing else. Also, it doesn't matter how many times they are called
165
+ const concatCalls = [];
166
+ const getArgValue = (arg) => {
167
+ var _a;
168
+ switch (arg.type) {
169
+ case "StringLiteral":
170
+ case "NumericLiteral":
171
+ case "BooleanLiteral":
172
+ return arg.value;
173
+ case "NullLiteral":
174
+ return null;
175
+ case "Identifier":
176
+ return `[var ${arg.name}]`; // Format identifiers as [var name]
177
+ default:
178
+ // @ts-ignore
179
+ return `[${arg.type} -> ${arg.type === "MemberExpression" ? (_a = arg.property) === null || _a === void 0 ? void 0 : _a.name : ""}]`;
180
+ }
181
+ };
182
+ traverse(ast, {
183
+ CallExpression(path) {
184
+ var _a;
185
+ // We only want to start from the outermost `concat` call.
186
+ if (path.node.callee.type !== "MemberExpression" ||
187
+ path.node.callee.property.type !== "Identifier" ||
188
+ path.node.callee.property.name !== "concat" ||
189
+ path.parent.type === "MemberExpression") {
190
+ return;
191
+ }
192
+ let current = path.node;
193
+ while (current &&
194
+ current.type === "CallExpression" &&
195
+ current.callee.type === "MemberExpression") {
196
+ const args = current.arguments.map(getArgValue);
197
+ concatCalls.unshift(args);
198
+ current = current.callee.object;
199
+ }
200
+ if (current) {
201
+ if (current.type === "StringLiteral") {
202
+ concatCalls.unshift([current.value]);
203
+ }
204
+ else if (current.type === "Identifier") {
205
+ concatCalls.unshift([`[var ${current.name}]`]);
206
+ }
207
+ else {
208
+ concatCalls.unshift([
209
+ `[${current.type} -> ${current.type === "MemberExpression" ? (_a = current.property) === null || _a === void 0 ? void 0 : _a.name : ""}]`,
210
+ ]);
211
+ }
212
+ }
213
+ // Stop traversal once we've processed the chain.
214
+ path.stop();
215
+ },
216
+ });
217
+ // process the concatCalls to return a single string
218
+ if (concatCalls.length > 0) {
219
+ const toReturn = concatCalls.flat().join("");
220
+ return toReturn;
221
+ }
83
222
  }
84
- const value = resolveNodeValue(prop.value, scope, nodeCode, callType);
85
- obj[key] = value;
223
+ return `[unresolved call to ${calleeName || "function"} -> ${nodeCode === null || nodeCode === void 0 ? void 0 : nodeCode.replace(/\n\s*/g, "")}]`;
86
224
  }
87
- else if (prop.type === "SpreadElement") {
88
- const spreadObj = resolveNodeValue(prop.argument, scope, nodeCode, callType);
89
- if (typeof spreadObj === "object" && spreadObj !== null) {
90
- Object.assign(obj, spreadObj);
225
+ case "NewExpression": {
226
+ if (currentNode.callee.type === "Identifier" &&
227
+ currentNode.callee.name === "URL" &&
228
+ currentNode.arguments.length > 0) {
229
+ currentNode = currentNode.arguments[0];
230
+ continue;
91
231
  }
232
+ return `[unresolved new expression]`;
92
233
  }
93
- }
94
- return obj;
95
- }
96
- case "MemberExpression": {
97
- const object = resolveNodeValue(node.object, scope, nodeCode, callType);
98
- if (typeof object === "object" && object !== null) {
99
- let propertyName;
100
- if (node.computed) {
101
- propertyName = resolveNodeValue(node.property, scope, nodeCode, callType);
234
+ case "LogicalExpression": {
235
+ const left = resolveNodeValue(currentNode.left, scope, nodeCode, callType);
236
+ if (left === "[call_stack_exceeded_use_better_machine]") {
237
+ return left;
238
+ }
239
+ else if (left && !String(left).startsWith("[")) {
240
+ return left;
241
+ }
242
+ currentNode = currentNode.right;
243
+ continue;
102
244
  }
103
- else if (node.property.type === "Identifier") {
104
- propertyName = node.property.name;
245
+ case "ConditionalExpression": {
246
+ const consequent = resolveNodeValue(currentNode.consequent, scope, nodeCode, callType);
247
+ if (consequent === "[call_stack_exceeded_use_better_machine]") {
248
+ return consequent;
249
+ }
250
+ else if (consequent && !String(consequent).startsWith("[")) {
251
+ return consequent;
252
+ }
253
+ currentNode = currentNode.alternate;
254
+ continue;
105
255
  }
106
- return object[propertyName];
107
- }
108
- return `[unresolved member expression]`;
109
- }
110
- case "CallExpression": {
111
- if (node.callee.type === "MemberExpression" &&
112
- node.callee.property.type === "Identifier" &&
113
- node.callee.property.name === "toString") {
114
- return resolveNodeValue(node.callee.object, scope, nodeCode, callType);
115
- }
116
- let calleeName = "[unknown]";
117
- if (node.callee.type === "Identifier") {
118
- calleeName = node.callee.name;
119
- }
120
- // a lot of times, things like `"".concat(var1).concat(var2)` - which is basically multiple
121
- // .concat() with varying arguments end up here. They needs to be resolved as a string
122
- // first, match as regex
123
- if (nodeCode.replace(/\n\s*/g, "").match(/^"[\d\w\/]*"(\.concat\(.+\))+$/)) {
124
- // parse it separately with ast
125
- const ast = parser.parse(nodeCode, {
126
- sourceType: "unambiguous",
127
- plugins: ["jsx", "typescript"],
128
- errorRecovery: true,
129
- });
130
- // get all the concat calls first. Like .concat(...)
131
- // I want to only get concat() and nothing else. Also, it doesn't matter how many times they are called
132
- const concatCalls = [];
133
- const getArgValue = (arg) => {
134
- var _a;
135
- switch (arg.type) {
136
- case "StringLiteral":
137
- case "NumericLiteral":
138
- case "BooleanLiteral":
139
- return arg.value;
140
- case "NullLiteral":
141
- return null;
142
- case "Identifier":
143
- return `[var ${arg.name}]`; // Format identifiers as [var name]
144
- default:
145
- // @ts-ignore
146
- return `[${arg.type} -> ${arg.type === "MemberExpression" ? (_a = arg.property) === null || _a === void 0 ? void 0 : _a.name : ""}]`;
256
+ case "BinaryExpression": {
257
+ const left = resolveNodeValue(currentNode.left, scope, nodeCode, callType);
258
+ if (left === "[call_stack_exceeded_use_better_machine]") {
259
+ return left;
147
260
  }
148
- };
149
- traverse(ast, {
150
- CallExpression(path) {
151
- var _a;
152
- // We only want to start from the outermost `concat` call.
153
- if (path.node.callee.type !== "MemberExpression" ||
154
- path.node.callee.property.type !== "Identifier" ||
155
- path.node.callee.property.name !== "concat" ||
156
- path.parent.type === "MemberExpression") {
157
- return;
158
- }
159
- let current = path.node;
160
- while (current &&
161
- current.type === "CallExpression" &&
162
- current.callee.type === "MemberExpression") {
163
- const args = current.arguments.map(getArgValue);
164
- concatCalls.unshift(args);
165
- current = current.callee.object;
166
- }
167
- if (current) {
168
- if (current.type === "StringLiteral") {
169
- concatCalls.unshift([current.value]);
170
- }
171
- else if (current.type === "Identifier") {
172
- concatCalls.unshift([`[var ${current.name}]`]);
173
- }
174
- else {
175
- concatCalls.unshift([
176
- `[${current.type} -> ${current.type === "MemberExpression" ? (_a = current.property) === null || _a === void 0 ? void 0 : _a.name : ""}]`,
177
- ]);
178
- }
261
+ const right = resolveNodeValue(currentNode.right, scope, nodeCode, callType);
262
+ if (right === "[call_stack_exceeded_use_better_machine]") {
263
+ return right;
264
+ }
265
+ if (left !== null &&
266
+ right !== null &&
267
+ !String(left).startsWith("[") &&
268
+ !String(right).startsWith("[")) {
269
+ // eslint-disable-next-line default-case
270
+ switch (currentNode.operator) {
271
+ case "+":
272
+ return left + right;
179
273
  }
180
- // Stop traversal once we've processed the chain.
181
- path.stop();
182
- },
183
- });
184
- // process the concatCalls to return a single string
185
- if (concatCalls.length > 0) {
186
- const toReturn = concatCalls.flat().join("");
187
- return toReturn;
274
+ }
275
+ return `[unresolved binary expression: ${currentNode.operator}]`;
188
276
  }
277
+ default:
278
+ return `[unsupported node type: ${currentNode.type}]`;
189
279
  }
190
- return `[unresolved call to ${calleeName || "function"} -> ${nodeCode === null || nodeCode === void 0 ? void 0 : nodeCode.replace(/\n\s*/g, "")}]`;
191
- }
192
- case "NewExpression": {
193
- if (node.callee.type === "Identifier" && node.callee.name === "URL" && node.arguments.length > 0) {
194
- return resolveNodeValue(node.arguments[0], scope, nodeCode, callType);
195
- }
196
- return `[unresolved new expression]`;
197
- }
198
- case "LogicalExpression": {
199
- const left = resolveNodeValue(node.left, scope, nodeCode, callType);
200
- if (left && !String(left).startsWith("[")) {
201
- return left;
202
- }
203
- return resolveNodeValue(node.right, scope, nodeCode, callType);
204
- }
205
- case "ConditionalExpression": {
206
- const consequent = resolveNodeValue(node.consequent, scope, nodeCode, callType);
207
- if (consequent && !String(consequent).startsWith("[")) {
208
- return consequent;
209
- }
210
- return resolveNodeValue(node.alternate, scope, nodeCode, callType);
211
280
  }
212
- case "BinaryExpression": {
213
- const left = resolveNodeValue(node.left, scope, nodeCode, callType);
214
- const right = resolveNodeValue(node.right, scope, nodeCode, callType);
215
- if (left !== null && right !== null && !String(left).startsWith("[") && !String(right).startsWith("[")) {
216
- // eslint-disable-next-line default-case
217
- switch (node.operator) {
218
- case "+":
219
- return left + right;
220
- }
221
- }
222
- return `[unresolved binary expression: ${node.operator}]`;
281
+ return null;
282
+ }
283
+ catch (e) {
284
+ // check if it's a "Maximum call stack size exceeded" error
285
+ if (e instanceof RangeError && e.message.includes("Maximum call stack size exceeded")) {
286
+ return "[call_stack_exceeded_use_better_machine]";
287
+ // console.error("[error] Maximum call stack size exceeded. Please use a better machine.");
288
+ // process.exit(21);
223
289
  }
224
- default:
225
- return `[unsupported node type: ${node.type}]`;
226
290
  }
227
291
  };
228
292
  // Resolve string operations like "\"/api/teams/\".concat(i, \"/members\")"
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/map/next_js/utils.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,eAAe,CAAC;AAEnC,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;AAEnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAE,KAAY,EAAE,QAAgB,EAAE,QAA2B,EAAO,EAAE;IAC7G,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,qBAAqB;IACrB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACvB,uCAAuC;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC1F,wCAAwC;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBAE5B,oCAAoC;gBACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACzD,gDAAgD;oBAChD,MAAM,GAAG,GAA2B,EAAE,CAAC;oBACvC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;wBACpC,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;4BAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gCACnC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;4BAC/B,CAAC;iCAAM,IACH,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB;gCACpC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;gCAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;gCAChD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,EACjD,CAAC;gCACC,GAAG,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC;4BACrC,CAAC;iCAAM,CAAC;gCACJ,iEAAiE;gCACjE,gEAAgE;gCAChE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;4BACtC,CAAC;wBACL,CAAC;6BAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;4BACvC,qEAAqE;4BACrE,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;wBACjD,CAAC;oBACL,CAAC;oBACD,OAAO,GAAG,CAAC;gBACf,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB,CAAC;QACtB,KAAK,gBAAgB;YACjB,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,KAAK,aAAa;YACd,OAAO,IAAI,CAAC;QAChB,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACrB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;gBACnC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;oBAC9B,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC/E,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,gBAAgB,IAAI,CAAC,IAAI,GAAG,CAAC;QACxC,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACtB,MAAM,GAAG,GAAG,EAAE,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBACjC,IAAI,GAAG,CAAC;oBACR,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAChE,CAAC;yBAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACxC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACxB,CAAC;yBAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wBAC3C,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;oBACzB,CAAC;oBACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACtE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACrB,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACvC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAC7E,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;wBACtD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBAClC,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAChD,IAAI,YAAY,CAAC;gBACjB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC9E,CAAC;qBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC7C,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACtC,CAAC;gBACD,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,gCAAgC,CAAC;QAC5C,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACpB,IACI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;gBACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;gBAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,EAC1C,CAAC;gBACC,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,UAAU,GAAG,WAAW,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACpC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAClC,CAAC;YAED,2FAA2F;YAC3F,sFAAsF;YAEtF,wBAAwB;YACxB,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,CAAC;gBACzE,+BAA+B;gBAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAC/B,UAAU,EAAE,aAAa;oBACzB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;oBAC9B,aAAa,EAAE,IAAI;iBACtB,CAAC,CAAC;gBAEH,oDAAoD;gBACpD,uGAAuG;gBACvG,MAAM,WAAW,GAAY,EAAE,CAAC;gBAEhC,MAAM,WAAW,GAAG,CAAC,GAAS,EAAO,EAAE;;oBACnC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;wBACf,KAAK,eAAe,CAAC;wBACrB,KAAK,gBAAgB,CAAC;wBACtB,KAAK,gBAAgB;4BACjB,OAAO,GAAG,CAAC,KAAK,CAAC;wBACrB,KAAK,aAAa;4BACd,OAAO,IAAI,CAAC;wBAChB,KAAK,YAAY;4BACb,OAAO,QAAQ,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,mCAAmC;wBACnE;4BACI,aAAa;4BACb,OAAO,IAAI,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,MAAA,GAAG,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC/F,CAAC;gBACL,CAAC,CAAC;gBAEF,QAAQ,CAAC,GAAG,EAAE;oBACV,cAAc,CAAC,IAAI;;wBACf,0DAA0D;wBAC1D,IACI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;4BAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;4BAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;4BAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB,EACzC,CAAC;4BACC,OAAO;wBACX,CAAC;wBAED,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;wBACxB,OACI,OAAO;4BACP,OAAO,CAAC,IAAI,KAAK,gBAAgB;4BACjC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAC5C,CAAC;4BACC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;4BAChD,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;4BAC1B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;wBACpC,CAAC;wBAED,IAAI,OAAO,EAAE,CAAC;4BACV,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gCACnC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;4BACzC,CAAC;iCAAM,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gCACvC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;4BACnD,CAAC;iCAAM,CAAC;gCACJ,WAAW,CAAC,OAAO,CAAC;oCAChB,IAAI,OAAO,CAAC,IAAI,OACZ,OAAO,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,MAAA,OAAO,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EACnE,GAAG;iCACN,CAAC,CAAC;4BACP,CAAC;wBACL,CAAC;wBAED,iDAAiD;wBACjD,IAAI,CAAC,IAAI,EAAE,CAAC;oBAChB,CAAC;iBACJ,CAAC,CAAC;gBAEH,oDAAoD;gBACpD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC7C,OAAO,QAAQ,CAAC;gBACpB,CAAC;YACL,CAAC;YAED,OAAO,uBAAuB,UAAU,IAAI,UAAU,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC;QACpG,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACnB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/F,OAAO,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,6BAA6B,CAAC;QACzC,CAAC;QACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACpE,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnE,CAAC;QACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChF,IAAI,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpD,OAAO,UAAU,CAAC;YACtB,CAAC;YACD,OAAO,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACpE,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrG,wCAAwC;gBACxC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACpB,KAAK,GAAG;wBACJ,OAAO,IAAI,GAAG,KAAK,CAAC;gBAC5B,CAAC;YACL,CAAC;YACD,OAAO,kCAAkC,IAAI,CAAC,QAAQ,GAAG,CAAC;QAC9D,CAAC;QACD;YACI,OAAO,2BAA2B,IAAI,CAAC,IAAI,GAAG,CAAC;IACvD,CAAC;AACL,CAAC,CAAC;AAEF,2EAA2E;AAC3E,4GAA4G;AAC5G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAU,EAAE;IACxD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAE5D,0DAA0D;IAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChF,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,kDAAkD;QAClD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC;IAErE,kGAAkG;IAClG,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,OAAO,IAAI,EAAE,CAAC;YACd,SAAS;QACb,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,OAAO,IAAI,EAAE,CAAC;YACd,SAAS;QACb,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,UAAU,GAAG,CAAC,UAAU,CAAC;YACzB,OAAO,IAAI,EAAE,CAAC;YACd,SAAS;QACb,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1B,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;QACb,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAErD,wBAAwB;IACxB,IAAI,MAAM,GAAG,cAAc,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,gCAAgC;YAChC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,8DAA8D;YAC9D,wDAAwD;YACxD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9C,MAAM,IAAI,QAAQ,MAAM,GAAG,CAAC;QAChC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/map/next_js/utils.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ const refactor = (mappedJson, outputDir, tech, list) => __awaiter(void 0, void 0
20
20
  // check if the file exists
21
21
  if (!fs.existsSync(mappedJson)) {
22
22
  console.log(chalk.red("[!] Mapped JSON file does not exist"));
23
- process.exit(1);
23
+ process.exit(7);
24
24
  }
25
25
  if (list) {
26
26
  console.log(chalk.cyan("[i] Listing available technologies"));
@@ -32,12 +32,12 @@ const refactor = (mappedJson, outputDir, tech, list) => __awaiter(void 0, void 0
32
32
  // verify if the tech provided is valid
33
33
  if (!Object.keys(availableTechs).includes(tech)) {
34
34
  console.log(chalk.red("[!] Invalid technology provided"));
35
- process.exit(1);
35
+ process.exit(8);
36
36
  }
37
37
  // check if the output directory already exists
38
38
  if (fs.existsSync(outputDir)) {
39
39
  console.log(chalk.red("[!] Output directory already exists"));
40
- process.exit(1);
40
+ process.exit(9);
41
41
  }
42
42
  else {
43
43
  fs.mkdirSync(outputDir);