extro

Building for Production

Produce the shippable extension bundle.

Terminal
pnpm build

extro build writes a complete, minified extension to output/chrome-mv3-prod/:

manifest.json
popup.html
popup.js
background.js
content.js

The directory is self-contained: generated manifest, HTML shells, deterministic entry bundles, hashed shared chunks, icons, and your public/ files.

What's different from dev

The production bundle has no dev bridge, no relaxed content security policy, no extra permissions, and no dev server references. Everything is bundled and loads from the extension itself. If a surface exists only because of dev (the forced background worker), it is absent in prod.

Verifying the bundle

Load output/chrome-mv3-prod/ unpacked in chrome://extensions, exactly like the dev bundle. Because dev and prod live in separate directories, you can keep both loaded side by side; give them distinct names via transformManifest if that gets confusing.

Good to know

The prod directory is what you'd package for the Chrome Web Store. Store packaging and submission tooling isn't part of Extro yet; for now, zip the directory contents yourself when you're ready to submit.

That's the end of the Guide. From here, the reference has every API in lookup form:

On this page