@shriyanss/js-recon 1.2.2-alpha.8 → 1.3.1-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +69 -0
- package/build/analyze/engine/astEngine.js +32 -26
- package/build/analyze/engine/astEngine.js.map +1 -1
- package/build/analyze/helpers/engineHelpers/findMemberExpressionAssignment.js.map +1 -1
- package/build/analyze/helpers/schemas.js +1 -0
- package/build/analyze/helpers/schemas.js.map +1 -1
- package/build/endpoints/next_js/client_jsFilesHref.js +4 -2
- package/build/endpoints/next_js/client_jsFilesHref.js.map +1 -1
- package/build/endpoints/next_js/client_mappedJsonFile.js.map +1 -1
- package/build/endpoints/next_js/client_subsequentRequests.js +12 -4
- package/build/endpoints/next_js/client_subsequentRequests.js.map +1 -1
- package/build/globalConfig.js +1 -1
- package/build/index.js +22 -2
- package/build/index.js.map +1 -1
- package/build/lazyLoad/downloadFilesUtil.js +74 -80
- package/build/lazyLoad/downloadFilesUtil.js.map +1 -1
- package/build/lazyLoad/downloadLoadedJsUtil.js +1 -1
- package/build/lazyLoad/downloadLoadedJsUtil.js.map +1 -1
- package/build/lazyLoad/globals.js +32 -1
- package/build/lazyLoad/globals.js.map +1 -1
- package/build/lazyLoad/index.js +53 -128
- package/build/lazyLoad/index.js.map +1 -1
- package/build/lazyLoad/next_js/NextJsCrawler.js +248 -0
- package/build/lazyLoad/next_js/NextJsCrawler.js.map +1 -0
- package/build/lazyLoad/next_js/next_GetJSScript.js +9 -8
- package/build/lazyLoad/next_js/next_GetJSScript.js.map +1 -1
- package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js +1 -1
- package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js.map +1 -1
- package/build/lazyLoad/next_js/next_SubsequentRequests.js +4 -2
- package/build/lazyLoad/next_js/next_SubsequentRequests.js.map +1 -1
- package/build/lazyLoad/next_js/next_bruteForceJsFiles.js +8 -3
- package/build/lazyLoad/next_js/next_bruteForceJsFiles.js.map +1 -1
- package/build/lazyLoad/next_js/next_getClientSidePaths.js +83 -0
- package/build/lazyLoad/next_js/next_getClientSidePaths.js.map +1 -0
- package/build/lazyLoad/next_js/next_promiseResolve.js +54 -45
- package/build/lazyLoad/next_js/next_promiseResolve.js.map +1 -1
- package/build/lazyLoad/nuxt_js/nuxt_astParse.js.map +1 -1
- package/build/lazyLoad/react/react_getScriptTags.js +29 -0
- package/build/lazyLoad/react/react_getScriptTags.js.map +1 -0
- package/build/lazyLoad/react/react_sourcemapUrls.js +44 -0
- package/build/lazyLoad/react/react_sourcemapUrls.js.map +1 -0
- package/build/lazyLoad/react/react_webpackChunkPaths.js +188 -0
- package/build/lazyLoad/react/react_webpackChunkPaths.js.map +1 -0
- package/build/lazyLoad/techDetect/checkAngularJS.js +70 -0
- package/build/lazyLoad/techDetect/checkAngularJS.js.map +1 -0
- package/build/lazyLoad/techDetect/checkNextJS.js +45 -0
- package/build/lazyLoad/techDetect/checkNextJS.js.map +1 -0
- package/build/lazyLoad/techDetect/checkNuxtJS.js +39 -0
- package/build/lazyLoad/techDetect/checkNuxtJS.js.map +1 -0
- package/build/lazyLoad/techDetect/checkReact.js +44 -0
- package/build/lazyLoad/techDetect/checkReact.js.map +1 -0
- package/build/lazyLoad/techDetect/checkSvelte.js +69 -0
- package/build/lazyLoad/techDetect/checkSvelte.js.map +1 -0
- package/build/lazyLoad/techDetect/checkVueJS.js +118 -0
- package/build/lazyLoad/techDetect/checkVueJS.js.map +1 -0
- package/build/lazyLoad/techDetect/index.js +14 -254
- package/build/lazyLoad/techDetect/index.js.map +1 -1
- package/build/lazyLoad/vue/vue_RuntimeJs.js +122 -54
- package/build/lazyLoad/vue/vue_RuntimeJs.js.map +1 -1
- package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js +6 -0
- package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js.map +1 -1
- package/build/lazyLoad/vue/vue_discoverJsFiles.js +68 -0
- package/build/lazyLoad/vue/vue_discoverJsFiles.js.map +1 -0
- package/build/lazyLoad/vue/vue_getClientSidePaths.js +122 -0
- package/build/lazyLoad/vue/vue_getClientSidePaths.js.map +1 -0
- package/build/lazyLoad/vue/vue_jsImports.js +40 -29
- package/build/lazyLoad/vue/vue_jsImports.js.map +1 -1
- package/build/lazyLoad/vue/vue_pageSrc.js +60 -0
- package/build/lazyLoad/vue/vue_pageSrc.js.map +1 -0
- package/build/lazyLoad/vue/vue_reconstructSourceMaps.js +8 -0
- package/build/lazyLoad/vue/vue_reconstructSourceMaps.js.map +1 -1
- package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js +136 -0
- package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js.map +1 -0
- package/build/lazyLoad/vue/vue_severalJsFilesHome.js +57 -0
- package/build/lazyLoad/vue/vue_severalJsFilesHome.js.map +1 -0
- package/build/lazyLoad/vue/vue_viteMapDeps.js +89 -0
- package/build/lazyLoad/vue/vue_viteMapDeps.js.map +1 -0
- package/build/map/index.js +19 -0
- package/build/map/index.js.map +1 -1
- package/build/map/next_js/getExports.js +3 -1
- package/build/map/next_js/getExports.js.map +1 -1
- package/build/map/next_js/getTurbopackConnections.js +255 -0
- package/build/map/next_js/getTurbopackConnections.js.map +1 -0
- package/build/map/next_js/getWebpackConnections.js +3 -4
- package/build/map/next_js/getWebpackConnections.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js +14 -10
- package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js.map +1 -1
- package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js.map +1 -1
- package/build/map/next_js/resolveFetch.js +2 -1
- package/build/map/next_js/resolveFetch.js.map +1 -1
- package/build/map/next_js/utils.js.map +1 -1
- package/build/map/vue_js/getViteConnections.js +293 -0
- package/build/map/vue_js/getViteConnections.js.map +1 -0
- package/build/map/vue_js/interactive.js +39 -0
- package/build/map/vue_js/interactive.js.map +1 -0
- package/build/map/vue_js/interactive_helpers/commandHandler.js +285 -0
- package/build/map/vue_js/interactive_helpers/commandHandler.js.map +1 -0
- package/build/map/vue_js/interactive_helpers/commandHelpers.js +39 -0
- package/build/map/vue_js/interactive_helpers/commandHelpers.js.map +1 -0
- package/build/map/vue_js/interactive_helpers/helpMenu.js +11 -0
- package/build/map/vue_js/interactive_helpers/helpMenu.js.map +1 -0
- package/build/mcp/cli.js +381 -0
- package/build/mcp/cli.js.map +1 -0
- package/build/mcp/commands.js +147 -0
- package/build/mcp/commands.js.map +1 -0
- package/build/mcp/config.js +68 -0
- package/build/mcp/config.js.map +1 -0
- package/build/mcp/index.js +29 -0
- package/build/mcp/index.js.map +1 -0
- package/build/mcp/providers.js +153 -0
- package/build/mcp/providers.js.map +1 -0
- package/build/mcp/tools.js +185 -0
- package/build/mcp/tools.js.map +1 -0
- package/build/run/index.js +35 -16
- package/build/run/index.js.map +1 -1
- package/build/utility/makeReq.js +25 -55
- package/build/utility/makeReq.js.map +1 -1
- package/build/utility/puppeteerInstance.js +5 -0
- package/build/utility/puppeteerInstance.js.map +1 -0
- package/contributing/nextjs.md +410 -0
- package/package.json +11 -4
|
@@ -0,0 +1,60 @@
|
|
|
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
|
+
import * as cheerio from "cheerio";
|
|
13
|
+
const vue_pageSrc = (url) => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
+
let toReturn = [];
|
|
15
|
+
// first, get the contents of the homepage
|
|
16
|
+
const req = yield makeRequest(url);
|
|
17
|
+
if (req == null) {
|
|
18
|
+
console.log(chalk.red(`Failed to fetch ${url}`));
|
|
19
|
+
return toReturn;
|
|
20
|
+
}
|
|
21
|
+
const homepageContent = yield req.text();
|
|
22
|
+
// get all the script srcs
|
|
23
|
+
const $script = cheerio.load(homepageContent);
|
|
24
|
+
$script("script").each((_, el) => {
|
|
25
|
+
const src = $script(el).attr("src");
|
|
26
|
+
if (src) {
|
|
27
|
+
// construct the full URL if it's a relative path
|
|
28
|
+
if (src.startsWith("http") || src.startsWith("//")) {
|
|
29
|
+
toReturn.push(src);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
const fullUrl = new URL(src, url).href;
|
|
33
|
+
toReturn.push(fullUrl);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
// get all the link srcs
|
|
38
|
+
const $link = cheerio.load(homepageContent);
|
|
39
|
+
$link("link").each((_, el) => {
|
|
40
|
+
const src = $link(el).attr("href");
|
|
41
|
+
if (src) {
|
|
42
|
+
// check the rel attribute
|
|
43
|
+
const rel = $link(el).attr("rel");
|
|
44
|
+
const asAttr = $link(el).attr("as");
|
|
45
|
+
if (rel && (rel == "modulepreload" || (rel == "preload" && asAttr == "script"))) {
|
|
46
|
+
// construct the full URL if it's a relative path
|
|
47
|
+
if (src.startsWith("http") || src.startsWith("//")) {
|
|
48
|
+
toReturn.push(src);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
const fullUrl = new URL(src, url).href;
|
|
52
|
+
toReturn.push(fullUrl);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
return toReturn;
|
|
58
|
+
});
|
|
59
|
+
export default vue_pageSrc;
|
|
60
|
+
//# sourceMappingURL=vue_pageSrc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue_pageSrc.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_pageSrc.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,MAAM,WAAW,GAAG,CAAO,GAAW,EAAE,EAAE;IACtC,IAAI,QAAQ,GAAa,EAAE,CAAC;IAE5B,0CAA0C;IAC1C,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAEzC,0BAA0B;IAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,GAAG,EAAE,CAAC;YACN,iDAAiD;YACjD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACJ,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;gBACvC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5C,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,GAAG,EAAE,CAAC;YACN,0BAA0B;YAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,eAAe,IAAI,CAAC,GAAG,IAAI,SAAS,IAAI,MAAM,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC9E,iDAAiD;gBACjD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACJ,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;oBACvC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAA,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -17,6 +17,10 @@ const vue_reconstructSourceMaps = (url, jsFilesToDownload) => __awaiter(void 0,
|
|
|
17
17
|
return sourceMapUrls;
|
|
18
18
|
}
|
|
19
19
|
const req = yield makeRequest(jsFilesToDownload[0]);
|
|
20
|
+
if (req == null) {
|
|
21
|
+
console.log(chalk.red(`Failed to fetch ${jsFilesToDownload[0]}`));
|
|
22
|
+
return sourceMapUrls;
|
|
23
|
+
}
|
|
20
24
|
const content = yield req.text();
|
|
21
25
|
// check if it has the sourceMappingURL
|
|
22
26
|
if (!(content.includes("sourceMappingURL=") || content.includes("sourceMappingURL ="))) {
|
|
@@ -26,6 +30,10 @@ const vue_reconstructSourceMaps = (url, jsFilesToDownload) => __awaiter(void 0,
|
|
|
26
30
|
// now that one file has this, iterate through all the files, and reconstruct the source maps
|
|
27
31
|
for (const jsFile of jsFilesToDownload) {
|
|
28
32
|
const req = yield makeRequest(jsFile);
|
|
33
|
+
if (req == null) {
|
|
34
|
+
console.log(chalk.red(`Failed to fetch ${jsFile}`));
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
29
37
|
const content = yield req.text();
|
|
30
38
|
// get the sourceMappingURL
|
|
31
39
|
let sourceMappingURL_reg = content.match(/sourceMappingURL=([^"]+)/);
|
|
@@ -1 +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"}
|
|
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,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,aAAa,CAAC;IACzB,CAAC;IACD,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,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC,CAAC;YACpD,SAAS;QACb,CAAC;QACD,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,136 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import chalk from "chalk";
|
|
11
|
+
import cliProgress from "cli-progress";
|
|
12
|
+
import vue_discoverJsFiles from "./vue_discoverJsFiles.js";
|
|
13
|
+
/**
|
|
14
|
+
* Recursively walks newly discovered Vue.js client-side paths.
|
|
15
|
+
*
|
|
16
|
+
* For each path, runs the same discovery pipeline used on the entry URL
|
|
17
|
+
* (via {@link vue_discoverJsFiles}), collects every JS file it finds and
|
|
18
|
+
* queues any new client-side paths surfaced from those files. Paths are
|
|
19
|
+
* tracked in a visited set so each URL is only processed once.
|
|
20
|
+
*
|
|
21
|
+
* Termination conditions:
|
|
22
|
+
* - the pending queue is exhausted, or
|
|
23
|
+
* - {@link STAGNATION_LIMIT} consecutive rounds yield no new JS files.
|
|
24
|
+
*/
|
|
25
|
+
const STAGNATION_LIMIT = 3;
|
|
26
|
+
const vue_recursiveClientSidePathDownload = (clientSidePaths_1, ...args_1) => __awaiter(void 0, [clientSidePaths_1, ...args_1], void 0, function* (clientSidePaths, threads = 1, maxJsSizeMb = 2) {
|
|
27
|
+
const allJsFiles = new Set();
|
|
28
|
+
const visitedPaths = new Set();
|
|
29
|
+
const knownPaths = new Set();
|
|
30
|
+
let pending = [];
|
|
31
|
+
for (const p of clientSidePaths) {
|
|
32
|
+
if (!knownPaths.has(p)) {
|
|
33
|
+
knownPaths.add(p);
|
|
34
|
+
pending.push(p);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
let stagnantRounds = 0;
|
|
38
|
+
let round = 0;
|
|
39
|
+
if (pending.length === 0) {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
const bar = new cliProgress.SingleBar({
|
|
43
|
+
format: chalk.cyan("[i] Recursing client-side paths ") +
|
|
44
|
+
"[{bar}] {percentage}% | {value}/{total} paths | round {round} | {jsFiles} JS files | {stagnant} stagnant",
|
|
45
|
+
barCompleteChar: "█",
|
|
46
|
+
barIncompleteChar: "░",
|
|
47
|
+
hideCursor: true,
|
|
48
|
+
clearOnComplete: false,
|
|
49
|
+
stopOnComplete: false,
|
|
50
|
+
etaBuffer: 50,
|
|
51
|
+
}, cliProgress.Presets.shades_classic);
|
|
52
|
+
bar.start(knownPaths.size, 0, {
|
|
53
|
+
round: 0,
|
|
54
|
+
jsFiles: 0,
|
|
55
|
+
stagnant: `0/${STAGNATION_LIMIT}`,
|
|
56
|
+
});
|
|
57
|
+
const refreshBar = () => {
|
|
58
|
+
bar.setTotal(knownPaths.size);
|
|
59
|
+
bar.update(visitedPaths.size, {
|
|
60
|
+
round,
|
|
61
|
+
jsFiles: allJsFiles.size,
|
|
62
|
+
stagnant: `${stagnantRounds}/${STAGNATION_LIMIT}`,
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
try {
|
|
66
|
+
while (pending.length > 0) {
|
|
67
|
+
const batch = pending.filter((p) => !visitedPaths.has(p));
|
|
68
|
+
pending = [];
|
|
69
|
+
if (batch.length === 0)
|
|
70
|
+
break;
|
|
71
|
+
round++;
|
|
72
|
+
const sizeBeforeRound = allJsFiles.size;
|
|
73
|
+
const errors = [];
|
|
74
|
+
let cursor = 0;
|
|
75
|
+
const workerCount = Math.max(1, Math.min(threads, batch.length));
|
|
76
|
+
const worker = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
+
while (cursor < batch.length) {
|
|
78
|
+
const path = batch[cursor++];
|
|
79
|
+
try {
|
|
80
|
+
const { jsFiles, clientSidePaths: newPaths } = yield vue_discoverJsFiles(path, maxJsSizeMb);
|
|
81
|
+
for (const file of jsFiles) {
|
|
82
|
+
allJsFiles.add(file);
|
|
83
|
+
}
|
|
84
|
+
for (const newPath of newPaths) {
|
|
85
|
+
if (!knownPaths.has(newPath)) {
|
|
86
|
+
knownPaths.add(newPath);
|
|
87
|
+
pending.push(newPath);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
errors.push(`[!] Failed to recurse into ${path}: ${err instanceof Error ? err.message : String(err)}`);
|
|
93
|
+
}
|
|
94
|
+
finally {
|
|
95
|
+
visitedPaths.add(path);
|
|
96
|
+
refreshBar();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
yield Promise.all(Array.from({ length: workerCount }, () => worker()));
|
|
101
|
+
if (errors.length > 0) {
|
|
102
|
+
bar.stop();
|
|
103
|
+
for (const msg of errors) {
|
|
104
|
+
console.log(chalk.red(msg));
|
|
105
|
+
}
|
|
106
|
+
bar.start(knownPaths.size, visitedPaths.size, {
|
|
107
|
+
round,
|
|
108
|
+
jsFiles: allJsFiles.size,
|
|
109
|
+
stagnant: `${stagnantRounds}/${STAGNATION_LIMIT}`,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
const newFilesThisRound = allJsFiles.size - sizeBeforeRound;
|
|
113
|
+
if (newFilesThisRound === 0) {
|
|
114
|
+
stagnantRounds++;
|
|
115
|
+
refreshBar();
|
|
116
|
+
if (stagnantRounds >= STAGNATION_LIMIT) {
|
|
117
|
+
bar.stop();
|
|
118
|
+
console.log(chalk.yellow(`[!] Stopping recursion: ${STAGNATION_LIMIT} consecutive rounds without new JS files`));
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
stagnantRounds = 0;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
finally {
|
|
128
|
+
bar.stop();
|
|
129
|
+
}
|
|
130
|
+
if (allJsFiles.size > 0) {
|
|
131
|
+
console.log(chalk.green(`[✓] Recursive client-side discovery yielded ${allJsFiles.size} JS file(s) across ${visitedPaths.size} path(s)`));
|
|
132
|
+
}
|
|
133
|
+
return [...allJsFiles];
|
|
134
|
+
});
|
|
135
|
+
export default vue_recursiveClientSidePathDownload;
|
|
136
|
+
//# sourceMappingURL=vue_recursiveClientSidePathDownload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue_recursiveClientSidePathDownload.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_recursiveClientSidePathDownload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import chalk from "chalk";
|
|
11
|
+
import makeRequest from "../../utility/makeReq.js";
|
|
12
|
+
import * as cheerio from "cheerio";
|
|
13
|
+
const vue_severalJsFilesHome = (url) => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
+
let jsFilesToReturn = [];
|
|
15
|
+
// get the contents of the homepage
|
|
16
|
+
const homepageReq = yield makeRequest(url);
|
|
17
|
+
if (homepageReq == null) {
|
|
18
|
+
console.log(chalk.red(`Failed to fetch ${url}`));
|
|
19
|
+
return jsFilesToReturn;
|
|
20
|
+
}
|
|
21
|
+
const homepageContent = yield homepageReq.text();
|
|
22
|
+
// parse it with cheerio
|
|
23
|
+
const $ = cheerio.load(homepageContent);
|
|
24
|
+
// find all the script tag urls
|
|
25
|
+
const scriptTags = $("script");
|
|
26
|
+
// iterate through those, and find the ones that aren't CDN URLs, like the relative or absolute paths
|
|
27
|
+
let jsPaths = [];
|
|
28
|
+
for (const tag of scriptTags) {
|
|
29
|
+
const src = $(tag).attr("src");
|
|
30
|
+
if (src && !src.startsWith("http")) {
|
|
31
|
+
jsPaths.push(src);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// if length is 1, return
|
|
35
|
+
if (jsPaths.length === 1) {
|
|
36
|
+
return jsFilesToReturn;
|
|
37
|
+
}
|
|
38
|
+
// 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
|
|
39
|
+
const linkTags = $("link");
|
|
40
|
+
for (const tag of linkTags) {
|
|
41
|
+
const src = $(tag).attr("href");
|
|
42
|
+
if (src && !src.startsWith("http") && src.endsWith(".js")) {
|
|
43
|
+
jsPaths.push(src);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// now that there are files, go through those and get the full path of those
|
|
47
|
+
let fullJsUrls = [];
|
|
48
|
+
for (const path of jsPaths) {
|
|
49
|
+
const fullUrl = new URL(path, url).href;
|
|
50
|
+
fullJsUrls.push(fullUrl);
|
|
51
|
+
}
|
|
52
|
+
// push these to the list of the JS files to return
|
|
53
|
+
jsFilesToReturn.push(...fullJsUrls);
|
|
54
|
+
return jsFilesToReturn;
|
|
55
|
+
});
|
|
56
|
+
export default vue_severalJsFilesHome;
|
|
57
|
+
//# 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":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,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,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,eAAe,CAAC;IAC3B,CAAC;IACD,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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
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
|
+
import t from "@babel/types";
|
|
15
|
+
const traverse = _traverse.default;
|
|
16
|
+
/**
|
|
17
|
+
* Scans fetched JS files for Vite's __vite__mapDeps chunk manifest and returns
|
|
18
|
+
* all the discovered chunk URLs resolved against the JS file they were found in.
|
|
19
|
+
*
|
|
20
|
+
* Vite emits code like:
|
|
21
|
+
* const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./common.X.chunk.js",...])))=>i.map(i=>d[i]);
|
|
22
|
+
* where the array literal holds relative paths to every lazy-loaded chunk.
|
|
23
|
+
* The outer variable names (m, d, f) vary per build; only __vite__mapDeps is stable.
|
|
24
|
+
*/
|
|
25
|
+
const vue_viteMapDeps = (jsFiles_1, ...args_1) => __awaiter(void 0, [jsFiles_1, ...args_1], void 0, function* (jsFiles, maxJsSizeMb = 2) {
|
|
26
|
+
const MAX_JS_SIZE_BYTES = maxJsSizeMb * 1024 * 1024;
|
|
27
|
+
const discovered = new Set();
|
|
28
|
+
const jsUrls = jsFiles.filter((f) => f.endsWith(".js"));
|
|
29
|
+
for (const jsUrl of jsUrls) {
|
|
30
|
+
const req = yield makeRequest(jsUrl);
|
|
31
|
+
if (!req)
|
|
32
|
+
continue;
|
|
33
|
+
const content = yield req.text();
|
|
34
|
+
if (content.length > MAX_JS_SIZE_BYTES)
|
|
35
|
+
continue;
|
|
36
|
+
let ast;
|
|
37
|
+
try {
|
|
38
|
+
ast = parser.parse(content, {
|
|
39
|
+
sourceType: "unambiguous",
|
|
40
|
+
plugins: ["jsx", "typescript"],
|
|
41
|
+
errorRecovery: true,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (_a) {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
traverse(ast, {
|
|
48
|
+
VariableDeclarator(nodePath) {
|
|
49
|
+
if (!t.isIdentifier(nodePath.node.id, { name: "__vite__mapDeps" }))
|
|
50
|
+
return;
|
|
51
|
+
const init = nodePath.node.init;
|
|
52
|
+
if (!init || !t.isArrowFunctionExpression(init))
|
|
53
|
+
return;
|
|
54
|
+
// params: (i, m = __vite__mapDeps, d = (m.f || (m.f = [...])))
|
|
55
|
+
// Find any AssignmentPattern param whose right side is:
|
|
56
|
+
// LogicalExpression(||) where right = AssignmentExpression whose right = ArrayExpression
|
|
57
|
+
for (const param of init.params) {
|
|
58
|
+
if (!t.isAssignmentPattern(param))
|
|
59
|
+
continue;
|
|
60
|
+
const right = param.right;
|
|
61
|
+
if (!t.isLogicalExpression(right) || right.operator !== "||")
|
|
62
|
+
continue;
|
|
63
|
+
const rhsOfOr = right.right;
|
|
64
|
+
if (!t.isAssignmentExpression(rhsOfOr))
|
|
65
|
+
continue;
|
|
66
|
+
if (!t.isArrayExpression(rhsOfOr.right))
|
|
67
|
+
continue;
|
|
68
|
+
const foundInThisFile = [];
|
|
69
|
+
for (const element of rhsOfOr.right.elements) {
|
|
70
|
+
if (!element || !t.isStringLiteral(element))
|
|
71
|
+
continue;
|
|
72
|
+
const val = element.value;
|
|
73
|
+
if (!val.endsWith(".js"))
|
|
74
|
+
continue;
|
|
75
|
+
foundInThisFile.push(new URL(val, jsUrl).href);
|
|
76
|
+
}
|
|
77
|
+
if (foundInThisFile.length > 0) {
|
|
78
|
+
console.log(chalk.green(`[✓] Found ${foundInThisFile.length} chunks from __vite__mapDeps in ${jsUrl}`));
|
|
79
|
+
for (const u of foundInThisFile)
|
|
80
|
+
discovered.add(u);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return [...discovered];
|
|
87
|
+
});
|
|
88
|
+
export default vue_viteMapDeps;
|
|
89
|
+
//# sourceMappingURL=vue_viteMapDeps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue_viteMapDeps.js","sourceRoot":"","sources":["../../../src/lazyLoad/vue/vue_viteMapDeps.ts"],"names":[],"mappings":"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"}
|
package/build/map/index.js
CHANGED
|
@@ -11,6 +11,7 @@ import chalk from "chalk";
|
|
|
11
11
|
import fs from "fs";
|
|
12
12
|
// Next.JS
|
|
13
13
|
import getWebpackConnections from "./next_js/getWebpackConnections.js";
|
|
14
|
+
import getTurbopackConnections from "./next_js/getTurbopackConnections.js";
|
|
14
15
|
import getFetchInstances from "./next_js/getFetchInstances.js";
|
|
15
16
|
import resolveFetch from "./next_js/resolveFetch.js";
|
|
16
17
|
import interactive from "./next_js/interactive.js";
|
|
@@ -20,8 +21,12 @@ import resolveAxios from "./next_js/resolveAxios.js";
|
|
|
20
21
|
import { getOpenapi, getOpenapiOutput, getOpenapiOutputFile } from "../utility/globals.js";
|
|
21
22
|
import { generateOpenapiV3Spec } from "../utility/openapiGenerator.js";
|
|
22
23
|
import getExports from "./next_js/getExports.js";
|
|
24
|
+
// Vue.JS
|
|
25
|
+
import getViteConnections from "./vue_js/getViteConnections.js";
|
|
26
|
+
import vueInteractive from "./vue_js/interactive.js";
|
|
23
27
|
const availableTech = {
|
|
24
28
|
next: "Next.JS",
|
|
29
|
+
vue: "Vue.JS",
|
|
25
30
|
};
|
|
26
31
|
const availableFormats = {
|
|
27
32
|
json: "JSON",
|
|
@@ -79,6 +84,8 @@ const map = (directory, output, formats, tech, list, interactive_mode) => __awai
|
|
|
79
84
|
if (!allOutputFilesAvailable) {
|
|
80
85
|
// skip regeneration if output file already exists
|
|
81
86
|
chunks = yield getWebpackConnections(directory, output, formats);
|
|
87
|
+
// also collect Turbopack chunks (Next.JS apps may be built with either bundler)
|
|
88
|
+
chunks = yield getTurbopackConnections(directory, output, formats, chunks);
|
|
82
89
|
// get the exports
|
|
83
90
|
chunks = yield getExports(chunks);
|
|
84
91
|
// now, iterate through them, and check fetch instances
|
|
@@ -108,6 +115,18 @@ const map = (directory, output, formats, tech, list, interactive_mode) => __awai
|
|
|
108
115
|
console.log(chalk.green(`[✓] Generated OpenAPI spec at ${getOpenapiOutputFile()}`));
|
|
109
116
|
}
|
|
110
117
|
}
|
|
118
|
+
else if (tech === "vue") {
|
|
119
|
+
let chunks;
|
|
120
|
+
if (!existsSync(`${output}.json`)) {
|
|
121
|
+
chunks = yield getViteConnections(directory, output, formats);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
chunks = JSON.parse(readFileSync(`${output}.json`, { encoding: "utf8" }));
|
|
125
|
+
}
|
|
126
|
+
if (interactive_mode) {
|
|
127
|
+
yield vueInteractive(chunks, `${output}.json`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
111
130
|
});
|
|
112
131
|
export default map;
|
|
113
132
|
//# sourceMappingURL=index.js.map
|
package/build/map/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/map/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,UAAU;AACV,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAE9C,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,MAAM,aAAa,GAAG;IAClB,IAAI,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/map/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,7 +78,9 @@ const getExports = (chunks) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
78
78
|
node.arguments[1].type === "ObjectExpression") {
|
|
79
79
|
// get the names of the properties
|
|
80
80
|
node.arguments[1].properties.forEach((property) => {
|
|
81
|
-
|
|
81
|
+
if (property.type !== "SpreadElement" && property.key.type === "Identifier") {
|
|
82
|
+
chunkExports.push(property.key.name);
|
|
83
|
+
}
|
|
82
84
|
});
|
|
83
85
|
}
|
|
84
86
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExports.js","sourceRoot":"","sources":["../../../src/map/next_js/getExports.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,MAAM,MAAM,eAAe,CAAC;AACnC,OAAO,SAAS,MAAM,iBAAiB,CAAC;AAExC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;AAEnC;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAO,MAAc,EAAmB,EAAE;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE/C,IAAI,SAAS,GAAG,MAAM,CAAC;IAEvB,6BAA6B;IAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,qBAAqB;QACrB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAE7B,oBAAoB;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;YAChC,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;YAC9B,aAAa,EAAE,IAAI;SACtB,CAAC,CAAC;QAEH,6BAA6B;QAC7B,IAAI,cAAsB,CAAC;QAC3B,IAAI,aAAqB,CAAC;QAE1B,wDAAwD;QACxD,QAAQ,CAAC,GAAG,EAAE;YACV,KAAK,CAAC,IAAI;gBACN,IAAI,QAAQ,GAAyD,IAAI,CAAC;gBAC1E,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;oBAC/B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBACzB,CAAC;qBAAM,IAAI,IAAI,CAAC,sBAAsB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;oBAC7F,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/B,CAAC;gBAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACvC,IAAI,WAAW,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACpC,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC;oBACtC,CAAC;gBACL,CAAC;gBAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACnC,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC;oBACpC,CAAC;gBACL,CAAC;gBAED,IAAI,cAAc,IAAI,aAAa,EAAE,CAAC;oBAClC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,SAAS;QACb,CAAC;QAED,IAAI,YAAY,GAAa,EAAE,CAAC;QAEhC,oDAAoD;QACpD,kEAAkE;QAClE,uDAAuD;QACvD,QAAQ,CAAC,GAAG,EAAE;YACV,cAAc,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;gBACtB,IACI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;oBACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;oBACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa;oBACzC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC;oBAC1B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY;oBACvC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc;oBACzC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,EAC/C,CAAC;oBACC,kCAAkC;oBAClC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;wBAC9C,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"getExports.js","sourceRoot":"","sources":["../../../src/map/next_js/getExports.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,MAAM,MAAM,eAAe,CAAC;AACnC,OAAO,SAAS,MAAM,iBAAiB,CAAC;AAExC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;AAEnC;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAO,MAAc,EAAmB,EAAE;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE/C,IAAI,SAAS,GAAG,MAAM,CAAC;IAEvB,6BAA6B;IAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,qBAAqB;QACrB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAE7B,oBAAoB;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;YAChC,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;YAC9B,aAAa,EAAE,IAAI;SACtB,CAAC,CAAC;QAEH,6BAA6B;QAC7B,IAAI,cAAsB,CAAC;QAC3B,IAAI,aAAqB,CAAC;QAE1B,wDAAwD;QACxD,QAAQ,CAAC,GAAG,EAAE;YACV,KAAK,CAAC,IAAI;gBACN,IAAI,QAAQ,GAAyD,IAAI,CAAC;gBAC1E,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;oBAC/B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBACzB,CAAC;qBAAM,IAAI,IAAI,CAAC,sBAAsB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;oBAC7F,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/B,CAAC;gBAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACvC,IAAI,WAAW,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACpC,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC;oBACtC,CAAC;gBACL,CAAC;gBAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACnC,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC;oBACpC,CAAC;gBACL,CAAC;gBAED,IAAI,cAAc,IAAI,aAAa,EAAE,CAAC;oBAClC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,SAAS;QACb,CAAC;QAED,IAAI,YAAY,GAAa,EAAE,CAAC;QAEhC,oDAAoD;QACpD,kEAAkE;QAClE,uDAAuD;QACvD,QAAQ,CAAC,GAAG,EAAE;YACV,cAAc,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;gBACtB,IACI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;oBACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;oBACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa;oBACzC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC;oBAC1B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY;oBACvC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc;oBACzC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,EAC/C,CAAC;oBACC,kCAAkC;oBAClC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;wBAC9C,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BAC1E,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACzC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,sDAAsD;QACtD,oDAAoD;QAEpD,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,YAAY,CAAC;IAC/C,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAA,CAAC;AAEF,eAAe,UAAU,CAAC"}
|