[{"data":1,"prerenderedAt":486},["ShallowReactive",2],{"navigation_docs_en":3,"-en-eslint-config-nuxt":46,"-en-eslint-config-nuxt-surround":481},[4,31,36,41],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"ESLint Config","\u002Fen\u002Feslint-config","en\u002F1.eslint-config\u002F1.index",[9,11,15,19,23,27],{"title":5,"path":6,"stem":7,"icon":10},"i-lucide-shield-check",{"title":12,"path":13,"stem":14},"Package JSON Lint","\u002Fen\u002Feslint-config\u002Fpackage-json","en\u002F1.eslint-config\u002F2.package-json",{"title":16,"path":17,"stem":18},"Nuxt Integration","\u002Fen\u002Feslint-config\u002Fnuxt","en\u002F1.eslint-config\u002F3.nuxt",{"title":20,"path":21,"stem":22},"Framework Integrations","\u002Fen\u002Feslint-config\u002Fframeworks","en\u002F1.eslint-config\u002F4.frameworks",{"title":24,"path":25,"stem":26},"Advanced Usage","\u002Fen\u002Feslint-config\u002Fadvanced","en\u002F1.eslint-config\u002F5.advanced",{"title":28,"path":29,"stem":30},"Editor & CI Integration","\u002Fen\u002Feslint-config\u002Feditor","en\u002F1.eslint-config\u002F6.editor",{"title":32,"path":33,"stem":34,"icon":35},"Prettier Config","\u002Fen\u002Fprettier-config","en\u002F2.prettier-config","i-lucide-paintbrush",{"title":37,"path":38,"stem":39,"icon":40},"EditorConfig","\u002Fen\u002Feditorconfig","en\u002F3.editorconfig","i-lucide-file-cog",{"title":42,"path":43,"stem":44,"icon":45},"CLI","\u002Fen\u002Fcli","en\u002F4.cli","i-lucide-terminal",{"id":47,"title":16,"body":48,"description":475,"extension":476,"links":477,"meta":478,"navigation":337,"path":17,"seo":479,"stem":18,"__hash__":480},"docs_en\u002Fen\u002F1.eslint-config\u002F3.nuxt.md",{"type":49,"value":50,"toc":468},"minimark",[51,55,73,85,90,100,132,135,139,153,272,286,397,408,415,430,434,453,464],[52,53,16],"h1",{"id":54},"nuxt-integration",[56,57,58,68,69,72],"p",{},[59,60,64],"a",{"href":61,"rel":62},"https:\u002F\u002Feslint.nuxt.com\u002Fpackages\u002Fmodule",[63],"nofollow",[65,66,67],"code",{},"@nuxt\u002Feslint"," is the official ESLint module for Nuxt. It generates a project-aware flat config at ",[65,70,71],{},".\u002F.nuxt\u002Feslint.config.mjs"," that knows about your auto-imports, components directory, and pages, so ESLint can correctly resolve Nuxt globals without manual rules.",[56,74,75,78,79,81,82,84],{},[65,76,77],{},"@pleaseai\u002Feslint-config"," composes cleanly with ",[65,80,67],{}," — the module supplies the Nuxt-specific rules, and ",[65,83,77],{}," provides the rest.",[86,87,89],"h2",{"id":88},"quick-setup","Quick Setup",[56,91,92,93,95,96,99],{},"Add the module with Nuxi — it installs ",[65,94,67],{}," and wires it into ",[65,97,98],{},"nuxt.config.ts"," automatically:",[101,102,108],"pre",{"className":103,"code":104,"filename":105,"language":106,"meta":107,"style":107},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx nuxi@latest module add eslint\n","Terminal","bash","",[65,109,110],{"__ignoreMap":107},[111,112,115,119,123,126,129],"span",{"class":113,"line":114},"line",1,[111,116,118],{"class":117},"sBMFI","npx",[111,120,122],{"class":121},"sfazB"," nuxi@latest",[111,124,125],{"class":121}," module",[111,127,128],{"class":121}," add",[111,130,131],{"class":121}," eslint\n",[56,133,134],{},"This gives you a default setup that pulls in ESLint's JS, TS, and Vue plugins on top of the Nuxt-aware rules.",[86,136,138],{"id":137},"custom-config-presets","Custom Config Presets",[56,140,141,142,144,145,148,149,152],{},"By default the module installs the JS, TS, and Vue plugins with their recommended rules. Since ",[65,143,77],{}," (via ",[65,146,147],{},"@antfu\u002Feslint-config",") already covers those, disable the default preset by setting ",[65,150,151],{},"standalone: false"," so the module only emits Nuxt-specific rules:",[101,154,158],{"className":155,"code":156,"filename":98,"language":157,"meta":107,"style":107},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: [\n    '@nuxt\u002Feslint',\n  ],\n  eslint: {\n    config: {\n      standalone: false,\n    },\n  },\n})\n","ts",[65,159,160,181,194,208,216,227,237,251,257,263],{"__ignoreMap":107},[111,161,162,166,169,173,177],{"class":113,"line":114},[111,163,165],{"class":164},"s7zQu","export",[111,167,168],{"class":164}," default",[111,170,172],{"class":171},"s2Zo4"," defineNuxtConfig",[111,174,176],{"class":175},"sTEyZ","(",[111,178,180],{"class":179},"sMK4o","{\n",[111,182,184,188,191],{"class":113,"line":183},2,[111,185,187],{"class":186},"swJcz","  modules",[111,189,190],{"class":179},":",[111,192,193],{"class":175}," [\n",[111,195,197,200,202,205],{"class":113,"line":196},3,[111,198,199],{"class":179},"    '",[111,201,67],{"class":121},[111,203,204],{"class":179},"'",[111,206,207],{"class":179},",\n",[111,209,211,214],{"class":113,"line":210},4,[111,212,213],{"class":175},"  ]",[111,215,207],{"class":179},[111,217,219,222,224],{"class":113,"line":218},5,[111,220,221],{"class":186},"  eslint",[111,223,190],{"class":179},[111,225,226],{"class":179}," {\n",[111,228,230,233,235],{"class":113,"line":229},6,[111,231,232],{"class":186},"    config",[111,234,190],{"class":179},[111,236,226],{"class":179},[111,238,240,243,245,249],{"class":113,"line":239},7,[111,241,242],{"class":186},"      standalone",[111,244,190],{"class":179},[111,246,248],{"class":247},"sfNiH"," false",[111,250,207],{"class":179},[111,252,254],{"class":113,"line":253},8,[111,255,256],{"class":179},"    },\n",[111,258,260],{"class":113,"line":259},9,[111,261,262],{"class":179},"  },\n",[111,264,266,269],{"class":113,"line":265},10,[111,267,268],{"class":179},"}",[111,270,271],{"class":175},")\n",[56,273,274,275,278,279,281,282,285],{},"Then create ",[65,276,277],{},"eslint.config.mjs"," that wraps ",[65,280,77],{}," with the ",[65,283,284],{},"withNuxt"," helper generated by the module:",[101,287,291],{"className":288,"code":289,"filename":277,"language":290,"meta":107,"style":107},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F @ts-check\nimport pleaseai from '@pleaseai\u002Feslint-config'\nimport withNuxt from '.\u002F.nuxt\u002Feslint.config.mjs'\n\nexport default withNuxt(\n  pleaseai({\n    \u002F\u002F ...@pleaseai\u002Feslint-config options\n    vue: true,\n  }),\n  \u002F\u002F ...your other flat config items\n)\n","js",[65,292,293,299,318,333,339,351,360,365,377,387,392],{"__ignoreMap":107},[111,294,295],{"class":113,"line":114},[111,296,298],{"class":297},"sHwdD","\u002F\u002F @ts-check\n",[111,300,301,304,307,310,313,315],{"class":113,"line":183},[111,302,303],{"class":164},"import",[111,305,306],{"class":175}," pleaseai ",[111,308,309],{"class":164},"from",[111,311,312],{"class":179}," '",[111,314,77],{"class":121},[111,316,317],{"class":179},"'\n",[111,319,320,322,325,327,329,331],{"class":113,"line":196},[111,321,303],{"class":164},[111,323,324],{"class":175}," withNuxt ",[111,326,309],{"class":164},[111,328,312],{"class":179},[111,330,71],{"class":121},[111,332,317],{"class":179},[111,334,335],{"class":113,"line":210},[111,336,338],{"emptyLinePlaceholder":337},true,"\n",[111,340,341,343,345,348],{"class":113,"line":218},[111,342,165],{"class":164},[111,344,168],{"class":164},[111,346,347],{"class":171}," withNuxt",[111,349,350],{"class":175},"(\n",[111,352,353,356,358],{"class":113,"line":229},[111,354,355],{"class":171},"  pleaseai",[111,357,176],{"class":175},[111,359,180],{"class":179},[111,361,362],{"class":113,"line":239},[111,363,364],{"class":297},"    \u002F\u002F ...@pleaseai\u002Feslint-config options\n",[111,366,367,370,372,375],{"class":113,"line":253},[111,368,369],{"class":186},"    vue",[111,371,190],{"class":179},[111,373,374],{"class":247}," true",[111,376,207],{"class":179},[111,378,379,382,385],{"class":113,"line":259},[111,380,381],{"class":179},"  }",[111,383,384],{"class":175},")",[111,386,207],{"class":179},[111,388,389],{"class":113,"line":265},[111,390,391],{"class":297},"  \u002F\u002F ...your other flat config items\n",[111,393,395],{"class":113,"line":394},11,[111,396,271],{"class":175},[56,398,399,401,402,404,405,407],{},[65,400,284],{}," merges its arguments after the Nuxt-aware rules, so anything you pass (including the ",[65,403,77],{}," output) takes precedence over the defaults provided by ",[65,406,67],{},".",[86,409,411,412,414],{"id":410},"why-standalone-false","Why ",[65,413,151],{},"?",[56,416,417,418,420,421,423,424,426,427,429],{},"Without it, ",[65,419,67],{}," and ",[65,422,77],{}," both install the JS\u002FTS\u002FVue plugins, producing duplicate-rule warnings and doubling the resolved config size. Setting ",[65,425,151],{}," scopes the module down to the parts that only Nuxt knows about (auto-imports, component directory globals, page structure) and lets ",[65,428,77],{}," own the language tooling.",[86,431,433],{"id":432},"running-eslint","Running ESLint",[56,435,436,437,440,441,444,445,449,450,452],{},"The standard ",[65,438,439],{},"lint"," \u002F ",[65,442,443],{},"lint:fix"," scripts documented on the ",[59,446,448],{"href":447},"\u002Fen\u002Feslint-config#npm-scripts","main ESLint Config page"," work unchanged once ",[65,451,67],{}," is wired up.",[454,455,456,457,463],"note",{},"See the ",[59,458,460,462],{"href":61,"rel":459},[63],[65,461,67],{}," module docs"," for additional options like custom rule overrides, per-directory configs, and dev-mode integration.",[465,466,467],"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 .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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":107,"searchDepth":183,"depth":183,"links":469},[470,471,472,474],{"id":88,"depth":183,"text":89},{"id":137,"depth":183,"text":138},{"id":410,"depth":183,"text":473},"Why standalone: false?",{"id":432,"depth":183,"text":433},"Use @pleaseai\u002Feslint-config together with @nuxt\u002Feslint in a Nuxt project.","md",null,{},{"title":16,"description":475},"AFwYT8gvb0dRtQD_CGvrOdUPh_h0IvT4DV9_AKjuzE8",[482,484],{"title":12,"path":13,"stem":14,"description":483,"children":-1},"Lint package.json files with ESLint.",{"title":20,"path":21,"stem":22,"description":485,"children":-1},"Enable optional framework configs for React, Vue, Next.js, Svelte, Astro, Solid, UnoCSS, and Angular.",1776318164189]