📦 I Built 3 Astro Integrations and Shipped Them to npm — Here's What They Do
I've been building with Astro for a while now, and the same pain points kept showing up across projects. I got tired of patching around them and just built integrations instead. Three packages. All...

Source: DEV Community
I've been building with Astro for a while now, and the same pain points kept showing up across projects. I got tired of patching around them and just built integrations instead. Three packages. All on npm. All open source. 🎯 What's an Astro Integration, anyway? If you've never built one — an Astro Integration is a package that hooks into Astro's build lifecycle or dev toolbar. You return a name and a hooks object, and Astro calls your callbacks at the right moments. export default function myIntegration(): AstroIntegration { return { name: 'my-integration', hooks: { 'astro:build:done': ({ pages }) => { // runs after build } } } } That's basically it. It's how @astrojs/react, Tailwind, Partytown, and most of the ecosystem slot into your config without you wiring anything up yourself. 📦 @shiftescape/astro-bundle-budget You build your site, ship it, and two weeks later someone notices a page is pulling in 400KB of JS. No warnings. No CI failure. Just a slow page and a mild sense of s