-
Notifications
You must be signed in to change notification settings - Fork 29.9k
Make lazy-loading the default for next/image #18123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make lazy-loading the default for next/image #18123
Conversation
Failing test suitesCommit: ef79ffc test/integration/image-component/basic/test/index.test.js
Expand output● Image Component Tests › SSR Image Component Tests › should support the unoptimized attribute ● Image Component Tests › Client-side Image Component Tests › should support the unoptimized attribute test/integration/image-component/default/test/index.test.js
Expand output● Image Component Tests › dev mode › should load the images ● Image Component Tests › server mode › should load the images ● Image Component Tests › serverless mode › should load the images |
Stats from current PRDefault Server Mode (Increase detected
|
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| buildDuration | 12.4s | 12.3s | -124ms |
| nodeModulesSize | 91.2 MB | 91.2 MB |
Page Load Tests Overall increase ✓
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 2.45 | 2.375 | -0.08 |
| / avg req/sec | 1020.2 | 1052.81 | +32.61 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.331 | 1.314 | -0.02 |
| /error-in-render avg req/sec | 1878.23 | 1902.31 | +24.08 |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| 677f882d2ed8..35e7.js gzip | 11.1 kB | 11.1 kB | ✓ |
| framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
| main-23d7afb..be6f.js gzip | 7.34 kB | 7.34 kB | ✓ |
| webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
| Overall change | 58.1 kB | 58.1 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| 677f882d2ed8..dule.js gzip | 6.94 kB | 6.94 kB | ✓ |
| framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
| main-ccae7c3..dule.js gzip | 6.32 kB | 6.32 kB | ✓ |
| webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
| Overall change | 53 kB | 53 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _app-9a0b9e1..b37e.js gzip | 1.28 kB | 1.28 kB | ✓ |
| _error-ed1b0..8fbd.js gzip | 3.44 kB | 3.44 kB | ✓ |
| hooks-89731c..c609.js gzip | 887 B | 887 B | ✓ |
| index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
| link-89ad9e7..25bb.js gzip | 1.34 kB | 1.34 kB | ✓ |
| routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
| withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
| Overall change | 7.74 kB | 7.74 kB | ✓ |
Client Pages Modern
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
| _error-4469a..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
| hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
| index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
| link-aeb707b..dule.js gzip | 1.29 kB | 1.29 kB | ✓ |
| routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
| withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
| Overall change | 5.39 kB | 5.39 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 322 B | 322 B | ✓ |
| _buildManife..dule.js gzip | 329 B | 329 B | ✓ |
| Overall change | 651 B | 651 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| index.html gzip | 1 kB | 1 kB | ✓ |
| link.html gzip | 1.01 kB | 1.01 kB | ✓ |
| withRouter.html gzip | 994 B | 994 B | ✓ |
| Overall change | 3.01 kB | 3.01 kB | ✓ |
Serverless Mode
General Overall increase ⚠️
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| buildDuration | 14.2s | 13.8s | -403ms |
| nodeModulesSize | 91.2 MB | 91.2 MB |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| 677f882d2ed8..35e7.js gzip | 11.1 kB | 11.1 kB | ✓ |
| framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
| main-23d7afb..be6f.js gzip | 7.34 kB | 7.34 kB | ✓ |
| webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
| Overall change | 58.1 kB | 58.1 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| 677f882d2ed8..dule.js gzip | 6.94 kB | 6.94 kB | ✓ |
| framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
| main-ccae7c3..dule.js gzip | 6.32 kB | 6.32 kB | ✓ |
| webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
| Overall change | 53 kB | 53 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _app-9a0b9e1..b37e.js gzip | 1.28 kB | 1.28 kB | ✓ |
| _error-ed1b0..8fbd.js gzip | 3.44 kB | 3.44 kB | ✓ |
| hooks-89731c..c609.js gzip | 887 B | 887 B | ✓ |
| index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
| link-89ad9e7..25bb.js gzip | 1.34 kB | 1.34 kB | ✓ |
| routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
| withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
| Overall change | 7.74 kB | 7.74 kB | ✓ |
Client Pages Modern
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
| _error-4469a..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
| hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
| index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
| link-aeb707b..dule.js gzip | 1.29 kB | 1.29 kB | ✓ |
| routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
| withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
| Overall change | 5.39 kB | 5.39 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 322 B | 322 B | ✓ |
| _buildManife..dule.js gzip | 329 B | 329 B | ✓ |
| Overall change | 651 B | 651 B | ✓ |
Serverless bundles
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _error.js | 1.06 MB | 1.06 MB | ✓ |
| 404.html | 4.73 kB | 4.73 kB | ✓ |
| hooks.html | 3.92 kB | 3.92 kB | ✓ |
| index.js | 1.06 MB | 1.06 MB | ✓ |
| link.js | 1.1 MB | 1.1 MB | ✓ |
| routerDirect.js | 1.1 MB | 1.1 MB | ✓ |
| withRouter.js | 1.1 MB | 1.1 MB | ✓ |
| Overall change | 5.42 MB | 5.42 MB | ✓ |
Stats from current PRDefault Server Mode (Increase detected
|
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| buildDuration | 12.7s | 13s | |
| nodeModulesSize | 91.2 MB | 91.2 MB |
Page Load Tests Overall increase ✓
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 2.389 | 2.36 | -0.03 |
| / avg req/sec | 1046.54 | 1059.28 | +12.74 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.394 | 1.311 | -0.08 |
| /error-in-render avg req/sec | 1793.38 | 1907.23 | +113.85 |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| 677f882d2ed8..35e7.js gzip | 11.1 kB | 11.1 kB | ✓ |
| framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
| main-23d7afb..be6f.js gzip | 7.34 kB | 7.34 kB | ✓ |
| webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
| Overall change | 58.1 kB | 58.1 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| 677f882d2ed8..dule.js gzip | 6.94 kB | 6.94 kB | ✓ |
| framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
| main-ccae7c3..dule.js gzip | 6.32 kB | 6.32 kB | ✓ |
| webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
| Overall change | 53 kB | 53 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _app-9a0b9e1..b37e.js gzip | 1.28 kB | 1.28 kB | ✓ |
| _error-ed1b0..8fbd.js gzip | 3.44 kB | 3.44 kB | ✓ |
| hooks-89731c..c609.js gzip | 887 B | 887 B | ✓ |
| index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
| link-89ad9e7..25bb.js gzip | 1.34 kB | 1.34 kB | ✓ |
| routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
| withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
| Overall change | 7.74 kB | 7.74 kB | ✓ |
Client Pages Modern
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
| _error-4469a..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
| hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
| index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
| link-aeb707b..dule.js gzip | 1.29 kB | 1.29 kB | ✓ |
| routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
| withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
| Overall change | 5.39 kB | 5.39 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 322 B | 322 B | ✓ |
| _buildManife..dule.js gzip | 329 B | 329 B | ✓ |
| Overall change | 651 B | 651 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| index.html gzip | 1 kB | 1 kB | ✓ |
| link.html gzip | 1.01 kB | 1.01 kB | ✓ |
| withRouter.html gzip | 994 B | 994 B | ✓ |
| Overall change | 3.01 kB | 3.01 kB | ✓ |
Serverless Mode
General Overall increase ⚠️
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| buildDuration | 14.5s | 14.7s | |
| nodeModulesSize | 91.2 MB | 91.2 MB |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| 677f882d2ed8..35e7.js gzip | 11.1 kB | 11.1 kB | ✓ |
| framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
| main-23d7afb..be6f.js gzip | 7.34 kB | 7.34 kB | ✓ |
| webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
| Overall change | 58.1 kB | 58.1 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| 677f882d2ed8..dule.js gzip | 6.94 kB | 6.94 kB | ✓ |
| framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
| main-ccae7c3..dule.js gzip | 6.32 kB | 6.32 kB | ✓ |
| webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
| Overall change | 53 kB | 53 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _app-9a0b9e1..b37e.js gzip | 1.28 kB | 1.28 kB | ✓ |
| _error-ed1b0..8fbd.js gzip | 3.44 kB | 3.44 kB | ✓ |
| hooks-89731c..c609.js gzip | 887 B | 887 B | ✓ |
| index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
| link-89ad9e7..25bb.js gzip | 1.34 kB | 1.34 kB | ✓ |
| routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
| withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
| Overall change | 7.74 kB | 7.74 kB | ✓ |
Client Pages Modern
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
| _error-4469a..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
| hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
| index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
| link-aeb707b..dule.js gzip | 1.29 kB | 1.29 kB | ✓ |
| routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
| withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
| Overall change | 5.39 kB | 5.39 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 322 B | 322 B | ✓ |
| _buildManife..dule.js gzip | 329 B | 329 B | ✓ |
| Overall change | 651 B | 651 B | ✓ |
Serverless bundles
| vercel/next.js canary | timneutkens/next.js fix/image-component-loading | Change | |
|---|---|---|---|
| _error.js | 1.06 MB | 1.06 MB | ✓ |
| 404.html | 4.73 kB | 4.73 kB | ✓ |
| hooks.html | 3.92 kB | 3.92 kB | ✓ |
| index.js | 1.06 MB | 1.06 MB | ✓ |
| link.js | 1.1 MB | 1.1 MB | ✓ |
| routerDirect.js | 1.1 MB | 1.1 MB | ✓ |
| withRouter.js | 1.1 MB | 1.1 MB | ✓ |
| Overall change | 5.42 MB | 5.42 MB | ✓ |
Failing test suitesCommit: 6c11e4f test/integration/image-component/basic/test/index.test.js
Expand output● Image Component Tests › SSR Image Component Tests › should support the unoptimized attribute ● Image Component Tests › Client-side Image Component Tests › should support the unoptimized attribute |
styfle
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice catch 👍
Also fixed a flexbox rendering issue that @samsisle reported while testing.