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

chore(turbo-tasks): Remove argument resolution from backends, only allow local-task-based argument resolution #75214

Merged
merged 3 commits into from
Jan 24, 2025

Conversation

bgw
Copy link
Member

@bgw bgw commented Jan 23, 2025

Removes the (now default) feature flag for local task argument resolution.

With local-task based argument resolution in place, we don't need to support argument resolution in the backend, which simplifies some code.

Closes PACK-3812

@ijjk ijjk added the created-by: Turbopack team PRs by the Turbopack team. label Jan 23, 2025
@ijjk
Copy link
Member

ijjk commented Jan 23, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js bgw/rm-backend-argument-resolution Change
buildDuration 17.7s 15.5s N/A
buildDurationCached 14.7s 12.4s N/A
nodeModulesSize 419 MB 419 MB
nextStartRea..uration (ms) 397ms 398ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js bgw/rm-backend-argument-resolution Change
5306-HASH.js gzip 54.1 kB 54.1 kB N/A
8276.HASH.js gzip 169 B 168 B N/A
8377-HASH.js gzip 5.46 kB 5.46 kB N/A
bccd1874-HASH.js gzip 52.9 kB 52.9 kB N/A
framework-HASH.js gzip 57.5 kB 57.5 kB N/A
main-app-HASH.js gzip 240 B 242 B N/A
main-HASH.js gzip 34.6 kB 34.6 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 vercel/next.js bgw/rm-backend-argument-resolution 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 vercel/next.js bgw/rm-backend-argument-resolution 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.59 kB 4.58 kB N/A
index-HASH.js gzip 268 B 268 B
link-HASH.js gzip 2.35 kB 2.35 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 vercel/next.js bgw/rm-backend-argument-resolution Change
_buildManifest.js gzip 748 B 747 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js bgw/rm-backend-argument-resolution Change
index.html gzip 523 B 523 B
link.html gzip 538 B 539 B N/A
withRouter.html gzip 518 B 521 B N/A
Overall change 523 B 523 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js bgw/rm-backend-argument-resolution Change
edge-ssr.js gzip 129 kB 129 kB N/A
page.js gzip 210 kB 210 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js bgw/rm-backend-argument-resolution Change
middleware-b..fest.js gzip 667 B 666 B N/A
middleware-r..fest.js gzip 155 B 156 B N/A
middleware.js gzip 31.3 kB 31.3 kB N/A
edge-runtime..pack.js gzip 844 B 844 B
Overall change 844 B 844 B
Next Runtimes
vercel/next.js canary vercel/next.js bgw/rm-backend-argument-resolution Change
274-experime...dev.js gzip 322 B 322 B
274.runtime.dev.js gzip 314 B 314 B
app-page-exp...dev.js gzip 378 kB 378 kB
app-page-exp..prod.js gzip 132 kB 132 kB
app-page-tur..prod.js gzip 145 kB 145 kB
app-page-tur..prod.js gzip 141 kB 141 kB
app-page.run...dev.js gzip 365 kB 365 kB
app-page.run..prod.js gzip 128 kB 128 kB
app-route-ex...dev.js gzip 37.6 kB 37.6 kB
app-route-ex..prod.js gzip 25.6 kB 25.6 kB
app-route-tu..prod.js gzip 25.6 kB 25.6 kB
app-route-tu..prod.js gzip 25.4 kB 25.4 kB
app-route.ru...dev.js gzip 39.2 kB 39.2 kB
app-route.ru..prod.js gzip 25.4 kB 25.4 kB
pages-api-tu..prod.js gzip 9.69 kB 9.69 kB
pages-api.ru...dev.js gzip 11.6 kB 11.6 kB
pages-api.ru..prod.js gzip 9.68 kB 9.68 kB
pages-turbo...prod.js gzip 21.9 kB 21.9 kB
pages.runtim...dev.js gzip 27.7 kB 27.7 kB
pages.runtim..prod.js gzip 21.9 kB 21.9 kB
server.runti..prod.js gzip 916 kB 916 kB
Overall change 2.49 MB 2.49 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js bgw/rm-backend-argument-resolution Change
0.pack gzip 2.1 MB 2.1 MB N/A
index.pack gzip 75 kB 76.3 kB ⚠️ +1.37 kB
Overall change 75 kB 76.3 kB ⚠️ +1.37 kB
Diff details
Diff for main-HASH.js

Diff too large to display

Commit: 0f70ca4

@bgw bgw changed the base branch from bgw/rm-non-local-return to graphite-base/75214 January 23, 2025 16:38
@bgw bgw force-pushed the bgw/rm-backend-argument-resolution branch from ecd31e1 to c069453 Compare January 23, 2025 16:39
@bgw bgw force-pushed the graphite-base/75214 branch from 814b026 to a5d24dc Compare January 23, 2025 16:39
@bgw bgw changed the base branch from graphite-base/75214 to canary January 23, 2025 16:39
@bgw bgw force-pushed the bgw/rm-backend-argument-resolution branch 2 times, most recently from 73d7001 to a629817 Compare January 23, 2025 21:34
@bgw bgw force-pushed the bgw/rm-backend-argument-resolution branch from a629817 to 9d83d2a Compare January 24, 2025 04:53
@ijjk
Copy link
Member

ijjk commented Jan 24, 2025

Tests Passed

}

impl Display for CachedTaskType {
// Manual implementation is needed because of a borrow issue with `Box<dyn Trait>`:
Copy link
Member

Choose a reason for hiding this comment

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

Weird that derive worked with the enum, but not with a struct

Comment on lines 258 to 259
s.serialize_element(&())?;
s.serialize_element(&())?;
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
s.serialize_element(&())?;
s.serialize_element(&())?;

Comment on lines 287 to 292
let () = seq
.next_element()?
.ok_or_else(|| serde::de::Error::invalid_length(2, &self))?;
let () = seq
.next_element()?
.ok_or_else(|| serde::de::Error::invalid_length(3, &self))?;
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
let () = seq
.next_element()?
.ok_or_else(|| serde::de::Error::invalid_length(2, &self))?;
let () = seq
.next_element()?
.ok_or_else(|| serde::de::Error::invalid_length(3, &self))?;

match self {
Self::Native { fn_type, .. } | Self::ResolveNative { fn_type, .. } => Some(*fn_type),
Self::ResolveTrait { .. } => None,
deserializer.deserialize_tuple(4, Visitor)
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
deserializer.deserialize_tuple(4, Visitor)
deserializer.deserialize_tuple(2, Visitor)

@bgw bgw force-pushed the bgw/rm-backend-argument-resolution branch from 9d83d2a to 343ac24 Compare January 24, 2025 16:29
@bgw bgw force-pushed the bgw/rm-backend-argument-resolution branch from 343ac24 to 0f70ca4 Compare January 24, 2025 17:45
@bgw bgw merged commit 2aa59ed into canary Jan 24, 2025
131 checks passed
Copy link
Member Author

bgw commented Jan 24, 2025

Merge activity

  • Jan 24, 1:32 PM EST: A user merged this pull request with Graphite.

@bgw bgw deleted the bgw/rm-backend-argument-resolution branch January 24, 2025 18:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
created-by: Turbopack team PRs by the Turbopack team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants