Turbopack: Remove EcmascriptChunkingContext (#65716)

Depends on vercel/turbo#8133. See that PR for rationale.
This commit is contained in:
Will Binns-Smith 2024-05-15 08:51:08 -07:00 committed by GitHub
parent f628aa65db
commit 81d5daddf3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 93 additions and 145 deletions

98
Cargo.lock generated
View file

@ -321,7 +321,7 @@ dependencies = [
[[package]]
name = "auto-hash-map"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"serde",
"smallvec",
@ -1144,7 +1144,7 @@ dependencies = [
"cssparser-macros",
"dtoa-short",
"itoa",
"phf 0.10.1",
"phf 0.11.2",
"serde",
"smallvec",
]
@ -3097,7 +3097,7 @@ dependencies = [
[[package]]
name = "node-file-trace"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"serde",
@ -3567,9 +3567,7 @@ version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
dependencies = [
"phf_macros 0.10.0",
"phf_shared 0.10.0",
"proc-macro-hack",
]
[[package]]
@ -3578,7 +3576,7 @@ version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
dependencies = [
"phf_macros 0.11.2",
"phf_macros",
"phf_shared 0.11.2",
]
@ -3612,20 +3610,6 @@ dependencies = [
"rand",
]
[[package]]
name = "phf_macros"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0"
dependencies = [
"phf_generator 0.10.0",
"phf_shared 0.10.0",
"proc-macro-hack",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "phf_macros"
version = "0.11.2"
@ -3820,12 +3804,6 @@ dependencies = [
"version_check",
]
[[package]]
name = "proc-macro-hack"
version = "0.5.20+deprecated"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
[[package]]
name = "proc-macro2"
version = "1.0.79"
@ -6965,7 +6943,7 @@ dependencies = [
[[package]]
name = "turbo-tasks"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"async-trait",
@ -6996,7 +6974,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-build"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"cargo-lock",
@ -7008,7 +6986,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-bytes"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"bytes",
@ -7022,7 +7000,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-env"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"dotenvs",
@ -7036,7 +7014,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-fetch"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"lazy_static",
@ -7052,7 +7030,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-fs"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"auto-hash-map",
@ -7084,7 +7062,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-hash"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"base16",
"hex",
@ -7096,7 +7074,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-macros"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"proc-macro-error",
@ -7110,7 +7088,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-macros-shared"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"proc-macro2",
"quote",
@ -7120,7 +7098,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-malloc"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"mimalloc",
]
@ -7128,7 +7106,7 @@ dependencies = [
[[package]]
name = "turbo-tasks-memory"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"auto-hash-map",
@ -7154,7 +7132,7 @@ dependencies = [
[[package]]
name = "turbopack"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"async-recursion",
@ -7184,7 +7162,7 @@ dependencies = [
[[package]]
name = "turbopack-binding"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"auto-hash-map",
"mdxjs",
@ -7225,7 +7203,7 @@ dependencies = [
[[package]]
name = "turbopack-browser"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"indexmap 1.9.3",
@ -7248,7 +7226,7 @@ dependencies = [
[[package]]
name = "turbopack-cli-utils"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"clap",
@ -7265,7 +7243,7 @@ dependencies = [
[[package]]
name = "turbopack-core"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"async-recursion",
@ -7294,7 +7272,7 @@ dependencies = [
[[package]]
name = "turbopack-css"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"indexmap 1.9.3",
@ -7321,7 +7299,7 @@ dependencies = [
[[package]]
name = "turbopack-dev-server"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"async-compression",
@ -7357,7 +7335,7 @@ dependencies = [
[[package]]
name = "turbopack-ecmascript"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"async-trait",
@ -7392,7 +7370,7 @@ dependencies = [
[[package]]
name = "turbopack-ecmascript-hmr-protocol"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"serde",
"serde_json",
@ -7403,7 +7381,7 @@ dependencies = [
[[package]]
name = "turbopack-ecmascript-plugins"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"async-trait",
@ -7427,7 +7405,7 @@ dependencies = [
[[package]]
name = "turbopack-ecmascript-runtime"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"indoc",
@ -7443,7 +7421,7 @@ dependencies = [
[[package]]
name = "turbopack-env"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"indexmap 1.9.3",
@ -7459,7 +7437,7 @@ dependencies = [
[[package]]
name = "turbopack-image"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"base64 0.21.4",
@ -7478,7 +7456,7 @@ dependencies = [
[[package]]
name = "turbopack-json"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"serde",
@ -7493,7 +7471,7 @@ dependencies = [
[[package]]
name = "turbopack-mdx"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"mdxjs",
@ -7508,7 +7486,7 @@ dependencies = [
[[package]]
name = "turbopack-node"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"async-stream",
@ -7542,7 +7520,7 @@ dependencies = [
[[package]]
name = "turbopack-nodejs"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"indexmap 1.9.3",
@ -7562,7 +7540,7 @@ dependencies = [
[[package]]
name = "turbopack-resolve"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"indexmap 1.9.3",
@ -7580,7 +7558,7 @@ dependencies = [
[[package]]
name = "turbopack-static"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"serde",
@ -7596,7 +7574,7 @@ dependencies = [
[[package]]
name = "turbopack-swc-utils"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"swc_core",
"turbo-tasks",
@ -7607,7 +7585,7 @@ dependencies = [
[[package]]
name = "turbopack-trace-server"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"either",
@ -7626,7 +7604,7 @@ dependencies = [
[[package]]
name = "turbopack-trace-utils"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"crossbeam-channel",
@ -7642,7 +7620,7 @@ dependencies = [
[[package]]
name = "turbopack-wasm"
version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240513.1#cc565e86be3506bc80592813a192217a8cc5b0c1"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240514.2#27223f159654d687d04d789b3a6b862076c239e1"
dependencies = [
"anyhow",
"indexmap 1.9.3",

View file

@ -37,11 +37,11 @@ swc_core = { version = "0.90.33", features = [
testing = { version = "0.35.22" }
# Turbo crates
turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240513.1" }
turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240514.2" }
# [TODO]: need to refactor embed_directory! macro usages, as well as resolving turbo_tasks::function, macros..
turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240513.1" }
turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240514.2" }
# [TODO]: need to refactor embed_directory! macro usage in next-core
turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240513.1" }
turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240514.2" }
# General Deps

View file

@ -27,10 +27,7 @@ use turbopack_binding::{
reference_type::EcmaScriptModulesReferenceSubType,
resolve::{origin::PlainResolveOrigin, parse::Request, pattern::Pattern},
},
ecmascript::{
chunk::EcmascriptChunkingContext, parse::ParseResult, resolve::esm_resolve,
EcmascriptModuleAsset,
},
ecmascript::{parse::ParseResult, resolve::esm_resolve, EcmascriptModuleAsset},
},
};
@ -91,7 +88,7 @@ pub(crate) async fn collect_chunk_group(
}
pub(crate) async fn collect_evaluated_chunk_group(
chunking_context: Vc<Box<dyn EcmascriptChunkingContext>>,
chunking_context: Vc<Box<dyn ChunkingContext>>,
dynamic_import_entries: IndexMap<Vc<Box<dyn Module>>, DynamicImportedModules>,
) -> Result<Vc<DynamicImportedChunks>> {
collect_chunk_group_inner(dynamic_import_entries, |module| async move {

View file

@ -34,7 +34,10 @@ use turbopack_binding::{
turbopack::{
core::{
asset::AssetContent,
chunk::{availability_info::AvailabilityInfo, ChunkingContextExt, EvaluatableAssets},
chunk::{
availability_info::AvailabilityInfo, ChunkingContext, ChunkingContextExt,
EvaluatableAssets,
},
context::AssetContext,
file_source::FileSource,
issue::IssueSeverity,
@ -48,9 +51,7 @@ use turbopack_binding::{
virtual_output::VirtualOutputAsset,
},
ecmascript::{
chunk::{EcmascriptChunkPlaceable, EcmascriptChunkingContext},
resolve::esm_resolve,
EcmascriptModuleAsset,
chunk::EcmascriptChunkPlaceable, resolve::esm_resolve, EcmascriptModuleAsset,
},
nodejs::{EntryChunkGroupResult, NodeJsChunkingContext},
turbopack::{
@ -705,7 +706,7 @@ impl PageEndpoint {
module_context: Vc<ModuleAssetContext>,
edge_module_context: Vc<ModuleAssetContext>,
chunking_context: Vc<NodeJsChunkingContext>,
edge_chunking_context: Vc<Box<dyn EcmascriptChunkingContext>>,
edge_chunking_context: Vc<Box<dyn ChunkingContext>>,
runtime_entries: Vc<EvaluatableAssets>,
edge_runtime_entries: Vc<EvaluatableAssets>,
) -> Result<Vc<SsrChunk>> {

View file

@ -38,6 +38,7 @@ use turbopack_binding::{
browser::BrowserChunkingContext,
core::{
changed::content_changed,
chunk::ChunkingContext,
compile_time_info::CompileTimeInfo,
context::AssetContext,
diagnostics::DiagnosticExt,
@ -50,7 +51,6 @@ use turbopack_binding::{
version::{Update, Version, VersionState, VersionedContent},
PROJECT_FILESYSTEM_NAME,
},
ecmascript::chunk::EcmascriptChunkingContext,
node::execution_context::ExecutionContext,
nodejs::NodeJsChunkingContext,
turbopack::{evaluate_context::node_build_environment, ModuleAssetContext},
@ -625,7 +625,7 @@ impl Project {
#[turbo_tasks::function]
pub(super) async fn client_chunking_context(
self: Vc<Self>,
) -> Result<Vc<Box<dyn EcmascriptChunkingContext>>> {
) -> Result<Vc<Box<dyn ChunkingContext>>> {
Ok(get_client_chunking_context(
self.project_path(),
self.client_relative_path(),
@ -663,7 +663,7 @@ impl Project {
pub(super) fn edge_chunking_context(
self: Vc<Self>,
client_assets: bool,
) -> Vc<Box<dyn EcmascriptChunkingContext>> {
) -> Vc<Box<dyn ChunkingContext>> {
if client_assets {
get_edge_chunking_context_with_client_assets(
self.next_mode(),

View file

@ -17,7 +17,7 @@ use turbopack_binding::{
turbopack::{
core::{
asset::{Asset, AssetContent},
chunk::{ChunkItemExt, ChunkableModule, EvaluatableAsset},
chunk::{ChunkItemExt, ChunkableModule, ChunkingContext, EvaluatableAsset},
context::AssetContext,
module::Module,
output::OutputAsset,
@ -29,9 +29,8 @@ use turbopack_binding::{
virtual_source::VirtualSource,
},
ecmascript::{
chunk::{EcmascriptChunkPlaceable, EcmascriptChunkingContext},
parse::ParseResult,
EcmascriptModuleAsset, EcmascriptModuleAssetType,
chunk::EcmascriptChunkPlaceable, parse::ParseResult, EcmascriptModuleAsset,
EcmascriptModuleAssetType,
},
},
};
@ -51,7 +50,7 @@ pub(crate) async fn create_server_actions_manifest(
page_name: &str,
runtime: NextRuntime,
asset_context: Vc<Box<dyn AssetContext>>,
chunking_context: Vc<Box<dyn EcmascriptChunkingContext>>,
chunking_context: Vc<Box<dyn ChunkingContext>>,
) -> Result<(Vc<Box<dyn EvaluatableAsset>>, Vc<Box<dyn OutputAsset>>)> {
let actions = get_actions(rsc_entry, server_reference_modules, asset_context);
let loader =

View file

@ -2,13 +2,10 @@ use anyhow::Result;
use indexmap::IndexMap;
use tracing::Instrument;
use turbo_tasks::{TryFlatJoinIterExt, TryJoinIterExt, Value, ValueToString, Vc};
use turbopack_binding::turbopack::{
core::{
chunk::{availability_info::AvailabilityInfo, ChunkingContext, ChunkingContextExt},
module::Module,
output::OutputAssets,
},
ecmascript::chunk::EcmascriptChunkingContext,
use turbopack_binding::turbopack::core::{
chunk::{availability_info::AvailabilityInfo, ChunkingContext, ChunkingContextExt},
module::Module,
output::OutputAssets,
};
use super::include_modules_module::IncludeModulesModule;
@ -44,9 +41,9 @@ pub struct ClientReferencesChunks {
#[turbo_tasks::function]
pub async fn get_app_client_references_chunks(
app_client_references: Vc<ClientReferenceGraphResult>,
client_chunking_context: Vc<Box<dyn EcmascriptChunkingContext>>,
client_chunking_context: Vc<Box<dyn ChunkingContext>>,
client_availability_info: Value<AvailabilityInfo>,
ssr_chunking_context: Option<Vc<Box<dyn EcmascriptChunkingContext>>>,
ssr_chunking_context: Option<Vc<Box<dyn ChunkingContext>>>,
) -> Result<Vc<ClientReferencesChunks>> {
async move {
// TODO Reconsider this. Maybe it need to be true in production.

View file

@ -1,22 +1,18 @@
use anyhow::Result;
use turbo_tasks::{Value, Vc};
use turbopack_binding::turbopack::{
core::{
chunk::{
availability_info::AvailabilityInfo, ChunkGroupResult, ChunkingContext,
EvaluatableAssets,
},
ident::AssetIdent,
output::OutputAssets,
use turbopack_binding::turbopack::core::{
chunk::{
availability_info::AvailabilityInfo, ChunkGroupResult, ChunkingContext, EvaluatableAssets,
},
ecmascript::chunk::EcmascriptChunkingContext,
ident::AssetIdent,
output::OutputAssets,
};
#[turbo_tasks::function]
pub async fn get_app_client_shared_chunk_group(
ident: Vc<AssetIdent>,
app_client_runtime_entries: Vc<EvaluatableAssets>,
client_chunking_context: Vc<Box<dyn EcmascriptChunkingContext>>,
client_chunking_context: Vc<Box<dyn ChunkingContext>>,
) -> Result<Vc<ChunkGroupResult>> {
if app_client_runtime_entries.await?.is_empty() {
return Ok(ChunkGroupResult {

View file

@ -1,4 +1,4 @@
use anyhow::{Context, Result};
use anyhow::Result;
use turbo_tasks::{TryJoinIterExt, ValueToString, Vc};
use turbo_tasks_fs::glob::Glob;
use turbopack_binding::turbopack::{
@ -12,7 +12,7 @@ use turbopack_binding::turbopack::{
},
ecmascript::chunk::{
EcmascriptChunkItem, EcmascriptChunkItemContent, EcmascriptChunkPlaceable,
EcmascriptChunkType, EcmascriptChunkingContext, EcmascriptExports,
EcmascriptChunkType, EcmascriptExports,
},
};
@ -81,13 +81,6 @@ impl ChunkableModule for IncludeModulesModule {
self: Vc<Self>,
chunking_context: Vc<Box<dyn ChunkingContext>>,
) -> Result<Vc<Box<dyn ChunkItem>>> {
let chunking_context =
Vc::try_resolve_downcast::<Box<dyn EcmascriptChunkingContext>>(chunking_context)
.await?
.context(
"chunking context must impl EcmascriptChunkingContext to use \
EcmascriptClientReferenceProxyModule",
)?;
Ok(Vc::upcast(
IncludeModulesChunkItem {
module: self,
@ -102,7 +95,7 @@ impl ChunkableModule for IncludeModulesModule {
#[turbo_tasks::value]
struct IncludeModulesChunkItem {
module: Vc<IncludeModulesModule>,
chunking_context: Vc<Box<dyn EcmascriptChunkingContext>>,
chunking_context: Vc<Box<dyn ChunkingContext>>,
}
#[turbo_tasks::value_impl]
@ -135,7 +128,7 @@ impl ChunkItem for IncludeModulesChunkItem {
#[turbo_tasks::value_impl]
impl EcmascriptChunkItem for IncludeModulesChunkItem {
#[turbo_tasks::function]
fn chunking_context(&self) -> Vc<Box<dyn EcmascriptChunkingContext>> {
fn chunking_context(&self) -> Vc<Box<dyn ChunkingContext>> {
self.chunking_context
}

View file

@ -9,6 +9,7 @@ use turbopack_binding::{
turbopack::{
browser::{react_refresh::assert_can_resolve_react_refresh, BrowserChunkingContext},
core::{
chunk::ChunkingContext,
compile_time_info::{
CompileTimeDefineValue, CompileTimeDefines, CompileTimeInfo, FreeVarReference,
FreeVarReferences,
@ -17,7 +18,7 @@ use turbopack_binding::{
free_var_references,
resolve::{parse::Request, pattern::Pattern},
},
ecmascript::{chunk::EcmascriptChunkingContext, TreeShakingMode},
ecmascript::TreeShakingMode,
node::{
execution_context::ExecutionContext,
transforms::postcss::{PostCssConfigLocation, PostCssTransformOptions},
@ -324,7 +325,7 @@ pub async fn get_client_chunking_context(
asset_prefix: Vc<Option<String>>,
environment: Vc<Environment>,
mode: Vc<NextMode>,
) -> Result<Vc<Box<dyn EcmascriptChunkingContext>>> {
) -> Result<Vc<Box<dyn ChunkingContext>>> {
let next_mode = mode.await?;
let mut builder = BrowserChunkingContext::builder(
project_path,

View file

@ -19,7 +19,7 @@ use turbopack_binding::turbopack::{
ecmascript::{
chunk::{
EcmascriptChunkItem, EcmascriptChunkItemContent, EcmascriptChunkPlaceable,
EcmascriptChunkType, EcmascriptChunkingContext, EcmascriptExports,
EcmascriptChunkType, EcmascriptExports,
},
utils::StringifyJs,
EcmascriptModuleAsset,
@ -221,13 +221,6 @@ impl ChunkableModule for EcmascriptClientReferenceProxyModule {
let ecmascript_item = Vc::try_resolve_downcast::<Box<dyn EcmascriptChunkItem>>(item)
.await?
.context("EcmascriptModuleAsset must implement EcmascriptChunkItem")?;
let chunking_context =
Vc::try_resolve_downcast::<Box<dyn EcmascriptChunkingContext>>(chunking_context)
.await?
.context(
"chunking context must impl EcmascriptChunkingContext to use \
EcmascriptClientReferenceProxyModule",
)?;
Ok(Vc::upcast(
ProxyModuleChunkItem {
@ -256,7 +249,7 @@ impl EcmascriptChunkPlaceable for EcmascriptClientReferenceProxyModule {
struct ProxyModuleChunkItem {
client_proxy_asset: Vc<EcmascriptClientReferenceProxyModule>,
inner_proxy_module_chunk_item: Vc<Box<dyn EcmascriptChunkItem>>,
chunking_context: Vc<Box<dyn EcmascriptChunkingContext>>,
chunking_context: Vc<Box<dyn ChunkingContext>>,
}
#[turbo_tasks::function]
@ -314,7 +307,7 @@ impl EcmascriptChunkItem for ProxyModuleChunkItem {
}
#[turbo_tasks::function]
fn chunking_context(&self) -> Vc<Box<dyn EcmascriptChunkingContext>> {
fn chunking_context(&self) -> Vc<Box<dyn ChunkingContext>> {
EcmascriptChunkItem::chunking_context(self.inner_proxy_module_chunk_item)
}
}

View file

@ -6,6 +6,7 @@ use turbopack_binding::{
turbopack::{
browser::BrowserChunkingContext,
core::{
chunk::ChunkingContext,
compile_time_info::{
CompileTimeDefineValue, CompileTimeDefines, CompileTimeInfo, FreeVarReference,
FreeVarReferences,
@ -13,7 +14,6 @@ use turbopack_binding::{
environment::{EdgeWorkerEnvironment, Environment, ExecutionEnvironment},
free_var_references,
},
ecmascript::chunk::EcmascriptChunkingContext,
node::execution_context::ExecutionContext,
turbopack::resolve_options_context::ResolveOptionsContext,
},
@ -173,7 +173,7 @@ pub async fn get_edge_chunking_context_with_client_assets(
client_root: Vc<FileSystemPath>,
asset_prefix: Vc<Option<String>>,
environment: Vc<Environment>,
) -> Result<Vc<Box<dyn EcmascriptChunkingContext>>> {
) -> Result<Vc<Box<dyn ChunkingContext>>> {
let output_root = node_root.join("server/edge".to_string());
let next_mode = mode.await?;
Ok(Vc::upcast(
@ -198,7 +198,7 @@ pub async fn get_edge_chunking_context(
project_path: Vc<FileSystemPath>,
node_root: Vc<FileSystemPath>,
environment: Vc<Environment>,
) -> Result<Vc<Box<dyn EcmascriptChunkingContext>>> {
) -> Result<Vc<Box<dyn ChunkingContext>>> {
let output_root = node_root.join("server/edge".to_string());
let next_mode = mode.await?;
Ok(Vc::upcast(

View file

@ -5,11 +5,11 @@ use turbo_tasks_fs::{File, FileSystemPath};
use turbopack_binding::turbopack::{
core::{
asset::AssetContent,
chunk::{ChunkItemExt, ChunkableModule, ModuleId as TurbopackModuleId},
chunk::{ChunkItemExt, ChunkableModule, ChunkingContext, ModuleId as TurbopackModuleId},
output::OutputAsset,
virtual_output::VirtualOutputAsset,
},
ecmascript::{chunk::EcmascriptChunkingContext, utils::StringifyJs},
ecmascript::utils::StringifyJs,
};
use super::{ClientReferenceManifest, ManifestNode, ManifestNodeEntry, ModuleId};
@ -29,8 +29,8 @@ impl ClientReferenceManifest {
entry_name: String,
client_references: Vc<ClientReferenceGraphResult>,
client_references_chunks: Vc<ClientReferencesChunks>,
client_chunking_context: Vc<Box<dyn EcmascriptChunkingContext>>,
ssr_chunking_context: Option<Vc<Box<dyn EcmascriptChunkingContext>>>,
client_chunking_context: Vc<Box<dyn ChunkingContext>>,
ssr_chunking_context: Option<Vc<Box<dyn ChunkingContext>>>,
next_config: Vc<NextConfig>,
runtime: NextRuntime,
) -> Result<Vc<Box<dyn OutputAsset>>> {

View file

@ -1,6 +1,6 @@
use std::collections::BTreeMap;
use anyhow::{bail, Context, Result};
use anyhow::{bail, Result};
use indoc::formatdoc;
use turbo_tasks::Vc;
use turbo_tasks_fs::FileSystemPath;
@ -19,7 +19,7 @@ use turbopack_binding::turbopack::{
turbopack::ecmascript::{
chunk::{
EcmascriptChunkItem, EcmascriptChunkItemContent, EcmascriptChunkPlaceable,
EcmascriptChunkingContext, EcmascriptExports,
EcmascriptExports,
},
utils::StringifyJs,
},
@ -81,16 +81,9 @@ impl ChunkableModule for NextServerComponentModule {
self: Vc<Self>,
chunking_context: Vc<Box<dyn ChunkingContext>>,
) -> Result<Vc<Box<dyn turbopack_binding::turbopack::core::chunk::ChunkItem>>> {
let context =
Vc::try_resolve_downcast::<Box<dyn EcmascriptChunkingContext>>(chunking_context)
.await?
.context(
"chunking context must impl EcmascriptChunkingContext to use \
NextServerComponentModule",
)?;
Ok(Vc::upcast(
BuildServerComponentChunkItem {
context,
chunking_context,
inner: self,
}
.cell(),
@ -122,15 +115,15 @@ impl EcmascriptChunkPlaceable for NextServerComponentModule {
#[turbo_tasks::value]
struct BuildServerComponentChunkItem {
context: Vc<Box<dyn EcmascriptChunkingContext>>,
chunking_context: Vc<Box<dyn ChunkingContext>>,
inner: Vc<NextServerComponentModule>,
}
#[turbo_tasks::value_impl]
impl EcmascriptChunkItem for BuildServerComponentChunkItem {
#[turbo_tasks::function]
fn chunking_context(&self) -> Vc<Box<dyn EcmascriptChunkingContext>> {
self.context
fn chunking_context(&self) -> Vc<Box<dyn ChunkingContext>> {
self.chunking_context
}
#[turbo_tasks::function]
@ -140,7 +133,7 @@ impl EcmascriptChunkItem for BuildServerComponentChunkItem {
let module_id = inner
.module
.as_chunk_item(Vc::upcast(this.context))
.as_chunk_item(Vc::upcast(this.chunking_context))
.id()
.await?;
Ok(EcmascriptChunkItemContent {
@ -173,7 +166,7 @@ impl ChunkItem for BuildServerComponentChunkItem {
#[turbo_tasks::function]
async fn chunking_context(&self) -> Vc<Box<dyn ChunkingContext>> {
Vc::upcast(self.context)
self.chunking_context
}
#[turbo_tasks::function]