Generated from the notebook run on data through 2026-06-21. Every number below is reproducible from
notebooks/angular_popularity_analysis.ipynb. Read the caveats at the bottom before quoting any figure.
Angular's absolute npm downloads kept growing (≈6.2M/week now), but its share of the
Angular/React/Vue/Svelte cohort eroded steadily — from 15.2% (Jan 2020) → 12.4% (Nov 2022) → 3.5%
(Jun 2026) — while React's share rose from 68.9% → 85.7%. Crucially, that erosion is a secular,
AI-era trend, not something any single architectural release reversed or caused: the
synthetic-control placebo (a date with no release) shows the same ~−11% underperformance as the real
release dates, and ruptures finds Angular's structural breaks in 2016–2020, none near the
standalone/signals/zoneless releases. The "renaissance" is real in developer sentiment (State of JS
retention 42→54) but invisible in download share. The dominant force is the AI era, which
structurally favors React — and Angular is the least AI-represented of the four frameworks.
| Jan 2020 | Nov 2022 (AI start) | Jun 2026 | |
|---|---|---|---|
| Angular cohort share | 15.2% | 12.4% | 3.5% |
| React cohort share | 68.9% | 70.9% | 85.7% |
Current weekly downloads: React 149.9M · Vue 14.0M · Angular 6.2M · Svelte 4.8M.
Share-of-cohort CAGR by era (the "who is winning" growth rate, %):
| Pre-AI growth (2020→2022) | AI era (2022→2026) | |
|---|---|---|
| Angular | −27.4 | −13.8 |
| React | −22.3 | +32.0 |
| Vue | −27.3 | +3.7 |
| Svelte | +362 | −57 (small-base noise) |
Angular grew in absolute terms but lost more than two-thirds of its cohort share since 2020; React absorbed essentially all net ecosystem growth in the AI era.
Interrupted time series (Angular logit-share, local window, HAC errors) — trend_change = growth-rate shift:
| Release | trend_change | p | verdict |
|---|---|---|---|
| v14/v15 Standalone | ≈0 / +0.004 | 0.99 / 0.14 | no significant change |
| v16/v17 Signals core | +0.004 / −0.000 | 0.035 / 0.82 | no consistent change |
| v18→v21 (defer→zoneless) | −0.005 → −0.019 | <0.001 | significant deceleration |
CausalImpact / BSTS (Angular vs "rest of cohort" composite control, log levels, 6-wk washout; relative effect = Angular vs its counterfactual). The pre-fit correlation says whether to trust each:
| Event | pre-fit corr | relative effect | trust |
|---|---|---|---|
| v15 Standalone stable (2022-11) | 0.77 | −7.9% | reliable |
| PLACEBO (2021-06, no event) | 0.99 | −11.9% | reliable |
| v17 Signals/rebrand (2023-11) | 0.32 | +20.0% | discard — Angular decoupled |
| v21 Zoneless default (2025-11) | 0.38 | −44.0% | discard — Angular decoupled |
Two readings, both pointing the same way:
- Where the counterfactual is reliable (placebo & v15), Angular underperforms its control by ~8–12% regardless of whether a release happened → the underperformance is secular, not release-triggered. No release produced a detectable positive break.
- From v17 on, the control stops tracking Angular (pre-fit corr collapses to ~0.3) — i.e. Angular decoupled from the rest of the cohort in the AI era. That decoupling is itself the finding; the raw v17/v21 effect sizes are not trustworthy and are reported only to show the breakdown.
Change-points (ruptures PELT, penalty sweep): 2016-10, 2018-04, 2020-03/2020-10 — Angular's early
growth and its plateau. None land near the modern releases or even at the 2022 AI inflection in the
deseasonalized Angular series itself; the AI-era effect shows up in share (relative to React), not in
Angular's own break structure.
AI-SDK adapter adoption relative to framework size (@ai-sdk/* ÷ framework core, last 8wk):
| Svelte | Vue | React | Angular |
|---|---|---|---|
| 8.28% | 5.83% | 4.07% | 0.19% |
Angular is ~20–40× under-represented in the AI tooling ecosystem relative to its own download base —
and @ai-sdk/angular only shipped July 2025. Web-Bench LLM pass-rates corroborate the codegen skew:
React 65% · Angular 40% · Vue 30% · Svelte 25% (ByteDance, arXiv:2505.07473), attributed to React's
training-corpus volume and Angular's multi-file grammar.
AI-ramp sensitivity of each framework's share growth was statistically noisy (all p>0.17), i.e. the AI shock is largely common-mode in the share series — consistent with React's advantage operating through the level of new-project generation rather than a clean differential slope we can isolate.
- GitHub stars (now): React 246k · Angular 100k · Svelte 87k · Vue-core 54k. Stars (a lagging, monotonic metric) keep Angular #2, unlike download share — the gap between "accumulated mindshare" and "current flow."
- State of JS retention: Angular bottomed at ~42% (2023, when Svelte overtook it) and rebounded to ~54% (2024) — the "renaissance" is real in sentiment. But it remained the lowest of the four, and the rebound does not appear in download share.
- Stack Overflow usage: React ~40–45%, Angular steady ~17–18%, Vue ~15–18%, Svelte rising 3→7%.
- Downloads ≠ adoption ≠ developers. npm counts are dominated by CI/CD/mirrors; no bot filtering.
- React's share is inflated by React Native + transitive
next/react-dompulls, so 85.7% overstates "React the web framework." The cohort denominator is React-dominated; trajectory direction is robust, absolute share levels are not. - Observational, not causal. The v16–v17 release cluster is inseparable from the AI inflection by timing alone; CausalImpact reduces but does not remove confounding (placebo confirms residual secular drift).
- No AI-free counterfactual — only cross-framework differences are identified, never the absolute AI effect.
- Survey/Web-Bench values are curated snapshots, not live pulls; GitHub star history is low-resolution (unauthenticated). Multiple-comparison risk across releases × normalizations × methods is real — treat the CausalImpact backbone + placebo as the primary read and the rest as robustness.