-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Deduplicate persistent task get_function_name logic #8529
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
8 Ignored Deployments
|
|
🟢 Turbopack Benchmark CI successful 🟢Thanks |
✅ This change can build |
mod
blocksIf a task is conditionally compiled, we must conditionally register it. Tested as part of #8529
fn test_get_name() { | ||
crate::register(); | ||
assert_eq!( | ||
PersistentTaskType::Native(*MOCK_FUNC_TASK_FUNCTION_ID, Vec::new()).get_name(), |
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.
These ids are an implementation detail of turbo-tasks-macro
, but I didn't see a way to get a PersistentTaskType using only public APIs, and this is a unit test of turbo-tasks
internals anyways.
If a task is conditionally compiled, we must conditionally register it. Tested as part of #8529
835b4c5
to
89fb903
Compare
I noticed this logic was duplicated across `turbo-tasks-memory` and `PersistentTaskType`. This makes sense as a method on `PersistentTaskType`, so put the logic there, and call it from both places.
* vercel/turborepo#8546 <!-- Benjamin Woodruff - Decrease default scope_stress test size, add env var config --> * vercel/turborepo#8563 <!-- Donny/강동윤 - Update `swc_core` to `v0.95.4` --> * vercel/turborepo#8556 <!-- Tobias Koppers - avoid cloning the source code --> * vercel/turborepo#8562 <!-- Will Binns-Smith - HMR: handle non-Latin characters in text through base64-encoded sourcemaps --> * vercel/turborepo#8530 <!-- Benjamin Woodruff - Support turbo tasks inside of `mod` blocks --> * vercel/turborepo#8542 <!-- Benjamin Woodruff - Handle `#[cfg(...)]` attributes on turbo tasks --> * vercel/turborepo#8529 <!-- Benjamin Woodruff - Deduplicate persistent task get_function_name logic --> * vercel/turborepo#8547 <!-- Benjamin Woodruff - Add new ExitHandler API as an alternative to ExitGuard --> * vercel/turborepo#8604 <!-- Benjamin Woodruff - Delete unused TASK_ID_MAPPING support --> * vercel/turborepo#8605 <!-- Benjamin Woodruff - Remove nohash-hasher dependency --> * vercel/turborepo#8559 <!-- Tobias Koppers - move stateful flag into Done state --> * vercel/turborepo#8598 <!-- Tim Neutkens - MDX support: Ensure development transform is only used in development --> * vercel/turborepo#8557 <!-- Tobias Koppers - reduce size of task output struct --> * vercel/turborepo#8558 <!-- Tobias Koppers - remove prepared task type --> <!-- Thanks for opening a PR! Your contribution is much appreciated. To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below. Choose the right checklist for the change(s) that you're making: ## For Contributors ### Improving Documentation - Run `pnpm prettier-fix` to fix formatting issues before opening the PR. - Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide ### Adding or Updating Examples - The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md - Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md ### Fixing a bug - Related issues linked using `fixes #number` - Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ### Adding a feature - Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas) - Related issues/discussions are linked using `fixes #number` - e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) - Documentation added - Telemetry added. In case of a feature if it's used or not. - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ## For Maintainers - Minimal description (aim for explaining to someone not on the team to understand the PR) - When linking to a Slack thread, you might want to share details of the conclusion - Link both the Linear (Fixes NEXT-xxx) and the GitHub issues - Add review comments if necessary to explain to the reviewer the logic behind a change ### What? ### Why? ### How? Closes NEXT- Fixes # -->
### Description I noticed this wasn't implemented when trying to write some unit tests inside of `mod tests`. The same visibility requirements apply (must be at least `pub(crate)`). ### Testing Instructions Tested as part of vercel/turborepo#8529
### Description If a task is conditionally compiled, we must conditionally register it. Noticed this when trying to write a test with `#[cfg(test)]`. **Related:** vercel/turborepo#8530 adds support for registering tasks inside of `mod foo { ... }` blocks. ### Testing Instructions Tested as part of vercel/turborepo#8529
…#8529) ### Description I noticed this logic was duplicated across `turbo-tasks-memory` and `PersistentTaskType`. This makes sense as a method on `PersistentTaskType`, so put the logic there, and call it from both places. ### Testing Instructions ``` cargo test -p turbo-tasks test_get_name ```
### Description I noticed this wasn't implemented when trying to write some unit tests inside of `mod tests`. The same visibility requirements apply (must be at least `pub(crate)`). ### Testing Instructions Tested as part of vercel/turborepo#8529
### Description If a task is conditionally compiled, we must conditionally register it. Noticed this when trying to write a test with `#[cfg(test)]`. **Related:** vercel/turborepo#8530 adds support for registering tasks inside of `mod foo { ... }` blocks. ### Testing Instructions Tested as part of vercel/turborepo#8529
…#8529) ### Description I noticed this logic was duplicated across `turbo-tasks-memory` and `PersistentTaskType`. This makes sense as a method on `PersistentTaskType`, so put the logic there, and call it from both places. ### Testing Instructions ``` cargo test -p turbo-tasks test_get_name ```
### Description I noticed this wasn't implemented when trying to write some unit tests inside of `mod tests`. The same visibility requirements apply (must be at least `pub(crate)`). ### Testing Instructions Tested as part of vercel/turborepo#8529
### Description If a task is conditionally compiled, we must conditionally register it. Noticed this when trying to write a test with `#[cfg(test)]`. **Related:** vercel/turborepo#8530 adds support for registering tasks inside of `mod foo { ... }` blocks. ### Testing Instructions Tested as part of vercel/turborepo#8529
…#8529) ### Description I noticed this logic was duplicated across `turbo-tasks-memory` and `PersistentTaskType`. This makes sense as a method on `PersistentTaskType`, so put the logic there, and call it from both places. ### Testing Instructions ``` cargo test -p turbo-tasks test_get_name ```
### Description I noticed this wasn't implemented when trying to write some unit tests inside of `mod tests`. The same visibility requirements apply (must be at least `pub(crate)`). ### Testing Instructions Tested as part of vercel/turborepo#8529
### Description If a task is conditionally compiled, we must conditionally register it. Noticed this when trying to write a test with `#[cfg(test)]`. **Related:** vercel/turborepo#8530 adds support for registering tasks inside of `mod foo { ... }` blocks. ### Testing Instructions Tested as part of vercel/turborepo#8529
…#8529) ### Description I noticed this logic was duplicated across `turbo-tasks-memory` and `PersistentTaskType`. This makes sense as a method on `PersistentTaskType`, so put the logic there, and call it from both places. ### Testing Instructions ``` cargo test -p turbo-tasks test_get_name ```
* vercel/turborepo#8546 <!-- Benjamin Woodruff - Decrease default scope_stress test size, add env var config --> * vercel/turborepo#8563 <!-- Donny/강동윤 - Update `swc_core` to `v0.95.4` --> * vercel/turborepo#8556 <!-- Tobias Koppers - avoid cloning the source code --> * vercel/turborepo#8562 <!-- Will Binns-Smith - HMR: handle non-Latin characters in text through base64-encoded sourcemaps --> * vercel/turborepo#8530 <!-- Benjamin Woodruff - Support turbo tasks inside of `mod` blocks --> * vercel/turborepo#8542 <!-- Benjamin Woodruff - Handle `#[cfg(...)]` attributes on turbo tasks --> * vercel/turborepo#8529 <!-- Benjamin Woodruff - Deduplicate persistent task get_function_name logic --> * vercel/turborepo#8547 <!-- Benjamin Woodruff - Add new ExitHandler API as an alternative to ExitGuard --> * vercel/turborepo#8604 <!-- Benjamin Woodruff - Delete unused TASK_ID_MAPPING support --> * vercel/turborepo#8605 <!-- Benjamin Woodruff - Remove nohash-hasher dependency --> * vercel/turborepo#8559 <!-- Tobias Koppers - move stateful flag into Done state --> * vercel/turborepo#8598 <!-- Tim Neutkens - MDX support: Ensure development transform is only used in development --> * vercel/turborepo#8557 <!-- Tobias Koppers - reduce size of task output struct --> * vercel/turborepo#8558 <!-- Tobias Koppers - remove prepared task type --> <!-- Thanks for opening a PR! Your contribution is much appreciated. To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below. Choose the right checklist for the change(s) that you're making: ## For Contributors ### Improving Documentation - Run `pnpm prettier-fix` to fix formatting issues before opening the PR. - Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide ### Adding or Updating Examples - The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md - Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md ### Fixing a bug - Related issues linked using `fixes #number` - Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ### Adding a feature - Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas) - Related issues/discussions are linked using `fixes #number` - e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) - Documentation added - Telemetry added. In case of a feature if it's used or not. - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ## For Maintainers - Minimal description (aim for explaining to someone not on the team to understand the PR) - When linking to a Slack thread, you might want to share details of the conclusion - Link both the Linear (Fixes NEXT-xxx) and the GitHub issues - Add review comments if necessary to explain to the reviewer the logic behind a change ### What? ### Why? ### How? Closes NEXT- Fixes # -->
Description
I noticed this logic was duplicated across
turbo-tasks-memory
andPersistentTaskType
.This makes sense as a method on
PersistentTaskType
, so put the logic there, and call it from both places.Testing Instructions