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): Add NonLocalValue derives to types deriving TraceRawVcs #73714

Merged
merged 1 commit into from
Dec 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions crates/next-api/src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ use serde::{Deserialize, Serialize};
use tracing::Instrument;
use turbo_rcstr::RcStr;
use turbo_tasks::{
fxindexmap, fxindexset, trace::TraceRawVcs, Completion, FxIndexSet, ResolvedVc, TryJoinIterExt,
Value, ValueToString, Vc,
fxindexmap, fxindexset, trace::TraceRawVcs, Completion, FxIndexSet, NonLocalValue, ResolvedVc,
TryJoinIterExt, Value, ValueToString, Vc,
};
use turbo_tasks_env::{CustomProcessEnv, ProcessEnv};
use turbo_tasks_fs::{File, FileContent, FileSystemPath};
Expand Down Expand Up @@ -746,7 +746,7 @@ fn server_utils_modifier() -> Vc<RcStr> {
#[turbo_tasks::value(transparent)]
struct OutputAssetsWithAvailability((ResolvedVc<OutputAssets>, AvailabilityInfo));

#[derive(Copy, Clone, Serialize, Deserialize, PartialEq, Eq, Debug, TraceRawVcs)]
#[derive(Copy, Clone, Serialize, Deserialize, PartialEq, Eq, Debug, TraceRawVcs, NonLocalValue)]
enum AppPageEndpointType {
Html,
Rsc,
Expand Down
16 changes: 13 additions & 3 deletions crates/next-api/src/operation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -101,13 +101,13 @@ fn wrap(
OperationVc::new(wrap_endpoint(endpoint, op))
}

#[derive(Serialize, Deserialize, TraceRawVcs, PartialEq, Eq, ValueDebugFormat)]
#[derive(Serialize, Deserialize, TraceRawVcs, PartialEq, Eq, ValueDebugFormat, NonLocalValue)]
pub struct InstrumentationOperation {
pub node_js: OperationVc<Box<dyn Endpoint>>,
pub edge: OperationVc<Box<dyn Endpoint>>,
}

#[derive(Serialize, Deserialize, TraceRawVcs, PartialEq, Eq, ValueDebugFormat)]
#[derive(Serialize, Deserialize, TraceRawVcs, PartialEq, Eq, ValueDebugFormat, NonLocalValue)]
pub struct MiddlewareOperation {
pub endpoint: OperationVc<Box<dyn Endpoint>>,
}
Expand All @@ -130,7 +130,17 @@ pub enum RouteOperation {
Conflict,
}

#[derive(TraceRawVcs, Serialize, Deserialize, PartialEq, Eq, ValueDebugFormat, Clone, Debug)]
#[derive(
TraceRawVcs,
Serialize,
Deserialize,
PartialEq,
Eq,
ValueDebugFormat,
Clone,
Debug,
NonLocalValue,
)]
pub struct AppPageRouteOperation {
pub original_name: String,
pub html_endpoint: OperationVc<Box<dyn Endpoint>>,
Expand Down
27 changes: 24 additions & 3 deletions crates/next-api/src/pages.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ use serde::{Deserialize, Serialize};
use tracing::Instrument;
use turbo_rcstr::RcStr;
use turbo_tasks::{
fxindexmap, trace::TraceRawVcs, Completion, FxIndexMap, ResolvedVc, TaskInput, Value, Vc,
fxindexmap, trace::TraceRawVcs, Completion, FxIndexMap, NonLocalValue, ResolvedVc, TaskInput,
Value, Vc,
};
use turbo_tasks_fs::{
self, File, FileContent, FileSystem, FileSystemPath, FileSystemPathOption, VirtualFileSystem,
Expand Down Expand Up @@ -631,7 +632,17 @@ struct PageEndpoint {
}

#[derive(
Copy, Clone, Serialize, Deserialize, PartialEq, Eq, Hash, Debug, TaskInput, TraceRawVcs,
Copy,
Clone,
Serialize,
Deserialize,
PartialEq,
Eq,
Hash,
Debug,
TaskInput,
TraceRawVcs,
NonLocalValue,
)]
enum PageEndpointType {
Api,
Expand All @@ -641,7 +652,17 @@ enum PageEndpointType {
}

#[derive(
Copy, Clone, Serialize, Deserialize, PartialEq, Eq, Hash, Debug, TaskInput, TraceRawVcs,
Copy,
Clone,
Serialize,
Deserialize,
PartialEq,
Eq,
Hash,
Debug,
TaskInput,
TraceRawVcs,
NonLocalValue,
)]
enum SsrChunkType {
Page,
Expand Down
4 changes: 2 additions & 2 deletions crates/next-api/src/paths.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ use next_core::{all_assets_from_entries, next_manifests::AssetBinding};
use serde::{Deserialize, Serialize};
use tracing::Instrument;
use turbo_rcstr::RcStr;
use turbo_tasks::{trace::TraceRawVcs, ResolvedVc, TryFlatJoinIterExt, Vc};
use turbo_tasks::{trace::TraceRawVcs, NonLocalValue, ResolvedVc, TryFlatJoinIterExt, Vc};
use turbo_tasks_fs::FileSystemPath;
use turbopack_core::{
asset::{Asset, AssetContent},
output::{OutputAsset, OutputAssets},
};

/// A reference to a server file with content hash for change detection
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, TraceRawVcs)]
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, TraceRawVcs, NonLocalValue)]
pub struct ServerPath {
/// Relative to the root_path
pub path: String,
Expand Down
33 changes: 26 additions & 7 deletions crates/next-api/src/project.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ use turbo_tasks::{
fxindexmap,
graph::{AdjacencyMap, GraphTraversal},
trace::TraceRawVcs,
Completion, Completions, FxIndexMap, IntoTraitRef, ReadRef, ResolvedVc, State, TaskInput,
TransientInstance, TryFlatJoinIterExt, Value, Vc,
Completion, Completions, FxIndexMap, IntoTraitRef, NonLocalValue, ReadRef, ResolvedVc, State,
TaskInput, TransientInstance, TryFlatJoinIterExt, Value, Vc,
};
use turbo_tasks_env::{EnvMap, ProcessEnv};
use turbo_tasks_fs::{DiskFileSystem, FileSystem, FileSystemPath, VirtualFileSystem};
Expand Down Expand Up @@ -72,7 +72,9 @@ use crate::{
versioned_content_map::{OutputAssetsOperation, VersionedContentMap},
};

#[derive(Debug, Serialize, Deserialize, Clone, TaskInput, PartialEq, Eq, Hash, TraceRawVcs)]
#[derive(
Debug, Serialize, Deserialize, Clone, TaskInput, PartialEq, Eq, Hash, TraceRawVcs, NonLocalValue,
)]
#[serde(rename_all = "camelCase")]
pub struct DraftModeOptions {
pub preview_mode_id: RcStr,
Expand All @@ -81,7 +83,18 @@ pub struct DraftModeOptions {
}

#[derive(
Debug, Default, Serialize, Deserialize, Copy, Clone, TaskInput, PartialEq, Eq, Hash, TraceRawVcs,
Debug,
Default,
Serialize,
Deserialize,
Copy,
Clone,
TaskInput,
PartialEq,
Eq,
Hash,
TraceRawVcs,
NonLocalValue,
)]
#[serde(rename_all = "camelCase")]
pub struct WatchOptions {
Expand All @@ -93,7 +106,9 @@ pub struct WatchOptions {
pub poll_interval: Option<Duration>,
}

#[derive(Debug, Serialize, Deserialize, Clone, TaskInput, PartialEq, Eq, Hash, TraceRawVcs)]
#[derive(
Debug, Serialize, Deserialize, Clone, TaskInput, PartialEq, Eq, Hash, TraceRawVcs, NonLocalValue,
)]
#[serde(rename_all = "camelCase")]
pub struct ProjectOptions {
/// A root path from which all files must be nested under. Trying to access
Expand Down Expand Up @@ -135,7 +150,9 @@ pub struct ProjectOptions {
pub browserslist_query: RcStr,
}

#[derive(Debug, Serialize, Deserialize, Clone, TaskInput, PartialEq, Eq, Hash, TraceRawVcs)]
#[derive(
Debug, Serialize, Deserialize, Clone, TaskInput, PartialEq, Eq, Hash, TraceRawVcs, NonLocalValue,
)]
#[serde(rename_all = "camelCase")]
pub struct PartialProjectOptions {
/// A root path from which all files must be nested under. Trying to access
Expand Down Expand Up @@ -174,7 +191,9 @@ pub struct PartialProjectOptions {
pub preview_props: Option<DraftModeOptions>,
}

#[derive(Debug, Serialize, Deserialize, Clone, TaskInput, PartialEq, Eq, Hash, TraceRawVcs)]
#[derive(
Debug, Serialize, Deserialize, Clone, TaskInput, PartialEq, Eq, Hash, TraceRawVcs, NonLocalValue,
)]
#[serde(rename_all = "camelCase")]
pub struct DefineEnv {
pub client: Vec<(RcStr, RcStr)>,
Expand Down
15 changes: 11 additions & 4 deletions crates/next-core/src/app_segment_config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ use swc_core::{
};
use turbo_rcstr::RcStr;
use turbo_tasks::{
trace::TraceRawVcs, util::WrapFuture, ResolvedVc, TryJoinIterExt, ValueDefault, Vc,
trace::TraceRawVcs, util::WrapFuture, NonLocalValue, ResolvedVc, TryJoinIterExt, ValueDefault,
Vc,
};
use turbo_tasks_fs::FileSystemPath;
use turbopack_core::{
Expand All @@ -29,7 +30,9 @@ use turbopack_ecmascript::{

use crate::{app_structure::AppPageLoaderTree, util::NextRuntime};

#[derive(Default, PartialEq, Eq, Clone, Copy, Debug, TraceRawVcs, Serialize, Deserialize)]
#[derive(
Default, PartialEq, Eq, Clone, Copy, Debug, TraceRawVcs, Serialize, Deserialize, NonLocalValue,
)]
#[serde(rename_all = "kebab-case")]
pub enum NextSegmentDynamic {
#[default]
Expand All @@ -39,7 +42,9 @@ pub enum NextSegmentDynamic {
ForceStatic,
}

#[derive(Default, PartialEq, Eq, Clone, Copy, Debug, TraceRawVcs, Serialize, Deserialize)]
#[derive(
Default, PartialEq, Eq, Clone, Copy, Debug, TraceRawVcs, Serialize, Deserialize, NonLocalValue,
)]
#[serde(rename_all = "kebab-case")]
pub enum NextSegmentFetchCache {
#[default]
Expand All @@ -52,7 +57,9 @@ pub enum NextSegmentFetchCache {
ForceNoStore,
}

#[derive(Default, PartialEq, Eq, Clone, Copy, Debug, TraceRawVcs, Serialize, Deserialize)]
#[derive(
Default, PartialEq, Eq, Clone, Copy, Debug, TraceRawVcs, Serialize, Deserialize, NonLocalValue,
)]
pub enum NextRevalidate {
#[default]
Never,
Expand Down
29 changes: 26 additions & 3 deletions crates/next-core/src/next_app/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ use std::{
use anyhow::{bail, Result};
use serde::{Deserialize, Serialize};
use turbo_rcstr::RcStr;
use turbo_tasks::{trace::TraceRawVcs, TaskInput};
use turbo_tasks::{trace::TraceRawVcs, NonLocalValue, TaskInput};

pub use crate::next_app::{
app_client_references_chunks::{get_app_client_references_chunks, ClientReferencesChunks},
Expand All @@ -38,6 +38,7 @@ pub use crate::next_app::{
Ord,
TaskInput,
TraceRawVcs,
NonLocalValue,
)]
pub enum PageSegment {
/// e.g. `/dashboard`
Expand Down Expand Up @@ -142,6 +143,7 @@ impl Display for PageSegment {
Ord,
TaskInput,
TraceRawVcs,
NonLocalValue,
)]
pub enum PageType {
Page,
Expand All @@ -161,7 +163,17 @@ impl Display for PageType {
/// intercepting routes, parallel routes and route/page suffixes that are not
/// part of the pathname.
#[derive(
Clone, Debug, Hash, PartialEq, Eq, Default, Serialize, Deserialize, TaskInput, TraceRawVcs,
Clone,
Debug,
Hash,
PartialEq,
Eq,
Default,
Serialize,
Deserialize,
TaskInput,
TraceRawVcs,
NonLocalValue,
)]
pub struct AppPage(pub Vec<PageSegment>);

Expand Down Expand Up @@ -335,6 +347,7 @@ impl PartialOrd for AppPage {
Ord,
TaskInput,
TraceRawVcs,
NonLocalValue,
)]
pub enum PathSegment {
/// e.g. `/dashboard`
Expand Down Expand Up @@ -376,7 +389,17 @@ impl Display for PathSegment {
/// Does not include internal modifiers as it's the equivalent of the http
/// request path.
#[derive(
Clone, Debug, Hash, PartialEq, Eq, Default, Serialize, Deserialize, TaskInput, TraceRawVcs,
Clone,
Debug,
Hash,
PartialEq,
Eq,
Default,
Serialize,
Deserialize,
TaskInput,
TraceRawVcs,
NonLocalValue,
)]
pub struct AppPath(pub Vec<PathSegment>);

Expand Down
Loading
Loading