@@ -4,6 +4,7 @@ import BackLink from '../../components/BackLink.astro'
44import DevTimeChart from ' ../../components/DevTimeChart.astro'
55import MethodologyTag from ' ../../components/MethodologyTag.astro'
66import PageHeader from ' ../../components/PageHeader.astro'
7+ import SPAStatsMethodologyNotes from ' ../../components/SPAStatsMethodologyNotes.astro'
78import SSRStatsMethodologyNotes from ' ../../components/SSRStatsMethodologyNotes.astro'
89import StatsTable from ' ../../components/StatsTable.astro'
910import Layout from ' ../../layouts/Layout.astro'
@@ -164,6 +165,24 @@ const ssrData = [
164165 ]
165166 : []),
166167]
168+
169+ const spaColumns = [
170+ { key: ' name' , header: ' Framework' , nameCell: true },
171+ { key: ' spaFirstPaintMs' , header: ' First Paint' },
172+ { key: ' spaFCPMs' , header: ' FCP' },
173+ { key: ' spaINPMs' , header: ' INP' },
174+ ]
175+
176+ const spaData = runtime
177+ ? [
178+ {
179+ name: runtime .name ,
180+ spaFirstPaintMs: ` ${runtime .spaFirstPaintMs }ms ` ,
181+ spaFCPMs: ` ${runtime .spaFCPMs }ms ` ,
182+ spaINPMs: ` ${runtime .spaINPMs }ms ` ,
183+ },
184+ ]
185+ : []
167186---
168187
169188<Layout title ={ ` ${devtime .name } — Framework Tracker ` } >
@@ -303,6 +322,17 @@ const ssrData = [
303322 data = { ssrData }
304323 />
305324 <SSRStatsMethodologyNotes />
325+ <h3 >SPA Performance</h3 >
326+ <MethodologyTag >
327+ Measured on GitHub Actions (ubuntu-latest, Node 24) using Lighthouse
328+ flow with Chromium.
329+ </MethodologyTag >
330+ <StatsTable
331+ label = " SPA performance"
332+ columns = { spaColumns }
333+ data = { spaData }
334+ />
335+ <SPAStatsMethodologyNotes />
306336 </>
307337 )
308338 }
0 commit comments