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

refactor(turbopack): Make various types directly or indirectly included in State<T> types into OperationValues and/or NonLocalValues #74008

Merged
merged 1 commit into from
Dec 17, 2024

Conversation

bgw
Copy link
Member

@bgw bgw commented Dec 16, 2024

This is a refactor ahead of #73876

This adds the OperationValue trait (and in a few cases, NonLocalValue) to a large number of types where it can be trivially done.

These types are needed in #73876 because they're used somewhere inside of a State<...> type (most likely transitively).

Closes PACK-3665

Copy link
Member Author

bgw commented Dec 16, 2024

@bgw bgw requested review from mischnic and sokra December 16, 2024 23:50
@bgw bgw marked this pull request as ready for review December 16, 2024 23:51
@ijjk
Copy link
Member

ijjk commented Dec 16, 2024

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js bgw/make-operation-values Change
buildDuration 18.4s 15.6s N/A
buildDurationCached 14.8s 12.7s N/A
nodeModulesSize 410 MB 410 MB
nextStartRea..uration (ms) 477ms 471ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js bgw/make-operation-values Change
1187-HASH.js gzip 51.4 kB 51.4 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.1 kB 34.1 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/make-operation-values 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/make-operation-values 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 vercel/next.js bgw/make-operation-values Change
_buildManifest.js gzip 749 B 746 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js bgw/make-operation-values Change
index.html gzip 523 B 523 B
link.html gzip 538 B 537 B N/A
withRouter.html gzip 519 B 520 B N/A
Overall change 523 B 523 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js bgw/make-operation-values Change
edge-ssr.js gzip 128 kB 128 kB N/A
page.js gzip 204 kB 204 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js bgw/make-operation-values Change
middleware-b..fest.js gzip 671 B 669 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/make-operation-values 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 324 kB 324 kB
app-page-exp..prod.js gzip 128 kB 128 kB
app-page-tur..prod.js gzip 141 kB 141 kB
app-page-tur..prod.js gzip 136 kB 136 kB
app-page.run...dev.js gzip 314 kB 314 kB
app-page.run..prod.js gzip 124 kB 124 kB
app-route-ex...dev.js gzip 37.5 kB 37.5 kB
app-route-ex..prod.js gzip 25.5 kB 25.5 kB
app-route-tu..prod.js gzip 25.5 kB 25.5 kB
app-route-tu..prod.js gzip 25.3 kB 25.3 kB
app-route.ru...dev.js gzip 39.1 kB 39.1 kB
app-route.ru..prod.js gzip 25.3 kB 25.3 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.7 kB 21.7 kB
pages.runtim...dev.js gzip 27.5 kB 27.5 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 vercel/next.js bgw/make-operation-values Change
0.pack gzip 2.08 MB 2.08 MB ⚠️ +4.69 kB
index.pack gzip 73.7 kB 74.1 kB ⚠️ +383 B
Overall change 2.15 MB 2.16 MB ⚠️ +5.07 kB
Diff details
Diff for main-HASH.js

Diff too large to display

Commit: 2b20793

…ed in `State<T>` types into OperationValues and/or NonLocalValues
@bgw bgw force-pushed the bgw/make-operation-values branch from 455bc9a to 2b20793 Compare December 17, 2024 22:10
@ijjk ijjk added create-next-app Related to our CLI tool for quickly starting a new Next.js application. Documentation Related to Next.js' official documentation. examples Issue was opened via the examples template. tests type: next labels Dec 17, 2024
@bgw bgw changed the base branch from bgw/operation-construction to canary December 17, 2024 22:11
Copy link

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/[email protected] eval Transitive: environment, filesystem, shell +64 2.37 MB wooorm

🚮 Removed packages: npm/[email protected]

View full report↗︎

@ijjk
Copy link
Member

ijjk commented Dec 17, 2024

Tests Passed

@bgw bgw merged commit a2d221b into canary Dec 17, 2024
128 of 133 checks passed
Copy link
Member Author

bgw commented Dec 17, 2024

Merge activity

  • Dec 17, 6:48 PM EST: A user merged this pull request with Graphite.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
create-next-app Related to our CLI tool for quickly starting a new Next.js application. created-by: Turbopack team PRs by the Turbopack team. Documentation Related to Next.js' official documentation. examples Issue was opened via the examples template. tests Turbopack Related to Turbopack with Next.js. type: next
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants