Skip to content
svelte-vitals
English
Esc
navigateopen⌘Jpreview

Performance

Every Performance rule svelte-vitals runs.

Images, render-blocking assets, imports, and load waterfalls: what makes a route slow.

Rule Severity Summary
performance/font-preload-crossorigin 🟡 warning A font preload must set crossorigin so the preloaded file is actually used.
performance/image-dimensions 🟡 warning Every <img> should have explicit width and height attributes.
performance/lcp-image 🟡 warning The first (likely LCP) image should not be lazy-loaded.
performance/load-waterfall 🟡 warning Dependent sequential awaits in a universal load cost a network round trip from the browser per hop.
performance/minify-disabled 🟡 warning A build.minify left in vite.config ships unminified JS/CSS to production.
performance/preload-missing-as 🟡 warning Every <link rel=“preload”> should declare an as attribute.
performance/render-blocking-script 🟡 warning A head <script src> should not block parsing.
performance/heavy-import 🔵 info Avoid importing large, non-tree-shakeable packages.
performance/iframe-loading 🔵 info An offscreen iframe eagerly loads an entire third-party document of scripts, fonts and media, usually costing more than an offscreen image; loading=“lazy” defers it.
performance/image-loading-hint 🔵 info Every <img> should have an explicit loading attribute.
performance/namespace-import 🔵 info Prefer named imports over import * as for tree-shaking.
performance/preconnect 🔵 info Preconnect to third-party origins used by the page.
performance/responsive-image 🔵 info Large images should provide a srcset.
performance/sequential-awaits 🔵 info Awaits that don’t use each other’s results still run one after another; start them together.
performance/state-raw 🔵 info Object/array $state that is only ever reassigned pays for deep reactivity it never uses; $state.raw skips the proxy.

See Configuration to change a rule’s severity or turn it off.