UNPKG

@nuxt/devtools

Version:

<a href="https://devtools.nuxt.com"><img width="1200" alt="Nuxt DevTools" src="https://github-production-user-asset-6210df.s3.amazonaws.com/904724/261577617-a10567bd-ad33-48cc-9bda-9e37dbe1929f.png"></a> <br>

2 lines (1 loc) 15.5 kB
import{_ as Z}from"./CQTsRCSt.js";import{d as P,a as I,aa as Q,o as n,h as w,j as r,k as t,a8 as A,f as o,v as b,t as h,m,D as O,p as y,i as a,F as j,n as D,x as S,a4 as R,ar as Y,P as G,aO as tt,J as q,K as V,S as et,aP as H,aQ as J,_ as z,r as T,af as ot,l as nt,a9 as st,W as lt,X as at,Q as it,aR as E}from"./Bysyzw-g.js";import{_ as rt,u as K,a as dt}from"./HT-8HE-a.js";import{_ as ut}from"./C6_B1_1h.js";import{_ as pt}from"./CXTghDHT.js";import{_ as W}from"./CtUB4FID.js";import{_ as mt}from"./Ci0JrwP0.js";import{_ as ct}from"./CpQX28Pm.js";import{s as _t}from"./DPGeaLSc.js";import{_ as ft}from"./CdlRa3-_.js";import{_ as gt}from"./DxQMSSvi.js";import{_ as xt}from"./DByNSuIM.js";import{_ as vt}from"./WFxqX3Wd.js";import"./ZTJOnUjs.js";import"./DK4YETzW.js";const bt={flex:"~ col gap2","flex-auto":"","of-hidden":"",px1:""},kt={"gap-1t":"",flex:"","items-center":"","text-ellipsis":"","ws-nowrap":"","text-lg":""},ht={key:2},yt={key:1,flex:"~ gap-2",title:"Documentation"},$t={key:2,flex:"~ gap-2"},wt={key:0,flex:"~ gap-4 items-center"},Ct={flex:"~ gap-1 items-center",op50:""},It={flex:"~ gap-1 items-center",op50:""},Mt={flex:"~ col","items-end":""},Nt={key:0,"h-20":"","w-20":"",flex:"","flex-none":"",rounded:"","bg-gray:3":"",p4:""},Bt=["src","alt"],jt={key:1,flex:"~",mt2:"","flex-auto":"","items-end":"","justify-end":""},Pt=["src"],Dt={flex:"","justify-end":""},At="https://api.nuxtjs.org/api/ipx/s_80,f_webp/gh/nuxt/modules/main/icons/",Tt="https://api.nuxtjs.org/api/ipx/s_44,f_webp/gh_avatar/",Ot="https://github.com/",zt="https://www.npmjs.com/package/",F=P({__name:"ModuleItemBase",props:{mod:{},info:{},compact:{type:Boolean},maintainers:{type:Boolean,default:!0}},setup(B){const _=B,i=I(()=>({..._.mod?.meta,..._.mod,..._.info})),k=Q();return(d,e)=>{const s=S,u=R,C=Y;return n(),w(C,{p4:"",flex:"~ gap2"},{default:r(()=>[t("div",bt,[A(d.$slots,"main",{},()=>[t("div",kt,[d.mod.isPackageModule?(n(),w(s,{key:0,to:zt+(o(i).npm||o(i).name),target:"_blank",hover:"underline text-primary"},{default:r(()=>[b(h(o(i).name),1)]),_:1},8,["to"])):d.mod.entryPath?(n(),m("button",{key:1,role:"button",hover:"underline text-primary",onClick:e[0]||(e[0]=x=>o(k)(d.mod.entryPath))},h(o(i).name),1)):(n(),m("span",ht,h(o(i).name),1)),A(d.$slots,"badge")]),o(i).description?(n(),m("div",{key:0,class:O(d.compact?"ws-nowrap of-hidden truncate":"line-clamp-2"),"mt--1":"","text-sm":"",op50:""},h(o(i).description),3)):y("",!0),e[3]||(e[3]=t("div",{"flex-auto":""},null,-1)),o(i).website?(n(),m("div",yt,[e[1]||(e[1]=t("span",{"i-carbon-link":"","text-lg":"",op50:""},null,-1)),a(s,{to:o(i).website,target:"_blank","of-hidden":"",truncate:"","ws-nowrap":"","text-sm":"",op50:"",hover:"op100 underline text-primary"},{default:r(()=>[b(h(o(i).website.replace(/^https?:\/\//,"")),1)]),_:1},8,["to"])])):y("",!0),o(i).github?(n(),m("div",$t,[e[2]||(e[2]=t("span",{"i-carbon-logo-github":"","text-lg":"",op50:""},null,-1)),a(s,{to:o(i).github,target:"_blank","of-hidden":"",truncate:"","ws-nowrap":"","text-sm":"",op50:"",hover:"op100 underline text-primary"},{default:r(()=>[b(h(o(i).github.replace(/^https?:\/\/github.com\//,"")),1)]),_:1},8,["to"])])):y("",!0)]),A(d.$slots,"items"),o(i).stats?(n(),m("div",wt,[t("div",Ct,[a(u,{icon:"carbon-star","text-lg":""}),t("span",null,h(o(i).stats.stars),1)]),t("div",It,[a(u,{icon:"carbon-download","text-lg":""}),t("span",null,h(o(i).stats.downloads),1)])])):y("",!0)]),t("div",Mt,[o(i).icon||d.mod.isPackageModule?(n(),m("div",Nt,[o(i).icon?(n(),m("img",{key:0,src:At+o(i).icon,alt:d.mod.name,ma:""},null,8,Bt)):y("",!0),e[4]||(e[4]=t("div",{"i-carbon-cube":"",ma:"","text-4xl":"",op30:""},null,-1))])):y("",!0),o(i).maintainers?.length&&d.maintainers?(n(),m("div",jt,[(n(!0),m(j,null,D(o(i).maintainers,x=>(n(),w(s,{key:x.name,target:"_blank",to:Ot+x.github,title:x.name},{default:r(()=>[t("img",{src:Tt+x.github,"h-6":"","w-6":"","rounded-full":""},null,8,Pt)]),_:2},1032,["to","title"]))),128))])):y("",!0),d.$slots.actions?(n(),m(j,{key:2},[e[5]||(e[5]=t("div",{"flex-auto":""},null,-1)),t("div",Dt,[A(d.$slots,"actions")])],64)):y("",!0)])]),_:3})}}}),Lt={key:0,flex:"~ gap-2",title:"Open on filesystem"},St={key:1,"mx--2":""},Ft=["onClick"],Ut={key:2,"mx--2":""},qt=["onClick"],Vt={op50:""},Et={"text-green":""},Qt={key:3,flex:"~ gap-2","items-center":"",title:"NPM"},Rt={"text-sm":"",op50:""},Yt=P({__name:"ModuleItem",props:{mod:{}},setup(B){const _=B,i=I(()=>_.mod.info),k=I(()=>({..._.mod?.meta,..._.mod,...i.value})),d=G();return(e,s)=>{const u=Z,C=S,x=rt,v=F;return n(),w(v,{mod:e.mod,info:o(i)},{items:r(()=>[e.mod.entryPath?(n(),m("div",Lt,[s[0]||(s[0]=t("span",{"i-carbon-folder-move-to":"","text-lg":"",op50:""},null,-1)),a(u,{filepath:e.mod.entryPath,"text-sm":"",op50:"",hover:"text-primary op100"},null,8,["filepath"])])):y("",!0),o(k).npm?(n(),w(x,{key:o(k).npm,"package-name":o(k).npm,options:{dev:!0}},{default:r(({info:c,update:p,state:l,id:f,restart:$})=>[l==="running"?(n(),w(C,{key:0,flex:"~ gap-2","animate-pulse":"","items-center":"",to:f?"/modules/terminals":void 0,onClick:M=>f?d.value=f:void 0},{default:r(()=>s[1]||(s[1]=[t("span",{"i-carbon-circle-dash":"","animate-spin":"","text-lg":"",op50:""},null,-1),t("code",{"text-sm":"",op50:""},"Upgrading...",-1)])),_:2},1032,["to","onClick"])):l==="updated"?(n(),m("div",St,[t("button",{flex:"~ gap-2",hover:"bg-primary/20","items-center":"",rounded:"","bg-primary:10":"",px2:"","text-sm":"","text-primary":"",onClick:$},s[2]||(s[2]=[t("span",{"i-carbon-intent-request-active":"","text-lg":"","text-primary":""},null,-1),t("code",{"text-xs":""},"Update installed, click to restart",-1)]),8,Ft)])):c?.needsUpdate?(n(),m("div",Ut,[t("button",{flex:"~ gap-2",title:"Click to upgrade","items-center":"",rounded:"",px2:"","text-sm":"",hover:"bg-active",onClick:M=>p()},[s[3]||(s[3]=t("span",{"i-carbon-intent-request-upgrade":"","text-lg":"",op50:""},null,-1)),t("code",Vt,"v"+h(c.current),1),s[4]||(s[4]=t("div",{"i-carbon-arrow-right":"",op50:""},null,-1)),t("code",Et,"v"+h(c.latest),1)],8,qt)])):c?.latest?(n(),m("div",Qt,[s[5]||(s[5]=t("span",{"i-carbon-cube":"","text-lg":"",op50:""},null,-1)),t("code",Rt,"v"+h(c.current),1)])):y("",!0)]),_:1},8,["package-name"])):y("",!0)]),_:1},8,["mod","info"])}}}),Gt=P({__name:"ModuleItemInstall",props:{item:{}},emits:["start"],setup(B,{emit:_}){const i=B,k=_,d=K(),e=I(()=>d.value.find(v=>v.name===i.item.npm)),s=I(()=>e.value&&e.value.isPackageModule),u=I(()=>e.value&&e.value.isPackageModule&&e.value.isUninstallable);async function C(v,c){const p=c==="install"?q.installNuxtModule:q.uninstallNuxtModule,l=await p(await V(),v.npm,!0);et(`modules:${c}`,{moduleName:v.npm}),l.commands&&await H.start(v,l,c)&&(J.value.push({name:v.npm,info:v,processId:l.processId}),k("start"),await p(await V(),v.npm,!1))}const x={};return(v,c)=>{const p=ct,l=z,f=W,$=F;return n(),w($,{mod:x,role:o(s)?"":"button",info:v.item,mb2:"","h-full":"",class:O(o(s)?"border-dashed op75":"hover:bg-active!"),compact:!0,onClick:c[1]||(c[1]=M=>o(s)?null:C(v.item,"install"))},tt({_:2},[o(s)?{name:"badge",fn:r(()=>[a(p,{n:"green",textContent:"Installed"}),o(u)?(n(),w(f,{key:0,n:"sm green"},{trigger:r(({click:M})=>[a(l,{icon:"carbon-overflow-menu-vertical",border:!1,onClick:g=>M()},null,8,["onClick"])]),default:r(()=>[a(l,{icon:"carbon-trash-can",n:"red",onClick:c[0]||(c[0]=M=>C(v.item,"uninstall"))},{default:r(()=>c[2]||(c[2]=[b(" Uninstall ")])),_:1})]),_:1})):y("",!0)]),key:"0"}:void 0]),1032,["role","info","class"])}}}),Ht={"h-full":"",flex:"~ col gap-4"},Jt={flex:"~ items-center"},Kt={flex:"~ col","w-30":"","of-auto":""},Wt={flex:"~ justify-between","w-full":"","text-xs":"",capitalize:"",op75:""},Xt={"flex-auto":"","of-auto":"",flex:"~ col gap-2",pl6:"",pr4:""},Zt=P({__name:"ModuleInstallList",emits:["close"],setup(B,{emit:_}){const i=_,k=dt(),d=["downloads","stars","updated","created"],e=T(!1),s=T(d[0]),u={downloads:(p,l)=>p.stats.downloads-l.stats.downloads,stars:(p,l)=>p.stats.stars-l.stats.stars,created:(p,l)=>p.stats.createdAt-l.stats.createdAt,updated:(p,l)=>p.stats.publishedAt-l.stats.publishedAt},C=I(()=>k.value?.toSorted((p,l)=>u[s.value](p,l)*(e.value?1:-1))),x=T(""),v=I(()=>new ot(k.value||[],{keys:["name","description","npm","category"],sortFn:(p,l)=>{const f=k.value?.[p.idx],$=k.value?.[l.idx];return f&&$?u[s.value](f,$)*(e.value?1:-1):p.score-l.score},threshold:.2})),c=I(()=>x.value?v.value.search(x.value).map(p=>p.item):C.value);return(p,l)=>{const f=pt,$=z,M=R,g=W,U=mt,X=Gt;return n(),m("div",Ht,[a(f,{mx6:"",mt6:"","text-xl":"",op75:"",icon:"i-carbon-intent-request-create",text:"Install Module"}),a(U,{search:o(x),"onUpdate:search":l[1]||(l[1]=N=>nt(x)?x.value=N:null),"no-padding":"","px-6":"","pb-5":"","pt-2":""},{actions:r(()=>[a(g,{direction:"end",n:"sm primary"},{trigger:r(({click:N})=>[t("div",Jt,[a($,{icon:o(e)?"tabler:sort-ascending":"tabler:sort-descending","h-full":"","rounded-r-none":"",onClick:l[0]||(l[0]=L=>e.value=!o(e))},null,8,["icon"]),a($,{flex:"~ justify-between","min-w-30":"","border-l-0":"","rounded-l-none":"","px-2":"",capitalize:"",hover:"border-l-1",onClick:L=>N()},{default:r(()=>[b(h(o(s))+" ",1),a(M,{icon:"carbon:chevron-down"})]),_:2},1032,["onClick"])])]),default:r(()=>[t("div",Kt,[(n(),m(j,null,D(d,N=>a($,{key:N,border:!1,p2:"",hover:"n-checkbox-hover text-green",onClick:L=>s.value=N},{default:r(()=>[t("span",Wt,[b(h(N)+" ",1),o(s)===N?(n(),w(M,{key:0,icon:"carbon:checkmark"})):y("",!0)])]),_:2},1032,["onClick"])),64))])]),_:1})]),_:1},8,["search"]),t("div",Xt,[a(o(_t),{class:"scroller",items:o(c),"item-size":200,"key-field":"name"},{default:r(({item:N})=>[a(X,{item:N,onStart:l[2]||(l[2]=L=>i("close"))},null,8,["item"])]),_:1},8,["items"])])])}}}),te={flex:"~ col gap-2","w-150":"",p4:"",border:"t base"},ee={capitalize:""},oe={op50:""},ne={flex:"~ gap-3",mt2:"","justify-end":""},se=P({__name:"ModuleActionDialog",setup(B){const _=st(),i=Q(),k={};return(d,e)=>{const s=F,u=ft,C=gt,x=xt,v=lt,c=z,p=at;return n(),w(o(H),null,{default:r(({resolve:l,args:f})=>[a(p,{"model-value":!0,onClose:$=>l(!1)},{default:r(()=>[a(s,{mod:k,info:f[0],border:"none","w-150":"","n-panel-grids":""},null,8,["info"]),t("div",te,[t("h2",{"text-xl":"",class:O(f[2]==="install"?"text-primary":"text-red")},[t("span",ee,h(f[2]),1),e[1]||(e[1]=b()),t("code",null,h(f[0].name),1),e[2]||(e[2]=b("? "))],2),e[7]||(e[7]=t("p",{op50:""}," The following command will be executed in your terminal: ",-1)),a(u,{code:f[1].commands.join(" "),lang:"bash",px4:"",py2:"",border:"~ base rounded",lines:!1},null,8,["code"]),t("p",oe,[e[3]||(e[3]=b(" Then your ")),a(C,{role:"button",n:"primary",underline:"",onClick:e[0]||(e[0]=$=>o(i)(o(_)?._nuxtConfigFile)),textContent:"Nuxt config"}),e[4]||(e[4]=b(" will be updated as: "))]),a(x,{from:f[1].configOriginal,to:f[1].configGenerated,"max-h-80":"","of-auto":"",py2:"",border:"~ base rounded",lang:"ts"},null,8,["from","to"]),e[8]||(e[8]=t("p",null,[t("span",{op50:""},"After that, Nuxt will "),t("span",{"text-orange":""},"restart automatically"),b(". ")],-1)),t("div",ne,[a(v,{n:"sm amber","flex-auto":"",icon:"i-carbon-data-backup"},{default:r(()=>e[5]||(e[5]=[b(" Please make sure to backup your project first. ")])),_:1}),a(c,{onClick:$=>l(!1)},{default:r(()=>e[6]||(e[6]=[b(" Cancel ")])),_:2},1032,["onClick"]),a(c,{n:"solid",capitalize:"",class:O(f[2]==="install"?"n-primary":"n-red"),onClick:$=>l(!0)},{default:r(()=>[b(h(f[2]),1)]),_:2},1032,["class","onClick"])])])]),_:2},1032,["onClose"])]),_:1})}}}),le={class:"markdown-body"},ae={__name:"modules",setup(B,{expose:_}){return _({frontmatter:{}}),(k,d)=>(n(),m("div",le,d[0]||(d[0]=[t("h1",null,"Modules",-1),t("p",null,[b("Nuxt provides a module system to extend the framework core and simplify integrations. You don’t need to develop everything from scratch or maintain boilerplate if there is already a Nuxt module for it. Adding Nuxt modules is possible using "),t("code",null,"nuxt.config"),b(".")],-1),t("p",null,[b("You can explore the list of modules on "),t("a",{href:"https://nuxt.com/modules",target:"_blank",rel:"noopener"},"nuxt.com/modules"),b(" or install them directly inside the DevTools.")],-1),t("p",null,[t("a",{href:"https://nuxt.com/docs/guide/concepts/modules",target:"_blank",rel:"noopener"},"Learn more in the documentation")],-1)])))}},ie=ae,re={"h-full":"","w-full":"","of-auto":""},de={relative:"","h-20":"","w-20":"",flex:"","flex-none":"",rounded:"","bg-gray:3":"",p3:""},ue=["src","alt"],pe={"text-lg":"","group-hover":"text-primary",transition:"",flex:"~ gap-2 items-center"},me={op75:""},ce={key:0,border:"l base",pos:"fixed bottom-0 right-0 top-0","z-200":"","w-150":"","bg-base":""},_e="https://api.nuxtjs.org/api/ipx/s_80,f_webp/gh/nuxt/modules/main/icons/",je=P({__name:"modules",setup(B){const _=T(!1),i=K(),k=G(),d=I(()=>i.value.filter(s=>s.isPackageModule)),e=I(()=>i.value.filter(s=>!s.isPackageModule));return it(()=>[{id:"action:modules:install",title:"Install a new module",icon:"i-carbon-intent-request-create ",action:()=>{_.value=!0}}]),(s,u)=>{const C=Yt,x=Y,v=S,c=ut,p=z,l=Zt,f=se,$=ie,M=vt;return n(),m(j,null,[t("div",re,[a(c,{icon:"carbon-3d-mpr-toggle",text:"Installed Modules","container-class":"grid grid-cols-minmax-400px gap3 px4",padding:!1,description:`Total modules: ${o(d).length}`},{default:r(()=>[(n(!0),m(j,null,D(o(d),g=>(n(),w(C,{key:g.name,mod:g},null,8,["mod"]))),128)),(n(!0),m(j,null,D("processInstallingModules"in s?s.processInstallingModules:o(J),g=>(n(),w(v,{key:g.processId,block:"","min-h-30":"",to:"/modules/terminals",onClick:U=>k.value=g.processId},{default:r(()=>[a(x,{border:"1.5 dashed","h-full":"","animate-pulse":"",p4:"",transition:"",hover:"border-primary",flex:"~ col gap-1 items-center justify-center",role:"button",class:"group"},{default:r(()=>[t("div",de,[t("img",{src:_e+g.info.icon,alt:g.info.name,ma:""},null,8,ue),u[4]||(u[4]=t("div",{"i-carbon-cube":"",ma:"","text-4xl":"",op30:""},null,-1))]),t("div",pe,[u[5]||(u[5]=t("div",{"i-carbon-circle-dash":"","animate-spin":"","text-xl":"",op75:""},null,-1)),t("span",me,"Installing "+h(g.name)+"...",1)])]),_:2},1024)]),_:2},1032,["onClick"]))),128)),a(x,{border:"1.5 dashed","min-h-30":"",p4:"",transition:"",hover:"border-primary",flex:"~ col gap-2 items-center justify-center",role:"button",class:"group",onClick:u[0]||(u[0]=g=>_.value=!0)},{default:r(()=>u[6]||(u[6]=[t("div",{"i-carbon-intent-request-create":"","text-4xl":"",op40:"","group-hover":"op75 text-primary",transition:""},null,-1),t("div",{"text-lg":"",op40:"","group-hover":"op75 text-primary",transition:""}," Install New Module ",-1)])),_:1})]),_:1},8,["description"]),o(e).length?(n(),w(c,{key:0,icon:"carbon-3d-mpr-toggle",text:"User Modules","container-class":"grid grid-cols-minmax-400px gap3 px4",padding:!1,description:`Total modules: ${o(e).length}`},{default:r(()=>[(n(!0),m(j,null,D(o(e),g=>(n(),m(j,{key:g.meta?.name||g.entryPath},[g.meta?.name||g.entryPath?(n(),w(C,{key:0,mod:g},null,8,["mod"])):y("",!0)],64))),128))]),_:1},8,["description"])):y("",!0),a(E,{name:"fade-in"},{default:r(()=>[o(_)?(n(),m("div",{key:0,class:"fixed bottom-0 left-0 right-0 top-0 z-100","bg-black:20":"","backdrop-blur-2":"",onClick:u[1]||(u[1]=g=>_.value=!1)})):y("",!0)]),_:1}),a(E,{name:"slide-in"},{default:r(()=>[o(_)?(n(),m("div",ce,[a(p,{icon:"carbon-close",pos:"absolute top-3 right-3 z-10","rounded-full":"","text-xl":"",border:!1,onClick:u[2]||(u[2]=g=>_.value=!1)}),a(l,{onClose:u[3]||(u[3]=g=>_.value=!1)})])):y("",!0)]),_:1}),a(f)]),a(M,null,{default:r(()=>[a($)]),_:1})],64)}}});export{je as default};