[{"data":1,"prerenderedAt":234},["ShallowReactive",2],{"term-e\u002Fesbuild":3,"related-e\u002Fesbuild":220},{"id":4,"title":5,"acronym":6,"body":7,"category":202,"description":203,"difficulty":204,"extension":205,"letter":206,"meta":207,"navigation":84,"path":208,"related":209,"seo":214,"sitemap":215,"stem":218,"subcategory":6,"__hash__":219},"terms\u002Fterms\u002Fe\u002Fesbuild.md","esbuild",null,{"type":8,"value":9,"toc":196},"minimark",[10,15,19,23,26,30,185,189,192],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"esbuild is a bundler written in Go (not JavaScript) which means it's absolutely unhinged fast — like 10-100x faster than other bundlers. Vite uses it internally to pre-bundle dependencies. It's the secret speed demon behind modern tooling.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"esbuild is an extremely fast JavaScript and TypeScript bundler and minifier written in Go. It achieves speed through parallel processing, avoiding unnecessary work, and efficient memory use. It is often used as a preprocessor or minifier inside other tools like Vite, rather than as a standalone build system.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Using esbuild's JS API\nimport * as esbuild from 'esbuild'\n\nawait esbuild.build({\n  entryPoints: ['src\u002Fapp.js'],\n  bundle: true,\n  minify: true,\n  outfile: 'dist\u002Fout.js'\n})\n","javascript","",[38,39,40,49,79,86,108,135,149,161,176],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F Using esbuild's JS API\n",[41,50,52,56,60,63,67,70,73,76],{"class":43,"line":51},2,[41,53,55],{"class":54},"s7zQu","import",[41,57,59],{"class":58},"sMK4o"," *",[41,61,62],{"class":54}," as",[41,64,66],{"class":65},"sTEyZ"," esbuild ",[41,68,69],{"class":54},"from",[41,71,72],{"class":58}," '",[41,74,5],{"class":75},"sfazB",[41,77,78],{"class":58},"'\n",[41,80,82],{"class":43,"line":81},3,[41,83,85],{"emptyLinePlaceholder":84},true,"\n",[41,87,89,92,95,98,102,105],{"class":43,"line":88},4,[41,90,91],{"class":54},"await",[41,93,94],{"class":65}," esbuild",[41,96,97],{"class":58},".",[41,99,101],{"class":100},"s2Zo4","build",[41,103,104],{"class":65},"(",[41,106,107],{"class":58},"{\n",[41,109,111,115,118,121,124,127,129,132],{"class":43,"line":110},5,[41,112,114],{"class":113},"swJcz","  entryPoints",[41,116,117],{"class":58},":",[41,119,120],{"class":65}," [",[41,122,123],{"class":58},"'",[41,125,126],{"class":75},"src\u002Fapp.js",[41,128,123],{"class":58},[41,130,131],{"class":65},"]",[41,133,134],{"class":58},",\n",[41,136,138,141,143,147],{"class":43,"line":137},6,[41,139,140],{"class":113},"  bundle",[41,142,117],{"class":58},[41,144,146],{"class":145},"sfNiH"," true",[41,148,134],{"class":58},[41,150,152,155,157,159],{"class":43,"line":151},7,[41,153,154],{"class":113},"  minify",[41,156,117],{"class":58},[41,158,146],{"class":145},[41,160,134],{"class":58},[41,162,164,167,169,171,174],{"class":43,"line":163},8,[41,165,166],{"class":113},"  outfile",[41,168,117],{"class":58},[41,170,72],{"class":58},[41,172,173],{"class":75},"dist\u002Fout.js",[41,175,78],{"class":58},[41,177,179,182],{"class":43,"line":178},9,[41,180,181],{"class":58},"}",[41,183,184],{"class":65},")\n",[11,186,188],{"id":187},"when-youll-hear-this","When You'll Hear This",[16,190,191],{},"esbuild finishes in 80ms what Webpack takes 8 seconds to do.,Vite uses esbuild to pre-bundle node_modules.,We switched the minification step to esbuild and shaved 40s off CI.",[193,194,195],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":197},[198,199,200,201],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":187,"depth":51,"text":188},"frontend","esbuild is a bundler written in Go (not JavaScript) which means it's absolutely unhinged fast — like 10-100x faster than other bundlers.","intermediate","md","e",{},"\u002Fterms\u002Fe\u002Fesbuild",[210,211,212,213],"Bundler","Vite","Minify","Rollup",{"title":5,"description":203},{"changefreq":216,"priority":217},"weekly",0.7,"terms\u002Fe\u002Fesbuild","S3eIqGSGsFytzb3VfV1HS3DNuCCtqYzOCUHswonuOSY",[221,225,228,231],{"title":210,"path":222,"acronym":6,"category":202,"difficulty":223,"description":224},"\u002Fterms\u002Fb\u002Fbundler","beginner","A bundler is the robot that smashes all your separate JavaScript files, CSS, images, and random imports into one (or a few) neat packages that the browser...",{"title":212,"path":226,"acronym":6,"category":202,"difficulty":223,"description":227},"\u002Fterms\u002Fm\u002Fminify","Minification is when your code goes on a diet.",{"title":213,"path":229,"acronym":6,"category":202,"difficulty":204,"description":230},"\u002Fterms\u002Fr\u002Frollup","Rollup is the bundler you use when you're building a library rather than an app.",{"title":211,"path":232,"acronym":6,"category":202,"difficulty":223,"description":233},"\u002Fterms\u002Fv\u002Fvite","Vite is what happens when someone got sick of waiting 30 seconds for Webpack to start.",1776518278482]