@nuxt/devtools 1.7.0 → 2.0.0-beta.3
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/.discoveryrc.cjs +13 -0
- package/README.md +8 -5
- package/dist/chunks/module-main.mjs +16626 -468
- package/dist/chunks/vite-inspect.mjs +5 -1
- package/dist/chunks/vscode.mjs +15 -8
- package/dist/client/200.html +15 -15
- package/dist/client/404.html +15 -15
- package/dist/client/_nuxt/__blank-kfhf1maj.js +1 -0
- package/dist/client/_nuxt/{analyze-build-ducxx7hk.js → analyze-build-i2evx293.js} +1 -1
- package/dist/client/_nuxt/{assets-i0wwgco0.js → assets-lceirxyg.js} +3 -3
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/6e424b49-a388-4873-af5c-f5bf674ab4fd.json +1 -0
- package/dist/client/_nuxt/{client-my5lks1i.js → client-bnemmvey.js} +1 -1
- package/dist/client/_nuxt/{code-diff.vue-hs4v40uj.js → code-diff.vue-m59b1ce1.js} +1 -1
- package/dist/client/_nuxt/{code-snippets.vue-k22v8u0h.js → code-snippets.vue-mu5jhvae.js} +1 -1
- package/dist/client/_nuxt/components-ikkm6wfj.js +1 -0
- package/dist/client/_nuxt/{composable-item.vue-ec65e9jn.js → composable-item.vue-ey343bin.js} +1 -1
- package/dist/client/_nuxt/custom-_name_-o1a3o1fk.js +1 -0
- package/dist/client/_nuxt/{default-j6ndp61j.js → default-er6p2ts4.js} +1 -1
- package/dist/client/_nuxt/duration-display.vue-jvaccd8v.js +1 -0
- package/dist/client/_nuxt/entry.css-egk2z7qr.css +1 -0
- package/dist/client/_nuxt/{error-404-ceo5987l.js → error-404-7ihq95lu.js} +1 -1
- package/dist/client/_nuxt/error-404.css-lmmxplpx.css +1 -0
- package/dist/client/_nuxt/{error-500-lwkwf49w.js → error-500-b6jxhbbr.js} +1 -1
- package/dist/client/_nuxt/error-500.css-u0boq89r.css +1 -0
- package/dist/client/_nuxt/error-ir358wkn.js +9 -0
- package/dist/client/_nuxt/filepath-item.vue-dhlc2m5d.js +1 -0
- package/dist/client/_nuxt/full-e9qzc8j7.js +1 -0
- package/dist/client/_nuxt/{help-fab.vue-d5mgp1hs.js → help-fab.vue-yzlm2ptp.js} +1 -1
- package/dist/client/_nuxt/{hooks-m0lvq8gl.js → hooks-lq1fgw8v.js} +1 -1
- package/dist/client/_nuxt/imports-dpeohran.js +1 -0
- package/dist/client/_nuxt/index-h6pm4akq.js +2 -0
- package/dist/client/_nuxt/index-hu8k1ikj.js +1 -0
- package/dist/client/_nuxt/launch-page.vue-cqjll0t4.js +1 -0
- package/dist/client/_nuxt/modules-cwxez27z.js +1 -0
- package/dist/client/_nuxt/nbadge-j8xt52su.js +1 -0
- package/dist/client/_nuxt/{ncheckbox.vue-hj8qatqi.js → ncheckbox.vue-ioifqy12.js} +1 -1
- package/dist/client/_nuxt/ncode-block.css-lvdc77tw.css +1 -0
- package/dist/client/_nuxt/ncode-block.vue-c2t0anp9.js +2 -0
- package/dist/client/_nuxt/ndrawer.vue-gp265qmz.js +1 -0
- package/dist/client/_nuxt/ndropdown.vue-ndnxxqz3.js +1 -0
- package/dist/client/_nuxt/{nicon-title.vue-lmnsr02i.js → nicon-title.vue-hch1agon.js} +1 -1
- package/dist/client/_nuxt/{nlink.vue-nuag3fiz.js → nlink.vue-e40v0aor.js} +1 -1
- package/dist/client/_nuxt/{nmarkdown.vue-ew01nvcn.js → nmarkdown.vue-lym2fx3e.js} +1 -1
- package/dist/client/_nuxt/nnavbar.vue-c0adj8nq.js +1 -0
- package/dist/client/_nuxt/none-kezye0bp.js +1 -0
- package/dist/client/_nuxt/nqd95jrf.js +17 -0
- package/dist/client/_nuxt/nsection-block-f14x58hh.js +1 -0
- package/dist/client/_nuxt/nselect-tabs.vue-na6ry09k.js +1 -0
- package/dist/client/_nuxt/nselect.vue-ee45ax1g.js +1 -0
- package/dist/client/_nuxt/{open-graph-jlz5vrcc.js → open-graph-kgnpjx56.js} +2 -2
- package/dist/client/_nuxt/overview-i30f9hlm.js +1 -0
- package/dist/client/_nuxt/pages-knebj0ix.js +1 -0
- package/dist/client/_nuxt/{payload-ibdys3jx.js → payload-k8wbggdo.js} +1 -1
- package/dist/client/_nuxt/pinia-kons3h57.js +1 -0
- package/dist/client/_nuxt/plugins-ii6sh4te.js +1 -0
- package/dist/client/_nuxt/render-tree-i1h2yw86.js +1 -0
- package/dist/client/_nuxt/{runtime-configs-tx27yuue.js → runtime-configs-enkn9zid.js} +1 -1
- package/dist/client/_nuxt/server-discovery-lpl7up2g.js +1 -0
- package/dist/client/_nuxt/{server-route-inputs.vue-ndm30y4c.js → server-route-inputs.vue-bz7xqj56.js} +1 -1
- package/dist/client/_nuxt/server-routes-b9ai2wd9.js +9 -0
- package/dist/client/_nuxt/server-tasks-k30bm979.js +1 -0
- package/dist/client/_nuxt/settings-o2tq5e7h.js +1 -0
- package/dist/client/_nuxt/{stacktrace-list.vue-bbs3noa6.js → stacktrace-list.vue-dd1o2nt8.js} +1 -1
- package/dist/client/_nuxt/{state-components-hlkgglj2.js → state-components-fznhrvmy.js} +1 -1
- package/dist/client/_nuxt/state-editor.vue-kymp37it.js +1 -0
- package/dist/client/_nuxt/state-modules-e55ef8vi.js +1 -0
- package/dist/client/_nuxt/storage-f1itsmu9.js +1 -0
- package/dist/client/_nuxt/{terminals-ifniwc30.js → terminals-j1dwghns.js} +1 -1
- package/dist/client/_nuxt/{timeline-l57dgwoy.js → timeline-mlcexd9r.js} +2 -2
- package/dist/client/_nuxt/{unocss-runtime-cgapiai4.js → unocss-runtime-eltx4hvu.js} +1 -1
- package/dist/client/_nuxt/vendor/{json-editor-vue-gv8v06ez.js → json-editor-vue-fw81xiot.js} +100 -100
- package/dist/client/_nuxt/vendor/shiki-j4jbxo4i.js +148 -0
- package/dist/client/_nuxt/vendor/{unocss-f0kk6o39.js → unocss-dypm4cev.js} +2 -2
- package/dist/client/_nuxt/vendor/{vis-dlwijd5n.js → vis-fzckz0r6.js} +12 -12
- package/dist/client/_nuxt/vendor/{xterm-dbpzgj7s.js → xterm-b1jefe3j.js} +7 -7
- package/dist/client/_nuxt/virtual-files-g2ocjx4o.js +1 -0
- package/dist/client/_nuxt/{vue-virtual-scroller.esm-cgrk8bqc.js → vue-virtual-scroller.esm-luvj44av.js} +1 -1
- package/dist/client/discovery/index.html +611 -0
- package/dist/client/index.html +15 -15
- package/dist/module.json +2 -2
- package/dist/module.mjs +1 -1
- package/dist/runtime/plugins/view/Main.vue +2 -9
- package/dist/shared/{devtools.5ac54dae.mjs → devtools.60b2ba4d.mjs} +3 -2
- package/package.json +45 -40
- package/dist/client/_nuxt/__blank-i07cwg93.js +0 -1
- package/dist/client/_nuxt/builds/meta/a420b23e-eff0-4a26-9593-f64aed27b3ae.json +0 -1
- package/dist/client/_nuxt/components-mno98knb.js +0 -1
- package/dist/client/_nuxt/components-tree-olgegwda.js +0 -1
- package/dist/client/_nuxt/custom-_name_-go82yg9m.js +0 -1
- package/dist/client/_nuxt/duration-display.vue-h9fie5qa.js +0 -1
- package/dist/client/_nuxt/entry.css-f054t818.css +0 -1
- package/dist/client/_nuxt/er2hcepb.js +0 -17
- package/dist/client/_nuxt/error-404.css-f2iw8q7i.css +0 -1
- package/dist/client/_nuxt/error-500.css-xen1rmly.css +0 -1
- package/dist/client/_nuxt/error-egdh3jtf.js +0 -9
- package/dist/client/_nuxt/filepath-item.vue-n2otfocd.js +0 -1
- package/dist/client/_nuxt/full-ndos3x1d.js +0 -1
- package/dist/client/_nuxt/imports-ldyykc17.js +0 -1
- package/dist/client/_nuxt/index-cx44rs14.js +0 -2
- package/dist/client/_nuxt/index-nvb37cqm.js +0 -1
- package/dist/client/_nuxt/launch-page.vue-f4th9x6r.js +0 -1
- package/dist/client/_nuxt/modules-djmqshrp.js +0 -1
- package/dist/client/_nuxt/nbadge-fn7hrj12.js +0 -1
- package/dist/client/_nuxt/ncode-block.css-c9cb29at.css +0 -1
- package/dist/client/_nuxt/ncode-block.vue-bvtirmea.js +0 -2
- package/dist/client/_nuxt/ndrawer.vue-gxd9fltc.js +0 -1
- package/dist/client/_nuxt/ndropdown.vue-cmmqgxbt.js +0 -1
- package/dist/client/_nuxt/nnavbar.vue-hzjn49l3.js +0 -1
- package/dist/client/_nuxt/none-i32auprq.js +0 -1
- package/dist/client/_nuxt/nsection-block-f8z83agf.js +0 -1
- package/dist/client/_nuxt/nselect-tabs.vue-fducs2m0.js +0 -1
- package/dist/client/_nuxt/nselect.vue-e15n7240.js +0 -1
- package/dist/client/_nuxt/overview-hklnwlr6.js +0 -1
- package/dist/client/_nuxt/pages-g6rzdi8u.js +0 -1
- package/dist/client/_nuxt/pinia-ixbpay8a.js +0 -1
- package/dist/client/_nuxt/plugins-hepwq7ey.js +0 -1
- package/dist/client/_nuxt/server-routes-m68bu4bu.js +0 -9
- package/dist/client/_nuxt/server-tasks-m0c7tiad.js +0 -1
- package/dist/client/_nuxt/settings-f97g7u7e.js +0 -1
- package/dist/client/_nuxt/state-editor.vue-d73uejpo.js +0 -1
- package/dist/client/_nuxt/state-modules-5svqrca0.js +0 -1
- package/dist/client/_nuxt/storage-cvuwvjle.js +0 -1
- package/dist/client/_nuxt/vendor/shiki-ml6g43ls.js +0 -57
- package/dist/client/_nuxt/virtual-files-lrwriib3.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Q as ne,bd as ae,m as oe,n as P,A as se,r as f,j as k,be as T,f as le,w as re,E as ue,U as ie,d as de,q as me,a3 as pe}from"./nqd95jrf.js";import{_ as ve}from"./nselect.vue-ee45ax1g.js";import{_ as fe}from"./nlink.vue-e40v0aor.js";import{_ as ce}from"./filepath-item.vue-dhlc2m5d.js";import{k as G,b as D,ax as F,G as ye,c as ge,w as _e,l as ke,u as c,Q as s,M as p,$ as r,U as l,a0 as d,y as be,S as u,F as x,ab as M,a5 as b,Y as R,Z as A,a6 as i,W as z,av as xe,a1 as we,a8 as Ce,ag as Ke,al as Se}from"./vendor/json-editor-vue-fw81xiot.js";import"./vendor/unocss-dypm4cev.js";import"./vendor/shiki-j4jbxo4i.js";const Ve={class:"h-[48px] flex items-center justify-between gap1 px-3"},$e={class:"w-full text-sm"},Ne=["value"],Ie=["onClick"],he={key:0,"h-full":"","of-hidden":"",flex:"~ col"},je={border:"b base",class:"h-[49px] flex flex-none items-center justify-between px-4 text-sm"},Ue={class:"flex items-center gap-4"},De={key:1},Me=["onKeyup"],Ae={key:0,op50:""},qe={key:1},Be={"font-bold":""},Le={"text-sm":""},Ee=G({__name:"StorageDetails",async setup(Q){let m,g;const w=ne(),C=ae(),K=oe(),S=D(""),_=D(""),o=P("storage:current",""),t=D(),y=P("storage:file:state",""),{data:V}=([m,g]=F(()=>T("storageMounts",()=>f.getStorageMounts())),m=await m,g(),m),{data:$,refresh:q}=([m,g]=F(async()=>T("storageKeys",async()=>o.value?await f.getStorageKeys(o.value):[])),m=await m,g(),m),W=C.hook("storage:key:update",async(n,e)=>{if(!(!o.value||n.split(":")[0]!==o.value)&&(await q(),y.value===n)){if(e==="remove")return K.replace({query:{storage:o.value}});await I(y.value)}});ye(W),ge(o,()=>{q(),y.value=""}),_e(async()=>{if(!y.value){t.value=null;return}I(y.value)}),se("keydown",n=>{n.key==="s"&&(n.ctrlKey||n.metaKey)&&(h(),n.preventDefault())});function N(n){return n.replace(`${o.value}:`,"")}const O=ke(()=>$.value?$.value.filter(n=>n.includes(S.value)):[]);async function I(n){const e=await f.getStorageItem(await k(),n);t.value={key:n,updatedKey:N(n),editingKey:!1,content:e,updatedContent:e}}async function Y(){if(!_.value||!o.value)return;const n=`${o.value}:${_.value}`;$.value?.includes(n)||await f.setStorageItem(await k(),n,""),K.replace({query:{storage:o.value,key:n}}),_.value=""}async function h(){t.value&&(await f.setStorageItem(await k(),t.value.key,t.value.updatedContent),await I(t.value.key))}async function Z(){!t.value||!o.value||(await f.removeStorageItem(await k(),t.value.key),t.value=null)}async function H(){if(!t.value||!o.value)return;const n=`${o.value}:${t.value.updatedKey}`,e=await k();await f.setStorageItem(e,n,t.value.updatedContent),await f.removeStorageItem(e,t.value.key),K.replace({query:{storage:o.value,key:n}})}return(n,e)=>{const j=le,J=ve,U=re,X=ue,B=fe,L=ie,E=de,ee=me,te=ce;return c(o)?(s(),p(ee,{key:0,"storage-key":"tab-storage"},{left:r(()=>[l("div",Ve,[d(j,{icon:"carbon-chevron-left","ml--1":"",border:!1,onClick:e[0]||(e[0]=a=>o.value="")}),l("div",$e,[d(J,{modelValue:c(o),"onUpdate:modelValue":e[1]||(e[1]=a=>be(o)?o.value=a:null),n:"primary",icon:"carbon-data-base"},{default:r(()=>[(s(!0),u(x,null,M(c(V),(a,v)=>(s(),u("option",{key:v,value:v},b(v),9,Ne))),128))]),_:1},8,["modelValue"])])]),d(U,{modelValue:S.value,"onUpdate:modelValue":e[2]||(e[2]=a=>S.value=a),icon:"carbon-search",placeholder:"Search...",n:"primary sm",border:"y x-none base! rounded-0",class:"w-full py2 ring-0!"},null,8,["modelValue"]),(s(!0),u(x,null,M(O.value,a=>(s(),u(x,{key:a},[l("button",{block:"","w-full":"",truncate:"",px2:"",py1:"","text-start":"","text-sm":"","font-mono":"",class:R(a===t.value?.key?"text-primary n-bg-active":"text-secondary hover:n-bg-hover"),onClick:v=>y.value=a},b(N(a)),11,Ie),e[8]||(e[8]=l("div",{"x-divider":""},null,-1))],64))),128)),d(U,{modelValue:_.value,"onUpdate:modelValue":e[3]||(e[3]=a=>_.value=a),icon:"carbon-add",placeholder:"key",n:"sm",border:"t-none x-none base! rounded-0",class:"w-full py2 font-mono ring-0!",onKeyup:A(Y,["enter"])},null,8,["modelValue"])]),right:r(()=>[t.value?.key?(s(),u("div",he,[l("div",je,[l("div",Ue,[t.value.editingKey?(s(),p(U,{key:0,modelValue:t.value.updatedKey,"onUpdate:modelValue":e[4]||(e[4]=a=>t.value.updatedKey=a),onKeyup:A(H,["enter"])},null,8,["modelValue"])):(s(),u("code",De,[i(b(N(t.value.key))+" ",1),d(X,{icon:"carbon-edit",class:"cursor-pointer op50 hover:op100",onClick:e[5]||(e[5]=a=>t.value.editingKey=!0)})])),t.value.editingKey?z("",!0):(s(),p(j,{key:2,n:"green xs",disabled:t.value.content===t.value.updatedContent,class:R({"border-green":t.value.content!==t.value.updatedContent}),onClick:h},{default:r(()=>e[9]||(e[9]=[i(" Save ")])),_:1},8,["disabled","class"]))]),l("div",null,[d(j,{n:"red xs",onClick:Z},{default:r(()=>e[10]||(e[10]=[i(" Delete ")])),_:1})])]),typeof t.value.content=="object"?(s(),p(c(xe),we({key:0,modelValue:t.value.updatedContent,"onUpdate:modelValue":e[6]||(e[6]=a=>t.value.updatedContent=a),class:[[c(w)==="dark"?"jse-theme-dark":"light"],"json-editor-vue h-full of-auto text-sm outline-none"]},n.$attrs,{mode:"text","navigation-bar":!1,indentation:2,"tab-size":2}),null,16,["modelValue","class"])):Ce((s(),u("textarea",{key:1,"onUpdate:modelValue":e[7]||(e[7]=a=>t.value.updatedContent=a),placeholder:"Item value...",class:"h-full of-auto p-4 text-sm font-mono outline-none",onKeyup:A(Ke(h,["ctrl"]),["enter"])},null,40,Me)),[[Se,t.value.updatedContent]])])):(s(),p(E,{key:1},{default:r(()=>[d(L,{px6:"",py4:""},{default:r(()=>[e[12]||(e[12]=i(" Select one key to start.")),e[13]||(e[13]=l("br",null,null,-1)),e[14]||(e[14]=i("Learn more about ")),d(B,{href:"https://nitro.unjs.io/guide/storage",n:"orange",target:"_blank"},{default:r(()=>e[11]||(e[11]=[i(" Nitro storage ")])),_:1})]),_:1})]),_:1}))]),_:1})):(s(),p(E,{key:1},{default:r(()=>[Object.keys(c(V)).length?(s(),u("p",Ae," Select one storage to start: ")):(s(),u("p",qe,[e[16]||(e[16]=i(" No custom storage defined in ")),e[17]||(e[17]=l("code",null,"nitro.storage",-1)),e[18]||(e[18]=i(".")),e[19]||(e[19]=l("br",null,null,-1)),e[20]||(e[20]=i(" Learn more about ")),d(B,{href:"https://nitro.unjs.io/guide/storage",n:"orange",target:"_blank"},{default:r(()=>e[15]||(e[15]=[i(" Nitro storage ")])),_:1})])),(s(!0),u(x,null,M(c(V),(a,v)=>(s(),p(L,{key:v,"min-w-80":"","cursor-pointer":"","p-4":"","text-left":"",hover:"border-green",onClick:Pe=>o.value=v},{default:r(()=>[l("span",Be,b(v),1),e[21]||(e[21]=l("br",null,null,-1)),l("span",Le,b(a.driver)+" driver",1),e[22]||(e[22]=l("br",null,null,-1)),a.base?(s(),p(te,{key:0,"text-xs":"",filepath:a.base},null,8,["filepath"])):z("",!0)]),_:2},1032,["onClick"]))),128))]),_:1}))}}}),Oe=G({__name:"storage",setup(Q){return(m,g)=>{const w=Ee,C=pe;return s(),p(C,null,{default:r(()=>[d(w)]),_:1})}}});export{Oe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{bd as E,A as B,r as f,j as p,f as h,bf as V,o as F,E as M,a3 as D}from"./nqd95jrf.js";import{x as I,a as P}from"./vendor/xterm-b1jefe3j.js";import{k as y,b as g,x as R,Q as t,S as d,U as c,a0 as A,M as m,W as v,a5 as _,F as N,l as j,w as z,u as w,ab as L,Y as C,ag as S,a6 as $,$ as q}from"./vendor/json-editor-vue-fw81xiot.js";import"./vendor/unocss-dypm4cev.js";import"./vendor/shiki-j4jbxo4i.js";const Q={border:"t base",flex:"~ gap-2","items-center":"",p2:""},U={"text-sm":"",op50:""},W=y({__name:"TerminalView",props:{id:{}},setup(b){const n=b,i=g(),r=E(),o=g();let a;R(async()=>{a=new I.Terminal({convertEol:!0,cols:80,screenReaderMode:!0});const u=new P.FitAddon;a.loadAddon(u),a.open(i.value),u.fit(),B(window,"resize",()=>{u.fit()}),o.value=await f.getTerminalDetail(await p(),n.id),o.value?.buffer&&a.write(o.value.buffer),r.hook("devtools:terminal:data",({id:e,data:l})=>{e===n.id&&a.write(l)})});async function s(){f.runTerminalAction(await p(),n.id,"clear"),a?.clear()}async function k(){f.runTerminalAction(await p(),n.id,"restart")}async function x(){f.runTerminalAction(await p(),n.id,"terminate")}return(u,e)=>{const l=h;return t(),d(N,null,[c("div",{ref_key:"container",ref:i,"h-full":"","w-full":"","of-auto":"","bg-black":""},null,512),c("div",Q,[A(l,{title:"Clear",icon:"i-carbon-clean",border:!1,onClick:e[0]||(e[0]=T=>s())}),o.value?.restartable?(t(),m(l,{key:0,title:"Restart",icon:"carbon-renew",border:!1,onClick:e[1]||(e[1]=T=>k())})):v("",!0),o.value?.terminatable?(t(),m(l,{key:1,title:"Terminate",icon:"carbon-delete",border:!1,onClick:e[2]||(e[2]=T=>x())})):v("",!0),c("span",U,_(o.value?.description),1)])],64)}}}),Y={key:0,"h-full":"","w-full":"","of-hidden":"",grid:"~ rows-[max-content_1fr_max-content]"},G={flex:"~",border:"b base","flex-1":"","items-center":"","n-navbar-glass":""},H=["onClick"],J={key:1,p10:""},K={key:1,"h-full":"",flex:"","items-center":"","justify-center":""},O=y({__name:"TerminalPage",setup(b){const n=V(),i=F(),r=j(()=>n.value?.find(a=>a.id===i.value));async function o(a){f.runTerminalAction(await p(),a,"remove")}return z(()=>{!i.value&&n.value?.length&&(i.value=n.value[0].id)}),(a,s)=>{const k=M,x=h,u=W;return w(n)?.length?(t(),d("div",Y,[c("div",G,[(t(!0),d(N,null,L(w(n),e=>(t(),d("button",{key:e.id,border:"r base",flex:"~ gap-2","items-center":"",px3:"",py2:"",class:C(e.id===r.value?.id?"bg-active":""),onClick:l=>i.value=e.id},[e.icon?(t(),m(k,{key:0,icon:e.icon},null,8,["icon"])):v("",!0),c("span",{class:C(e.id===r.value?.id?"":"op50")},_(e.name)+_(e.isTerminated?" (terminated)":""),3),e.isTerminated?(t(),m(x,{key:1,icon:"carbon-close","mx--2":"",border:!1,onClick:S(l=>o(e.id),["stop"])},null,8,["onClick"])):v("",!0)],10,H))),128))]),r.value?(t(),m(u,{id:r.value.id,key:r.value.id},null,8,["id"])):(t(),d("div",J,[s[0]||(s[0]=$(" Terminal ")),c("code",null,_(w(i)),1),s[1]||(s[1]=$(" not found "))]))])):(t(),d("div",K,s[2]||(s[2]=[c("em",{op50:""},"No terminal attached",-1)])))}}}),ae=y({__name:"terminals",setup(b){return(n,i)=>{const r=O,o=D;return t(),m(o,null,{default:q(()=>[A(r)]),_:1})}}});export{ae as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a6 as W,K as z,z as j,bf as Y,_ as U,S as K,I as Q,e as O,a8 as X,Q as q,bg as Z,H as ee,j as se,J as ne,c as oe,r as G,C as te,x as ae}from"./er2hcepb.js";import{_ as V}from"./duration-display.vue-h9fie5qa.js";import{k as B,l as w,Q as t,S as i,U as o,X as T,a5 as m,u as g,F as f,ab as E,M as v,b as C,c as le,n as re,W as x,a0 as u,Y as R,R as H,$ as h,av as ie,a1 as pe,a6 as F,ah as ce}from"./vendor/json-editor-vue-gv8v06ez.js";import{_ as P}from"./nbadge-fn7hrj12.js";import{_ as de}from"./composable-item.vue-ec65e9jn.js";import{_ as ue}from"./stacktrace-list.vue-bbs3noa6.js";import{_ as me}from"./ndrawer.vue-gxd9fltc.js";import{_ as ke}from"./launch-page.vue-f4th9x6r.js";import{_ as ye}from"./nlink.vue-nuag3fiz.js";import{_ as fe}from"./code-diff.vue-hs4v40uj.js";import{_ as ve}from"./help-fab.vue-d5mgp1hs.js";import"./vendor/unocss-f0kk6o39.js";import"./vendor/shiki-ml6g43ls.js";import"./nmarkdown.vue-ew01nvcn.js";import"./client-my5lks1i.js";import"./filepath-item.vue-n2otfocd.js";import"./constants-b32h69zq.js";import"./ncode-block.vue-bvtirmea.js";const he=B({__name:"TimelineItemFunction",props:{item:{}},setup(y){const d=y,p=w(()=>W(d.item.name,50,60,"_op_")),n=w(()=>p.value.replace(/_op_/,"1")),e=w(()=>W(d.item.name,50,40)),l=w(()=>p.value.replace(/_op_/,"0.2"));return(a,r)=>(t(),i("button",{class:"group",style:T({color:n.value,borderLeft:`2px solid ${n.value}`}),relative:"","text-sm":"",transition:"","hover:z-1000":"","bg-base":""},[o("div",{style:T({backgroundColor:l.value}),absolute:"","bottom-0":"","left--1px":"","top-0":"","w-full":"","text-sm":"","transition-all":"","duration-300":""},null,4),o("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(y,{emit:d}){const p=y,n=d,e=z(()=>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=he;return t(),i("div",_e,[o("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),o("div",be,m(g(e))+" ago ",1),o("div",null,[(t(!0),i(f,null,E(l.segment.functions,(s,c)=>(t(),v(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(y){const d=[];let p={start:0,end:0,events:[],functions:[],duration:0};for(const n of y){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(y,{emit:d}){const p=y,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}),(_,I)=>{const $=V,M=ge;return t(),i(f,null,[o("div",$e,[o("div",{ref_key:"minimap",ref:l,border:"t b base",relative:"","h-50px":"","ws-nowrap":"","border-base":""},[(t(!0),i(f,null,E(k.value,(b,N)=>(t(),i("div",{key:N,relative:"","h-full":"","flex-inline":"",style:T({width:`${Math.max(100,b.duration/10)/D.value*100}%`})},[(t(!0),i(f,null,E(b.functions,(L,J)=>(t(),i("div",{key:J,"h-3px":"",rounded:"",style:T({width:`max(${L.relativeWidth*100}%, 10px)`,position:"absolute",top:`${L.layer*4}px`,left:`${L.relativeStart*100}%`,backgroundColor:("getHashColorFromString"in _?_.getHashColorFromString:g(W))(L.event.name,50,60)})},null,4))),128)),b.route?(t(),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),o("div",{ref_key:"minimapScroller",ref:a,class:"timeline-scroller",absolute:"","inset-0":"","h-full":"","w-full":"","of-x-scroll":""},[o("div",{ref_key:"minimapScrollerInner",ref:r,"h-1px":""},null,512)],512)]),o("div",{ref_key:"scroller",ref:e,relative:"","h-full":"","w-full":"","of-x-scroll":"","of-y-hidden":"","ws-nowrap":"","n-panel-grids":""},[(t(!0),i(f,null,E(k.value,(b,N)=>(t(),i(f,{key:N},[b.previousGap&&b.previousGap>=200?(t(),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:I[0]||(I[0]=L=>n("select",L))},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:""},Ie={flex:"~ col items-start"},Le={"text-xs":"","font-mono":"",op30:""},Me={"text-green":"","font-bold":"","font-mono":""},We=B({__name:"TimelineList",props:{data:{}},emits:["select"],setup(y,{emit:d}){const p=d;return(n,e)=>{const l=V;return t(),i("div",Te,[(t(!0),i(f,null,E(n.data.events,(a,r)=>(t(),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"?(t(),i(f,{key:0},[e[2]||(e[2]=o("div",{"i-carbon-function":"",op50:""},null,-1)),o("div",{"font-mono":"",style:T({color:a.type==="function"?("getHashColorFromString"in n?n.getHashColorFromString:g(W))(a.name,50,60):""})},m(a.name),5),o("div",Ne,[e[0]||(e[0]=o("div",{op30:""}," ( ",-1)),(t(!0),i(f,null,E(a.args,(s,c)=>(t(),i(f,{key:c},[c?(t(),i("div",Fe," , ")):x("",!0),o("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]=o("div",{op30:""}," ) ",-1))])],64)):(t(),i(f,{key:1},[e[3]||(e[3]=o("div",{"mr-1":"","h-7":"","w-7":"",flex:"","rounded-lg":"","bg-primary:5":"",p1:"","text-green6":""},[o("div",{"i-carbon-direction-rotary-right":"",ma:"","text-lg":""})],-1)),o("div",Ie,[o("div",Le,m(a.from),1),o("div",Me,m(a.to),1)])],64)),e[4]||(e[4]=o("div",{"flex-auto":""},null,-1)),a.end?(t(),v(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]=o("div",{"min-h-100":""},null,-1))])}}}),Ve={key:0,"text-blue":""},je={key:1,"text-purple":""},ze={key:2,"text-green":""},Oe={key:3,"text-gray":""},Re={key:4,"text-gray":""},Ge={key:5,"text-gray":""},He={key:0,"bg-red:10":"",px2:"",py1:"","text-red":""},Pe={key:1},Je={p2:"","text-sm":"",border:"t base"},Ye=B({__name:"TimelineArgumentView",props:{value:{}},setup(y){const d=y,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=K(),r=Q();return(s,c)=>{const k=O,D=H("VMenu");return typeof s.value=="string"?(t(),i("div",Ve,m(JSON.stringify(s.value)),1)):typeof s.value=="number"?(t(),i("div",je,m(s.value),1)):typeof s.value=="boolean"?(t(),i("div",ze,m(s.value),1)):typeof s.value>"u"?(t(),i("div",Oe," undefined ")):typeof s.value=="function"?(t(),i("div",Re," [Function"+m(s.value.name?`: ${s.value.name}`:"")+"] ",1)):s.value===null?(t(),i("div",Ge," null ")):(t(),v(D,{key:6,placement:"top"},{popper:h(()=>[u(g(l),{onSetup:e}),n.value?(t(),i("div",He," Failed to display object: "+m(n.value),1)):p.value?(t(),i("div",Pe,[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"]),o("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:h(()=>c[1]||(c[1]=[F(" Copy ")])),_:1})])])):x("",!0)]),default:h(()=>[o("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":""},Ke={"mx--1":""},Qe={flex:"~ gap-1","font-mono":""},Xe={key:1},qe={key:0,op30:""},Ze={flex:"~ gap-1","text-sm":""},es={class:"text-sm text-gray-400"},ss=B({__name:"TimelineDetailsFunction",props:{record:{}},setup(y){const d=y,p=z(()=>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=P,c=de,k=Ye,D=V,A=ue;return a.record?(t(),i("div",Ue,[o("div",Ke,[u(s,{n:"yellow",textContent:"Function call"})]),o("div",Qe,[l.value?(t(),v(c,{key:0,item:l.value,metadata:e.value,counter:!1,classes:"px2 py1","mx--2":""},null,8,["item","metadata"])):(t(),i("span",Xe,m(a.record.name),1)),r[0]||(r[0]=o("span",{ml1:"",op30:""},"(",-1)),(t(!0),i(f,null,E(a.record.args,(S,_)=>(t(),i(f,{key:_},[_?(t(),i("span",qe,", ")):x("",!0),u(k,{value:S},null,8,["value"])],64))),128)),r[1]||(r[1]=o("span",{op30:""},")",-1))]),o("div",Ze,[a.record.end?(t(),v(D,{key:0,duration:a.record.end-a.record.start},null,8,["duration"])):x("",!0),r[2]||(r[2]=o("span",{mx1:"",op50:""},"·",-1)),o("div",es,m(g(p)),1)]),a.record.stacktrace?(t(),v(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"},os={"mx--1":""},ts={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(y){const d=y,p=z(()=>d.record.start,{showSecond:!0});return(n,e)=>{const l=P,a=V;return n.record?(t(),i("div",ns,[o("div",os,[u(l,{n:"green",textContent:"Route Change"})]),o("div",ts,[o("span",as,m(n.record.from),1),e[0]||(e[0]=o("span",{"i-carbon-arrow-right":"",op50:""},null,-1)),o("span",null,m(n.record.to),1)]),o("div",ls,[n.record.end?(t(),v(a,{key:0,duration:n.record.end-n.record.start},null,8,["duration"])):x("",!0),e[1]||(e[1]=o("span",{mx1:"",op50:""},"·",-1)),o("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(y){const d=q(),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=H("VTooltip"),k=O,D=we,A=We,S=ss,_=is,I=me;return e.value?(t(),i("div",ps,[o("div",cs,[o("div",ds,[u(c,{flex:""},{popper:h(()=>[o("div",us,m(e.value.options.enabled?"Recording...":"Paused"),1)]),default:h(()=>[o("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?(t(),v(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:h(()=>s[6]||(s[6]=[F(" Stop Tracking ")])),_:1})):(t(),v(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:h(()=>s[5]||(s[5]=[F(" Start Tracking ")])),_:1})),s[7]||(s[7]=o("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"?(t(),v(D,{key:0,data:{...e.value},onSelect:s[2]||(s[2]=$=>n.value=$.event)},null,8,["data"])):(t(),v(A,{key:1,data:{...e.value},onSelect:s[3]||(s[3]=$=>n.value=$)},null,8,["data"]))]),u(I,{"model-value":!!n.value,"auto-close":"",transition:"bottom",left:"#nuxt-devtools-side-nav",onClose:s[4]||(s[4]=$=>n.value=void 0)},{default:h(()=>[o("div",ms,[n.value?.type==="function"?(t(),v(S,{key:0,record:n.value},null,8,["record"])):n.value?.type==="route"?(t(),v(_,{key:1,record:n.value},null,8,["record"])):x("",!0)])]),_:1},8,["model-value"])])):x("",!0)}}}),ys={class:"markdown-body"},fs={__name:"timeline",setup(y,{expose:d}){return d({frontmatter:{}}),(n,e)=>(t(),i("div",ys,e[0]||(e[0]=[o("h1",null,"Timeline",-1),o("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 '#imports'</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;"><</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;">></span></span>
|
|
1
|
+
import{a4 as W,L as O,A as j,bg as Y,_ as U,Q as K,J as Q,f as z,a6 as X,b as q,bh as Z,I as ee,k as se,K as ne,d as te,r as G,D as oe,y as ae}from"./nqd95jrf.js";import{_ as V}from"./duration-display.vue-jvaccd8v.js";import{k as B,l as w,Q as o,S as i,U as t,X as T,a5 as m,u as g,F as y,ab as E,M as h,b as C,c as le,n as re,W as x,a0 as u,Y as R,R as P,$ as v,av as ie,a1 as pe,a6 as F,ah as ce}from"./vendor/json-editor-vue-fw81xiot.js";import{_ as H}from"./nbadge-j8xt52su.js";import{_ as de}from"./composable-item.vue-ey343bin.js";import{_ as ue}from"./stacktrace-list.vue-dd1o2nt8.js";import{_ as me}from"./ndrawer.vue-gp265qmz.js";import{_ as ke}from"./launch-page.vue-cqjll0t4.js";import{_ as fe}from"./nlink.vue-e40v0aor.js";import{_ as ye}from"./code-diff.vue-m59b1ce1.js";import{_ as he}from"./help-fab.vue-yzlm2ptp.js";import"./vendor/unocss-dypm4cev.js";import"./vendor/shiki-j4jbxo4i.js";import"./nmarkdown.vue-lym2fx3e.js";import"./client-bnemmvey.js";import"./filepath-item.vue-dhlc2m5d.js";import"./constants-b32h69zq.js";import"./ncode-block.vue-c2t0anp9.js";const ve=B({__name:"TimelineItemFunction",props:{item:{}},setup(f){const d=f,p=w(()=>W(d.item.name,50,60,"_op_")),n=w(()=>p.value.replace(/_op_/,"1")),e=w(()=>W(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 $=V,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(W))(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":""},We=B({__name:"TimelineList",props:{data:{}},emits:["select"],setup(f,{emit:d}){const p=d;return(n,e)=>{const l=V;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(W))(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))])}}}),Ve={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=K(),r=Q();return(s,c)=>{const k=z,D=P("VMenu");return typeof s.value=="string"?(o(),i("div",Ve,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":""},Ke={"mx--1":""},Qe={flex:"~ gap-1","font-mono":""},Xe={key:1},qe={key:0,op30:""},Ze={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=V,A=ue;return a.record?(o(),i("div",Ue,[t("div",Ke,[u(s,{n:"yellow",textContent:"Function call"})]),t("div",Qe,[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",qe,", ")):x("",!0),u(k,{value:S},null,8,["value"])],64))),128)),r[1]||(r[1]=t("span",{op30:""},")",-1))]),t("div",Ze,[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=V;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=q(),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=We,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 '#imports'</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;"><</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;">></span></span>
|
|
2
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;"> '</span><span style="color:#B56959;--shiki-dark:#C98A7D;">#app/composables/router</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">'</span></span>
|
|
3
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;"> '</span><span style="color:#B56959;--shiki-dark:#C98A7D;">#imports</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">'</span></span>
|
|
4
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;"> '</span><span style="color:#B56959;--shiki-dark:#C98A7D;">@vueuse/core</span><span style="color:#B5695977;--shiki-dark:#C98A7D77;">'</span></span>
|
|
@@ -28,4 +28,4 @@ import{a6 as W,K as z,z as j,bf as Y,_ as U,S as K,I as Q,e as O,a8 as X,Q as q,
|
|
|
28
28
|
<span class="line"><span style="color:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
29
29
|
<span class="line"><span style="color:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
30
30
|
<span class="line"><span style="color:#999999;--shiki-dark:#666666;">})</span></span>
|
|
31
|
-
<span class="line"></span></code></pre>`,6)])))}},
|
|
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":""},Vs=B({__name:"timeline",setup(f){const d=Z(),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{Vs as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as e,k as s}from"./vendor/unocss-
|
|
1
|
+
import{g as e,k as s}from"./vendor/unocss-dypm4cev.js";e({defaults:{presets:[s({prefix:["i-",""],collections:{},cdn:"https://esm.sh/",scale:1.2,extraProperties:{display:"inline-block","vertical-align":"middle"}})]},bypassDefined:!0});
|