[{"data":1,"prerenderedAt":440},["ShallowReactive",2],{"navigation_docs":3,"diagnostic-content-VITE0022":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":430,"description":431,"docsUrl":54,"extension":432,"fix":77,"framework":433,"meta":434,"navigation":435,"pack":56,"path":436,"ruleId":57,"rulePath":58,"seo":437,"severity":59,"source":60,"sourceUrl":61,"stem":438,"why":70,"__hash__":439},"diagnostics\u002Fdiagnostics\u002FVITE0022.md","VITE0022: Use literal patterns in import.meta.glob",{"type":48,"value":49,"toc":418},"minimark",[50,62,67,71,75,78,82,87,90,156,159,195,199,201,268,270,349,353,356,386,390,402,406,414],[51,52],"rule-metadata",{"category":53,"docsUrl":54,"fix":55,"pack":56,"ruleId":57,"rulePath":58,"severity":59,"source":60,"sourceUrl":61},"imports","https:\u002F\u002Fvite.dev\u002Fguide\u002Ffeatures#glob-import-caveats","no","vite-doctor\u002Fvite","vite\u002Fimports\u002Frequire-static-glob-pattern","\u002Fvite\u002Frules\u002Fimports\u002Frequire-static-glob-pattern","error","src\u002Frule-packs\u002Fvite\u002Frules\u002Fimports.ts","https:\u002F\u002Fgithub.com\u002Fonmax\u002Fvite-doctor\u002Fblob\u002Fmain\u002Fsrc\u002Frule-packs\u002Fvite\u002Frules\u002Fimports.ts",[63,64,66],"h2",{"id":65},"why-it-happens","Why it happens",[68,69,70],"p",{},"Vite expands import.meta.glob during development and production builds. Its first argument must contain string literals, an array of string literals, or template literals without interpolation. Variables, concatenation, interpolated templates, and array spreads are unsupported even when their values are constant. Vite 7 rejects them during the transform; Vite 8 can instead omit their matching modules from the generated map.",[63,72,74],{"id":73},"fix","Fix",[68,76,77],{},"Write the patterns directly inside import.meta.glob. To choose a module at runtime, use a literal glob to build the module map, then select a key from that map.",[63,79,81],{"id":80},"example","Example",[83,84,86],"h3",{"id":85},"inline-constant-patterns","Inline constant patterns",[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","const pattern = '.\u002Fpages\u002F*.vue'\nconst pages = import.meta.glob(pattern)\n","ts","",[98,99,100,127],"code",{"__ignoreMap":96},[101,102,105,109,113,117,120,124],"span",{"class":103,"line":104},"line",1,[101,106,108],{"class":107},"spNyl","const",[101,110,112],{"class":111},"sTEyZ"," pattern ",[101,114,116],{"class":115},"sMK4o","=",[101,118,119],{"class":115}," '",[101,121,123],{"class":122},"sfazB",".\u002Fpages\u002F*.vue",[101,125,126],{"class":115},"'\n",[101,128,130,132,135,137,141,144,147,149,153],{"class":103,"line":129},2,[101,131,108],{"class":107},[101,133,134],{"class":111}," pages ",[101,136,116],{"class":115},[101,138,140],{"class":139},"s7zQu"," import",[101,142,143],{"class":115},".",[101,145,146],{"class":111},"meta",[101,148,143],{"class":115},[101,150,152],{"class":151},"s2Zo4","glob",[101,154,155],{"class":111},"(pattern)\n",[68,157,158],{},"After",[91,160,162],{"className":93,"code":161,"language":95,"meta":96,"style":96},"const pages = import.meta.glob('.\u002Fpages\u002F*.vue')\n",[98,163,164],{"__ignoreMap":96},[101,165,166,168,170,172,174,176,178,180,182,185,188,190,192],{"class":103,"line":104},[101,167,108],{"class":107},[101,169,134],{"class":111},[101,171,116],{"class":115},[101,173,140],{"class":139},[101,175,143],{"class":115},[101,177,146],{"class":111},[101,179,143],{"class":115},[101,181,152],{"class":151},[101,183,184],{"class":111},"(",[101,186,187],{"class":115},"'",[101,189,123],{"class":122},[101,191,187],{"class":115},[101,193,194],{"class":111},")\n",[83,196,198],{"id":197},"select-a-module-after-expanding-a-literal-glob","Select a module after expanding a literal glob",[68,200,89],{},[91,202,204],{"className":93,"code":203,"language":95,"meta":96,"style":96},"const loadPage = (name: string) => import.meta.glob(`.\u002Fpages\u002F${name}.vue`)\n",[98,205,206],{"__ignoreMap":96},[101,207,208,210,213,215,218,222,225,229,232,235,237,239,241,243,245,247,250,253,256,258,261,264,266],{"class":103,"line":104},[101,209,108],{"class":107},[101,211,212],{"class":111}," loadPage ",[101,214,116],{"class":115},[101,216,217],{"class":115}," (",[101,219,221],{"class":220},"sHdIc","name",[101,223,224],{"class":115},":",[101,226,228],{"class":227},"sBMFI"," string",[101,230,231],{"class":115},")",[101,233,234],{"class":107}," =>",[101,236,140],{"class":139},[101,238,143],{"class":115},[101,240,146],{"class":111},[101,242,143],{"class":115},[101,244,152],{"class":151},[101,246,184],{"class":111},[101,248,249],{"class":115},"`",[101,251,252],{"class":122},".\u002Fpages\u002F",[101,254,255],{"class":115},"${",[101,257,221],{"class":111},[101,259,260],{"class":115},"}",[101,262,263],{"class":122},".vue",[101,265,249],{"class":115},[101,267,194],{"class":111},[68,269,158],{},[91,271,273],{"className":93,"code":272,"language":95,"meta":96,"style":96},"const pages = import.meta.glob('.\u002Fpages\u002F*.vue')\nconst loadPage = (name: string) => pages[`.\u002Fpages\u002F${name}.vue`]?.()\n",[98,274,275,303],{"__ignoreMap":96},[101,276,277,279,281,283,285,287,289,291,293,295,297,299,301],{"class":103,"line":104},[101,278,108],{"class":107},[101,280,134],{"class":111},[101,282,116],{"class":115},[101,284,140],{"class":139},[101,286,143],{"class":115},[101,288,146],{"class":111},[101,290,143],{"class":115},[101,292,152],{"class":151},[101,294,184],{"class":111},[101,296,187],{"class":115},[101,298,123],{"class":122},[101,300,187],{"class":115},[101,302,194],{"class":111},[101,304,305,307,309,311,313,315,317,319,321,323,326,328,330,332,334,336,338,340,343,346],{"class":103,"line":129},[101,306,108],{"class":107},[101,308,212],{"class":111},[101,310,116],{"class":115},[101,312,217],{"class":115},[101,314,221],{"class":220},[101,316,224],{"class":115},[101,318,228],{"class":227},[101,320,231],{"class":115},[101,322,234],{"class":107},[101,324,325],{"class":111}," pages[",[101,327,249],{"class":115},[101,329,252],{"class":122},[101,331,255],{"class":115},[101,333,221],{"class":111},[101,335,260],{"class":115},[101,337,263],{"class":122},[101,339,249],{"class":115},[101,341,342],{"class":111},"]",[101,344,345],{"class":115},"?.",[101,347,348],{"class":111},"()\n",[63,350,352],{"id":351},"verify-the-fix","Verify the fix",[68,354,355],{},"Run only this rule after editing so the report stays focused on the diagnostic you are closing:",[91,357,361],{"className":358,"code":359,"language":360,"meta":96,"style":96},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm vite-doctor . --framework vite --rules vite\u002Fimports\u002Frequire-static-glob-pattern\n","bash",[98,362,363],{"__ignoreMap":96},[101,364,365,368,371,374,377,380,383],{"class":103,"line":104},[101,366,367],{"class":227},"pnpm",[101,369,370],{"class":122}," vite-doctor",[101,372,373],{"class":122}," .",[101,375,376],{"class":122}," --framework",[101,378,379],{"class":122}," vite",[101,381,382],{"class":122}," --rules",[101,384,385],{"class":122}," vite\u002Fimports\u002Frequire-static-glob-pattern\n",[63,387,389],{"id":388},"useful-links","Useful links",[391,392,393],"ul",{},[394,395,396],"li",{},[397,398,401],"a",{"href":54,"rel":399},[400],"nofollow","Upstream docs",[63,403,405],{"id":404},"related-rule","Related rule",[391,407,408],{},[394,409,410],{},[397,411,412],{"href":58},[98,413,57],{},[415,416,417],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":96,"searchDepth":129,"depth":129,"links":419},[420,421,422,427,428,429],{"id":65,"depth":129,"text":66},{"id":73,"depth":129,"text":74},{"id":80,"depth":129,"text":81,"children":423},[424,426],{"id":85,"depth":425,"text":86},3,{"id":197,"depth":425,"text":198},{"id":351,"depth":129,"text":352},{"id":388,"depth":129,"text":389},{"id":404,"depth":129,"text":405},"VITE0022","Reports import.meta.glob patterns that Vite cannot transform into module imports.","md","vite",{},true,"\u002Fdiagnostics\u002Fvite0022",{"title":46,"description":431},"diagnostics\u002FVITE0022","_UIFykwrlETVxDHOVnz5K3ddrPTJ98X6wMNuGOVgryg",1791309485635]