[{"data":1,"prerenderedAt":410},["ShallowReactive",2],{"navigation_docs":3,"diagnostic-content-NUXT0032":44},[4,8,12,16,20,24,28,32,36,40],{"title":5,"path":6,"stem":7},"CLI","\u002Fcli","1.cli",{"title":9,"path":10,"stem":11},"Nuxt","\u002Fnuxt","2.nuxt",{"title":13,"path":14,"stem":15},"Vue","\u002Fvue","3.vue",{"title":17,"path":18,"stem":19},"Vite","\u002Fvite","4.vite",{"title":21,"path":22,"stem":23},"Nitro","\u002Fnitro","5.nitro",{"title":25,"path":26,"stem":27},"TypeScript","\u002Ftypescript","6.typescript",{"title":29,"path":30,"stem":31},"shadcn","\u002Fshadcn","7.shadcn",{"title":33,"path":34,"stem":35},"Package","\u002Fpackage","8.package",{"title":37,"path":38,"stem":39},"Extending Doctor","\u002Fextending","9.extending",{"title":41,"path":42,"stem":43},"Pinia","\u002Fpinia","9.pinia",{"id":45,"title":46,"body":47,"category":53,"code":399,"description":400,"docsUrl":54,"extension":401,"fix":402,"framework":403,"meta":404,"navigation":405,"pack":56,"path":406,"ruleId":57,"rulePath":58,"seo":407,"severity":59,"source":60,"sourceUrl":61,"stem":408,"why":70,"__hash__":409},"diagnostics\u002Fdiagnostics\u002FNUXT0032.md","NUXT0032: Use NuxtTime or ClientOnly for time-dependent rendering",{"type":48,"value":49,"toc":388},"minimark",[50,62,67,71,75,91,95,100,103,160,163,219,223,225,263,265,323,327,330,356,360,372,376,384],[51,52],"rule-metadata",{"category":53,"docsUrl":54,"fix":55,"pack":56,"ruleId":57,"rulePath":58,"severity":59,"source":60,"sourceUrl":61},"hydration","https:\u002F\u002Fnuxt.com\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fhydration#dynamic-content-based-on-time","suggestion","vite-doctor\u002Fnuxt","nuxt\u002Fhydration\u002Fno-time-dependent-render-without-nuxttime-or-clientonly","\u002Fnuxt\u002Frules\u002Fhydration\u002Fno-time-dependent-render-without-nuxttime-or-clientonly","warn","src\u002Frule-packs\u002Fnuxt\u002Frules\u002Fnuxt\u002Fno-time-dependent-render-without-nuxt-time-or-client-only.ts","https:\u002F\u002Fgithub.com\u002Fonmax\u002Fvite-doctor\u002Fblob\u002Fmain\u002Fsrc\u002Frule-packs\u002Fnuxt\u002Frules\u002Fnuxt\u002Fno-time-dependent-render-without-nuxt-time-or-client-only.ts",[63,64,66],"h2",{"id":65},"why-it-happens","Why it happens",[68,69,70],"p",{},"Server-rendered markup must match the first client render. Browser-only state, time, randomness, or hash-sensitive URLs can create hydration mismatches.",[63,72,74],{"id":73},"fix","Fix",[68,76,77,78,82,83,86,87,90],{},"Use ",[79,80,81],"code",{},"\u003CNuxtTime>"," for SSR-safe date output. Use ",[79,84,85],{},"\u003CClientOnly>"," for browser-only timestamps, or use ",[79,88,89],{},"useState()"," when the first rendered value must stay stable across SSR and hydration.",[63,92,94],{"id":93},"example","Example",[96,97,99],"h3",{"id":98},"use-nuxttime-for-rendered-dates","Use NuxtTime for rendered dates",[68,101,102],{},"Before",[104,105,110],"pre",{"className":106,"code":107,"language":108,"meta":109,"style":109},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ctemplate>\n  \u003Ctime>{{ new Date().toLocaleString() }}\u003C\u002Ftime>\n\u003C\u002Ftemplate>\n","vue","",[79,111,112,128,151],{"__ignoreMap":109},[113,114,117,121,125],"span",{"class":115,"line":116},"line",1,[113,118,120],{"class":119},"sMK4o","\u003C",[113,122,124],{"class":123},"swJcz","template",[113,126,127],{"class":119},">\n",[113,129,131,134,137,140,144,147,149],{"class":115,"line":130},2,[113,132,133],{"class":119},"  \u003C",[113,135,136],{"class":123},"time",[113,138,139],{"class":119},">",[113,141,143],{"class":142},"sTEyZ","{{ new Date().toLocaleString() }}",[113,145,146],{"class":119},"\u003C\u002F",[113,148,136],{"class":123},[113,150,127],{"class":119},[113,152,154,156,158],{"class":115,"line":153},3,[113,155,146],{"class":119},[113,157,124],{"class":123},[113,159,127],{"class":119},[68,161,162],{},"After",[104,164,166],{"className":106,"code":165,"language":108,"meta":109,"style":109},"\u003Ctemplate>\n  \u003CNuxtTime :datetime=\"new Date()\" \u002F>\n\u003C\u002Ftemplate>\n",[79,167,168,176,211],{"__ignoreMap":109},[113,169,170,172,174],{"class":115,"line":116},[113,171,120],{"class":119},[113,173,124],{"class":123},[113,175,127],{"class":119},[113,177,178,180,183,186,190,193,196,199,203,206,208],{"class":115,"line":130},[113,179,133],{"class":119},[113,181,182],{"class":123},"NuxtTime",[113,184,185],{"class":119}," :",[113,187,189],{"class":188},"spNyl","datetime",[113,191,192],{"class":119},"=",[113,194,195],{"class":119},"\"",[113,197,198],{"class":119},"new ",[113,200,202],{"class":201},"s2Zo4","Date",[113,204,205],{"class":119},"()",[113,207,195],{"class":119},[113,209,210],{"class":119}," \u002F>\n",[113,212,213,215,217],{"class":115,"line":153},[113,214,146],{"class":119},[113,216,124],{"class":123},[113,218,127],{"class":119},[96,220,222],{"id":221},"use-clientonly-for-browser-only-time","Use ClientOnly for browser-only time",[68,224,102],{},[104,226,228],{"className":106,"code":227,"language":108,"meta":109,"style":109},"\u003Ctemplate>\n  \u003Cp>Rendered at {{ new Date().toLocaleTimeString() }}\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[79,229,230,238,255],{"__ignoreMap":109},[113,231,232,234,236],{"class":115,"line":116},[113,233,120],{"class":119},[113,235,124],{"class":123},[113,237,127],{"class":119},[113,239,240,242,244,246,249,251,253],{"class":115,"line":130},[113,241,133],{"class":119},[113,243,68],{"class":123},[113,245,139],{"class":119},[113,247,248],{"class":142},"Rendered at {{ new Date().toLocaleTimeString() }}",[113,250,146],{"class":119},[113,252,68],{"class":123},[113,254,127],{"class":119},[113,256,257,259,261],{"class":115,"line":153},[113,258,146],{"class":119},[113,260,124],{"class":123},[113,262,127],{"class":119},[68,264,162],{},[104,266,268],{"className":106,"code":267,"language":108,"meta":109,"style":109},"\u003Ctemplate>\n  \u003CClientOnly>\n    \u003Cp>Rendered at {{ new Date().toLocaleTimeString() }}\u003C\u002Fp>\n  \u003C\u002FClientOnly>\n\u003C\u002Ftemplate>\n",[79,269,270,278,287,304,314],{"__ignoreMap":109},[113,271,272,274,276],{"class":115,"line":116},[113,273,120],{"class":119},[113,275,124],{"class":123},[113,277,127],{"class":119},[113,279,280,282,285],{"class":115,"line":130},[113,281,133],{"class":119},[113,283,284],{"class":123},"ClientOnly",[113,286,127],{"class":119},[113,288,289,292,294,296,298,300,302],{"class":115,"line":153},[113,290,291],{"class":119},"    \u003C",[113,293,68],{"class":123},[113,295,139],{"class":119},[113,297,248],{"class":142},[113,299,146],{"class":119},[113,301,68],{"class":123},[113,303,127],{"class":119},[113,305,307,310,312],{"class":115,"line":306},4,[113,308,309],{"class":119},"  \u003C\u002F",[113,311,284],{"class":123},[113,313,127],{"class":119},[113,315,317,319,321],{"class":115,"line":316},5,[113,318,146],{"class":119},[113,320,124],{"class":123},[113,322,127],{"class":119},[63,324,326],{"id":325},"verify-the-fix","Verify the fix",[68,328,329],{},"Run only this rule after editing so the report stays focused on the diagnostic you are closing:",[104,331,335],{"className":332,"code":333,"language":334,"meta":109,"style":109},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm nuxt doctor --rules nuxt\u002Fhydration\u002Fno-time-dependent-render-without-nuxttime-or-clientonly\n","bash",[79,336,337],{"__ignoreMap":109},[113,338,339,343,347,350,353],{"class":115,"line":116},[113,340,342],{"class":341},"sBMFI","pnpm",[113,344,346],{"class":345},"sfazB"," nuxt",[113,348,349],{"class":345}," doctor",[113,351,352],{"class":345}," --rules",[113,354,355],{"class":345}," nuxt\u002Fhydration\u002Fno-time-dependent-render-without-nuxttime-or-clientonly\n",[63,357,359],{"id":358},"useful-links","Useful links",[361,362,363],"ul",{},[364,365,366],"li",{},[367,368,371],"a",{"href":54,"rel":369},[370],"nofollow","Upstream docs",[63,373,375],{"id":374},"related-rule","Related rule",[361,377,378],{},[364,379,380],{},[367,381,382],{"href":58},[79,383,57],{},[385,386,387],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":109,"searchDepth":130,"depth":130,"links":389},[390,391,392,396,397,398],{"id":65,"depth":130,"text":66},{"id":73,"depth":130,"text":74},{"id":93,"depth":130,"text":94,"children":393},[394,395],{"id":98,"depth":153,"text":99},{"id":221,"depth":153,"text":222},{"id":325,"depth":130,"text":326},{"id":358,"depth":130,"text":359},{"id":374,"depth":130,"text":375},"NUXT0032","Flags time-dependent values rendered during SSR before they become hydration mismatches in the browser.","md","Use \u003CNuxtTime> for SSR-safe date output. Use \u003CClientOnly> for browser-only timestamps, or use useState() when the first rendered value must stay stable across SSR and hydration.","nuxt",{},true,"\u002Fdiagnostics\u002Fnuxt0032",{"title":46,"description":400},"diagnostics\u002FNUXT0032","BEker9G3jTUeM_KAd8wlp1KBCbfVpw48_auERKKK2uY",1791309497319]