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 recursive ignoring case in build traces #60740

Merged
merged 1 commit into from
Jan 16, 2024

Conversation

ijjk
Copy link
Member

@ijjk ijjk commented Jan 16, 2024

This ensures when a dependency has a recursive require our should ignore handling doesn't accidentally loop back and forth.

x-ref: lovell/sharp#3944

Closes NEXT-2121

@ijjk
Copy link
Member Author

ijjk commented Jan 16, 2024

Stats from current PR

Default Build
General Overall increase ⚠️
vercel/next.js canary ijjk/next.js ijjk/fix-recursive-ignore Change
buildDuration 12.8s 12.8s N/A
buildDurationCached 7s 6s N/A
nodeModulesSize 200 MB 200 MB ⚠️ +3.08 kB
nextStartRea..uration (ms) 427ms 435ms N/A
Client Bundles (main, webpack)
vercel/next.js canary ijjk/next.js ijjk/fix-recursive-ignore Change
193.HASH.js gzip 181 B 182 B N/A
3f784ff6-HASH.js gzip 53.4 kB 53.4 kB
433-HASH.js gzip 28.9 kB 28.9 kB N/A
framework-HASH.js gzip 45.2 kB 45.2 kB
main-app-HASH.js gzip 239 B 239 B
main-HASH.js gzip 31.8 kB 31.8 kB N/A
webpack-HASH.js gzip 1.7 kB 1.7 kB N/A
Overall change 98.8 kB 98.8 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary ijjk/next.js ijjk/fix-recursive-ignore Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ijjk/next.js ijjk/fix-recursive-ignore Change
_app-HASH.js gzip 194 B 195 B N/A
_error-HASH.js gzip 183 B 181 B N/A
amp-HASH.js gzip 504 B 502 B N/A
css-HASH.js gzip 321 B 321 B
dynamic-HASH.js gzip 2.5 kB 2.5 kB N/A
edge-ssr-HASH.js gzip 255 B 253 B N/A
head-HASH.js gzip 350 B 349 B N/A
hooks-HASH.js gzip 369 B 369 B
image-HASH.js gzip 4.28 kB 4.28 kB N/A
index-HASH.js gzip 255 B 256 B N/A
link-HASH.js gzip 2.61 kB 2.61 kB
routerDirect..HASH.js gzip 312 B 311 B N/A
script-HASH.js gzip 385 B 383 B N/A
withRouter-HASH.js gzip 307 B 308 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 3.4 kB 3.4 kB
Client Build Manifests
vercel/next.js canary ijjk/next.js ijjk/fix-recursive-ignore Change
_buildManifest.js gzip 483 B 484 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary ijjk/next.js ijjk/fix-recursive-ignore Change
index.html gzip 528 B 528 B
link.html gzip 540 B 540 B
withRouter.html gzip 522 B 524 B N/A
Overall change 1.07 kB 1.07 kB
Edge SSR bundle Size
vercel/next.js canary ijjk/next.js ijjk/fix-recursive-ignore Change
edge-ssr.js gzip 93.9 kB 93.9 kB N/A
page.js gzip 148 kB 148 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary ijjk/next.js ijjk/fix-recursive-ignore Change
middleware-b..fest.js gzip 622 B 626 B N/A
middleware-r..fest.js gzip 151 B 151 B
middleware.js gzip 37.5 kB 37.5 kB N/A
edge-runtime..pack.js gzip 1.92 kB 1.92 kB
Overall change 2.07 kB 2.07 kB
Next Runtimes
vercel/next.js canary ijjk/next.js ijjk/fix-recursive-ignore Change
app-page-exp...dev.js gzip 169 kB 169 kB
app-page-exp..prod.js gzip 95.3 kB 95.3 kB
app-page-tur..prod.js gzip 96 kB 96 kB
app-page-tur..prod.js gzip 90.5 kB 90.5 kB
app-page.run...dev.js gzip 142 kB 142 kB
app-page.run..prod.js gzip 89.9 kB 89.9 kB
app-route-ex...dev.js gzip 24.1 kB 24.1 kB
app-route-ex..prod.js gzip 16.8 kB 16.8 kB
app-route-tu..prod.js gzip 16.8 kB 16.8 kB
app-route-tu..prod.js gzip 16.3 kB 16.3 kB
app-route.ru...dev.js gzip 23.5 kB 23.5 kB
app-route.ru..prod.js gzip 16.3 kB 16.3 kB
pages-api-tu..prod.js gzip 9.38 kB 9.38 kB
pages-api.ru...dev.js gzip 9.65 kB 9.65 kB
pages-api.ru..prod.js gzip 9.37 kB 9.37 kB
pages-turbo...prod.js gzip 21.9 kB 21.9 kB
pages.runtim...dev.js gzip 22.6 kB 22.6 kB
pages.runtim..prod.js gzip 21.9 kB 21.9 kB
server.runti..prod.js gzip 49.6 kB 49.6 kB
Overall change 941 kB 941 kB
Commit: 2e5d0f2

@ijjk ijjk merged commit 780594f into vercel:canary Jan 16, 2024
66 checks passed
@@ -298,15 +324,19 @@ export async function collectBuildTraces({
'**/*.d.ts',
'**/*.map',
'**/next/dist/pages/**/*',
...(ciEnvironment.hasNextSupport ? ['**/node_modules/sharp/**/*'] : []),
...(ciEnvironment.hasNextSupport
? ['**/node_modules/sharp/**/*', '**/@img/sharp-libvips*/**/*']
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be **/node_modules/@img/sharp-libvips*/**/* instead (add the node_modules prefix)?

I'm also wondering why these need to be singled out. Couldn't we instead ignore **/*.node?

Copy link
Member Author

@ijjk ijjk Jan 16, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since this name is more specific should be ok without node_modules but doesn't hurt to add it, we can't ignore all .node files in general I don't think as there are valid native modules when deployed

Copy link
Member

@styfle styfle Jan 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In what case is a .node file "valid" vs "invalid"?

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.

3 participants