[{"data":1,"prerenderedAt":328},["ShallowReactive",2],{"navigation_docs":3,"diagnostic-content-NUXT0046":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":318,"description":319,"docsUrl":54,"extension":320,"fix":77,"framework":321,"meta":322,"navigation":323,"pack":56,"path":324,"ruleId":57,"rulePath":58,"seo":325,"severity":59,"source":60,"sourceUrl":61,"stem":326,"why":70,"__hash__":327},"diagnostics\u002Fdiagnostics\u002FNUXT0046.md","NUXT0046: Do not use route objects as NuxtPage page keys",{"type":48,"value":49,"toc":309},"minimark",[50,62,67,71,75,78,82,87,90,188,191,258,262,265,290,294,305],[51,52],"rule-metadata",{"category":53,"docsUrl":54,"fix":55,"pack":56,"ruleId":57,"rulePath":58,"severity":59,"source":60,"sourceUrl":61},"routing","","suggestion","vite-doctor\u002Fnuxt","nuxt\u002Frouting\u002Fno-route-object-page-key","\u002Fnuxt\u002Frules\u002Frouting\u002Fno-route-object-page-key","warn","src\u002Frule-packs\u002Fnuxt\u002Frules\u002Fnuxt\u002Fno-route-object-page-key.ts","https:\u002F\u002Fgithub.com\u002Fonmax\u002Fvite-doctor\u002Fblob\u002Fmain\u002Fsrc\u002Frule-packs\u002Fnuxt\u002Frules\u002Fnuxt\u002Fno-route-object-page-key.ts",[63,64,66],"h2",{"id":65},"why-it-happens","Why it happens",[68,69,70],"p",{},"Nuxt routing APIs preserve prefetching, SSR behavior, and route state. Raw browser or Vue Router patterns can bypass that integration.",[63,72,74],{"id":73},"fix","Fix",[68,76,77],{},"Remove route object page key, or move it to the Nuxt runtime\u002FAPI that owns that behavior.",[63,79,81],{"id":80},"example","Example",[83,84,86],"h3",{"id":85},"use-scalar-page-keys","Use scalar page keys",[68,88,89],{},"Before",[91,92,96],"pre",{"className":93,"code":94,"language":95,"meta":54,"style":54},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\ndefinePageMeta({\n  key: route => route,\n})\n\u003C\u002Fscript>\n","vue",[97,98,99,134,148,169,178],"code",{"__ignoreMap":54},[100,101,104,108,112,116,119,122,125,129,131],"span",{"class":102,"line":103},"line",1,[100,105,107],{"class":106},"sMK4o","\u003C",[100,109,111],{"class":110},"swJcz","script",[100,113,115],{"class":114},"spNyl"," setup",[100,117,118],{"class":114}," lang",[100,120,121],{"class":106},"=",[100,123,124],{"class":106},"\"",[100,126,128],{"class":127},"sfazB","ts",[100,130,124],{"class":106},[100,132,133],{"class":106},">\n",[100,135,137,141,145],{"class":102,"line":136},2,[100,138,140],{"class":139},"s2Zo4","definePageMeta",[100,142,144],{"class":143},"sTEyZ","(",[100,146,147],{"class":106},"{\n",[100,149,151,154,157,161,164,166],{"class":102,"line":150},3,[100,152,153],{"class":139},"  key",[100,155,156],{"class":106},":",[100,158,160],{"class":159},"sHdIc"," route",[100,162,163],{"class":114}," =>",[100,165,160],{"class":143},[100,167,168],{"class":106},",\n",[100,170,172,175],{"class":102,"line":171},4,[100,173,174],{"class":106},"}",[100,176,177],{"class":143},")\n",[100,179,181,184,186],{"class":102,"line":180},5,[100,182,183],{"class":106},"\u003C\u002F",[100,185,111],{"class":110},[100,187,133],{"class":106},[68,189,190],{},"After",[91,192,194],{"className":93,"code":193,"language":95,"meta":54,"style":54},"\u003Cscript setup lang=\"ts\">\ndefinePageMeta({\n  key: route => route.fullPath,\n})\n\u003C\u002Fscript>\n",[97,195,196,216,224,244,250],{"__ignoreMap":54},[100,197,198,200,202,204,206,208,210,212,214],{"class":102,"line":103},[100,199,107],{"class":106},[100,201,111],{"class":110},[100,203,115],{"class":114},[100,205,118],{"class":114},[100,207,121],{"class":106},[100,209,124],{"class":106},[100,211,128],{"class":127},[100,213,124],{"class":106},[100,215,133],{"class":106},[100,217,218,220,222],{"class":102,"line":136},[100,219,140],{"class":139},[100,221,144],{"class":143},[100,223,147],{"class":106},[100,225,226,228,230,232,234,236,239,242],{"class":102,"line":150},[100,227,153],{"class":139},[100,229,156],{"class":106},[100,231,160],{"class":159},[100,233,163],{"class":114},[100,235,160],{"class":143},[100,237,238],{"class":106},".",[100,240,241],{"class":143},"fullPath",[100,243,168],{"class":106},[100,245,246,248],{"class":102,"line":171},[100,247,174],{"class":106},[100,249,177],{"class":143},[100,251,252,254,256],{"class":102,"line":180},[100,253,183],{"class":106},[100,255,111],{"class":110},[100,257,133],{"class":106},[63,259,261],{"id":260},"verify-the-fix","Verify the fix",[68,263,264],{},"Run only this rule after editing so the report stays focused on the diagnostic you are closing:",[91,266,270],{"className":267,"code":268,"language":269,"meta":54,"style":54},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm nuxt doctor --rules nuxt\u002Frouting\u002Fno-route-object-page-key\n","bash",[97,271,272],{"__ignoreMap":54},[100,273,274,278,281,284,287],{"class":102,"line":103},[100,275,277],{"class":276},"sBMFI","pnpm",[100,279,280],{"class":127}," nuxt",[100,282,283],{"class":127}," doctor",[100,285,286],{"class":127}," --rules",[100,288,289],{"class":127}," nuxt\u002Frouting\u002Fno-route-object-page-key\n",[63,291,293],{"id":292},"related-rule","Related rule",[295,296,297],"ul",{},[298,299,300],"li",{},[301,302,303],"a",{"href":58},[97,304,57],{},[306,307,308],"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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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 .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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":54,"searchDepth":136,"depth":136,"links":310},[311,312,313,316,317],{"id":65,"depth":136,"text":66},{"id":73,"depth":136,"text":74},{"id":80,"depth":136,"text":81,"children":314},[315],{"id":85,"depth":150,"text":86},{"id":260,"depth":136,"text":261},{"id":292,"depth":136,"text":293},"NUXT0046","Flags route object page key in Nuxt routing code before it leaks into runtime behavior.","md","nuxt",{},true,"\u002Fdiagnostics\u002Fnuxt0046",{"title":46,"description":319},"diagnostics\u002FNUXT0046","_KnTe_a62xSm63dJCltGY4-E21kJDPJe6W1OGkX6lbU",1791309497973]