@shriyanss/js-recon 1.2.2-alpha.1 → 1.2.2-alpha.11

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 (85) hide show
  1. package/CHANGELOG.md +128 -0
  2. package/build/endpoints/index.js +1 -0
  3. package/build/endpoints/index.js.map +1 -1
  4. package/build/globalConfig.js +2 -1
  5. package/build/globalConfig.js.map +1 -1
  6. package/build/index.js +7 -1
  7. package/build/index.js.map +1 -1
  8. package/build/lazyLoad/angular/angular_getFromMainJs.js +55 -0
  9. package/build/lazyLoad/angular/angular_getFromMainJs.js.map +1 -0
  10. package/build/lazyLoad/angular/angular_getFromPageSource.js +43 -0
  11. package/build/lazyLoad/angular/angular_getFromPageSource.js.map +1 -0
  12. package/build/lazyLoad/downloadFilesUtil.js +7 -4
  13. package/build/lazyLoad/downloadFilesUtil.js.map +1 -1
  14. package/build/lazyLoad/index.js +201 -12
  15. package/build/lazyLoad/index.js.map +1 -1
  16. package/build/lazyLoad/next_js/next_GetJSScript.js +2 -3
  17. package/build/lazyLoad/next_js/next_GetJSScript.js.map +1 -1
  18. package/build/lazyLoad/next_js/next_GetLazyResourcesBuildManifestJs.js +32 -23
  19. package/build/lazyLoad/next_js/next_GetLazyResourcesBuildManifestJs.js.map +1 -1
  20. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js +1 -1
  21. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js.map +1 -1
  22. package/build/lazyLoad/next_js/next_SubsequentRequests.js +54 -4
  23. package/build/lazyLoad/next_js/next_SubsequentRequests.js.map +1 -1
  24. package/build/lazyLoad/next_js/next_bruteForceJsFiles.js +32 -0
  25. package/build/lazyLoad/next_js/next_bruteForceJsFiles.js.map +1 -0
  26. package/build/lazyLoad/next_js/next_buildId.js +9 -1
  27. package/build/lazyLoad/next_js/next_buildId.js.map +1 -1
  28. package/build/lazyLoad/next_js/next_parseLayoutJs.js +116 -0
  29. package/build/lazyLoad/next_js/next_parseLayoutJs.js.map +1 -0
  30. package/build/lazyLoad/next_js/next_promiseResolve.js +76 -0
  31. package/build/lazyLoad/next_js/next_promiseResolve.js.map +1 -0
  32. package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js +34 -0
  33. package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js.map +1 -0
  34. package/build/lazyLoad/sourcemap.js +188 -0
  35. package/build/lazyLoad/sourcemap.js.map +1 -0
  36. package/build/lazyLoad/techDetect/index.js +117 -3
  37. package/build/lazyLoad/techDetect/index.js.map +1 -1
  38. package/build/lazyLoad/vue/vue_RuntimeJs.js +101 -0
  39. package/build/lazyLoad/vue/vue_RuntimeJs.js.map +1 -0
  40. package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js +98 -0
  41. package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js.map +1 -0
  42. package/build/lazyLoad/vue/vue_jsImports.js +70 -0
  43. package/build/lazyLoad/vue/vue_jsImports.js.map +1 -0
  44. package/build/lazyLoad/vue/vue_reconstructSourceMaps.js +56 -0
  45. package/build/lazyLoad/vue/vue_reconstructSourceMaps.js.map +1 -0
  46. package/build/lazyLoad/vue/vue_severalJsFilesHome.js +52 -0
  47. package/build/lazyLoad/vue/vue_severalJsFilesHome.js.map +1 -0
  48. package/build/lazyLoad/vue/vue_sourcemapExtract.js +166 -0
  49. package/build/lazyLoad/vue/vue_sourcemapExtract.js.map +1 -0
  50. package/build/map/next_js/getAxiosInstances.js +1 -1
  51. package/build/map/next_js/getAxiosInstances.js.map +1 -1
  52. package/build/map/next_js/getWebpackConnections.js +1 -1
  53. package/build/map/next_js/getWebpackConnections.js.map +1 -1
  54. package/build/map/next_js/interactive_helpers/commandHelpers.js +1 -1
  55. package/build/map/next_js/interactive_helpers/commandHelpers.js.map +1 -1
  56. package/build/map/next_js/resolveAxios.js +61 -17
  57. package/build/map/next_js/resolveAxios.js.map +1 -1
  58. package/build/map/next_js/resolveAxiosHelpers/directCallsWithoutAssignment.js +48 -0
  59. package/build/map/next_js/resolveAxiosHelpers/directCallsWithoutAssignment.js.map +1 -0
  60. package/build/map/next_js/resolveAxiosHelpers/findAxiosClients.js +8 -8
  61. package/build/map/next_js/resolveAxiosHelpers/findAxiosClients.js.map +1 -1
  62. package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js +302 -0
  63. package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js.map +1 -0
  64. package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js +48 -8
  65. package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js.map +1 -1
  66. package/build/map/next_js/resolveAxiosHelpers/handleZDotCreate.js +261 -0
  67. package/build/map/next_js/resolveAxiosHelpers/handleZDotCreate.js.map +1 -0
  68. package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js +10 -3
  69. package/build/map/next_js/resolveAxiosHelpers/processAxiosCall.js.map +1 -1
  70. package/build/map/next_js/resolveAxiosHelpers/processDirectAxiosCall.js +113 -0
  71. package/build/map/next_js/resolveAxiosHelpers/processDirectAxiosCall.js.map +1 -0
  72. package/build/map/next_js/resolveAxiosHelpers/processExportedEndpoints.js +274 -0
  73. package/build/map/next_js/resolveAxiosHelpers/processExportedEndpoints.js.map +1 -0
  74. package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js +506 -0
  75. package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js.map +1 -0
  76. package/build/map/next_js/resolveFetch.js +243 -4
  77. package/build/map/next_js/resolveFetch.js.map +1 -1
  78. package/build/map/next_js/utils.js +867 -11
  79. package/build/map/next_js/utils.js.map +1 -1
  80. package/build/run/index.js +12 -7
  81. package/build/run/index.js.map +1 -1
  82. package/build/utility/globals.js.map +1 -1
  83. package/build/utility/makeReq.js +159 -91
  84. package/build/utility/makeReq.js.map +1 -1
  85. package/package.json +7 -7
@@ -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 = ($) => __awaiter(void 0, void 0, void 0, function* () {
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
+ }
70
74
  }
71
75
  }
72
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
+ }
107
+ }
108
+ }
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
  /**
@@ -160,6 +206,64 @@ const checkSvelte = ($) => __awaiter(void 0, void 0, void 0, function* () {
160
206
  });
161
207
  return { detected, evidence };
162
208
  });
209
+ const checkAngularJS = ($, url) => __awaiter(void 0, void 0, void 0, function* () {
210
+ let detected = false;
211
+ let evidence = "";
212
+ // to detect angular js, first check if it has something like `main-*.js` or `main.js` in script src
213
+ let hasMainJs = false;
214
+ let mainJsURL = undefined;
215
+ $("script").each((_, el) => {
216
+ const tag = $(el).get(0).tagName;
217
+ const attribs = el.attribs;
218
+ if (attribs) {
219
+ for (const [attrName, attrValue] of Object.entries(attribs)) {
220
+ if (attrName === "src") {
221
+ // @ts-ignore
222
+ if (attrValue.includes("main-")) {
223
+ hasMainJs = true;
224
+ // if the url starts with `main-...`, then build the full url
225
+ if (!attrValue.startsWith("http")) {
226
+ mainJsURL = new URL(attrValue, url).href;
227
+ }
228
+ else {
229
+ mainJsURL = attrValue;
230
+ }
231
+ }
232
+ }
233
+ }
234
+ }
235
+ });
236
+ // now, get the contents of the main.js file
237
+ if (hasMainJs) {
238
+ const mainJsRes = yield makeRequest(mainJsURL, {});
239
+ const mainJsBody = yield mainJsRes.text();
240
+ // check if the traces of angular js are present
241
+ // using regex for this, as this is simple and fast
242
+ // check: isAngularZone(), "isAngularZone", this.ngZone
243
+ // if lazyload enabled, need to check routerlink: `["routerLink",`
244
+ const isAngularZoneRegex = /isAngularZone\(\)/;
245
+ const isAngularZoneRegex2 = /"isAngularZone"/;
246
+ const ngZoneRegex = /this\.ngZone/;
247
+ const routerLinkRegex = /"routerLink"/;
248
+ if (isAngularZoneRegex.test(mainJsBody)) {
249
+ detected = true;
250
+ evidence = "isAngularZone()";
251
+ }
252
+ else if (isAngularZoneRegex2.test(mainJsBody)) {
253
+ detected = true;
254
+ evidence = '"isAngularZone"';
255
+ }
256
+ else if (ngZoneRegex.test(mainJsBody)) {
257
+ detected = true;
258
+ evidence = "this.ngZone";
259
+ }
260
+ else if (routerLinkRegex.test(mainJsBody)) {
261
+ detected = true;
262
+ evidence = "routerLink";
263
+ }
264
+ }
265
+ return { detected, evidence };
266
+ });
163
267
  /**
164
268
  * Detects the front-end framework used in a webpage.
165
269
  * It does this by iterating through all HTML tags and checking if any attribute name starts with "data-v-".
@@ -204,14 +308,19 @@ const frameworkDetect = (url) => __awaiter(void 0, void 0, void 0, function* ()
204
308
  // const pageSource = await res.text();
205
309
  // cheerio to parse the page source
206
310
  const $ = cheerio.load(pageSource);
311
+ // there are two checks
312
+ // one is directly on the response the tool gets by making request with fetch ($)
313
+ // and the second one is by opening the page in browser, loading content, and then analyzing the page content ($res)
207
314
  // check all technologies one by one
208
315
  const result_checkNextJS = yield checkNextJS($);
209
- const result_checkVueJS = yield checkVueJS($);
316
+ const result_checkVueJS = yield checkVueJS($, url);
210
317
  const result_checkSvelte = yield checkSvelte($);
318
+ const result_checkAngular = yield checkAngularJS($, url);
211
319
  // now, also check with the res response
212
320
  let result_checkNextJS_res = { detected: false, evidence: "" };
213
321
  let result_checkVueJS_res = { detected: false, evidence: "" };
214
322
  let result_checkSvelte_res = { detected: false, evidence: "" };
323
+ let result_checkAngularJS_res = { detected: false, evidence: "" };
215
324
  let $res;
216
325
  // if network error was caused, then return
217
326
  if (res === null) {
@@ -221,8 +330,9 @@ const frameworkDetect = (url) => __awaiter(void 0, void 0, void 0, function* ()
221
330
  const resBody = yield res.text();
222
331
  $res = cheerio.load(resBody);
223
332
  result_checkNextJS_res = yield checkNextJS($res);
224
- result_checkVueJS_res = yield checkVueJS($res);
333
+ result_checkVueJS_res = yield checkVueJS($res, url);
225
334
  result_checkSvelte_res = yield checkSvelte($res);
335
+ result_checkAngularJS_res = yield checkAngularJS($res, url);
226
336
  }
227
337
  if (result_checkNextJS.detected === true || result_checkNextJS_res.detected === true) {
228
338
  const evidence = result_checkNextJS.evidence !== "" ? result_checkNextJS.evidence : result_checkNextJS_res.evidence;
@@ -244,6 +354,10 @@ const frameworkDetect = (url) => __awaiter(void 0, void 0, void 0, function* ()
244
354
  const evidence = result_checkSvelte.evidence !== "" ? result_checkSvelte.evidence : result_checkSvelte_res.evidence;
245
355
  return { name: "svelte", evidence };
246
356
  }
357
+ else if (result_checkAngular.detected === true || result_checkAngularJS_res.detected === true) {
358
+ const evidence = result_checkAngular.evidence !== "" ? result_checkAngular.evidence : result_checkAngularJS_res.evidence;
359
+ return { name: "angular", evidence };
360
+ }
247
361
  return null;
248
362
  });
249
363
  export default frameworkDetect;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lazyLoad/techDetect/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,WAAW,MAAM,0BAA0B,CAAC;AAExD;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,CAAO,CAAC,EAAE,EAAE;IAC5B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,+EAA+E;IAC/E,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QAClB,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAEjC,sCAAsC;QACtC,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,GAAG,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,QAAQ,GAAG,IAAI,CAAC;gBAChB,QAAQ,GAAG,GAAG,GAAG,OAAO,GAAG,EAAE,CAAC;YAClC,CAAC;iBAAM,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9C,QAAQ,GAAG,IAAI,CAAC;gBAChB,QAAQ,GAAG,GAAG,GAAG,OAAO,MAAM,EAAE,CAAC;YACrC,CAAC;iBAAM,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxD,QAAQ,GAAG,IAAI,CAAC;gBAChB,QAAQ,GAAG,GAAG,GAAG,OAAO,WAAW,EAAE,CAAC;YAC1C,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC,CAAA,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,GAAG,CAAO,CAAC,EAAE,EAAE;IAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QAClB,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;QAC3B,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjC,QAAQ,GAAG,IAAI,CAAC;oBAChB,QAAQ,GAAG,GAAG,GAAG,OAAO,QAAQ,EAAE,CAAC;gBACvC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC,CAAA,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,GAAG,CAAO,CAAqB,EAAE,EAAE;IAChD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,kFAAkF;IAClF,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QAClB,aAAa;QACb,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjC,aAAa;QACb,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;QAC3B,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBAC5C,aAAa;oBACb,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC/B,QAAQ,GAAG,IAAI,CAAC;wBAChB,QAAQ,GAAG,GAAG,QAAQ,OAAO,SAAS,EAAE,CAAC;oBAC7C,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC,CAAA,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG,CAAO,CAAC,EAAE,EAAE;IAC5B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,iFAAiF;IACjF,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QAClB,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;QAC3B,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACvB,aAAa;oBACb,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBAChC,QAAQ,GAAG,IAAI,CAAC;wBAChB,QAAQ,GAAG,GAAG,QAAQ,OAAO,SAAS,EAAE,CAAC;oBAC7C,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,iDAAiD;IACjD,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QAClB,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;QAC3B,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACpB,aAAa;oBACb,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBAChC,QAAQ,GAAG,IAAI,CAAC;wBAChB,QAAQ,GAAG,GAAG,QAAQ,OAAO,SAAS,EAAE,CAAC;oBAC7C,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,qDAAqD;IACrD,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QAClB,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;QAC3B,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,IAAI,QAAQ,KAAK,uBAAuB,EAAE,CAAC;oBACvC,QAAQ,GAAG,IAAI,CAAC;oBAChB,QAAQ,GAAG,GAAG,QAAQ,OAAO,SAAS,EAAE,CAAC;gBAC7C,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC,CAAA,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,eAAe,GAAG,CAAO,GAAW,EAAE,EAAE;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAE7D,sBAAsB;IACtB,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEvC,qCAAqC;IACrC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;QACnC,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAAE;KAC5F,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACrC,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACjB,SAAS,EAAE,kBAAkB;YAC7B,OAAO,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,uDAAuD;QACvD,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iFAAiF,CAAC,CAAC,CAAC;IACjH,CAAC;YAAS,CAAC;QACP,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,2CAA2C;IAC3C,YAAY;IACZ,IAAI;IAEJ,uCAAuC;IAEvC,mCAAmC;IACnC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEnC,oCAAoC;IACpC,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;IAEhD,wCAAwC;IACxC,IAAI,sBAAsB,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC/D,IAAI,qBAAqB,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC9D,IAAI,sBAAsB,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC/D,IAAI,IAAI,CAAC;IACT,2CAA2C;IAC3C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,sBAAsB,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACjD,qBAAqB,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/C,sBAAsB,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,kBAAkB,CAAC,QAAQ,KAAK,IAAI,IAAI,sBAAsB,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACnF,MAAM,QAAQ,GACV,kBAAkB,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC;QACvG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACtC,CAAC;SAAM,IAAI,iBAAiB,CAAC,QAAQ,KAAK,IAAI,IAAI,qBAAqB,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAC3F,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,sBAAsB,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,kBAAkB,CAAC,QAAQ,KAAK,IAAI,IAAI,sBAAsB,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACnF,MAAM,QAAQ,GACV,kBAAkB,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YACvG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,QAAQ,GACV,iBAAiB,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC;QACpG,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACrC,CAAC;SAAM,IAAI,kBAAkB,CAAC,QAAQ,KAAK,IAAI,IAAI,sBAAsB,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC1F,MAAM,QAAQ,GACV,kBAAkB,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC;QACvG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA,CAAC;AAEF,eAAe,eAAe,CAAC"}
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,98 @@
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
+ // add that JS file to the list
40
+ jsFilesFound.push(new URL(jsUrl, url).href);
41
+ // print the warning
42
+ console.log(chalk.yellow("[!] This method is MEMORY INTENSIVE. Underpowered devices may freeze"));
43
+ // resolve the URL
44
+ if (jsUrl.startsWith("/") || jsUrl.startsWith("./") || jsUrl.startsWith("../")) {
45
+ jsUrl = new URL(jsUrl, url).href;
46
+ }
47
+ // get the contents of that JS file
48
+ const jsReq = yield makeRequest(jsUrl);
49
+ const jsContent = yield jsReq.text();
50
+ // parse the JS file
51
+ const ast = parser.parse(jsContent, {
52
+ sourceType: "unambiguous",
53
+ plugins: ["jsx", "typescript"],
54
+ errorRecovery: true,
55
+ });
56
+ // traverse the AST
57
+ let initialFoundJsPaths = [];
58
+ traverse(ast, {
59
+ ArrayExpression(path) {
60
+ const elements = path.node.elements;
61
+ if (!elements)
62
+ return;
63
+ const currentJsFiles = [];
64
+ let hasJs = false;
65
+ let isPureJsCssList = true;
66
+ for (const element of elements) {
67
+ // element can be null in sparse arrays
68
+ if (!element || element.type !== "StringLiteral") {
69
+ isPureJsCssList = false;
70
+ break;
71
+ }
72
+ const value = element.value;
73
+ if (value.endsWith(".js")) {
74
+ hasJs = true;
75
+ currentJsFiles.push(value);
76
+ }
77
+ else if (!value.endsWith(".css")) {
78
+ // If it's not .js and not .css, it's not the list we're looking for
79
+ isPureJsCssList = false;
80
+ break;
81
+ }
82
+ }
83
+ if (isPureJsCssList && hasJs) {
84
+ initialFoundJsPaths.push(...currentJsFiles);
85
+ }
86
+ },
87
+ });
88
+ // now that paths are found, iterate through those, and construct the full URLs
89
+ for (const path of initialFoundJsPaths) {
90
+ if (!path.endsWith(".js"))
91
+ continue;
92
+ const fullUrl = new URL(path, url).href;
93
+ jsFilesFound.push(fullUrl);
94
+ }
95
+ return jsFilesFound;
96
+ });
97
+ export default vue_singleJsFileOnHome;
98
+ //# 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,70 @@
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 if (source.startsWith("../")) {
33
+ if (!foundUrls.includes(new URL(source, url).href)) {
34
+ foundUrls.push(new URL(source, url).href);
35
+ }
36
+ }
37
+ else {
38
+ // DEBUG
39
+ console.log(chalk.red(`Found import statement but can't resolve it: ${source} - on ${url}`));
40
+ }
41
+ },
42
+ });
43
+ return foundUrls;
44
+ });
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
49
+ 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
+ }
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);
64
+ }
65
+ }
66
+ }
67
+ return foundUrls;
68
+ });
69
+ export default vue_jsImports;
70
+ //# 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":"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"}
@@ -0,0 +1,56 @@
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 chalk from "chalk";
12
+ const vue_reconstructSourceMaps = (url, jsFilesToDownload) => __awaiter(void 0, void 0, void 0, function* () {
13
+ // get the contents of first file, and check if it has the sourceMappingURL
14
+ let sourceMapUrls = [];
15
+ // guard against empty input
16
+ if (jsFilesToDownload.length === 0) {
17
+ return sourceMapUrls;
18
+ }
19
+ const req = yield makeRequest(jsFilesToDownload[0]);
20
+ const content = yield req.text();
21
+ // check if it has the sourceMappingURL
22
+ if (!(content.includes("sourceMappingURL=") || content.includes("sourceMappingURL ="))) {
23
+ return sourceMapUrls;
24
+ }
25
+ console.log(chalk.green("[✓] Found sourceMappingURL"));
26
+ // now that one file has this, iterate through all the files, and reconstruct the source maps
27
+ for (const jsFile of jsFilesToDownload) {
28
+ const req = yield makeRequest(jsFile);
29
+ const content = yield req.text();
30
+ // get the sourceMappingURL
31
+ let sourceMappingURL_reg = content.match(/sourceMappingURL=([^"]+)/);
32
+ if (sourceMappingURL_reg) {
33
+ // strip the newline, and assign to a new var
34
+ const sourceMappingURL = sourceMappingURL_reg[1].replace(/\n/g, "");
35
+ // reconstruct the URL
36
+ let reconstructedUrl = "";
37
+ if (sourceMappingURL.startsWith("/")) {
38
+ reconstructedUrl = new URL(jsFile).origin + sourceMappingURL;
39
+ }
40
+ else if (sourceMappingURL.startsWith("./")) {
41
+ reconstructedUrl = new URL(sourceMappingURL, jsFile).href;
42
+ }
43
+ else if (sourceMappingURL.startsWith("http")) {
44
+ reconstructedUrl = sourceMappingURL;
45
+ }
46
+ else {
47
+ reconstructedUrl = new URL(sourceMappingURL, jsFile).href;
48
+ }
49
+ // now that we've got the mapping URL, just push it to the array
50
+ sourceMapUrls.push(reconstructedUrl);
51
+ }
52
+ }
53
+ return sourceMapUrls;
54
+ });
55
+ export default vue_reconstructSourceMaps;
56
+ //# sourceMappingURL=vue_reconstructSourceMaps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue_reconstructSourceMaps.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_reconstructSourceMaps.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,yBAAyB,GAAG,CAAO,GAAW,EAAE,iBAA2B,EAAE,EAAE;IACjF,2EAA2E;IAE3E,IAAI,aAAa,GAAa,EAAE,CAAC;IACjC,4BAA4B;IAC5B,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAEjC,uCAAuC;IACvC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAEvD,6FAA6F;IAC7F,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjC,2BAA2B;QAC3B,IAAI,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACrE,IAAI,oBAAoB,EAAE,CAAC;YACvB,6CAA6C;YAC7C,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAEpE,sBAAsB;YACtB,IAAI,gBAAgB,GAAW,EAAE,CAAC;YAClC,IAAI,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,gBAAgB,CAAC;YACjE,CAAC;iBAAM,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,gBAAgB,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC;YAC9D,CAAC;iBAAM,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7C,gBAAgB,GAAG,gBAAgB,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACJ,gBAAgB,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC;YAC9D,CAAC;YAED,gEAAgE;YAChE,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC,CAAA,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -0,0 +1,52 @@
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 * as cheerio from "cheerio";
12
+ const vue_severalJsFilesHome = (url) => __awaiter(void 0, void 0, void 0, function* () {
13
+ let jsFilesToReturn = [];
14
+ // get the contents of the homepage
15
+ const homepageReq = yield makeRequest(url);
16
+ const homepageContent = yield homepageReq.text();
17
+ // parse it with cheerio
18
+ const $ = cheerio.load(homepageContent);
19
+ // find all the script tag urls
20
+ const scriptTags = $("script");
21
+ // iterate through those, and find the ones that aren't CDN URLs, like the relative or absolute paths
22
+ let jsPaths = [];
23
+ for (const tag of scriptTags) {
24
+ const src = $(tag).attr("src");
25
+ if (src && !src.startsWith("http")) {
26
+ jsPaths.push(src);
27
+ }
28
+ }
29
+ // if length is 1, return
30
+ if (jsPaths.length === 1) {
31
+ return jsFilesToReturn;
32
+ }
33
+ // apart from script tags, also go through the <link> tags, check if the `href` attr of those end with `.js`, and if so, push it to the list of the JS paths
34
+ const linkTags = $("link");
35
+ for (const tag of linkTags) {
36
+ const src = $(tag).attr("href");
37
+ if (src && !src.startsWith("http") && src.endsWith(".js")) {
38
+ jsPaths.push(src);
39
+ }
40
+ }
41
+ // now that there are files, go through those and get the full path of those
42
+ let fullJsUrls = [];
43
+ for (const path of jsPaths) {
44
+ const fullUrl = new URL(path, url).href;
45
+ fullJsUrls.push(fullUrl);
46
+ }
47
+ // push these to the list of the JS files to return
48
+ jsFilesToReturn.push(...fullJsUrls);
49
+ return jsFilesToReturn;
50
+ });
51
+ export default vue_severalJsFilesHome;
52
+ //# sourceMappingURL=vue_severalJsFilesHome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue_severalJsFilesHome.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_severalJsFilesHome.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,MAAM,sBAAsB,GAAG,CAAO,GAAW,EAAqB,EAAE;IACpE,IAAI,eAAe,GAAa,EAAE,CAAC;IAEnC,mCAAmC;IACnC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;IAEjD,wBAAwB;IACxB,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAExC,+BAA+B;IAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE/B,qGAAqG;IACrG,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IAED,yBAAyB;IACzB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,4JAA4J;IAC5J,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;QACxC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,mDAAmD;IACnD,eAAe,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAEpC,OAAO,eAAe,CAAC;AAC3B,CAAC,CAAA,CAAC;AAEF,eAAe,sBAAsB,CAAC"}