-
Notifications
You must be signed in to change notification settings - Fork 27.5k
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
fix: asset prefix on images #28306
fix: asset prefix on images #28306
Conversation
Adding asset prefix support to next-images-loader
Stats from current PRDefault Build (Increase detected
|
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
buildDuration | 17.2s | 17.5s | |
buildDurationCached | 4.2s | 4.3s | |
nodeModulesSize | 61.4 MB | 61.4 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 3.364 | 3.37 | |
/ avg req/sec | 743.18 | 741.75 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 2.252 | 2.226 | -0.03 |
/error-in-render avg req/sec | 1110.24 | 1123.23 | +12.99 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
745.HASH.js gzip | 179 B | 179 B | ✓ |
framework-HASH.js gzip | 42.2 kB | 42.2 kB | ✓ |
main-HASH.js gzip | 23.2 kB | 23.2 kB | ✓ |
webpack-HASH.js gzip | 1.45 kB | 1.45 kB | ✓ |
Overall change | 67.1 kB | 67.1 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
polyfills-a4..dd70.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
_app-HASH.js gzip | 979 B | 979 B | ✓ |
_error-HASH.js gzip | 194 B | 194 B | ✓ |
amp-HASH.js gzip | 312 B | 312 B | ✓ |
css-HASH.js gzip | 329 B | 329 B | ✓ |
dynamic-HASH.js gzip | 2.67 kB | 2.67 kB | ✓ |
head-HASH.js gzip | 351 B | 351 B | ✓ |
hooks-HASH.js gzip | 918 B | 918 B | ✓ |
image-HASH.js gzip | 4.14 kB | 4.14 kB | ✓ |
index-HASH.js gzip | 261 B | 261 B | ✓ |
link-HASH.js gzip | 1.66 kB | 1.66 kB | ✓ |
routerDirect..HASH.js gzip | 318 B | 318 B | ✓ |
script-HASH.js gzip | 387 B | 387 B | ✓ |
withRouter-HASH.js gzip | 320 B | 320 B | ✓ |
bb14e60e810b..30f.css gzip | 125 B | 125 B | ✓ |
Overall change | 13 kB | 13 kB | ✓ |
Client Build Manifests
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
_buildManifest.js gzip | 491 B | 491 B | ✓ |
Overall change | 491 B | 491 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
index.html gzip | 541 B | 541 B | ✓ |
link.html gzip | 553 B | 553 B | ✓ |
withRouter.html gzip | 534 B | 534 B | ✓ |
Overall change | 1.63 kB | 1.63 kB | ✓ |
Webpack 4 Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
buildDuration | 14.1s | 14.2s | |
buildDurationCached | 5.9s | 5.9s | -25ms |
nodeModulesSize | 61.4 MB | 61.4 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 3.442 | 3.321 | -0.12 |
/ avg req/sec | 726.42 | 752.72 | +26.3 |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 2.263 | 2.146 | -0.12 |
/error-in-render avg req/sec | 1104.89 | 1165.23 | +60.34 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
16.HASH.js gzip | 186 B | 186 B | ✓ |
677f882d2ed8..HASH.js gzip | 14.1 kB | 14.1 kB | ✓ |
framework.HASH.js gzip | 41.9 kB | 41.9 kB | ✓ |
main-HASH.js gzip | 10.6 kB | 10.6 kB | ✓ |
webpack-HASH.js gzip | 1.19 kB | 1.19 kB | ✓ |
Overall change | 68 kB | 68 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
polyfills-a4..dd70.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
_app-HASH.js gzip | 964 B | 964 B | ✓ |
_error-HASH.js gzip | 3.8 kB | 3.8 kB | ✓ |
amp-HASH.js gzip | 552 B | 552 B | ✓ |
css-HASH.js gzip | 333 B | 333 B | ✓ |
dynamic-HASH.js gzip | 2.87 kB | 2.87 kB | ✓ |
head-HASH.js gzip | 3.06 kB | 3.06 kB | ✓ |
hooks-HASH.js gzip | 924 B | 924 B | ✓ |
index-HASH.js gzip | 231 B | 231 B | ✓ |
link-HASH.js gzip | 1.64 kB | 1.64 kB | ✓ |
routerDirect..HASH.js gzip | 298 B | 298 B | ✓ |
script-HASH.js gzip | 2.98 kB | 2.98 kB | ✓ |
withRouter-HASH.js gzip | 295 B | 295 B | ✓ |
30809af5c834..565.css gzip | 125 B | 125 B | ✓ |
Overall change | 18.1 kB | 18.1 kB | ✓ |
Client Build Manifests
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
_buildManifest.js gzip | 500 B | 500 B | ✓ |
Overall change | 500 B | 500 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | ScriptedAlchemy/next.js patch-1 | Change | |
---|---|---|---|
index.html gzip | 585 B | 585 B | ✓ |
link.html gzip | 597 B | 597 B | ✓ |
withRouter.html gzip | 577 B | 577 B | ✓ |
Overall change | 1.76 kB | 1.76 kB | ✓ |
Failing test suitesCommit: fb0f894 test/integration/image-component/asset-prefix/test/index.test.js
Expand output● Image Component assetPrefix Tests › dev mode › should include assetPrefix when placeholder=blur during next dev
|
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.
Thanks for the PR!
Please add a test to ensure this change works correctly, thanks!
There's actually an existing test fixture here and this PR made it fail https://github.com/vercel/next.js/tree/canary/test/integration/image-component/asset-prefix |
I'll see if I can find time to create a test. Already extracted it from next and rebuilt it as a custom loader |
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.
assetPrefix is intentionally not added to the start of the url, same as next/image
. Instead of assetPrefix it should likely be basePath
in this case. In particular you can use images.path
which already includes /_next/image
with the basePath
Thanks! This was fixed in #29307. |
Adding asset prefix support to next-images-loader
fixes #28305
Bug
fixes #number
contributing.md
Feature
fixes #number
contributing.md
Documentation / Examples