[{"data":1,"prerenderedAt":425},["ShallowReactive",2],{"navigation_docs":3,"rule-content-\u002Fvite\u002Frules\u002Fimports\u002Frequire-static-glob-pattern":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,"description":414,"diagnosticCodes":415,"docsUrl":55,"extension":416,"fix":56,"framework":417,"meta":418,"navigation":419,"pack":57,"path":421,"recommendedReplacement":119,"ruleId":58,"seo":422,"severity":59,"source":60,"sourceUrl":61,"stem":423,"why":112,"__hash__":424},"rules\u002Fvite\u002Frules\u002Fimports\u002Frequire-static-glob-pattern.md","Use literal patterns in import.meta.glob",{"type":48,"value":49,"toc":403},"minimark",[50,62,67,105,109,113,117,120,124,136,140,145,148,207,210,246,250,252,318,320,399],[51,52],"rule-metadata",{"category":53,"diagnosticCodes":54,"docsUrl":55,"fix":56,"pack":57,"ruleId":58,"severity":59,"source":60,"sourceUrl":61},"imports","VITE0022","https:\u002F\u002Fvite.dev\u002Fguide\u002Ffeatures#glob-import-caveats","no","vite-doctor\u002Fvite","vite\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},"run-this-rule","Run this rule",[68,69,74],"pre",{"className":70,"code":71,"language":72,"meta":73,"style":73},"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","",[75,76,77],"code",{"__ignoreMap":73},[78,79,82,86,90,93,96,99,102],"span",{"class":80,"line":81},"line",1,[78,83,85],{"class":84},"sBMFI","pnpm",[78,87,89],{"class":88},"sfazB"," vite-doctor",[78,91,92],{"class":88}," .",[78,94,95],{"class":88}," --framework",[78,97,98],{"class":88}," vite",[78,100,101],{"class":88}," --rules",[78,103,104],{"class":88}," vite\u002Fimports\u002Frequire-static-glob-pattern\n",[63,106,108],{"id":107},"why-it-matters","Why it matters",[110,111,112],"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,114,116],{"id":115},"recommended-fix","Recommended fix",[110,118,119],{},"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,121,123],{"id":122},"useful-links","Useful links",[125,126,127],"ul",{},[128,129,130],"li",{},[131,132,135],"a",{"href":55,"rel":133},[134],"nofollow","Rule reference",[63,137,139],{"id":138},"example","Example",[141,142,144],"h3",{"id":143},"inline-constant-patterns","Inline constant patterns",[110,146,147],{},"Before",[68,149,153],{"className":150,"code":151,"language":152,"meta":73,"style":73},"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",[75,154,155,178],{"__ignoreMap":73},[78,156,157,161,165,169,172,175],{"class":80,"line":81},[78,158,160],{"class":159},"spNyl","const",[78,162,164],{"class":163},"sTEyZ"," pattern ",[78,166,168],{"class":167},"sMK4o","=",[78,170,171],{"class":167}," '",[78,173,174],{"class":88},".\u002Fpages\u002F*.vue",[78,176,177],{"class":167},"'\n",[78,179,181,183,186,188,192,195,198,200,204],{"class":80,"line":180},2,[78,182,160],{"class":159},[78,184,185],{"class":163}," pages ",[78,187,168],{"class":167},[78,189,191],{"class":190},"s7zQu"," import",[78,193,194],{"class":167},".",[78,196,197],{"class":163},"meta",[78,199,194],{"class":167},[78,201,203],{"class":202},"s2Zo4","glob",[78,205,206],{"class":163},"(pattern)\n",[110,208,209],{},"After",[68,211,213],{"className":150,"code":212,"language":152,"meta":73,"style":73},"const pages = import.meta.glob('.\u002Fpages\u002F*.vue')\n",[75,214,215],{"__ignoreMap":73},[78,216,217,219,221,223,225,227,229,231,233,236,239,241,243],{"class":80,"line":81},[78,218,160],{"class":159},[78,220,185],{"class":163},[78,222,168],{"class":167},[78,224,191],{"class":190},[78,226,194],{"class":167},[78,228,197],{"class":163},[78,230,194],{"class":167},[78,232,203],{"class":202},[78,234,235],{"class":163},"(",[78,237,238],{"class":167},"'",[78,240,174],{"class":88},[78,242,238],{"class":167},[78,244,245],{"class":163},")\n",[141,247,249],{"id":248},"select-a-module-after-expanding-a-literal-glob","Select a module after expanding a literal glob",[110,251,147],{},[68,253,255],{"className":150,"code":254,"language":152,"meta":73,"style":73},"const loadPage = (name: string) => import.meta.glob(`.\u002Fpages\u002F${name}.vue`)\n",[75,256,257],{"__ignoreMap":73},[78,258,259,261,264,266,269,273,276,279,282,285,287,289,291,293,295,297,300,303,306,308,311,314,316],{"class":80,"line":81},[78,260,160],{"class":159},[78,262,263],{"class":163}," loadPage ",[78,265,168],{"class":167},[78,267,268],{"class":167}," (",[78,270,272],{"class":271},"sHdIc","name",[78,274,275],{"class":167},":",[78,277,278],{"class":84}," string",[78,280,281],{"class":167},")",[78,283,284],{"class":159}," =>",[78,286,191],{"class":190},[78,288,194],{"class":167},[78,290,197],{"class":163},[78,292,194],{"class":167},[78,294,203],{"class":202},[78,296,235],{"class":163},[78,298,299],{"class":167},"`",[78,301,302],{"class":88},".\u002Fpages\u002F",[78,304,305],{"class":167},"${",[78,307,272],{"class":163},[78,309,310],{"class":167},"}",[78,312,313],{"class":88},".vue",[78,315,299],{"class":167},[78,317,245],{"class":163},[110,319,209],{},[68,321,323],{"className":150,"code":322,"language":152,"meta":73,"style":73},"const pages = import.meta.glob('.\u002Fpages\u002F*.vue')\nconst loadPage = (name: string) => pages[`.\u002Fpages\u002F${name}.vue`]?.()\n",[75,324,325,353],{"__ignoreMap":73},[78,326,327,329,331,333,335,337,339,341,343,345,347,349,351],{"class":80,"line":81},[78,328,160],{"class":159},[78,330,185],{"class":163},[78,332,168],{"class":167},[78,334,191],{"class":190},[78,336,194],{"class":167},[78,338,197],{"class":163},[78,340,194],{"class":167},[78,342,203],{"class":202},[78,344,235],{"class":163},[78,346,238],{"class":167},[78,348,174],{"class":88},[78,350,238],{"class":167},[78,352,245],{"class":163},[78,354,355,357,359,361,363,365,367,369,371,373,376,378,380,382,384,386,388,390,393,396],{"class":80,"line":180},[78,356,160],{"class":159},[78,358,263],{"class":163},[78,360,168],{"class":167},[78,362,268],{"class":167},[78,364,272],{"class":271},[78,366,275],{"class":167},[78,368,278],{"class":84},[78,370,281],{"class":167},[78,372,284],{"class":159},[78,374,375],{"class":163}," pages[",[78,377,299],{"class":167},[78,379,302],{"class":88},[78,381,305],{"class":167},[78,383,272],{"class":163},[78,385,310],{"class":167},[78,387,313],{"class":88},[78,389,299],{"class":167},[78,391,392],{"class":163},"]",[78,394,395],{"class":167},"?.",[78,397,398],{"class":163},"()\n",[400,401,402],"style",{},"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}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 .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 .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 .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}",{"title":73,"searchDepth":180,"depth":180,"links":404},[405,406,407,408,409],{"id":65,"depth":180,"text":66},{"id":107,"depth":180,"text":108},{"id":115,"depth":180,"text":116},{"id":122,"depth":180,"text":123},{"id":138,"depth":180,"text":139,"children":410},[411,413],{"id":143,"depth":412,"text":144},3,{"id":248,"depth":412,"text":249},"Reports import.meta.glob patterns that Vite cannot transform into module imports.",[54],"md","vite",{},{"title":420},"Static glob patterns","\u002Fvite\u002Frules\u002Fimports\u002Frequire-static-glob-pattern",{"title":46,"description":414},"vite\u002Frules\u002Fimports\u002Frequire-static-glob-pattern","YpQ-wSkRdQ4t0TpbDii2mC3VWP-StiF_-woJqVmcHHA",1791309459996]