[{"data":1,"prerenderedAt":1209},["ShallowReactive",2],{"navigation_docs_ko":3,"-ko-eslint-config-advanced":46,"-ko-eslint-config-advanced-surround":1204},[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":24,"body":48,"description":1198,"extension":1199,"links":1200,"meta":1201,"navigation":119,"path":25,"seo":1202,"stem":26,"__hash__":1203},"docs_ko\u002Fko\u002F1.eslint-config\u002F5.advanced.md",{"type":49,"value":50,"toc":1188},"minimark",[51,55,60,77,186,190,194,208,424,427,455,462,474,477,527,536,539,632,638,701,704,708,717,866,869,993,997,1007,1023,1026,1030,1038,1123,1127,1140,1145,1159,1164,1175,1184],[52,53,24],"h1",{"id":54},"고급-사용법",[56,57,59],"h2",{"id":58},"타입-인지-규칙","타입 인지 규칙",[61,62,63,64,68,69,76],"p",{},"가장 강력한 TypeScript 린트 규칙 일부는 타입 정보가 필요합니다 — 로컬 구문이 어떻게 보이느냐가 아니라 런타임에 어떤 값인지 실제로 resolve해야 합니다. ",[65,66,67],"code",{},"tsconfig.json","을 가리켜 ",[70,71,75],"a",{"href":72,"rel":73},"https:\u002F\u002Ftypescript-eslint.io\u002Flinting\u002Ftyped-linting\u002F",[74],"nofollow","타입 인지 린트","를 opt-in 하세요:",[78,79,85],"pre",{"className":80,"code":81,"filename":82,"language":83,"meta":84,"style":84},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import pleaseai from '@pleaseai\u002Feslint-config'\n\nexport default pleaseai({\n  typescript: {\n    tsconfigPath: 'tsconfig.json',\n  },\n})\n","eslint.config.ts","ts","",[65,86,87,114,121,140,153,171,177],{"__ignoreMap":84},[88,89,92,96,100,103,107,111],"span",{"class":90,"line":91},"line",1,[88,93,95],{"class":94},"s7zQu","import",[88,97,99],{"class":98},"sTEyZ"," pleaseai ",[88,101,102],{"class":94},"from",[88,104,106],{"class":105},"sMK4o"," '",[88,108,110],{"class":109},"sfazB","@pleaseai\u002Feslint-config",[88,112,113],{"class":105},"'\n",[88,115,117],{"class":90,"line":116},2,[88,118,120],{"emptyLinePlaceholder":119},true,"\n",[88,122,124,127,130,134,137],{"class":90,"line":123},3,[88,125,126],{"class":94},"export",[88,128,129],{"class":94}," default",[88,131,133],{"class":132},"s2Zo4"," pleaseai",[88,135,136],{"class":98},"(",[88,138,139],{"class":105},"{\n",[88,141,143,147,150],{"class":90,"line":142},4,[88,144,146],{"class":145},"swJcz","  typescript",[88,148,149],{"class":105},":",[88,151,152],{"class":105}," {\n",[88,154,156,159,161,163,165,168],{"class":90,"line":155},5,[88,157,158],{"class":145},"    tsconfigPath",[88,160,149],{"class":105},[88,162,106],{"class":105},[88,164,67],{"class":109},[88,166,167],{"class":105},"'",[88,169,170],{"class":105},",\n",[88,172,174],{"class":90,"line":173},6,[88,175,176],{"class":105},"  },\n",[88,178,180,183],{"class":90,"line":179},7,[88,181,182],{"class":105},"}",[88,184,185],{"class":98},")\n",[187,188,189],"warning",{},"타입 인지 린트는 ESLint가 매 실행마다 TypeScript 프로그램을 구축해야 하므로 구문만 보는 린트보다 느립니다. 작거나 중간 크기의 프로젝트에서 시작하고, 매우 큰 모노레포에서는 일부 파일에만 적용하는 것을 고려하세요.",[56,191,193],{"id":192},"config-composer","Config Composer",[61,195,196,199,200,207],{},[65,197,198],{},"pleaseai()","는 ",[70,201,204],{"href":202,"rel":203},"https:\u002F\u002Fgithub.com\u002Fantfu\u002Feslint-flat-config-utils#composer",[74],[65,205,206],{},"FlatConfigComposer","를 반환하므로, 일반 옵션 객체만으로는 충분하지 않을 때 이름이 붙은 config 블록을 유연하게 override, prepend, remove, rename할 수 있습니다:",[78,209,211],{"className":80,"code":210,"filename":82,"language":83,"meta":84,"style":84},"import pleaseai from '@pleaseai\u002Feslint-config'\n\nexport default pleaseai()\n  .prepend(\n    \u002F\u002F 메인 PleaseAI 설정 앞에 들어가는 flat config들\n  )\n  .override('antfu\u002Fstylistic\u002Frules', {\n    rules: {\n      'style\u002Fgenerator-star-spacing': ['error', { after: true, before: false }],\n    },\n  })\n  .renamePlugins({\n    'old-prefix': 'new-prefix',\n  })\n  .remove('antfu\u002Fstylistic')\n",[65,212,213,227,231,242,253,259,264,285,295,350,356,364,376,398,405],{"__ignoreMap":84},[88,214,215,217,219,221,223,225],{"class":90,"line":91},[88,216,95],{"class":94},[88,218,99],{"class":98},[88,220,102],{"class":94},[88,222,106],{"class":105},[88,224,110],{"class":109},[88,226,113],{"class":105},[88,228,229],{"class":90,"line":116},[88,230,120],{"emptyLinePlaceholder":119},[88,232,233,235,237,239],{"class":90,"line":123},[88,234,126],{"class":94},[88,236,129],{"class":94},[88,238,133],{"class":132},[88,240,241],{"class":98},"()\n",[88,243,244,247,250],{"class":90,"line":142},[88,245,246],{"class":105},"  .",[88,248,249],{"class":132},"prepend",[88,251,252],{"class":98},"(\n",[88,254,255],{"class":90,"line":155},[88,256,258],{"class":257},"sHwdD","    \u002F\u002F 메인 PleaseAI 설정 앞에 들어가는 flat config들\n",[88,260,261],{"class":90,"line":173},[88,262,263],{"class":98},"  )\n",[88,265,266,268,271,273,275,278,280,283],{"class":90,"line":179},[88,267,246],{"class":105},[88,269,270],{"class":132},"override",[88,272,136],{"class":98},[88,274,167],{"class":105},[88,276,277],{"class":109},"antfu\u002Fstylistic\u002Frules",[88,279,167],{"class":105},[88,281,282],{"class":105},",",[88,284,152],{"class":105},[88,286,288,291,293],{"class":90,"line":287},8,[88,289,290],{"class":145},"    rules",[88,292,149],{"class":105},[88,294,152],{"class":105},[88,296,298,301,304,306,308,311,313,316,318,320,323,326,328,332,334,337,339,342,345,348],{"class":90,"line":297},9,[88,299,300],{"class":105},"      '",[88,302,303],{"class":145},"style\u002Fgenerator-star-spacing",[88,305,167],{"class":105},[88,307,149],{"class":105},[88,309,310],{"class":98}," [",[88,312,167],{"class":105},[88,314,315],{"class":109},"error",[88,317,167],{"class":105},[88,319,282],{"class":105},[88,321,322],{"class":105}," {",[88,324,325],{"class":145}," after",[88,327,149],{"class":105},[88,329,331],{"class":330},"sfNiH"," true",[88,333,282],{"class":105},[88,335,336],{"class":145}," before",[88,338,149],{"class":105},[88,340,341],{"class":330}," false",[88,343,344],{"class":105}," }",[88,346,347],{"class":98},"]",[88,349,170],{"class":105},[88,351,353],{"class":90,"line":352},10,[88,354,355],{"class":105},"    },\n",[88,357,359,362],{"class":90,"line":358},11,[88,360,361],{"class":105},"  }",[88,363,185],{"class":98},[88,365,367,369,372,374],{"class":90,"line":366},12,[88,368,246],{"class":105},[88,370,371],{"class":132},"renamePlugins",[88,373,136],{"class":98},[88,375,139],{"class":105},[88,377,379,382,385,387,389,391,394,396],{"class":90,"line":378},13,[88,380,381],{"class":105},"    '",[88,383,384],{"class":145},"old-prefix",[88,386,167],{"class":105},[88,388,149],{"class":105},[88,390,106],{"class":105},[88,392,393],{"class":109},"new-prefix",[88,395,167],{"class":105},[88,397,170],{"class":105},[88,399,401,403],{"class":90,"line":400},14,[88,402,361],{"class":105},[88,404,185],{"class":98},[88,406,408,410,413,415,417,420,422],{"class":90,"line":407},15,[88,409,246],{"class":105},[88,411,412],{"class":132},"remove",[88,414,136],{"class":98},[88,416,167],{"class":105},[88,418,419],{"class":109},"antfu\u002Fstylistic",[88,421,167],{"class":105},[88,423,185],{"class":98},[61,425,426],{},"이 API는 다음과 같은 경우에 사용하세요:",[428,429,430,438,445],"ul",{},[431,432,433,434,437],"li",{},"이름이 붙은 config 블록을 완전히 ",[435,436,412],"strong",{},"하고 싶을 때",[431,439,440,441,444],{},"커스텀 설정을 작성하지 않고 플러그인 prefix를 ",[435,442,443],{},"rename","해야 할 때",[431,446,447,448,450,451,454],{},"특정 이름의 블록 내부 규칙을 ",[435,449,270],{},"하고 싶을 때 (최상위 ",[65,452,453],{},"overrides","보다 더 정교함)",[56,456,458,461],{"id":457},"command-codemod",[65,459,460],{},"command"," Codemod",[61,463,464,199,466,473],{},[65,465,110],{},[70,467,470],{"href":468,"rel":469},"https:\u002F\u002Fgithub.com\u002Fantfu\u002Feslint-plugin-command",[74],[65,471,472],{},"eslint-plugin-command","를 함께 배포합니다 — triple-slash 주석으로 트리거되는 온디맨드 마이크로 codemod 시스템입니다. 일반적인 린트 규칙이 아니라 사용자가 명시적으로 opt-in 하는 방식입니다.",[61,475,476],{},"기본 제공되는 트리거:",[428,478,479,489,498,510,521],{},[431,480,481,484,485,488],{},[65,482,483],{},"\u002F\u002F\u002F to-function"," — arrow function → ",[65,486,487],{},"function"," 선언",[431,490,491,494,495,497],{},[65,492,493],{},"\u002F\u002F\u002F to-arrow"," — ",[65,496,487],{}," 선언 → arrow function",[431,499,500,494,503,506,507],{},[65,501,502],{},"\u002F\u002F\u002F to-for-each",[65,504,505],{},"for"," 루프 → ",[65,508,509],{},".forEach()",[431,511,512,494,515,517,518],{},[65,513,514],{},"\u002F\u002F\u002F to-for-of",[65,516,509],{}," → ",[65,519,520],{},"for-of",[431,522,523,526],{},[65,524,525],{},"\u002F\u002F\u002F keep-sorted"," — 다음 객체\u002F배열\u002F인터페이스 정렬",[61,528,529,530,535],{},"전체 카탈로그는 ",[70,531,534],{"href":532,"rel":533},"https:\u002F\u002Fgithub.com\u002Fantfu\u002Feslint-plugin-command#built-in-commands",[74],"플러그인 문서","에서 확인하세요.",[61,537,538],{},"사용법 — 트리거를 코드 한 줄 위에 배치합니다:",[78,540,543],{"className":80,"code":541,"filename":542,"language":83,"meta":84,"style":84},"\u002F\u002F\u002F to-function\nconst greet = async (name: string): Promise\u003Cvoid> => {\n  console.log(`Hello, ${name}`)\n}\n","before.ts",[65,544,545,550,598,627],{"__ignoreMap":84},[88,546,547],{"class":90,"line":91},[88,548,549],{"class":257},"\u002F\u002F\u002F to-function\n",[88,551,552,556,559,562,565,568,572,574,578,581,584,587,590,593,596],{"class":90,"line":116},[88,553,555],{"class":554},"spNyl","const",[88,557,558],{"class":98}," greet ",[88,560,561],{"class":105},"=",[88,563,564],{"class":554}," async",[88,566,567],{"class":105}," (",[88,569,571],{"class":570},"sHdIc","name",[88,573,149],{"class":105},[88,575,577],{"class":576},"sBMFI"," string",[88,579,580],{"class":105},"):",[88,582,583],{"class":576}," Promise",[88,585,586],{"class":105},"\u003C",[88,588,589],{"class":576},"void",[88,591,592],{"class":105},">",[88,594,595],{"class":554}," =>",[88,597,152],{"class":105},[88,599,600,603,606,609,611,614,617,620,622,625],{"class":90,"line":123},[88,601,602],{"class":98},"  console",[88,604,605],{"class":105},".",[88,607,608],{"class":132},"log",[88,610,136],{"class":145},[88,612,613],{"class":105},"`",[88,615,616],{"class":109},"Hello, ",[88,618,619],{"class":105},"${",[88,621,571],{"class":98},[88,623,624],{"class":105},"}`",[88,626,185],{"class":145},[88,628,629],{"class":90,"line":142},[88,630,631],{"class":105},"}\n",[61,633,634,637],{},[65,635,636],{},"eslint --fix"," 실행 후:",[78,639,642],{"className":80,"code":640,"filename":641,"language":83,"meta":84,"style":84},"async function greet(name: string): Promise\u003Cvoid> {\n  console.log(`Hello, ${name}`)\n}\n","after.ts",[65,643,644,675,697],{"__ignoreMap":84},[88,645,646,649,652,655,657,659,661,663,665,667,669,671,673],{"class":90,"line":91},[88,647,648],{"class":554},"async",[88,650,651],{"class":554}," function",[88,653,654],{"class":132}," greet",[88,656,136],{"class":105},[88,658,571],{"class":570},[88,660,149],{"class":105},[88,662,577],{"class":576},[88,664,580],{"class":105},[88,666,583],{"class":576},[88,668,586],{"class":105},[88,670,589],{"class":576},[88,672,592],{"class":105},[88,674,152],{"class":105},[88,676,677,679,681,683,685,687,689,691,693,695],{"class":90,"line":116},[88,678,602],{"class":98},[88,680,605],{"class":105},[88,682,608],{"class":132},[88,684,136],{"class":145},[88,686,613],{"class":105},[88,688,616],{"class":109},[88,690,619],{"class":105},[88,692,571],{"class":98},[88,694,624],{"class":105},[88,696,185],{"class":145},[88,698,699],{"class":90,"line":123},[88,700,631],{"class":105},[61,702,703],{},"트리거 주석은 일회성으로, 변환과 함께 제거됩니다.",[56,705,707],{"id":706},"플러그인-이름-변경","플러그인 이름 변경",[61,709,710,712,713,716],{},[65,711,110],{},"는 더 짧고 일관된 DX를 위해 ",[65,714,715],{},"@antfu\u002Feslint-config","의 플러그인 이름 변경을 상속받습니다:",[718,719,720,736],"table",{},[721,722,723],"thead",{},[724,725,726,730,733],"tr",{},[727,728,729],"th",{},"새 prefix",[727,731,732],{},"원본 prefix",[727,734,735],{},"소스 플러그인",[737,738,739,761,782,803,824,845],"tbody",{},[724,740,741,747,752],{},[742,743,744],"td",{},[65,745,746],{},"import\u002F*",[742,748,749],{},[65,750,751],{},"import-lite\u002F*",[742,753,754],{},[70,755,758],{"href":756,"rel":757},"https:\u002F\u002Fgithub.com\u002F9romise\u002Feslint-plugin-import-lite",[74],[65,759,760],{},"eslint-plugin-import-lite",[724,762,763,768,773],{},[742,764,765],{},[65,766,767],{},"node\u002F*",[742,769,770],{},[65,771,772],{},"n\u002F*",[742,774,775],{},[70,776,779],{"href":777,"rel":778},"https:\u002F\u002Fgithub.com\u002Feslint-community\u002Feslint-plugin-n",[74],[65,780,781],{},"eslint-plugin-n",[724,783,784,789,794],{},[742,785,786],{},[65,787,788],{},"yaml\u002F*",[742,790,791],{},[65,792,793],{},"yml\u002F*",[742,795,796],{},[70,797,800],{"href":798,"rel":799},"https:\u002F\u002Fgithub.com\u002Fota-meshi\u002Feslint-plugin-yml",[74],[65,801,802],{},"eslint-plugin-yml",[724,804,805,810,815],{},[742,806,807],{},[65,808,809],{},"ts\u002F*",[742,811,812],{},[65,813,814],{},"@typescript-eslint\u002F*",[742,816,817],{},[70,818,821],{"href":819,"rel":820},"https:\u002F\u002Fgithub.com\u002Ftypescript-eslint\u002Ftypescript-eslint",[74],[65,822,823],{},"@typescript-eslint\u002Feslint-plugin",[724,825,826,831,836],{},[742,827,828],{},[65,829,830],{},"style\u002F*",[742,832,833],{},[65,834,835],{},"@stylistic\u002F*",[742,837,838],{},[70,839,842],{"href":840,"rel":841},"https:\u002F\u002Fgithub.com\u002Feslint-stylistic\u002Feslint-stylistic",[74],[65,843,844],{},"@stylistic\u002Feslint-plugin",[724,846,847,852,857],{},[742,848,849],{},[65,850,851],{},"test\u002F*",[742,853,854],{},[65,855,856],{},"vitest\u002F*",[742,858,859],{},[70,860,863],{"href":861,"rel":862},"https:\u002F\u002Fgithub.com\u002Fvitest-dev\u002Feslint-plugin-vitest",[74],[65,864,865],{},"@vitest\u002Feslint-plugin",[61,867,868],{},"따라서 규칙을 오버라이드할 때는 새 prefix를 사용하세요:",[78,870,872],{"className":80,"code":871,"filename":82,"language":83,"meta":84,"style":84},"import pleaseai from '@pleaseai\u002Feslint-config'\n\nexport default pleaseai({\n  rules: {\n    'ts\u002Fconsistent-type-definitions': ['error', 'interface'],\n    'style\u002Fmax-statements-per-line': ['error', { max: 2 }],\n  },\n})\n",[65,873,874,888,892,904,913,945,983,987],{"__ignoreMap":84},[88,875,876,878,880,882,884,886],{"class":90,"line":91},[88,877,95],{"class":94},[88,879,99],{"class":98},[88,881,102],{"class":94},[88,883,106],{"class":105},[88,885,110],{"class":109},[88,887,113],{"class":105},[88,889,890],{"class":90,"line":116},[88,891,120],{"emptyLinePlaceholder":119},[88,893,894,896,898,900,902],{"class":90,"line":123},[88,895,126],{"class":94},[88,897,129],{"class":94},[88,899,133],{"class":132},[88,901,136],{"class":98},[88,903,139],{"class":105},[88,905,906,909,911],{"class":90,"line":142},[88,907,908],{"class":145},"  rules",[88,910,149],{"class":105},[88,912,152],{"class":105},[88,914,915,917,920,922,924,926,928,930,932,934,936,939,941,943],{"class":90,"line":155},[88,916,381],{"class":105},[88,918,919],{"class":145},"ts\u002Fconsistent-type-definitions",[88,921,167],{"class":105},[88,923,149],{"class":105},[88,925,310],{"class":98},[88,927,167],{"class":105},[88,929,315],{"class":109},[88,931,167],{"class":105},[88,933,282],{"class":105},[88,935,106],{"class":105},[88,937,938],{"class":109},"interface",[88,940,167],{"class":105},[88,942,347],{"class":98},[88,944,170],{"class":105},[88,946,947,949,952,954,956,958,960,962,964,966,968,971,973,977,979,981],{"class":90,"line":173},[88,948,381],{"class":105},[88,950,951],{"class":145},"style\u002Fmax-statements-per-line",[88,953,167],{"class":105},[88,955,149],{"class":105},[88,957,310],{"class":98},[88,959,167],{"class":105},[88,961,315],{"class":109},[88,963,167],{"class":105},[88,965,282],{"class":105},[88,967,322],{"class":105},[88,969,970],{"class":145}," max",[88,972,149],{"class":105},[88,974,976],{"class":975},"sbssI"," 2",[88,978,344],{"class":105},[88,980,347],{"class":98},[88,982,170],{"class":105},[88,984,985],{"class":90,"line":179},[88,986,176],{"class":105},[88,988,989,991],{"class":90,"line":287},[88,990,182],{"class":105},[88,992,185],{"class":98},[56,994,996],{"id":995},"활성화된-규칙-보기","활성화된 규칙 보기",[61,998,999,1006],{},[70,1000,1003],{"href":1001,"rel":1002},"https:\u002F\u002Fgithub.com\u002Feslint\u002Fconfig-inspector",[74],[65,1004,1005],{},"@eslint\u002Fconfig-inspector","를 사용하면 완전히 해결된 설정을 브라우저에서 시각화할 수 있습니다 — 활성화된 모든 규칙, 모든 플러그인, 모든 파일 glob까지:",[78,1008,1013],{"className":1009,"code":1010,"filename":1011,"language":1012,"meta":84,"style":84},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx @eslint\u002Fconfig-inspector\n","Terminal","bash",[65,1014,1015],{"__ignoreMap":84},[88,1016,1017,1020],{"class":90,"line":91},[88,1018,1019],{"class":576},"npx",[88,1021,1022],{"class":109}," @eslint\u002Fconfig-inspector\n",[61,1024,1025],{},"로컬 서버가 열리면서 flat config 그래프를 보여줍니다. \"왜 이 규칙이 적용되는가\" 또는 \"어떤 프리셋이 이것을 추가했는가\"를 디버깅할 때 없어서는 안 될 도구입니다.",[56,1027,1029],{"id":1028},"re-exports","Re-exports",[61,1031,1032,1034,1035,1037],{},[65,1033,715],{},"의 모든 export가 재export 되므로, ",[65,1036,198],{}," 팩토리를 사용하지 않고 직접 세부 설정을 import해서 조합할 수도 있습니다:",[78,1039,1041],{"className":80,"code":1040,"filename":82,"language":83,"meta":84,"style":84},"import { combine, javascript, typescript, vue } from '@pleaseai\u002Feslint-config'\n\nexport default combine(\n  javascript(),\n  typescript(),\n  vue(),\n)\n",[65,1042,1043,1078,1082,1092,1102,1110,1119],{"__ignoreMap":84},[88,1044,1045,1047,1049,1052,1054,1057,1059,1062,1064,1067,1069,1072,1074,1076],{"class":90,"line":91},[88,1046,95],{"class":94},[88,1048,322],{"class":105},[88,1050,1051],{"class":98}," combine",[88,1053,282],{"class":105},[88,1055,1056],{"class":98}," javascript",[88,1058,282],{"class":105},[88,1060,1061],{"class":98}," typescript",[88,1063,282],{"class":105},[88,1065,1066],{"class":98}," vue",[88,1068,344],{"class":105},[88,1070,1071],{"class":94}," from",[88,1073,106],{"class":105},[88,1075,110],{"class":109},[88,1077,113],{"class":105},[88,1079,1080],{"class":90,"line":116},[88,1081,120],{"emptyLinePlaceholder":119},[88,1083,1084,1086,1088,1090],{"class":90,"line":123},[88,1085,126],{"class":94},[88,1087,129],{"class":94},[88,1089,1051],{"class":132},[88,1091,252],{"class":98},[88,1093,1094,1097,1100],{"class":90,"line":142},[88,1095,1096],{"class":132},"  javascript",[88,1098,1099],{"class":98},"()",[88,1101,170],{"class":105},[88,1103,1104,1106,1108],{"class":90,"line":155},[88,1105,146],{"class":132},[88,1107,1099],{"class":98},[88,1109,170],{"class":105},[88,1111,1112,1115,1117],{"class":90,"line":173},[88,1113,1114],{"class":132},"  vue",[88,1116,1099],{"class":98},[88,1118,170],{"class":105},[88,1120,1121],{"class":90,"line":179},[88,1122,185],{"class":98},[56,1124,1126],{"id":1125},"버전-정책","버전 정책",[61,1128,1129,199,1131,1136,1137,605],{},[65,1130,110],{},[70,1132,1135],{"href":1133,"rel":1134},"https:\u002F\u002Fsemver.org\u002F",[74],"Semantic Versioning","을 따르지만, 여러 가지가 얽힌 스타일 프리셋이기 때문에 ",[435,1138,1139],{},"규칙 변경은 breaking change로 취급하지 않습니다",[61,1141,1142],{},[435,1143,1144],{},"Breaking (major 버전 업)",[428,1146,1147,1150,1153,1156],{},[431,1148,1149],{},"Node.js 버전 요구사항 변경",[431,1151,1152],{},"다운스트림 설정을 깨뜨릴 수 있는 대규모 리팩터",[431,1154,1155],{},"기존 규칙을 깨뜨릴 수 있는 주요 플러그인 업그레이드",[431,1157,1158],{},"대부분의 코드베이스에 영향을 미칠 가능성이 높은 변경",[61,1160,1161],{},[435,1162,1163],{},"Non-breaking (minor\u002Fpatch)",[428,1165,1166,1169,1172],{},[431,1167,1168],{},"개별 규칙 활성화 또는 비활성화 (엄격해지더라도)",[431,1170,1171],{},"규칙 옵션 변경",[431,1173,1174],{},"의존성 버전 업데이트",[61,1176,1177,1178,1183],{},"규칙 강화로 빌드가 깨진다면 이전 minor 버전으로 고정하고, 트레이드오프를 논의할 수 있도록 ",[70,1179,1182],{"href":1180,"rel":1181},"https:\u002F\u002Fgithub.com\u002Fpleaseai\u002Fcode-style\u002Fissues",[74],"이슈를 열어"," 주세요.",[1185,1186,1187],"style",{},"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 .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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .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}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":84,"searchDepth":116,"depth":116,"links":1189},[1190,1191,1192,1194,1195,1196,1197],{"id":58,"depth":116,"text":59},{"id":192,"depth":116,"text":193},{"id":457,"depth":116,"text":1193},"command Codemod",{"id":706,"depth":116,"text":707},{"id":995,"depth":116,"text":996},{"id":1028,"depth":116,"text":1029},{"id":1125,"depth":116,"text":1126},"Config Composer, 타입 인지 규칙, command codemod, 플러그인 이름 변경, 버전 정책.","md",null,{},{"title":24,"description":1198},"ZEI34LlRcBb6VicyFEy9JbmKDWyk2ehpGBGf2PdUlI4",[1205,1207],{"title":20,"path":21,"stem":22,"description":1206,"children":-1},"React, Vue, Nextjs, Svelte, Astro, Solid, UnoCSS, Angular를 위한 선택적 프레임워크 설정.",{"title":28,"path":29,"stem":30,"description":1208,"children":-1},"VS Code, Neovim, 에디터 전용 비활성화, lint-staged를 통한 pre-commit 훅.",1776318164103]