Skip to content
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

Relax restriction of images.path in next.config.js #30741

Merged
merged 4 commits into from Nov 2, 2021

Conversation

styfle
Copy link
Member

@styfle styfle commented Nov 1, 2021

The built-in imgixLoader() unexpectedly works with image.path = '' and src as an absolute URL.

So we need to relax this restriction for now until we can officially deprecate built-in loaders (eventually they can all be implemented in userland via loader prop).

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@styfle styfle added this to the 12.0.x milestone Nov 1, 2021
@ijjk
Copy link
Member

ijjk commented Nov 1, 2021

Stats from current PR

Default Build (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
buildDuration 17.9s 18.1s ⚠️ +173ms
buildDurationCached 3.9s 3.9s ⚠️ +7ms
nodeModulesSize 293 MB 293 MB ⚠️ +9 B
Page Load Tests Overall decrease ⚠️
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
/ failed reqs 0 0
/ total time (seconds) 2.869 2.907 ⚠️ +0.04
/ avg req/sec 871.25 859.9 ⚠️ -11.35
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.338 1.332 -0.01
/error-in-render avg req/sec 1868.03 1877.11 +9.08
Client Bundles (main, webpack, commons)
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
450.HASH.js gzip 179 B 179 B
framework-HASH.js gzip 42.2 kB 42.2 kB
main-HASH.js gzip 28 kB 28 kB
webpack-HASH.js gzip 1.45 kB 1.45 kB
Overall change 71.9 kB 71.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
polyfills-a4..dd70.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
_app-HASH.js gzip 1.23 kB 1.23 kB
_error-HASH.js gzip 194 B 194 B
amp-HASH.js gzip 312 B 312 B
css-HASH.js gzip 327 B 327 B
dynamic-HASH.js gzip 2.38 kB 2.38 kB
head-HASH.js gzip 350 B 350 B
hooks-HASH.js gzip 635 B 635 B
image-HASH.js gzip 4.44 kB 4.44 kB
index-HASH.js gzip 263 B 263 B
link-HASH.js gzip 1.87 kB 1.87 kB
routerDirect..HASH.js gzip 321 B 321 B
script-HASH.js gzip 383 B 383 B
withRouter-HASH.js gzip 318 B 318 B
334f979574ae..6f4.css gzip 106 B 106 B
Overall change 13.1 kB 13.1 kB
Client Build Manifests
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
_buildManifest.js gzip 459 B 459 B
Overall change 459 B 459 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
index.html gzip 534 B 534 B
link.html gzip 547 B 547 B
withRouter.html gzip 527 B 527 B
Overall change 1.61 kB 1.61 kB

Default Build with SWC (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
buildDuration 19.5s 19.3s -124ms
buildDurationCached 3.8s 4s ⚠️ +113ms
nodeModulesSize 293 MB 293 MB ⚠️ +9 B
Page Load Tests Overall decrease ⚠️
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
/ failed reqs 0 0
/ total time (seconds) 2.888 2.852 -0.04
/ avg req/sec 865.6 876.69 +11.09
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.307 1.331 ⚠️ +0.02
/error-in-render avg req/sec 1913.51 1877.98 ⚠️ -35.53
Client Bundles (main, webpack, commons)
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
450.HASH.js gzip 179 B 179 B
framework-HASH.js gzip 42.3 kB 42.3 kB
main-HASH.js gzip 28.2 kB 28.2 kB
webpack-HASH.js gzip 1.43 kB 1.43 kB
Overall change 72.1 kB 72.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
polyfills-a4..dd70.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
_app-HASH.js gzip 1.22 kB 1.22 kB
_error-HASH.js gzip 180 B 180 B
amp-HASH.js gzip 305 B 305 B
css-HASH.js gzip 321 B 321 B
dynamic-HASH.js gzip 2.38 kB 2.38 kB
head-HASH.js gzip 342 B 342 B
hooks-HASH.js gzip 622 B 622 B
image-HASH.js gzip 4.46 kB 4.46 kB
index-HASH.js gzip 256 B 256 B
link-HASH.js gzip 1.91 kB 1.91 kB
routerDirect..HASH.js gzip 314 B 314 B
script-HASH.js gzip 375 B 375 B
withRouter-HASH.js gzip 309 B 309 B
334f979574ae..6f4.css gzip 106 B 106 B
Overall change 13.1 kB 13.1 kB
Client Build Manifests
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
_buildManifest.js gzip 460 B 460 B
Overall change 460 B 460 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js relax-restriction-on-images-path Change
index.html gzip 535 B 535 B
link.html gzip 548 B 548 B
withRouter.html gzip 529 B 529 B
Overall change 1.61 kB 1.61 kB
Commit: 7f03437

@kodiakhq kodiakhq bot merged commit f3fcb81 into canary Nov 2, 2021
@kodiakhq kodiakhq bot deleted the relax-restriction-on-images-path branch November 2, 2021 00:00
timneutkens pushed a commit to timneutkens/next.js that referenced this pull request Nov 2, 2021
The built-in `imgixLoader()` unexpectedly works with `image.path = ''` and `src` as an absolute URL.

So we need to relax this restriction for now until we can officially deprecate built-in loaders (eventually they can all be implemented in userland via loader prop).

- Follow up to vercel#30080
@NautHnil
Copy link

NautHnil commented Nov 9, 2021

Look you have updated, but I same the error imgix loader not working with the path as empty string.

What version of Next.js are you using?
12.0.3-canary.1

Describe the Bug

TypeError: Invalid URL

This error happened while generating the page. Any console logs will be displayed in the terminal window.
Call Stack
new NodeError
node:internal/errors (363:5)
onParseError
node:internal/url (537:9)
new URL
node:internal/url (613:5)
imgixLoader
node_modules/next/dist/client/image.js (603:17)
defaultImageLoader
node_modules/next/dist/client/image.js (226:15)
Image
node_modules/next/dist/client/image.js (375:19)

@styfle
Copy link
Member Author

styfle commented Nov 9, 2021

@NautHnil Please try 12.0.3 or newer: yarn add next@latest

@NautHnil
Copy link

NautHnil commented Nov 9, 2021

v12.0.3 have error #30895. So, I don't want to upgrade the version.

@styfle
Copy link
Member Author

styfle commented Nov 9, 2021

@NautHnil Try the latest canary: yarn add next@canary

@NautHnil
Copy link

NautHnil commented Nov 9, 2021

@NautHnil Try the latest canary: yarn add next@canary

I have upgraded v12.0.3 + v12.0.4-canary.3 => same error. :(

UPDATE: It only runs with an external image link. If runs with local image, it show error TypeError: Invalid URL
You update code with purpose relax restriction for local and external image links. But it error for local image links.

Please check and fix it. Thanks!

@vercel vercel locked as resolved and limited conversation to collaborators Jan 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants