pkgviz 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +4 -4
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/cache/.previewinfo +1 -1
  5. package/.next/cache/.rscinfo +1 -1
  6. package/.next/cache/.tsbuildinfo +1 -1
  7. package/.next/cache/chrome-devtools-workspace-uuid +1 -1
  8. package/.next/cache/eslint/.cache_6t30dc +1 -1
  9. package/.next/cache/webpack/client-production/0.pack +0 -0
  10. package/.next/cache/webpack/client-production/index.pack +0 -0
  11. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  12. package/.next/cache/webpack/server-production/0.pack +0 -0
  13. package/.next/cache/webpack/server-production/index.pack +0 -0
  14. package/.next/prerender-manifest.json +3 -3
  15. package/.next/server/app/_not-found/page.js +2 -2
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.rsc +16 -17
  19. package/.next/server/app/api/audit/json/route.js +1 -1
  20. package/.next/server/app/api/audit/json/route.js.nft.json +1 -1
  21. package/.next/server/app/api/audit/json/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/audit/xml/route.js +1 -1
  23. package/.next/server/app/api/audit/xml/route.js.nft.json +1 -1
  24. package/.next/server/app/api/audit/xml/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/fs/detectLanguage/route.js +2 -2
  26. package/.next/server/app/api/fs/detectLanguage/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/fs/getAllFilesRecursive/route.js +1 -1
  28. package/.next/server/app/api/fs/getAllFilesRecursive/route.js.nft.json +1 -1
  29. package/.next/server/app/api/fs/getAllFilesRecursive/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/fs/getGraph/route.js +1 -1
  31. package/.next/server/app/api/fs/getGraph/route.js.nft.json +1 -1
  32. package/.next/server/app/api/fs/getGraph/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/index.html +1 -1
  34. package/.next/server/app/index.rsc +17 -21
  35. package/.next/server/app/page.js +2 -2
  36. package/.next/server/app/page.js.nft.json +1 -1
  37. package/.next/server/app/page_client-reference-manifest.js +1 -1
  38. package/.next/server/chunks/671.js +4 -4
  39. package/.next/server/chunks/881.js +2 -0
  40. package/.next/server/pages/404.html +1 -1
  41. package/.next/server/pages/500.html +1 -1
  42. package/.next/server/pages/_error.js +3 -3
  43. package/.next/server/pages-manifest.json +1 -1
  44. package/.next/server/server-reference-manifest.js +1 -1
  45. package/.next/server/server-reference-manifest.json +1 -1
  46. package/.next/static/chunks/485-f571e09734f16464.js +1 -0
  47. package/.next/static/chunks/app/layout-c710aa82473a1ae2.js +1 -0
  48. package/.next/static/chunks/app/page-68d264a9117783ba.js +1 -0
  49. package/.next/static/css/{9d2991f387a19b1b.css → ea77dbcae77d4605.css} +1 -1
  50. package/.next/trace +14 -13
  51. package/README.md +8 -19
  52. package/bin/pkgviz.ts +1 -1
  53. package/package.json +7 -5
  54. package/.next/cache/eslint/.cache_23iu9t +0 -1
  55. package/.next/cache/webpack/client-production/1.pack +0 -0
  56. package/.next/cache/webpack/client-production/10.pack +0 -0
  57. package/.next/cache/webpack/client-production/11.pack +0 -0
  58. package/.next/cache/webpack/client-production/12.pack +0 -0
  59. package/.next/cache/webpack/client-production/13.pack +0 -0
  60. package/.next/cache/webpack/client-production/14.pack +0 -0
  61. package/.next/cache/webpack/client-production/15.pack +0 -0
  62. package/.next/cache/webpack/client-production/16.pack +0 -0
  63. package/.next/cache/webpack/client-production/2.pack +0 -0
  64. package/.next/cache/webpack/client-production/3.pack +0 -0
  65. package/.next/cache/webpack/client-production/4.pack +0 -0
  66. package/.next/cache/webpack/client-production/5.pack +0 -0
  67. package/.next/cache/webpack/client-production/6.pack +0 -0
  68. package/.next/cache/webpack/client-production/7.pack +0 -0
  69. package/.next/cache/webpack/client-production/8.pack +0 -0
  70. package/.next/cache/webpack/client-production/9.pack +0 -0
  71. package/.next/cache/webpack/client-production/index.pack.old +0 -0
  72. package/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  73. package/.next/cache/webpack/server-production/1.pack +0 -0
  74. package/.next/cache/webpack/server-production/10.pack +0 -0
  75. package/.next/cache/webpack/server-production/11.pack +0 -0
  76. package/.next/cache/webpack/server-production/12.pack +0 -0
  77. package/.next/cache/webpack/server-production/13.pack +0 -0
  78. package/.next/cache/webpack/server-production/14.pack +0 -0
  79. package/.next/cache/webpack/server-production/15.pack +0 -0
  80. package/.next/cache/webpack/server-production/16.pack +0 -0
  81. package/.next/cache/webpack/server-production/2.pack +0 -0
  82. package/.next/cache/webpack/server-production/3.pack +0 -0
  83. package/.next/cache/webpack/server-production/4.pack +0 -0
  84. package/.next/cache/webpack/server-production/5.pack +0 -0
  85. package/.next/cache/webpack/server-production/6.pack +0 -0
  86. package/.next/cache/webpack/server-production/7.pack +0 -0
  87. package/.next/cache/webpack/server-production/8.pack +0 -0
  88. package/.next/cache/webpack/server-production/9.pack +0 -0
  89. package/.next/cache/webpack/server-production/index.pack.old +0 -0
  90. package/.next/server/chunks/669.js +0 -2
  91. package/.next/static/chunks/466-b4a500cbd8df897e.js +0 -1
  92. package/.next/static/chunks/app/layout-160414dfb322fd52.js +0 -1
  93. package/.next/static/chunks/app/page-17b2a17ccc3dc891.js +0 -1
  94. /package/.next/static/{tOO3k6S3kc9LUxosG3ajE → QX1s18_hvzEu9EF6zFENT}/_buildManifest.js +0 -0
  95. /package/.next/static/{tOO3k6S3kc9LUxosG3ajE → QX1s18_hvzEu9EF6zFENT}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -10,16 +10,13 @@ Visualizing and showing the dependencies of packages in your project is the firs
10
10
 
11
11
  ## Prerequisites
12
12
 
13
- Make sure to have PNPM & Node installed, check `package.json` for allowed versions
13
+ Make sure to have Bun & Node installed, check `package.json` for allowed versions
14
14
 
15
15
  ## Quickstart
16
16
 
17
17
  ```bash
18
- # 1. Install dependencies
18
+ # 1. Install dependencies (bun/yarn/pnpm/npm)
19
19
  bun install
20
- yarn install
21
- pnpm install
22
- npm install
23
20
 
24
21
  # 2. Create your .env file
25
22
  cp .env.tpl .env
@@ -27,10 +24,7 @@ cp .env.tpl .env
27
24
  # 3. Supply the project path to analyze in the .env file
28
25
 
29
26
  # 4. Run the app
30
- bun run dev
31
- yarn run dev
32
- pnpm run dev
33
- npm run dev
27
+ bun dev
34
28
  ```
35
29
 
36
30
  ## Documentation
@@ -39,26 +33,21 @@ Find the official documentation at Github Pages here:
39
33
 
40
34
  [artiphishle.github.io/forensics-docs](https://artiphishle.github.io/forensics-docs/)
41
35
 
36
+ ## Just get the analysis
37
+
38
+ Run `bunx pkgviz` from any project root (Java & TypeScript, more to follow) and a `audit.json` will be generated for you.
39
+
42
40
  ## Test
43
41
 
44
42
  ```bash
45
- # Run tests
43
+ # Run tests (bun/yarn/pnpm/npm)
46
44
  bun run test
47
- yarn run test
48
- pnpm run test
49
- npm run test
50
45
 
51
46
  # Print Coverage to stdout
52
47
  bun run test:cov
53
- yarn run test:cov
54
- pnpm run test:cov
55
- npm run test:cov
56
48
 
57
49
  # Generate HTML Coverage to 'test/coverage/index.html'
58
50
  bun test:cov:html
59
- yarn test:cov:html
60
- pnpm test:cov:html
61
- npm test:cov:html
62
51
  ```
63
52
 
64
53
  ## Contributing
package/bin/pkgviz.ts CHANGED
@@ -102,7 +102,7 @@ async function findFreePort(preferred?: number): Promise<number> {
102
102
  }
103
103
 
104
104
  function resolvePackageRoot(): string {
105
- // bin is at <pkgRoot>/bin/myapp.ts; step up to package root
105
+ // bin is at <pkgRoot>/bin/pkgviz.ts; step up to package root
106
106
  const here = fileURLToPath(new URL(import.meta.url));
107
107
  return resolve(dirname(here), '..');
108
108
  }
package/package.json CHANGED
@@ -4,7 +4,8 @@
4
4
  "pkgviz": "bin/pkgviz.ts"
5
5
  },
6
6
  "files": [
7
- "/bin", ".next"
7
+ "/bin",
8
+ ".next"
8
9
  ],
9
10
  "type": "module",
10
11
  "engines": {
@@ -12,7 +13,7 @@
12
13
  "bun": ">=1.2.18",
13
14
  "npm": ">=10.9.2"
14
15
  },
15
- "version": "0.1.0",
16
+ "version": "0.1.2",
16
17
  "scripts": {
17
18
  "dev": "next dev --turbopack",
18
19
  "build": "next build",
@@ -26,7 +27,7 @@
26
27
  "test:cov:html": "c8 --report-dir=./test/coverage --reporter=html tsx --test"
27
28
  },
28
29
  "dependencies": {
29
- "@artiphishle/testosterone": "^0.1.3",
30
+ "@artiphishle/testosterone": "^0.2.5",
30
31
  "cytoscape": "^3.31.2",
31
32
  "cytoscape-klay": "^3.1.4",
32
33
  "fp-ts": "^2.16.9",
@@ -37,6 +38,8 @@
37
38
  "radix-ui": "^1.2.0",
38
39
  "react": "^19.0.0",
39
40
  "react-dom": "^19.0.0",
41
+ "testosterone": "^1.3.1",
42
+ "typescript": "^5",
40
43
  "xml-js": "^1.6.11"
41
44
  },
42
45
  "devDependencies": {
@@ -55,8 +58,7 @@
55
58
  "prettier": "^3.5.3",
56
59
  "tailwindcss": "^4.1.3",
57
60
  "tailwindcss-cli": "^0.1.2",
58
- "tsx": "^4.19.3",
59
- "typescript": "^5"
61
+ "tsx": "^4.19.3"
60
62
  },
61
63
  "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
62
64
  }
@@ -1 +0,0 @@
1
- [{"/Users/a_rtiphishl_e/git/forensics/src/app/api/audit/json/route.ts":"1","/Users/a_rtiphishl_e/git/forensics/src/app/api/audit/xml/route.ts":"2","/Users/a_rtiphishl_e/git/forensics/src/app/api/fs/detectLanguage/route.ts":"3","/Users/a_rtiphishl_e/git/forensics/src/app/api/fs/getAllFilesRecursive/route.ts":"4","/Users/a_rtiphishl_e/git/forensics/src/app/layout.tsx":"5","/Users/a_rtiphishl_e/git/forensics/src/app/page.tsx":"6","/Users/a_rtiphishl_e/git/forensics/src/components/Breadcrumb.tsx":"7","/Users/a_rtiphishl_e/git/forensics/src/components/Header.tsx":"8","/Users/a_rtiphishl_e/git/forensics/src/components/Loader.tsx":"9","/Users/a_rtiphishl_e/git/forensics/src/components/Main.tsx":"10","/Users/a_rtiphishl_e/git/forensics/src/components/Settings.tsx":"11","/Users/a_rtiphishl_e/git/forensics/src/components/Switch.tsx":"12","/Users/a_rtiphishl_e/git/forensics/src/components/ZoomInput.tsx":"13","/Users/a_rtiphishl_e/git/forensics/src/contexts/SettingsContext.tsx":"14","/Users/a_rtiphishl_e/git/forensics/src/hooks/useCytoscape.ts":"15","/Users/a_rtiphishl_e/git/forensics/src/i18n/en.ts":"16","/Users/a_rtiphishl_e/git/forensics/src/i18n/i18n.ts":"17","/Users/a_rtiphishl_e/git/forensics/src/types/types.ts":"18","/Users/a_rtiphishl_e/git/forensics/src/utils/cytoscape/rules/markCyclicPackages.ts":"19","/Users/a_rtiphishl_e/git/forensics/src/utils/filter/filterByPackagePrefix.ts":"20","/Users/a_rtiphishl_e/git/forensics/src/utils/filter/filterSubPackages.ts":"21","/Users/a_rtiphishl_e/git/forensics/src/utils/filter/filterVendorPackages.ts":"22","/Users/a_rtiphishl_e/git/forensics/src/utils/getAudit.ts":"23","/Users/a_rtiphishl_e/git/forensics/src/utils/java/extractJavaPackageFromImport.ts":"24","/Users/a_rtiphishl_e/git/forensics/src/utils/java/findEntryPoint.ts":"25","/Users/a_rtiphishl_e/git/forensics/src/utils/java/parseJavaFile.ts":"26","/Users/a_rtiphishl_e/git/forensics/src/utils/parseEnv.ts":"27","/Users/a_rtiphishl_e/git/forensics/src/utils/java/getIntrinsicPackagesRecursive.ts":"28","/Users/a_rtiphishl_e/git/forensics/src/utils/cytoscape/buildGraph.ts":"29","/Users/a_rtiphishl_e/git/forensics/src/utils/getParsedFileStructure.ts":"30","/Users/a_rtiphishl_e/git/forensics/src/app/api/fs/getGraph/route.ts":"31","/Users/a_rtiphishl_e/git/forensics/src/themes/basic/style.ts":"32","/Users/a_rtiphishl_e/git/forensics/src/utils/cytoscape/getMaxEdgeWeight.ts":"33","/Users/a_rtiphishl_e/git/forensics/src/utils/cytoscape/getWeightBuckets.ts":"34","/Users/a_rtiphishl_e/git/forensics/src/utils/cytoscape/hasChildren.ts":"35","/Users/a_rtiphishl_e/git/forensics/src/utils/filter/filterEmptyPackages.ts":"36","/Users/a_rtiphishl_e/git/forensics/src/utils/getJson.ts":"37","/Users/a_rtiphishl_e/git/forensics/src/utils/typescript/extractTypeScriptPackageFromImport.ts":"38","/Users/a_rtiphishl_e/git/forensics/src/utils/typescript/parseFile.ts":"39","/Users/a_rtiphishl_e/git/forensics/src/utils/detectLanguage.ts":"40","/Users/a_rtiphishl_e/git/forensics/src/app/providers.tsx":"41","/Users/a_rtiphishl_e/git/forensics/src/components/Setting.tsx":"42","/Users/a_rtiphishl_e/git/forensics/src/components/ThemeToggle.tsx":"43","/Users/a_rtiphishl_e/git/forensics/src/themes/basic/circle/layout.ts":"44","/Users/a_rtiphishl_e/git/forensics/src/themes/basic/circle/style.ts":"45","/Users/a_rtiphishl_e/git/forensics/src/themes/basic/concentric/layout.ts":"46","/Users/a_rtiphishl_e/git/forensics/src/themes/basic/concentric/style.ts":"47","/Users/a_rtiphishl_e/git/forensics/src/themes/basic/grid/layout.ts":"48","/Users/a_rtiphishl_e/git/forensics/src/themes/basic/grid/style.ts":"49","/Users/a_rtiphishl_e/git/forensics/src/utils/detectLanguage.types.ts":"50","/Users/a_rtiphishl_e/git/forensics/src/contexts/constants.ts":"51","/Users/a_rtiphishl_e/git/forensics/src/themes/basic/breadthfirst/layout.ts":"52","/Users/a_rtiphishl_e/git/forensics/src/themes/basic/breadthfirst/style.ts":"53","/Users/a_rtiphishl_e/git/forensics/src/themes/basic/klay/layout.ts":"54","/Users/a_rtiphishl_e/git/forensics/src/themes/basic/klay/style.ts":"55","/Users/a_rtiphishl_e/git/forensics/src/themes/constants.ts":"56","/Users/a_rtiphishl_e/git/forensics/src/themes/getLayoutStyle.ts":"57","/Users/a_rtiphishl_e/git/forensics/src/themes/types.ts":"58","/Users/a_rtiphishl_e/git/forensics/src/utils/filter/filterSubPackagesFromDepth.ts":"59","/Users/a_rtiphishl_e/git/forensics/src/store/useLocalStorage.ts":"60"},{"size":530,"mtime":1745838828022,"results":"61","hashOfConfig":"62"},{"size":575,"mtime":1745838828021,"results":"63","hashOfConfig":"62"},{"size":383,"mtime":1753464452463,"results":"64","hashOfConfig":"62"},{"size":248,"mtime":1745838828023,"results":"65","hashOfConfig":"62"},{"size":726,"mtime":1757336810996,"results":"66","hashOfConfig":"62"},{"size":1365,"mtime":1757340558114,"results":"67","hashOfConfig":"62"},{"size":1040,"mtime":1745866486085,"results":"68","hashOfConfig":"62"},{"size":905,"mtime":1757336666530,"results":"69","hashOfConfig":"62"},{"size":243,"mtime":1745866501232,"results":"70","hashOfConfig":"62"},{"size":350,"mtime":1757302444184,"results":"71","hashOfConfig":"62"},{"size":5917,"mtime":1757346309504,"results":"72","hashOfConfig":"62"},{"size":1180,"mtime":1757295345047,"results":"73","hashOfConfig":"62"},{"size":1466,"mtime":1757295345048,"results":"74","hashOfConfig":"62"},{"size":2815,"mtime":1757353916156,"results":"75","hashOfConfig":"62"},{"size":7724,"mtime":1757353777248,"results":"76","hashOfConfig":"62"},{"size":656,"mtime":1757319907539,"results":"77","hashOfConfig":"62"},{"size":233,"mtime":1745838828035,"results":"78","hashOfConfig":"62"},{"size":1146,"mtime":1757353759676,"results":"79","hashOfConfig":"62"},{"size":7570,"mtime":1757347898073,"results":"80","hashOfConfig":"62"},{"size":761,"mtime":1745838828031,"results":"81","hashOfConfig":"62"},{"size":2809,"mtime":1753464452465,"results":"82","hashOfConfig":"62"},{"size":569,"mtime":1745838828031,"results":"83","hashOfConfig":"62"},{"size":1494,"mtime":1757348117556,"results":"84","hashOfConfig":"62"},{"size":1248,"mtime":1745838828027,"results":"85","hashOfConfig":"62"},{"size":615,"mtime":1745838828028,"results":"86","hashOfConfig":"62"},{"size":3317,"mtime":1757336761223,"results":"87","hashOfConfig":"62"},{"size":1677,"mtime":1757319907540,"results":"88","hashOfConfig":"62"},{"size":1060,"mtime":1745838828027,"results":"89","hashOfConfig":"62"},{"size":3127,"mtime":1757348456546,"results":"90","hashOfConfig":"62"},{"size":3203,"mtime":1757344441925,"results":"91","hashOfConfig":"62"},{"size":695,"mtime":1757348019728,"results":"92","hashOfConfig":"62"},{"size":4356,"mtime":1757295345048,"results":"93","hashOfConfig":"62"},{"size":274,"mtime":1746777364291,"results":"94","hashOfConfig":"62"},{"size":1506,"mtime":1757336753129,"results":"95","hashOfConfig":"62"},{"size":285,"mtime":1746794901538,"results":"96","hashOfConfig":"62"},{"size":1002,"mtime":1757305846381,"results":"97","hashOfConfig":"62"},{"size":271,"mtime":1745838828028,"results":"98","hashOfConfig":"62"},{"size":664,"mtime":1757345410788,"results":"99","hashOfConfig":"62"},{"size":3568,"mtime":1757346159441,"results":"100","hashOfConfig":"62"},{"size":3856,"mtime":1757336708623,"results":"101","hashOfConfig":"62"},{"size":388,"mtime":1757295345046,"results":"102","hashOfConfig":"62"},{"size":395,"mtime":1757295345047,"results":"103","hashOfConfig":"62"},{"size":772,"mtime":1757295345047,"results":"104","hashOfConfig":"62"},{"size":320,"mtime":1757302444186,"results":"105","hashOfConfig":"62"},{"size":424,"mtime":1757305846381,"results":"106","hashOfConfig":"62"},{"size":179,"mtime":1757302444186,"results":"107","hashOfConfig":"62"},{"size":177,"mtime":1753560368623,"results":"108","hashOfConfig":"62"},{"size":341,"mtime":1757302444187,"results":"109","hashOfConfig":"62"},{"size":490,"mtime":1753560115795,"results":"110","hashOfConfig":"62"},{"size":240,"mtime":1753464452464,"results":"111","hashOfConfig":"62"},{"size":188,"mtime":1757348634455,"results":"112","hashOfConfig":"62"},{"size":2037,"mtime":1757305846380,"results":"113","hashOfConfig":"62"},{"size":179,"mtime":1757305846380,"results":"114","hashOfConfig":"62"},{"size":7103,"mtime":1757312739041,"results":"115","hashOfConfig":"62"},{"size":171,"mtime":1757312739041,"results":"116","hashOfConfig":"62"},{"size":681,"mtime":1757354183353,"results":"117","hashOfConfig":"62"},{"size":803,"mtime":1757354247403,"results":"118","hashOfConfig":"62"},{"size":133,"mtime":1757348604413,"results":"119","hashOfConfig":"62"},{"size":5776,"mtime":1757319907540,"results":"120","hashOfConfig":"62"},{"size":934,"mtime":1757353874335,"results":"121","hashOfConfig":"62"},{"filePath":"122","messages":"123","suppressedMessages":"124","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"177kd3e",{"filePath":"125","messages":"126","suppressedMessages":"127","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"128","messages":"129","suppressedMessages":"130","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"131","messages":"132","suppressedMessages":"133","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"134","messages":"135","suppressedMessages":"136","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"137","messages":"138","suppressedMessages":"139","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"140","messages":"141","suppressedMessages":"142","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"143","messages":"144","suppressedMessages":"145","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"146","messages":"147","suppressedMessages":"148","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"149","messages":"150","suppressedMessages":"151","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"152","messages":"153","suppressedMessages":"154","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"155","messages":"156","suppressedMessages":"157","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"158","messages":"159","suppressedMessages":"160","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"161","messages":"162","suppressedMessages":"163","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"164","messages":"165","suppressedMessages":"166","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"167","messages":"168","suppressedMessages":"169","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"170","messages":"171","suppressedMessages":"172","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"173","messages":"174","suppressedMessages":"175","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"176","messages":"177","suppressedMessages":"178","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"179","messages":"180","suppressedMessages":"181","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"182","messages":"183","suppressedMessages":"184","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"185","messages":"186","suppressedMessages":"187","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"188","messages":"189","suppressedMessages":"190","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"191","messages":"192","suppressedMessages":"193","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"194","messages":"195","suppressedMessages":"196","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"197","messages":"198","suppressedMessages":"199","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"200","messages":"201","suppressedMessages":"202","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"203","messages":"204","suppressedMessages":"205","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"206","messages":"207","suppressedMessages":"208","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"209","messages":"210","suppressedMessages":"211","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"212","messages":"213","suppressedMessages":"214","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"215","messages":"216","suppressedMessages":"217","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"218","messages":"219","suppressedMessages":"220","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"221","messages":"222","suppressedMessages":"223","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"224","messages":"225","suppressedMessages":"226","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"227","messages":"228","suppressedMessages":"229","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"230","messages":"231","suppressedMessages":"232","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"233","messages":"234","suppressedMessages":"235","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"236","messages":"237","suppressedMessages":"238","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"239","messages":"240","suppressedMessages":"241","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"242","messages":"243","suppressedMessages":"244","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"245","messages":"246","suppressedMessages":"247","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"248","messages":"249","suppressedMessages":"250","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"251","messages":"252","suppressedMessages":"253","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"254","messages":"255","suppressedMessages":"256","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"257","messages":"258","suppressedMessages":"259","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"260","messages":"261","suppressedMessages":"262","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"263","messages":"264","suppressedMessages":"265","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"266","messages":"267","suppressedMessages":"268","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"269","messages":"270","suppressedMessages":"271","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"272","messages":"273","suppressedMessages":"274","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"275","messages":"276","suppressedMessages":"277","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"278","messages":"279","suppressedMessages":"280","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"281","messages":"282","suppressedMessages":"283","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"284","messages":"285","suppressedMessages":"286","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"287","messages":"288","suppressedMessages":"289","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"290","messages":"291","suppressedMessages":"292","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"293","messages":"294","suppressedMessages":"295","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"296","messages":"297","suppressedMessages":"298","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"299","messages":"300","suppressedMessages":"301","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/a_rtiphishl_e/git/forensics/src/app/api/audit/json/route.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/app/api/audit/xml/route.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/app/api/fs/detectLanguage/route.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/app/api/fs/getAllFilesRecursive/route.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/app/layout.tsx",[],[],"/Users/a_rtiphishl_e/git/forensics/src/app/page.tsx",[],[],"/Users/a_rtiphishl_e/git/forensics/src/components/Breadcrumb.tsx",[],[],"/Users/a_rtiphishl_e/git/forensics/src/components/Header.tsx",[],[],"/Users/a_rtiphishl_e/git/forensics/src/components/Loader.tsx",[],[],"/Users/a_rtiphishl_e/git/forensics/src/components/Main.tsx",[],[],"/Users/a_rtiphishl_e/git/forensics/src/components/Settings.tsx",[],[],"/Users/a_rtiphishl_e/git/forensics/src/components/Switch.tsx",[],[],"/Users/a_rtiphishl_e/git/forensics/src/components/ZoomInput.tsx",[],[],"/Users/a_rtiphishl_e/git/forensics/src/contexts/SettingsContext.tsx",[],[],"/Users/a_rtiphishl_e/git/forensics/src/hooks/useCytoscape.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/i18n/en.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/i18n/i18n.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/types/types.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/cytoscape/rules/markCyclicPackages.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/filter/filterByPackagePrefix.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/filter/filterSubPackages.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/filter/filterVendorPackages.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/getAudit.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/java/extractJavaPackageFromImport.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/java/findEntryPoint.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/java/parseJavaFile.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/parseEnv.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/java/getIntrinsicPackagesRecursive.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/cytoscape/buildGraph.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/getParsedFileStructure.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/app/api/fs/getGraph/route.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/basic/style.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/cytoscape/getMaxEdgeWeight.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/cytoscape/getWeightBuckets.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/cytoscape/hasChildren.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/filter/filterEmptyPackages.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/getJson.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/typescript/extractTypeScriptPackageFromImport.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/typescript/parseFile.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/detectLanguage.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/app/providers.tsx",[],[],"/Users/a_rtiphishl_e/git/forensics/src/components/Setting.tsx",[],[],"/Users/a_rtiphishl_e/git/forensics/src/components/ThemeToggle.tsx",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/basic/circle/layout.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/basic/circle/style.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/basic/concentric/layout.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/basic/concentric/style.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/basic/grid/layout.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/basic/grid/style.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/detectLanguage.types.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/contexts/constants.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/basic/breadthfirst/layout.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/basic/breadthfirst/style.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/basic/klay/layout.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/basic/klay/style.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/constants.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/getLayoutStyle.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/themes/types.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/utils/filter/filterSubPackagesFromDepth.ts",[],[],"/Users/a_rtiphishl_e/git/forensics/src/store/useLocalStorage.ts",[],[]]
@@ -1,2 +0,0 @@
1
- exports.id=669,exports.ids=[669],exports.modules={116:(a,b,c)=>{"use strict";c.d(b,{HD:()=>m,Wl:()=>l,ki:()=>k,od:()=>j});var d=c(7218);c(9130);var e=c(9021),f=c.n(e),g=c(3873),h=c.n(g),i=c(9435);async function j(a){if(!f().existsSync(a)||!f().statSync(a).isDirectory())throw Error(`Directory does not exist: ${a}`);let b=f().readdirSync(a),c={[i.g.JavaScript]:[],[i.g.TypeScript]:[],[i.g.Java]:[],[i.g.Unknown]:[]};if(b.includes("package.json")&&!b.includes("tsconfig.json")&&c[i.g.JavaScript].push("package.json without tsconfig.json"),b.some(a=>a.endsWith(".js")||a.endsWith(".jsx"))&&c[i.g.JavaScript].push(".js/.jsx files"),b.includes("node_modules")&&c[i.g.JavaScript].push("node_modules directory"),b.includes("tsconfig.json")&&c[i.g.TypeScript].push("tsconfig.json"),b.some(a=>a.endsWith(".ts")||a.endsWith(".tsx"))&&c[i.g.TypeScript].push(".ts/.tsx files"),b.includes("package.json"))try{let b=JSON.parse(f().readFileSync(h().join(a,"package.json"),"utf8"));(b.dependencies?.typescript||b.devDependencies?.typescript)&&c[i.g.TypeScript].push("typescript dependency")}catch(a){console.error(a)}b.includes("pom.xml")&&c[i.g.Java].push("pom.xml"),(b.includes("build.gradle")||b.includes("build.gradle.kts"))&&c[i.g.Java].push("gradle build file"),b.some(a=>a.endsWith(".java"))&&c[i.g.Java].push(".java files"),(b.includes(".mvn")||b.includes("mvnw")||b.includes("mvnw.cmd"))&&c[i.g.Java].push("Maven wrapper");let d={[i.g.JavaScript]:c[i.g.JavaScript].length,[i.g.TypeScript]:c[i.g.TypeScript].length,[i.g.Java]:c[i.g.Java].length,[i.g.Unknown]:0},e=i.g.Unknown,g=0;for(let[a,b]of Object.entries(d))b>g&&(g=b,e=a);let j=Object.values(d).reduce((a,b)=>a+b,0);return{language:e,confidence:j>0?g/j:0,indicators:c[e]}}async function k(a){let b=f().readdirSync(a);return b.includes("package.json")&&!b.includes("tsconfig.json")}async function l(a){let b=f().readdirSync(a);return b.includes("tsconfig.json")&&b.includes("package.json")}async function m(a){let b=f().readdirSync(a);return b.includes("pom.xml")||b.some(a=>a.endsWith(".java"))||b.includes("build.gradle")||b.includes("build.gradle.kts")}(0,c(7478).D)([j,k,l,m]),(0,d.A)(j,"4032fd1bc41915d3b34b247f2d03883e08a21814b9",null),(0,d.A)(k,"4073eddbbfa6d3b1885a87940a364df8005f92243d",null),(0,d.A)(l,"4062ab72d69278f312eea5dfbb1325d479c934b5c0",null),(0,d.A)(m,"40fb82966d2793eba4da272a945a7b2ee538cd1441",null)},6032:(a,b,c)=>{"use strict";c.d(b,{b:()=>g});var d=c(7218);c(9130);var e=c(9021),f=c(3873);async function g(a=(0,f.resolve)("/Users/a_rtiphishl_e/git/pkgviz"),b,c=[]){if(!a)throw Error("Required env: NEXT_PUBLIC_PROJECT_PATH");let d=(0,f.resolve)(a,"src/main/java"),h=b??d,i=(0,e.readdirSync)(h,{withFileTypes:!0}),j=i.filter(a=>a.isDirectory());if(i.filter(a=>a.isFile()&&a.name.endsWith(".java")).length>0&&0===j.length){let a=(0,f.relative)(d,h).replace(/\//g,".");c.push(a)}for(let b of j){let d=(0,f.resolve)(h,b.name);await g(a,d,c)}return c}(0,c(7478).D)([g]),(0,d.A)(g,"702986da4b663c1a33ef3c386dce3246363731a9fa",null)},6089:(a,b,c)=>{"use strict";c.d(b,{z:()=>q,j:()=>p});var d=c(7218);c(9130);var e=c(3024),f=c(6760),g=c(116),h=c(7937),i=c(9748),j=c.n(i),k=c(3873),l=c.n(k),m=c(9899);async function n(a,b){let c=await j().readFile(a,"utf-8"),d=l().relative(b,a),e=d.split("/").slice(0,-1);return{className:function(a,b){let c=a.match(/class\s+(\w+)/);return c?c[1]:l().basename(b,".ts")}(c,a),imports:function(a){let b=m.createSourceFile("temp.ts",a,m.ScriptTarget.Latest,!0),c=[];return b.forEachChild(a=>{if(m.isImportDeclaration(a)){let b=a.moduleSpecifier.text,d=b.replace(/^\@/,"src");c.push({name:d.split("/").join("."),pkg:function(a){console.log("import:",a);let b=a.split("/").slice(0,-1).join("/");return(b.startsWith("@/")?b.replace(/^@/,"src"):b).split("/").join(".")}(b),isIntrinsic:b.startsWith("@")})}}),c}(c),methods:function(a){let b=m.createSourceFile("temp.ts",a,m.ScriptTarget.Latest,!0),c=[];return!function a(b){if(m.isMethodDeclaration(b)&&b.name){let a=b.name.getText(),d=b.type?.getText()??"void",e=b.parameters.map(a=>a.getText()),f=m.getCombinedModifierFlags(b),g="default";f&m.ModifierFlags.Private?g="private":f&m.ModifierFlags.Protected?g="protected":f&m.ModifierFlags.Public&&(g="public"),c.push({name:a,returnType:d,parameters:e,visibility:g})}m.forEachChild(b,a)}(b),c}(c),calls:function(a){let b=m.createSourceFile("temp.ts",a,m.ScriptTarget.Latest,!0),c=[];return!function a(b){if(m.isCallExpression(b)&&m.isPropertyAccessExpression(b.expression)){let a=b.expression.expression.getText(),d=b.expression.name.getText();c.push({callee:a,method:d})}m.forEachChild(b,a)}(b),c}(c),package:e.join("."),path:d}}var o=c(9435);async function p(a,b={},c=a,d){let g=(0,e.readdirSync)(a,{withFileTypes:!0}),i=[".cache","coverage",".git",".github","examples","packages","test",".meta","node_modules",".next",".vscode"];for(let e of g){if(i.includes(e.name))continue;let g=(0,f.join)(a,e.name);d===o.g.Java?e.isDirectory()?b[e.name]=await p(g,{},"",d):e.isFile()&&e.name.endsWith(".java")&&(b[e.name]=await (0,h.q)(g,c)):d===o.g.TypeScript&&(e.isDirectory()?b[e.name]=await p(g,{},"",d):(e.isFile()&&e.name.endsWith(".ts")||e.name.endsWith(".tsx"))&&(b[e.name]=await n(g,c)))}return b}async function q(a="/Users/a_rtiphishl_e/git/pkgviz"){let b=(await (0,g.od)(a)).language;if(console.log("detected:",b),![o.g.Java,o.g.TypeScript].includes(b))throw Error("Supported language is 'Java' & 'TypeScript'. More to follow.");let c=function(a,b){switch(b){case o.g.Java:return!function(a){let b=(0,f.resolve)(a,"src/main/java");if(!(0,e.existsSync)(b))throw Error("Missing dir: 'src/main/java'")}(a),(0,f.resolve)(a,"src/main/java");case o.g.TypeScript:return(0,f.resolve)(a);default:throw Error(`Invalid file structure for ${b}`)}}(a,b);return console.log("rootDir:",c),await p(c,{},"",b)}(0,c(7478).D)([p,q]),(0,d.A)(p,"78301c09c45540d3b3d88fbffd4190e52f0c26bb8b",null),(0,d.A)(q,"4082586f2bc6e0dff9dd57aa593357079bd5118cd6",null)},6487:()=>{},7218:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(1369)},7478:(a,b)=>{"use strict";function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},7937:(a,b,c)=>{"use strict";c.d(b,{q:()=>j});var d=c(7218);c(9130);var e=c(9021),f=c.n(e),g=c(3873),h=c.n(g),i=c(6032);async function j(a,b){let c=f().readFileSync(a,"utf-8"),d=h().basename(a,".java"),e=await (0,i.b)(),g=function(a,b){let c=RegExp(`(?:public\\s+)?(class|interface|enum|record)\\s+${b}\\b`);if(a.match(c))return b;let d=a.match(/(?:public\s+)?(class|interface|enum|record)\s+([A-Za-z0-9_]+)/);return d?.[2]||""}(c,d),j=function(a){let b=a.match(/^package\s+([a-zA-Z0-9_.]+);/m);return b?.[1]||""}(c),k=Array.from(c.matchAll(/^import\s+([a-zA-Z0-9_.*]+);/gm)).map(a=>a[1]).map(a=>{let b=function(a){let b=a.replace(/\.\*$/,""),c=b.split(".").reverse();if(c.length<2||c[0].toLowerCase()===c[0])return b;let d=!1,e=[];for(let a of c)!d&&/^[A-Z]/.test(a)||(d=!0,e.push(a));return e.reverse().join(".")}(a);return{name:a,pkg:b,isIntrinsic:e.includes(b)}}),l=function(a){let b,c=/(?:(public|protected|private)\s+)?(?:static\s+)?([\w<>[\]]+)\s+(\w+)\s*\(([^)]*)\)\s*\{/g,d=[];for(;null!==(b=c.exec(a));){let a=b[1]||"default",c=b[2],e=b[3],f=b[4].split(",").map(a=>a.trim()).filter(Boolean);d.push({name:e,returnType:c,parameters:f,visibility:a})}return d}(c),m=function(a){let b,c=/(\b\w+)\.(\w+)\s*\(/g,d=[];for(;null!==(b=c.exec(a));){let a=b[1],c=b[2];d.push({callee:a,method:c})}return d}(c);return{className:g,package:j,imports:k,methods:l,calls:m,path:h().relative(b,a)}}(0,c(7478).D)([j]),(0,d.A)(j,"6068bc3c27fb26fb7fa9b2828f657d5452c9aac3fd",null)},8335:()=>{},9130:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{decryptActionBoundArgs:function(){return q},encryptActionBoundArgs:function(){return p}}),c(4822);let d=c(1369),e=c(5624),f=c(7855),g=c(2602),h=c(3033),i=c(4971),j=function(a){return a&&a.__esModule?a:{default:a}}(c(1120)),k=new TextEncoder,l=new TextDecoder;async function m(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=atob(b),e=d.slice(0,16),f=d.slice(16),h=l.decode(await (0,g.decrypt)(c,(0,g.stringToUint8Array)(e),(0,g.stringToUint8Array)(f)));if(!h.startsWith(a))throw Object.defineProperty(Error("Invalid Server Action payload: failed to decrypt."),"__NEXT_ERROR_CODE",{value:"E191",enumerable:!1,configurable:!0});return h.slice(a.length)}async function n(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=new Uint8Array(16);h.workUnitAsyncStorage.exit(()=>crypto.getRandomValues(d));let e=(0,g.arrayBufferToString)(d.buffer),f=await (0,g.encrypt)(c,d,k.encode(a+b));return btoa(e+(0,g.arrayBufferToString)(f))}var o=function(a){return a[a.Ready=0]="Ready",a[a.Pending=1]="Pending",a[a.Complete=2]="Complete",a}(o||{});let p=j.default.cache(async function a(b,...c){let e=h.workUnitAsyncStorage.getStore(),j=(null==e?void 0:e.type)==="prerender"?e.cacheSignal:void 0,{clientModules:k}=(0,g.getClientReferenceManifestForRsc)(),l=Error();Error.captureStackTrace(l,a);let m=!1,o=(null==e?void 0:e.type)==="prerender"?(0,i.createHangingInputAbortSignal)(e):void 0,p=0;function q(){0===p&&(p=1,null==j||j.beginRead())}function r(){1===p&&(null==j||j.endRead()),p=2}o&&j&&o.addEventListener("abort",q,{once:!0});let s=await (0,f.streamToString)((0,d.renderToReadableStream)(c,k,{filterStackFrame:void 0,signal:o,onError(a){(null==o||!o.aborted)&&(m||(m=!0,l.message=a instanceof Error?a.message:String(a)))}}),o);if(m)throw r(),l;if(!e)return n(b,s);q();let t=(0,h.getPrerenderResumeDataCache)(e),u=(0,h.getRenderResumeDataCache)(e),v=b+s,w=(null==t?void 0:t.encryptedBoundArgs.get(v))??(null==u?void 0:u.encryptedBoundArgs.get(v));if(w)return w;let x=await n(b,s);return r(),null==t||t.encryptedBoundArgs.set(v,x),x});async function q(a,b){let c,d=await b,f=h.workUnitAsyncStorage.getStore();if(f){let b="prerender"===f.type?f.cacheSignal:void 0,e=(0,h.getPrerenderResumeDataCache)(f),g=(0,h.getRenderResumeDataCache)(f);(c=(null==e?void 0:e.decryptedBoundArgs.get(d))??(null==g?void 0:g.decryptedBoundArgs.get(d)))||(null==b||b.beginRead(),c=await m(a,d),null==b||b.endRead(),null==e||e.decryptedBoundArgs.set(d,c))}else c=await m(a,d);let{edgeRscModuleMapping:i,rscModuleMapping:j}=(0,g.getClientReferenceManifestForRsc)();return await (0,e.createFromReadableStream)(new ReadableStream({start(a){a.enqueue(k.encode(c)),(null==f?void 0:f.type)==="prerender"?f.renderSignal.aborted?a.close():f.renderSignal.addEventListener("abort",()=>a.close(),{once:!0}):a.close()}}),{serverConsumerManifest:{moduleLoading:null,moduleMap:j,serverModuleMap:(0,g.getServerModuleMap)()}})}},9435:(a,b,c)=>{"use strict";c.d(b,{g:()=>d});var d=function(a){return a.JavaScript="javascript",a.TypeScript="typescript",a.Java="java",a.Unknown="unknown",a}({})}};