-
Notifications
You must be signed in to change notification settings - Fork 27.3k
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(next@15): use the asset prefix when loading a CSS in App Router #72095
Merged
ijjk
merged 5 commits into
vercel:canary
from
noreiller:fix-dynamic-css-with-asset-prefix
Dec 12, 2024
Merged
fix(next@15): use the asset prefix when loading a CSS in App Router #72095
ijjk
merged 5 commits into
vercel:canary
from
noreiller:fix-dynamic-css-with-asset-prefix
Dec 12, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Allow CI Workflow Run
Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer |
noreiller
changed the title
fix(next): use the asset prefix when loading a CSS in App Router
fix(next@15): use the asset prefix when loading a CSS in App Router
Oct 30, 2024
Tests Passed |
Stats from current PRDefault Build (Increase detected
|
vercel/next.js canary | noreiller/next.js fix-dynamic-css-with-asset-prefix | Change | |
---|---|---|---|
buildDuration | 18.6s | 15.6s | N/A |
buildDurationCached | 14.7s | 12.3s | N/A |
nodeModulesSize | 410 MB | 410 MB | |
nextStartRea..uration (ms) | 468ms | 467ms | N/A |
Client Bundles (main, webpack)
vercel/next.js canary | noreiller/next.js fix-dynamic-css-with-asset-prefix | Change | |
---|---|---|---|
1187-HASH.js gzip | 50.8 kB | 50.8 kB | N/A |
8276.HASH.js gzip | 169 B | 168 B | N/A |
8377-HASH.js gzip | 5.36 kB | 5.36 kB | N/A |
bccd1874-HASH.js gzip | 53 kB | 53 kB | N/A |
framework-HASH.js gzip | 57.5 kB | 57.5 kB | N/A |
main-app-HASH.js gzip | 232 B | 235 B | N/A |
main-HASH.js gzip | 34 kB | 34 kB | N/A |
webpack-HASH.js gzip | 1.71 kB | 1.71 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | noreiller/next.js fix-dynamic-css-with-asset-prefix | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 39.4 kB | 39.4 kB | ✓ |
Overall change | 39.4 kB | 39.4 kB | ✓ |
Client Pages
vercel/next.js canary | noreiller/next.js fix-dynamic-css-with-asset-prefix | Change | |
---|---|---|---|
_app-HASH.js gzip | 193 B | 193 B | ✓ |
_error-HASH.js gzip | 193 B | 193 B | ✓ |
amp-HASH.js gzip | 512 B | 510 B | N/A |
css-HASH.js gzip | 343 B | 342 B | N/A |
dynamic-HASH.js gzip | 1.84 kB | 1.84 kB | ✓ |
edge-ssr-HASH.js gzip | 265 B | 265 B | ✓ |
head-HASH.js gzip | 363 B | 362 B | N/A |
hooks-HASH.js gzip | 393 B | 392 B | N/A |
image-HASH.js gzip | 4.49 kB | 4.49 kB | N/A |
index-HASH.js gzip | 268 B | 268 B | ✓ |
link-HASH.js gzip | 2.35 kB | 2.34 kB | N/A |
routerDirect..HASH.js gzip | 328 B | 328 B | ✓ |
script-HASH.js gzip | 397 B | 397 B | ✓ |
withRouter-HASH.js gzip | 323 B | 326 B | N/A |
1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
Overall change | 3.59 kB | 3.59 kB | ✓ |
Client Build Manifests
vercel/next.js canary | noreiller/next.js fix-dynamic-css-with-asset-prefix | Change | |
---|---|---|---|
_buildManifest.js gzip | 747 B | 746 B | N/A |
Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | noreiller/next.js fix-dynamic-css-with-asset-prefix | Change | |
---|---|---|---|
index.html gzip | 524 B | 522 B | N/A |
link.html gzip | 539 B | 537 B | N/A |
withRouter.html gzip | 520 B | 519 B | N/A |
Overall change | 0 B | 0 B | ✓ |
Edge SSR bundle Size
vercel/next.js canary | noreiller/next.js fix-dynamic-css-with-asset-prefix | Change | |
---|---|---|---|
edge-ssr.js gzip | 128 kB | 128 kB | N/A |
page.js gzip | 203 kB | 203 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Middleware size
vercel/next.js canary | noreiller/next.js fix-dynamic-css-with-asset-prefix | Change | |
---|---|---|---|
middleware-b..fest.js gzip | 671 B | 666 B | N/A |
middleware-r..fest.js gzip | 155 B | 156 B | N/A |
middleware.js gzip | 31.2 kB | 31.2 kB | N/A |
edge-runtime..pack.js gzip | 844 B | 844 B | ✓ |
Overall change | 844 B | 844 B | ✓ |
Next Runtimes
vercel/next.js canary | noreiller/next.js fix-dynamic-css-with-asset-prefix | Change | |
---|---|---|---|
523-experime...dev.js gzip | 322 B | 322 B | ✓ |
523.runtime.dev.js gzip | 314 B | 314 B | ✓ |
app-page-exp...dev.js gzip | 323 kB | 323 kB | ✓ |
app-page-exp..prod.js gzip | 127 kB | 127 kB | ✓ |
app-page-tur..prod.js gzip | 140 kB | 140 kB | ✓ |
app-page-tur..prod.js gzip | 135 kB | 135 kB | ✓ |
app-page.run...dev.js gzip | 313 kB | 313 kB | ✓ |
app-page.run..prod.js gzip | 123 kB | 123 kB | ✓ |
app-route-ex...dev.js gzip | 37.3 kB | 37.3 kB | ✓ |
app-route-ex..prod.js gzip | 25.4 kB | 25.4 kB | ✓ |
app-route-tu..prod.js gzip | 25.4 kB | 25.4 kB | ✓ |
app-route-tu..prod.js gzip | 25.2 kB | 25.2 kB | ✓ |
app-route.ru...dev.js gzip | 38.9 kB | 38.9 kB | ✓ |
app-route.ru..prod.js gzip | 25.2 kB | 25.2 kB | ✓ |
pages-api-tu..prod.js gzip | 9.67 kB | 9.67 kB | ✓ |
pages-api.ru...dev.js gzip | 11.6 kB | 11.6 kB | ✓ |
pages-api.ru..prod.js gzip | 9.66 kB | 9.66 kB | ✓ |
pages-turbo...prod.js gzip | 21.7 kB | 21.7 kB | ✓ |
pages.runtim...dev.js gzip | 27.4 kB | 27.4 kB | ✓ |
pages.runtim..prod.js gzip | 21.7 kB | 21.7 kB | ✓ |
server.runti..prod.js gzip | 916 kB | 916 kB | ✓ |
Overall change | 2.36 MB | 2.36 MB | ✓ |
build cache Overall increase ⚠️
vercel/next.js canary | noreiller/next.js fix-dynamic-css-with-asset-prefix | Change | |
---|---|---|---|
0.pack gzip | 2.05 MB | 2.05 MB | |
index.pack gzip | 72.6 kB | 71.4 kB | N/A |
Overall change | 2.05 MB | 2.05 MB |
Diff details
Diff for main-HASH.js
Diff too large to display
noreiller
force-pushed
the
fix-dynamic-css-with-asset-prefix
branch
3 times, most recently
from
November 6, 2024 10:29
6651e4d
to
c86a2ac
Compare
Update: false positive in my application where I encountered the issue. |
noreiller
force-pushed
the
fix-dynamic-css-with-asset-prefix
branch
from
November 7, 2024 16:31
c86a2ac
to
d0a7744
Compare
noreiller
force-pushed
the
fix-dynamic-css-with-asset-prefix
branch
from
November 14, 2024 19:29
d0a7744
to
07d4a73
Compare
noreiller
commented
Nov 18, 2024
The current behavior loads the CSS with only the pathname and so, it results with a 404. The new behavior uses the full url of the asset.
Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
noreiller
force-pushed
the
fix-dynamic-css-with-asset-prefix
branch
from
December 11, 2024 06:40
cc58d74
to
619a7e6
Compare
sokra
approved these changes
Dec 11, 2024
noreiller
commented
Dec 12, 2024
Comment on lines
+622
to
+626
_N_E_STYLE_LOAD( | ||
href.indexOf(window.location.origin) === 0 | ||
? new URL(href).pathname | ||
: href | ||
).then( |
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.
ijjk
approved these changes
Dec 12, 2024
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What
This PR fixes a bug when using next@15, next/dynamic and assetPrefix config in App Router.
Why
The current behavior loads the CSS with only the pathname and so, it results with a 404.
How
The new behavior uses the full url of the asset.
Fixes #72470