⚡ Bundler
Keep your Mac awake while esbuild bundles
esbuild is famously fast, but a large production bundle with minification and source maps, or a long watch session, can still keep the CPU busy. AwakeMate keeps your Mac awake while it runs.
Free 14-day trial · one-time $39.99 · no telemetry · macOS 13+
When your Mac sleeps mid-esbuild
A production esbuild over a big front-end - bundling every module, minifying and writing source maps - runs hard for a stretch with no input devices touched. On a slow CI step or a sizeable monorepo build, macOS can sleep mid-bundle and leave you with a partial or corrupt output that the next deploy step then chokes on.
AwakeMate keeps it awake while esbuild runs
AwakeMate recognises esbuild by its native binary's process name, esbuild, which is the standalone Go binary the JavaScript API spawns to do the actual work. It reads only that short name on-device, so your bundle config never leaves the Mac.
Detected process: esbuild
Tip: turn on "Sleep when tools go idle"
esbuild bundles in a short, intense CPU burst. With idle-sleep on, AwakeMate keeps the Mac awake while the esbuild binary is working and lets it sleep the instant the bundle is written - which suits one-off production builds that finish in seconds.
Get the most out of it
- Running esbuild in watch mode for a long session? Idle-sleep keeps the Mac awake during each rebuild and lets it rest between saves.
- If you drive esbuild through a wrapped dev server, keep an eye on whether the long-running process is the server or the esbuild binary, and add whichever you want to hold the Mac awake.
More questions about esbuildtap to expand
esbuild is so fast - is keep-awake even useful?
For a tiny bundle, rarely. But large production builds, monorepo bundles and CI steps can still outlast a short sleep timer, and idle-sleep adds no cost when builds finish quickly.
I run esbuild from a Node script. Does it still detect it?
Yes. The JavaScript API spawns the standalone esbuild binary to do the work, and that's the process AwakeMate watches - so it's recognised even when launched from Node.
Does it send any data anywhere?
No. AwakeMate has no telemetry and reads only short process names locally to decide when to stay awake.
What's the best way to keep my Mac awake during a long esbuild bundle?
Add the esbuild process to AwakeMate and it keeps the Mac awake automatically whenever the bundler's native binary is working, even when launched from a Node script. With idle-sleep on it holds the Mac through a big production bundle and then lets it sleep the instant the output is written.
Can't I just run my build with caffeinate instead?
You can wrap the command in caffeinate -i, but it is manual and all-or-nothing: you have to remember it on every build, it holds the Mac awake for everything until the process exits, and there's no idle-aware sleep or notch status. AwakeMate applies the same IOKit assertion automatically and lets the Mac sleep the moment the bundle is done.
Why does my Mac sleep during a large monorepo or CI bundle?
A big production bundle with minification and source maps runs the CPU hard but never touches input devices, so macOS reads the quiet as idle and sleeps mid-bundle - which can leave a partial output. AwakeMate blocks idle sleep while the esbuild binary is running, without changing any of your saved energy settings.
Will it keep my Mac awake for esbuild with the lid closed, even on battery?
Yes. Turn on "Keep awake with the lid closed" in Settings - Options and approve the one-time helper; AwakeMate then keeps the Mac awake with the lid shut while esbuild runs, and dims the built-in screen so it is not draining the battery under the lid. It works on most Apple Silicon Macs (Apple forces sleep on some, so close your lid once to confirm). It works on battery too, but real work drains it faster, so keep it on power for long runs. See how it works.