Cada critério abaixo impede a publicação quando uma meta de tamanho, velocidade ou acessibilidade não é atingida. Todos os números deste site vêm de um deles.
npmruncheck:layout-reads# banned geometry reads in packagesnpmrunchecks# format, lint, typecheck, unit testsnpxplaywrighttest--config=e2e/playwright-performance.config.tsnpmrunbench# Radix comparison (local, not CI)
Os componentes Tier 0 também precisam passar na suíte sem JavaScript (npm run test:no-js). Veja os tiers
Acessibilidade
axe-core — zero violações no Playwright em Chromium, Firefox e WebKit, nas rotas de teste com estilos e em todas as páginas públicas da documentação.
Gerado por npm run bench na raiz do repositório. Os mesmos scripts de interação controlam os dois hosts; os números absolutos são apenas medições de laboratório.
Performance Benchmark: uiify/components vs Radix UI
Methodology
Hardware: Apple M4 · darwin 25.5.0 · 16.0 GB RAM
Node: v24.18.0
uiify version: 0.0.0
Radix version: 2.3.7
Date: 2026-09-11
Warmup: 5 iterations (discarded)
Recorded: 50 iterations per metric
Trim: top/bottom 5%
Statistics: mean, stddev (median in results/*.json)
Hosts: uiify via apps/site/components/[slug]/test?profiler=true&controls=false (Next.js prod build); Radix via
benchmarks/app (Vite prod build, vite preview)
Headed Chromium, workers: 1, CPU throttle = 1 (raw rendering)
Results
React Commit Duration (ms) — lower is better
Component
uiify mean ± σ
Radix mean ± σ
Δ (uiify vs Radix)
select
0.00 ± 0.00
0.00 ± 0.00
—
Interaction FPS (fps) — higher is better
Component
uiify mean ± σ
Radix mean ± σ
Δ (uiify vs Radix)
select
59.62 ± 4.12
59.64 ± 2.92
-0.0%
Forced Style/Layout (ms) — lower is better
Component
uiify mean ± σ
Radix mean ± σ
Δ (uiify vs Radix)
select
0.00 ± 0.00
0.15 ± 0.03
-100.0%
Heap After GC (MB) — lower is better
Component
uiify mean ± σ
Radix mean ± σ
Δ (uiify vs Radix)
select
13.62 ± 3.10
11.43 ± 3.10
+19.2%
Bundle Size (kB, gzipped)
Component
uiify
Radix
select
0.05
33.91
Notes
All measurements on headed Chrome (full GPU pipeline).
Variance reflects OS scheduler, GC, and browser internals.
The two hosts differ (Next.js SSR+hydration vs a standalone client app); both
are production builds driven by the same harness and BenchProfiler, but absolute numbers are lab-only and field behavior may differ.
Forced style/layout is measured in ms via the e2e CDP trace pipeline