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.