1<!DOCTYPE html><html lang=en><meta name=viewport content="width=device-width, initial-scale=1.0"><meta name=description content><title> 2 3 </title><link href=https://parceljs.org/feed.xml rel=alternate type=application/rss+xml title="Blog RSS"><link rel="icon shortcut" href=https://parceljs.org/favicon.fe6f9d11.ico><link href=https://parceljs.org/404.c94c14d3.css rel=stylesheet>
3<script>let rootEl=document.querySelector("html");function updateMode(e){e?rootEl.classList.add("dark"):rootEl.classList.remove("dark")}let query=matchMedia&&matchMedia("(prefers-color-scheme: dark)"),isSystemDarkMode=query&&query.matches;query&&query.addListener(e=>{delete sessionStorage.isDarkMode,updateMode(e.matches)});let isDarkMode=JSON.parse(sessionStorage.getItem("isDarkMode"));null==isDarkMode&&(isDarkMode=isSystemDarkMode),updateMode(isDarkMode);</script>
3<link rel=preload as=style onload="this.onload=null;this.rel='stylesheet'" href=https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css>
3<script defer src=https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js></script>
3<script type=module src=https://parceljs.org/404.7afb6bce.js></script>
3<meta name=twitter:card content=summary><meta name=twitter:image content=https://parceljs.org/assets/og.png><meta name=twitter:site content=@parceljs><meta name=twitter:creator content=@parceljs><meta property=og:type content=website><meta property=og:locale content=en_US><meta property=og:url content=/blog/><meta property=og:title content><meta property=og:description content><meta property=og:image content=https://parceljs.org/assets/og.png>
vendor: 63 bytes, line 3
3<script async src="https://www.googletagmanager.com/gtag/js?id=
3UA-110647385-1
vendor: 11 bytes, line 3
3"></script>
3<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","UA-110647385-1");</script>
3<body class=blog> 4 <header class=parcel-docs-header> 5 <div class=left> 6 <button class=hamburger-button aria-label="Open navigation panel" aria-pressed=false> 7 <svg xmlns:xmlns=http://www.w3.org/2000/svg fill=none viewBox="0 0 24 24" stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M4 6h16M4 12h16M4 18h16"/></svg> 8 </button> 9 <a class=logo href=/> 10 <img class=parcel src=https://parceljs.org/parcel.fb905a63.png srcset="https://parceljs.org/[email protected] 2x" width=38 height=30 alt> 11 <img class=parcel-text src=https://parceljs.org/logo.0ac15b45.svg alt=Parcel width=120 height=25> 12 </a> 13 </div> 14 <nav class=section-picker> 15 <a href=/docs/>Docs</a> 16 <a class=selected href=/blog/v2-15-0/>Blog</a> 17 <a href=https://repl.parceljs.org/>REPL</a> 18 </nav> 19 <div class=search-container> 20 <svg aria-hidden=true fill=none viewBox="0 0 24 24" stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/></svg> 21 <input id=search-input aria-label=Search placeholder=Search...> 22 </div> 23 <div class=social-links> 24 <a href=https://github.com/parcel-bundler/parcel aria-label=GitHub> 25 <svg aria-hidden=true viewBox="0 0 20 20"><title>GitHub</title><path d="M10 0a10 10 0 0 0-3.16 19.49c.5.1.68-.22.68-.48l-.01-1.7c-2.78.6-3.37-1.34-3.37-1.34-.46-1.16-1.11-1.47-1.11-1.47-.9-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.9 1.52 2.34 1.08 2.91.83.1-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.94 0-1.1.39-1.99 1.03-2.69a3.6 3.6 0 0 1 .1-2.64s.84-.27 2.75 1.02a9.58 9.58 0 0 1 5 0c1.91-1.3 2.75-1.02 2.75-1.02.55 1.37.2 2.4.1 2.64.64.7 1.03 1.6 1.03 2.69 0 3.84-2.34 4.68-4.57 4.93.36.31.68.92.68 1.85l-.01 2.75c0 .26.18.58.69.48A10 10 0 0 0 10 0"/></svg> 26 </a> 27 <button id=color-scheme-toggle title="Toggle color scheme"> 28 <svg aria-hidden=true viewBox="0 0 100 100"><mask id=color-scheme-toggle-mask><rect x=0 y=0 width=100 height=100 fill=white /><circle cx=70 cy=40 r=30 fill=black class=small-circle /></mask><circle cx=50 cy=50 r=45 stroke=currentColor stroke-width=8 stroke-dasharray="4 31" stroke-linecap=round fill=transparent class=sun-rays /><circle cx=50 cy=50 r=45 fill=currentColor mask=url(#color-scheme-toggle-mask) class=big-circle /></svg> 29</button> 30 31 </div> 32 </header> 33 <nav class=docs-navigation> 34 35 <ul> 36 37 <li> 38 <a href=/blog/v2-15-0/>Parcel v2.15.0</a> 39 </li> 40 <li> 41 <a href=/blog/v2-14-0/>Parcel v2.14.0</a> 42 </li> 43 <li> 44 <a href=/blog/v2-12-0/>Parcel v2.12.0</a> 45 </li> 46 <li> 47 <a href=/blog/v2-9-0/>Parcel v2.9.0</a> 48 </li> 49 <li> 50 <a href=/blog/v2-8-0/>Parcel v2.8.0</a> 51 </li> 52 <li> 53 <a href=/blog/v2-6-0/>Parcel v2.6.0</a> 54 </li> 55 <li> 56 <a href=/blog/v2-4-0/>Parcel v2.4.0</a> 57 </li> 58 <li> 59 <a href=/blog/parcel-css/>Announcing Parcel CSS</a> 60 </li> 61 <li> 62 <a href=/blog/v2/>Announcing Parcel v2!</a> 63 </li> 64 <li> 65 <a href=/blog/rc0/>Parcel 2 RC</a> 66 </li> 67 <li> 68 <a href=/blog/beta3/>Parcel 2 beta 3</a> 69 </li> 70 <li> 71 <a href=/blog/beta1/>Parcel 2 beta 1</a> 72 </li> 73 <li> 74 <a href=/blog/alpha1/>Parcel 2 alpha 1 is here!</a> 75 </li> 76 </ul> 77 78 </nav> 79
79<script type=module>let e="nav-scrollTop",o=document.querySelector(".docs-navigation"),s=sessionStorage.getItem(e);null!=s&&(o.scrollTop=Number(s)),window.addEventListener("pagehide",()=>{sessionStorage.setItem(e,o.scrollTop)});</script>
79 80 <main class=main-content> 81 <article> 82 <header> 83 <h1> 84 85 </h1> 86 <p class=summary> 87 <span></span> 88 89 </p> 90 </header> 91 92 <meta http-equiv=refresh content="0; URL='/blog/v2-15-0/'"> 93 94 95 96 </article> 97 98 </main> 99 100
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.