[{"data":1,"prerenderedAt":484},["ShallowReactive",2],{"navigation_docs_ko":3,"-ko-eslint-config-nuxt":46,"-ko-eslint-config-nuxt-surround":479},[4,31,36,41],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"ESLint Config","\u002Fko\u002Feslint-config","ko\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","\u002Fko\u002Feslint-config\u002Fpackage-json","ko\u002F1.eslint-config\u002F2.package-json",{"title":16,"path":17,"stem":18},"Nuxt 통합","\u002Fko\u002Feslint-config\u002Fnuxt","ko\u002F1.eslint-config\u002F3.nuxt",{"title":20,"path":21,"stem":22},"프레임워크 통합","\u002Fko\u002Feslint-config\u002Fframeworks","ko\u002F1.eslint-config\u002F4.frameworks",{"title":24,"path":25,"stem":26},"고급 사용법","\u002Fko\u002Feslint-config\u002Fadvanced","ko\u002F1.eslint-config\u002F5.advanced",{"title":28,"path":29,"stem":30},"에디터 & CI 통합","\u002Fko\u002Feslint-config\u002Feditor","ko\u002F1.eslint-config\u002F6.editor",{"title":32,"path":33,"stem":34,"icon":35},"Prettier Config","\u002Fko\u002Fprettier-config","ko\u002F2.prettier-config","i-lucide-paintbrush",{"title":37,"path":38,"stem":39,"icon":40},"EditorConfig","\u002Fko\u002Feditorconfig","ko\u002F3.editorconfig","i-lucide-file-cog",{"title":42,"path":43,"stem":44,"icon":45},"CLI","\u002Fko\u002Fcli","ko\u002F4.cli","i-lucide-terminal",{"id":47,"title":16,"body":48,"description":473,"extension":474,"links":475,"meta":476,"navigation":336,"path":17,"seo":477,"stem":18,"__hash__":478},"docs_ko\u002Fko\u002F1.eslint-config\u002F3.nuxt.md",{"type":49,"value":50,"toc":466},"minimark",[51,55,73,85,90,100,132,135,139,153,271,285,396,407,414,429,433,451,462],[52,53,16],"h1",{"id":54},"nuxt-통합",[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","는 Nuxt의 공식 ESLint 모듈입니다. ",[65,70,71],{},".\u002F.nuxt\u002Feslint.config.mjs","에 프로젝트를 이해하는 flat config를 생성하는데, auto-import, components 디렉토리, pages를 알고 있어서 ESLint가 수동 규칙 없이도 Nuxt 전역을 정확히 해석할 수 있습니다.",[56,74,75,78,79,81,82,84],{},[65,76,77],{},"@pleaseai\u002Feslint-config","는 ",[65,80,67],{},"와 깔끔하게 조합됩니다 — 모듈은 Nuxt 전용 규칙을 제공하고, ",[65,83,77],{},"가 나머지를 담당합니다.",[86,87,89],"h2",{"id":88},"빠른-설정","빠른 설정",[56,91,92,93,95,96,99],{},"Nuxi로 모듈을 추가하세요 — ",[65,94,67],{},"를 설치하고 ",[65,97,98],{},"nuxt.config.ts","에 자동으로 연결합니다:",[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],{},"이렇게 하면 Nuxt 인지 규칙 위에 ESLint의 JS, TS, Vue 플러그인을 얹은 기본 설정이 갖춰집니다.",[86,136,138],{"id":137},"커스텀-설정-프리셋","커스텀 설정 프리셋",[56,140,141,142,144,145,148,149,152],{},"기본적으로 모듈은 JS, TS, Vue 플러그인을 권장 규칙과 함께 설치합니다. ",[65,143,77],{},"(",[65,146,147],{},"@antfu\u002Feslint-config","를 통해)가 이미 그 부분을 다루고 있으므로, ",[65,150,151],{},"standalone: false","로 설정하여 기본 프리셋을 비활성화하고 모듈이 Nuxt 전용 규칙만 내보내도록 하세요:",[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,180,193,207,215,226,236,250,256,262],{"__ignoreMap":107},[111,161,162,166,169,173,176],{"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,144],{"class":175},"sTEyZ",[111,177,179],{"class":178},"sMK4o","{\n",[111,181,183,187,190],{"class":113,"line":182},2,[111,184,186],{"class":185},"swJcz","  modules",[111,188,189],{"class":178},":",[111,191,192],{"class":175}," [\n",[111,194,196,199,201,204],{"class":113,"line":195},3,[111,197,198],{"class":178},"    '",[111,200,67],{"class":121},[111,202,203],{"class":178},"'",[111,205,206],{"class":178},",\n",[111,208,210,213],{"class":113,"line":209},4,[111,211,212],{"class":175},"  ]",[111,214,206],{"class":178},[111,216,218,221,223],{"class":113,"line":217},5,[111,219,220],{"class":185},"  eslint",[111,222,189],{"class":178},[111,224,225],{"class":178}," {\n",[111,227,229,232,234],{"class":113,"line":228},6,[111,230,231],{"class":185},"    config",[111,233,189],{"class":178},[111,235,225],{"class":178},[111,237,239,242,244,248],{"class":113,"line":238},7,[111,240,241],{"class":185},"      standalone",[111,243,189],{"class":178},[111,245,247],{"class":246},"sfNiH"," false",[111,249,206],{"class":178},[111,251,253],{"class":113,"line":252},8,[111,254,255],{"class":178},"    },\n",[111,257,259],{"class":113,"line":258},9,[111,260,261],{"class":178},"  },\n",[111,263,265,268],{"class":113,"line":264},10,[111,266,267],{"class":178},"}",[111,269,270],{"class":175},")\n",[56,272,273,274,277,278,280,281,284],{},"그런 다음 모듈이 생성한 ",[65,275,276],{},"withNuxt"," 헬퍼로 ",[65,279,77],{},"를 감싸는 ",[65,282,283],{},"eslint.config.mjs","를 생성하세요:",[101,286,290],{"className":287,"code":288,"filename":283,"language":289,"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 옵션\n    vue: true,\n  }),\n  \u002F\u002F ...다른 flat config 항목들\n)\n","js",[65,291,292,298,317,332,338,350,359,364,376,386,391],{"__ignoreMap":107},[111,293,294],{"class":113,"line":114},[111,295,297],{"class":296},"sHwdD","\u002F\u002F @ts-check\n",[111,299,300,303,306,309,312,314],{"class":113,"line":182},[111,301,302],{"class":164},"import",[111,304,305],{"class":175}," pleaseai ",[111,307,308],{"class":164},"from",[111,310,311],{"class":178}," '",[111,313,77],{"class":121},[111,315,316],{"class":178},"'\n",[111,318,319,321,324,326,328,330],{"class":113,"line":195},[111,320,302],{"class":164},[111,322,323],{"class":175}," withNuxt ",[111,325,308],{"class":164},[111,327,311],{"class":178},[111,329,71],{"class":121},[111,331,316],{"class":178},[111,333,334],{"class":113,"line":209},[111,335,337],{"emptyLinePlaceholder":336},true,"\n",[111,339,340,342,344,347],{"class":113,"line":217},[111,341,165],{"class":164},[111,343,168],{"class":164},[111,345,346],{"class":171}," withNuxt",[111,348,349],{"class":175},"(\n",[111,351,352,355,357],{"class":113,"line":228},[111,353,354],{"class":171},"  pleaseai",[111,356,144],{"class":175},[111,358,179],{"class":178},[111,360,361],{"class":113,"line":238},[111,362,363],{"class":296},"    \u002F\u002F ...@pleaseai\u002Feslint-config 옵션\n",[111,365,366,369,371,374],{"class":113,"line":252},[111,367,368],{"class":185},"    vue",[111,370,189],{"class":178},[111,372,373],{"class":246}," true",[111,375,206],{"class":178},[111,377,378,381,384],{"class":113,"line":258},[111,379,380],{"class":178},"  }",[111,382,383],{"class":175},")",[111,385,206],{"class":178},[111,387,388],{"class":113,"line":264},[111,389,390],{"class":296},"  \u002F\u002F ...다른 flat config 항목들\n",[111,392,394],{"class":113,"line":393},11,[111,395,270],{"class":175},[56,397,398,400,401,403,404,406],{},[65,399,276],{},"는 인자를 Nuxt 인지 규칙 뒤에 병합하므로, 전달한 모든 항목(",[65,402,77],{}," 출력 포함)이 ",[65,405,67],{},"의 기본값보다 우선 적용됩니다.",[86,408,410,411,413],{"id":409},"왜-standalone-false인가요","왜 ",[65,412,151],{},"인가요?",[56,415,416,417,419,420,422,423,425,426,428],{},"이 옵션 없이는 ",[65,418,67],{},"와 ",[65,421,77],{},"가 모두 JS\u002FTS\u002FVue 플러그인을 설치해서 중복 규칙 경고가 발생하고, 해결된 설정 크기가 두 배가 됩니다. ",[65,424,151],{},"로 설정하면 모듈을 Nuxt만 아는 부분(auto-import, component 디렉토리 전역, 페이지 구조)으로 한정하고, 언어 도구는 ",[65,427,77],{},"가 담당하도록 할 수 있습니다.",[86,430,432],{"id":431},"eslint-실행","ESLint 실행",[56,434,435,439,440,443,444,447,448,450],{},[59,436,438],{"href":437},"\u002Fko\u002Feslint-config#npm-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8","ESLint Config 메인 페이지","에 문서화된 표준 ",[65,441,442],{},"lint"," \u002F ",[65,445,446],{},"lint:fix"," 스크립트는 ",[65,449,67],{},"을 연결한 뒤에도 그대로 동작합니다.",[452,453,454,455,461],"note",{},"커스텀 규칙 오버라이드, 디렉토리별 설정, dev 모드 통합과 같은 추가 옵션은 ",[59,456,458,460],{"href":61,"rel":457},[63],[65,459,67],{}," 모듈 문서","를 참고하세요.",[463,464,465],"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":182,"depth":182,"links":467},[468,469,470,472],{"id":88,"depth":182,"text":89},{"id":137,"depth":182,"text":138},{"id":409,"depth":182,"text":471},"왜 standalone: false인가요?",{"id":431,"depth":182,"text":432},"Nuxt 프로젝트에서 @pleaseai\u002Feslint-config를 @nuxt\u002Feslint와 함께 사용하는 방법.","md",null,{},{"title":16,"description":473},"C5vJEZ6mrPSr0OuUxt6rgjonjs-50Q-VmlNNBX6Zfw4",[480,482],{"title":12,"path":13,"stem":14,"description":481,"children":-1},"ESLint로 package.json 파일을 린트하세요.",{"title":20,"path":21,"stem":22,"description":483,"children":-1},"React, Vue, Nextjs, Svelte, Astro, Solid, UnoCSS, Angular를 위한 선택적 프레임워크 설정.",1776318164081]