@js-recon/js-recon 1.4.1-beta.2 → 1.4.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.
Files changed (60) hide show
  1. package/.claude-sync/hooks/post-merge +4 -0
  2. package/.claude-sync/merge-agentic.sh +77 -0
  3. package/.github/workflows/promote-js-recon.yml +25 -2
  4. package/CHANGELOG.md +10 -0
  5. package/build/globalConfig.js +1 -1
  6. package/build/globalConfig.js.map +1 -1
  7. package/build/lazyLoad/angular/angular_getFromMainJs.js +11 -29
  8. package/build/lazyLoad/angular/angular_getFromMainJs.js.map +1 -1
  9. package/build/lazyLoad/angular/angular_recursiveChunkImports.js +104 -0
  10. package/build/lazyLoad/angular/angular_recursiveChunkImports.js.map +1 -0
  11. package/build/lazyLoad/index.js +15 -9
  12. package/build/lazyLoad/index.js.map +1 -1
  13. package/build/lazyLoad/methodFilter.js +1 -1
  14. package/build/lazyLoad/methodFilter.js.map +1 -1
  15. package/build/lazyLoad/next_js/NextJsCrawler.js +5 -5
  16. package/build/lazyLoad/next_js/NextJsCrawler.js.map +1 -1
  17. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js +9 -8
  18. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js.map +1 -1
  19. package/build/lazyLoad/next_js/next_bruteForceJsFiles.js +4 -3
  20. package/build/lazyLoad/next_js/next_bruteForceJsFiles.js.map +1 -1
  21. package/build/lazyLoad/next_js/next_parseLayoutJs.js +31 -31
  22. package/build/lazyLoad/next_js/next_parseLayoutJs.js.map +1 -1
  23. package/build/lazyLoad/next_js/next_promiseResolve.js +4 -3
  24. package/build/lazyLoad/next_js/next_promiseResolve.js.map +1 -1
  25. package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js +7 -8
  26. package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js.map +1 -1
  27. package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js +6 -7
  28. package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js.map +1 -1
  29. package/build/lazyLoad/react/react_followImports.js +9 -8
  30. package/build/lazyLoad/react/react_followImports.js.map +1 -1
  31. package/build/lazyLoad/react/react_sourcemapUrls.js +5 -11
  32. package/build/lazyLoad/react/react_sourcemapUrls.js.map +1 -1
  33. package/build/lazyLoad/react/react_webpackChunkPaths.js +7 -6
  34. package/build/lazyLoad/react/react_webpackChunkPaths.js.map +1 -1
  35. package/build/lazyLoad/svelte/svelte_discoverPagesFromJs.js +13 -12
  36. package/build/lazyLoad/svelte/svelte_discoverPagesFromJs.js.map +1 -1
  37. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js +6 -7
  38. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js.map +1 -1
  39. package/build/lazyLoad/vue/vue_discoverJsFiles.js +6 -6
  40. package/build/lazyLoad/vue/vue_discoverJsFiles.js.map +1 -1
  41. package/build/lazyLoad/vue/vue_getClientSidePaths.js +8 -7
  42. package/build/lazyLoad/vue/vue_getClientSidePaths.js.map +1 -1
  43. package/build/lazyLoad/vue/vue_jsImports.js +16 -16
  44. package/build/lazyLoad/vue/vue_jsImports.js.map +1 -1
  45. package/build/lazyLoad/vue/vue_reconstructSourceMaps.js +5 -4
  46. package/build/lazyLoad/vue/vue_reconstructSourceMaps.js.map +1 -1
  47. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js +8 -1
  48. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js.map +1 -1
  49. package/build/lazyLoad/vue/vue_stringJsFiles.js +15 -8
  50. package/build/lazyLoad/vue/vue_stringJsFiles.js.map +1 -1
  51. package/build/lazyLoad/vue/vue_viteMapDeps.js +6 -5
  52. package/build/lazyLoad/vue/vue_viteMapDeps.js.map +1 -1
  53. package/build/refactor/index.js +23 -28
  54. package/build/refactor/index.js.map +1 -1
  55. package/build/run/index.js +20 -2
  56. package/build/run/index.js.map +1 -1
  57. package/build/utility/concurrency.js +35 -0
  58. package/build/utility/concurrency.js.map +1 -0
  59. package/package.json +6 -3
  60. package/patches/puppeteer-extra-plugin-user-data-dir+2.4.1.patch +31 -0
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env bash
2
+ # git post-merge hook: merges the corresponding js-recon-agentic-files branch
3
+ # whenever a merge/pull brings another branch's history in here.
4
+ exec "$(git rev-parse --show-toplevel)/.claude-sync/merge-agentic.sh" "$@"
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/env bash
2
+ # Mirrors a js-recon branch merge/pull onto the corresponding branches in the
3
+ # sibling js-recon-agentic-files repo, since CLAUDE.md files are gitignored
4
+ # symlinks here and never participate in this repo's own merges.
5
+ set -euo pipefail
6
+
7
+ JS_RECON_ROOT="$(git rev-parse --show-toplevel)"
8
+ AGENTIC_REPO_PATH="${JSR_AGENTIC_FILES_PATH:-$JS_RECON_ROOT/../js-recon-agentic-files}"
9
+
10
+ TARGET_BRANCH="$(git -C "$JS_RECON_ROOT" symbolic-ref --short HEAD 2>/dev/null || echo "")"
11
+
12
+ if [ -z "$TARGET_BRANCH" ]; then
13
+ echo "[claude-sync] detached HEAD, skipping agentic-files merge"
14
+ exit 0
15
+ fi
16
+
17
+ if [ ! -d "$AGENTIC_REPO_PATH/.git" ]; then
18
+ echo "[claude-sync] agentic-files repo not found at $AGENTIC_REPO_PATH — see js-recon-agentic-files/README.md for setup"
19
+ exit 0
20
+ fi
21
+
22
+ # git gives post-merge no argument naming the branch that was merged in, and
23
+ # this fires for both fast-forward and real merges (plus `git pull`). The
24
+ # reflog message git writes for the merge is the one place that reliably
25
+ # names the source branch in both cases:
26
+ # "merge <branch>: Fast-forward"
27
+ # "merge <branch>: Merge made by the 'ort' strategy."
28
+ # "pull <remote> <branch>: Fast-forward" (or similar, from `git pull`)
29
+ REFLOG_MSG="$(git -C "$JS_RECON_ROOT" reflog -1 --format=%gs HEAD 2>/dev/null || echo "")"
30
+
31
+ SOURCE_BRANCH=""
32
+ if [[ "$REFLOG_MSG" =~ ^merge\ ([^:]+): ]]; then
33
+ SOURCE_BRANCH="${BASH_REMATCH[1]}"
34
+ elif [[ "$REFLOG_MSG" =~ ^pull\ [^\ ]+\ ([^:]+): ]]; then
35
+ SOURCE_BRANCH="${BASH_REMATCH[1]}"
36
+ fi
37
+
38
+ # Strip a remote prefix (e.g. "origin/dev" -> "dev") to match agentic-files'
39
+ # bare branch naming.
40
+ SOURCE_BRANCH="${SOURCE_BRANCH#origin/}"
41
+
42
+ if [ -z "$SOURCE_BRANCH" ]; then
43
+ echo "[claude-sync] could not determine merged-in branch from reflog ('$REFLOG_MSG') — skipping agentic-files merge"
44
+ exit 0
45
+ fi
46
+
47
+ if [ "$SOURCE_BRANCH" = "$TARGET_BRANCH" ]; then
48
+ exit 0
49
+ fi
50
+
51
+ (
52
+ cd "$AGENTIC_REPO_PATH"
53
+ git fetch origin --quiet
54
+
55
+ if git show-ref --verify --quiet "refs/remotes/origin/$TARGET_BRANCH"; then
56
+ git checkout -B "$TARGET_BRANCH" "origin/$TARGET_BRANCH" --quiet
57
+ else
58
+ echo "[claude-sync] WARNING: no 'origin/$TARGET_BRANCH' branch in agentic-files repo — skipping merge"
59
+ exit 0
60
+ fi
61
+
62
+ if ! git show-ref --verify --quiet "refs/remotes/origin/$SOURCE_BRANCH"; then
63
+ echo "[claude-sync] WARNING: no 'origin/$SOURCE_BRANCH' branch in agentic-files repo — nothing to merge"
64
+ exit 0
65
+ fi
66
+
67
+ if git merge --no-edit "origin/$SOURCE_BRANCH" --quiet; then
68
+ git push --quiet origin "$TARGET_BRANCH"
69
+ echo "[claude-sync] merged agentic-files '$SOURCE_BRANCH' into '$TARGET_BRANCH' and pushed"
70
+ else
71
+ git merge --abort
72
+ echo "[claude-sync] WARNING: merging agentic-files '$SOURCE_BRANCH' into '$TARGET_BRANCH' conflicted — aborted automatically."
73
+ echo "[claude-sync] resolve manually: cd $AGENTIC_REPO_PATH && git checkout $TARGET_BRANCH && git merge origin/$SOURCE_BRANCH"
74
+ fi
75
+ )
76
+
77
+ "$JS_RECON_ROOT/.claude-sync/sync.sh"
@@ -65,8 +65,14 @@ jobs:
65
65
  git config user.name "github-actions[bot]"
66
66
  git config user.email "github-actions[bot]@users.noreply.github.com"
67
67
  git add "${FORMULA}"
68
- git commit -m "chore: update ${FORMULA} to ${VERSION}"
69
- git push
68
+ # Idempotent: re-promoting an already-promoted version leaves the formula
69
+ # unchanged, so skip the commit/push instead of failing on "nothing to commit".
70
+ if git diff --cached --quiet; then
71
+ echo "${FORMULA} already at ${VERSION}; nothing to commit."
72
+ else
73
+ git commit -m "chore: update ${FORMULA} to ${VERSION}"
74
+ git push
75
+ fi
70
76
  env:
71
77
  VERSION: ${{ inputs.version }}
72
78
  FORMULA: ${{ steps.formula.outputs.formula }}
@@ -390,6 +396,23 @@ jobs:
390
396
  sleep 2
391
397
  done
392
398
 
399
+ - name: Ensure a Chrome is available for Puppeteer
400
+ run: |
401
+ # The Homebrew keg ships js-recon but not a Chromium — Puppeteer needs a
402
+ # browser to run lazyload. Prefer the runner's pre-installed Google Chrome
403
+ # (present on GitHub macOS images); fall back to a Chrome-for-Testing build.
404
+ CHROME="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
405
+ if [[ ! -x "$CHROME" ]]; then
406
+ echo "Pre-installed Chrome not found; downloading a Chrome-for-Testing build..."
407
+ CHROME="$(npx --yes @puppeteer/browsers install chrome@stable --format "{{path}}")"
408
+ fi
409
+ if [[ ! -x "$CHROME" ]]; then
410
+ echo "Resolved Chrome path is not executable: $CHROME"
411
+ exit 1
412
+ fi
413
+ echo "Using Chrome at: $CHROME"
414
+ echo "PUPPETEER_EXECUTABLE_PATH=$CHROME" >> "$GITHUB_ENV"
415
+
393
416
  - name: Run installed js-recon against the lab app
394
417
  run: |
395
418
  echo "http://localhost:3001" > /tmp/brew-smoke-urls.txt
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Change Log
2
2
 
3
+ ## 1.4.1 - 2026-07-27
4
+
5
+ ### Fixed
6
+
7
+ - `-t/--threads` was ignored by most of the per-file discovery loops in `lazyLoad` (sourcemap URL discovery, import-following, webpack chunk-path brute forcing, string-reference scanning, layout.js parsing, and several Next.js/Vue/Svelte helpers), which fetched one file at a time regardless of the configured thread count. These loops now use a shared bounded-concurrency helper (`utility/concurrency.ts`) and respect `-t`. (`lazyload`, `run`)
8
+ - Angular: the `lazyload` crawler only followed the import graph one hop deep from `main.js`, so chunk-to-chunk imports (a downloaded chunk importing further chunks, and so on) were never resolved and those files never reached `map`/`analyze`. A new recursive chunk-import follower (`angular_recursiveChunkImports`) re-scans each newly-discovered chunk for further dynamic and static imports until no new chunks are found. (`lazyload`)
9
+ - Resolved npm-audit advisories: a path-traversal advisory in `postcss`, and a DoS advisory in `brace-expansion` (pulled in transitively via `puppeteer-extra-plugin-stealth`'s `rimraf`/`glob`/`minimatch` chain) by overriding `rimraf` to `^6.0.1`. (`deps`)
10
+ - The `rimraf` override above broke `puppeteer-extra-plugin-user-data-dir` (a transitive dependency of `puppeteer-extra-plugin-stealth`), which still calls the old `rimraf(path, opts, callback)` API; `rimraf@6` no longer exports a default callable function, causing `TypeError: rimraf is not a function` whenever a Puppeteer session disconnected during `run`. Patched via `patch-package` to use `fs.rm` instead of `rimraf` in that plugin. (`run`, `deps`)
11
+ - `run` (batch mode, `-u <file>`): the per-URL loop had no `catch` around `processUrl()`, so an unhandled exception for one target propagated into the outer `finally`'s unconditional `process.exit(process.exitCode ?? 0)` — terminating the process with a false "success" exit code before Node's default uncaught-exception reporting could print anything, and silently abandoning every subsequent target in the batch. Each target's `processUrl()` call is now wrapped in its own `try/catch`: a failure is logged, `process.exitCode` is set to `1`, and the loop continues to the next URL. (`run`)
12
+
3
13
  ## 1.4.1-beta.2 - 2026-07-22
4
14
 
5
15
  ### Added
@@ -1,6 +1,6 @@
1
1
  const githubURL = "https://github.com/js-recon/js-recon";
2
2
  const modulesDocs = "https://js-recon.io/docs/category/modules";
3
- const version = "1.4.1-beta.2";
3
+ const version = "1.4.1";
4
4
  const toolDesc = "JavaScript Enumeration and SAST";
5
5
  const axiosNonHttpMethods = ["isAxiosError"]; // methods available in axios, which are not for making HTTP requests
6
6
  let CONFIG = {
@@ -1 +1 @@
1
- {"version":3,"file":"globalConfig.js","sourceRoot":"","sources":["../src/globalConfig.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,sCAAsC,CAAC;AACzD,MAAM,WAAW,GAAG,2CAA2C,CAAC;AAChE,MAAM,OAAO,GAAG,cAAc,CAAC;AAC/B,MAAM,QAAQ,GAAG,iCAAiC,CAAC;AACnD,MAAM,mBAAmB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,qEAAqE;AAEnH,IAAI,MAAM,GAAG;IACT,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,WAAW;IACxB,eAAe,EAAE,qFAAqF,SAAS,kCAAkC;IACjJ,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,QAAQ;IAClB,mBAAmB,EAAE,mBAAmB;IACxC,QAAQ,EAAE,GAAG,SAAS,oBAAoB;CAC7C,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"globalConfig.js","sourceRoot":"","sources":["../src/globalConfig.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,sCAAsC,CAAC;AACzD,MAAM,WAAW,GAAG,2CAA2C,CAAC;AAChE,MAAM,OAAO,GAAG,OAAO,CAAC;AACxB,MAAM,QAAQ,GAAG,iCAAiC,CAAC;AACnD,MAAM,mBAAmB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,qEAAqE;AAEnH,IAAI,MAAM,GAAG;IACT,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,WAAW;IACxB,eAAe,EAAE,qFAAqF,SAAS,kCAAkC;IACjJ,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,QAAQ;IAClB,mBAAmB,EAAE,mBAAmB;IACxC,QAAQ,EAAE,GAAG,SAAS,oBAAoB;CAC7C,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -7,13 +7,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- var _a;
11
10
  import makeRequest from "../../utility/makeReq.js";
12
- import _traverse from "@babel/traverse";
13
- import * as parser from "@babel/parser";
14
11
  import chalk from "chalk";
15
12
  import resolvePath from "../../utility/resolvePath.js";
16
- const traverse = ((_a = _traverse.default) !== null && _a !== void 0 ? _a : _traverse);
13
+ import { extractImportPaths } from "./angular_recursiveChunkImports.js";
17
14
  /**
18
15
  * Parses the main.js file of an Angular application to extract lazy-loaded module paths.
19
16
  * It traverses the AST to find dynamic import() expressions and extracts the chunk paths.
@@ -23,34 +20,19 @@ const traverse = ((_a = _traverse.default) !== null && _a !== void 0 ? _a : _tra
23
20
  */
24
21
  const angular_getFromMainJs = (mainJsUrl) => __awaiter(void 0, void 0, void 0, function* () {
25
22
  console.log(chalk.cyan("[i] Analyzing main.js from", mainJsUrl));
26
- let foundUrls = [];
27
23
  const mainJsRes = yield makeRequest(mainJsUrl, {});
28
24
  const mainJsBody = yield mainJsRes.text();
29
- // Parse the main.js file content into an AST
30
- const ast = parser.parse(mainJsBody, {
31
- sourceType: "unambiguous",
32
- plugins: ["jsx", "typescript"],
33
- errorRecovery: true,
34
- });
35
- let importDeclarationPaths = [];
36
- // Traverse the AST to find dynamic import expressions
37
- traverse(ast, {
38
- CallExpression(path) {
39
- // Check if the callee is an import()
40
- if (path.node.callee.type === "Import") {
41
- const importArg = path.node.arguments[0];
42
- // Ensure the first argument is a string literal and extract its value
43
- if (importArg && importArg.type === "StringLiteral") {
44
- importDeclarationPaths.push(importArg.value);
45
- }
46
- }
47
- },
48
- });
49
- // now, resolve the paths
50
- for (const importDeclarationPath of importDeclarationPaths) {
51
- foundUrls.push(resolvePath(mainJsUrl, importDeclarationPath));
25
+ const importPaths = extractImportPaths(mainJsBody);
26
+ const resolvedPaths = [];
27
+ for (const importPath of importPaths) {
28
+ try {
29
+ resolvedPaths.push(resolvePath(mainJsUrl, importPath));
30
+ }
31
+ catch (_a) {
32
+ continue;
33
+ }
52
34
  }
53
- return foundUrls;
35
+ return resolvedPaths;
54
36
  });
55
37
  export default angular_getFromMainJs;
56
38
  //# sourceMappingURL=angular_getFromMainJs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"angular_getFromMainJs.js","sourceRoot":"","sources":["../../../src/lazyLoad/angular/angular_getFromMainJs.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,WAAW,MAAM,8BAA8B,CAAC;AAEvD,MAAM,QAAQ,GAAG,CAAC,MAAA,SAAS,CAAC,OAAO,mCAAI,SAAS,CAA6B,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,CAAO,SAAiB,EAAqB,EAAE;IACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC,CAAC;IAEjE,IAAI,SAAS,GAAa,EAAE,CAAC;IAE7B,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IAE1C,6CAA6C;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE;QACjC,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;QAC9B,aAAa,EAAE,IAAI;KACtB,CAAC,CAAC;IAEH,IAAI,sBAAsB,GAAa,EAAE,CAAC;IAE1C,sDAAsD;IACtD,QAAQ,CAAC,GAAG,EAAE;QACV,cAAc,CAAC,IAAI;YACf,qCAAqC;YACrC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACzC,sEAAsE;gBACtE,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBAClD,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjD,CAAC;YACL,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;IAEH,yBAAyB;IACzB,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;QACzD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAA,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"angular_getFromMainJs.js","sourceRoot":"","sources":["../../../src/lazyLoad/angular/angular_getFromMainJs.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,CAAO,SAAiB,EAAqB,EAAE;IACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC,CAAC;IAEjE,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IAE1C,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEnD,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,WAAM,CAAC;YACL,SAAS;QACb,CAAC;IACL,CAAC;IACD,OAAO,aAAa,CAAC;AACzB,CAAC,CAAA,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,104 @@
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
+ var _a;
11
+ import makeRequest from "../../utility/makeReq.js";
12
+ import _traverse from "@babel/traverse";
13
+ import * as parser from "@babel/parser";
14
+ import chalk from "chalk";
15
+ import resolvePath from "../../utility/resolvePath.js";
16
+ import { runWithConcurrency } from "../../utility/concurrency.js";
17
+ const traverse = ((_a = _traverse.default) !== null && _a !== void 0 ? _a : _traverse);
18
+ /**
19
+ * Parses JS source and extracts every chunk import path it references, both
20
+ * dynamic (`import("./chunk-HASH.js")`) and static (`import { a as X } from "./chunk-HASH.js"`).
21
+ * Angular's router table uses the former; chunk-to-chunk references commonly use the latter.
22
+ *
23
+ * @param code The JS source to parse.
24
+ * @returns Raw (unresolved) import path strings found in the source.
25
+ */
26
+ export const extractImportPaths = (code) => {
27
+ let ast;
28
+ try {
29
+ ast = parser.parse(code, {
30
+ sourceType: "unambiguous",
31
+ plugins: ["jsx", "typescript"],
32
+ errorRecovery: true,
33
+ });
34
+ }
35
+ catch (_a) {
36
+ return [];
37
+ }
38
+ const importPaths = [];
39
+ traverse(ast, {
40
+ CallExpression(path) {
41
+ if (path.node.callee.type === "Import") {
42
+ const importArg = path.node.arguments[0];
43
+ if (importArg && importArg.type === "StringLiteral") {
44
+ importPaths.push(importArg.value);
45
+ }
46
+ }
47
+ },
48
+ ImportDeclaration(path) {
49
+ importPaths.push(path.node.source.value);
50
+ },
51
+ });
52
+ return importPaths;
53
+ };
54
+ /**
55
+ * Given a set of already-discovered Angular chunk URLs, recursively follows their
56
+ * import graph (both dynamic `import()` and static `import ... from`) until no new
57
+ * chunks are discovered, guarding against cycles/duplicates via a visited set.
58
+ *
59
+ * @param seedUrls Chunk URLs already discovered (e.g. from angular_getFromMainJs).
60
+ * @param threads Concurrency for each round of fetches.
61
+ * @returns The full set of transitively-discovered chunk URLs (seed URLs excluded).
62
+ */
63
+ const angular_recursiveChunkImports = (seedUrls_1, ...args_1) => __awaiter(void 0, [seedUrls_1, ...args_1], void 0, function* (seedUrls, threads = 1) {
64
+ const visited = new Set(seedUrls);
65
+ const discovered = new Set();
66
+ let toCrawl = [...seedUrls];
67
+ while (toCrawl.length > 0) {
68
+ const roundDiscovered = new Set();
69
+ yield runWithConcurrency(toCrawl, threads, (url) => __awaiter(void 0, void 0, void 0, function* () {
70
+ let res;
71
+ try {
72
+ res = yield makeRequest(url, {});
73
+ }
74
+ catch (_a) {
75
+ console.error(chalk.red(`[!] Failed to fetch chunk for import resolution: ${url}`));
76
+ return;
77
+ }
78
+ if (!res)
79
+ return;
80
+ const body = yield res.text();
81
+ const importPaths = extractImportPaths(body);
82
+ for (const importPath of importPaths) {
83
+ let resolvedUrl;
84
+ try {
85
+ resolvedUrl = resolvePath(url, importPath);
86
+ }
87
+ catch (_b) {
88
+ continue;
89
+ }
90
+ if (!visited.has(resolvedUrl)) {
91
+ roundDiscovered.add(resolvedUrl);
92
+ }
93
+ }
94
+ }));
95
+ toCrawl = [...roundDiscovered];
96
+ for (const url of toCrawl) {
97
+ visited.add(url);
98
+ discovered.add(url);
99
+ }
100
+ }
101
+ return [...discovered];
102
+ });
103
+ export default angular_recursiveChunkImports;
104
+ //# sourceMappingURL=angular_recursiveChunkImports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular_recursiveChunkImports.js","sourceRoot":"","sources":["../../../src/lazyLoad/angular/angular_recursiveChunkImports.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ import svelte_getVersionJson from "./svelte/svelte_getVersionJson.js";
32
32
  // Angular
33
33
  import angular_getFromPageSource from "./angular/angular_getFromPageSource.js";
34
34
  import angular_getFromMainJs from "./angular/angular_getFromMainJs.js";
35
+ import angular_recursiveChunkImports from "./angular/angular_recursiveChunkImports.js";
35
36
  // Vue
36
37
  import vue_discoverJsFiles from "./vue/vue_discoverJsFiles.js";
37
38
  import vue_recursiveClientSidePathDownload from "./vue/vue_recursiveClientSidePathDownload.js";
@@ -156,7 +157,7 @@ const lazyLoad = (url_1, output_1, strictScope_1, inputScope_1, threads_1, subse
156
157
  const queue = activeQueue;
157
158
  const onFilesDiscovered = (files) => queue.push(files);
158
159
  // run the full discovery pipeline against the entry URL
159
- const { clientSidePaths } = yield vue_discoverJsFiles(url, maxJsSizeMb, onFilesDiscovered, includeMethods, excludeMethods);
160
+ const { clientSidePaths } = yield vue_discoverJsFiles(url, maxJsSizeMb, onFilesDiscovered, includeMethods, excludeMethods, threads);
160
161
  // recurse the same pipeline through every client-side path we found
161
162
  yield vue_recursiveClientSidePathDownload(clientSidePaths, threads, maxJsSizeMb, onFilesDiscovered, includeMethods, excludeMethods);
162
163
  yield queue.drain();
@@ -175,7 +176,7 @@ const lazyLoad = (url_1, output_1, strictScope_1, inputScope_1, threads_1, subse
175
176
  : [];
176
177
  queue.push(jsFilesFromPageSource);
177
178
  const jsFilesFromStringAnalysis = shouldRunMethod("nuxt_stringAnalysisJSFiles", includeMethods, excludeMethods)
178
- ? yield nuxt_stringAnalysisJSFiles(url)
179
+ ? yield nuxt_stringAnalysisJSFiles(url, threads)
179
180
  : [];
180
181
  queue.push(jsFilesFromStringAnalysis);
181
182
  const firstBatch = [...new Set([...jsFilesFromPageSource, ...jsFilesFromStringAnalysis])];
@@ -228,7 +229,7 @@ const lazyLoad = (url_1, output_1, strictScope_1, inputScope_1, threads_1, subse
228
229
  let jsFilesFromStringAnalysis = [];
229
230
  let mapFilesFromStringAnalysis = [];
230
231
  if (shouldRunMethod("svelte_stringAnalysisJSFiles", includeMethods, excludeMethods)) {
231
- const result = yield svelte_stringAnalysisJSFiles(url);
232
+ const result = yield svelte_stringAnalysisJSFiles(url, threads);
232
233
  jsFilesFromStringAnalysis = result.jsFiles;
233
234
  mapFilesFromStringAnalysis = result.mapFiles;
234
235
  queue.push(jsFilesFromStringAnalysis);
@@ -240,7 +241,7 @@ const lazyLoad = (url_1, output_1, strictScope_1, inputScope_1, threads_1, subse
240
241
  const visited = new Set();
241
242
  let toFollow = [...new Set([...jsFilesFromPageSource, ...jsFilesFromStringAnalysis])];
242
243
  while (toFollow.length > 0) {
243
- const newFiles = yield react_followImports(toFollow, maxJsSizeMb, url, visited);
244
+ const newFiles = yield react_followImports(toFollow, maxJsSizeMb, url, visited, threads);
244
245
  if (newFiles.length === 0)
245
246
  break;
246
247
  console.log(chalk.green(`[✓] Discovered ${newFiles.length} more JS file(s) via imports`));
@@ -258,7 +259,7 @@ const lazyLoad = (url_1, output_1, strictScope_1, inputScope_1, threads_1, subse
258
259
  // page to discover the Astro island component-url values for those routes.
259
260
  // Iterates until no new paths or JS files are discovered.
260
261
  const jsFilesFromPathScan = shouldRunMethod("svelte_discoverPagesFromJs", includeMethods, excludeMethods)
261
- ? yield svelte_discoverPagesFromJs(url)
262
+ ? yield svelte_discoverPagesFromJs(url, threads)
262
263
  : [];
263
264
  if (jsFilesFromPathScan.length > 0) {
264
265
  queue.push(jsFilesFromPathScan);
@@ -266,7 +267,7 @@ const lazyLoad = (url_1, output_1, strictScope_1, inputScope_1, threads_1, subse
266
267
  // run string analysis once more to catch JS files discovered during page crawl
267
268
  if ((jsFilesFromPageCrawl.length > 0 || jsFilesFromPathScan.length > 0) &&
268
269
  shouldRunMethod("svelte_stringAnalysisJSFiles", includeMethods, excludeMethods)) {
269
- const { jsFiles: jsFilesFromStringAnalysis2, mapFiles: mapFilesFromStringAnalysis2 } = yield svelte_stringAnalysisJSFiles(url);
270
+ const { jsFiles: jsFilesFromStringAnalysis2, mapFiles: mapFilesFromStringAnalysis2 } = yield svelte_stringAnalysisJSFiles(url, threads);
270
271
  queue.push(jsFilesFromStringAnalysis2);
271
272
  if (mapFilesFromStringAnalysis2.length > 0) {
272
273
  queue.push(mapFilesFromStringAnalysis2);
@@ -298,6 +299,11 @@ const lazyLoad = (url_1, output_1, strictScope_1, inputScope_1, threads_1, subse
298
299
  if (mainJsUrl) {
299
300
  const jsFilesFromMainJs = yield angular_getFromMainJs(mainJsUrl);
300
301
  queue.push(jsFilesFromMainJs);
302
+ // recursively follow chunk-to-chunk imports beyond the first hop
303
+ if (shouldRunMethod("angular_recursiveChunkImports", includeMethods, excludeMethods)) {
304
+ const transitiveChunks = yield angular_recursiveChunkImports(jsFilesFromMainJs, threads);
305
+ queue.push(transitiveChunks);
306
+ }
301
307
  }
302
308
  }
303
309
  yield queue.drain();
@@ -315,7 +321,7 @@ const lazyLoad = (url_1, output_1, strictScope_1, inputScope_1, threads_1, subse
315
321
  queue.push(jsFilesFromPageSource);
316
322
  // webpack-style chunk path builders (CRA / custom webpack configs)
317
323
  const webpackChunkPaths = shouldRunMethod("react_webpackChunkPaths", includeMethods, excludeMethods)
318
- ? yield react_webpackChunkPaths(url, maxJsSizeMb, jsFilesFromPageSource)
324
+ ? yield react_webpackChunkPaths(url, maxJsSizeMb, jsFilesFromPageSource, threads)
319
325
  : [];
320
326
  queue.push(webpackChunkPaths);
321
327
  // Recursively follow ESM imports and Vite __vite_mapDeps references.
@@ -324,7 +330,7 @@ const lazyLoad = (url_1, output_1, strictScope_1, inputScope_1, threads_1, subse
324
330
  if (shouldRunMethod("react_followImports", includeMethods, excludeMethods)) {
325
331
  let toFollow = [...new Set([...jsFilesFromPageSource, ...webpackChunkPaths])];
326
332
  while (toFollow.length > 0) {
327
- const newFiles = yield react_followImports(toFollow, maxJsSizeMb, url, visited);
333
+ const newFiles = yield react_followImports(toFollow, maxJsSizeMb, url, visited, threads);
328
334
  if (newFiles.length === 0)
329
335
  break;
330
336
  console.log(chalk.green(`[✓] Discovered ${newFiles.length} more JS file(s) via imports`));
@@ -334,7 +340,7 @@ const lazyLoad = (url_1, output_1, strictScope_1, inputScope_1, threads_1, subse
334
340
  }
335
341
  // Sourcemaps for everything discovered
336
342
  if (shouldRunMethod("react_sourcemapUrls", includeMethods, excludeMethods)) {
337
- const sourcemapUrls = yield react_sourcemapUrls([...visited]);
343
+ const sourcemapUrls = yield react_sourcemapUrls([...visited], threads);
338
344
  queue.push(sourcemapUrls);
339
345
  }
340
346
  yield queue.drain();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lazyLoad/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lazyLoad/index.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export const FRAMEWORK_METHODS = {
36
36
  "svelte_recursivePageCrawl",
37
37
  "svelte_discoverPagesFromJs",
38
38
  ],
39
- angular: ["angular_getFromPageSource", "angular_getFromMainJs"],
39
+ angular: ["angular_getFromPageSource", "angular_getFromMainJs", "angular_recursiveChunkImports"],
40
40
  react: ["react_getScriptTags", "react_webpackChunkPaths", "react_sourcemapUrls", "react_followImports"],
41
41
  };
42
42
  export const VALID_METHODS = Object.values(FRAMEWORK_METHODS).flat();
@@ -1 +1 @@
1
- {"version":3,"file":"methodFilter.js","sourceRoot":"","sources":["../../src/lazyLoad/methodFilter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA6B;IACvD,OAAO,EAAE;QACL,kBAAkB;QAClB,sCAAsC;QACtC,gCAAgC;QAChC,yBAAyB;QACzB,mCAAmC;QACnC,qBAAqB;QACrB,oBAAoB;QACpB,wBAAwB;QACxB,yBAAyB;KAC5B;IACD,GAAG,EAAE;QACD,qBAAqB;QACrB,qCAAqC;QACrC,mBAAmB;QACnB,wBAAwB;QACxB,aAAa;QACb,2BAA2B;QAC3B,eAAe;QACf,iBAAiB;QACjB,sBAAsB;QACtB,eAAe;QACf,wBAAwB;QACxB,wBAAwB;KAC3B;IACD,OAAO,EAAE,CAAC,wBAAwB,EAAE,4BAA4B,EAAE,eAAe,CAAC;IAClF,MAAM,EAAE;QACJ,0BAA0B;QAC1B,uBAAuB;QACvB,8BAA8B;QAC9B,2BAA2B;QAC3B,4BAA4B;KAC/B;IACD,OAAO,EAAE,CAAC,2BAA2B,EAAE,uBAAuB,CAAC;IAC/D,KAAK,EAAE,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC;CAC1G,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAa,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,OAAiB,EAAE,OAAiB,EAAW,EAAE;IAC3F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"methodFilter.js","sourceRoot":"","sources":["../../src/lazyLoad/methodFilter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA6B;IACvD,OAAO,EAAE;QACL,kBAAkB;QAClB,sCAAsC;QACtC,gCAAgC;QAChC,yBAAyB;QACzB,mCAAmC;QACnC,qBAAqB;QACrB,oBAAoB;QACpB,wBAAwB;QACxB,yBAAyB;KAC5B;IACD,GAAG,EAAE;QACD,qBAAqB;QACrB,qCAAqC;QACrC,mBAAmB;QACnB,wBAAwB;QACxB,aAAa;QACb,2BAA2B;QAC3B,eAAe;QACf,iBAAiB;QACjB,sBAAsB;QACtB,eAAe;QACf,wBAAwB;QACxB,wBAAwB;KAC3B;IACD,OAAO,EAAE,CAAC,wBAAwB,EAAE,4BAA4B,EAAE,eAAe,CAAC;IAClF,MAAM,EAAE;QACJ,0BAA0B;QAC1B,uBAAuB;QACvB,8BAA8B;QAC9B,2BAA2B;QAC3B,4BAA4B;KAC/B;IACD,OAAO,EAAE,CAAC,2BAA2B,EAAE,uBAAuB,EAAE,+BAA+B,CAAC;IAChG,KAAK,EAAE,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC;CAC1G,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAa,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,OAAiB,EAAE,OAAiB,EAAW,EAAE;IAC3F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC"}
@@ -142,7 +142,7 @@ class NextJsCrawler {
142
142
  // and were already resolved in the initial lazyload call; re-running this costs
143
143
  // 3-6 minutes per call without discovering new URLs.
144
144
  if (!this.subsequentRequestsFlag && shouldRunMethod("next_GetLazyResourcesWebpackJs", inc, exc)) {
145
- const jsFromWebpack = yield next_GetLazyResourcesWebpackJs(this.url);
145
+ const jsFromWebpack = yield next_GetLazyResourcesWebpackJs(this.url, this.threads);
146
146
  this.techniqueEfficiencyMapping["next_GetLazyResourcesWebpackJs"] = jsFromWebpack;
147
147
  lazyLoadGlobals.pushToJsUrls(jsFromWebpack);
148
148
  this.emitDownloadable(this.registerUrls(jsFromWebpack));
@@ -162,7 +162,7 @@ class NextJsCrawler {
162
162
  this.emitDownloadable(this.registerUrls([...jsFromSubsequent]));
163
163
  }
164
164
  if (shouldRunMethod("next_scriptTagsSubsequentRequests", inc, exc)) {
165
- const jsFromScriptTagsSR = yield next_scriptTagsSubsequentRequests(this.url, this.urlsFile);
165
+ const jsFromScriptTagsSR = yield next_scriptTagsSubsequentRequests(this.url, this.urlsFile, this.threads);
166
166
  this.techniqueEfficiencyMapping["next_scriptTagsSubsequentRequests"] = jsFromScriptTagsSR;
167
167
  lazyLoadGlobals.pushToJsUrls(jsFromScriptTagsSR);
168
168
  this.emitDownloadable(this.registerUrls(jsFromScriptTagsSR));
@@ -188,7 +188,7 @@ class NextJsCrawler {
188
188
  let newInThisPass = [];
189
189
  // Promise.all pattern analysis on JS file contents
190
190
  if (shouldRunMethod("next_promiseResolve", inc, exc)) {
191
- const jsFromPromise = yield next_promiseResolve(jsUrls);
191
+ const jsFromPromise = yield next_promiseResolve(jsUrls, this.threads);
192
192
  this.techniqueEfficiencyMapping["next_promiseResolve"] = [
193
193
  ...(this.techniqueEfficiencyMapping["next_promiseResolve"] || []),
194
194
  ...jsFromPromise,
@@ -199,7 +199,7 @@ class NextJsCrawler {
199
199
  }
200
200
  // Layout.js parsing → discovers new client-side page paths → visits them
201
201
  if (shouldRunMethod("next_parseLayoutJs", inc, exc)) {
202
- const jsFromLayout = yield next_parseLayoutJs(this.url, jsUrls);
202
+ const jsFromLayout = yield next_parseLayoutJs(this.url, jsUrls, this.threads);
203
203
  this.techniqueEfficiencyMapping["next_parseLayoutJs"] = [
204
204
  ...(this.techniqueEfficiencyMapping["next_parseLayoutJs"] || []),
205
205
  ...jsFromLayout,
@@ -332,7 +332,7 @@ class NextJsCrawler {
332
332
  // Phase 3 – brute-force .map files on the final set (skip if stopped by timeout)
333
333
  if (!this.stopped && shouldRunMethod("next_bruteForceJsFiles", this.includeMethods, this.excludeMethods)) {
334
334
  const allJsUrls = [...this.discoveredUrls].filter((u) => u.endsWith(".js") || u.endsWith(".js.map"));
335
- const jsFromBrute = yield next_bruteForceJsFiles(allJsUrls);
335
+ const jsFromBrute = yield next_bruteForceJsFiles(allJsUrls, this.threads);
336
336
  this.techniqueEfficiencyMapping["next_bruteForceJsFiles"] = jsFromBrute;
337
337
  this.emitDownloadable(this.registerUrls(jsFromBrute));
338
338
  }