[{"data":1,"prerenderedAt":252},["ShallowReactive",2],{"term-e\u002Feslint":3,"related-e\u002Feslint":241},{"id":4,"title":5,"acronym":6,"body":7,"category":224,"description":225,"difficulty":226,"extension":227,"letter":228,"meta":229,"navigation":193,"path":230,"related":231,"seo":235,"sitemap":236,"stem":239,"subcategory":6,"__hash__":240},"terms\u002Fterms\u002Fe\u002Feslint.md","ESLint",null,{"type":8,"value":9,"toc":218},"minimark",[10,15,19,23,26,30,207,211,214],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"ESLint is the code cop that reads your JavaScript and yells at you when you do something wrong or inconsistent. It catches bugs before they run (like using a variable that doesn't exist) and enforces code style rules. CI will fail if ESLint is unhappy, which is the only reason some developers fix their code.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"ESLint is a pluggable static analysis tool for JavaScript and TypeScript that identifies and reports on patterns found in code. It is highly configurable via rules, plugins (e.g., eslint-plugin-react, @typescript-eslint), and shareable configs (e.g., eslint-config-airbnb). ESLint can also auto-fix many issues with the --fix flag.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F .eslintrc.json\n{\n  \"extends\": [\"eslint:recommended\", \"plugin:react\u002Frecommended\"],\n  \"rules\": {\n    \"no-unused-vars\": \"error\",\n    \"no-console\": \"warn\",\n    \"prefer-const\": \"error\"\n  }\n}\n\n\u002F\u002F Run ESLint\n\u002F\u002F npx eslint src --fix\n","json","",[38,39,40,49,56,97,112,136,157,176,182,188,195,201],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F .eslintrc.json\n",[41,50,52],{"class":43,"line":51},2,[41,53,55],{"class":54},"sMK4o","{\n",[41,57,59,62,66,69,72,75,77,81,83,86,89,92,94],{"class":43,"line":58},3,[41,60,61],{"class":54},"  \"",[41,63,65],{"class":64},"spNyl","extends",[41,67,68],{"class":54},"\"",[41,70,71],{"class":54},":",[41,73,74],{"class":54}," [",[41,76,68],{"class":54},[41,78,80],{"class":79},"sfazB","eslint:recommended",[41,82,68],{"class":54},[41,84,85],{"class":54},",",[41,87,88],{"class":54}," \"",[41,90,91],{"class":79},"plugin:react\u002Frecommended",[41,93,68],{"class":54},[41,95,96],{"class":54},"],\n",[41,98,100,102,105,107,109],{"class":43,"line":99},4,[41,101,61],{"class":54},[41,103,104],{"class":64},"rules",[41,106,68],{"class":54},[41,108,71],{"class":54},[41,110,111],{"class":54}," {\n",[41,113,115,118,122,124,126,128,131,133],{"class":43,"line":114},5,[41,116,117],{"class":54},"    \"",[41,119,121],{"class":120},"sBMFI","no-unused-vars",[41,123,68],{"class":54},[41,125,71],{"class":54},[41,127,88],{"class":54},[41,129,130],{"class":79},"error",[41,132,68],{"class":54},[41,134,135],{"class":54},",\n",[41,137,139,141,144,146,148,150,153,155],{"class":43,"line":138},6,[41,140,117],{"class":54},[41,142,143],{"class":120},"no-console",[41,145,68],{"class":54},[41,147,71],{"class":54},[41,149,88],{"class":54},[41,151,152],{"class":79},"warn",[41,154,68],{"class":54},[41,156,135],{"class":54},[41,158,160,162,165,167,169,171,173],{"class":43,"line":159},7,[41,161,117],{"class":54},[41,163,164],{"class":120},"prefer-const",[41,166,68],{"class":54},[41,168,71],{"class":54},[41,170,88],{"class":54},[41,172,130],{"class":79},[41,174,175],{"class":54},"\"\n",[41,177,179],{"class":43,"line":178},8,[41,180,181],{"class":54},"  }\n",[41,183,185],{"class":43,"line":184},9,[41,186,187],{"class":54},"}\n",[41,189,191],{"class":43,"line":190},10,[41,192,194],{"emptyLinePlaceholder":193},true,"\n",[41,196,198],{"class":43,"line":197},11,[41,199,200],{"class":47},"\u002F\u002F Run ESLint\n",[41,202,204],{"class":43,"line":203},12,[41,205,206],{"class":47},"\u002F\u002F npx eslint src --fix\n",[11,208,210],{"id":209},"when-youll-hear-this","When You'll Hear This",[16,212,213],{},"ESLint runs in CI and blocks PRs with lint errors.,Use eslint --fix to auto-correct formatting issues.,ESLint and Prettier serve different purposes — use both.",[215,216,217],"style",{},"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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);}",{"title":36,"searchDepth":51,"depth":51,"links":219},[220,221,222,223],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":209,"depth":51,"text":210},"frontend","ESLint is the code cop that reads your JavaScript and yells at you when you do something wrong or inconsistent.","beginner","md","e",{},"\u002Fterms\u002Fe\u002Feslint",[232,233,234],"Prettier","DevTools","Source Map",{"title":5,"description":225},{"changefreq":237,"priority":238},"weekly",0.7,"terms\u002Fe\u002Feslint","mdlazox56rQSmrcib8Bn-W7IfMJsulinpVhYqHX8ARQ",[242,245,248],{"title":233,"path":243,"acronym":6,"category":224,"difficulty":226,"description":244},"\u002Fterms\u002Fd\u002Fdevtools","DevTools is the built-in developer panel in every major browser (press F12 or right-click → Inspect).",{"title":232,"path":246,"acronym":6,"category":224,"difficulty":226,"description":247},"\u002Fterms\u002Fp\u002Fprettier","Prettier is an opinionated code formatter that automatically reformats your code to look consistent. Single quotes or double quotes? 2 spaces or 4?",{"title":234,"path":249,"acronym":6,"category":224,"difficulty":250,"description":251},"\u002Fterms\u002Fs\u002Fsource-map","intermediate","Source maps are the translation files that let your browser's DevTools show you the original, readable source code even though the browser is actually runn...",1776518276080]