From the same people who make Analog comes a package nobody talks about: @analogjs/astro-angular. Its description is one line — “use Angular components within Astro” — and it hides an idea that fits the kind of sites we build.
What an island is
Astro is a framework for fast, content-focused sites. It generates static output by default and lets you drop in dynamic components — islands — that hydrate on their own. The rest of the page arrives as HTML and stays that way.
What this package adds is that those islands can be Angular components. Not a whole Angular app: the individual components that genuinely need behaviour.
How to install it
With Astro's own CLI:
npx astro add @analogjs/astro-angular
That installs the package, adds it to astro.config.mjs and pulls in what is needed to render Angular on the server and the client. You also create a tsconfig.app.json at the project root, which is what the integration compiles against.
The current version is 2.7.5, from 25 September, and it accepts Angular 20 or 22. The package is not new: it has been around since August 2022.
What just changed
The Analog 2.8 betas add content projection for island components. That is, being able to pass content into an Angular component from Astro rather than only passing properties.
When we would use it
Our opinion. A good share of what we are asked for is a content site with two or three live pieces: a search box, a form, a map. Building that as a full application makes every visitor pay for interactivity almost none of them use.
The honest catch: choosing this is choosing Astro, not Analog. They are two different paths from the same team, and the decision comes before the first line of code. If a site is mostly content, Astro with Angular islands deserves a place on the table; if it will grow into an application, it does not.
Sources
The package on npm (2.7.5, 25 September 2026)
