@vitejs/devtools-vite 0.0.0-alpha.22 → 0.0.0-alpha.23

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/dist/index.d.mts CHANGED
@@ -86,9 +86,11 @@ interface DevToolsDockHost {
86
86
  update: (patch: Partial<T>) => void;
87
87
  };
88
88
  update: (entry: DevToolsDockUserEntry) => void;
89
- values: () => DevToolsDockUserEntry[];
89
+ values: (options?: {
90
+ includeBuiltin?: boolean;
91
+ }) => DevToolsDockEntry[];
90
92
  }
91
- type DevToolsDockEntryCategory = 'app' | 'framework' | 'web' | 'advanced' | 'default';
93
+ type DevToolsDockEntryCategory = 'app' | 'framework' | 'web' | 'advanced' | 'default' | 'builtin';
92
94
  type DevToolsDockEntryIcon = string | {
93
95
  light: string;
94
96
  dark: string;
@@ -164,7 +166,7 @@ interface DevToolsViewCustomRender extends DevToolsDockEntryBase {
164
166
  }
165
167
  interface DevToolsViewBuiltin extends DevToolsDockEntryBase {
166
168
  type: '~builtin';
167
- id: '~terminals' | '~logs' | '~client-auth-notice';
169
+ id: '~terminals' | '~logs' | '~client-auth-notice' | '~settings';
168
170
  }
169
171
  type DevToolsDockUserEntry = DevToolsViewIframe | DevToolsViewAction | DevToolsViewCustomRender | DevToolsViewLauncher;
170
172
  type DevToolsDockEntry = DevToolsDockUserEntry | DevToolsViewBuiltin;
@@ -175,6 +177,7 @@ interface DevToolsNodeRpcSessionMeta {
175
177
  ws?: WebSocket;
176
178
  clientAuthId?: string;
177
179
  isTrusted?: boolean;
180
+ subscribedStates: Set<string>;
178
181
  }
179
182
  //#endregion
180
183
  //#region ../kit/src/utils/shared-state.d.ts
package/dist/index.mjs CHANGED
@@ -1069,9 +1069,9 @@ const weakMap = /* @__PURE__ */ new WeakMap();
1069
1069
  function getLogsManager(context) {
1070
1070
  let manager = weakMap.get(context);
1071
1071
  if (!manager) {
1072
- const dirs = [join(context.cwd, ".rolldown"), join(process$1.cwd(), ".rolldown")];
1072
+ const dirs = [join(context.cwd, "node_modules", ".rolldown"), join(process$1.cwd(), "node_modules", ".rolldown")];
1073
1073
  const dir = dirs.find((dir$1) => existsSync(dir$1));
1074
- if (!dir) console.warn("[Vite DevTools] Rolldown logs directory `.rolldown` not found, you might want to run build with `build.rolldownOptions.debug` enabled first.");
1074
+ if (!dir) console.warn("[Vite DevTools] Rolldown logs directory `.rolldown` not found, you might want to run build with `build.rolldownOptions.devtools` enabled first.");
1075
1075
  manager = new RolldownLogsManager(dir ?? dirs[0]);
1076
1076
  }
1077
1077
  return manager;
@@ -9374,8 +9374,15 @@ async function getPackagesManifest(reader) {
9374
9374
  };
9375
9375
  });
9376
9376
  await Promise.all(packages.map(async (p) => {
9377
- const manifest = await (0, import_lib.readProjectManifestOnly)(p.dir);
9378
- const packageKey = `${manifest.name}@${manifest.version}`;
9377
+ let packageKey = "";
9378
+ let manifest = null;
9379
+ try {
9380
+ manifest = await (0, import_lib.readProjectManifestOnly)(p.dir);
9381
+ packageKey = `${manifest.name}@${manifest.version}`;
9382
+ } catch (err) {
9383
+ if (err?.code === "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND") packageKey = `${p.dir}`;
9384
+ else throw err;
9385
+ }
9379
9386
  const packageInfo = packagesManifest.get(packageKey);
9380
9387
  const importers = getImporters(p.path, p.dir).map((i) => ({
9381
9388
  path: i,
@@ -9391,8 +9398,8 @@ async function getPackagesManifest(reader) {
9391
9398
  transformedCodeSize: packageInfo.transformedCodeSize + p.transformedCodeSize
9392
9399
  });
9393
9400
  else packagesManifest.set(packageKey, {
9394
- name: manifest.name,
9395
- version: manifest.version,
9401
+ name: manifest?.name || p.dir,
9402
+ version: manifest?.version || "(unknown)",
9396
9403
  dir: p.dir,
9397
9404
  files: [{
9398
9405
  path: p.path,
@@ -9425,7 +9432,12 @@ const rolldownGetPackages = defineRpcFunction({
9425
9432
  let files = p.files;
9426
9433
  if (duplicated) files = await Promise.all(files.map(async (f) => {
9427
9434
  const importers = await Promise.all(f.importers.map(async (i) => {
9428
- const manifest = isNodeModulePath(i.path) ? await (0, import_lib.readProjectManifestOnly)(getPackageDirPath(i.path)) : null;
9435
+ let manifest = null;
9436
+ try {
9437
+ if (isNodeModulePath(i.path)) manifest = await (0, import_lib.readProjectManifestOnly)(getPackageDirPath(i.path));
9438
+ } catch (err) {
9439
+ if (err?.code !== "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND") throw err;
9440
+ }
9429
9441
  return {
9430
9442
  ...i,
9431
9443
  version: manifest?.version ?? ""
@@ -9589,7 +9601,6 @@ function DevToolsViteUI() {
9589
9601
  return {
9590
9602
  name: "vite:devtools:vite-ui",
9591
9603
  devtools: { setup(ctx) {
9592
- console.log("Vite DevTools Vite plugin setup");
9593
9604
  for (const fn of rpcFunctions) ctx.rpc.register(fn);
9594
9605
  ctx.views.hostStatic("/.devtools-vite/", clientPublicDir);
9595
9606
  ctx.docks.register({
package/dist/nitro.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "date": "2025-12-23T13:18:35.220Z",
2
+ "date": "2026-01-07T07:39:00.844Z",
3
3
  "preset": "static",
4
4
  "framework": {
5
5
  "name": "nuxt",
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="bg-dots"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><script type="importmap">{"imports":{"#entry":"/.devtools-vite/_nuxt/D6Epdimc.js"}}</script><title>Vite DevTools</title><link rel="stylesheet" href="/.devtools-vite/_nuxt/entry.B7Ui_tQC.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/.devtools-vite/_nuxt/D6Epdimc.js"><meta name="description" content="DevTools for Vite"><meta property="og:title" content="Vite DevTools"><meta property="og:description" content="DevTools for Vite"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><script type="module" src="/.devtools-vite/_nuxt/D6Epdimc.js" crossorigin></script><script id="unhead:payload" type="application/json">{"title":"Vite DevTools"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1766495915140,false]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/.devtools-vite/",buildId:"26a4981b-f9f2-4e38-94f7-bf74f5a3019a",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="bg-dots"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><script type="importmap">{"imports":{"#entry":"/.devtools-vite/_nuxt/C43a-rz2.js"}}</script><title>Vite DevTools</title><link rel="stylesheet" href="/.devtools-vite/_nuxt/entry.CO9FV_5d.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/.devtools-vite/_nuxt/C43a-rz2.js"><meta name="description" content="DevTools for Vite"><meta property="og:title" content="Vite DevTools"><meta property="og:description" content="DevTools for Vite"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><script type="module" src="/.devtools-vite/_nuxt/C43a-rz2.js" crossorigin></script><script id="unhead:payload" type="application/json">{"title":"Vite DevTools"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1767771540754,false]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/.devtools-vite/",buildId:"d61b2fbd-b4b2-4f0d-9b46-a34c82edf808",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="bg-dots"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><script type="importmap">{"imports":{"#entry":"/.devtools-vite/_nuxt/D6Epdimc.js"}}</script><title>Vite DevTools</title><link rel="stylesheet" href="/.devtools-vite/_nuxt/entry.B7Ui_tQC.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/.devtools-vite/_nuxt/D6Epdimc.js"><meta name="description" content="DevTools for Vite"><meta property="og:title" content="Vite DevTools"><meta property="og:description" content="DevTools for Vite"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><script type="module" src="/.devtools-vite/_nuxt/D6Epdimc.js" crossorigin></script><script id="unhead:payload" type="application/json">{"title":"Vite DevTools"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1766495915141,false]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/.devtools-vite/",buildId:"26a4981b-f9f2-4e38-94f7-bf74f5a3019a",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="bg-dots"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><script type="importmap">{"imports":{"#entry":"/.devtools-vite/_nuxt/C43a-rz2.js"}}</script><title>Vite DevTools</title><link rel="stylesheet" href="/.devtools-vite/_nuxt/entry.CO9FV_5d.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/.devtools-vite/_nuxt/C43a-rz2.js"><meta name="description" content="DevTools for Vite"><meta property="og:title" content="Vite DevTools"><meta property="og:description" content="DevTools for Vite"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><script type="module" src="/.devtools-vite/_nuxt/C43a-rz2.js" crossorigin></script><script id="unhead:payload" type="application/json">{"title":"Vite DevTools"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1767771540755,false]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/.devtools-vite/",buildId:"d61b2fbd-b4b2-4f0d-9b46-a34c82edf808",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
@@ -1 +1 @@
1
- import{C as e,Et as t,H as n,Ht as r,an as i,ct as a,dt as o,mt as s,pt as c}from"#entry";import{t as l}from"./s37iQDTO.js";var u={class:`antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide`},d={class:`max-w-520px text-center`},f=[`textContent`],p=[`textContent`],m=[`textContent`],h={class:`flex items-center justify-center w-full`},g=e({__name:`error-404`,props:{appName:{type:String,default:`Nuxt`},statusCode:{type:Number,default:404},statusMessage:{type:String,default:`Page not found`},description:{type:String,default:`Sorry, the page you are looking for could not be found.`},backHome:{type:String,default:`Go back home`}},setup(e){let g=e;return n({title:`${g.statusCode} - ${g.statusMessage} | ${g.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:`*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }`}]}),(n,g)=>{let _=l;return t(),o(`div`,u,[a(`div`,d,[a(`h1`,{class:`font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]`,textContent:i(e.statusCode)},null,8,f),a(`h2`,{class:`font-semibold mb-2 sm:text-3xl text-2xl`,textContent:i(e.statusMessage)},null,8,p),a(`p`,{class:`mb-4 px-2 text-[#64748B] text-md`,textContent:i(e.description)},null,8,m),a(`div`,h,[s(_,{to:`/`,class:`font-medium hover:text-[#00DC82] text-sm underline underline-offset-3`},{default:r(()=>[c(i(e.backHome),1)]),_:1})])])])}}},[[`__scopeId`,`data-v-8131e8fe`]]);export{g as default};
1
+ import{C as e,Et as t,H as n,Ht as r,an as i,ct as a,dt as o,mt as s,pt as c}from"#entry";import{t as l}from"./s37iQDTO.js";var u={class:`antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide`},d={class:`max-w-520px text-center`},f=[`textContent`],p=[`textContent`],m=[`textContent`],h={class:`flex items-center justify-center w-full`},g=e({__name:`error-404`,props:{appName:{type:String,default:`Nuxt`},statusCode:{type:Number,default:404},statusMessage:{type:String,default:`Page not found`},description:{type:String,default:`Sorry, the page you are looking for could not be found.`},backHome:{type:String,default:`Go back home`}},setup(e){let g=e;return n({title:`${g.statusCode} - ${g.statusMessage} | ${g.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:`*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }`}]}),(n,g)=>{let _=l;return t(),o(`div`,u,[a(`div`,d,[a(`h1`,{class:`font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]`,textContent:i(e.statusCode)},null,8,f),a(`h2`,{class:`font-semibold mb-2 sm:text-3xl text-2xl`,textContent:i(e.statusMessage)},null,8,p),a(`p`,{class:`mb-4 px-2 text-[#64748B] text-md`,textContent:i(e.description)},null,8,m),a(`div`,h,[s(_,{to:`/`,class:`font-medium hover:text-[#00DC82] text-sm underline underline-offset-3`},{default:r(()=>[c(i(e.backHome),1)]),_:1})])])])}}},[[`__scopeId`,`data-v-16937a83`]]);export{g as default};
@@ -0,0 +1 @@
1
+ import{At as e,Bt as t,Et as n,G as r,Ht as i,Jt as a,Nt as o,Rt as s,St as c,Ut as l,Yt as u,an as d,at as f,c as p,ct as m,dt as h,ft as g,g as _,ht as v,in as y,lt as b,mt as x,nn as S,p as C,pt as w,st as T,tn as E,ut as D,x as ee,y as O,zt as k}from"#entry";import{t as A}from"./s37iQDTO.js";import{r as j}from"./EZmie0b_.js";import{t as M}from"./mJg3pdS2.js";import{r as N,t as P}from"./CE23KUMI.js";import{i as F,t as te}from"./R6f4Y_SJ.js";import{n as ne,r as I,t as L}from"./XY_il7uL.js";import{a as re,c as ie,i as ae,n as R,o as z,r as oe,t as se}from"./xtsFKyex.js";import{t as ce}from"./BwW8gZ6K.js";import{n as le,r as ue,t as B}from"./Bij65W5n.js";var V=[`onClick`],H=v({__name:`FlatList`,props:{chunks:{},session:{},link:{type:Boolean,default:!0},basic:{type:Boolean,default:!1}},emits:[`select`],setup(e,{emit:t}){let r=t;return(t,a)=>{let o=j,s=F,c=L;return n(),b(c,{items:e.chunks,"key-prop":`chunk_id`},{default:i(({item:t})=>[m(`div`,{flex:``,pb2:``,onClick:e=>r(`select`,t)},[x(s,{chunk:t,basic:e.basic,link:e.link,"w-full":``,"font-mono":``,border:`~ rounded base`,px2:``,py1:``,"text-sm":``,hover:`bg-active`,flex:`~ gap-4 items-center`},{"left-after":i(()=>[t.is_initial?(n(),b(o,{key:0,text:`initial`})):D(``,!0)]),_:2},1032,[`chunk`,`basic`,`link`])],8,V)]),_:1},8,[`items`])}}}),de=Object.assign(H,{__name:`ChunksFlatList`}),U={op50:``,"font-mono":``,w12:``},W=[`title`],G={flex:`~ gap-1 items-center`},K=v({__name:`Graph`,props:{session:{},chunks:{},entryId:{default:``}},setup(e){let t=e,a=T(()=>t.chunks),o=r();return M({modules:a,spacing:{width:450,height:55,linkOffset:15,margin:120,gap:150},generateGraph:e=>{let{isFirstCalculateGraph:n,scale:r,spacing:i,tree:o,hierarchy:s,collapsedNodes:l,container:u,modulesMap:d,nodes:f,links:p,nodesMap:m,linksMap:h,width:g,height:_,childToParentMap:v}=e;return()=>{g.value=window.innerWidth,_.value=window.innerHeight;let e=a.value.filter(e=>t.entryId?e.id===t.entryId:e.reason===`entry`),y=new Set,b=s({module:{id:`~root`}},t=>`${t.module?.id}`==`~root`?(e.forEach(e=>{y.add(e),n.value&&v.set(e.id,`~root`)}),e.map(e=>({module:e,expanded:!l.has(e.id),hasChildren:!1}))):l.has(`${t.module?.id}`)?[]:t.module.imports?.map(e=>{let r=d.value.get(`${e.chunk_id}`);if(!(!r||y.has(r)))return n.value&&v.set(r.id,t.module.id),y.add(r),{module:r,expanded:!l.has(r.id),hasChildren:!1}}).filter(e=>e!==void 0));n.value&&=!1,o().nodeSize([E(i.height),E(i.width)+E(i.gap)])(b);let x=b.descendants();for(let e of x)[e.x,e.y]=[e.y-E(i.width),e.x];let S=Math.min(...x.map(e=>e.x)),C=Math.min(...x.map(e=>e.y));if(S<E(i.margin))for(let e of x)e.x+=Math.abs(S)+E(i.margin);if(C<E(i.margin))for(let e of x)e.y+=Math.abs(C)+E(i.margin);f.value=x,m.clear();for(let e of x)m.set(`${e.data.module.id}`,e);let w=b.links().filter(e=>`${e.source.data.module.id}`!=`~root`).map(e=>({...e,id:`${e.source.data.module.id}|${e.target.data.module.id}`})),T=a.value.flatMap(e=>e.imports.filter(t=>!w.find(n=>n.id===`${e.chunk_id}|${t.chunk_id}`)).map(t=>({source:m.get(`${e.chunk_id}`),target:m.get(`${t.chunk_id}`),id:`${e.chunk_id}|${t.chunk_id}`}))),D=[...w,...T];h.clear();for(let e of D)h.set(e.id,e);p.value=D,c(()=>{g.value=u.value.scrollWidth/r.value+E(i.margin),_.value=u.value.scrollHeight/r.value+E(i.margin)})}}}),(t,r)=>{let s=j,c=A,l=B;return n(),b(l,{session:e.session,modules:a.value,"expand-controls":!1},{default:i(({node:e})=>[x(c,{class:`flex items-center`,to:{path:E(o).path,query:{chunk:e.data.module.chunk_id}}},{default:i(()=>[m(`span`,U,`#`+d(e.data.module.id),1),m(`div`,{flex:`~ gap-2 items-center`,title:`Chunk #${e.data.module.id}`},[m(`div`,null,d(e.data.module.name||`[unnamed]`),1),x(s,{text:e.data.module.reason},null,8,[`text`]),e.data.module.is_initial?(n(),b(s,{key:0,text:`initial`})):D(``,!0)],8,W),r[1]||=m(`div`,{"flex-auto":``},null,-1),m(`div`,G,[r[0]||=m(`div`,{"i-ph-package-duotone":``},null,-1),w(` `+d(e.data.module.modules.length),1)])]),_:2},1032,[`to`])]),_:1},8,[`session`,`modules`])}}}),fe=Object.assign(K,{__name:`ChunksGraph`}),q={grid:`~ cols-[max-content_1fr] gap-2`,p4:``},J={flex:`~ col gap-4`},Y={key:0,grid:`~ cols-[250px_1fr] gap-1`},X=[`onClick`],Z={key:0,"text-primary":``},pe={key:1},Q=[`onClick`],$=[`title`],me=v({__name:`Sunburst`,props:{graph:{},selected:{}},emits:[`select`],setup(r,{emit:i}){let a=r,c=i,u=s(`el`);return t(()=>u.value?.append(a.graph.el)),(t,i)=>{let a=R,s=N,p=o(`tooltip`);return n(),h(`div`,q,[m(`div`,{ref_key:`el`,ref:u,"w-500px":``},null,512),m(`div`,J,[x(a,{border:`b base`,py2:``,selected:r.selected,options:r.graph.options,onSelect:i[0]||=e=>c(`select`,e)},null,8,[`selected`,`options`]),r.selected?(n(),h(`div`,Y,[(n(!0),h(f,null,e(r.selected.children,e=>(n(),h(f,{key:e.id},[m(`button`,{"ws-nowrap":``,"text-nowrap":``,"text-left":``,"overflow-hidden":``,"text-ellipsis":``,"text-sm":``,hover:`bg-active`,rounded:``,px2:``,onClick:t=>c(`select`,e)},[e.meta&&e.meta===r.selected?.meta?(n(),h(`span`,Z,`(self)`)):(n(),h(`span`,pe,d(e.meta?.name||e.id),1))],8,X),m(`button`,{relative:``,flex:`~ gap-1 items-center`,hover:`bg-active`,rounded:``,onClick:t=>c(`select`,e)},[m(`div`,{"h-5":``,rounded:``,shadow:``,border:`~ base`,style:y({background:E(z)(r.graph.options.getColor?.(e)||`#000`),width:`${e.size/r.selected.size*100}%`})},null,4),x(s,{"text-xs":``,bytes:e.size,total:r.selected.size,"percent-ratio":3},null,8,[`bytes`,`total`]),e.children.length>0?l((n(),h(`div`,{key:0,title:`${e.children.length} modules`,"text-xs":``,"op-fade":``},[w(` (`+d(e.children.length)+`) `,1)],8,$)),[[p,`${e.children.length} modules`]]):D(``,!0)],8,Q)],64))),128))])):D(``,!0)])])}}}),he=Object.assign(me,{__name:`ChunksSunburst`}),ge=v({__name:`Flamegraph`,props:{graph:{}},setup(e){let r=e,i=s(`el`);return t(()=>i.value?.append(r.graph.el)),(e,t)=>(n(),h(`div`,{ref_key:`el`,ref:i},null,512))}}),_e=Object.assign(ge,{__name:`ChunksFlamegraph`}),ve={key:1,relative:``,"max-h-screen":``,"of-hidden":``},ye={absolute:``,"left-4":``,"top-4":``,"z-panel-nav":``},be={key:0,h10:``,mr2:``,flex:`~ items-center`},xe={flex:`~ gap-2 items-center`,p2:``,border:`t base`},Se=[`onClick`],Ce={key:0,class:`px5 pt32 of-auto h-screen`,flex:`~ col gap-4`},we={key:1,class:`px5 pt32 of-auto h-screen`,flex:`~ col gap-4`},Te={key:3,"of-auto":``,"h-screen":``,flex:`~ col gap-2`,pt32:``},Ee={key:4,"of-auto":``,"h-screen":``,flex:`~ col gap-2`,pt32:``},De={key:5,"of-auto":``,"h-screen":``,flex:`~ col gap-2`,pt32:``},Oe={key:0,border:`~ base rounded-lg`,"bg-base":``,p2:``,flex:`~ col gap-2`,"min-w-50":``,"shadow-lg":``},ke={flex:`~ gap-2 items-center`},Ae={truncate:``},je={flex:`~ gap-2 items-center`},Me={key:0,flex:`~ gap-2 items-center`},Ne={"text-xs":``},Pe={key:1,flex:`~ gap-2 items-center`},Fe=v({__name:`chunks`,props:{session:{}},setup(t){let r=t,o=a(C()),s=[{label:`List`,value:`list`,icon:`i-ph-list-bullets-duotone`},{label:`Detailed List`,value:`detailed-list`,icon:`i-ph-list-magnifying-glass-duotone`},{label:`Graph`,value:`graph`,icon:`i-ph-graph-duotone`},{label:`Treemap`,value:`treemap`,icon:`i-ph-checkerboard-duotone`},{label:`Sunburst`,value:`sunburst`,icon:`i-ph-chart-donut-duotone`},{label:`Flamegraph`,value:`flamegraph`,icon:`i-ph-chart-bar-horizontal-duotone`}],c=u({search:``}),l=O(),{state:v,isLoading:y}=p(async()=>await l.value.call(`vite:rolldown:get-chunks-graph`,{session:r.session.id}),null),A=T(()=>{let e=new Map;return v.value?.forEach(t=>{e.set(`${t.chunk_id}`,t)}),e}),M=T(()=>v.value?.map(e=>({...e,id:`${e.chunk_id}`}))??[]),F=_(()=>M.value,()=>new I(M.value,{includeScore:!0,keys:[`name`],ignoreLocation:!0,threshold:.4})),L=T(()=>c.value.search?F.value.search(c.value.search).map(e=>e.item):M.value),{pathSelectorVisible:z,pathNodes:B,selectPathNodes:V,togglePathSelector:H,normalizedGraph:U}=ue({onToggle:e=>{c.value.search=e?!1:``},dataMap:T(()=>A.value),list:T(()=>L.value),importIdKey:`chunk_id`});function W(e){P.value.chunkViewType=e}let G=T(()=>{let e=new Map;for(let t of r.session.modulesList)e.set(t.id,t);return e});function K(e){return e.asset?.size?e.asset.size:e.modules.reduce((e,t)=>{let n=G.value.get(t);if(!n||!n.buildMetrics?.transforms?.length)return e;let r=n.buildMetrics.transforms;return e+r[r.length-1].transformed_code_size},0)}let{tree:q,chartOptions:J,graph:Y,nodeHover:X,nodeSelected:Z,selectedNode:pe,selectNode:Q,buildGraph:$}=se({data:T(()=>L.value.map(e=>({...e,filename:e.name||`chunk-${e.chunk_id}`,size:K(e)}))),nameKey:`filename`,sizeKey:`size`,rootText:`Chunks`,nodeType:`chunk`,graphOptions:{onClick(e){e&&(X.value=e)},onHover(e){e&&(X.value=e),e===null&&(X.value=void 0)},onLeave(){X.value=void 0},onSelect(e){Z.value=e||q.value.root,pe.value=e?.meta}},onUpdate(){switch(P.value.chunkViewType){case`sunburst`:Y.value=new ae(q.value.root,J.value);break;case`treemap`:Y.value=new re(q.value.root,{...J.value,selectedPaddingRatio:0});break;case`flamegraph`:Y.value=new oe(q.value.root,J.value);break}}});return k(()=>P.value.chunkViewType,()=>{[`treemap`,`sunburst`,`flamegraph`].includes(P.value.chunkViewType)&&$()}),(r,a)=>{let l=ee,u=de,p=le,_=ne,v=te,C=fe,T=R,O=he,k=_e,M=N,F=j,I=ie;return E(y)?(n(),b(l,{key:0})):(n(),h(`div`,ve,[m(`div`,ye,[x(_,{modelValue:c.value,"onUpdate:modelValue":a[2]||=e=>c.value=e,rules:[]},g({"search-end":i(()=>[E(P).chunkViewType===`graph`?(n(),h(`div`,be,[m(`button`,{"w-8":``,"h-8":``,"rounded-full":``,flex:``,"items-center":``,"justify-center":``,hover:`bg-active op100`,op50:``,title:`Graph Path Selector`,onClick:a[1]||=e=>E(H)(!0)},[...a[5]||=[m(`i`,{"i-ri:route-line":``,flex:``},null,-1)]])])):D(``,!0)]),default:i(()=>[m(`div`,xe,[a[6]||=m(`span`,{op50:``,pl2:``,"text-sm":``},`View as`,-1),(n(),h(f,null,e(s,e=>m(`button`,{key:e.value,"btn-action":``,class:S(E(P).chunkViewType===e.value?`bg-active`:`grayscale op50`),onClick:t=>W(e.value)},[m(`div`,{class:S(e.icon)},null,2),w(` `+d(e.label),1)],10,Se)),64))])]),_:2},[E(z)?{name:`search`,fn:i(()=>[x(p,{session:t.session,data:L.value,"import-id-key":`chunk_id`,"search-keys":[`name`],onSelect:E(V),onClose:a[0]||=e=>E(H)(!1)},{list:i(({select:e,data:n})=>[x(u,{session:t.session,chunks:n,link:!1,basic:!0,onSelect:e},null,8,[`session`,`chunks`,`onSelect`])]),item:i(({id:e})=>[w(d(A.value.get(e)?.name||`[unnamed]`),1)]),_:1},8,[`session`,`data`,`onSelect`])]),key:`0`}:void 0]),1032,[`modelValue`])]),E(P).chunkViewType===`list`?(n(),h(`div`,Ce,[x(u,{session:t.session,chunks:L.value},null,8,[`session`,`chunks`])])):D(``,!0),E(P).chunkViewType===`detailed-list`?(n(),h(`div`,we,[(n(!0),h(f,null,e(L.value,e=>(n(),b(v,{key:e.id,border:`~ base rounded-lg`,p3:``,chunk:e,chunks:L.value,session:t.session},null,8,[`chunk`,`chunks`,`session`]))),128))])):E(P).chunkViewType===`graph`?(n(),b(C,{key:2,class:`pt32`,session:t.session,chunks:E(U),"entry-id":E(B).start},null,8,[`session`,`chunks`,`entry-id`])):E(P).chunkViewType===`treemap`?(n(),h(`div`,Te,[E(Y)?(n(),b(ce,{key:0,graph:E(Y),selected:E(Z),onSelect:a[3]||=e=>E(Q)(e)},{default:i(({selected:e,options:t,onSelect:n})=>[x(T,{border:`b base`,py2:``,"min-h-10":``,selected:e,options:t,onSelect:n},null,8,[`selected`,`options`,`onSelect`])]),_:1},8,[`graph`,`selected`])):D(``,!0)])):E(P).chunkViewType===`sunburst`?(n(),h(`div`,Ee,[E(Y)?(n(),b(O,{key:0,graph:E(Y),selected:E(Z),onSelect:a[4]||=e=>E(Q)(e)},null,8,[`graph`,`selected`])):D(``,!0)])):E(P).chunkViewType===`flamegraph`?(n(),h(`div`,De,[E(Y)?(n(),b(k,{key:0,graph:E(Y)},null,8,[`graph`])):D(``,!0)])):D(``,!0),x(I,{"hover-x":o.x,"hover-y":o.y},{default:i(()=>[E(X)?.meta?(n(),h(`div`,Oe,[m(`div`,ke,[a[7]||=m(`i`,{"i-ph-shapes-duotone":``,"flex-none":``},null,-1),m(`span`,Ae,d(E(X).meta.name||`[unnamed]`),1)]),m(`div`,je,[a[8]||=m(`span`,{op50:``,"text-xs":``},`Size:`,-1),x(M,{bytes:E(X).meta.size,"text-xs":``},null,8,[`bytes`])]),E(X).meta.modules?.length?(n(),h(`div`,Me,[a[9]||=m(`span`,{op50:``,"text-xs":``},`Modules:`,-1),m(`span`,Ne,d(E(X).meta.modules?.length),1)])):D(``,!0),E(X).meta.is_initial?(n(),h(`div`,Pe,[x(F,{text:`initial`})])):D(``,!0)])):D(``,!0)]),_:1},8,[`hover-x`,`hover-y`])]))}}});export{Fe as default};