{ "budgets": [ { "name": "lcp", "maxValue": 2500, "description": "Largest Contentful Paint should be under 2.5s" }, { "name": "inp", "maxValue": 200, "description": "Interaction to Next Paint should be under 200ms" }, { "name": "cls", "maxValue": 0.1, "description": "Cumulative Layout Shift should be under 0.1" }, { "name": "fcp", "maxValue": 1800, "description": "First Contentful Paint should be under 1.8s" }, { "name": "ttfb", "maxValue": 800, "description": "Time to First Byte should be under 800ms" }, { "name": "bundle-size", "maxSizeKB": 500, "description": "Individual bundle size should be under 500KB" }, { "name": "total-size", "maxSizeKB": 2000, "description": "Total bundle size should be under 2MB" } ], "performance": { "budgets": [ { "path": "/*", "timings": [ { "metric": "first-contentful-paint", "budget": 2000 }, { "metric": "largest-contentful-paint", "budget": 2500 }, { "metric": "first-meaningful-paint", "budget": 2000 }, { "metric": "speed-index", "budget": 3000 }, { "metric": "interactive", "budget": 3000 }, { "metric": "total-blocking-time", "budget": 300 }, { "metric": "cumulative-layout-shift", "budget": 0.1 }, { "metric": "interaction-to-next-paint", "budget": 200 } ], "resourceSizes": [ { "resourceType": "script", "budget": 300 }, { "resourceType": "total", "budget": 500 }, { "resourceType": "image", "budget": 100 }, { "resourceType": "stylesheet", "budget": 50 }, { "resourceType": "font", "budget": 50 } ], "resourceCounts": [ { "resourceType": "script", "budget": 10 }, { "resourceType": "total", "budget": 50 }, { "resourceType": "image", "budget": 20 }, { "resourceType": "stylesheet", "budget": 5 }, { "resourceType": "font", "budget": 5 } ] } ] }, "timing": { "budgets": [ { "path": "/*", "timings": [ { "metric": "first-contentful-paint", "budget": 2000 }, { "metric": "largest-contentful-paint", "budget": 2500 }, { "metric": "first-meaningful-paint", "budget": 2000 }, { "metric": "speed-index", "budget": 3000 }, { "metric": "interactive", "budget": 3000 }, { "metric": "total-blocking-time", "budget": 300 }, { "metric": "cumulative-layout-shift", "budget": 0.1 }, { "metric": "interaction-to-next-paint", "budget": 200 } ] } ] }, "resourceSizes": { "budgets": [ { "path": "/*", "resourceSizes": [ { "resourceType": "script", "budget": 300 }, { "resourceType": "total", "budget": 500 }, { "resourceType": "image", "budget": 100 }, { "resourceType": "stylesheet", "budget": 50 }, { "resourceType": "font", "budget": 50 } ] } ] }, "resourceCounts": { "budgets": [ { "path": "/*", "resourceCounts": [ { "resourceType": "script", "budget": 10 }, { "resourceType": "total", "budget": 50 }, { "resourceType": "image", "budget": 20 }, { "resourceType": "stylesheet", "budget": 5 }, { "resourceType": "font", "budget": 5 } ] }, { "path": "/blog", "timings": [ { "metric": "first-contentful-paint", "budget": 2000 }, { "metric": "largest-contentful-paint", "budget": 2500 }, { "metric": "first-meaningful-paint", "budget": 2000 }, { "metric": "speed-index", "budget": 3000 }, { "metric": "interactive", "budget": 3000 }, { "metric": "total-blocking-time", "budget": 300 }, { "metric": "cumulative-layout-shift", "budget": 0.1 }, { "metric": "interaction-to-next-paint", "budget": 200 } ], "resourceSizes": [ { "resourceType": "script", "budget": 300 }, { "resourceType": "total", "budget": 500 }, { "resourceType": "image", "budget": 100 }, { "resourceType": "stylesheet", "budget": 50 }, { "resourceType": "font", "budget": 50 } ], "resourceCounts": [ { "resourceType": "script", "budget": 10 }, { "resourceType": "total", "budget": 50 }, { "resourceType": "image", "budget": 20 }, { "resourceType": "stylesheet", "budget": 5 }, { "resourceType": "font", "budget": 5 } ] }, { "path": "/blog/*", "timings": [ { "metric": "first-contentful-paint", "budget": 2000 }, { "metric": "largest-contentful-paint", "budget": 2500 }, { "metric": "first-meaningful-paint", "budget": 2000 }, { "metric": "speed-index", "budget": 3000 }, { "metric": "interactive", "budget": 3000 }, { "metric": "total-blocking-time", "budget": 300 }, { "metric": "cumulative-layout-shift", "budget": 0.1 }, { "metric": "interaction-to-next-paint", "budget": 200 } ], "resourceSizes": [ { "resourceType": "script", "budget": 300 }, { "resourceType": "total", "budget": 500 }, { "resourceType": "image", "budget": 100 }, { "resourceType": "stylesheet", "budget": 50 }, { "resourceType": "font", "budget": 50 } ], "resourceCounts": [ { "resourceType": "script", "budget": 10 }, { "resourceType": "total", "budget": 50 }, { "resourceType": "image", "budget": 20 }, { "resourceType": "stylesheet", "budget": 5 }, { "resourceType": "font", "budget": 5 } ] } ] } }