@nuxt/devtools-nightly 2.0.0-beta.6-28978839.578ecfc → 2.0.0-beta.7-28980749.c20c724

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 (75) hide show
  1. package/dist/chunks/module-main.mjs +64 -41
  2. package/dist/chunks/vscode.mjs +3 -3
  3. package/dist/chunks/vue-devtools.mjs +3 -3
  4. package/dist/client/200.html +13 -13
  5. package/dist/client/404.html +13 -13
  6. package/dist/client/_nuxt/__blank-lg13rweu.js +1 -0
  7. package/dist/client/_nuxt/analyze-build-hl3z5moi.js +1 -0
  8. package/dist/client/_nuxt/{assets-epc1omtv.js → assets-hg8y65bo.js} +1 -1
  9. package/dist/client/_nuxt/builds/latest.json +1 -1
  10. package/dist/client/_nuxt/builds/meta/0c7d4b11-3960-472e-aa5e-814f5fa473f1.json +1 -0
  11. package/dist/client/_nuxt/{code-diff.vue-btv1bdr0.js → code-diff.vue-dw4253xo.js} +1 -1
  12. package/dist/client/_nuxt/{code-snippets.vue-k1eonni6.js → code-snippets.vue-h63l3ga8.js} +1 -1
  13. package/dist/client/_nuxt/components-g4671hrj.js +1 -0
  14. package/dist/client/_nuxt/composable-item.vue-awv2fe0i.js +1 -0
  15. package/dist/client/_nuxt/{custom-_name_-h79rq3oa.js → custom-_name_-lehsfv4z.js} +1 -1
  16. package/dist/client/_nuxt/{data-schema-button.vue-g5f288wb.js → data-schema-button.vue-cvp49yv0.js} +1 -1
  17. package/dist/client/_nuxt/{data-schema-drawer-d3uykogs.js → data-schema-drawer-gj6u0k3q.js} +1 -1
  18. package/dist/client/_nuxt/{default-bn98asj3.js → default-n5abea1i.js} +1 -1
  19. package/dist/client/_nuxt/entry.css-mj1nvcy6.css +1 -0
  20. package/dist/client/_nuxt/{error-404-ili7zuvo.js → error-404-k1azvkry.js} +1 -1
  21. package/dist/client/_nuxt/{error-500-ig9h4vyo.js → error-500-fl4i136a.js} +1 -1
  22. package/dist/client/_nuxt/{error-e30hod5e.js → error-epn2rlwx.js} +1 -1
  23. package/dist/client/_nuxt/{filepath-item.vue-dv8t36m8.js → filepath-item.vue-ocz0upxz.js} +1 -1
  24. package/dist/client/_nuxt/{full-nquao1nk.js → full-cofqwlaq.js} +1 -1
  25. package/dist/client/_nuxt/{help-fab.vue-b4km25gy.js → help-fab.vue-jti43xum.js} +1 -1
  26. package/dist/client/_nuxt/{hooks-g3c0b4rq.js → hooks-fm2xz72g.js} +1 -1
  27. package/dist/client/_nuxt/imports-jajy765b.js +1 -0
  28. package/dist/client/_nuxt/{index-mrfaxiq8.js → index-8ojfxtmp.js} +1 -1
  29. package/dist/client/_nuxt/{index-bejc4xe2.js → index-mkx27gf0.js} +1 -1
  30. package/dist/client/_nuxt/index-obsucz0g.js +1 -0
  31. package/dist/client/_nuxt/{launch-page.vue-h9zld33t.js → launch-page.vue-fip61omh.js} +1 -1
  32. package/dist/client/_nuxt/{jl98s4wc.js → lbm7brd5.js} +4 -4
  33. package/dist/client/_nuxt/{modules-g323nw4w.js → modules-ozt4x0g5.js} +1 -1
  34. package/dist/client/_nuxt/{nbadge-n0d7cbpa.js → nbadge-lm8ruxdz.js} +1 -1
  35. package/dist/client/_nuxt/{ncheckbox.vue-b8l374zk.js → ncheckbox.vue-o34fufk3.js} +1 -1
  36. package/dist/client/_nuxt/{ndrawer.vue-oa1cbosx.js → ndrawer.vue-den3x6bs.js} +1 -1
  37. package/dist/client/_nuxt/{ndropdown.vue-khy1smu9.js → ndropdown.vue-h1rzwvol.js} +1 -1
  38. package/dist/client/_nuxt/{nlink.vue-i4iopkha.js → nlink.vue-geo1m3b0.js} +1 -1
  39. package/dist/client/_nuxt/{nnavbar.vue-bv8o4xzs.js → nnavbar.vue-e4gbvuiu.js} +1 -1
  40. package/dist/client/_nuxt/{none-dw53b7ia.js → none-hq61ikv8.js} +1 -1
  41. package/dist/client/_nuxt/{nsection-block-mriokuc1.js → nsection-block-j74ks6nb.js} +1 -1
  42. package/dist/client/_nuxt/{nselect-tabs.vue-ao6503xs.js → nselect-tabs.vue-omvwf3ky.js} +1 -1
  43. package/dist/client/_nuxt/{nselect.vue-o1duk8yi.js → nselect.vue-mcse0obw.js} +1 -1
  44. package/dist/client/_nuxt/{open-graph-leid1e5b.js → open-graph-fgxh745s.js} +1 -1
  45. package/dist/client/_nuxt/{overview-nu9skx1l.js → overview-cqqn59w9.js} +1 -1
  46. package/dist/client/_nuxt/{pages-h0bb9ypc.js → pages-i073875q.js} +1 -1
  47. package/dist/client/_nuxt/{payload-lbd3p8p1.js → payload-lpa4xzf7.js} +1 -1
  48. package/dist/client/_nuxt/{pinia-g6dl9fs6.js → pinia-icj8n3eh.js} +1 -1
  49. package/dist/client/_nuxt/{plugins-hdaiapq8.js → plugins-mrm4erax.js} +1 -1
  50. package/dist/client/_nuxt/{render-tree-leowmac1.js → render-tree-c8m9uiit.js} +1 -1
  51. package/dist/client/_nuxt/{runtime-configs-bjj77u3n.js → runtime-configs-jgrd3nvs.js} +1 -1
  52. package/dist/client/_nuxt/{server-discovery-kioko3v9.js → server-discovery-nz1q58ac.js} +1 -1
  53. package/dist/client/_nuxt/{server-route-inputs.vue-iawhla30.js → server-route-inputs.vue-k7nz89da.js} +1 -1
  54. package/dist/client/_nuxt/{server-routes-jmwia5lf.js → server-routes-dgw2yb8s.js} +1 -1
  55. package/dist/client/_nuxt/{server-tasks-iuh8y4kj.js → server-tasks-ohziocip.js} +1 -1
  56. package/dist/client/_nuxt/{settings-oqdnemhy.js → settings-mdfl1baf.js} +1 -1
  57. package/dist/client/_nuxt/{stacktrace-list.vue-d60b1azo.js → stacktrace-list.vue-ju2yzl1a.js} +1 -1
  58. package/dist/client/_nuxt/{state-components-ktgnlmib.js → state-components-hu0vwgq9.js} +1 -1
  59. package/dist/client/_nuxt/{state-editor.vue-d6gklqvj.js → state-editor.vue-fey2xg3o.js} +1 -1
  60. package/dist/client/_nuxt/{state-modules-c1b0tmxl.js → state-modules-ou3w6py8.js} +1 -1
  61. package/dist/client/_nuxt/{storage-f2vxig9a.js → storage-fg7uqyfv.js} +1 -1
  62. package/dist/client/_nuxt/{terminals-hjrk2rfj.js → terminals-km35rk4z.js} +1 -1
  63. package/dist/client/_nuxt/timeline-ji41jouc.js +31 -0
  64. package/dist/client/_nuxt/{virtual-files-fxck5vf1.js → virtual-files-pdvx204m.js} +1 -1
  65. package/dist/client/index.html +13 -13
  66. package/dist/module.json +1 -1
  67. package/package.json +4 -4
  68. package/dist/client/_nuxt/__blank-lb5ijdpb.js +0 -1
  69. package/dist/client/_nuxt/analyze-build-gb0rp3n4.js +0 -1
  70. package/dist/client/_nuxt/builds/meta/6fb951a3-6558-4617-923d-4f90820a2e3c.json +0 -1
  71. package/dist/client/_nuxt/components-m3ya561d.js +0 -1
  72. package/dist/client/_nuxt/composable-item.vue-hmfpyqv3.js +0 -1
  73. package/dist/client/_nuxt/entry.css-gcfkqtar.css +0 -1
  74. package/dist/client/_nuxt/imports-k9wjonrq.js +0 -1
  75. package/dist/client/_nuxt/timeline-j1c4u20v.js +0 -31
@@ -0,0 +1,31 @@
1
+ import{a5 as V,M as O,D as j,bh as Y,b as U,R as q,a as K,_ as z,a7 as X,f as Z,bi as Q,K as ee,n as se,L as ne,h as te,r as G,G as oe,B as ae}from"./lbm7brd5.js";import{_ as W}from"./duration-display.vue-dzttyi5n.js";import{p as B,q as w,U as o,W as i,X as t,$ as T,a8 as m,u as g,F as y,ae as E,P as h,f as C,j as le,n as re,Z as x,a3 as u,a0 as R,V as P,a2 as v,ax as ie,a4 as pe,a9 as F,aj as ce}from"./vendor/json-editor-vue-kcahofzr.js";import{_ as H}from"./nbadge-lm8ruxdz.js";import{_ as de}from"./composable-item.vue-awv2fe0i.js";import{_ as ue}from"./stacktrace-list.vue-ju2yzl1a.js";import{_ as me}from"./ndrawer.vue-den3x6bs.js";import{_ as ke}from"./launch-page.vue-fip61omh.js";import{_ as fe}from"./nlink.vue-geo1m3b0.js";import{_ as ye}from"./code-diff.vue-dw4253xo.js";import{_ as he}from"./help-fab.vue-jti43xum.js";import"./vendor/unocss-mstcul8h.js";import"./vendor/shiki-ja073547.js";import"./nmarkdown.vue-jpbjhala.js";import"./client-kpmlv67d.js";import"./filepath-item.vue-ocz0upxz.js";import"./index-obsucz0g.js";import"./constants-b32h69zq.js";import"./ncode-block.vue-dt6krs6h.js";const ve=B({__name:"TimelineItemFunction",props:{item:{}},setup(f){const d=f,p=w(()=>V(d.item.name,50,60,"_op_")),n=w(()=>p.value.replace(/_op_/,"1")),e=w(()=>V(d.item.name,50,40)),l=w(()=>p.value.replace(/_op_/,"0.2"));return(a,r)=>(o(),i("button",{class:"group",style:T({color:n.value,borderLeft:`2px solid ${n.value}`}),relative:"","text-sm":"",transition:"","hover:z-1000":"","bg-base":""},[t("div",{style:T({backgroundColor:l.value}),absolute:"","bottom-0":"","left--1px":"","top-0":"","w-full":"","text-sm":"","transition-all":"","duration-300":""},null,4),t("div",{style:T({color:e.value,"--c":n.value}),border:"r-2 t-2 y-2 transparent","min-w-max":"",px1:"","text-left":"","group-hover":"border-$c"},m(a.item.name),5)],4))}}),_e={relative:"","h-full":""},be={absolute:"","left-2":"","top-2.3em":"","text-xs":"",op50:""},ge=B({__name:"TimelineSegment",props:{segment:{}},emits:["select"],setup(f,{emit:d}){const p=f,n=d,e=O(()=>p.segment.start,{updateInterval:1e3,showSecond:!0,controls:!1,messages:{justNow:"",past:l=>l,future:l=>l,invalid:"-",second:l=>l?`${l}s`:"",minute:l=>`${l}m`,hour:l=>`${l}h`,week:l=>`${l}w`,day:l=>`${l}d`,month:l=>`${l}mo`,year:l=>`${l}y`}});return(l,a)=>{const r=ve;return o(),i("div",_e,[t("button",{absolute:"","left-0":"","right-0":"","top-0":"","bg-green:5":"",px2:"",py1:"","text-left":"","text-xs":"","text-green6":"","font-mono":"",onClick:a[0]||(a[0]=s=>l.segment.route?n("select",l.segment.route):void 0)},m(l.segment.route?.event.to),1),t("div",be,m(g(e))+" ago ",1),t("div",null,[(o(!0),i(y,null,E(l.segment.functions,(s,c)=>(o(),h(r,{key:c,item:s.event,style:T({position:"absolute",minWidth:`${s.relativeWidth*100}%`,maxWidth:`${s.relativeWidth*100}%`,top:`${4+s.layer*1.6}em`,left:`${s.relativeStart*100}%`}),onClick:k=>n("select",s)},null,8,["item","style","onClick"]))),128))])])}}}),xe=3e3,De=50;function Ae(f){const d=[];let p={start:0,end:0,events:[],functions:[],duration:0};for(const n of f){const e=n.end||n.start;(n.start-p.end>xe||n.type==="route")&&(p={start:n.start,end:e,events:[],functions:[],duration:0},d.push(p)),p.events.push(n),p.end=e+De}return d.forEach((n,e)=>{const l=n.end-n.start,a=[];n.duration=l,n.previousGap=e>0?n.start-d[e-1].end:0,n.events.forEach(r=>{const s=r.end||r.start;let c=0;r.type!=="route"&&(c=a.findIndex(D=>D<=r.start),c===-1?(c=a.length,a.push(s+1e3)):a[c]=s+1e3);const k={event:r,segment:n,relativeStart:(r.start-n.start)/l,relativeWidth:(s-r.start)/l,layer:c};r.type==="function"?n.functions.push(k):n.route=k})}),d}const $e={relative:""},Ce={key:0,border:"x base","h-full":"","flex-inline":"","bg-true-gray-1":"",py15:"","text-xs":"","write-vertical-left":"",op50:"","dark:bg-true-gray-9":""},Be=B({__name:"TimelineTable",props:{data:{}},emits:["select"],setup(f,{emit:d}){const p=f,n=d,e=C(),l=C(),a=C(),r=C(),s=C(!0),c=C(1.5),k=w(()=>Ae(p.data.events)),D=w(()=>(p.data.events.length,e.value?.scrollWidth||window.innerWidth));function A(){r.value&&(r.value.style.width=`${D.value}px`)}function S(){s.value&&e.value&&(e.value.scrollTo({left:e.value.scrollWidth-e.value.clientWidth,behavior:"smooth"}),a.value.scrollTo({left:e.value.scrollWidth-e.value.clientWidth,behavior:"smooth"}))}return le(()=>p.data.events.length,async()=>{await re(),A(),S()},{flush:"post"}),j(e,"scroll",()=>{a.value.scrollLeft!==e.value.scrollLeft&&(A(),a.value.scrollLeft=e.value.scrollLeft,s.value=e.value.scrollLeft>=e.value.scrollWidth-e.value.clientWidth)}),j(a,"scroll",()=>{a.value.scrollLeft!==e.value.scrollLeft&&(A(),e.value.scrollLeft=a.value.scrollLeft)}),j(e,"wheel",_=>{_.altKey?(c.value=Y(c.value+_.deltaY/200,.5,3),A()):e.value.scrollLeft+=_.deltaY}),(_,L)=>{const $=W,M=ge;return o(),i(y,null,[t("div",$e,[t("div",{ref_key:"minimap",ref:l,border:"t b base",relative:"","h-50px":"","ws-nowrap":"","border-base":""},[(o(!0),i(y,null,E(k.value,(b,N)=>(o(),i("div",{key:N,relative:"","h-full":"","flex-inline":"",style:T({width:`${Math.max(100,b.duration/10)/D.value*100}%`})},[(o(!0),i(y,null,E(b.functions,(I,J)=>(o(),i("div",{key:J,"h-3px":"",rounded:"",style:T({width:`max(${I.relativeWidth*100}%, 10px)`,position:"absolute",top:`${I.layer*4}px`,left:`${I.relativeStart*100}%`,backgroundColor:("getHashColorFromString"in _?_.getHashColorFromString:g(V))(I.event.name,50,60)})},null,4))),128)),b.route?(o(),i("div",{key:0,absolute:"","top-0":"","h-full":"","w-px":"","border-l":"","border-green6":"",op10:"",style:T({left:`${b.route.relativeStart*100}%`})},null,4)):x("",!0)],4))),128))],512),t("div",{ref_key:"minimapScroller",ref:a,class:"timeline-scroller",absolute:"","inset-0":"","h-full":"","w-full":"","of-x-scroll":""},[t("div",{ref_key:"minimapScrollerInner",ref:r,"h-1px":""},null,512)],512)]),t("div",{ref_key:"scroller",ref:e,relative:"","h-full":"","w-full":"","of-x-scroll":"","of-y-hidden":"","ws-nowrap":"","n-panel-grids":""},[(o(!0),i(y,null,E(k.value,(b,N)=>(o(),i(y,{key:N},[b.previousGap&&b.previousGap>=200?(o(),i("div",Ce,[u($,{op50:"",duration:b.previousGap,color:!1},null,8,["duration"])])):x("",!0),u(M,{"flex-inline":"","of-x-hidden":"","hover:of-x-visible":"","bg-base":"",class:R(N===k.value.length-1?"border-r border-base":""),segment:b,style:T({width:`${Math.max(50,b.duration/10)*c.value}px`}),onSelect:L[0]||(L[0]=I=>n("select",I))},null,8,["class","segment","style"])],64))),128))],512)],64)}}}),we=U(Be,[["__scopeId","data-v-18afc15e"]]),Te={border:"t base",flex:"~ col","h-full":"","of-y-auto":"","text-sm":""},Se=["onClick"],Ne={flex:"~","ml--1":"","font-mono":""},Fe={key:0,mr2:"",op30:""},Ee={op75:""},Le={flex:"~ col items-start"},Ie={"text-xs":"","font-mono":"",op30:""},Me={"text-green":"","font-bold":"","font-mono":""},Ve=B({__name:"TimelineList",props:{data:{}},emits:["select"],setup(f,{emit:d}){const p=d;return(n,e)=>{const l=W;return o(),i("div",Te,[(o(!0),i(y,null,E(n.data.events,(a,r)=>(o(),i("button",{key:r,border:"b base",px3:"",py2:"",flex:"~ items-center gap-2",hover:"bg-active",onClick:s=>p("select",a)},[a.type==="function"?(o(),i(y,{key:0},[e[2]||(e[2]=t("div",{"i-carbon-function":"",op50:""},null,-1)),t("div",{"font-mono":"",style:T({color:a.type==="function"?("getHashColorFromString"in n?n.getHashColorFromString:g(V))(a.name,50,60):""})},m(a.name),5),t("div",Ne,[e[0]||(e[0]=t("div",{op30:""}," ( ",-1)),(o(!0),i(y,null,E(a.args,(s,c)=>(o(),i(y,{key:c},[c?(o(),i("div",Fe," , ")):x("",!0),t("div",Ee,m(s===null?"null":s===void 0?"undefined":typeof s=="function"?"[function]":Array.isArray(s)?"[Array]":typeof s=="object"?"[object]":JSON.stringify(s)),1)],64))),128)),e[1]||(e[1]=t("div",{op30:""}," ) ",-1))])],64)):(o(),i(y,{key:1},[e[3]||(e[3]=t("div",{"mr-1":"","h-7":"","w-7":"",flex:"","rounded-lg":"","bg-primary:5":"",p1:"","text-green6":""},[t("div",{"i-carbon-direction-rotary-right":"",ma:"","text-lg":""})],-1)),t("div",Le,[t("div",Ie,m(a.from),1),t("div",Me,m(a.to),1)])],64)),e[4]||(e[4]=t("div",{"flex-auto":""},null,-1)),a.end?(o(),h(l,{key:2,duration:a.end-a.start,color:a.type==="function"},null,8,["duration","color"])):x("",!0)],8,Se))),128)),e[5]||(e[5]=t("div",{"min-h-100":""},null,-1))])}}}),We={key:0,"text-blue":""},je={key:1,"text-purple":""},Oe={key:2,"text-green":""},ze={key:3,"text-gray":""},Re={key:4,"text-gray":""},Ge={key:5,"text-gray":""},Pe={key:0,"bg-red:10":"",px2:"",py1:"","text-red":""},He={key:1},Je={p2:"","text-sm":"",border:"t base"},Ye=B({__name:"TimelineArgumentView",props:{value:{}},setup(f){const d=f,p=C(),n=C();function e(){try{p.value=JSON.parse(JSON.stringify(d.value))}catch(s){console.error(s),n.value=s}}const l=B({emits:["setup"],setup(s,{emit:c}){return c("setup"),()=>null}}),a=q(),r=K();return(s,c)=>{const k=z,D=P("VMenu");return typeof s.value=="string"?(o(),i("div",We,m(JSON.stringify(s.value)),1)):typeof s.value=="number"?(o(),i("div",je,m(s.value),1)):typeof s.value=="boolean"?(o(),i("div",Oe,m(s.value),1)):typeof s.value>"u"?(o(),i("div",ze," undefined ")):typeof s.value=="function"?(o(),i("div",Re," [Function"+m(s.value.name?`: ${s.value.name}`:"")+"] ",1)):s.value===null?(o(),i("div",Ge," null ")):(o(),h(D,{key:6,placement:"top"},{popper:v(()=>[u(g(l),{onSetup:e}),n.value?(o(),i("div",Pe," Failed to display object: "+m(n.value),1)):p.value?(o(),i("div",He,[u(g(ie),pe({"model-value":p.value},s.$attrs,{class:["json-editor-vue",[g(a)==="dark"?"jse-theme-dark":""]],"main-menu-bar":!1,"navigation-bar":!1,"status-bar":!1,"read-only":!0,indentation:2,"tab-size":2}),null,16,["model-value","class"]),t("div",Je,[u(k,{title:"Copy to clipboard",icon:"carbon-copy",onClick:c[0]||(c[0]=A=>g(r)(JSON.stringify(p.value,null,2),"timeline-argument"))},{default:v(()=>c[1]||(c[1]=[F(" Copy ")])),_:1})])])):x("",!0)]),default:v(()=>[t("span",{"rounded-sm":"",px1:"","py0.5":"","text-sm":"",class:R([Array.isArray(s.value)?"text-amber bg-amber:10":"text-orange bg-orange:10"])},m(Array.isArray(s.value)?`[Array(${s.value.length})]`:"[Object]"),3)]),_:1}))}}}),Ue={key:0,"p-4":"",flex:"~ col gap-2","text-base":""},qe={"mx--1":""},Ke={flex:"~ gap-1","font-mono":""},Xe={key:1},Ze={key:0,op30:""},Qe={flex:"~ gap-1","text-sm":""},es={class:"text-sm text-gray-400"},ss=B({__name:"TimelineDetailsFunction",props:{record:{}},setup(f){const d=f,p=O(()=>d.record.start,{showSecond:!0}),n=X(),e=w(()=>n.value?.metadata),l=w(()=>n.value?.imports.find(a=>a.as===d.record.name));return(a,r)=>{const s=H,c=de,k=Ye,D=W,A=ue;return a.record?(o(),i("div",Ue,[t("div",qe,[u(s,{n:"yellow",textContent:"Function call"})]),t("div",Ke,[l.value?(o(),h(c,{key:0,item:l.value,metadata:e.value,counter:!1,classes:"px2 py1","mx--2":""},null,8,["item","metadata"])):(o(),i("span",Xe,m(a.record.name),1)),r[0]||(r[0]=t("span",{ml1:"",op30:""},"(",-1)),(o(!0),i(y,null,E(a.record.args,(S,_)=>(o(),i(y,{key:_},[_?(o(),i("span",Ze,", ")):x("",!0),u(k,{value:S},null,8,["value"])],64))),128)),r[1]||(r[1]=t("span",{op30:""},")",-1))]),t("div",Qe,[a.record.end?(o(),h(D,{key:0,duration:a.record.end-a.record.start},null,8,["duration"])):x("",!0),r[2]||(r[2]=t("span",{mx1:"",op50:""},"·",-1)),t("div",es,m(g(p)),1)]),a.record.stacktrace?(o(),h(A,{key:0,stacktrace:a.record.stacktrace,class:"text-xs text-gray-400"},null,8,["stacktrace"])):x("",!0)])):x("",!0)}}}),ns={key:0,"p-4":"",flex:"~ col gap-2"},ts={"mx--1":""},os={flex:"~ gap-1 items-center","font-mono":""},as={op50:""},ls={flex:"~ gap-1","text-sm":""},rs={class:"text-sm text-gray-400"},is=B({__name:"TimelineDetailsRoute",props:{record:{}},setup(f){const d=f,p=O(()=>d.record.start,{showSecond:!0});return(n,e)=>{const l=H,a=W;return n.record?(o(),i("div",ns,[t("div",ts,[u(l,{n:"green",textContent:"Route Change"})]),t("div",os,[t("span",as,m(n.record.from),1),e[0]||(e[0]=t("span",{"i-carbon-arrow-right":"",op50:""},null,-1)),t("span",null,m(n.record.to),1)]),t("div",ls,[n.record.end?(o(),h(a,{key:0,duration:n.record.end-n.record.start},null,8,["duration"])):x("",!0),e[1]||(e[1]=t("span",{mx1:"",op50:""},"·",-1)),t("div",rs,m(g(p)),1)])])):x("",!0)}}}),ps={key:0,"h-screen":"","of-hidden":""},cs={"h-screen":"","w-full":"",flex:"","flex-col":""},ds={"h-10":"",flex:"~ gap-2 items-center justify-end",p2:"",px3:""},us={"text-sm":""},ms={"min-h-50":"",px3:"",py2:""},ks=B({__name:"TimelineView",setup(f){const d=Z(),p=C("table"),n=C(),e=w(()=>d.value?.metrics.clientTimeline());function l(){e.value&&(e.value.events=[])}function a(){p.value=p.value==="table"?"list":"table"}return(r,s)=>{const c=P("VTooltip"),k=z,D=we,A=Ve,S=ss,_=is,L=me;return e.value?(o(),i("div",ps,[t("div",cs,[t("div",ds,[u(c,{flex:""},{popper:v(()=>[t("div",us,m(e.value.options.enabled?"Recording...":"Paused"),1)]),default:v(()=>[t("div",{"text-lg":"",class:R(e.value.options.enabled?"i-carbon-radio-button-checked text-primary animate-pulse":"i-carbon-pause-outline op30")},null,2)]),_:1}),e.value.options.enabled?(o(),h(k,{key:1,size:"small",ml1:"","text-sm":"",n:"orange",icon:"i-carbon-stop",onClick:s[1]||(s[1]=$=>e.value.options.enabled=!1)},{default:v(()=>s[6]||(s[6]=[F(" Stop Tracking ")])),_:1})):(o(),h(k,{key:0,size:"small",ml1:"","text-sm":"",n:"primary",icon:"i-carbon-play",onClick:s[0]||(s[0]=$=>e.value.options.enabled=!0)},{default:v(()=>s[5]||(s[5]=[F(" Start Tracking ")])),_:1})),s[7]||(s[7]=t("div",{"flex-auto":""},null,-1)),u(k,{icon:p.value==="table"?"i-carbon-roadmap":"i-carbon-list",class:"ml-2",title:"Toggle View",border:!1,onClick:a},null,8,["icon"]),u(k,{icon:"i-carbon-trash-can","hover-text-red":"",class:"ml-2",border:!1,onClick:l})]),p.value==="table"?(o(),h(D,{key:0,data:{...e.value},onSelect:s[2]||(s[2]=$=>n.value=$.event)},null,8,["data"])):(o(),h(A,{key:1,data:{...e.value},onSelect:s[3]||(s[3]=$=>n.value=$)},null,8,["data"]))]),u(L,{"model-value":!!n.value,"auto-close":"",transition:"bottom",left:"#nuxt-devtools-side-nav",onClose:s[4]||(s[4]=$=>n.value=void 0)},{default:v(()=>[t("div",ms,[n.value?.type==="function"?(o(),h(S,{key:0,record:n.value},null,8,["record"])):n.value?.type==="route"?(o(),h(_,{key:1,record:n.value},null,8,["record"])):x("",!0)])]),_:1},8,["model-value"])])):x("",!0)}}}),fs={class:"markdown-body"},ys={__name:"timeline",setup(f,{expose:d}){return d({frontmatter:{}}),(n,e)=>(o(),i("div",fs,e[0]||(e[0]=[t("h1",null,"Timeline",-1),t("blockquote",{"text-orange":"","bg-orange:10":"",py1:""}," This is an experimental feature ",-1),ce(`<p>Timeline tracks your route navigations and functions calls in your Nuxt application. It can be used to debug performance issues and to understand how your application works.</p><h2>Function calls</h2><p>Nuxt DevTools tracks function calls by wrapping them in the build time. It works for functions referenced by auto-imports, or explicit imports through <code>import {} from &#39;#imports&#39;</code>.</p><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="background-color:#ffffff;--shiki-dark-bg:#121212;color:#393a34;--shiki-dark:#dbd7caee;" tabindex="0"><code><span class="line"><span style="color:#999999;--shiki-dark:#666666;">&lt;</span><span style="color:#1E754F;--shiki-dark:#4D9375;">script</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> setup</span><span style="color:#999999;--shiki-dark:#666666;">&gt;</span></span>
2
+ <span class="line"><span style="color:#1E754F;--shiki-dark:#4D9375;">import</span><span style="color:#999999;--shiki-dark:#666666;"> {</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> useRoute</span><span style="color:#999999;--shiki-dark:#666666;"> }</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> from</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">#app/composables/router</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span></span>
3
+ <span class="line"><span style="color:#1E754F;--shiki-dark:#4D9375;">import</span><span style="color:#999999;--shiki-dark:#666666;"> {</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> useNuxtApp</span><span style="color:#999999;--shiki-dark:#666666;"> }</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> from</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">#imports</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span></span>
4
+ <span class="line"><span style="color:#1E754F;--shiki-dark:#4D9375;">import</span><span style="color:#999999;--shiki-dark:#666666;"> {</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> useMouse</span><span style="color:#999999;--shiki-dark:#666666;"> }</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> from</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">@vueuse/core</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span></span>
5
+ <span class="line"></span>
6
+ <span class="line"><span style="color:#AB5959;--shiki-dark:#CB7676;">const</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> route</span><span style="color:#999999;--shiki-dark:#666666;"> =</span><span style="color:#59873A;--shiki-dark:#80A665;"> useRoute</span><span style="color:#999999;--shiki-dark:#666666;">()</span><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // tracked</span></span>
7
+ <span class="line"><span style="color:#AB5959;--shiki-dark:#CB7676;">const</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> app</span><span style="color:#999999;--shiki-dark:#666666;"> =</span><span style="color:#59873A;--shiki-dark:#80A665;"> useNuxtApp</span><span style="color:#999999;--shiki-dark:#666666;">()</span><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // tracked</span></span>
8
+ <span class="line"></span>
9
+ <span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;">// NOT tracked because it&#39;s directly imported</span></span>
10
+ <span class="line"><span style="color:#AB5959;--shiki-dark:#CB7676;">const</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> mouse</span><span style="color:#999999;--shiki-dark:#666666;"> =</span><span style="color:#59873A;--shiki-dark:#80A665;"> useMouse</span><span style="color:#999999;--shiki-dark:#666666;">()</span></span>
11
+ <span class="line"><span style="color:#999999;--shiki-dark:#666666;">&lt;/</span><span style="color:#1E754F;--shiki-dark:#4D9375;">script</span><span style="color:#999999;--shiki-dark:#666666;">&gt;</span></span>
12
+ <span class="line"></span></code></pre><p>By default, it tracks Nuxt provided composables as well as user defined functions. You can include/exclude functions by using the <code>include</code> and <code>exclude</code> options in the <code>nuxt.config.js</code> file.</p><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="background-color:#ffffff;--shiki-dark-bg:#121212;color:#393a34;--shiki-dark:#dbd7caee;" tabindex="0"><code><span class="line"><span style="color:#1E754F;--shiki-dark:#4D9375;">export</span><span style="color:#1E754F;--shiki-dark:#4D9375;"> default</span><span style="color:#59873A;--shiki-dark:#80A665;"> defineNuxtConfig</span><span style="color:#999999;--shiki-dark:#666666;">({</span></span>
13
+ <span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> devtools</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> {</span></span>
14
+ <span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> timeline</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> {</span></span>
15
+ <span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> functions</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> {</span></span>
16
+ <span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> include</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> [</span></span>
17
+ <span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // track \`useMouse\`</span></span>
18
+ <span class="line"><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">useMouse</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span><span style="color:#999999;--shiki-dark:#666666;">,</span></span>
19
+ <span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // track all functions starting with \`use\`</span></span>
20
+ <span class="line"><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> /</span><span style="color:#1E754F;--shiki-dark:#4D9375;">^</span><span style="color:#AB5E3F;--shiki-dark:#C4704F;">use</span><span style="color:#999999;--shiki-dark:#666666;">[</span><span style="color:#A65E2B;--shiki-dark:#C99076;">A-Z</span><span style="color:#999999;--shiki-dark:#666666;">]</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">/</span><span style="color:#999999;--shiki-dark:#666666;">,</span></span>
21
+ <span class="line"><span style="color:#A0ADA0;--shiki-dark:#758575DD;"> // track all functions from @vueuse/core</span></span>
22
+ <span class="line"><span style="color:#B07D48;--shiki-dark:#BD976A;"> entry</span><span style="color:#999999;--shiki-dark:#666666;"> =&gt;</span><span style="color:#B07D48;--shiki-dark:#BD976A;"> entry</span><span style="color:#999999;--shiki-dark:#666666;">.</span><span style="color:#B07D48;--shiki-dark:#BD976A;">from</span><span style="color:#AB5959;--shiki-dark:#CB7676;"> ===</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">@vueuse/core</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span><span style="color:#999999;--shiki-dark:#666666;">,</span></span>
23
+ <span class="line"><span style="color:#999999;--shiki-dark:#666666;"> ],</span></span>
24
+ <span class="line"><span style="color:#998418;--shiki-dark:#B8A965;"> exclude</span><span style="color:#999999;--shiki-dark:#666666;">:</span><span style="color:#999999;--shiki-dark:#666666;"> [</span></span>
25
+ <span class="line"><span style="color:#B5695977;--shiki-dark:#C98A7D77;"> &#39;</span><span style="color:#B56959;--shiki-dark:#C98A7D;">useRouter</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">&#39;</span></span>
26
+ <span class="line"><span style="color:#999999;--shiki-dark:#666666;"> ]</span></span>
27
+ <span class="line"><span style="color:#999999;--shiki-dark:#666666;"> }</span></span>
28
+ <span class="line"><span style="color:#999999;--shiki-dark:#666666;"> }</span></span>
29
+ <span class="line"><span style="color:#999999;--shiki-dark:#666666;"> }</span></span>
30
+ <span class="line"><span style="color:#999999;--shiki-dark:#666666;">})</span></span>
31
+ <span class="line"></span></code></pre>`,6)])))}},hs={flex:"~ col gap-2","w-150":"",p4:"",border:"t base"},vs={op50:""},_s={flex:"~ gap-3",mt2:"","justify-end":""},js=B({__name:"timeline",setup(f){const d=Q(),p=ee(),n=se(),e=ne();async function l(){try{const[a,r]=await G.enableTimeline(!0);if(!await n.start(a,r))return;await G.enableTimeline(!1)}catch{oe({message:"Failed to enable timeline automatically. Check the terminal for more details.",icon:"i-carbon-warning",classes:"text-red"})}}return(a,r)=>{const s=ks,c=ke,k=te,D=fe,A=ye,S=z,_=ae,L=ys,$=he;return o(),i(y,null,[g(d)?.timeline?.enabled?(o(),h(s,{key:0})):(o(),i(y,{key:1},[u(k,null,{default:v(()=>[u(c,{icon:"i-carbon-roadmap",name:"feature-timeline",title:"Timeline",description:"Timeline enables the inspection of when composable being executed and the route changes.",actions:[{label:"Enable"}],onAction:l})]),_:1}),u(g(n),null,{default:v(({resolve:M,args:b})=>[u(_,{"model-value":!0,onClose:N=>M(!1)},{default:v(()=>[t("div",hs,[r[5]||(r[5]=t("h2",{"text-xl":""},[t("span",{capitalize:""},"Enable Timeline?")],-1)),t("p",vs,[r[1]||(r[1]=F(" Your ")),u(D,{role:"button",n:"primary",underline:"",onClick:r[0]||(r[0]=N=>g(e)(g(p)?._nuxtConfigFile)),textContent:"Nuxt config"}),r[2]||(r[2]=F(" will be updated as: "))]),u(A,{from:b[0],to:b[1],"max-h-80":"","of-auto":"",py2:"",border:"~ base rounded",lang:"ts"},null,8,["from","to"]),r[6]||(r[6]=t("p",null,[t("span",{op50:""},"Then Nuxt will "),t("span",{"text-orange":""},"restart automatically"),F(". ")],-1)),t("div",_s,[u(S,{onClick:N=>M(!1)},{default:v(()=>r[3]||(r[3]=[F(" Cancel ")])),_:2},1032,["onClick"]),u(S,{n:"solid primary",capitalize:"",onClick:N=>M(!0)},{default:v(()=>r[4]||(r[4]=[F(" Enable ")])),_:2},1032,["onClick"])])])]),_:2},1032,["onClose"])]),_:1})],64)),u($,null,{default:v(()=>[u(L)]),_:1})],64)}}});export{js as default};
@@ -1 +1 @@
1
- import{_ as V}from"./nnavbar.vue-bv8o4xzs.js";import{_ as D}from"./ncode-block.vue-dt6krs6h.js";import{bm as B,bn as S,O as P,w as j,V as U,h as W}from"./jl98s4wc.js";import{U as i,W as c,X as a,p as E,f as m,w as I,q as _,a3 as l,a2 as u,F as d,ae as q,a8 as v,a0 as z,P as G}from"./vendor/json-editor-vue-kcahofzr.js";import{_ as H}from"./help-fab.vue-b4km25gy.js";import"./client-kpmlv67d.js";import"./vendor/unocss-mstcul8h.js";import"./vendor/shiki-ja073547.js";const L={class:"markdown-body"},O={__name:"virtual-files",setup(h,{expose:r}){return r({frontmatter:{}}),(p,o)=>(i(),c("div",L,o[0]||(o[0]=[a("h1",null,"Virtual Files",-1),a("p",null,"Virtual files are generated on the fly to support the conventions of the framework, and to provide a better developer experience.",-1)])))}},R=["onClick"],X={key:0,"h-full":"","of-hidden":"",flex:"~ col"},A={border:"b base","flex-none":"",px4:"",py2:"","text-sm":"",op75:""},oe=E({__name:"virtual-files",setup(h){const r=m(""),n=B(),p=S(),o=m();I(()=>{if(!p.value)return;const e=`/_vfs.json/${encodeURIComponent(p.value)}`;fetch(e,{headers:{accept:"application/json"}}).then(t=>t.json()).then(t=>o.value=t.current)});function x(e){if(n.value?.rootDir)return e.startsWith(n.value?.rootDir)?e.slice(n.value.rootDir.length):e}const f=_(()=>n.value?n.value.entries.filter(e=>!e.id.startsWith(`${n.value?.rootDir||""}/.nuxt/`)).sort((e,t)=>e.id.localeCompare(t.id)):[]),b=_(()=>new P(f.value,{keys:["id","path"]})),k=_(()=>r.value?b.value.search(r.value).map(e=>e.item):f.value);return(e,t)=>{const y=V,g=D,C=U,F=W,$=j,w=O,N=H;return i(),c(d,null,[l($,{class:"virtual-files","storage-key":"tab-virtual-files"},{left:u(()=>[l(y,{search:r.value,"onUpdate:search":t[0]||(t[0]=s=>r.value=s),"no-padding":"",p3:""},null,8,["search"]),(i(!0),c(d,null,q(k.value,s=>(i(),c(d,{key:s.id},[a("button",{block:"","w-full":"","select-none":"",truncate:"",px2:"",py1:"","text-start":"","text-sm":"","font-mono":"",class:z(s.id===o.value?.id?"text-primary n-bg-active":"text-secondary hover:n-bg-hover"),onClick:J=>p.value=s.id},v(x(s.id)),11,R),t[1]||(t[1]=a("div",{"x-divider":""},null,-1))],64))),128))]),right:u(()=>[o.value?.content?(i(),c("div",X,[a("div",A,[a("code",null,v(o.value.id),1)]),l(g,{"h-full":"","of-auto":"","text-sm":"",code:o.value.content,lang:"typescript"},null,8,["code"])])):(i(),G(F,{key:1},{default:u(()=>[l(C,{px6:"",py2:""},{default:u(()=>t[2]||(t[2]=[a("span",{op75:""},"Select a file to start",-1)])),_:1})]),_:1}))]),_:1}),l(N,null,{default:u(()=>[l(w)]),_:1})],64)}}});export{oe as default};
1
+ import{_ as V}from"./nnavbar.vue-e4gbvuiu.js";import{_ as D}from"./ncode-block.vue-dt6krs6h.js";import{bm as B,bn as S,O as P,w as j,V as U,h as W}from"./lbm7brd5.js";import{U as i,W as c,X as a,p as E,f as m,w as I,q as _,a3 as l,a2 as u,F as d,ae as q,a8 as v,a0 as z,P as G}from"./vendor/json-editor-vue-kcahofzr.js";import{_ as H}from"./help-fab.vue-jti43xum.js";import"./client-kpmlv67d.js";import"./vendor/unocss-mstcul8h.js";import"./vendor/shiki-ja073547.js";const L={class:"markdown-body"},O={__name:"virtual-files",setup(h,{expose:r}){return r({frontmatter:{}}),(p,o)=>(i(),c("div",L,o[0]||(o[0]=[a("h1",null,"Virtual Files",-1),a("p",null,"Virtual files are generated on the fly to support the conventions of the framework, and to provide a better developer experience.",-1)])))}},R=["onClick"],X={key:0,"h-full":"","of-hidden":"",flex:"~ col"},A={border:"b base","flex-none":"",px4:"",py2:"","text-sm":"",op75:""},oe=E({__name:"virtual-files",setup(h){const r=m(""),n=B(),p=S(),o=m();I(()=>{if(!p.value)return;const e=`/_vfs.json/${encodeURIComponent(p.value)}`;fetch(e,{headers:{accept:"application/json"}}).then(t=>t.json()).then(t=>o.value=t.current)});function x(e){if(n.value?.rootDir)return e.startsWith(n.value?.rootDir)?e.slice(n.value.rootDir.length):e}const f=_(()=>n.value?n.value.entries.filter(e=>!e.id.startsWith(`${n.value?.rootDir||""}/.nuxt/`)).sort((e,t)=>e.id.localeCompare(t.id)):[]),b=_(()=>new P(f.value,{keys:["id","path"]})),k=_(()=>r.value?b.value.search(r.value).map(e=>e.item):f.value);return(e,t)=>{const y=V,g=D,C=U,F=W,$=j,w=O,N=H;return i(),c(d,null,[l($,{class:"virtual-files","storage-key":"tab-virtual-files"},{left:u(()=>[l(y,{search:r.value,"onUpdate:search":t[0]||(t[0]=s=>r.value=s),"no-padding":"",p3:""},null,8,["search"]),(i(!0),c(d,null,q(k.value,s=>(i(),c(d,{key:s.id},[a("button",{block:"","w-full":"","select-none":"",truncate:"",px2:"",py1:"","text-start":"","text-sm":"","font-mono":"",class:z(s.id===o.value?.id?"text-primary n-bg-active":"text-secondary hover:n-bg-hover"),onClick:J=>p.value=s.id},v(x(s.id)),11,R),t[1]||(t[1]=a("div",{"x-divider":""},null,-1))],64))),128))]),right:u(()=>[o.value?.content?(i(),c("div",X,[a("div",A,[a("code",null,v(o.value.id),1)]),l(g,{"h-full":"","of-auto":"","text-sm":"",code:o.value.content,lang:"typescript"},null,8,["code"])])):(i(),G(F,{key:1},{default:u(()=>[l(C,{px6:"",py2:""},{default:u(()=>t[2]||(t[2]=[a("span",{op75:""},"Select a file to start",-1)])),_:1})]),_:1}))]),_:1}),l(N,null,{default:u(()=>[l(w)]),_:1})],64)}}});export{oe as default};
@@ -1,29 +1,29 @@
1
1
  <!DOCTYPE html><html data-capo=""><head><meta charset="utf-8">
2
2
  <meta name="viewport" content="width=device-width, initial-scale=1">
3
- <link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/entry.css-gcfkqtar.css" crossorigin>
3
+ <link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/entry.css-mj1nvcy6.css" crossorigin>
4
4
  <link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue.css-mqq5uooj.css" crossorigin>
5
5
  <link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/unocss.css-mhvipxpl.css" crossorigin>
6
- <link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/jl98s4wc.js">
6
+ <link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/lbm7brd5.js">
7
7
  <link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue-kcahofzr.js">
8
8
  <link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/unocss-mstcul8h.js">
9
9
  <link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/shiki-ja073547.js">
10
10
  <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/markdown-it-fvu08dbs.js">
11
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/default-bn98asj3.js">
12
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/full-nquao1nk.js">
13
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/none-dw53b7ia.js">
11
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/default-n5abea1i.js">
12
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/full-cofqwlaq.js">
13
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/none-hq61ikv8.js">
14
14
  <link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ncode-block.css-lvdc77tw.css">
15
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/data-schema-drawer-d3uykogs.js">
16
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/nselect.vue-o1duk8yi.js">
15
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/data-schema-drawer-gj6u0k3q.js">
16
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/nselect.vue-mcse0obw.js">
17
17
  <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/nswitch.vue-iu20lc9i.js">
18
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ndropdown.vue-khy1smu9.js">
18
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ndropdown.vue-h1rzwvol.js">
19
19
  <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ncode-block.vue-dt6krs6h.js">
20
20
  <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/client-kpmlv67d.js">
21
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ndrawer.vue-oa1cbosx.js">
21
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ndrawer.vue-den3x6bs.js">
22
22
  <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/quicktype-core-lnbp3n5r.js">
23
23
  <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/unocss-runtime-cb61k1ql.js">
24
24
  <link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-404.css-fwe7gpvk.css">
25
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-404-ili7zuvo.js">
25
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-404-k1azvkry.js">
26
26
  <link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500.css-djemplc9.css">
27
- <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500-ig9h4vyo.js">
28
- <script type="module" src="/__NUXT_DEVTOOLS_BASE__/_nuxt/jl98s4wc.js" crossorigin></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},1738730378635,false]</script>
29
- <script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_BASE__/",buildId:"6fb951a3-6558-4617-923d-4f90820a2e3c",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
27
+ <link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500-fl4i136a.js">
28
+ <script type="module" src="/__NUXT_DEVTOOLS_BASE__/_nuxt/lbm7brd5.js" crossorigin></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},1738844982571,false]</script>
29
+ <script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_BASE__/",buildId:"0c7d4b11-3960-472e-aa5e-814f5fa473f1",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nuxt/devtools",
3
3
  "configKey": "devtools",
4
- "version": "2.0.0-beta.6-28978839.578ecfc",
4
+ "version": "2.0.0-beta.7-28980749.c20c724",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "0.8.4",
7
7
  "unbuild": "3.3.1"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nuxt/devtools-nightly",
3
3
  "type": "module",
4
- "version": "2.0.0-beta.6-28978839.578ecfc",
4
+ "version": "2.0.0-beta.7-28980749.c20c724",
5
5
  "description": "The Nuxt DevTools gives you insights and transparency about your Nuxt App.",
6
6
  "license": "MIT",
7
7
  "homepage": "https://devtools.nuxt.com",
@@ -32,8 +32,8 @@
32
32
  "vite": ">=6.0"
33
33
  },
34
34
  "dependencies": {
35
- "@nuxt/devtools-kit": "npm:@nuxt/devtools-kit-nightly@2.0.0-beta.6-28978839.578ecfc",
36
- "@nuxt/devtools-wizard": "npm:@nuxt/devtools-wizard-nightly@2.0.0-beta.6-28978839.578ecfc",
35
+ "@nuxt/devtools-kit": "npm:@nuxt/devtools-kit-nightly@2.0.0-beta.7-28980749.c20c724",
36
+ "@nuxt/devtools-wizard": "npm:@nuxt/devtools-wizard-nightly@2.0.0-beta.7-28980749.c20c724",
37
37
  "@nuxt/kit": "^3.15.4",
38
38
  "@vue/devtools-core": "^7.7.1",
39
39
  "@vue/devtools-kit": "^7.7.1",
@@ -76,7 +76,7 @@
76
76
  "@iconify-json/simple-icons": "^1.2.23",
77
77
  "@iconify-json/tabler": "^1.2.15",
78
78
  "@nuxt/content": "^2.13.4",
79
- "@nuxt/devtools": "npm:@nuxt/devtools-nightly@2.0.0-beta.6-28978839.578ecfc",
79
+ "@nuxt/devtools": "npm:@nuxt/devtools-nightly@2.0.0-beta.7-28980749.c20c724",
80
80
  "@nuxt/test-utils": "^3.15.4",
81
81
  "@parcel/watcher": "^2.5.1",
82
82
  "@shikijs/langs-precompiled": "^2.3.0",
@@ -1 +0,0 @@
1
- import"./jl98s4wc.js";import{p as e,W as t,U as o}from"./vendor/json-editor-vue-kcahofzr.js";import"./vendor/unocss-mstcul8h.js";import"./vendor/shiki-ja073547.js";const n={"h-screen":"","w-screen":"","bg-black":""},i=e({__name:"__blank",setup(r){return(c,s)=>(o(),t("div",n))}});export{i as default};
@@ -1 +0,0 @@
1
- import{k as R,l as J,r as V,m as U,_ as j,n as Q,o as h,p as ee,q as ne,s as te,v as le,w as ie,x as oe,y as k,z as re,A as ue,B as se,h as ae}from"./jl98s4wc.js";import{_ as de}from"./filepath-item.vue-dv8t36m8.js";import{p as E,q as F,f as S,U as i,W as u,X as e,F as p,ae as G,a0 as P,a8 as v,Z as g,u as b,a3 as d,a2 as a,a9 as f,ab as D,ac as I,P as B}from"./vendor/json-editor-vue-kcahofzr.js";import{_ as me}from"./ncode-block.vue-dt6krs6h.js";import{_ as pe}from"./ncheckbox.vue-b8l374zk.js";import{_ as ve}from"./help-fab.vue-b4km25gy.js";import"./vendor/unocss-mstcul8h.js";import"./vendor/shiki-ja073547.js";import"./client-kpmlv67d.js";const fe={"h-full":"",grid:"~ rows-[max-content_1fr]"},ye={flex:"~ wrap","w-full":""},ce=["onClick"],be={key:0,flex:"~ col gap-4 items-center justify-center",p4:""},xe={grid:"~ cols-[30px_1fr] gap-x-2 gap-y-3 items-center justify-center","w-100":""},ge=E({__name:"BuildAnalyzeDetails",props:{current:{},prev:{}},setup(N){const y=N,$=`${J().app.baseURL}/__nuxt_devtools__/analyze/`.replace(/\/+/g,"/"),c=F(()=>{const l=[{name:"Overview",id:"overview"}];return y.current.features.bundleClient&&l.push({name:"Client Bundle",id:"bundle-client"}),y.current.features.bundleNitro&&l.push({name:"Nitro Bundle",id:"bundle-nitro"}),y.current.features.viteInspect&&l.push({name:"Vite Inspect",id:"vite-inspect"}),l}),o=S(c.value[0]);function z(l){return`${((l.endTime-l.startTime)/1e3).toFixed(1)}s`}function m(l){return l<1024?`${l}B`:l<1024*1024?`${(l/1024).toFixed(1)}KB`:l<1024*1024*1024?`${(l/1024/1024).toFixed(1)}MB`:`${(l/1024/1024/1024).toFixed(1)}GB`}async function T(l){return V.clearAnalyzeBuilds(await U(),[l])}return(l,n)=>{const A=de,C=j;return i(),u("div",fe,[e("div",ye,[(i(!0),u(p,null,G(c.value,(r,t)=>(i(),u("button",{key:t,px4:"",py2:"",border:"r base",hover:"bg-active",class:P(r.id===o.value.id?"":"border-b"),onClick:_=>o.value=r},[e("div",{class:P(r.id===o.value.id?"":"op30")},v(r.name),3)],10,ce))),128)),n[1]||(n[1]=e("div",{border:"b base","flex-auto":""},null,-1))]),o.value.id==="overview"?(i(),u("div",be,[n[15]||(n[15]=e("div",{"flex-auto":""},null,-1)),e("div",xe,[n[10]||(n[10]=e("div",{"i-carbon-commit":"","text-xl":""},null,-1)),e("div",null,[n[2]||(n[2]=e("div",{"text-sm":"",op50:""}," Name ",-1)),e("div",null,v(l.current.name),1)]),n[11]||(n[11]=e("div",{"i-carbon-time":"","text-xl":""},null,-1)),e("div",null,[n[3]||(n[3]=e("div",{"text-sm":"",op50:""}," Build duration ",-1)),e("div",null,v(z(l.current)),1)]),l.current.size?.clientBundle?(i(),u(p,{key:0},[n[5]||(n[5]=e("div",{"i-carbon-cics-program":"","text-xl":""},null,-1)),e("div",null,[n[4]||(n[4]=e("div",{"text-sm":"",op50:""}," Client bundle size ",-1)),e("div",null,v(m(l.current.size.clientBundle)),1)])],64)):g("",!0),l.current.size.nitroBundle?(i(),u(p,{key:1},[n[7]||(n[7]=e("div",{"i-carbon-bare-metal-server":"","text-xl":""},null,-1)),e("div",null,[n[6]||(n[6]=e("div",{"text-sm":"",op50:""}," Nitro bundle size ",-1)),e("div",null,v(m(l.current.size.nitroBundle)),1)])],64)):g("",!0),n[12]||(n[12]=e("div",{"i-carbon-edge-node":"","text-xl":""},null,-1)),e("div",null,[n[8]||(n[8]=e("div",{"text-sm":"",op50:""}," Built ",-1)),e("div",null,v(b(R)(new Date(l.current.endTime))),1)]),n[13]||(n[13]=e("div",{"i-carbon:folder-parent":"","text-xl":""},null,-1)),e("div",null,[n[9]||(n[9]=e("div",{"text-sm":"",op50:""}," Report Path ",-1)),d(A,{filepath:l.current.analyzeDir},null,8,["filepath"])])]),n[16]||(n[16]=e("div",{"flex-auto":""},null,-1)),d(C,{n:"rose",icon:"carbon-delete",onClick:n[0]||(n[0]=r=>T(l.current.name))},{default:a(()=>n[14]||(n[14]=[f(" Delete this report ")])),_:1})])):g("",!0),n._lazyshow1||o.value.id==="bundle-client"?(n._lazyshow1=!0,i(),u(p,null,[D(e("iframe",{src:`${b($)}${l.current.slug}/client.html`,"h-full":"","w-full":""},null,8,["src"]),[[I,o.value.id==="bundle-client"]])],64)):g("v-show-if",!0),n._lazyshow2||o.value.id==="bundle-nitro"?(n._lazyshow2=!0,i(),u(p,null,[D(e("iframe",{src:`${b($)}${l.current.slug}/nitro.html`,"h-full":"","w-full":""},null,8,["src"]),[[I,o.value.id==="bundle-nitro"]])],64)):g("v-show-if",!0),n._lazyshow3||o.value.id==="vite-inspect"?(n._lazyshow3=!0,i(),u(p,null,[D(e("iframe",{src:`${b($)}${l.current.slug}/.vite-inspect/`,"h-full":"","w-full":""},null,8,["src"]),[[I,o.value.id==="vite-inspect"]])],64)):g("v-show-if",!0)])}}}),we={class:"markdown-body"},$e={__name:"analyze-build",setup(N,{expose:y}){return y({frontmatter:{}}),($,c)=>(i(),u("div",we,c[0]||(c[0]=[e("h1",null,"Build Analyze",-1),e("p",null,[f("DevTools provides a build analyze tool to help you understand the size of your app in production. Whenever you start a new build, it runs the command "),e("code",null,"nuxt build --analyze"),f(" and present the output data directly in DevTools for easy browsing and comparing.")],-1)])))}},ze={flex:"~ col"},_e=["onClick"],Be={flex:"~ gap-1 items-center wrap","w-full":"","text-sm":"",op60:""},Ce={flex:"~ items-center justify-center wrap",p4:""},ke={flex:"~ col gap-1","w-250":"",p4:""},Ne={flex:"~ gap-3",mt2:"","justify-end":""},Ue=E({__name:"analyze-build",setup(N){const y=Q(),w=h(),$=ee(),c=ne("analyze-build:slug",""),o=F(()=>w.value?.builds.find(r=>r.slug===c.value)??w.value?.builds[0]),z=S(!1),m=S(""),T=F(()=>w.value?.builds.some(r=>r.name===m.value.trim()));async function l(){m.value=await V.generateAnalyzeBuildName(),await y.start()&&(oe("analyze-build:start"),k.value={name:m.value,processId:await V.startAnalyzeBuild(await U(),m.value)},z.value&&C())}const n=te();function A(r){return`${((r.endTime-r.startTime)/1e3).toFixed(1)}s`}function C(){k.value?.processId&&(n.value=k.value.processId,$.push("/modules/terminals"))}return le(()=>[{id:"action:analyze-build: start",title:"Start a new analyze build",icon:"i-carbon-edge-node",action:l}]),(r,t)=>{const _=j,L=ge,q=ae,O=ie,W=re,Z=ue,H=me,K=pe,M=se,X=$e,Y=ve;return i(),u(p,null,[d(O,{"left-size":30},{left:a(()=>[e("div",ze,[(i(!0),u(p,null,G(b(w)?.builds,s=>(i(),u(p,{key:s.slug},[e("button",{flex:"~ col gap1","hover:bg-active":"",p3:"",class:P(s.slug===o.value?.slug?"text-primary bg-active":""),onClick:x=>c.value=s.slug},[e("code",null,v(s.name),1),e("div",Be,[t[4]||(t[4]=e("div",{"i-carbon-time":""},null,-1)),e("span",null,v(A(s)),1),t[5]||(t[5]=e("div",{"flex-auto":""},null,-1)),e("span",null,v(b(R)(new Date(s.endTime))),1)])],10,_e),t[6]||(t[6]=e("div",{"x-divider":""},null,-1))],64))),128)),e("div",Ce,[b(k)?(i(),B(_,{key:1,n:"primary",icon:"carbon-circle-dash animate-spin",onClick:t[1]||(t[1]=s=>C())},{default:a(()=>t[8]||(t[8]=[f(" Building... ")])),_:1})):(i(),B(_,{key:0,n:"primary",icon:"carbon-edge-node",onClick:t[0]||(t[0]=s=>l())},{default:a(()=>t[7]||(t[7]=[f(" Start a new build ")])),_:1}))])])]),right:a(()=>[o.value?(i(),B(L,{key:0,current:o.value},null,8,["current"])):(i(),B(q,{key:1}))]),_:1}),d(b(y),null,{default:a(({resolve:s})=>[d(M,{"model-value":!0,onClose:x=>s(!1)},{default:a(()=>[e("div",ke,[t[13]||(t[13]=e("h3",{class:"text-lg font-medium leading-6",mb2:""}," Start analyze build? ",-1)),t[14]||(t[14]=e("p",{op50:""}," Enter the name of the build: ",-1)),d(W,{modelValue:m.value,"onUpdate:modelValue":t[2]||(t[2]=x=>m.value=x),placeholder:"Build name"},null,8,["modelValue"]),T.value?(i(),B(Z,{key:0,"n-orange":""},{default:a(()=>t[9]||(t[9]=[f(" A build with the same name already exists, continue would overrides the previous build result. ")])),_:1})):g("",!0),t[15]||(t[15]=e("div",{my3:"","x-divider":""},null,-1)),t[16]||(t[16]=e("p",{op50:""}," The following command will be executed in your terminal: ",-1)),d(H,{code:`npx nuxi analyze --no-serve --name=${m.value}`,lang:"bash",px4:"",py2:"",border:"~ base rounded",lines:!1},null,8,["code"]),d(K,{modelValue:z.value,"onUpdate:modelValue":t[3]||(t[3]=x=>z.value=x),mt2:"",n:"primary"},{default:a(()=>t[10]||(t[10]=[f(" Navigate to terminal ")])),_:1},8,["modelValue"]),e("div",Ne,[d(_,{onClick:x=>s(!1)},{default:a(()=>t[11]||(t[11]=[f(" Cancel ")])),_:2},1032,["onClick"]),d(_,{n:"solid primary",onClick:x=>s(!0)},{default:a(()=>t[12]||(t[12]=[f(" Start ")])),_:2},1032,["onClick"])])])]),_:2},1032,["onClose"])]),_:1}),d(Y,null,{default:a(()=>[d(X)]),_:1})],64)}}});export{Ue as default};
@@ -1 +0,0 @@
1
- {"id":"6fb951a3-6558-4617-923d-4f90820a2e3c","timestamp":1738730342297,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
@@ -1 +0,0 @@
1
- import{a as ie,_ as q,R as pe,S as re,K as ue,T as de,g as Z,U as me,V as ce,W as fe,O as ve,X as _e,Y as he,H as be,f as ge}from"./jl98s4wc.js";import{U as t,W as _,X as n,p as R,q as S,a9 as X,a8 as W,a3 as v,u as N,P as x,Z as C,F as T,ae as L,Y as H,f as M,m as ye,z as we,j as xe,a2 as b,A,V as Ce,a0 as ke,a4 as E,ag as $e,aa as Ne,ab as K}from"./vendor/json-editor-vue-kcahofzr.js";import{_ as Ve}from"./help-fab.vue-b4km25gy.js";import{_ as Se}from"./ncheckbox.vue-b8l374zk.js";import{_ as J}from"./nnavbar.vue-bv8o4xzs.js";import{_ as Q}from"./nbadge-n0d7cbpa.js";import{_ as ee}from"./filepath-item.vue-dv8t36m8.js";import{_ as Pe}from"./ndrawer.vue-oa1cbosx.js";import{N as De}from"./vendor/vis-fzckz0r6.js";import{_ as Te}from"./nselect-tabs.vue-ao6503xs.js";import{_ as Ue}from"./nsection-block-mriokuc1.js";import{_ as Be}from"./nicon-title.vue-hzhi6u0u.js";import{D as O}from"./constants-b32h69zq.js";import{u as Le,a as Me}from"./state-components-ktgnlmib.js";import"./vendor/unocss-mstcul8h.js";import"./vendor/shiki-ja073547.js";const Re={class:"markdown-body"},Ie={__name:"components",setup(r,{expose:s}){return s({frontmatter:{}}),(a,i)=>(t(),_("div",Re,i[0]||(i[0]=[n("h1",null,"Components",-1),n("p",null,"Vue Components allow us to split the UI into independent and reusable pieces, and think about each piece in isolation. This is very similar to how we nest native HTML elements, but Vue implements its own component model that allow us to encapsulate custom content and logic in each component.",-1),n("p",null,"Components placed in the components/ directory are automatically registered by Nuxt. They can be used in your templates without importing them.",-1),n("p",null,[n("a",{href:"https://nuxt.com/docs/guide/directory-structure/components",target:"_blank",rel:"noopener"},"Learn more in the documentation")],-1)])))}},Fe=/\d/,Ge=["-","_","/","."];function Ae(r=""){if(!Fe.test(r))return r!==r.toLowerCase()}function ze(r,s){const m=Ge,a=[];if(!r||typeof r!="string")return a;let i="",o,p;for(const c of r){const u=m.includes(c);if(u===!0){a.push(i),i="",o=void 0;continue}const f=Ae(c);if(p===!1){if(o===!1&&f===!0){a.push(i),i=c,o=f;continue}if(o===!0&&f===!1&&i.length>1){const g=i.at(-1);a.push(i.slice(0,Math.max(0,i.length-1))),i=g+c,o=f;continue}}i+=c,o=f,p=u}return a.push(i),a}function Ee(r){return r?r[0].toUpperCase()+r.slice(1):""}function ne(r,s){return r?(Array.isArray(r)?r:ze(r)).map(m=>Ee(m)).join(""):""}const We={"text-sm":"","font-mono":""},oe=R({__name:"ComponentName",props:{component:{}},setup(r){const s=r,m=S(()=>s.component.pascalName||ne(s.component.name||s.component.__name||s.component.kebabName||""));return(a,i)=>(t(),_("code",We,[i[0]||(i[0]=n("span",{mr1:"",op20:""},"<",-1)),X(W(m.value),1),i[1]||(i[1]=n("span",{ml1:"",op20:""},"/>",-1))]))}}),He={flex:"~ col gap1","items-start":"","of-hidden":""},je={flex:"~ gap2",px3:""},Oe={px3:"",pb2:""},Xe={key:0,border:"t base","max-h-60":"","w-full":"","of-auto":"",px3:"",py3:""},qe={"text-sm":""},Ye={"text-primary":""},Ke={key:0,flex:"~ col gap-2","items-start":"",pt3:"","text-sm":"",op75:""},Ze={key:1,border:"t base","max-h-60":"","w-full":"","of-auto":"",px3:"",py3:""},Je={"text-sm":""},Qe={"text-primary":""},en={key:0,flex:"~ col gap-2","items-start":"",pt3:"","text-sm":"",op75:""},te=R({__name:"ComponentDetails",props:{component:{},dependencies:{},dependents:{}},setup(r){const s=r,m=S(()=>s.component.pascalName||ne(s.component.name||s.component.__name||s.component.kebabName||"")),a=S(()=>s.component.filePath||s.component.file||s.component.__file||""),i=ie();return(o,p)=>{const c=oe,u=q,f=Q,g=ee;return t(),_("div",He,[n("div",je,[v(c,{component:o.component},null,8,["component"]),v(u,{title:"Copy name","flex-none":"",icon:"carbon-copy",border:!1,onClick:p[0]||(p[0]=h=>N(i)(`<${m.value}></${m.value}>`,"component-name"))}),o.component.global?(t(),x(f,{key:0,n:"green",title:"Registered at runtime as a global component",textContent:"runtime"})):C("",!0)]),n("div",Oe,[a.value?(t(),x(g,{key:0,filepath:a.value,"w-full":"","text-sm":"",op40:"","group-hover:op75":""},null,8,["filepath"])):C("",!0)]),o.dependents?(t(),_("div",Xe,[n("div",qe,[n("strong",Ye,W(o.dependents.length),1),p[1]||(p[1]=n("span",{op50:""}," references",-1))]),o.dependents.length?(t(),_("div",Ke,[(t(!0),_(T,null,L(o.dependents,h=>(t(),x(g,{key:h,filepath:h},null,8,["filepath"]))),128))])):C("",!0)])):C("",!0),o.dependencies?(t(),_("div",Ze,[n("div",Je,[n("strong",Qe,W(o.dependencies.length),1),p[2]||(p[2]=n("span",{op50:""}," dependencies",-1))]),o.dependencies.length?(t(),_("div",en,[(t(!0),_(T,null,L(o.dependencies,h=>(t(),x(g,{key:h,filepath:h},null,8,["filepath"]))),128))])):C("",!0)])):C("",!0),H(o.$slots,"default")])}}}),nn={flex:"~ gap-x-3 gap-y-1 wrap","w-full":""},on={relative:"","h-full":"","w-full":""},tn={key:0,py4:"",pt4:"",flex:"~ col"},sn={border:"t base",p4:""},ln=R({__name:"ComponentsGraph",props:{components:{},relationships:{}},setup(r){const s=r,m=M(),a=M(),i=pe(),o=ye(),p=re(),c=ue(),u=de(),{componentsGraphShowNodeModules:f,componentsGraphShowGlobalComponents:g,componentsGraphShowPages:h,componentsGraphShowLayouts:V,componentsGraphShowWorkspace:y}=Z("ui"),k=M(),d=M(""),I=me(d,300),F=S(()=>{const P=s.relationships||[];if(k.value){let e=function($){!$||l.has($)||(l.add($),$.deps.forEach(U=>{e(P.find(B=>B.id===U))}))};const l=new Set;return e(k.value),Array.from(l)}return P}),z=S(()=>{const P=F.value.map(l=>{const $=s.components.find(G=>G.filePath===l.id),U=p.value?.find(G=>G.file===l.id),B=u.value?.find(G=>G.file===l.id),j=l.id.replace(/\?.*$/,"").replace(/#.*$/,""),D=l.id.includes("/node_modules/")?"lib":$?$.global?"global":"user":B?"layout":U?"page":"unknown";if(!f.value&&D==="lib"||!h.value&&D==="page"||!V.value&&D==="layout"||!y.value&&D==="user"&&c.value&&!l.id.startsWith(c.value.rootDir)||!g.value&&D==="global")return null;const w=D==="layout"?"hexagon":D==="page"?"square":"dot",Y=I.value&&!l.id.toLowerCase().includes(I.value.toLowerCase());return{id:l.id,label:j.split("/").splice(-1)[0].replace(/\.\w+$/,""),group:D,shape:w,size:15+Math.min(l.deps.length/2,8),font:{color:Y?"#8885":i.value==="dark"?"white":"black"},color:Y?"#8885":k.value?.id===l.id?"#82c742":void 0,extra:{id:l.id,component:$,page:U,layout:B,relationship:l}}}).filter(l=>!!l),e=F.value.flatMap(l=>l.deps.map($=>({from:l.id,to:$,arrows:{to:{enabled:!0,scaleFactor:.8}}})));return{nodes:P,edges:e}}),se=S(()=>o.value?.component?s.relationships?.find(e=>e.id===o.value?.component?.filePath)?.deps?.map(e=>s.relationships?.find(l=>l.id===e)?.id).filter(Boolean):[]),le=S(()=>o.value?.component?s.relationships?.filter(e=>e.deps.includes(o.value.component.filePath))?.map(e=>s.relationships?.find(l=>l.id===e.id)?.id).filter(Boolean):[]);we(()=>{const P={nodes:{shape:"dot",size:16},physics:{repulsion:{centralGravity:.7,springLength:100,springConstant:.01},maxVelocity:146,solver:"forceAtlas2Based",timestep:.35,stabilization:{enabled:!0,iterations:200}},groups:{user:{color:"#42b883"},unknown:{color:"#b86542"},lib:{color:"#b4b842"},page:{color:"#42b2b8"},layout:{color:"#4256b8"}}},e=new De(m.value,z.value,P);e.on("click",l=>{const $=l.nodes?.[0],U=z.value.nodes?.find(B=>B.id===$)?.extra;U&&(o.value=U)}),xe(z,()=>{e.setData(z.value)})});function ae(){k.value=o.value?.relationship,o.value=void 0}return(P,e)=>{const l=Se,$=J,U=ce,B=te,j=q,D=Pe;return t(),_(T,null,[v($,{ref_key:"navbar",ref:a,search:d.value,"onUpdate:search":e[6]||(e[6]=w=>d.value=w),absolute:"","left-0":"","right-0":"","top-0":""},{actions:b(()=>[n("div",nn,[v(l,{modelValue:N(h),"onUpdate:modelValue":e[0]||(e[0]=w=>A(h)?h.value=w:null),n:"primary sm"},{default:b(()=>e[9]||(e[9]=[n("span",{op75:""},"Show pages",-1)])),_:1},8,["modelValue"]),v(l,{modelValue:N(V),"onUpdate:modelValue":e[1]||(e[1]=w=>A(V)?V.value=w:null),n:"primary sm"},{default:b(()=>e[10]||(e[10]=[n("span",{op75:""},"Show layouts",-1)])),_:1},8,["modelValue"]),v(l,{modelValue:N(y),"onUpdate:modelValue":e[2]||(e[2]=w=>A(y)?y.value=w:null),n:"primary sm"},{default:b(()=>e[11]||(e[11]=[n("span",{op75:""},"Show workspace",-1)])),_:1},8,["modelValue"]),v(l,{modelValue:N(f),"onUpdate:modelValue":e[3]||(e[3]=w=>A(f)?f.value=w:null),n:"primary sm"},{default:b(()=>e[12]||(e[12]=[n("span",{op75:""},"Show node_modules",-1)])),_:1},8,["modelValue"]),v(l,{modelValue:N(g),"onUpdate:modelValue":e[4]||(e[4]=w=>A(g)?g.value=w:null),n:"primary sm"},{default:b(()=>e[13]||(e[13]=[n("span",{op75:""},"Show global components",-1)])),_:1},8,["modelValue"])]),k.value?(t(),_("button",{key:0,flex:"~ gap-1","flex-none":"","items-center":"","rounded-full":"","bg-gray:20":"",py1:"",pl3:"",pr2:"","text-xs":"",op50:"","hover:op100":"",onClick:e[5]||(e[5]=w=>k.value=void 0)},e[14]||(e[14]=[X(" Clear filter "),n("div",{"i-carbon-close":""},null,-1)]))):C("",!0),e[15]||(e[15]=n("div",{"flex-auto":""},null,-1)),H(P.$slots,"default")]),_:3},8,["search"]),n("div",on,[n("div",{ref_key:"container",ref:m,"h-full":"","w-full":""},null,512),v(U,{absolute:"","bottom-3":"","left-3":"","border-0":"",p2:"",px3:"","text-sm":"","n-glass-effect":""},{default:b(()=>e[16]||(e[16]=[n("div",{grid:"~ cols-[20px_1fr] items-center gap-y-1"},[n("div",{"h-3":"","w-3":"","rounded-full":"","bg-hex-42b883":""}),n("div",{op50:""}," Component "),n("div",{"h-3":"","w-3":"","rounded-full":"","bg-hex-97c2fc":""}),n("div",{op50:""}," Global Component "),n("div",{"h-3":"","w-3":"","bg-hex-42b2b8":""}),n("div",{op50:""}," Page "),n("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 726 628","ml--1px":"","h-3":""},[n("path",{fill:"#4256b8","stroke-width":"4",d:"M723 314 543 625.8H183L3 314 183 2.2h360L723 314z"})]),n("div",{op50:""}," Layout "),n("div",{"h-3":"","w-3":"","rounded-full":"","bg-hex-b4b842":""}),n("div",{op50:""}," Library Component "),n("div",{"h-3":"","w-3":"","rounded-full":"","bg-hex-b86542":""}),n("div",{op50:""}," Unknown ")],-1)])),_:1}),v(D,{"model-value":!!(o.value&&o.value.component),top:a.value,border:"t l base","w-80":"",onClose:e[8]||(e[8]=w=>o.value=void 0)},{default:b(()=>[o.value&&o.value.component?(t(),_("div",tn,[v(B,{component:o.value.component,dependencies:se.value,dependents:le.value},null,8,["component","dependencies","dependents"]),n("div",sn,[v(j,{n:"primary solid",onClick:e[7]||(e[7]=w=>ae())},{default:b(()=>e[17]||(e[17]=[X(" Filter to this component ")])),_:1})])])):C("",!0)]),_:1},8,["model-value","top"])])],64)}}}),an={hover:"bg-active",class:"group",flex:"~ gap2","w-full":"","items-center":"",rounded:"",px2:"",py1:""},pn={key:0,"ml--1":"","text-primary":""},rn=R({__name:"ComponentItem",props:{component:{},dependencies:{},dependents:{}},setup(r){const s=r,m=S(()=>s.component.filePath||s.component.file||s.component.__file||"");return(a,i)=>{const o=oe,p=te,c=Ce("VDropdown"),u=Q,f=ee;return t(),_("div",an,[v(c,null,{popper:b(()=>[v(p,{component:a.component,dependencies:a.dependencies,dependents:a.dependents,"w-100":"",pt4:""},null,8,["component","dependencies","dependents"])]),default:b(()=>[n("button",{"hover:text-primary":"",class:ke(a.dependents&&a.dependents.length===0?"op50":"")},[v(o,{component:a.component},null,8,["component"])],2)]),_:1}),a.dependents?.length?(t(),_("sup",pn," x"+W(a.dependents?.length),1)):C("",!0),a.component.global?(t(),x(u,{key:1,n:"green",title:"Registered at runtime as a global component",textContent:"runtime"})):C("",!0),H(a.$slots,"default"),m.value?(t(),x(f,{key:2,filepath:m.value,"text-sm":"",op25:"","group-hover:op75":""},null,8,["filepath"])):C("",!0)])}}}),un={flex:"~ gap-2 items-center"},dn={pl4:""},mn=R({__name:"ComponentsList",props:{components:{},relationships:{}},setup(r){const s=r,m=M(""),a=M("all"),i=S(()=>{const c=s.components.map(u=>fe(u,s.relationships));return a.value==="using"?c.filter(u=>u.dependents?.length):a.value==="not-used"?c.filter(u=>!u.dependents?.length):c}),o=S(()=>new ve(i.value,{keys:["component.pascalName","component.filePath","component.kebabName"]})),p=S(()=>{const c=[],u=new Map,f=[],g=[],h={user:0,lib:0,builtin:0,runtime:0};return(m.value?o.value.search(m.value).map(y=>y.item):i.value).forEach(y=>{const k=y.component;if(k.filePath&&_e(k.filePath)){const d=he(k.filePath);if(!d)return;d==="nuxt"?(f.push(y),h.builtin++):(u.has(d)||u.set(d,[]),u.get(d).push(y),h.lib++)}else k.global&&!k.filePath?(g.push(y),h.runtime++):(c.push(y),h.user++)}),{count:h,user:c,builtin:f,lib:u,runtime:g}});return(c,u)=>{const f=be,g=Te,h=J,V=rn,y=Ue,k=Be;return t(),_(T,null,[v(h,{search:m.value,"onUpdate:search":u[1]||(u[1]=d=>m.value=d),pb3:""},{actions:b(()=>[H(c.$slots,"default")]),default:b(()=>[n("div",un,[v(f,{icon:"carbon-filter",op50:""}),v(g,{modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=d=>a.value=d),n:"primary sm",options:[{label:"All",value:"all"},{label:"Using",value:"using"},{label:"Not used",value:"not-used"}]},null,8,["modelValue"])])]),_:3},8,["search"]),p.value.user.length?(t(),x(y,{key:0,icon:"carbon-nominal",text:"User components",open:p.value.user.length<=N(O),description:`Total components: ${p.value.count.user}`},{default:b(()=>[(t(!0),_(T,null,L(p.value.user,d=>(t(),x(V,E({key:d.component.filePath,ref_for:!0},d),null,16))),128))]),_:1},8,["open","description"])):C("",!0),p.value.runtime.length?(t(),x(y,{key:1,icon:"carbon-load-balancer-global",open:p.value.runtime.length<=N(O),text:"Runtime components",description:`Total components: ${p.value.count.runtime}`},{default:b(()=>[(t(!0),_(T,null,L(p.value.runtime,d=>(t(),x(V,E({key:d.component.filePath,ref_for:!0},d),null,16))),128))]),_:1},8,["open","description"])):C("",!0),p.value.builtin.length?(t(),x(y,{key:2,icon:"simple-icons-nuxtdotjs",text:"Built-in components",description:`Total components: ${p.value.count.builtin}`},{default:b(()=>[(t(!0),_(T,null,L(p.value.builtin,d=>(t(),x(V,E({key:d.component.filePath,ref_for:!0},d),null,16))),128))]),_:1},8,["description"])):C("",!0),p.value.lib.size?(t(),x(y,{key:3,open:p.value.count.lib<=N(O),icon:"carbon-3d-mpr-toggle",text:"Components from libraries",description:`${p.value.count.lib} components from ${p.value.lib.size} packages`},{default:b(()=>[(t(!0),_(T,null,L(p.value.lib.entries(),([d,I])=>(t(),_("div",{key:d,"ml-2":""},[v(k,{text:`${d} (${I.length})`,py1:"",op50:""},null,8,["text"]),n("div",dn,[(t(!0),_(T,null,L(I,F=>(t(),x(V,E({key:F.component.filePath,ref_for:!0},F),null,16))),128))])]))),128))]),_:1},8,["open","description"])):C("",!0)],64)}}}),cn={relative:"","h-full":"","of-auto":""},fn={"flex-none":"",flex:"~ gap3"},Tn=R({__name:"components",setup(r){const s=ge(),m=Le(),a=Me(),{componentsView:i}=Z("ui");function o(){s.value?.inspector?.instance&&s.value.inspector.enable()}function p(){i.value=i.value==="list"?"graph":"list"}return(c,u)=>{const f=q,g=Ie,h=Ve,V=$e("tooltip");return t(),_(T,null,[n("div",cn,[(t(),x(Ne(N(i)==="list"?mn:ln),{components:N(m),relationships:N(a)},{default:b(()=>[n("div",fn,[K(v(f,{"text-lg":"",border:!1,icon:N(i)==="graph"?"i-carbon-list":"i-carbon-network-4",title:"Toggle view",onClick:p},null,8,["icon"]),[[V,"Toggle View",void 0,{"bottom-end":!0}]]),N(s)?.inspector?.instance?K((t(),x(f,{key:0,"text-lg":"",border:!1,icon:"i-tabler-focus-2",title:"Inspect Vue components",onClick:o},null,512)),[[V,"Inspect Vue components",void 0,{"bottom-end":!0}]]):C("",!0)])]),_:1},8,["components","relationships"]))]),v(h,null,{default:b(()=>[v(g)]),_:1})],64)}}});export{Tn as default};
@@ -1 +0,0 @@
1
- import{_ as B}from"./nmarkdown.vue-jpbjhala.js";import{a as I,L as U,_ as D}from"./jl98s4wc.js";import{_ as $}from"./filepath-item.vue-dv8t36m8.js";import{C as y}from"./constants-b32h69zq.js";import{p as E,q as l,V as F,U as s,P as r,a2 as i,X as o,Z as u,a3 as j,u as x,a9 as d,W as c,F as k,a8 as v,ae as L,a0 as S}from"./vendor/json-editor-vue-kcahofzr.js";const W={"hover:text-primary":""},q={key:0,"text-primary":""},z={"max-w-100":""},M={px4:"",py3:"","text-sm":""},O={flex:"~ gap2",n:"primary xs"},P={border:"t base","max-h-60":"","of-auto":"",px4:"",py3:""},T={"text-sm":""},X={"text-primary":""},Z={flex:"~ col gap-2","items-start":"",pt3:"","text-sm":"",op75:""},A={key:1,"text-sm":"",op50:""},R=E({__name:"ComposableItem",props:{item:{},metadata:{},filepath:{},counter:{type:Boolean,default:!0},classes:{default:"px2 py1 text-sm bg-gray:5 "}},setup(b){const t=b,g=I(),C=U(),m=l(()=>t.item.as||t.item.name),n=l(()=>t.metadata?.injectionUsage?.[m.value]?.count||0),h=l(()=>(t.metadata?.injectionUsage?.[m.value]?.moduleIds||[]).filter(a=>!a.endsWith("?macro=true"))),_=l(()=>t.item.meta?.docsUrl?t.item.meta.docsUrl:["nuxt","#app","nuxt3"].includes(t.item.from)?y.nuxt[t.item.name]:t.item.from==="vue"?y.vue[t.item.name]:null);return(a,e)=>{const w=B,f=D,N=$,V=F("VDropdown");return s(),r(V,{disabled:!t.metadata},{popper:i(()=>[o("div",z,[o("div",M,[a.item.meta?.description?(s(),r(w,{key:0,tag:"div",pb3:"","text-sm":"",markdown:a.item.meta.description},null,8,["markdown"])):u("",!0),o("div",O,[j(f,{icon:"carbon-copy",onClick:e[0]||(e[0]=p=>x(g)(m.value,"imports-name"))},{default:i(()=>e[2]||(e[2]=[d(" Copy ")])),_:1}),a.filepath?(s(),r(f,{key:0,icon:"carbon-code",onClick:e[1]||(e[1]=p=>a.filepath&&x(C)(a.filepath))},{default:i(()=>e[3]||(e[3]=[d(" Source ")])),_:1})):u("",!0),_.value?(s(),r(f,{key:1,icon:"carbon-catalog",to:_.value,target:"_blank"},{default:i(()=>e[4]||(e[4]=[d(" Docs ")])),_:1},8,["to"])):u("",!0)])]),o("div",P,[n.value?(s(),c(k,{key:0},[o("div",T,[e[5]||(e[5]=o("span",{op50:""},"It has been referenced ",-1)),o("strong",X,v(n.value),1),e[6]||(e[6]=o("span",{op50:""}," times by:",-1))]),o("div",Z,[(s(!0),c(k,null,L(h.value,p=>(s(),r(N,{key:p,filepath:p},null,8,["filepath"]))),128))])],64)):(s(),c("div",A," Not in use via auto import. "))])])]),default:i(()=>[o("button",W,[o("code",{rounded:"","font-mono":"",class:S([a.metadata&&!n.value?"op30 hover:op100":"",a.classes])},[d(v(m.value)+" ",1),n.value&&a.counter?(s(),c("sup",q,"x"+v(n.value),1)):u("",!0)],2)])]),_:1},8,["disabled"])}}});export{R as _};