@nuxt/hints 1.0.0-alpha.7 → 1.0.0-alpha.9

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 (59) hide show
  1. package/dist/client/200.html +1 -1
  2. package/dist/client/404.html +1 -1
  3. package/dist/client/_nuxt/{BR7nweas.js → 16LZ-2rN.js} +1 -1
  4. package/dist/client/_nuxt/32ctXXKs.js +1 -0
  5. package/dist/client/_nuxt/BA47KaF1.js +1 -0
  6. package/dist/client/_nuxt/{CGrEsiZq.js → BFRyJUvr.js} +1 -1
  7. package/dist/client/_nuxt/{De9_lo2O.js → BHYWC4mf.js} +1 -1
  8. package/dist/client/_nuxt/{C7hBqjlR.js → BKRej55Q.js} +1 -1
  9. package/dist/client/_nuxt/{CO-t741Y.js → BMheLZQI.js} +1 -1
  10. package/dist/client/_nuxt/BN7gUcg9.js +1 -0
  11. package/dist/client/_nuxt/BOWvZIQC.js +4 -0
  12. package/dist/client/_nuxt/{GGTyZ2re.js → BS0rITwE.js} +1 -1
  13. package/dist/client/_nuxt/{CC58r8DQ.js → BY53PIN5.js} +1 -1
  14. package/dist/client/_nuxt/{uOY9vQtj.js → BYo9cb9R.js} +10 -10
  15. package/dist/client/_nuxt/{CPCqepq_.js → BZWgH84o.js} +1 -1
  16. package/dist/client/_nuxt/{B1nHQOfq.js → CTf7BuVz.js} +1 -1
  17. package/dist/client/_nuxt/Cn-bp-IR.js +1 -0
  18. package/dist/client/_nuxt/{DGBsmNPI.js → CuE35eZa.js} +1 -1
  19. package/dist/client/_nuxt/D7xuZOu8.js +1 -0
  20. package/dist/client/_nuxt/{BDdCTdUI.js → DOHcV6MR.js} +1 -1
  21. package/dist/client/_nuxt/{DCmwhz07.js → DOJAAXAk.js} +1 -1
  22. package/dist/client/_nuxt/{TsXTqZ29.js → DSeZwD4N.js} +1 -1
  23. package/dist/client/_nuxt/DYE7WIF3.js +1 -0
  24. package/dist/client/_nuxt/{CTimJaOZ.js → DaNrdrhj.js} +1 -1
  25. package/dist/client/_nuxt/DgsIRcX7.js +1 -0
  26. package/dist/client/_nuxt/GiOWC8es.js +6 -0
  27. package/dist/client/_nuxt/builds/latest.json +1 -1
  28. package/dist/client/_nuxt/builds/meta/9cd25584-d8cd-4e50-8973-949eec6b2524.json +1 -0
  29. package/dist/client/_nuxt/entry.bXb283Sw.css +1 -0
  30. package/dist/client/_nuxt/error-404.LspKb3Ne.css +1 -0
  31. package/dist/client/_nuxt/error-500.B_qDdXYW.css +1 -0
  32. package/dist/client/component-lazy-load/index.html +1 -1
  33. package/dist/client/hydration/index.html +1 -1
  34. package/dist/client/index.html +1 -1
  35. package/dist/client/third-party-scripts/index.html +1 -1
  36. package/dist/client/web-vitals/index.html +1 -1
  37. package/dist/module.json +1 -1
  38. package/dist/module.mjs +25 -11
  39. package/dist/runtime/hydration/composables.js +7 -3
  40. package/dist/runtime/hydration/plugin.client.js +1 -1
  41. package/dist/runtime/lazy-load/composables.d.ts +8 -4
  42. package/dist/runtime/lazy-load/composables.js +28 -28
  43. package/dist/runtime/lazy-load/plugin.client.js +2 -2
  44. package/dist/runtime/third-party-scripts/plugin.client.js +5 -1
  45. package/dist/runtime/types.d.ts +11 -8
  46. package/dist/runtime/web-vitals/plugin.client.js +7 -7
  47. package/package.json +7 -6
  48. package/dist/client/_nuxt/-coei5WE.js +0 -4
  49. package/dist/client/_nuxt/83L43bj1.js +0 -1
  50. package/dist/client/_nuxt/C47S-Tmv.js +0 -1
  51. package/dist/client/_nuxt/CMjwMIkn.js +0 -1
  52. package/dist/client/_nuxt/CjoLj4QM.js +0 -1
  53. package/dist/client/_nuxt/DYoxhk2S.js +0 -1
  54. package/dist/client/_nuxt/DeEbof0M.js +0 -6
  55. package/dist/client/_nuxt/DsF60Hh0.js +0 -1
  56. package/dist/client/_nuxt/builds/meta/fbd27eb3-33d2-4da5-874f-0d93f7752a53.json +0 -1
  57. package/dist/client/_nuxt/entry.DKSlCyYS.css +0 -1
  58. package/dist/client/_nuxt/error-404.CR9CpgUf.css +0 -1
  59. package/dist/client/_nuxt/error-500.CaOly-jC.css +0 -1
@@ -1 +1 @@
1
- import{_ as S}from"./CGrEsiZq.js";import{_ as D}from"./B1nHQOfq.js";import E from"./DeEbof0M.js";import{_ as A}from"./CPCqepq_.js";import{g as H,A as q,o as d,c as b,a as t,b as u,w as n,k as m,l as a,m as p,F as I,x as M,t as i,d as c,n as f}from"./-coei5WE.js";import"./C7hBqjlR.js";import"./DsF60Hh0.js";const U={class:"p-4 space-y-4"},V={class:"grid gap-3 md:grid-cols-5 grid-cols-2"},$={class:"text-2xl font-bold"},F={class:"text-2xl font-bold"},O={class:"text-xs text-neutral-500"},j={class:"text-2xl font-bold text-yellow-600"},G={class:"text-xs text-neutral-500"},J={class:"text-2xl font-bold text-orange-600"},K={class:"text-2xl font-bold text-red-600"},Q={class:"grid gap-3 md:grid-cols-2"},W={class:"flex items-start justify-between gap-3"},X={class:"min-w-0"},Y={class:"text-xs text-neutral-500"},Z=["href"],ee={class:"flex items-center gap-2 shrink-0"},te={class:"mt-2 flex flex-wrap gap-2 text-[11px]"},se={class:"mt-3 grid grid-cols-2 gap-2"},oe={class:"n-border-base border rounded p-2"},re={class:"font-mono"},ne={class:"n-border-base border rounded p-2"},ie={class:"font-mono"},le={class:"n-border-base border rounded p-2"},de={class:"font-mono"},ae={class:"n-border-base border rounded p-2"},ce={class:"font-mono"},ue={class:"mt-3 flex items-center gap-2"},ve=H({__name:"third-party-scripts",setup(me){const{scripts:w,isUsingNuxtScripts:T}=q(),g={network:300,parse:200},x=f(()=>(w.value||[]).map(e=>{const s=e.element,l=s.src,_=new URL(l,location.href),o=!!(s.ownerDocument&&s.ownerDocument.head&&s.ownerDocument.head.contains(s))&&!s.async&&!s.defer&&s.type!=="module";return{element:s,url:l,domain:_.host,https:_.protocol==="https:",loaded:e.loaded,renderBlocking:o,requestTime:s.requestTime,downloadTime:s.downloadTime,totalNetworkTime:s.totalNetworkTime,parseExecuteTime:s.parseExecuteTime,crossorigin:s.getAttribute("crossorigin"),integrity:s.getAttribute("integrity"),referrerPolicy:s.getAttribute("referrerpolicy"),async:s.async,defer:s.defer,isModule:s.type==="module"}})),h=f(()=>x.value.slice().sort((r,e)=>{const s=(r.totalNetworkTime||0)+(r.parseExecuteTime||0);return(e.totalNetworkTime||0)+(e.parseExecuteTime||0)-s})),v=f(()=>x.value.length),C=f(()=>x.value.filter(r=>r.loaded).length),N=f(()=>x.value.filter(r=>(r.totalNetworkTime||0)>g.network).length),z=f(()=>x.value.filter(r=>(r.parseExecuteTime||0)>g.parse).length),P=f(()=>x.value.filter(r=>r.renderBlocking).length);function y(r){return typeof r=="number"?`${r.toFixed(0)}ms`:"N/A"}function B(r){console.log("[@nuxt/hints]: Third-party script element",r)}async function L(r){try{await navigator.clipboard.writeText(r)}catch{}}return(r,e)=>{const s=S,l=D,_=E,k=A;return d(),b("div",U,[t("div",V,[u(s,{"p-3":""},{default:n(()=>[e[0]||(e[0]=t("div",{class:"text-xs text-neutral-500"}," 3rd-party scripts ",-1)),t("div",$,i(m(v)),1)]),_:1}),u(s,{"p-3":""},{default:n(()=>[e[1]||(e[1]=t("div",{class:"text-xs text-neutral-500"}," Loaded ",-1)),t("div",F,i(m(C)),1)]),_:1}),u(s,{"p-3":""},{default:n(()=>[t("div",O," Slow network (>"+i(g.network)+"ms) ",1),t("div",j,i(m(N)),1)]),_:1}),u(s,{"p-3":""},{default:n(()=>[t("div",G," Long parse (>"+i(g.parse)+"ms) ",1),t("div",J,i(m(z)),1)]),_:1}),u(s,{"p-3":""},{default:n(()=>[e[2]||(e[2]=t("div",{class:"text-xs text-neutral-500"}," Render-blocking ",-1)),t("div",K,i(m(P)),1)]),_:1})]),m(v)>0&&!m(T)?(d(),a(l,{key:0,n:"yellow6"},{default:n(()=>[...e[3]||(e[3]=[c(" Third-party scripts detected. Consider using @nuxt/scripts for best-practice loading and management. ",-1)])]),_:1})):p("",!0),t("div",Q,[(d(!0),b(I,null,M(m(h),o=>(d(),a(s,{key:o.url,"p-3":""},{default:n(()=>[t("div",W,[t("div",X,[t("div",Y,i(o.domain),1),t("a",{href:o.url,target:"_blank",rel:"noopener",class:"block truncate text-sm text-blue-600"},i(o.url),9,Z)]),t("div",ee,[u(l,{type:o.loaded?"success":"warning",size:"small"},{default:n(()=>[c(i(o.loaded?"Loaded":"Pending"),1)]),_:2},1032,["type"])])]),t("div",te,[o.renderBlocking?(d(),a(l,{key:0,type:"error",size:"small",title:"In document head and not async/defer/module; blocks HTML parsing and delays first paint. Prefer defer or type=module."},{default:n(()=>[...e[4]||(e[4]=[c(" render-blocking ",-1)])]),_:1})):p("",!0),o.isModule?(d(),a(l,{key:1,size:"small",title:"Module scripts are deferred by default and don't block parsing; execution order differs from classic scripts."},{default:n(()=>[...e[5]||(e[5]=[c(" module ",-1)])]),_:1})):p("",!0),o.async?(d(),a(l,{key:2,size:"small",title:"Doesn't block parsing; executes as soon as it's downloaded. Order is not guaranteed."},{default:n(()=>[...e[6]||(e[6]=[c(" async ",-1)])]),_:1})):p("",!0),o.defer?(d(),a(l,{key:3,size:"small",title:"Doesn't block parsing; executes after document parsing, preserving script order."},{default:n(()=>[...e[7]||(e[7]=[c(" defer ",-1)])]),_:1})):p("",!0),o.crossorigin?(d(),a(l,{key:4,size:"small",title:"CORS mode for this script. Use 'anonymous' for cross-origin with SRI and better error reporting."},{default:n(()=>[c(" crossorigin="+i(o.crossorigin),1)]),_:2},1024)):(d(),a(l,{key:5,type:"warning",size:"small",title:"Cross-origin script without crossorigin. Add crossorigin='anonymous' for SRI and better error reporting."},{default:n(()=>[...e[8]||(e[8]=[c(" missing crossorigin ",-1)])]),_:1})),o.integrity?(d(),a(l,{key:6,size:"small",title:"Subresource Integrity: protects against CDN/script tampering."},{default:n(()=>[...e[9]||(e[9]=[c(" sri ",-1)])]),_:1})):p("",!0),o.referrerPolicy?(d(),a(l,{key:7,size:"small",title:"Referrer policy controls the Referer header for this request."},{default:n(()=>[c(" referrer="+i(o.referrerPolicy),1)]),_:2},1024)):p("",!0),o.https===!1?(d(),a(l,{key:8,type:"error",size:"small",title:"Loaded over HTTP; use HTTPS to avoid mixed content and security risks."},{default:n(()=>[...e[10]||(e[10]=[c(" insecure http ",-1)])]),_:1})):p("",!0)]),t("div",se,[t("div",oe,[e[11]||(e[11]=t("div",{class:"text-xs text-neutral-500"}," Total network ",-1)),t("div",re,i(y(o.totalNetworkTime)),1)]),t("div",ne,[e[12]||(e[12]=t("div",{class:"text-xs text-neutral-500"}," Parse + execute ",-1)),t("div",ie,i(y(o.parseExecuteTime)),1)]),t("div",le,[e[13]||(e[13]=t("div",{class:"text-xs text-neutral-500"}," Request ",-1)),t("div",de,i(y(o.requestTime)),1)]),t("div",ae,[e[14]||(e[14]=t("div",{class:"text-xs text-neutral-500"}," Download ",-1)),t("div",ce,i(y(o.downloadTime)),1)])]),t("div",ue,[u(k,{onClick:R=>B(o.element)},{default:n(()=>[u(_,{name:"material-symbols:terminal",class:"text-lg"}),e[15]||(e[15]=t("span",{class:"ml-1"},"Log element",-1))]),_:1},8,["onClick"]),u(k,{onClick:R=>L(o.url)},{default:n(()=>[u(_,{name:"material-symbols:content-copy-outline",class:"text-lg"}),e[16]||(e[16]=t("span",{class:"ml-1"},"Copy URL",-1))]),_:1},8,["onClick"])])]),_:2},1024))),128))])])}}});export{ve as default};
1
+ import{_ as S}from"./BFRyJUvr.js";import{_ as D}from"./CTf7BuVz.js";import E from"./GiOWC8es.js";import{_ as A}from"./BZWgH84o.js";import{g as H,A as q,o as d,c as b,a as t,b as u,w as n,k as m,l as a,m as p,F as I,x as M,t as i,d as c,n as f}from"./BOWvZIQC.js";import"./BKRej55Q.js";import"./D7xuZOu8.js";const U={class:"p-4 space-y-4"},V={class:"grid gap-3 md:grid-cols-5 grid-cols-2"},$={class:"text-2xl font-bold"},F={class:"text-2xl font-bold"},O={class:"text-xs text-neutral-500"},j={class:"text-2xl font-bold text-yellow-600"},G={class:"text-xs text-neutral-500"},J={class:"text-2xl font-bold text-orange-600"},K={class:"text-2xl font-bold text-red-600"},Q={class:"grid gap-3 md:grid-cols-2"},W={class:"flex items-start justify-between gap-3"},X={class:"min-w-0"},Y={class:"text-xs text-neutral-500"},Z=["href"],ee={class:"flex items-center gap-2 shrink-0"},te={class:"mt-2 flex flex-wrap gap-2 text-[11px]"},se={class:"mt-3 grid grid-cols-2 gap-2"},oe={class:"n-border-base border rounded p-2"},re={class:"font-mono"},ne={class:"n-border-base border rounded p-2"},ie={class:"font-mono"},le={class:"n-border-base border rounded p-2"},de={class:"font-mono"},ae={class:"n-border-base border rounded p-2"},ce={class:"font-mono"},ue={class:"mt-3 flex items-center gap-2"},ve=H({__name:"third-party-scripts",setup(me){const{scripts:w,isUsingNuxtScripts:T}=q(),g={network:300,parse:200},x=f(()=>(w.value||[]).map(e=>{const s=e.element,l=s.src,_=new URL(l,location.href),o=!!(s.ownerDocument&&s.ownerDocument.head&&s.ownerDocument.head.contains(s))&&!s.async&&!s.defer&&s.type!=="module";return{element:s,url:l,domain:_.host,https:_.protocol==="https:",loaded:e.loaded,renderBlocking:o,requestTime:s.requestTime,downloadTime:s.downloadTime,totalNetworkTime:s.totalNetworkTime,parseExecuteTime:s.parseExecuteTime,crossorigin:s.getAttribute("crossorigin"),integrity:s.getAttribute("integrity"),referrerPolicy:s.getAttribute("referrerpolicy"),async:s.async,defer:s.defer,isModule:s.type==="module"}})),h=f(()=>x.value.slice().sort((r,e)=>{const s=(r.totalNetworkTime||0)+(r.parseExecuteTime||0);return(e.totalNetworkTime||0)+(e.parseExecuteTime||0)-s})),v=f(()=>x.value.length),C=f(()=>x.value.filter(r=>r.loaded).length),N=f(()=>x.value.filter(r=>(r.totalNetworkTime||0)>g.network).length),z=f(()=>x.value.filter(r=>(r.parseExecuteTime||0)>g.parse).length),P=f(()=>x.value.filter(r=>r.renderBlocking).length);function y(r){return typeof r=="number"?`${r.toFixed(0)}ms`:"N/A"}function B(r){console.log("[@nuxt/hints]: Third-party script element",r)}async function L(r){try{await navigator.clipboard.writeText(r)}catch{}}return(r,e)=>{const s=S,l=D,_=E,k=A;return d(),b("div",U,[t("div",V,[u(s,{"p-3":""},{default:n(()=>[e[0]||(e[0]=t("div",{class:"text-xs text-neutral-500"}," 3rd-party scripts ",-1)),t("div",$,i(m(v)),1)]),_:1}),u(s,{"p-3":""},{default:n(()=>[e[1]||(e[1]=t("div",{class:"text-xs text-neutral-500"}," Loaded ",-1)),t("div",F,i(m(C)),1)]),_:1}),u(s,{"p-3":""},{default:n(()=>[t("div",O," Slow network (>"+i(g.network)+"ms) ",1),t("div",j,i(m(N)),1)]),_:1}),u(s,{"p-3":""},{default:n(()=>[t("div",G," Long parse (>"+i(g.parse)+"ms) ",1),t("div",J,i(m(z)),1)]),_:1}),u(s,{"p-3":""},{default:n(()=>[e[2]||(e[2]=t("div",{class:"text-xs text-neutral-500"}," Render-blocking ",-1)),t("div",K,i(m(P)),1)]),_:1})]),m(v)>0&&!m(T)?(d(),a(l,{key:0,n:"yellow6"},{default:n(()=>[...e[3]||(e[3]=[c(" Third-party scripts detected. Consider using @nuxt/scripts for best-practice loading and management. ",-1)])]),_:1})):p("",!0),t("div",Q,[(d(!0),b(I,null,M(m(h),o=>(d(),a(s,{key:o.url,"p-3":""},{default:n(()=>[t("div",W,[t("div",X,[t("div",Y,i(o.domain),1),t("a",{href:o.url,target:"_blank",rel:"noopener",class:"block truncate text-sm text-blue-600"},i(o.url),9,Z)]),t("div",ee,[u(l,{type:o.loaded?"success":"warning",size:"small"},{default:n(()=>[c(i(o.loaded?"Loaded":"Pending"),1)]),_:2},1032,["type"])])]),t("div",te,[o.renderBlocking?(d(),a(l,{key:0,type:"error",size:"small",title:"In document head and not async/defer/module; blocks HTML parsing and delays first paint. Prefer defer or type=module."},{default:n(()=>[...e[4]||(e[4]=[c(" render-blocking ",-1)])]),_:1})):p("",!0),o.isModule?(d(),a(l,{key:1,size:"small",title:"Module scripts are deferred by default and don't block parsing; execution order differs from classic scripts."},{default:n(()=>[...e[5]||(e[5]=[c(" module ",-1)])]),_:1})):p("",!0),o.async?(d(),a(l,{key:2,size:"small",title:"Doesn't block parsing; executes as soon as it's downloaded. Order is not guaranteed."},{default:n(()=>[...e[6]||(e[6]=[c(" async ",-1)])]),_:1})):p("",!0),o.defer?(d(),a(l,{key:3,size:"small",title:"Doesn't block parsing; executes after document parsing, preserving script order."},{default:n(()=>[...e[7]||(e[7]=[c(" defer ",-1)])]),_:1})):p("",!0),o.crossorigin?(d(),a(l,{key:4,size:"small",title:"CORS mode for this script. Use 'anonymous' for cross-origin with SRI and better error reporting."},{default:n(()=>[c(" crossorigin="+i(o.crossorigin),1)]),_:2},1024)):(d(),a(l,{key:5,type:"warning",size:"small",title:"Cross-origin script without crossorigin. Add crossorigin='anonymous' for SRI and better error reporting."},{default:n(()=>[...e[8]||(e[8]=[c(" missing crossorigin ",-1)])]),_:1})),o.integrity?(d(),a(l,{key:6,size:"small",title:"Subresource Integrity: protects against CDN/script tampering."},{default:n(()=>[...e[9]||(e[9]=[c(" sri ",-1)])]),_:1})):p("",!0),o.referrerPolicy?(d(),a(l,{key:7,size:"small",title:"Referrer policy controls the Referer header for this request."},{default:n(()=>[c(" referrer="+i(o.referrerPolicy),1)]),_:2},1024)):p("",!0),o.https===!1?(d(),a(l,{key:8,type:"error",size:"small",title:"Loaded over HTTP; use HTTPS to avoid mixed content and security risks."},{default:n(()=>[...e[10]||(e[10]=[c(" insecure http ",-1)])]),_:1})):p("",!0)]),t("div",se,[t("div",oe,[e[11]||(e[11]=t("div",{class:"text-xs text-neutral-500"}," Total network ",-1)),t("div",re,i(y(o.totalNetworkTime)),1)]),t("div",ne,[e[12]||(e[12]=t("div",{class:"text-xs text-neutral-500"}," Parse + execute ",-1)),t("div",ie,i(y(o.parseExecuteTime)),1)]),t("div",le,[e[13]||(e[13]=t("div",{class:"text-xs text-neutral-500"}," Request ",-1)),t("div",de,i(y(o.requestTime)),1)]),t("div",ae,[e[14]||(e[14]=t("div",{class:"text-xs text-neutral-500"}," Download ",-1)),t("div",ce,i(y(o.downloadTime)),1)])]),t("div",ue,[u(k,{onClick:R=>B(o.element)},{default:n(()=>[u(_,{name:"material-symbols:terminal",class:"text-lg"}),e[15]||(e[15]=t("span",{class:"ml-1"},"Log element",-1))]),_:1},8,["onClick"]),u(k,{onClick:R=>L(o.url)},{default:n(()=>[u(_,{name:"material-symbols:content-copy-outline",class:"text-lg"}),e[16]||(e[16]=t("span",{class:"ml-1"},"Copy URL",-1))]),_:1},8,["onClick"])])]),_:2},1024))),128))])])}}});export{ve as default};
@@ -1 +1 @@
1
- import C from"./DeEbof0M.js";import{_ as L,o as r,c as h,r as N,g as $,j as V,e as y,b as t,w as s,a as e,k as o,l as c,d as m,t as _,m as u,n as g}from"./-coei5WE.js";import{_ as j}from"./CGrEsiZq.js";import{_ as B}from"./DsF60Hh0.js";import{_ as S}from"./B1nHQOfq.js";import"./C7hBqjlR.js";const H={},I={class:"n-badge"};function A(p,d){return r(),h("span",I,[N(p.$slots,"default")])}const M=Object.assign(L(H,[["render",A]]),{__name:"NBadge"}),P={class:"grid grid-cols-1 md:grid-cols-3 gap-3 p-4"},T={class:"flex items-center gap-3 min-w-0"},W={class:"flex items-center gap-3 min-w-0"},D={class:"flex items-center gap-3 min-w-0"},J=$({__name:"index",setup(p){const{allMetrics:d}=V(),k=y().$hydrationMismatches,w=y().$lazyLoadHints,x=g(()=>k.value.length),f=g(()=>w.value.reduce((b,a)=>b+a.state.directImports.filter(n=>!n.rendered).length,0));return(b,a)=>{const n=C,z=M,l=j,i=B,v=S;return r(),h("div",P,[t(i,{to:"/web-vitals",class:"block"},{default:s(()=>[t(l,{class:"flex items-center justify-between p-4 hover:border-neutral-400 dark:hover:border-neutral-500"},{default:s(()=>[e("div",T,[t(n,{name:"material-symbols:monitoring",class:"text-xl text-blue-500"}),a[0]||(a[0]=e("div",{class:"min-w-0"},[e("div",{class:"text-sm font-medium truncate"}," Web Vitals "),e("div",{class:"text-xs text-neutral-500"}," LCP / INP / CLS ")],-1))]),o(d).length?(r(),c(z,{key:0},{default:s(()=>[m(_(o(d).length)+" issues ",1)]),_:1})):u("",!0)]),_:1})]),_:1}),t(i,{to:"/hydration",class:"block"},{default:s(()=>[t(l,{class:"flex items-center justify-between p-4 hover:border-neutral-400 dark:hover:border-neutral-500"},{default:s(()=>[e("div",W,[t(n,{name:"material-symbols:water-full",class:"text-xl text-cyan-500"}),a[1]||(a[1]=e("div",{class:"min-w-0"},[e("div",{class:"text-sm font-medium truncate"}," Hydration "),e("div",{class:"text-xs text-neutral-500"}," SSR vs client diffs ")],-1))]),o(x)?(r(),c(v,{key:0,size:"small",type:"error",bordered:!1},{default:s(()=>[m(_(o(x))+" issues ",1)]),_:1})):u("",!0)]),_:1})]),_:1}),t(i,{to:"/third-party-scripts",class:"block"},{default:s(()=>[t(l,{class:"p-4 flex items-center gap-3 hover:border-neutral-400 dark:hover:border-neutral-500"},{default:s(()=>[t(n,{name:"material-symbols:extension",class:"text-xl text-violet-500"}),a[2]||(a[2]=e("div",{class:"min-w-0"},[e("div",{class:"text-sm font-medium truncate"}," Third party scripts "),e("div",{class:"text-xs text-neutral-500"}," Analyze third-party scripts speed. ")],-1))]),_:1})]),_:1}),t(i,{to:"/component-lazy-load",class:"block"},{default:s(()=>[t(l,{class:"flex items-center justify-between p-4 hover:border-neutral-400 dark:hover:border-neutral-500"},{default:s(()=>[e("div",D,[t(n,{name:"material-symbols:speed",class:"text-xl text-amber-500"}),a[3]||(a[3]=e("div",{class:"min-w-0"},[e("div",{class:"text-sm font-medium truncate"}," Lazy Load "),e("div",{class:"text-xs text-neutral-500"}," Components to lazy-load ")],-1))]),o(f)?(r(),c(v,{key:0,size:"small",type:"warning",bordered:!1},{default:s(()=>[m(_(o(f))+" suggestions ",1)]),_:1})):u("",!0)]),_:1})]),_:1})])}}});export{J as default};
1
+ import C from"./GiOWC8es.js";import{_ as L,o as r,c as h,r as N,g as $,j as V,e as y,b as t,w as s,a as e,k as o,l as c,d as m,t as _,m as u,n as g}from"./BOWvZIQC.js";import{_ as j}from"./BFRyJUvr.js";import{_ as B}from"./D7xuZOu8.js";import{_ as S}from"./CTf7BuVz.js";import"./BKRej55Q.js";const H={},I={class:"n-badge"};function A(p,d){return r(),h("span",I,[N(p.$slots,"default")])}const M=Object.assign(L(H,[["render",A]]),{__name:"NBadge"}),P={class:"grid grid-cols-1 md:grid-cols-3 gap-3 p-4"},T={class:"flex items-center gap-3 min-w-0"},W={class:"flex items-center gap-3 min-w-0"},D={class:"flex items-center gap-3 min-w-0"},J=$({__name:"index",setup(p){const{allMetrics:d}=V(),k=y().$hydrationMismatches,w=y().$lazyLoadHints,x=g(()=>k.value.length),f=g(()=>w.value.reduce((b,a)=>b+a.state.directImports.filter(n=>!n.rendered).length,0));return(b,a)=>{const n=C,z=M,l=j,i=B,v=S;return r(),h("div",P,[t(i,{to:"/web-vitals",class:"block"},{default:s(()=>[t(l,{class:"flex items-center justify-between p-4 hover:border-neutral-400 dark:hover:border-neutral-500"},{default:s(()=>[e("div",T,[t(n,{name:"material-symbols:monitoring",class:"text-xl text-blue-500"}),a[0]||(a[0]=e("div",{class:"min-w-0"},[e("div",{class:"text-sm font-medium truncate"}," Web Vitals "),e("div",{class:"text-xs text-neutral-500"}," LCP / INP / CLS ")],-1))]),o(d).length?(r(),c(z,{key:0},{default:s(()=>[m(_(o(d).length)+" issues ",1)]),_:1})):u("",!0)]),_:1})]),_:1}),t(i,{to:"/hydration",class:"block"},{default:s(()=>[t(l,{class:"flex items-center justify-between p-4 hover:border-neutral-400 dark:hover:border-neutral-500"},{default:s(()=>[e("div",W,[t(n,{name:"material-symbols:water-full",class:"text-xl text-cyan-500"}),a[1]||(a[1]=e("div",{class:"min-w-0"},[e("div",{class:"text-sm font-medium truncate"}," Hydration "),e("div",{class:"text-xs text-neutral-500"}," SSR vs client diffs ")],-1))]),o(x)?(r(),c(v,{key:0,size:"small",type:"error",bordered:!1},{default:s(()=>[m(_(o(x))+" issues ",1)]),_:1})):u("",!0)]),_:1})]),_:1}),t(i,{to:"/third-party-scripts",class:"block"},{default:s(()=>[t(l,{class:"p-4 flex items-center gap-3 hover:border-neutral-400 dark:hover:border-neutral-500"},{default:s(()=>[t(n,{name:"material-symbols:extension",class:"text-xl text-violet-500"}),a[2]||(a[2]=e("div",{class:"min-w-0"},[e("div",{class:"text-sm font-medium truncate"}," Third party scripts "),e("div",{class:"text-xs text-neutral-500"}," Analyze third-party scripts speed. ")],-1))]),_:1})]),_:1}),t(i,{to:"/component-lazy-load",class:"block"},{default:s(()=>[t(l,{class:"flex items-center justify-between p-4 hover:border-neutral-400 dark:hover:border-neutral-500"},{default:s(()=>[e("div",D,[t(n,{name:"material-symbols:speed",class:"text-xl text-amber-500"}),a[3]||(a[3]=e("div",{class:"min-w-0"},[e("div",{class:"text-sm font-medium truncate"}," Lazy Load "),e("div",{class:"text-xs text-neutral-500"}," Components to lazy-load ")],-1))]),o(f)?(r(),c(v,{key:0,size:"small",type:"warning",bordered:!1},{default:s(()=>[m(_(o(f))+" suggestions ",1)]),_:1})):u("",!0)]),_:1})]),_:1})])}}});export{J as default};