[{"data":1,"prerenderedAt":306},["ShallowReactive",2],{"navigation_docs":3,"diagnostic-content-NITRO0009":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":296,"description":297,"docsUrl":54,"extension":298,"fix":77,"framework":299,"meta":300,"navigation":301,"pack":56,"path":302,"ruleId":57,"rulePath":58,"seo":303,"severity":59,"source":60,"sourceUrl":61,"stem":304,"why":70,"__hash__":305},"diagnostics\u002Fdiagnostics\u002FNITRO0009.md","NITRO0009: Do not use browser APIs in Nitro server files",{"type":48,"value":49,"toc":286},"minimark",[50,62,67,71,75,78,82,87,90,160,163,215,219,222,254,258,270,274,282],[51,52],"rule-metadata",{"category":53,"docsUrl":54,"fix":55,"pack":56,"ruleId":57,"rulePath":58,"severity":59,"source":60,"sourceUrl":61},"server","https:\u002F\u002Fnitro.build\u002Fguide\u002Frouting#request-handler","suggestion","vite-doctor\u002Fnitro","nitro\u002Fserver\u002Fno-browser-api","\u002Fnitro\u002Frules\u002Fserver\u002Fno-browser-api","error","src\u002Frule-packs\u002Fnitro\u002Frules\u002Fno-browser-api-in-server.ts","https:\u002F\u002Fgithub.com\u002Fonmax\u002Fvite-doctor\u002Fblob\u002Fmain\u002Fsrc\u002Frule-packs\u002Fnitro\u002Frules\u002Fno-browser-api-in-server.ts",[63,64,66],"h2",{"id":65},"why-it-happens","Why it happens",[68,69,70],"p",{},"Nitro code can run in Node, edge, or worker runtimes where browser APIs such as window, document, and localStorage do not exist.",[63,72,74],{"id":73},"fix","Fix",[68,76,77],{},"Use request\u002Fevent data, server utilities, or move browser work to app client code.",[63,79,81],{"id":80},"example","Example",[83,84,86],"h3",{"id":85},"avoid-browser-apis-in-server-handlers","Avoid browser APIs in server handlers",[68,88,89],{},"Before",[91,92,97],"pre",{"className":93,"code":94,"language":95,"meta":96,"style":96},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineEventHandler(() => {\n  return window.location.href\n})\n","ts","",[98,99,100,131,151],"code",{"__ignoreMap":96},[101,102,105,109,112,116,120,124,128],"span",{"class":103,"line":104},"line",1,[101,106,108],{"class":107},"s7zQu","export",[101,110,111],{"class":107}," default",[101,113,115],{"class":114},"s2Zo4"," defineEventHandler",[101,117,119],{"class":118},"sTEyZ","(",[101,121,123],{"class":122},"sMK4o","()",[101,125,127],{"class":126},"spNyl"," =>",[101,129,130],{"class":122}," {\n",[101,132,134,137,140,143,146,148],{"class":103,"line":133},2,[101,135,136],{"class":107},"  return",[101,138,139],{"class":118}," window",[101,141,142],{"class":122},".",[101,144,145],{"class":118},"location",[101,147,142],{"class":122},[101,149,150],{"class":118},"href\n",[101,152,154,157],{"class":103,"line":153},3,[101,155,156],{"class":122},"}",[101,158,159],{"class":118},")\n",[68,161,162],{},"After",[91,164,166],{"className":93,"code":165,"language":95,"meta":96,"style":96},"export default defineEventHandler((event) => {\n  return getRequestURL(event).href\n})\n",[98,167,168,191,209],{"__ignoreMap":96},[101,169,170,172,174,176,178,180,184,187,189],{"class":103,"line":104},[101,171,108],{"class":107},[101,173,111],{"class":107},[101,175,115],{"class":114},[101,177,119],{"class":118},[101,179,119],{"class":122},[101,181,183],{"class":182},"sHdIc","event",[101,185,186],{"class":122},")",[101,188,127],{"class":126},[101,190,130],{"class":122},[101,192,193,195,198,201,203,205,207],{"class":103,"line":133},[101,194,136],{"class":107},[101,196,197],{"class":114}," getRequestURL",[101,199,119],{"class":200},"swJcz",[101,202,183],{"class":118},[101,204,186],{"class":200},[101,206,142],{"class":122},[101,208,150],{"class":118},[101,210,211,213],{"class":103,"line":153},[101,212,156],{"class":122},[101,214,159],{"class":118},[63,216,218],{"id":217},"verify-the-fix","Verify the fix",[68,220,221],{},"Run only this rule after editing so the report stays focused on the diagnostic you are closing:",[91,223,227],{"className":224,"code":225,"language":226,"meta":96,"style":96},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm vite-doctor . --framework nitro --rules nitro\u002Fserver\u002Fno-browser-api\n","bash",[98,228,229],{"__ignoreMap":96},[101,230,231,235,239,242,245,248,251],{"class":103,"line":104},[101,232,234],{"class":233},"sBMFI","pnpm",[101,236,238],{"class":237},"sfazB"," vite-doctor",[101,240,241],{"class":237}," .",[101,243,244],{"class":237}," --framework",[101,246,247],{"class":237}," nitro",[101,249,250],{"class":237}," --rules",[101,252,253],{"class":237}," nitro\u002Fserver\u002Fno-browser-api\n",[63,255,257],{"id":256},"useful-links","Useful links",[259,260,261],"ul",{},[262,263,264],"li",{},[265,266,269],"a",{"href":54,"rel":267},[268],"nofollow","Upstream docs",[63,271,273],{"id":272},"related-rule","Related rule",[259,275,276],{},[262,277,278],{},[265,279,280],{"href":58},[98,281,57],{},[283,284,285],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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":96,"searchDepth":133,"depth":133,"links":287},[288,289,290,293,294,295],{"id":65,"depth":133,"text":66},{"id":73,"depth":133,"text":74},{"id":80,"depth":133,"text":81,"children":291},[292],{"id":85,"depth":153,"text":86},{"id":217,"depth":133,"text":218},{"id":256,"depth":133,"text":257},{"id":272,"depth":133,"text":273},"NITRO0009","Browser globals are unavailable in Nitro server runtime.","md","nitro",{},true,"\u002Fdiagnostics\u002Fnitro0009",{"title":46,"description":297},"diagnostics\u002FNITRO0009","KSA9NJaqLvUdm19OUqxz5V5rKeQCZLm4aVQuoHxbfHk",1791309489327]