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

Fix next/dynamic with babel and src dir #65177

Merged
merged 3 commits into from
Apr 29, 2024
Merged

Fix next/dynamic with babel and src dir #65177

merged 3 commits into from
Apr 29, 2024

Conversation

huozhi
Copy link
Member

@huozhi huozhi commented Apr 29, 2024

What

  • Fix next/dynamic with babel config and src/ directory
  • Separate the existing next/dynamic dev tests, make it easier to cover more cases, add .babelrc + src/ folder coverage case

Why

  • The new transform is using src/ or root dir as the base directory next/dynamic for generating relative module path as unique key for next/dynamic modules. The babel one was always using the root dir (cwd), which is incorrect. It should use the src/ dir.

In the future we could make the different solution to generate the unique id simpler, instead of using relative paths

Closes NEXT-3254
Closes NEXT-3251
Fixes #64741

@ijjk
Copy link
Member

ijjk commented Apr 29, 2024

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js fix/dynamic-babel-src Change
buildDuration 23.3s 19.8s N/A
buildDurationCached 11.6s 9.7s N/A
nodeModulesSize 360 MB 360 MB ⚠️ +942 B
nextStartRea..uration (ms) 502ms 510ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js fix/dynamic-babel-src Change
1103-HASH.js gzip 31.9 kB 31.9 kB N/A
1a9f679d-HASH.js gzip 53.5 kB 53.5 kB N/A
335-HASH.js gzip 5.09 kB 5.09 kB N/A
7953.HASH.js gzip 169 B 169 B
framework-HASH.js gzip 45.2 kB 45.2 kB
main-app-HASH.js gzip 228 B 229 B N/A
main-HASH.js gzip 31.5 kB 31.5 kB N/A
webpack-HASH.js gzip 1.65 kB 1.65 kB N/A
Overall change 45.4 kB 45.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js fix/dynamic-babel-src Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary vercel/next.js fix/dynamic-babel-src Change
_app-HASH.js gzip 192 B 193 B N/A
_error-HASH.js gzip 192 B 193 B N/A
amp-HASH.js gzip 507 B 511 B N/A
css-HASH.js gzip 341 B 343 B N/A
dynamic-HASH.js gzip 2.52 kB 2.52 kB
edge-ssr-HASH.js gzip 266 B 265 B N/A
head-HASH.js gzip 362 B 365 B N/A
hooks-HASH.js gzip 392 B 392 B
image-HASH.js gzip 4.32 kB 4.32 kB N/A
index-HASH.js gzip 268 B 268 B
link-HASH.js gzip 2.69 kB 2.7 kB N/A
routerDirect..HASH.js gzip 329 B 328 B N/A
script-HASH.js gzip 397 B 397 B
withRouter-HASH.js gzip 324 B 324 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 4 kB 4 kB
Client Build Manifests
vercel/next.js canary vercel/next.js fix/dynamic-babel-src Change
_buildManifest.js gzip 483 B 484 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js fix/dynamic-babel-src Change
index.html gzip 528 B 526 B N/A
link.html gzip 541 B 539 B N/A
withRouter.html gzip 524 B 521 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js fix/dynamic-babel-src Change
edge-ssr.js gzip 94.7 kB 94.7 kB N/A
page.js gzip 181 kB 181 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js fix/dynamic-babel-src Change
middleware-b..fest.js gzip 623 B 624 B N/A
middleware-r..fest.js gzip 156 B 156 B
middleware.js gzip 25.7 kB 25.7 kB N/A
edge-runtime..pack.js gzip 839 B 839 B
Overall change 995 B 995 B
Next Runtimes
vercel/next.js canary vercel/next.js fix/dynamic-babel-src Change
app-page-exp...dev.js gzip 171 kB 171 kB
app-page-exp..prod.js gzip 98.5 kB 98.5 kB
app-page-tur..prod.js gzip 100 kB 100 kB
app-page-tur..prod.js gzip 94.3 kB 94.3 kB
app-page.run...dev.js gzip 157 kB 157 kB
app-page.run..prod.js gzip 93.1 kB 93.1 kB
app-route-ex...dev.js gzip 21.5 kB 21.5 kB
app-route-ex..prod.js gzip 15.2 kB 15.2 kB
app-route-tu..prod.js gzip 15.2 kB 15.2 kB
app-route-tu..prod.js gzip 15 kB 15 kB
app-route.ru...dev.js gzip 21.3 kB 21.3 kB
app-route.ru..prod.js gzip 15 kB 15 kB
pages-api-tu..prod.js gzip 9.55 kB 9.55 kB
pages-api.ru...dev.js gzip 9.82 kB 9.82 kB
pages-api.ru..prod.js gzip 9.55 kB 9.55 kB
pages-turbo...prod.js gzip 21.5 kB 21.5 kB
pages.runtim...dev.js gzip 22.1 kB 22.1 kB
pages.runtim..prod.js gzip 21.5 kB 21.5 kB
server.runti..prod.js gzip 51.6 kB 51.6 kB
Overall change 962 kB 962 kB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js fix/dynamic-babel-src Change
0.pack gzip 1.62 MB 1.62 MB ⚠️ +986 B
index.pack gzip 112 kB 112 kB ⚠️ +118 B
Overall change 1.73 MB 1.73 MB ⚠️ +1.1 kB
Diff details
Diff for edge-ssr.js

Diff too large to display

Commit: 06be666

@ijjk
Copy link
Member

ijjk commented Apr 29, 2024

Tests Passed

@huozhi huozhi marked this pull request as ready for review April 29, 2024 22:41
@huozhi huozhi enabled auto-merge (squash) April 29, 2024 22:46
@huozhi huozhi merged commit eb89e39 into canary Apr 29, 2024
75 of 80 checks passed
@huozhi huozhi deleted the fix/dynamic-babel-src branch April 29, 2024 23:02
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 14, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Hydration mismatch caused by next/dynamic when src folder and babel are used
2 participants