pkgviz 0.2.3 → 0.3.0
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/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +17 -17
- package/.next/app-path-routes-manifest.json +4 -4
- package/.next/build-manifest.json +7 -7
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/eslint/.cache_6t30dc +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/1.pack +0 -0
- package/.next/cache/webpack/client-production/4.pack +0 -0
- package/.next/cache/webpack/client-production/5.pack +0 -0
- package/.next/cache/webpack/client-production/8.pack +0 -0
- package/.next/cache/webpack/client-production/9.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/1.pack +0 -0
- package/.next/cache/webpack/server-production/16.pack +0 -0
- package/.next/cache/webpack/server-production/18.pack +0 -0
- package/.next/cache/webpack/server-production/4.pack +0 -0
- package/.next/cache/webpack/server-production/6.pack +0 -0
- package/.next/cache/webpack/server-production/7.pack +0 -0
- package/.next/cache/webpack/server-production/8.pack +0 -0
- package/.next/cache/webpack/server-production/9.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/.next/diagnostics/framework.json +1 -1
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/api/audit/json/route.js +1 -1
- package/.next/server/app/api/audit/json/route.js.nft.json +1 -1
- package/.next/server/app/api/audit/json/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/audit/xml/route.js +1 -1
- package/.next/server/app/api/audit/xml/route.js.nft.json +1 -1
- package/.next/server/app/api/audit/xml/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/getGraph/route.js +1 -1
- package/.next/server/app/api/fs/getGraph/route.js.nft.json +1 -1
- package/.next/server/app/api/fs/getGraph/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/getRoot/route.js +1 -1
- package/.next/server/app/api/fs/getRoot/route.js.nft.json +1 -1
- package/.next/server/app/api/fs/getRoot/route_client-reference-manifest.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +4 -4
- package/.next/server/chunks/376.js +1 -1
- package/.next/server/chunks/437.js +2 -0
- package/.next/server/chunks/671.js +3 -3
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_error.js +2 -2
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{964-13036fef2dc48ea1.js → 964-b440f7af22c41ca5.js} +1 -1
- package/.next/static/chunks/app/page-e49af4d6a0036092.js +1 -0
- package/.next/static/chunks/{framework-ad48b0742d75aeaa.js → framework-bc35dade6ff9684e.js} +1 -1
- package/.next/static/chunks/{main-2320ee2c187c40c9.js → main-9e86d333c1e02dd1.js} +1 -1
- package/.next/static/css/{c2e42646588b0b1f.css → 835ea8e635656f8a.css} +1 -1
- package/.next/trace +14 -2
- package/bin/pkgviz.ts +1 -2
- package/package.json +2 -2
- package/.next/server/chunks/911.js +0 -2
- package/.next/static/chunks/app/page-8f8361e8ba4d61da.js +0 -1
- /package/.next/static/{6u5fQPurffRVnciNaga-B → kyRK73w9A1bmtDZUJpHVN}/_buildManifest.js +0 -0
- /package/.next/static/{6u5fQPurffRVnciNaga-B → kyRK73w9A1bmtDZUJpHVN}/_ssgManifest.js +0 -0
package/bin/pkgviz.ts
CHANGED
|
@@ -3,7 +3,6 @@ import { existsSync } from 'node:fs';
|
|
|
3
3
|
import { mkdir, writeFile } from 'node:fs/promises';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import * as net from 'node:net';
|
|
6
|
-
import { toPosix } from '../src/shared/utils/toPosix';
|
|
7
6
|
import { dirname, resolve } from 'node:path';
|
|
8
7
|
|
|
9
8
|
interface Opts {
|
|
@@ -148,7 +147,7 @@ function openBrowser(url: string) {
|
|
|
148
147
|
|
|
149
148
|
async function main() {
|
|
150
149
|
const opts = parseArgs(process.argv);
|
|
151
|
-
const callerRoot =
|
|
150
|
+
const callerRoot = process.cwd(); // The project being analyzed
|
|
152
151
|
const port = await findFreePort(opts.port);
|
|
153
152
|
const pkgRoot = resolvePackageRoot(); // The packaged Next app root
|
|
154
153
|
const nextBin = resolveNextBin(pkgRoot);
|
package/package.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"bun": ">=1.2.18",
|
|
15
15
|
"npm": ">=10.9.2"
|
|
16
16
|
},
|
|
17
|
-
"version": "0.
|
|
17
|
+
"version": "0.3.0",
|
|
18
18
|
"scripts": {
|
|
19
19
|
"dev": "next dev --turbopack",
|
|
20
20
|
"build": "next build",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"fp-ts": "^2.16.11",
|
|
35
35
|
"lucide-react": "^0.487.0",
|
|
36
36
|
"meta": "^2.2.25",
|
|
37
|
-
"next": "15.4.
|
|
37
|
+
"next": "15.4.10",
|
|
38
38
|
"next-themes": "^0.4.6",
|
|
39
39
|
"radix-ui": "^1.4.3",
|
|
40
40
|
"react": "^19.2.0",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
exports.id=911,exports.ids=[911],exports.modules={395:(a,b,c)=>{"use strict";c.d(b,{d:()=>d});let d=a=>a.replace(/\\/g,"/")},848:(a,b,c)=>{"use strict";c.d(b,{Aw:()=>e});var d=c(395);let e=()=>{let a="/Users/a_rtiphishl_e/git/pkgviz";if(!a)throw Error("Missing ENV: NEXT_PUBLIC_PROJECT_PATH");return(0,d.d)(a)}},3395:(a,b,c)=>{"use strict";c.d(b,{zV:()=>u,jY:()=>t,H6:()=>s});var d=c(7218);c(9130);var e=c(7919),f=c(3024),g=c(6760),h=c.n(g),i=c(395),j=c(9444),k=c(4279),l=c(1455),m=c.n(l),n=c(9899),o=c.n(n),p=c(848);async function q(a,b){let c=(0,i.d)(a),d=await m().readFile(c,"utf-8"),e=(0,i.d)((0,g.relative)(b,c)),f=e.split("/").slice(0,-1);return console.log("rel/seg:",e,f),{className:function(a,b){let c=a.match(/class\s+(\w+)/);return c?c[1]:(0,g.basename)(b,".ts")}(d,a),imports:function(a,b){let c=o().createSourceFile("temp.ts",a,o().ScriptTarget.Latest,!0),d=[];return c.forEachChild(a=>{if(!o().isImportDeclaration(a))return;let c=(0,i.d)(b).split("/").slice(0,-1).join("/"),{resolvedPath:e,isIntrinsic:f}=function(a,b){let c=(0,p.Aw)();return b.startsWith("./")||b.startsWith("../")?{isIntrinsic:!0,resolvedPath:(0,g.resolve)(a,b).slice(c.length+1)}:b.startsWith("@/")?{isIntrinsic:!0,resolvedPath:b.replace(/^@/,"src")}:{isIntrinsic:!1,resolvedPath:b}}(c,a.moduleSpecifier.text),h=function(a){let b=(0,i.d)(a).split("/").slice(0,-1).join("/");return(b.startsWith("@/")?b.replace(/^@/,"src"):b).split("/").join(".")}(e);d.push({name:h,pkg:h,isIntrinsic:f})}),d}(d,a),methods:function(a){let b=o().createSourceFile("temp.ts",a,o().ScriptTarget.Latest,!0),c=[];return!function a(b){if(o().isMethodDeclaration(b)&&b.name){let a=b.name.getText(),d=b.type?.getText()??"void",e=b.parameters.map(a=>a.getText()),f=o().getCombinedModifierFlags(b),g="default";f&o().ModifierFlags.Private?g="private":f&o().ModifierFlags.Protected?g="protected":f&o().ModifierFlags.Public&&(g="public"),c.push({name:a,returnType:d,parameters:e,visibility:g})}o().forEachChild(b,a)}(b),c}(d),calls:function(a){let b=o().createSourceFile("temp.ts",a,o().ScriptTarget.Latest,!0),c=[];return!function a(b){if(o().isCallExpression(b)&&o().isPropertyAccessExpression(b.expression)){let a=b.expression.expression.getText(),d=b.expression.name.getText();c.push({callee:a,method:d})}o().forEachChild(b,a)}(b),c}(d),package:f.join("."),path:e}}let r="src/main/java";async function s(a,b){switch(b){case e.T.Java:{let b=(0,i.d)(h().resolve(a,r));if(!(0,f.existsSync)(b))throw console.error("Failed to find:",r),Error(`Invalid Java project structure. Missing ${r}`);return b}case e.T.TypeScript:return(0,i.d)(h().resolve(a));default:throw Error(`Invalid file structure for ${b}`)}}async function t(a,b={},c,d){let g=h().resolve(c),i=h().resolve(a),j=h().relative(g,i);if(j.startsWith("..")||h().isAbsolute(j))throw Error(`Path traversal detected: ${a} is outside of project root ${c}`);let l=(0,f.readdirSync)(i,{withFileTypes:!0}),m=["@types",".cache",".git",".github",".meta",".next",".vscode","coverage","examples","node_modules","packages","test"];for(let a of l){if(m.includes(a.name))continue;let f=h().resolve(i,a.name);if(a.isDirectory()){b[a.name]=await t(f,{},c,d);continue}switch(d){case e.T.Java:a.name.endsWith(".java")&&(b[a.name]=await (0,k.q)(f,c));break;case e.T.TypeScript:(a.name.endsWith(".ts")||a.name.endsWith(".tsx"))&&(b[a.name]=await q(f,c))}}return b}async function u(){let a=(0,p.Aw)(),b=(await (0,j.od)(a)).language;if(console.log("1. Detected language:",b),![e.T.Java,e.T.TypeScript].includes(b))throw Error("Supported language is 'Java' & 'TypeScript'. More to follow.");let c=await s(a,b);return console.log("2. rootDir:",c),await t(c,{},c,b)}(0,c(7478).D)([s,t,u]),(0,d.A)(s,"6008098433bf6fd550a725e822ebb5378fba9c8061",null),(0,d.A)(t,"78363f01d751e0e106f1b857511475c42aa5f2c8f6",null),(0,d.A)(u,"00cc2318da2cd90c1479cbc8614ecf51e0a976d68c",null)},4279:(a,b,c)=>{"use strict";c.d(b,{q:()=>j});var d=c(7218);c(9130);var e=c(3024),f=c.n(e),g=c(6760),h=c.n(g),i=c(7792);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,"608ab0d58504e28a8ecc97882d5621fe5dd4a5476e",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}})},7792:(a,b,c)=>{"use strict";c.d(b,{b:()=>h});var d=c(7218);c(9130);var e=c(848),f=c(3024),g=c(6760);async function h(a=(0,e.Aw)(),b,c=[]){let d=(0,g.resolve)(a,"src/main/java"),i=b??d,j=(0,f.readdirSync)(i,{withFileTypes:!0}),k=j.filter(a=>a.isDirectory());if(j.filter(a=>a.isFile()&&a.name.endsWith(".java")).length>0&&0===k.length){let a=(0,g.relative)(d,i).replace(/\//g,".");c.push(a)}for(let b of k){let d=(0,g.resolve)(i,b.name);await h(a,d,c)}return c}(0,c(7478).D)([h]),(0,d.A)(h,"70c0cb89558e7705fb7614fa62875e9e75ee49777f",null)},7919:(a,b,c)=>{"use strict";c.d(b,{T:()=>d});var d=function(a){return a.JavaScript="javascript",a.TypeScript="typescript",a.Java="java",a.Unknown="unknown",a}({})},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)()}})}},9444:(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(7919),f=c(3024),g=c.n(f),h=c(6760),i=c.n(h);async function j(a){if(!g().existsSync(a)||!g().statSync(a).isDirectory())throw Error(`Directory does not exist: ${a}`);let b=g().readdirSync(a),c={[e.T.JavaScript]:[],[e.T.TypeScript]:[],[e.T.Java]:[],[e.T.Unknown]:[]};if(b.includes("package.json")&&!b.includes("tsconfig.json")&&c[e.T.JavaScript].push("package.json without tsconfig.json"),b.some(a=>a.endsWith(".js")||a.endsWith(".jsx"))&&c[e.T.JavaScript].push(".js/.jsx files"),b.includes("node_modules")&&c[e.T.JavaScript].push("node_modules directory"),b.includes("tsconfig.json")&&c[e.T.TypeScript].push("tsconfig.json"),b.some(a=>a.endsWith(".ts")||a.endsWith(".tsx"))&&c[e.T.TypeScript].push(".ts/.tsx files"),b.includes("package.json"))try{let b=JSON.parse(g().readFileSync(i().join(a,"package.json"),"utf8"));(b.dependencies?.typescript||b.devDependencies?.typescript)&&c[e.T.TypeScript].push("typescript dependency")}catch(a){console.error(a)}b.includes("pom.xml")&&c[e.T.Java].push("pom.xml"),(b.includes("build.gradle")||b.includes("build.gradle.kts"))&&c[e.T.Java].push("gradle build file"),b.some(a=>a.endsWith(".java"))&&c[e.T.Java].push(".java files"),(b.includes(".mvn")||b.includes("mvnw")||b.includes("mvnw.cmd"))&&c[e.T.Java].push("Maven wrapper");let d={[e.T.JavaScript]:c[e.T.JavaScript].length,[e.T.TypeScript]:c[e.T.TypeScript].length,[e.T.Java]:c[e.T.Java].length,[e.T.Unknown]:0},f=e.T.Unknown,h=0;for(let[a,b]of Object.entries(d))b>h&&(h=b,f=a);let j=Object.values(d).reduce((a,b)=>a+b,0);return{language:f,confidence:j>0?h/j:0,indicators:c[f]}}async function k(a){let b=g().readdirSync(a);return b.includes("package.json")&&!b.includes("tsconfig.json")}async function l(a){let b=g().readdirSync(a);return b.includes("tsconfig.json")&&b.includes("package.json")}async function m(a){let b=g().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,"40c896f7f3025c91920251dbca7f500a58db01e371",null),(0,d.A)(k,"4045b442b92d3805d54c8fb8c1b755dc24eb3d2cae",null),(0,d.A)(l,"40472cbf76c866735ef1787c8d8b075422bf56b1ec",null),(0,d.A)(m,"4051e5360ecfad866f6e2a7409abcec214c1d39cc4",null)}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{2881:(e,t,r)=>{"use strict";r.d(t,{default:()=>$});var a=r(5155),n=r(2115),l=r(7340),o=r(3052),s=r(6874),d=r.n(s);function i(e){let{path:t,onNavigate:r}=e,n=t.split("/")||[""];return(0,a.jsxs)("nav",{className:"flex items-center space-x-1 text-sm",children:[(0,a.jsx)(d(),{href:"#",onClick:()=>r(""),className:"flex items-center text-foreground",children:(0,a.jsx)(l.A,{className:"h-4 w-4 mr-1"})}),n.map((e,t)=>{let l=n.length?n.slice(0,t+1).join("."):"";return(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)(o.A,{className:"h-4 w-4 text-foreground opacity-20"}),(0,a.jsx)(d(),{href:"#",onClick:()=>r(l),className:"ml-1 text-foreground",children:e})]},t)})]})}var c=r(1362);function u(){let{theme:e,setTheme:t,resolvedTheme:r}=(0,c.D)(),[l,o]=(0,n.useState)(!1);if((0,n.useEffect)(()=>o(!0),[]),!l)return null;let s="dark"===("system"===e?r:e);return(0,a.jsx)("button",{onClick:()=>t(s?"light":"dark"),"aria-label":"Toggle dark mode",className:"rounded-lg px-3 py-2 border border-blue-400 dark:border-blue-600 text-xs cursor-pointer",title:"Switch to ".concat(s?"light":"dark"," mode"),children:s?"\uD83C\uDF19 Dark":"☀️ Light"})}let g={"nav.packages":"Packages","nav.sequence":"Sequence","settings.title":"Settings","settings.showCompoundNodes":"Show Compound Nodes","settings.showVendorPackages":"Show Vendor","settings.subPackageDepth":"Subpackage depth","settings.audit":"Audit","settings.download":"Download","settings.layout":"Layout","settings.layoutSpacing":"Layout Spacing","settings.filter":"Filter",breadthfirst:"Breadthfirst",circle:"Circle",concentric:"Concentric",elk:"Elk: Layered",grid:"Grid"};function h(e){return g[e]||"{".concat(e,"}")}var f=r(9509);let m=(e,t)=>{if(t)return"true"===t||"false"!==t&&(isNaN(Number(t))?t:Number(t))};function p(e){let{children:t,title:r}=e,n=(()=>{let e="/Users/a_rtiphishl_e/git/pkgviz";if(!e)throw Error("Missing ENV: NEXT_PUBLIC_PROJECT_PATH");return e.replace(/\\/g,"/")})().split("/").pop();return(0,a.jsxs)("header",{className:"flex flex-row items-center justify-between text-blue-50 bg-blue-500 dark:bg-blue-950 border-b-1 border-b-neutral-200 mb-1 dark:border-b-blue-800 p-2 pb-1 gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-row items-center justify-start",children:[(0,a.jsx)("h1",{className:"ml-4",children:n}),(0,a.jsx)("span",{className:"ml-2 opacity-20",children:"/"}),r&&(0,a.jsx)("strong",{className:"mx-2",children:h(r)}),t]}),(0,a.jsx)(u,{})]})}var b=r(4631);function x(){return(0,a.jsx)("div",{"data-testid":"loader",className:"h-full flex items-center justify-center",children:(0,a.jsx)(b.A,{})})}var w=r(5028),y=r(1788),v=r(6474),k=r(4073),j=r(6793);let N=e=>{let{children:t}=e;return(0,a.jsx)("div",{className:"ml-[.8rem] px-[.8rem] py-2 bg-white dark:bg-neutral-900 border-b border-b-neutral-200 dark:border-b-neutral-800",children:t})};N.displayName="Setting";var C=r(4884);function S(e){let{id:t,label:r,value:n,onToggle:l}=e;return(0,a.jsx)("form",{children:(0,a.jsxs)("div",{className:"flex items-center justify-between h-[20px]",children:[(0,a.jsx)("label",{className:"pr-[15px] leading-none text-foreground whitespace-nowrap",htmlFor:t,children:r}),(0,a.jsx)(C.bL,{className:"relative h-[18px] w-[42px] cursor-default rounded-full bg-neutral-200 dark:bg-neutral-800 outline-none data-[state=checked]:bg-neutral-200 dark:data-[state=checked]:bg-gray-700",defaultChecked:n,id:t,checked:n,onCheckedChange:l,children:(0,a.jsx)(C.zi,{className:"block size-[16px] translate-x-0.5 rounded-full bg-neutral-500 dark:bg-neutral-500 transition-transform duration-100 will-change-transform data-[state=checked]:bg-blue-500 dark:data-[state=checked]:bg-white data-[state=checked]:translate-x-[24px]"})})]})})}function F(e,t){let[r,a]=(0,n.useState)(()=>{try{let r=window.localStorage.getItem(e);return r?JSON.parse(r):t}catch(r){return console.warn('Error reading localStorage key "'.concat(e,'":'),r),t}});return[r,t=>{try{let n=t instanceof Function?t(r):t;a(n),window.localStorage.setItem(e,JSON.stringify(n))}catch(t){console.warn('Error setting localStorage key "'.concat(e,'":'),t)}}]}let E=(0,n.createContext)(null),T=e=>{let{children:t}=e,[r,n]=F("maxSubPackageDepth",1),[l,o]=F("showCompoundNodes",!1!==m("NEXT_PUBLIC_SETTINGS_SHOW_COMPOUNDNODES","true")),[s,d]=F("showVendorPackages",!0===m("NEXT_PUBLIC_SETTINGS_SHOW_VENDORPACKAGES","false")),[i,c]=F("subPackageDepth",(()=>{let e=m("NEXT_PUBLIC_SETTINGS_SUBPACKAGE_DEPTH","1");return"string"==typeof e&&e.length?parseInt(e):1})()||1),[u,g]=F("cytoscapeLayout",(()=>{let e=m("NEXT_PUBLIC_SETTINGS_LAYOUT","concentric");return"grid"===e?"grid":"circle"===e?"circle":"elk"===e?"elk":"concentric"})()),[h,p]=F("cytoscapeLayoutSpacing",(()=>{let e=m("NEXT_PUBLIC_SETTINGS_LAYOUT_SPACING",f.env.NEXT_PUBLIC_SETTINGS_LAYOUT_SPACING);return isNaN(Number(e))?1:Number(e)})());return(0,a.jsx)(E,{value:{cytoscapeLayout:u,cytoscapeLayoutSpacing:h,maxSubPackageDepth:r,showCompoundNodes:l,showVendorPackages:s,subPackageDepth:i,setCytoscapeLayout:g,setCytoscapeLayoutSpacing:p,setMaxSubPackageDepth:n,setSubPackageDepth:c,toggleShowCompoundNodes:()=>o(e=>!e),toggleShowVendorPackages:()=>d(e=>!e)},children:t})};function A(){let e=(0,n.use)(E);if(!e)throw Error("useSettings() must be used within a SettingsProvider");return e}let _=()=>{let{cytoscapeLayout:e,cytoscapeLayoutSpacing:t,maxSubPackageDepth:r,showCompoundNodes:n,showVendorPackages:l,subPackageDepth:o,setCytoscapeLayout:s,setCytoscapeLayoutSpacing:d,setSubPackageDepth:i,toggleShowCompoundNodes:c,toggleShowVendorPackages:u}=A();return(0,a.jsxs)("div",{className:"md:pt-14 border-r bg-neutral-100 border-r-neutral-200 dark:border-r-neutral-800 dark:bg-neutral-950",children:[(0,a.jsx)("h3",{children:h("settings.download")}),(0,a.jsxs)("div",{children:[(0,a.jsx)(N,{children:(0,a.jsxs)("a",{className:"flex flex-row items-center content-start text-xs",href:"/api/audit/json",download:!0,children:[(0,a.jsx)(y.A,{size:8,className:"mr-1"}),(0,a.jsx)("span",{children:"JSON"})]})}),(0,a.jsx)(N,{children:(0,a.jsxs)("a",{className:"flex flex-row items-center content-start text-xs",href:"/api/audit/xml",download:!0,children:[(0,a.jsx)(y.A,{size:8,className:"mr-1"}),(0,a.jsx)("span",{children:"XML"})]})})]}),(0,a.jsx)("h3",{children:h("settings.filter")}),(0,a.jsx)(N,{children:(0,a.jsx)(S,{id:"switch-show-vendor-packages",label:h("settings.showVendorPackages"),onToggle:()=>{u()},value:l})}),(0,a.jsx)(N,{children:(0,a.jsx)(S,{id:"switch-show-compound-nodes",label:h("settings.showCompoundNodes"),onToggle:()=>{c()},value:n})}),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h3",{children:"".concat(h("settings.subPackageDepth"),": ").concat(o)}),(0,a.jsx)(N,{children:(0,a.jsxs)(k.bL,{id:"subPackageDepth",min:1,max:r,step:1,value:[o],onValueChange:e=>{let[t]=e;return i(Number(t.toFixed(1)))},"aria-label":"Subpackage depth",className:"relative flex h-5 w-56 touch-none select-none items-center",children:[(0,a.jsx)(k.CC,{className:"relative h-1.5 grow rounded-full bg-neutral-200 dark:bg-neutral-800",children:(0,a.jsx)(k.Q6,{className:"absolute h-1.5 rounded-full bg-blue-600 dark:bg-blue-400"})}),(0,a.jsx)(k.zi,{className:"block h-4 w-4 rounded-full border border-neutral-300 bg-white shadow focus:outline-none focus:ring-2 focus:ring-blue-500 dark:border-neutral-600 dark:bg-neutral-100"})]})})]}),(0,a.jsx)("h3",{children:h("settings.layout")}),(0,a.jsx)(N,{children:(0,a.jsxs)(j.bL,{value:e,onValueChange:s,children:[(0,a.jsxs)(j.l9,{"aria-label":h("cytoscapeLayout"),className:"inline-flex items-center justify-between w-44 h-9 rounded-md px-3 border",children:[(0,a.jsx)(j.WT,{className:"text-foreground"}),(0,a.jsx)(j.In,{children:(0,a.jsx)(v.A,{})})]}),(0,a.jsx)(j.ZL,{children:(0,a.jsx)(j.UC,{position:"popper",side:"bottom",align:"start",sideOffset:6,className:"z-50 min-w-[--radix-select-trigger-width] rounded-md border bg-white dark:bg-neutral-900 shadow-md",children:(0,a.jsx)(j.LM,{className:"p-1",children:(0,a.jsx)(j.YJ,{children:["breadthfirst","circle","concentric","elk","grid"].map(e=>(0,a.jsx)(j.q7,{value:e,textValue:h(e),className:"px-2 py-1.5 rounded hover:bg-neutral-100 dark:hover:bg-neutral-800",children:(0,a.jsx)(j.p4,{children:h(e)})},e))})})})})]})}),(0,a.jsxs)("h3",{children:[h("settings.layoutSpacing"),": ",t]}),(0,a.jsx)(N,{children:(0,a.jsxs)(k.bL,{id:"spacing",min:.1,max:1,step:.1,value:[t],onValueChange:e=>{let[t]=e;return d(Number(t.toFixed(1)))},"aria-label":"Layout spacing",className:"relative flex h-5 w-56 touch-none select-none items-center",children:[(0,a.jsx)(k.CC,{className:"relative h-1.5 grow rounded-full bg-neutral-200 dark:bg-neutral-800",children:(0,a.jsx)(k.Q6,{className:"absolute h-1.5 rounded-full bg-blue-600 dark:bg-blue-400"})}),(0,a.jsx)(k.zi,{className:"block h-4 w-4 rounded-full border border-neutral-300 bg-white shadow focus:outline-none focus:ring-2 focus:ring-blue-500 dark:border-neutral-600 dark:bg-neutral-100"})]})})]})},I=(0,w.default)(()=>Promise.resolve(_),{ssr:!1}),P={light:{canvasBg:"#ffffff",edge:"#000",weightXs:"#000",weightMd:"#000",weightXl:"#000",nodeBg:"#E8F1FF",nodeBorder:"#0B5FFF",nodeBorderVendor:"#E2D5FF",nodeBgVendor:"#D1C4FF",nodeText:"#0B5FFF",selectedFill:"#0B5FFF",selectedFillVendor:"#a025aa",selectedRing:"#0B5FFF",selectedText:"#FFF"},dark:{canvasBg:"#171717",edge:"#707070",weightXs:"#5A5A5A",weightMd:"#8A8A8A",weightXl:"#C0C0C0",nodeBg:"#1E2533",nodeBgVendor:"#241431",nodeBorder:"#2A3A4A",nodeBorderVendor:"#351542",nodeText:"#E8F0FF",selectedFill:"#2E6FFF",selectedFillVendor:"#4E25AA",selectedRing:"#BBD3FF",selectedText:"#FFFFFF"}},B=e=>P[e].canvasBg;function L(e,t){let r=P[t],{thresholds:a}=function(e){var t,r;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"linear",n=arguments.length>2?arguments[2]:void 0;if(!n)return{thresholds:[],counts:[]};let l=n.edges.map(e=>Number(e.data.weight)),o=null!=(r=null==(t=n)?void 0:t.edges.reduce((e,t)=>t.data.weight>e?t.data.weight:e,0))?r:0,s=[],d=Array(e).fill(0);if("linear"===a){for(let t=1;t<e;t++)s.push(t*o/e);s.push(o)}else if("log"===a){let t=Math.log(o);for(let r=1;r<e;r++)s.push(Math.exp(r*t/e));s.push(o)}else if("quantile"===a){let t=[...l].sort((e,t)=>e-t);for(let r=1;r<e;r++){let a=Math.floor(r*t.length/e);s.push(t[a])}s.push(o)}return l.forEach(e=>{for(let t=0;t<s.length;t++)if(e<=s[t]){d[t]++;break}}),{thresholds:s.map(Math.round),counts:d}}(3,"linear",e);return[{selector:"node",style:{shape:"bottom-round-rectangle","background-color":r.nodeBg,"border-color":r.nodeBorder,color:r.nodeText,label:"data(name)","text-valign":"center","text-halign":"center",width:e=>7*e.data("name").length,height:e=>e.height()/2+10,padding:"8px 8px","border-width":1,"font-size":"14px","overlay-opacity":0}},{selector:"node.isVendor",style:{"background-color":r.nodeBgVendor}},{selector:"node.packageCycle",style:{"border-color":"#d80303","border-width":3}},{selector:"node.isParent",style:{"font-weight":"bold"}},{selector:"node:selected",style:{"background-color":r.selectedFill,"border-color":r.selectedRing,"border-width":3,color:r.selectedText,"background-opacity":1,opacity:1,"overlay-opacity":0}},{selector:"node.isVendor:selected",style:{"background-color":r.selectedFillVendor}},{selector:"node:parent, node:parent:selected",style:{"background-opacity":.3,"background-color":r.selectedFill,color:r.nodeText,"border-width":2,"border-color":r.nodeBorder,"text-valign":"top","text-margin-y":-5,padding:"10px","padding-top":"20px","text-halign":"center","font-size":14,"font-weight":"bold","font-style":"italic",label:"data(name)"}},{selector:"node:parent.isVendor, node:parent.isVendor:selected",style:{"background-color":r.nodeBgVendor,"border-color":r.nodeBorderVendor}},{selector:"edge",style:{"arrow-scale":1,"target-arrow-color":r.edge,"target-arrow-shape":"chevron","target-arrow-fill":"filled","line-color":r.edge,"curve-style":"straight",opacity:1,"line-opacity":1}},{selector:"edge.hushed",style:{opacity:.1}},{selector:"edge.highlight-outgoer, edge.highlight-incomer, edge.highlight-dependency",style:{opacity:1,"line-opacity":1,width:4,"line-color":r.weightXl,"target-arrow-color":r.weightXl,"source-arrow-color":r.weightXl}},{selector:"edge[weight <= 1]",style:{label:""}},{selector:"edge[weight > 1][weight <= ".concat(a[0],"]"),style:{width:1,"line-color":r.weightXs,"target-arrow-color":r.weightXs}},{selector:"edge[weight > ".concat(a[0],"][weight <= ").concat(a[1],"]"),style:{width:4,"arrow-scale":2,"line-color":r.weightMd,"target-arrow-color":r.weightMd}},{selector:"edge[weight > ".concat(a[1],"]"),style:{width:8,"line-color":r.weightXl,"target-arrow-color":r.weightXl}},{selector:"edge.packageCycle",style:{"line-color":"#d80303","target-arrow-color":"#d80303"}},{selector:"edge.packageCycle",style:{"line-color":"#d80303","target-arrow-color":"#d80303"}}]}function V(){return[]}function D(){return[{selector:"node",style:{shape:"barrel"}},{selector:"edge",style:{}}]}function O(){return[{selector:"node",style:{}}]}var z=r(4641),X=r(3557),M=r.n(X);function U(){return[{selector:"node",style:{"edge-distances":"intersection"}}]}function G(){return[{selector:"node",style:{shape:"rectangle"}},{selector:"edge",style:{"text-margin-x":0,"text-margin-y":0}}]}z.A.use(M());let R=(e,t)=>t.some(t=>{var r;return null==(r=t.data.id)?void 0:r.startsWith("".concat(e.data.id,"."))}),W={breadthfirst:{name:"breadthfirst",animate:!1,animationDuration:500,animationEasing:void 0,avoidOverlap:!0,boundingBox:void 0,circle:!1,depthSort:void 0,directed:!0,direction:"downward",fit:!0,grid:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,ready:void 0,stop:void 0,transform:function(e,t){return t}},circle:{name:"circle",fit:!0,avoidOverlap:!0,sort:(e,t)=>e.data("id").localeCompare(t.data("id"))},concentric:{name:"concentric",avoidOverlap:!0,fit:!0,padding:30,sort:(e,t)=>e.data("id").localeCompare(t.data("id"))},elk:{name:"elk",elk:{algorithm:"layered","elk.direction":"DOWN","elk.hierarchyHandling":"INCLUDE_CHILDREN"},animate:!0,animateFilter:function(){return!0},animationDuration:500,animationEasing:void 0,fit:!0,nodeDimensionsIncludeLabels:!1,nodeLayoutOptions:void 0,transform:function(e,t){return t},ready:void 0,stop:void 0,priority:function(){return null}},grid:{name:"grid",avoidOverlap:!0,sort:(e,t)=>e.data("id").localeCompare(t.data("id"))}};function Z(e){let t=[...e].sort(),r=[];for(let e of t)r.some(t=>e.startsWith(t+"."))||r.push(e);return r}function q(e,t){if(t.has(e))return e;let r=e.split(".");for(;r.length>1;){r.pop();let e=r.join(".");if(t.has(e))return e}return e}var H=r(7604);function J(e){let{cyInstance:t}=e,[r,l]=(0,n.useState)(1),[o,s]=(0,n.useState)(.1),[d,i]=(0,n.useState)(2);return(0,n.useEffect)(()=>{if(!t)return;l(t.zoom()),s(t.minZoom()),i(t.maxZoom());let e=()=>{l(t.zoom())};return t.on("zoom",e),()=>{t.off("zoom",e)}},[t]),(0,a.jsxs)("div",{className:"p-4 flex items-center justify-center gap-2 border-t border-t-gray-200 dark:border-t-gray-800",children:[(0,a.jsx)("label",{htmlFor:"zoom",children:"Zoom:"}),(0,a.jsx)("button",{type:"button",title:"Zoom to fit",onClick:()=>{t&&(t.fit(void 0,50),l(t.zoom()))},className:"p-1 rounded hover:bg-gray-100 dark:hover:bg-gray-800",children:(0,a.jsx)(H.A,{className:"cursor-pointer"})}),(0,a.jsx)("input",{id:"zoom",type:"range",min:o,max:d,step:"0.05",value:r,onChange:e=>{if(!t)return;let r=Math.min(d,Math.max(o,parseFloat(e.target.value))),a={x:t.width()/2,y:t.height()/2};t.zoom({level:r,renderedPosition:a}),l(r)},className:"w-64"}),(0,a.jsxs)("span",{className:"text-sm",children:[(100*r).toFixed(0),"%"]})]})}function Y(e){let{currentPackage:t,packageGraph:r,setCurrentPackage:l}=e,{cyRef:o,cyInstance:s}=function(e,t,r){let a=(0,n.useRef)(null),[l,o]=(0,n.useState)(null),[s,d]=(0,n.useState)(null),i=(0,n.useRef)(null),u=(0,n.useRef)(null),g=(0,n.useRef)(null);u.current=e,g.current=l;let{cytoscapeLayout:h,cytoscapeLayoutSpacing:f,showCompoundNodes:m,showVendorPackages:p,subPackageDepth:b,setMaxSubPackageDepth:x}=A(),{resolvedTheme:w}=(0,c.D)(),y="dark"===w?"dark":"light";(0,n.useEffect)(()=>{if(!e)return;let a=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=e.nodes.map(e=>e.data.id),n=new Set(a),l=new Set(Z(a)),o=new Map;for(let e of a){let t=function(e,t,r,a){if(r<=1)return e;let n=e.split(".").length,l=t.split("."),o=Math.min(n+(r-1),l.length);for(let e=o;e>=n;e--){let t=l.slice(0,e).join(".");if(a.has(t))return t}return e}(q(e,l),e,r,n);o.set(e,t)}let s=new Set(o.values()),d=e.nodes.filter(e=>s.has(e.data.id)),i=new Map;for(let r of e.edges){var c,u,g,h,f;let e=r.data.source,a=r.data.target,n=null!=(c=o.get(e))?c:e,l=null!=(u=o.get(a))?u:a;if(!s.has(n)||!s.has(l)||!t&&n===l)continue;let d="".concat(n,"->").concat(l);if(i.has(d)){let e=i.get(d),t=null!=(h=r.data.weight)?h:1;e.data.weight=(null!=(f=e.data.weight)?f:0)+t}else i.set(d,{...r,data:{...r.data,source:n,target:l,weight:null!=(g=r.data.weight)?g:1}})}return{nodes:d,edges:Array.from(i.values())}}(function(e,t){if(!t)return e;let r=t.endsWith(".")?t:t+".",a=e.nodes.filter(e=>e.data.id.startsWith(r)),n=new Set(a.map(e=>e.data.id));return{nodes:a,edges:e.edges.filter(e=>n.has(e.data.source)&&n.has(e.data.target))}}(function(e,t,r){let{nodes:a,edges:n}=e;return{nodes:a.map(e=>(e.data.idInactive||(e.data.idInactive=e.data.id),t&&e.data.parentInactive?(e.data.parent=e.data.parentInactive,e.data.parentInactive=void 0):!t&&e.data.parent&&(e.data.parentInactive=e.data.parent,e.data.parent=void 0),e)).map(e=>(t?e.data.name=e.data.idInactive.split(".").pop():e.data.name=e.data.idInactive.slice(r.length?r.length+1:0),e)),edges:n}}(e,m,t),t.replace(/\//g,".")),!0,b),n=p?a:function(e){let t=e.nodes.filter(e=>!!e.data.isIntrinsic),r=new Set(t.map(e=>e.data.id));return{nodes:t,edges:e.edges.filter(e=>r.has(e.data.source)&&r.has(e.data.target))}}(a),l=function(e,t){let r=t.nodes.map(e=>e.data.id);if(!e){let e=t.nodes.filter(e=>{var t;return!(null==(t=e.data.id)?void 0:t.includes("."))});return e.length>1?"":e[0].data.id}for(;;){let t=r.filter(t=>t.startsWith(e+".")&&t.split(".").length===e.split(".").length+1);if(1===t.length)e=t[0];else break}return e}(t,n);if(l!==t)return void r(l);o({nodes:n.nodes.map(e=>{var r;let a=t.length?null==(r=e.data.id)?void 0:r.slice(t.length+1):e.data.id;return{group:"nodes",classes:e.classes||"",data:{...e.data,label:a}}}),edges:n.edges}),x(function(e){let t=e.nodes.map(e=>String(e.data.id));if(0===t.length)return 0;let r=new Set(Z(t)),a=1;for(let e of t){let t=q(e,r),n=e.split(".").length-t.split(".").length+1;n>a&&(a=n)}return a}(e))},[e,t,r,m,p,b,x]);let v=(0,n.useCallback)(e=>({...W[e],spacingFactor:f,nodeDimensionsIncludeLabels:!0,fit:!0,animate:!1,animationDuration:400}),[f]),k=(0,n.useCallback)((e,t)=>{try{var r;null==(r=i.current)||r.stop()}catch(e){}i.current=null,!e||e.destroyed()||(e.resize(),requestAnimationFrame(()=>{if(!e||e.destroyed())return;let r=e.layout(v(t));i.current=r,e.one("layoutstop",()=>{e.destroyed()||e.fit(void 0,50)}),r.run()}))},[v]);return(0,n.useEffect)(()=>{if(!a.current)return;let e=(0,z.A)({container:a.current,elements:[],hideEdgesOnViewport:!0,minZoom:.01,maxZoom:2,selectionType:"additive",style:L({nodes:[],edges:[]},y),userPanningEnabled:!0});d(e),a.current.style.background=B(y);let t=()=>{e.destroyed()||e.fit(void 0,50)},r=new ResizeObserver(()=>requestAnimationFrame(t));return r.observe(a.current),()=>{try{var t;null==(t=i.current)||t.stop()}catch(e){}i.current=null,r.disconnect(),e.destroy(),d(null)}},[y]),(0,n.useEffect)(()=>{!s||!l||s.destroyed()||(s.batch(()=>{s.elements().remove(),s.add(l)}),s.nodes().forEach(e=>{var t,a,n;let l=null==(t=g.current)?void 0:t.nodes.find(t=>t.data.id===e.data().id),o=null!=(n=null==(a=u.current)?void 0:a.nodes)?n:[];e.removeClass("isParent"),e.off("dblclick"),l&&R(l,o)&&(e.addClass("isParent"),e.on("dblclick",()=>r(e.id().replace(/\./g,"/"))))}),k(s,h))},[s,l,h,k,r]),(0,n.useEffect)(()=>{!s||!l||s.destroyed()||k(s,h)},[s,l,h,f,k]),(0,n.useEffect)(()=>{let e;if(!s)return;let t=()=>{if(s.destroyed())return;let e=s.nodes(":selected"),t=s.elements();if(t.removeClass("hushed highlight highlight-outgoer highlight-incomer"),e.empty())return;let r=e.union(e.neighborhood());t.difference(r).addClass("hushed"),e.addClass("highlight"),e.outgoers().addClass("highlight-outgoer"),e.incomers().addClass("highlight-incomer")};return s.on("select unselect","node",t),s.on("mouseover","node",e=>{if(s.destroyed())return;let t=e.target,r=g.current,a=u.current,n=null==r?void 0:r.nodes.find(e=>e.data.id===t.data().id);n&&a&&R(n,a.nodes)&&(document.body.style.cursor="pointer",r&&R(n,r.nodes))||(s.elements().subtract(t.outgoers()).subtract(t.incomers()).subtract(t).addClass("hushed"),t.addClass("highlight"),t.outgoers().addClass("highlight-outgoer"),t.incomers().addClass("highlight-incomer"))}),s.on("mouseout","node",()=>{s.destroyed()||(document.body.style.cursor="default",t())}),s.on("mouseover","edge",t=>{if(s.destroyed())return;let r=t.target;r.addClass("highlight-dependency"),e=setTimeout(()=>{s.destroyed()||(r.source().addClass("highlight-dependency"),r.target().addClass("highlight-dependency"))},150)}),s.on("mouseout","edge",t=>{if(s.destroyed())return;let r=t.target;r.removeClass("highlight-dependency"),clearTimeout(e),r.source().removeClass("highlight-dependency"),r.target().removeClass("highlight-dependency")}),()=>{var e;null==(e=s.removeAllListeners)||e.call(s),document.body.style.cursor="default"}},[s]),(0,n.useEffect)(()=>{if(!s||!l||!a.current)return;let e="breadthfirst"===h?V:"circle"===h?D:"elk"===h?U:"grid"===h?G:O;s.style([...L(l,y),...e()]).update(),a.current.style.background=B(y)},[s,l,y,h]),{cyRef:a,cyInstance:s}}(r,t,l);return(0,a.jsxs)("div",{className:"flex flex-col w-full px-8 flex-1 gap-2",children:[(0,a.jsx)("div",{ref:o,className:"h-[calc(100%-65px)]"}),(0,a.jsx)(J,{cyInstance:s})]})}let K={contentType:"application/json"};async function Q(e){let t=await fetch(e,{headers:K});return await t.json()}function $(){let[e,t]=(0,n.useState)(""),[r,l]=(0,n.useState)(null);return(0,n.useEffect)(()=>{r||Q("/api/fs/getGraph").then(l)},[r]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p,{title:"nav.packages",children:(0,a.jsx)(i,{path:e.replace(/\./g,"/"),onNavigate:e=>t(e.replace(/\//g,"."))})}),(0,a.jsx)(T,{children:(0,a.jsxs)("main",{"data-testid":"main",className:"flex flex-1 flex-row dark:bg-[#171717]",children:[(0,a.jsx)(I,{}),r?(0,a.jsx)(Y,{currentPackage:e,setCurrentPackage:t,packageGraph:r}):(0,a.jsx)(x,{})]})})]})}},7269:(e,t,r)=>{Promise.resolve().then(r.bind(r,2881))}},e=>{e.O(0,[747,238,772,441,964,358],()=>e(e.s=7269)),_N_E=e.O()}]);
|
|
File without changes
|
|
File without changes
|