PageSourceSearch

https://webpack.kr/contribute/

html webpack.kr collected 2026-09-25 23:35:01 UTC 102,970 bytes, 54 lines download raw bytes

1<!DOCTYPE html><html><head><link rel="stylesheet" href="/index.e7793fec610ef501.css" /><link rel="stylesheet" href="/3461.97fc31c3662cb803.css" /><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/site-logo.c0e60df418e04f58.svg"/><link rel="preload" as="image" href="/icon-print.3c147a8b5a684f88.svg"/><link rel="preload" as="image" href="https://opencollective.com/webpack/donate/[email protected]?color=blue"/><link rel="preload" as="image" href="/icon-square-small-slack.1c7f4f7a52c41f94.png"/><link rel="preload" as="image" href="/openjs-logo.de5f5dbf59d26318.png"/><link rel="preload" as="image" href="/icon-square-small.9e8aff7a67a5dd20.svg"/><link rel="preload" as="image" href="/cc.185f5779f354f6e9.svg"/><link rel="preload" as="image" href="/by.d2da85793ea9d7bd.svg"/><title>Contribute | Webpack</title><meta name="theme-color" content="#2B3A42"/><meta name="description" content="Webpack은 모듈 번들러입니다. 주요 목적은 브라우저에서 사용할 수 있도록 JavaScript 파일을 번들로 묶는 것이지만, 리소스나 애셋을 변환하고 번들링 또는 패키징할 수도 있습니다."/><meta property="og:site_name" content="Webpack 한글문서"/><meta property="og:type" content="website"/><meta property="og:title" content="Contribute | Webpack"/><meta property="og:description" name="description" content="Webpack은 모듈 번들러입니다. 주요 목적은 브라우저에서 사용할 수 있도록 JavaScript 파일을 번들로 묶는 것이지만, 리소스나 애셋을 변환하고 번들링 또는 패키징할 수도 있습니다."/><meta property="og:image" content="https://webpack.js.org/icon-pwa-512x512.934507c816afbcdb.png"/><meta property="twitter:card" content="summary"/><meta property="twitter:site" content="@webpack"/><meta property="twitter:creator" content="@webpack"/><meta property="twitter:domain" content="https://webpack.js.org/"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black"/><meta name="apple-mobile-web-app-title" content="webpack"/><meta name="msapplication-TileImage" content="/icon_150x150.png"/><meta name="msapplication-TileColor" content="#465e69"/><link rel="icon" type="image/x-icon" href="/favicon.a3dd58d3142f7566.ico"/><link rel="manifest" href="/manifest.json"/><link rel="canonical" href="https://webpack.js.org/contribute/"/><link rel="alternate" type="application/rss+xml" title="webpack Blog" href="https://webpack.js.org/feed.xml"/><link rel="icon" sizes="192x192" href="/icon_192x192.png"/><link rel="icon" sizes="512x512" href="/icon_512x512.png"/><link rel="apple-touch-icon" href="/icon_180x180.png"/><link rel="mask-icon" href="/logo-on-white-bg.4a16a9aed80e42ee.svg" color="#465e69"/></head><body><div id="root"><div class="flex flex-col min-h-screen bg-white dark:bg-gray-900"><div class="z-[100] fixed w-full"><header class="bg-blue-800 dark:bg-gray-900 print:hidden"><div class="flex items-center py-10 px-[16px] justify-between md:px-[24px] md:max-w-[1024px] md:mx-auto md:justify-start"><button aria-label="Toggle navigation menu" class="bg-transparent border-none md:hidden"><svg viewBox="-62 138 25 25" width="20" height="20" class="fill-current text-white"><path fill="currentColor" d="M-60.2 140.2h20.9c1 0 1.8.8 1.8 1.8s-.8 1.8-1.8 1.8h-20.9c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8M-60.2 148.7h20.9c1 0 1.8.8 1.8 1.8s-.8 1.8-1.8 1.8h-20.9c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8M-60.2 157.2h20.9c1 0 1.8.8 1.8 1.8s-.8 1.8-1.8 1.8h-20.9c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8"></path></svg></button><a class="md:mr-auto" href="/" data-discover="true"><img class="float-left h-[35px] w-auto opacity-90 transition-opacity duration-200 hover:opacity-100" src="/site-logo.c0e60df418e04f58.svg" alt="webpack logo" width="122" height="35"/></a><nav class="hidden md:inline-grid md:grid-flow-col md:gap-x-[18px] md:items-center" aria-label="Main navigation"><a aria-label="webpack documentation" class="text-gray-100 dark:text-gray-100 text-sm font-light uppercase hover:text-blue-200" href="/concepts/" data-discover="true">Documentation</a><a aria-label="contribute to webpack" aria-current="page" class="text-gray-100 dark:text-gray-100 text-sm font-light uppercase hover:text-blue-200 !text-blue-200" href="/contribute/" data-discover="true">
1Contribute</a><a aria-label="webpack blog" class="text-gray-100 dark:text-gray-100 text-sm font-light uppercase hover:text-blue-200" href="/blog/" data-discover="true">Blog</a><div class="relative flex items-center justify-center "><a href="https://github.com/webpack/webpack" target="_blank" rel="noopener noreferrer" class="inline-flex items-center text-gray-100 dark:text-gray-200 hover:text-blue-200" aria-label="webpack on GitHub"><svg viewBox="0 0 24 24" aria-hidden="true" fill="currentColor" width="16"><path d="M12 2A10 10 0 0 0 2 12a10 10 0 0 0 6.8 9.5c.5 0 .7-.2.7-.5v-1.7C6.7 20 6.1 18 6.1 18c-.4-1.2-1-1.5-1-1.5-1-.6 0-.6 0-.6 1 0 1.5 1 1.5 1 .9 1.6 2.4 1.1 3 .9 0-.7.3-1.1.6-1.4-2.2-.2-4.6-1-4.6-4.9 0-1.1.4-2 1-2.7 0-.3-.4-1.3.2-2.7 0 0 .8-.2 2.7 1a9.4 9.4 0 0 1 5 0c2-1.2 2.8-1 2.8-1 .5 1.4.1 2.4 0 2.7.7.7 1 1.6 1 2.7 0 3.8-2.3 4.7-4.5 5 .4.2.7.8.7 1.8V21c0 .3.2.6.7.5 4-1.3 6.8-5 6.8-9.5A10 10 0 0 0 12 2"></path></svg><span class="screen-reader-only">(opens in a new tab)</span></a></div><div class="relative flex items-center justify-center "><a href="https://x.com/webpack" target="_blank" rel="noopener noreferrer" class="inline-flex items-center text-gray-100 dark:text-gray-200 hover:text-blue-200" aria-label="webpack on X"><svg viewBox="0 0 24 24" aria-hidden="true" fill="currentColor" width="16"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg><span class="screen-reader-only">(opens in a new tab)</span></a></div><div class="relative flex items-center justify-center "><a href="https://stackoverflow.com/questions/tagged/webpack" target="_blank" rel="noopener noreferrer" class="inline-flex items-center text-gray-100 dark:text-gray-200 hover:text-blue-200" aria-label="webpack on StackOverflow"><svg viewBox="0 0 24 24" aria-hidden="true" fill="currentColor" width="16"><path d="M17.4 20.2v-5.4h1.8V22H3v-7.2h1.8v5.4zM6.8 14.3l.3-1.7 8.8 1.8-.3 1.8zm1.1-4.2.8-1.6 8.1 3.8-.7 1.6zm2.3-4 1.1-1.4 7 5.8-1.2 1.4L10 6m4.7-4L20 9l-1.4 1-5.4-7 1.4-1m-8 16.5v-1.8h9v1.8z"></path></svg><span class="screen-reader-only">(opens in a new tab)</span></a></div><div class="relative flex items-center justify-center "><a href="https://discord.com/invite/webpack" target="_blank" rel="noopener noreferrer" class="inline-flex items-center text-gray-100 dark:text-gray-200 hover:text-blue-200" aria-label="webpack on Discord"><svg viewBox="0 0 24 24" aria-hidden="true" fill="currentColor" width="16"><path d="M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0 13 13 0 0 0-.617-1.25.08.08 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.1.1 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.08.08 0 0 0 .084-.028 14 14 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13 13 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10 10 0 0 0 .372-.292.07.07 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.07.07 0 0 1 .078.01q.181.149.373.292a.077.077 0 0 1-.006.127 12.3 12.3 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.08.08 0 0 0 .084.028 19.8 19.8 0 0 0 6.002-3.03.08.08 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.946 2.418-2.157 2.418"></path></svg><span class="screen-reader-only">(opens in a new tab)</span></a></div><nav class="relative "><button aria-haspopup="true" aria-expanded="false" aria-label="Select language" class="cursor-pointer text-white border-none bg-transparent m-0 p-0 text-[length:inherit] flex items-center"><svg viewBox="0 0 610 560" xmlns="http://www.w3.org/2000/svg" class="w-20 h-20 align-middle text-gray-100 hover:text-blue-200 transition-colors duration-200"><path d="m304.8 99.2-162.5-57.3v353.6l162.5-52.6z"></path><path d="m300.9 99 168.7-57.3v353.6l-168.7-52.5zm-200.7 358.4 200.7-66.9v-291.5l-200.7 66.9z" fill="currentColor"></path><path d="m392.4 461.8 28.4 46.8 15-43.5zm-223.9-262.3c-1.1-1 1.4 8.6 4.8 12 6.1 6.1 10.8 6.9 13.3 7 5.6.2 12.5-1.4 16.5-3.1s10.9-5.2 13.5-10.4c.6-1.1 2.1-3 1.1-7.5-.7-3.5-3-4.8-5.7-4.6s-11 2.4-15 3.6-12.2 3.7-15.8 4.5-11.5-.3-12.7-1.5zm101.2 114.8c-1.6-.
16-34.3-14.1-38.9-16.4a368 368 0 0 0 -17.5-7.5c12.3-19 20.1-33.4 21.2-35.6 1.9-4 15-29.5 15.3-31.1s.7-7.5.4-8.9-5.1 1.3-11.6 3.5-18.9 10.2-23.7 11.2-20.1 6.8-28 9.4c-7.8 2.6-22.7 7.1-28.8 8.8-6.1 1.6-11.4 1.8-14.9 2.8 0 0 .5 4.8 1.4 6.2s4.1 5 7.9 5.9c3.8 1 10 .6 12.8-.1s7.7-3.1 8.4-4.1c.7-1.1-.3-4.3.8-5.3s16.1-4.5 21.7-6.2 27.2-9.2 30.1-8.8a916 916 0 0 1 -23.9 47.7 821 821 0 0 1 -45 63.3c-5.3 6-18 21.5-22.4 25 1.1.3 9-.4 10.4-1.3 8.9-5.5 23.8-24.1 28.6-29.7a489.1 489.1 0 0 0 36.7-49.4c1.9.8 17.6 13.6 21.7 16.4a293 293 0 0 0 23.7 13.3c3.5 1.5 16.9 7.7 17.5 5.6.7-1.8-2.3-14.1-3.9-14.7z"></path><path clip-rule="evenodd" d="m194.1 484.7a204.9 204.9 0 0 0 30.7 14.5 233.6 233.6 0 0 0 46.4 12c.5 0 16 1.9 19.2 1.9h15.7c6.1-.5 11.8-.9 17.9-1.7 4.9-.7 10.3-1.6 15.5-2.8 3.8-.9 7.8-1.7 11.7-3 3.7-1 7.8-2.4 11.8-3.8l8.2-3.1c2.3-1 5.1-2.3 7.7-3.3a243 243 0 0 0 19.2-10c2.3-1.2 7.5-5.2 10.3-5.2 3.1 0 5.2 2.8 5.2 5.2 0 5.1-6.8 6.6-9.9 8.9-3.3 2.3-7.3 4-10.8 5.9-7 3.7-14.1 6.8-20.9 9.4a251 251 0 0 1 -27.3 8.5c-3.3.7-6.6 1.6-9.9 2.1-1.7.3-19.9 3.1-24.9 3.1h-23a293.9 293.9 0 0 1 -35.1-5.2 196 196 0 0 1 -33.1-10.3c-12-4.5-24.6-10.5-36.4-18.3-2.1-1.4-2.3-2.8-2.3-4.4a5 5 0 0 1 5.1-5.1c2.4.1 8 4.2 9 4.7zm101.4-98.1-189.9 63.2v-280.1l189.9-63.2zm10.6-288.3v292.7a6 6 0 0 1 -1.2 2.6c-.3.5-1 1.2-1.6 1.4a14621 14621 0 0 1 -203.1 67.6c-2.1 0-4-1.4-5.1-3.7 0-.2-.2-.3-.2-.7v-292.8c.3-.9.5-2.1 1.2-2.8 1.4-1.9 3.8-2.3 5.4-2.8 3-1 196.1-65.8 198.9-65.8 1.9 0 5.7 1.2 5.7 4.3z" fill-rule="evenodd"></path><path clip-rule="evenodd" d="m464.3 388-158-49.1v-236l158-53.7zm10.6-345.8v352.4c-.2 4-3 5.7-5.6 5.7-2.3 0-18.6-5.6-21.4-6.4l-65.8-20.4-14.6-4.7-12.9-4c-18.6-5.7-37.6-11.5-56.3-17.8-.7-.2-2.4-2.6-2.4-3.1v-246.1c.3-.9.7-1.9 1.6-2.6 1.4-1.6 61.1-21.4 84.7-29.3 6.3-2.3 84.8-29.3 87.3-29.3 3 .1 5.4 2.3 5.4 5.6z" fill-rule="evenodd"></path><path d="m515 461.8-211.1-67.3.9-292.8 210.2 66.9z"></path><path clip-rule="evenodd" d="m408.6 232.5-20.7 50.1 38.1 11.5zm-12.4-47.2 27.2 8.2 49.5 178.6-27.9-8.5-10-36.7-57.7-17.5-12.4 29.9-27.9-8.5z" fill="currentColor" fill-rule="evenodd"></path></svg><i aria-hidden="true" class="leading-none before:content-[&#x27;▾&#x27;]"></i></button><div class="hidden absolute top-full left-1/2 -translate-x-1/2 overflow-hidden text-[13px] bg-[#526b78] rounded-md shadow-[0_4px_12px_rgba(0,0,0,0.4)] z-[9999]"><ul><li class="list-none"><a href="https://webpack.js.org/contribute/" class="block min-w-[88px] px-3 py-1 text-center text-white transition-colors duration-[200ms] visited:text-white hover:bg-[#175d96] hover:text-white focus:bg-[#175d96] focus:text-white"><span lang="en" class="align-top text-left">English</span></a></li><li class="list-none"><a href="https://webpack.docschina.org/contribute/" class="block min-w-[88px] px-3 py-1 text-center text-white transition-colors duration-[200ms] visited:text-white hover:bg-[#175d96] hover:text-white focus:bg-[#175d96] focus:text-white"><span lang="zh" class="align-top text-left">中文</span></a></li><li class="list-none"><a href="https://webpack.kr/contribute/" class="block min-w-[88px] px-3 py-1 text-center text-white transition-colors duration-[200ms] visited:text-white hover:bg-[#175d96] hover:text-white focus:bg-[#175d96] focus:text-white"><span lang="ko" class="align-top text-left">한국어</span></a></li></ul></div></nav></nav><div class="inline-flex items-center gap-x-[18px] ml-[18px]"><div class="relative flex items-center justify-center "><button aria-label="Switch to dark theme" class="bg-transparent border-none cursor-pointer text-[16px] p-0 inline-flex items-center text-gray-100 hover:text-blue-200 transition-colors duration-200" data-testid="hello-darkness"><svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M12 18.14a.722.722 0 0 0-.722.722v2.166a.722.722 0 0 0 1.444 0v-2.166a.722.722 0 0 0-.722-.721ZM12 2.25a.722.722 0 0 0-.722.722v2.166a.722.722 0 0 0 1.444 0V2.972A.722.722 0 0 0 12 2.25ZM5.86 12a.722.722 0 0 0-.723-.722H2.972a.722.722 0 0 0 0 1.444h2.165A.722.722 0 0 0 5.86 12ZM21.028 11.278h-2.165a.722.722 0 0 0 0 1.444h2.165a.722.722 0 0 0 0-1.444ZM7.148 16.13a.72.72 0 0 0-.51.21l-1.533 1.534a.72.72 0 1 0 1.022 1.022l1.532-1.533a.724.724 0 0 0-.51-1.233ZM16.852 7.87a.72.72 0 0 0 .51-.21l1.533-1.533a.72.72 0 0 0 .211-.511.72.72 0 0 0-.722-.722.72.72 0 0 0-.51.21L16.34 6.639a.72.72 0 0 0-.211.51.72.72 0 0 0 .722.722ZM6.127 5.105a.72.72 0 0 0-.511-.211.72.72 0 0 0-.722.722.72.72 0 0 0 .21.51L6.638 7.66a.72.72 0 0 0 .511.211.72.72 0 0 0 .722-.722.72.72 0 0 0-.21-.51L6.126 5.105ZM17.363 16.34a.72.72 0 1 0-1.022 1.022l1.532 1.533a.72.72 0 0 0 1.022 0 .72.72 0 0 0 0-1.021l-1.532-1.533ZM12 7.5c-2.48 0-4.5 2.02-4.5 4.5s2.02 4.5 4.5 4.5 4.5-2.02 4.5-4.5-2.02-4.5-4.5-4.5Z" fill="currentColor"></path></svg></button></div></div></div></header><div class="absolute bottom-0 left-0 w-full z-[101] h-[2px] bg-transparent pointer-events-none opacity-0 print:hidden [animation:fade-in-progress_0.1s_0.3s_forwards]" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-label="Reading progress">
1<div class="h-full w-full bg-[#36393c] dark:bg-[#9ab3c0] [transform-origin:left] will-change-transform [transform:scaleX(0)] [animation:grow-progress_auto_linear_forwards] animation-timeline-scroll"></div></div></div><div class="flex-[1_1_auto] relative mt-[110px] print:mt-0"><div class="w-full max-w-screen-lg mx-auto flex relative"><div class="absolute h-full right-[100%] mr-2.5 flex justify-end items-start" style="max-width:calc(50vw - 520px)"><div class="sticky hidden lg:flex flex-col items-center border-r-2 border-gray-200 my-6 px-2 pb-12 overflow-hidden bg-transparent transition-colors duration-200 top-24 w-[250px] max-w-full"><div class="bg-white dark:bg-black shadow-lg rounded-lg m-2 transition-transform duration-200 hover:bg-gray-100 dark:hover:bg-gray-700 hover:scale-105 dark:shadow-[0_0_40px_rgba(255,255,255,0.18)]"><a href="https://www.ag-grid.com/?utm_source=webpack&amp;utm_medium=banner&amp;utm_campaign=sponsorship" target="_blank" rel="noopener noreferrer"><img src="/ag-grid-logo.6a68915181a34a15.png" alt="ag grid" width="220" loading="lazy" class="block dark:hidden max-w-full h-auto"/><img src="/ag-grid-logo-dark.061aeaf0171d90c4.png" alt="ag grid dark" width="220" loading="lazy" class="hidden dark:block max-w-full h-auto"/><span class="screen-reader-only">(opens in a new tab)</span></a></div><div class="bg-white dark:bg-black shadow-lg rounded-lg m-2 transition-transform duration-200 hover:bg-gray-100 dark:hover:bg-gray-700 hover:scale-105 dark:shadow-[0_0_40px_rgba(255,255,255,0.18)]"><a href="https://charts.ag-grid.com/?utm_source=webpack&amp;utm_medium=banner&amp;utm_campaign=sponsorship" target="_blank" rel="noopener noreferrer"><img src="/ag-charts-logo.f1735fb8902861d2.png" alt="ag charts" width="220" loading="lazy" class="block dark:hidden max-w-full h-auto"/><img src="/ag-charts-logo-dark.6cd0105fa94bd864.png" alt="ag charts dark" width="220" loading="lazy" class="hidden dark:block max-w-full h-auto"/><span class="screen-reader-only">(opens in a new tab)</span></a></div><div class="m-5 flex flex-col items-center transition-transform duration-200"><a href="https://www.ag-grid.com/?utm_source=webpack&amp;utm_medium=banner&amp;utm_campaign=sponsorship" target="_blank" rel="noopener noreferrer"><div class="text-3xl font-normal text-gray-600 dark:text-gray-400 my-4 text-center leading-snug">Datagrid and Charting for Enterprise Applications</div><div class="flex justify-center w-full"><img src="/icon-square-small.9e8aff7a67a5dd20.svg" alt="webpack" width="150" height="150" loading="lazy" class="max-w-full h-auto"/></div><div class="italic text-2xl text-gray-600 dark:text-gray-400 my-4 text-center">Proud to partner with webpack</div><span class="screen-reader-only">(opens in a new tab)</span></a></div></div></div><nav class="hidden md:block w-full max-w-[280px] will-change-transform flex-[0_0_280px]"><div class="p-6 sticky top-[-1px] overflow-y-auto max-h-screen"><div class="relative z-0 bg-white dark:bg-gray-100"><label for="docs-version" class="sr-only">Select webpack version</label><select aria-label="Select webpack version" class="text-gray-600 text-14 px-5 py-5 appearance-none box-border border border-gray-200 border-solid flex-col flex w-full rounded-none bg-transparent bg-none"><option value="5" selected="">webpack <!-- -->5</option><option value="4">webpack <!-- -->4</option></select><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="absolute right-5 top-5 fill-current text-gray-300 z-[-1]" width="20" height="20"><path d="M4.5 7.5c.5-.4 1-.4 1.6 0l3.9 3.8 4-3.8c.4-.4 1-.4 1.5 0 .4.5.4 1.2 0 1.7l-4.7 4.5a1 1 0 0 1-1.6 0L4.5 9.2c-.4-.5-.4-1.2 0-1.7"></path></svg></div><div class="relative flex flex-wrap text-[15px] my-[0.6em]"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="flex-none mt-[0.125em] mr-2 text-[#aaa] dark:text-[#69a8ee]" width="15" height="17" fill="#175d96"><path d="M10 3.3c-.6 0-1 .4-1.1 1.1v11.2c0 .3.2.6.4.8s.5.4.8.4c.6 0 1-.4 1.1-1.1V4.5c0-.3-.2-.6-.4-.8s-.5-.4-.8-.4"></path></svg><a class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis flex items-center flex-nowrap text-[#2b3a42] dark:text-[#b8b8b8]" href="/contribute/printable/" rel="nofollow noopener noreferrer" title="Print" target="_blank">Print Section<img src="/icon-print.3c147a8b5a684f88.svg" width="27" height="20" alt="Printer Icon"/></a></div><div><div class="group/item relative flex flex-wrap text-[15px] my-[0.6em]" data-open="true"><button class="bg-transparent border-none p-0 flex items-center" aria-label="Toggle Contribute section" aria-expanded="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="15" height="17" fill="#175d96" class="flex-none mt-[0.125em] mr-2 cursor-pointer text-[#175d96] dark:text-[#69a8ee] transition-all duration-250 hover:text-[#333] origin-center rotate-90"><path d="m9.2 4.5 4.5 4.7c.2.2.3.5.3.8s-.1.6-.3.8l-4.5 4.7c-.5.4-1.2.4
1-1.7 0-.4-.5-.4-1 0-1.6l3.8-3.9-3.8-4c-.4-.4-.4-1 0-1.5.5-.4 1.2-.4 1.7 0"></path></svg></button><a data-testid="sidebar-item-title" aria-current="page" class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis font-semibold text-[#333] dark:text-white" href="/contribute/" data-discover="true">Contribute</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Developers"><a aria-current="page" class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6] active" href="/contribute/#developers" data-discover="true">Developers</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="How Can I Help?"><a aria-current="page" class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6] active" href="/contribute/#how-can-i-help" data-discover="true">How Can I Help?</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Encouraging Employers"><a aria-current="page" class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6] active" href="/contribute/#encouraging-employers" data-discover="true">Encouraging Employers</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Your Contributions"><a aria-current="page" class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6] active" href="/contribute/#your-contributions" data-discover="true">Your Contributions</a></li></ul></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Executives"><a aria-current="page" class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6] active" href="/contribute/#executives" data-discover="true">Executives</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Sponsorship"><a aria-current="page" class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6] active" href="/contribute/#sponsorship" data-discover="true">Sponsorship</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Anyone Else"><a aria-current="page" class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6] active" href="/contribute/#anyone-else" data-discover="true">Anyone Else</a></li></ul></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Community"><a aria-current="page" class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6] active" href="/contribute/#community" data-discover="true">Community</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Pull requests"><a aria-current="page" class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6] active" href="/contribute/#pull-requests" data-discover="true">Pull requests</a></li></ul></div></div><div><div class="group/item relative flex flex-wrap text-[15px] my-[0.6em]"><button class="bg-transparent border-none p-0 flex items-center" aria-label="Toggle Writer&#x27;s Guide section" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="15" height="17" fill="#175d96" class="flex-none mt-[0.125em] mr-2 cursor-pointer text-[#175d96] dark:text-[#69a8ee] transition-all duration-250 hover:text-[#333] "><path d="m9.2 4.5 4.5 4.7c.2.2.3.5.3.8s-.1.6-.3.8l-4.5 4.7c-.5.4-1.2.4
1-1.7 0-.4-.5-.4-1 0-1.6l3.8-3.9-3.8-4c-.4-.4-.4-1 0-1.5.5-.4 1.2-.4 1.7 0"></path></svg></button><a data-testid="sidebar-item-title" class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis text-[#2b3a42] dark:text-[#b8b8b8]" href="/contribute/writers-guide/" data-discover="true">Writer&#x27;s Guide</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Process"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#process" data-discover="true">Process</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="YAML Frontmatter"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#yaml-frontmatter" data-discover="true">YAML Frontmatter</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Article Structure"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#article-structure" data-discover="true">Article Structure</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Typesetting"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#typesetting" data-discover="true">Typesetting</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Formatting"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#formatting" data-discover="true">Formatting</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Code"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#code" data-discover="true">Code</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Lists"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#lists" data-discover="true">Lists</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Tables"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#tables" data-discover="true">Tables</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Configuration Properties"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#configuration-properties" data-discover="true">Configuration Properties</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Quotes"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#quotes" data-discover="true">Quotes</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Assumptions and simplicity"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#assumptions-and-simplicity" data-discover="true">Assumptions and simplicity</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Configuration defaults and types"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#configuration-defaults-and-types" data-discover="true">Configuration defaults and types</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Options shortlists and their typing"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#options-shortlists-and-their-typing" data-discover="true">Options shortlists and their typing</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Adding links"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writers-guide/#adding-links" data-discover="true">Adding links</a></li></ul></li></ul></div></div><div><div class="group/item relative flex flex-wrap text-[15px] my-[0.6em]"><button class="bg-transparent border-none p-0 flex items-center" aria-label="Toggle Writing a Loader section" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="15" height="17" fill="#175d96" class="flex-none mt-[0.125em] mr-2 cursor-pointer text-[#175d96] dark:text-[#69a8ee] transition-all duration-250 hover:text-[#333] "><path d="m9.2 4.5 4.5 4.7c.2.2.3.5.3.8s-.1.6-.3.8l-4.5 4.7c-.5.4-1.2.4
1-1.7 0-.4-.5-.4-1 0-1.6l3.8-3.9-3.8-4c-.4-.4-.4-1 0-1.5.5-.4 1.2-.4 1.7 0"></path></svg></button><a data-testid="sidebar-item-title" class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis text-[#2b3a42] dark:text-[#b8b8b8]" href="/contribute/writing-a-loader/" data-discover="true">Writing a Loader</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Setup"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#setup" data-discover="true">Setup</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Simple Usage"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#simple-usage" data-discover="true">Simple Usage</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Complex Usage"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#complex-usage" data-discover="true">Complex Usage</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Pitching loaders"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#pitching-loaders" data-discover="true">Pitching loaders</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Short-circuiting the loader chain"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#short-circuiting-the-loader-chain" data-discover="true">Short-circuiting the loader chain</a></li></ul></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Guidelines"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#guidelines" data-discover="true">Guidelines</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex">
1<li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Simple"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#simple" data-discover="true">Simple</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Chaining"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#chaining" data-discover="true">Chaining</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Modular"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#modular" data-discover="true">Modular</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Stateless"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#stateless" data-discover="true">Stateless</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Loader Utilities"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#loader-utilities" data-discover="true">Loader Utilities</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Data Sharing"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#data-sharing" data-discover="true">Data Sharing</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Loader Dependencies"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#loader-dependencies" data-discover="true">Loader Dependencies</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Module Dependencies"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#module-dependencies" data-discover="true">Module Dependencies</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Common Code"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#common-code" data-discover="true">Common Code</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Absolute Paths"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#absolute-paths" data-discover="true">Absolute Paths</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Peer Dependencies"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#peer-dependencies" data-discover="true">Peer Dependencies</a></li></ul></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Testing"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-loader/#testing" data-discover="true">Testing</a></li></ul></div></div><div><div class="group/item relative flex flex-wrap text-[15px] my-[0.6em]"><button class="bg-transparent border-none p-0 flex items-center" aria-label="Toggle Writing a Plugin section" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="15" height="17" fill="#175d96" class="flex-none mt-[0.125em] mr-2 cursor-pointer text-[#175d96] dark:text-[#69a8ee] transition-all duration-250 hover:text-[#333] "><path d="m9.2 4.5 4.5 4.7c.2.2.3.5.3.8s-.1.6-.3.8l-4.5 4.7c-.5.4-1.2.4
1-1.7 0-.4-.5-.4-1 0-1.6l3.8-3.9-3.8-4c-.4-.4-.4-1 0-1.5.5-.4 1.2-.4 1.7 0"></path></svg></button><a data-testid="sidebar-item-title" class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis text-[#2b3a42] dark:text-[#b8b8b8]" href="/contribute/writing-a-plugin/" data-discover="true">Writing a Plugin</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Creating a Plugin"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#creating-a-plugin" data-discover="true">Creating a Plugin</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Basic plugin architecture"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#basic-plugin-architecture" data-discover="true">Basic plugin architecture</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Compiler and Compilation"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#compiler-and-compilation" data-discover="true">Compiler and Compilation</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Async event hooks"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#async-event-hooks" data-discover="true">Async event hooks</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="tapAsync"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#tapasync" data-discover="true">tapAsync</a></li></ul></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Example"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#example" data-discover="true">Example</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Watching for file changes"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#watching-for-file-changes" data-discover="true">Watching for file changes</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex">
1<li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Adding custom file dependencies"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#adding-custom-file-dependencies" data-discover="true">Adding custom file dependencies</a></li></ul></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Different Plugin Shapes"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#different-plugin-shapes" data-discover="true">Different Plugin Shapes</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Synchronous Hooks"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#synchronous-hooks" data-discover="true">Synchronous Hooks</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Asynchronous Hooks"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#asynchronous-hooks" data-discover="true">Asynchronous Hooks</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Configuration defaults"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#configuration-defaults" data-discover="true">Configuration defaults</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Example: AssetLoggerPlugin"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#example-assetloggerplugin" data-discover="true">Example: AssetLoggerPlugin</a></li></ul></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Testing your plugin"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/writing-a-plugin/#testing-your-plugin" data-discover="true">Testing your plugin</a></li></ul></div></div><div><div class="group/item relative flex flex-wrap text-[15px] my-[0.6em]"><button class="bg-transparent border-none p-0 flex items-center" aria-label="Toggle Plugin Patterns section" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="15" height="17" fill="#175d96" class="flex-none mt-[0.125em] mr-2 cursor-pointer text-[#175d96] dark:text-[#69a8ee] transition-all duration-250 hover:text-[#333] "><path d="m9.2 4.5 4.5 4.7c.2.2.3.5.3.8s-.1.6-.3.8l-4.5 4.7c-.5.4-1.2.4
1-1.7 0-.4-.5-.4-1 0-1.6l3.8-3.9-3.8-4c-.4-.4-.4-1 0-1.5.5-.4 1.2-.4 1.7 0"></path></svg></button><a data-testid="sidebar-item-title" class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis text-[#2b3a42] dark:text-[#b8b8b8]" href="/contribute/plugin-patterns/" data-discover="true">Plugin Patterns</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Exploring assets, chunks, modules, and dependencies"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/plugin-patterns/#exploring-assets-chunks-modules-and-dependencies" data-discover="true">Exploring assets, chunks, modules, and dependencies</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Monitoring the watch graph"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/plugin-patterns/#monitoring-the-watch-graph" data-discover="true">Monitoring the watch graph</a></li></ul></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Changed chunks"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/plugin-patterns/#changed-chunks" data-discover="true">Changed chunks</a></li></ul></div></div><div><div class="group/item relative flex flex-wrap text-[15px] my-[0.6em]"><button class="bg-transparent border-none p-0 flex items-center" aria-label="Toggle Release Process section" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="15" height="17" fill="#175d96" class="flex-none mt-[0.125em] mr-2 cursor-pointer text-[#175d96] dark:text-[#69a8ee] transition-all duration-250 hover:text-[#333] "><path d="m9.2 4.5 4.5 4.7c.2.2.3.5.3.8s-.1.6-.3.8l-4.5 4.7c-.5.4-1.2.4-1.7 0-.4-.5-.4-1 0-1.6l3.8-3.9-3.8-4c-.4-.4-.4-1 0-1.5.5-.4 1.2-.4 1.7 0"></path></svg></button><a data-testid="sidebar-item-title" class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis text-[#2b3a42] dark:text-[#b8b8b8]" href="/contribute/release-process/" data-discover="true">Release Process</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Pull Requests"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/release-process/#pull-requests" data-discover="true">Pull Requests</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Releasing"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/release-process/#releasing" data-discover="true">Releasing</a></li></ul></div></div><div><div class="group/item relative flex flex-wrap text-[15px] my-[0.6em]"><button class="bg-transparent border-none p-0 flex items-center" aria-label="Toggle Debugging section" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="15" height="17" fill="#175d96" class="flex-none mt-[0.125em] mr-2 cursor-pointer text-[#175d96] dark:text-[#69a8ee] transition-all duration-250 hover:text-[#333] "><path d="m9.2 4.5 4.5 4.7c.2.2.3.5.3.8s-.1.6-.3.8l-4.5 4.7c-.5.4-1.2.4
1-1.7 0-.4-.5-.4-1 0-1.6l3.8-3.9-3.8-4c-.4-.4-.4-1 0-1.5.5-.4 1.2-.4 1.7 0"></path></svg></button><a data-testid="sidebar-item-title" class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis text-[#2b3a42] dark:text-[#b8b8b8]" href="/contribute/debugging/" data-discover="true">Debugging</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Stats"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/debugging/#stats" data-discover="true">Stats</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="DevTools"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/debugging/#devtools" data-discover="true">DevTools</a></li></ul></div></div><div><h4 class="mt-6 ml-1 capitalize text-lg font-bold text-slate-800 dark:text-slate-100">Contribute</h4><div class="group/item relative flex flex-wrap text-[15px] my-[0.6em]"><button class="bg-transparent border-none p-0 flex items-center" aria-label="Toggle Governance Overview section" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="15" height="17" fill="#175d96" class="flex-none mt-[0.125em] mr-2 cursor-pointer text-[#175d96] dark:text-[#69a8ee] transition-all duration-250 hover:text-[#333] "><path d="m9.2 4.5 4.5 4.7c.2.2.3.5.3.8s-.1.6-.3.8l-4.5 4.7c-.5.4-1.2.4-1.7 0-.4-.5-.4-1 0-1.6l3.8-3.9-3.8-4c-.4-.4-.4-1 0-1.5.5-.4 1.2-.4 1.7 0"></path></svg></button><a data-testid="sidebar-item-title" class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis text-[#2b3a42] dark:text-[#b8b8b8]" href="/contribute/Governance-Overview/" data-discover="true">Governance Overview</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Roles and Responsibilities"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-Overview/#roles-and-responsibilities" data-discover="true">Roles and Responsibilities</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Contributors"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-Overview/#contributors" data-discover="true">Contributors</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Committers"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-Overview/#committers" data-discover="true">Committers</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Reviewers"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-Overview/#reviewers" data-discover="true">Reviewers</a></li></ul></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Technical Steering Committee"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-Overview/#technical-steering-committee" data-discover="true">Technical Steering Committee</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex">
1<li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="TSC meetings"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-Overview/#tsc-meetings" data-discover="true">TSC meetings</a></li></ul></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Consensus Seeking Process"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-Overview/#consensus-seeking-process" data-discover="true">Consensus Seeking Process</a></li></ul></div></div><div><div class="group/item relative flex flex-wrap text-[15px] my-[0.6em]"><button class="bg-transparent border-none p-0 flex items-center" aria-label="Toggle Charter section" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="15" height="17" fill="#175d96" class="flex-none mt-[0.125em] mr-2 cursor-pointer text-[#175d96] dark:text-[#69a8ee] transition-all duration-250 hover:text-[#333] "><path d="m9.2 4.5 4.5 4.7c.2.2.3.5.3.8s-.1.6-.3.8l-4.5 4.7c-.5.4-1.2.4-1.7 0-.4-.5-.4-1 0-1.6l3.8-3.9-3.8-4c-.4-.4-.4-1 0-1.5.5-.4 1.2-.4 1.7 0"></path></svg></button><a data-testid="sidebar-item-title" class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis text-[#2b3a42] dark:text-[#b8b8b8]" href="/contribute/Governance-charter/" data-discover="true">Charter</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Section 0. Guiding Principle"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-charter/#section-0-guiding-principle" data-discover="true">Section 0. Guiding Principle</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Section 1. Scope"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-charter/#section-1-scope" data-discover="true">Section 1. Scope</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="1.1: In-scope"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-charter/#11-in-scope" data-discover="true">1.1: In-scope</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="1.2: Out-of-Scope"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-charter/#12-out-of-scope" data-discover="true">1.2: Out-of-Scope</a></li></ul></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Section 2. Relationship with OpenJS Foundation CPC."><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-charter/#section-2-relationship-with-openjs-foundation-cpc" data-discover="true">Section 2. Relationship with OpenJS Foundation CPC.</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Section 3. Establishment of the TSC"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-charter/#section-3-establishment-of-the-tsc" data-discover="true">Section 3. Establishment of the TSC</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Section 4. Roles &amp; Responsibilities of the TSC"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-charter/#section-4-roles--responsibilities-of-the-tsc" data-discover="true">Section 4. Roles &amp; Responsibilities of the TSC</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex">
1<li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Section 4.1. webpack Project Operations"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-charter/#section-41-webpack-project-operations" data-discover="true">Section 4.1. webpack Project Operations</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Section 4.2. Decision-making, Voting, and/or Elections"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-charter/#section-42-decision-making-voting-andor-elections" data-discover="true">Section 4.2. Decision-making, Voting, and/or Elections</a></li></ul></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Section 5. Definitions"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-charter/#section-5-definitions" data-discover="true">Section 5. Definitions</a></li></ul></div></div><div><div class="group/item relative flex flex-wrap text-[15px] my-[0.6em]"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="flex-none mt-[0.125em] mr-2 text-[#aaa] dark:text-[#69a8ee]" width="15" height="17" fill="#175d96"><path d="M10 3.3c-.6 0-1 .4-1.1 1.1v11.2c0 .3.2.6.4.8s.5.4.8.4c.6 0 1-.4 1.1-1.1V4.5c0-.3-.2-.6-.4-.8s-.5-.4-.8-.4"></path></svg><a data-testid="sidebar-item-title" class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis text-[#2b3a42] dark:text-[#b8b8b8]" href="/contribute/Governance-member-expectations/" data-discover="true">Member Expectations</a></div></div><div><div class="group/item relative flex flex-wrap text-[15px] my-[0.6em]"><button class="bg-transparent border-none p-0 flex items-center" aria-label="Toggle Moderation Policy section" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="15" height="17" fill="#175d96" class="flex-none mt-[0.125em] mr-2 cursor-pointer text-[#175d96] dark:text-[#69a8ee] transition-all duration-250 hover:text-[#333] "><path d="m9.2 4.5 4.5 4.7c.2.2.3.5.3.8s-.1.6-.3.8l-4.5 4.7c-.5.4-1.2.4-1.7 0-.4-.5-.4-1 0-1.6l3.8-3.9-3.8-4c-.4-.4-.4-1 0-1.5.5-.4 1.2-.4 1.7 0"></path></svg></button><a data-testid="sidebar-item-title" class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis text-[#2b3a42] dark:text-[#b8b8b8]" href="/contribute/Governance-moderation-policy/" data-discover="true">Moderation Policy</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Applicability"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-moderation-policy/#applicability" data-discover="true">Applicability</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Terms"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-moderation-policy/#terms" data-discover="true">Terms</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Grounds for Moderation"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-moderation-policy/#grounds-for-moderation" data-discover="true">Grounds for Moderation</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Requesting Moderation"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-moderation-policy/#requesting-moderation" data-discover="true">Requesting Moderation</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Consideration of Intent"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-moderation-policy/#consideration-of-intent" data-discover="true">Consideration of Intent</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Guidelines and Requirements"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-moderation-policy/#guidelines-and-requirements" data-discover="true">Guidelines and Requirements</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex">
1<li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Collaborator Posts"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-moderation-policy/#collaborator-posts" data-discover="true">Collaborator Posts</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Non-Collaborator Posts"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-moderation-policy/#non-collaborator-posts" data-discover="true">Non-Collaborator Posts</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Temporary Interaction Limits"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-moderation-policy/#temporary-interaction-limits" data-discover="true">Temporary Interaction Limits</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Temporary and Indefinite Blocks"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-moderation-policy/#temporary-and-indefinite-blocks" data-discover="true">Temporary and Indefinite Blocks</a></li></ul></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Privacy of the webpack/moderation Repository"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-moderation-policy/#privacy-of-the-webpackmoderation-repository" data-discover="true">Privacy of the webpack/moderation Repository</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Escalation of Issues"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-moderation-policy/#escalation-of-issues" data-discover="true">Escalation of Issues</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Modifications to This Policy"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-moderation-policy/#modifications-to-this-policy" data-discover="true">Modifications to This Policy</a></li></ul></div></div><div><div class="group/item relative flex flex-wrap text-[15px] my-[0.6em]"><button class="bg-transparent border-none p-0 flex items-center" aria-label="Toggle Working Groups section" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="15" height="17" fill="#175d96" class="flex-none mt-[0.125em] mr-2 cursor-pointer text-[#175d96] dark:text-[#69a8ee] transition-all duration-250 hover:text-[#333] "><path d="m9.2 4.5 4.5 4.7c.2.2.3.5.3.8s-.1.6-.3.8l-4.5 4.7c-.5.4-1.2.4
1-1.7 0-.4-.5-.4-1 0-1.6l3.8-3.9-3.8-4c-.4-.4-.4-1 0-1.5.5-.4 1.2-.4 1.7 0"></path></svg></button><a data-testid="sidebar-item-title" class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis text-[#2b3a42] dark:text-[#b8b8b8]" href="/contribute/Governance-working-groups/" data-discover="true">Working Groups</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Joining a WG"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-working-groups/#joining-a-wg" data-discover="true">Joining a WG</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Starting a Working Group"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-working-groups/#starting-a-working-group" data-discover="true">Starting a Working Group</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Bootstrap Governance"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-working-groups/#bootstrap-governance" data-discover="true">Bootstrap Governance</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Current Working Groups"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-working-groups/#current-working-groups" data-discover="true">Current Working Groups</a></li></ul></div></div><div><div class="group/item relative flex flex-wrap text-[15px] my-[0.6em]"><button class="bg-transparent border-none p-0 flex items-center" aria-label="Toggle Ai Policy section" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="15" height="17" fill="#175d96" class="flex-none mt-[0.125em] mr-2 cursor-pointer text-[#175d96] dark:text-[#69a8ee] transition-all duration-250 hover:text-[#333] "><path d="m9.2 4.5 4.5 4.7c.2.2.3.5.3.8s-.1.6-.3.8l-4.5 4.7c-.5.4-1.2.4-1.7 0-.4-.5-.4-1 0-1.6l3.8-3.9-3.8-4c-.4-.4-.4-1 0-1.5.5-.4 1.2-.4 1.7 0"></path></svg></button><a data-testid="sidebar-item-title" class="flex-1 max-w-[85%] overflow-hidden whitespace-nowrap text-ellipsis text-[#2b3a42] dark:text-[#b8b8b8]" href="/contribute/Governance-ai-policy/" data-discover="true">Ai Policy</a><ul class="relative hidden flex-[0_0_100%] flex-wrap my-[0.35em] pl-6 overflow-hidden list-none leading-[19px] before:content-[&#x27;&#x27;] before:absolute before:h-[calc(100%-0.6em)] before:top-0 before:left-6 before:border-l before:border-dashed before:border-[#777676] group-data-[open]/item:flex"><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Extractive 
1Contributions"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-ai-policy/#extractive-contributions" data-discover="true">Extractive Contributions</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Transparency"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-ai-policy/#transparency" data-discover="true">Transparency</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Copyright"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-ai-policy/#copyright" data-discover="true">Copyright</a></li><li class="relative flex-[0_0_100%] my-1 first:mt-0 last:mb-0 pl-4 overflow-hidden whitespace-nowrap text-ellipsis before:content-[&#x27;&#x27;] before:absolute before:w-2 before:left-0 before:top-[10px] before:border-b before:border-dashed before:border-[#777676]" title="Reference"><a class="text-[#2b3a42] hover:text-[#175d96] dark:text-[#b8b8b8] dark:hover:text-[#82b7f6]" href="/contribute/Governance-ai-policy/#reference" data-discover="true">Reference</a></li></ul></div></div></div></nav><main id="main-content" class="flex-auto relative overflow-x-hidden py-[1.5em] px-[1em] md:flex-[3] md:p-[1.5em]"><div class="markdown"><h1>Contribute</h1><div id="md-content"><p>webpack에 기여하는 사람들은 오픈 소스, 사용자 및 생태계를 사랑합니다. 그리고 가장 중요한 것은 웹을 함께 발전시키는 것입니다. 펀딩의 투명성을 위한 <a href="https://opencollective.com/webpack">Open Collective</a> 모델으로 컨트리뷰터, 디펜던트 프로젝트, 코어 팀으로부터 지원과 펀딩을 받을 수 있습니다. 기부하려면 아래 버튼을 클릭하세요.</p>
2<div class="flex justify-center"><a href="https://opencollective.com/webpack/donate" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/webpack/donate/[email protected]?color=blue" width="300" alt="Donate to webpack"/></a></div>
3<p>이 투자에 대해서 어떤게 돌아올까요?</p>
4<h2><span id="developers"></span>Developers<a href="#developers" aria-hidden="true" tabindex="-1"><span class="header-link"></span></a></h2>
5<p>우리가 제공하고자 하는 가장 큰 핵심 기능은 즐거운 개발 경험입니다. 여러분과 같은 개발자는 풍부하고 생생한 문서에 기여할 수도 있고, Pull Request를 등록하여 세부적인 사용 사례를 해결하거나, 여러분이 좋아하는 webpack을 유지하도록 도와줄 수 있습니다.</p>
6<h3><span id="how-can-i-help"></span>How Can I Help?<a href="#how-can-i-help" aria-hidden="true" tabindex="-1"><span class="header-link"></span></a></h3>
7<p>누구나 다음 중 하나를 통해 도움을 줄 수 있습니다.</p>
8<ul>
9<li>고용주에게 프로젝트에 webpack을 사용하도록 요청하세요.</li>
10<li>이 사이트의 콘텐츠를 작성하고 유지하도록 도와주세요. (<a href="/contribute/writers-guide/" data-discover="true">writer&#x27;
10s guide</a> 참고)</li>
11<li><a href="https://github.com/webpack/webpack">코어 저장소</a>에 기여하세요.</li>
12<li><a href="https://opencollective.com/webpack#support">open collective</a>의 개인 후원자 또는 기업 스폰서가 되주세요.</li>
13</ul>
14<h3><span id="encouraging-employers"></span>Encouraging Employers<a href="#encouraging-employers" aria-hidden="true" tabindex="-1"><span class="header-link"></span></a></h3>
15<p>고용주에게 webpack을 사용하여 작업 흐름을 개선하도록 요청할 수 있습니다. webpack은 폰트, 이미지 및 이미지 최적화, json을 위한 올인원 도구입니다. webpack이 어떻게 최적화된 방법으로 코드와 애셋을 번들하여 가장 작은 크기의 파일을 만들고, 이를 통해 사이트와 애플리케이션을 더 빠르게 만들 수 있는지 설명해주세요.</p>
16<h3><span id="your-contributions"></span>Your Contributions<a href="#your-contributions" aria-hidden="true" tabindex="-1"><span class="header-link"></span></a></h3>
17<p>webpack에 기여하는 것은 전용 클럽에 기여하는 것이 아닙니다. 여러분과 같은 개발자는 다운 스트림 프로젝트의 전반적인 건전성에 기여하고 있습니다. 수천 개는 아니더라도 수백 개의 프로젝트가 webpack에 의존하고 있습니다. webpack에 기여하면 모든 사용자에게 더 나은 생태계를 만들 것입니다.</p>
18<p>이 섹션의 나머지 부분은 계속 성장하는 우리 커뮤니티의 일원이 되고자 하는 여러분과 같은 개발자를 위한 것입니다.</p>
19<ul>
20<li><a href="/contribute/writing-a-loader" data-discover="true">Writing a Loader</a></li>
21<li><a href="/contribute/writing-a-plugin" data-discover="true">Writing a Plugin</a></li>
22<li><a href="/contribute/plugin-patterns" data-discover="true">Plugin Patterns</a></li>
23<li><a href="/contribute/release-process" data-discover="true">Release Process</a></li>
24</ul>
25<h2><span id="executives"></span>Executives<a href="#executives" aria-hidden="true" tabindex="-1"><span class="header-link"></span></a></h2>
26<p>CTO, VP 및 오너도 도울 수 있습니다!</p>
27<p>Webpack은 코드 번들링을 위한 올인원 도구입니다. 커뮤니티 기반 플러그인과 로더의 도움으로 폰트, 이미지, 데이터 등을 처리 할 수 있습니다. 하나의 도구로 모든 애셋을 처리하는 것은 매우 유용합니다. 움직이는 부품이 많은 기계가 올바르게 작동하는지 확인하는 데 드는 시간을 줄이고 제품을 만드는 데 더 많은 시간을 할애 할 수 있습니다.</p>
28<h3><span id="sponsorship"></span>Sponsorship<a href="#sponsorship" aria-hidden="true" tabindex="-1"><span class="header-link"></span></a></h3>
29<p>기업은 금전적인 지원 외에도 다음과 같은 방법으로 webpack을 후원할 수 있습니다.</p>
30<ul>
31<li>프로젝트에 참여하고 있지 않은 개발자를 지원해주세요.</li>
32<li>개선된 CI 및 회귀 테스트를 위해 컴퓨팅 파워에 기여합니다.</li>
33</ul>
34<p>webpack 로더, 플러그인 및 기타 유틸리티를 오픈 소싱하여 개발자가 생태계에 기여하도록 장려 할 수도 있습니다. 그리고 위에서 언급했듯이 CI/CD 인프라를 늘리는 데 도움을 주시면 감사하겠습니다.</p>
35<h3><span id="anyone-else"></span>Anyone Else<a href="#anyone-else" aria-hidden="true" tabindex="-1"><span class="header-link"></span></a></h3>
36<p>우리의 사명을 돕는 데 관심이있는 다른 분(예: 벤처 자본가, 정부 기관, 디지털 대행사 등)이 있다면, 같이 일하기를 원합니다. 최고의 npm 패키지 중 하나인 당사와 협력하여 제품을 개선해보세요! 궁금한 점이 있으면 언제든지 문의해 주세요.</p>
37<h2><span id="community"></span>Community<a href="#community" aria-hidden="true" tabindex="-1"><span class="header-link"></span></a></h2>
38<p>도움이 필요하거나, 궁금한 점이 있거나, 다른 Webpack 기여자들과 소통하고 싶으신가요?</p>
39<p>실시간 지원, 토론, 협업을 위해 <a href="https://discord.com/invite/5sxFZPdx2k">Discord 서버</a>에 가입하세요.</p>
40<h2><span id="pull-requests"></span>Pull requests<a href="#pull-requests" aria-hidden="true" tabindex="-1"><span class="header-link"></span></a></h2>
41<p>webpack이 발전함에 따라 webpack 기능 및 변경 사항에 대한 문서가 업데이트되고 있습니다. 자동화된 이슈 생성이 통합되었고 최근 몇 년 동안 효과적인 것으로 입증되었습니다.
42어떤 기능이 병합되면 문서 요청 관련 이슈가 저장소에 생성되고 ê³§ 해결될 것으로 예ìƒ
42í•©ë‹ˆë‹¤. 이는 리뷰와 릴리스를 기다리는 기능 및 변경 사항이 있음을 의미합니다. 즉 Pull Request의 작성자가 30일 이상 이를 방치하는 경우 해당 Pull Request를 오래된 것으로 표시 할 수 있습니다. 기능을 완료하는 데 필요한 작업을 인계받을 수도 있습니다.
43Pull Request 작성자가 자신이 포크한 저장소에 webpack 문서 팀의 쓰기 권한을 부여하면 우리가 브랜치에 직접 커밋하고 작업을 완료합니다. 다른 경우에는 우리 스스로 또는 커뮤니티 멤버에게 위임하여 다시 시작해야 할 수도 있습니다. 이로 인해 Pull Request가 중복될 수 있으며 정리 프로세스에서 닫힐 수 있습니다.</p></div><div class="print:hidden mt-8"><a class="text-gray-500 dark:text-gray-200 text-sm cursor-pointer font-sans hover:underline hover:text-gray-500 dark:hover:text-white transition-colors" href="https://github.com/line/webpack.kr/edit/kr/src/content/contribute/index.mdx">Edit this page</a><span class="mx-5 text-gray-500 font-semibold dark:text-gray-300">·</span><button type="button" class="text-gray-500 dark:text-gray-200 text-sm cursor-pointer font-sans hover:underline hover:text-gray-500 dark:hover:text-white transition-colors">Print this page</button></div><div class="flex py-[30px] justify-between print:hidden"><div class="ml-auto"><div class="text-right">Next »</div><a class="text-lg" href="/contribute/writers-guide/" data-discover="true">Writer&#x27;s Guide</a></div></div><div data-testid="contributors" class="print:hidden"><h2 class="!font-sans !font-normal">7<!-- --> <!-- -->Contributors</h2><div><div class="grid gap-[10px] lg:gap-[15px] grid-cols-contributors"><a href="https://github.com/rouzbeh84"><img width="45" height="45" alt="rouzbeh84" title="rouzbeh84" class="w-full rounded-full shadow" src="/icon-square-small-slack.1c7f4f7a52c41f94.png"/></a><a href="https://github.com/scottdj92"><img width="45" height="45" alt="scottdj92" title="scottdj92" class="w-full rounded-full shadow" src="/icon-square-small-slack.1c7f4f7a52c41f94.png"/></a><a href="https://github.com/harrynewsome"><img width="45" height="45" alt="harrynewsome" title="harrynewsome" class="w-full rounded-full shadow" src="/icon-square-small-slack.1c7f4f7a52c41f94.png"/></a><a href="https://github.com/dhedgecock"><img width="45" height="45" alt="dhedgecock" title="dhedgecock" class="w-full rounded-full shadow" src="/icon-square-small-slack.1c7f4f7a52c41f94.png"/></a><a href="https://github.com/tbroadley"><img width="45" height="45" alt="tbroadley" title="tbroadley" class="w-full rounded-full shadow" src="/icon-square-small-slack.1c7f4f7a52c41f94.png"/></a><a href="https://github.com/EugeneHlushko"><img width="45" height="45" alt="EugeneHlushko" title="EugeneHlushko" class="w-full rounded-full shadow" src="/icon-square-small-slack.1c7f4f7a52c41f94.png"/></a><a href="https://github.com/dkdk225"><img width="45" height="45" alt="dkdk225" title="dkdk225" class="w-full rounded-full shadow" src="/icon-square-small-slack.1c7f4f7a52c41f94.png"/></a></div></div></div><div class="translators__section"><hr/><h3>Translators</h3><div class="translators"><div class="translators__list"><a class="translator" href="https://github.com/keipark"><img alt="keipark" src="/icon-square-small-slack.1c7f4f7a52c41f94.png"/><span class="translator__name"> <!-- -->keipark</span></a></div></div></div></div></main></div></div><div class="fixed bottom-4 right-4 md:bottom-8 md:right-8 z-[999] pointer-events-none"><button class="
44          group flex items-center justify-center 
45          w-12 h-12 rounded-full cursor-pointer 
46          bg-white border-[5px] border-[#1c78c0] 
47          shadow-[0_4px_12px_rgba(0,0,0,0.15)] 
48          transition-all duration-300 ease-in-out
49          hover:bg-[#1c78c0] hover:border-[#f5f5f5] hover:shadow-[0_6px_16px_rgba(0,0,0,0.2)] hover:-translate-y-0.5 
50          active:translate-y-0 
51          dark:bg-[#f5f5f5]
52          motion-reduce:transition-none motion-reduce:hover:transform-none
53          opacity-0 translate-y-2.5 pointer-events-none
54        " aria-label="Scroll to top" title="Scroll to top" disabled=""><svg class="w-8 h-8 text-slate-800 transition-colors duration-300 ease-in-out group-hover:text-white" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="18 15 12 9 6 15"></polyline></svg></button></div><footer class="w-full flex-[0_0_auto] print:hidden"><div class="w-full max-w-screen-lg mx-auto mx-auto max-w-[900px] px-5 pb-[30px] pt-[40px] text-center [&amp;_a]:text-[var(--color-link-accessible)] [&amp;_a:hover]:text-[var(--color-link-accessible-hover)] dark:[&amp;_a]:text-[var(--color-link-accessible-dark)] dark:[&amp;_a:hover]:text-white"><div class="mb-[24px] flex justify-center"><a href="https://openjsf.org" target="_blank" rel="noopener noreferrer"><img class="h-[40px] w-auto dark:invert" src="/openjs-logo.de5f5dbf59d26318.png" alt="OpenJS Foundation Logo"/></a></div><p class="mx-auto text-[15px] leading-[1.6] text-[#333333] dark:text-[#e0e0e0]">저작권은 <a href="https://openjsf.org">OpenJS Foundation</a> 및 webpack 기여자에게 있으며, 모든 권리는 보호됩니다.<!-- --> <a href="https://openjsf.org">OpenJS Foundation</a>은 등록 상표를 보유하고 있으며 상표를 사용합니다.<!-- --> <a href="https://openjsf.org">OpenJS Foundation</a>의 상표 목록은<!-- --> <a href="https://trademark-policy.openjsf.org">Trademark Policy</a>와<!-- --> <a href="https://trademark-list.openjsf.org">Trademark List</a>에서 확인할 수 있습니다.<!-- --> <a href="https://trademark-list.openjsf.org">OpenJS Foundation 상표 목록</a>에 표시되지 않은 상표 및 로고는 각 소유자의 상표™ 또는 등록 상표®입니다. 이를 사용한다고 해서 해당 소유자와의 제휴 관계나 보증을 의미하지는 않습니다.</p><p class="mx-auto mt-[18px] text-[15px] leading-[1.6] text-[#333333] dark:text-[#e0e0e0]"><a href="https://openjsf.org">The OpenJS Foundation</a> |<!-- --> <a href="https://terms-of-use.openjsf.org">Terms of Use</a> |<!-- --> <a href="https://privacy-policy.openjsf.org">Privacy Policy</a> |<!-- --> <a href="https://bylaws.openjsf.org">Bylaws</a> |<!-- --> <a href="https://code-of-conduct.openjsf.org">Code of Conduct</a> |<!-- --> <a href="https://trademark-policy.openjsf.org">Trademark Policy</a> |<!-- --> <a href="https://trademark-list.openjsf.org">Trademark List</a> |<!-- --> <a href="https://www.linuxfoundation.org/cookies">Cookie Policy</a></p></div><div class="w-full max-w-screen-lg mx-auto flex flex-wrap justify-center gap-y-4 content-center border-t border-[#f2f2f2] px-0 py-[0.4em] md:flex-row md:justify-between"><section class="mx-auto flex max-w-full flex-[0_0_auto] flex-wrap items-center justify-center py-[0.25em] md:m-0 md:justify-start md:pl-[1.5em] md:py-0 [&amp;&gt;*:not(:last-child)]:mr-[1.5em]" aria-label="Quick links"><a class="text-[11px] uppercase text-[#777676] dark:text-[#cccccc] hover:text-[#333333] dark:hover:text-[#ffffff]" href="/guides/getting-started/" data-discover="true">Get Started</a><a class="text-[11px] uppercase text-[#777676] dark:text-[#cccccc] hover:text-[#333333] dark:hover:text-[#ffffff]" href="/comparison/" data-discover="true">Comparison</a><a href="https://privacy-policy.openjsf.org/" target="_blank" rel="noopener noreferrer" class="text-[11px] uppercase text-[#777676] dark:text-[#cccccc] hover:text-[#333333] dark:hover:text-[#ffffff]">Privacy Policy<span class="screen-reader-only">(opens in a new tab)</span></a></section><section class="hidden md:block md:flex-[0_0_auto]" aria-label="Home"><a class="inline-block h-[35px]" href="/" data-discover="true"><img class="inline-block h-full w-auto" src="/icon-square-small.9e8aff7a67a5dd20.svg" alt="webpack icon" width="35" height="35"/></a></section><section class="mx-auto flex max-w-full flex-[0_0_auto] flex-wrap items-center justify-center py-[0.25em] md:m-0 md:justify-end md:py-0 md:pr-[1.5em] [&amp;&gt;a:not(:last-child)]:mr-[1.5em]" aria-label="Resources and links"><a href="https://webpack.threadless.com/" target="_blank" rel="noopener noreferrer" class="text-[11px] uppercase text-[#777676] dark:text-[#cccccc] hover:text-[#333333] dark:hover:text-[#ffffff]">Swag Store<span class="screen-reader-only">(opens in a new tab)</span></a><a class="text-[11px] uppercase text-[#777676] dark:text-[#cccccc] hover:text-[#333333] dark:hover:text-[#ffffff]" href="/awesome-webpack/" data-discover="true">Awesome webpack</a><a class="text-[11px] uppercase text-[#777676] dark:text-[#cccccc] hover:text-[#333333] dark:hover:text-[#ffffff]" href="/glossary/" data-discover="true">Glossary</a><a class="text-[11px] uppercase text-[#777676] dark:text-[#cccccc] hover:text-[#333333] dark:hover:text-[#ffffff]" href="/branding/" data-discover="true">Branding</a><a href="https://github.com/webpack/webpack/releases" target="_blank" rel="noopener noreferrer" class="text-[11px] uppercase text-[#777676] dark:text-[#cccccc] hover:text-[#333333] dark:hover:text-[#ffffff]">
54Changelog<span class="screen-reader-only">(opens in a new tab)</span></a><a class="inline-block h-[25px] align-middle [&amp;_img]:ml-4 [&amp;_img]:inline-block [&amp;_img]:h-full [&amp;_img]:w-auto" href="/license" data-discover="true"><img alt="Creative Commons License (CC)" src="/cc.185f5779f354f6e9.svg" width="25" height="25"/><img alt="Creative Commons Attribution (CC BY)" src="/by.d2da85793ea9d7bd.svg" width="25" height="25"/></a></section></div></footer></div></div>
54<script src="/vendor.e2490c36ba7d1ca7.js"></script>
54<script src="/index.ef06d22b0e5c1391.js"></script>
54</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.