-
Notifications
You must be signed in to change notification settings - Fork 28k
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
[Turbopack] Introduce OperationVc that wraps operations #70242
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Tests Passed |
Stats from current PRDefault BuildGeneral
Client Bundles (main, webpack)
Legacy Client Bundles (polyfills)
Client Pages
Client Build Manifests
Rendered Page Sizes
Edge SSR bundle Size
Middleware size
Next Runtimes
build cache
Diff detailsDiff for main-HASH.jsDiff too large to display |
3474ab1
to
644f5a9
Compare
Some docs would be nice. I wouldn't know when to use |
#70421) Noticed these files while reviewing #70242 Mark them as generated so that github & graphite collapse them when reviewing code. ``` $ git ls-files | git check-attr -a --stdin | grep __snapshots__ ``` ``` .config/ast-grep/rule-tests/__snapshots__/no-context-snapshot.yml: linguist-generated: true examples/with-jest-babel/__tests__/__snapshots__/snapshot.tsx.snap: linguist-generated: true examples/with-jest/__tests__/__snapshots__/snapshot.tsx.snap: linguist-generated: true examples/with-typescript-graphql/test/__snapshots__/index.test.tsx.snap: linguist-generated: true test/development/acceptance-app/__snapshots__/ReactRefreshLogBox.test.ts.snap: linguist-generated: true test/development/acceptance/__snapshots__/ReactRefreshLogBox.test.ts.snap: linguist-generated: true test/development/acceptance/__snapshots__/ReactRefreshLogBoxMisc.test.ts.snap: linguist-generated: true test/development/acceptance/__snapshots__/error-recovery.test.ts.snap: linguist-generated: true test/development/basic/__snapshots__/next-rs-api.test.ts.snap: linguist-generated: true test/production/eslint/test/__snapshots__/next-build-and-lint.test.ts.snap: linguist-generated: true ```
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.
If we're going to allow #[turbo_tasks::value]
s to store VcOperation
, we're going to need to make it impl ResolvedValue
.
However, that doesn't really seem right because a VcOperation
is not truly "resolved".
What I care about for local tasks is just that this is non-local, so the questions are:
- Should we rename
ResolvedValue
? What should we rename it to?NonLocalValue
? - Is there a reason we might want
ResolvedValue
in the future? If so, we can keep it around and just makeNonLocalValue
a supertrait ofResolvedValue
?
Yeah, I agree. It's pretty confusing to me too. |
644f5a9
to
98361eb
Compare
I've rebased this PR, but we still need to solve:
|
I'm owning the work to rebase this and get it ready to merge.
988e6fa
to
a7973b1
Compare
a7973b1
to
93893d6
Compare
93893d6
to
9166c5a
Compare
9166c5a
to
ccc3bfb
Compare
ccc3bfb
to
494ba77
Compare
only expose OperationVc into JS to connect to the whole computation (and be strongly consistent with the whole computation).
494ba77
to
8e51f56
Compare
Merge activity
|
What?
Introduce
OperationVc
that wraps operations(Note: This was called
VcOperation
, but I changed it toOperationVc
to better match theResolvedVc
naming convention -- @bgw)We should only expose
OperationVc
into JS to connect to the whole computation (and be strongly consistent with the whole computation).also fix query stringFixed in #70461Why?
We want operations to be strongly consistent to the whole operation. Also HMR subscriptions should include the whole entrypoints and endpoint operation. The
OperationVc
type makes it easy to track that and enforces connecting to the operation correctly.In regards of the
ResolvedVc
work, we also want operations to be explicit.Closes PACK-3628