From b467b746b4df1db816e1a388710bbfb825c13f01 Mon Sep 17 00:00:00 2001 From: hrmny Date: Wed, 9 Aug 2023 16:40:02 +0200 Subject: [PATCH] bring back `Value` wrapping --- crates/turbopack-cli/src/build/mod.rs | 4 +-- crates/turbopack-cli/src/dev/mod.rs | 6 ++--- crates/turbopack-core/src/ident.rs | 23 +++++++++------- crates/turbopack-core/src/resolve/mod.rs | 16 ++++++------ crates/turbopack-core/src/resolve/options.rs | 4 +-- crates/turbopack-core/src/resolve/parse.rs | 26 +++++++++---------- crates/turbopack-core/src/resolve/pattern.rs | 4 +-- crates/turbopack-css/src/chunk/mod.rs | 5 ++-- crates/turbopack-css/src/module_asset.rs | 2 +- crates/turbopack-css/src/references/mod.rs | 4 +-- .../src/ecmascript/evaluate/chunk.rs | 6 ++--- .../src/ecmascript/list/asset.rs | 4 +-- crates/turbopack-ecmascript/src/chunk/mod.rs | 5 ++-- crates/turbopack-ecmascript/src/lib.rs | 2 +- .../src/references/mod.rs | 24 ++++++++--------- .../src/references/require_context.rs | 2 +- .../src/references/typescript.rs | 2 +- .../src/typescript/mod.rs | 6 ++--- .../src/typescript/resolve.rs | 2 +- 19 files changed, 75 insertions(+), 72 deletions(-) diff --git a/crates/turbopack-cli/src/build/mod.rs b/crates/turbopack-cli/src/build/mod.rs index 50bfc4e8de611..91ad40ddfa36d 100644 --- a/crates/turbopack-cli/src/build/mod.rs +++ b/crates/turbopack-cli/src/build/mod.rs @@ -205,10 +205,10 @@ async fn build_internal( .map(|r| async move { Ok(match &*r.await? { EntryRequest::Relative(p) => { - Request::relative(p.clone().into(), QueryMap::empty(), false) + Request::relative(Value::new(p.clone().into()), QueryMap::empty(), false) } EntryRequest::Module(m, p) => { - Request::module(m.clone(), p.clone().into(), QueryMap::empty()) + Request::module(m.clone(), Value::new(p.clone().into()), QueryMap::empty()) } }) }) diff --git a/crates/turbopack-cli/src/dev/mod.rs b/crates/turbopack-cli/src/dev/mod.rs index 5fb831ab46bf8..0fb95f4d6d942 100644 --- a/crates/turbopack-cli/src/dev/mod.rs +++ b/crates/turbopack-cli/src/dev/mod.rs @@ -13,7 +13,7 @@ use anyhow::{Context, Result}; use owo_colors::OwoColorize; use turbo_tasks::{ util::{FormatBytes, FormatDuration}, - StatsType, TransientInstance, TurboTasks, TurboTasksBackendApi, UpdateInfo, Vc, + StatsType, TransientInstance, TurboTasks, TurboTasksBackendApi, UpdateInfo, Value, Vc, }; use turbo_tasks_fs::FileSystem; use turbo_tasks_malloc::TurboMalloc; @@ -269,10 +269,10 @@ async fn source( .iter() .map(|r| match r { EntryRequest::Relative(p) => { - Request::relative(p.clone().into(), QueryMap::empty(), false) + Request::relative(Value::new(p.clone().into()), QueryMap::empty(), false) } EntryRequest::Module(m, p) => { - Request::module(m.clone(), p.clone().into(), QueryMap::empty()) + Request::module(m.clone(), Value::new(p.clone().into()), QueryMap::empty()) } }) .collect(); diff --git a/crates/turbopack-core/src/ident.rs b/crates/turbopack-core/src/ident.rs index a768499e19187..f1995dc2b938f 100644 --- a/crates/turbopack-core/src/ident.rs +++ b/crates/turbopack-core/src/ident.rs @@ -1,13 +1,13 @@ use std::fmt::Write; use anyhow::Result; -use turbo_tasks::{ValueToString, Vc}; +use turbo_tasks::{Value, ValueToString, Vc}; use turbo_tasks_fs::FileSystemPath; use turbo_tasks_hash::{encode_hex, hash_xxh3_hash64, DeterministicHash, Xxh3Hash64Hasher}; use crate::resolve::{pattern::QueryMap, ModulePart}; -#[turbo_tasks::value(serialization = "auto_for_input", shared)] +#[turbo_tasks::value(serialization = "auto_for_input")] #[derive(Clone, Debug, PartialOrd, Ord, Hash)] pub struct AssetIdent { /// The primary path of the asset @@ -83,52 +83,57 @@ impl ValueToString for AssetIdent { #[turbo_tasks::value_impl] impl AssetIdent { + #[turbo_tasks::function] + pub fn new(ident: Value) -> Vc { + ident.into_value().cell() + } + /// Creates an [AssetIdent] from a [Vc] #[turbo_tasks::function] pub fn from_path(path: Vc) -> Vc { - Self::cell(AssetIdent { + Self::new(Value::new(AssetIdent { path, query: QueryMap::empty(), fragment: None, assets: Vec::new(), modifiers: Vec::new(), part: None, - }) + })) } #[turbo_tasks::function] pub fn with_query(&self, query: Vc) -> Vc { let mut this = self.clone(); this.query = this.query.merge(query); - this.cell() + Self::new(Value::new(this)) } #[turbo_tasks::function] pub fn with_modifier(&self, modifier: Vc) -> Vc { let mut this = self.clone(); this.add_modifier(modifier); - this.cell() + Self::new(Value::new(this)) } #[turbo_tasks::function] pub fn with_part(&self, part: Vc) -> Vc { let mut this = self.clone(); this.part = Some(part); - this.cell() + Self::new(Value::new(this)) } #[turbo_tasks::function] pub fn with_path(&self, path: Vc) -> Vc { let mut this = self.clone(); this.path = path; - this.cell() + Self::new(Value::new(this)) } #[turbo_tasks::function] pub async fn rename_as(&self, pattern: String) -> Result> { let mut this = self.clone(); this.rename_as_ref(&pattern).await?; - Ok(this.cell()) + Ok(Self::new(Value::new(this))) } #[turbo_tasks::function] diff --git a/crates/turbopack-core/src/resolve/mod.rs b/crates/turbopack-core/src/resolve/mod.rs index 39d6a8ab2c746..001eda6827f7f 100644 --- a/crates/turbopack-core/src/resolve/mod.rs +++ b/crates/turbopack-core/src/resolve/mod.rs @@ -1175,7 +1175,7 @@ async fn resolve_internal( for pattern in patterns { results.push(resolve_internal( lookup_path, - Request::raw(pattern, *query, *force_in_lookup_dir), + Request::raw(Value::new(pattern), *query, *force_in_lookup_dir), options, )); } @@ -1193,7 +1193,7 @@ async fn resolve_internal( Request::ServerRelative { path, query } => { let mut new_pat = path.clone(); new_pat.push_front(".".to_string().into()); - let relative = Request::relative(new_pat, *query, true); + let relative = Request::relative(Value::new(new_pat), *query, true); ResolvingIssue { severity: IssueSeverity::Error.cell(), @@ -1316,13 +1316,13 @@ async fn resolve_into_folder( escapes the current directory" ) })?; - let request = Request::parse(str.into()).with_query(query); + let request = Request::parse(Value::new(str.into())).with_query(query); return Ok(resolve_internal(package_path, request, options)); } ResolveIntoPackage::MainField(name) => { if let Some(package_json) = &*read_package_json(package_json_path).await? { if let Some(field_value) = package_json[name].as_str() { - let request = Request::parse(normalize_request(field_value).into()); + let request = Request::parse(Value::new(normalize_request(field_value).into())); let result = &*resolve_internal(package_path, request, options).await?; // we are not that strict when a main field fails to resolve @@ -1495,7 +1495,7 @@ async fn resolve_module_request( let mut new_pat = path.clone(); new_pat.push_front(".".to_string().into()); - let relative = Request::relative(new_pat, query, true); + let relative = Request::relative(Value::new(new_pat), query, true); results.push(resolve_internal(*package_path, relative, options)); } @@ -1597,7 +1597,7 @@ async fn resolve_alias_field_result( if let Some(value) = result.as_str() { return Ok(resolve_internal( package_path, - Request::parse(Pattern::Constant(value.to_string())).with_query(query), + Request::parse(Value::new(Pattern::Constant(value.to_string()))).with_query(query), resolve_options, ) .with_affecting_sources(refs)); @@ -1607,7 +1607,7 @@ async fn resolve_alias_field_result( severity: IssueSeverity::Error.cell(), file_path: issue_context, request_type: format!("alias field ({field_name})"), - request: Request::parse(Pattern::Constant(issue_request.to_string())), + request: Request::parse(Value::new(Pattern::Constant(issue_request.to_string()))), resolve_options, error_message: Some(format!("invalid alias field value: {}", result)), source: OptionIssueSource::none(), @@ -1741,7 +1741,7 @@ fn handle_exports_imports_field( let mut resolved_results = Vec::new(); for path in results { if let Some(path) = normalize_path(path) { - let request = Request::relative(format!("./{}", path).into(), query, false); + let request = Request::relative(Value::new(format!("./{}", path).into()), query, false); resolved_results.push(resolve_internal(package_path, request, options)); } } diff --git a/crates/turbopack-core/src/resolve/options.rs b/crates/turbopack-core/src/resolve/options.rs index aff2c5bed5bf4..6b8e1b46a822c 100644 --- a/crates/turbopack-core/src/resolve/options.rs +++ b/crates/turbopack-core/src/resolve/options.rs @@ -2,7 +2,7 @@ use std::{collections::BTreeMap, future::Future, pin::Pin}; use anyhow::Result; use serde::{Deserialize, Serialize}; -use turbo_tasks::{debug::ValueDebugFormat, trace::TraceRawVcs, TryJoinIterExt, ValueToString, Vc}; +use turbo_tasks::{debug::ValueDebugFormat, trace::TraceRawVcs, TryJoinIterExt, Value, ValueToString, Vc}; use turbo_tasks_fs::{glob::Glob, FileSystemPath}; use super::{ @@ -280,7 +280,7 @@ async fn import_mapping_to_result( ImportMapResult::Result(ResolveResult::primary(ResolveResultItem::Empty).into()) } ImportMapping::PrimaryAlternative(name, context) => { - let request = Request::parse(name.to_string().into()); + let request = Request::parse(Value::new(name.to_string().into())); ImportMapResult::Alias(request, *context) } diff --git a/crates/turbopack-core/src/resolve/parse.rs b/crates/turbopack-core/src/resolve/parse.rs index 43135c9563f93..aefdb37fc64fe 100644 --- a/crates/turbopack-core/src/resolve/parse.rs +++ b/crates/turbopack-core/src/resolve/parse.rs @@ -2,7 +2,7 @@ use anyhow::Result; use indexmap::IndexMap; use lazy_static::lazy_static; use regex::Regex; -use turbo_tasks::{TryJoinIterExt, ValueToString, Vc}; +use turbo_tasks::{TryJoinIterExt, Value, ValueToString, Vc}; use super::pattern::{Pattern, QueryMap}; @@ -206,7 +206,7 @@ impl Request { } } Pattern::Alternatives(list) => Request::Alternatives { - requests: list.into_iter().map(Request::parse).collect(), + requests: list.into_iter().map(Value::new).map(Request::parse).collect(), }, } } @@ -215,8 +215,8 @@ impl Request { #[turbo_tasks::value_impl] impl Request { #[turbo_tasks::function] - pub fn parse(request: Pattern) -> Vc { - Self::cell(Request::parse_ref(request)) + pub fn parse(request: Value) -> Vc { + Self::cell(Request::parse_ref(request.into_value())) } #[turbo_tasks::function] @@ -225,28 +225,28 @@ impl Request { } #[turbo_tasks::function] - pub fn raw(path: Pattern, query: Vc, force_in_lookup_dir: bool) -> Vc { + pub fn raw(request: Value, query: Vc, force_in_lookup_dir: bool) -> Vc { Self::cell(Request::Raw { - path, + path: request.into_value(), force_in_lookup_dir, query, }) } #[turbo_tasks::function] - pub fn relative(path: Pattern, query: Vc, force_in_lookup_dir: bool) -> Vc { + pub fn relative(request: Value, query: Vc, force_in_lookup_dir: bool) -> Vc { Self::cell(Request::Relative { - path, + path: request.into_value(), force_in_lookup_dir, query, }) } #[turbo_tasks::function] - pub fn module(module: String, path: Pattern, query: Vc) -> Vc { + pub fn module(module: String, path: Value, query: Vc) -> Vc { Self::cell(Request::Module { module, - path, + path: path.into_value(), query, }) } @@ -270,17 +270,17 @@ impl Request { let mut pat = Pattern::Constant(format!("./{module}")); pat.push(path.clone()); // TODO add query - Self::parse(pat) + Self::parse(Value::new(pat)) } Request::PackageInternal { path } => { let mut pat = Pattern::Constant("./".to_string()); pat.push(path.clone()); - Self::parse(pat) + Self::parse(Value::new(pat)) } Request::Unknown { path } => { let mut pat = Pattern::Constant("./".to_string()); pat.push(path.clone()); - Self::parse(pat) + Self::parse(Value::new(pat)) } Request::Alternatives { requests } => { let requests = requests.iter().copied().map(Request::as_relative).collect(); diff --git a/crates/turbopack-core/src/resolve/pattern.rs b/crates/turbopack-core/src/resolve/pattern.rs index 61e1439cddb0a..d2c605dfe1596 100644 --- a/crates/turbopack-core/src/resolve/pattern.rs +++ b/crates/turbopack-core/src/resolve/pattern.rs @@ -5,7 +5,7 @@ use indexmap::IndexMap; use lazy_static::lazy_static; use regex::Regex; use serde::{Deserialize, Serialize}; -use turbo_tasks::{trace::TraceRawVcs, ReadRef, TaskInput, Value, ValueToString, Vc}; +use turbo_tasks::{trace::TraceRawVcs, ReadRef, Value, ValueToString, Vc}; use turbo_tasks_fs::{ DirectoryContent, DirectoryEntry, FileSystemEntryType, FileSystemPath, LinkContent, LinkType, }; @@ -57,7 +57,7 @@ impl ValueToString for QueryMap { } #[turbo_tasks::value(shared, serialization = "auto_for_input")] -#[derive(PartialOrd, Ord, Hash, Clone, Debug, Default, TaskInput)] +#[derive(PartialOrd, Ord, Hash, Clone, Debug, Default)] pub enum Pattern { Constant(String), #[default] diff --git a/crates/turbopack-css/src/chunk/mod.rs b/crates/turbopack-css/src/chunk/mod.rs index f37a163c3afef..fe19c18b9eb6d 100644 --- a/crates/turbopack-css/src/chunk/mod.rs +++ b/crates/turbopack-css/src/chunk/mod.rs @@ -384,15 +384,14 @@ impl OutputAsset for CssChunk { ident } else { let (_, ident) = assets[0]; - AssetIdent { + AssetIdent::new(Value::new(AssetIdent { path: ident.path(), query: QueryMap::empty(), fragment: None, assets, modifiers: Vec::new(), part: None, - } - .cell() + })) }; Ok(AssetIdent::from_path( diff --git a/crates/turbopack-css/src/module_asset.rs b/crates/turbopack-css/src/module_asset.rs index 04a74775dec7c..5de8ef3929f5d 100644 --- a/crates/turbopack-css/src/module_asset.rs +++ b/crates/turbopack-css/src/module_asset.rs @@ -170,7 +170,7 @@ impl ModuleCssAsset { original: name.value.to_string(), from: CssModuleComposeReference::new( Vc::upcast(self), - Request::parse(from.to_string().into()), + Request::parse(Value::new(from.to_string().into())), ), }, CssClassName::Local { name } => ModuleCssClass::Local { diff --git a/crates/turbopack-css/src/references/mod.rs b/crates/turbopack-css/src/references/mod.rs index 6472bd595d6cc..831504b1e01c8 100644 --- a/crates/turbopack-css/src/references/mod.rs +++ b/crates/turbopack-css/src/references/mod.rs @@ -130,7 +130,7 @@ impl<'a> VisitAstPath for ModuleReferencesVisitor<'a> { self.references.push(Vc::upcast(ImportAssetReference::new( self.origin, - Request::parse(src.to_string().into()), + Request::parse(Value::new(src.to_string().into())), Vc::cell(as_parent_path(ast_path)), ImportAttributes::new_from_prelude(i).into(), IssueSource::from_byte_offset( @@ -158,7 +158,7 @@ impl<'a> VisitAstPath for ModuleReferencesVisitor<'a> { let issue_span = u.span; self.references.push(Vc::upcast(UrlAssetReference::new( self.origin, - Request::parse(src.to_string().into()), + Request::parse(Value::new(src.to_string().into())), Vc::cell(as_parent_path(ast_path)), IssueSource::from_byte_offset( Vc::upcast(self.source), diff --git a/crates/turbopack-dev/src/ecmascript/evaluate/chunk.rs b/crates/turbopack-dev/src/ecmascript/evaluate/chunk.rs index 2f1d12175e999..38d76e744e8d9 100644 --- a/crates/turbopack-dev/src/ecmascript/evaluate/chunk.rs +++ b/crates/turbopack-dev/src/ecmascript/evaluate/chunk.rs @@ -3,7 +3,7 @@ use std::io::Write; use anyhow::{bail, Result}; use indoc::writedoc; use serde::Serialize; -use turbo_tasks::{ReadRef, TryJoinIterExt, ValueToString, Vc}; +use turbo_tasks::{ReadRef, TryJoinIterExt, Value, ValueToString, Vc}; use turbo_tasks_fs::File; use turbopack_core::{ asset::{Asset, AssetContent}, @@ -193,9 +193,9 @@ impl OutputAsset for EcmascriptDevEvaluateChunk { ident.add_modifier(chunk.ident().to_string()); } + let ident = AssetIdent::new(Value::new(ident)); Ok(AssetIdent::from_path( - self.chunking_context - .chunk_path(ident.cell(), ".js".to_string()), + self.chunking_context.chunk_path(ident, ".js".to_string()), )) } diff --git a/crates/turbopack-dev/src/ecmascript/list/asset.rs b/crates/turbopack-dev/src/ecmascript/list/asset.rs index 3794e0dcff2c1..ba2325ad3efa0 100644 --- a/crates/turbopack-dev/src/ecmascript/list/asset.rs +++ b/crates/turbopack-dev/src/ecmascript/list/asset.rs @@ -86,9 +86,9 @@ impl OutputAsset for EcmascriptDevChunkList { // ident, because it must remain stable whenever a chunk is added or // removed from the list. + let ident = AssetIdent::new(Value::new(ident)); Ok(AssetIdent::from_path( - self.chunking_context - .chunk_path(ident.cell(), ".js".to_string()), + self.chunking_context.chunk_path(ident, ".js".to_string()), )) } diff --git a/crates/turbopack-ecmascript/src/chunk/mod.rs b/crates/turbopack-ecmascript/src/chunk/mod.rs index 41855f3724200..3098180b5fc90 100644 --- a/crates/turbopack-ecmascript/src/chunk/mod.rs +++ b/crates/turbopack-ecmascript/src/chunk/mod.rs @@ -284,15 +284,14 @@ impl Chunk for EcmascriptChunk { let ident = if assets.len() == 1 && modifiers.is_empty() { assets[0].1 } else { - AssetIdent { + AssetIdent::new(Value::new(AssetIdent { path, query: QueryMap::empty(), fragment: None, assets, modifiers, part: None, - } - .cell() + })) }; Ok(ident) diff --git a/crates/turbopack-ecmascript/src/lib.rs b/crates/turbopack-ecmascript/src/lib.rs index 0c0de74e8903c..906ba188766d8 100644 --- a/crates/turbopack-ecmascript/src/lib.rs +++ b/crates/turbopack-ecmascript/src/lib.rs @@ -381,7 +381,7 @@ impl Module for EcmascriptModuleAsset { ident.add_asset(Vc::cell(name.clone()), asset.ident()); } ident.add_modifier(modifier()); - Ok(ident.cell()) + Ok(AssetIdent::new(Value::new(ident))) } else { Ok(self.source.ident().with_modifier(modifier())) } diff --git a/crates/turbopack-ecmascript/src/references/mod.rs b/crates/turbopack-ecmascript/src/references/mod.rs index 9115e58dd5dcd..6a68057a30ccd 100644 --- a/crates/turbopack-ecmascript/src/references/mod.rs +++ b/crates/turbopack-ecmascript/src/references/mod.rs @@ -460,7 +460,7 @@ pub(crate) async fn analyze_ecmascript_module( for r in eval_context.imports.references() { let r = EsmAssetReference::new( origin, - Request::parse(r.module_path.to_string().into()), + Request::parse(Value::new(r.module_path.to_string().into())), Value::new(r.annotations.clone()), if options.import_parts { match &r.imported_symbol { @@ -528,7 +528,7 @@ pub(crate) async fn analyze_ecmascript_module( let mut ignore_effect_span = None; // Check if it was a webpack entry if let Some((request, span)) = webpack_runtime { - let request = Request::parse(request.into()); + let request = Request::parse(Value::new(request.into())); let runtime = resolve_as_webpack_runtime(origin, request, transforms); if let WebpackRuntime::Webpack5 { .. } = &*runtime.await? { @@ -985,7 +985,7 @@ pub(crate) async fn analyze_ecmascript_module( } analysis.add_reference(UrlAssetReference::new( origin, - Request::parse(pat), + Request::parse(Value::new(pat)), compile_time_info.environment().rendering(), Vc::cell(ast_path), IssueSource::from_byte_offset(source, span.lo.to_usize(), span.hi.to_usize()), @@ -1097,7 +1097,7 @@ async fn handle_call) + Send + Sync>( } analysis.add_reference(EsmAsyncAssetReference::new( origin, - Request::parse(pat), + Request::parse(Value::new(pat)), Vc::cell(ast_path.to_vec()), issue_source(source, span), in_try, @@ -1129,7 +1129,7 @@ async fn handle_call) + Send + Sync>( } analysis.add_reference(CjsRequireAssetReference::new( origin, - Request::parse(pat), + Request::parse(Value::new(pat)), Vc::cell(ast_path.to_vec()), issue_source(source, span), in_try, @@ -1172,7 +1172,7 @@ async fn handle_call) + Send + Sync>( } analysis.add_reference(CjsRequireResolveAssetReference::new( origin, - Request::parse(pat), + Request::parse(Value::new(pat)), Vc::cell(ast_path.to_vec()), issue_source(source, span), in_try, @@ -1319,7 +1319,7 @@ async fn handle_call) + Send + Sync>( } analysis.add_reference(CjsAssetReference::new( origin, - Request::parse(pat), + Request::parse(Value::new(pat)), issue_source(source, span), in_try, )); @@ -1363,7 +1363,7 @@ async fn handle_call) + Send + Sync>( } analysis.add_reference(CjsAssetReference::new( origin, - Request::parse(pat), + Request::parse(Value::new(pat)), issue_source(source, span), in_try, )); @@ -1520,7 +1520,7 @@ async fn handle_call) + Send + Sync>( let pat = js_value_to_pattern(pkg_or_dir); analysis.add_reference(CjsAssetReference::new( origin, - Request::parse(pat), + Request::parse(Value::new(pat)), issue_source(source, span), in_try, )); @@ -1584,7 +1584,7 @@ async fn handle_call) + Send + Sync>( if args.len() == 2 && args.get(1).and_then(|arg| arg.as_str()).is_some() { analysis.add_reference(CjsAssetReference::new( origin, - Request::parse(js_value_to_pattern(&args[1])), + Request::parse(Value::new(js_value_to_pattern(&args[1]))), issue_source(source, span), in_try, )); @@ -1761,7 +1761,7 @@ async fn handle_free_var_reference( lookup_path, )) }), - Request::parse(request.clone().into()), + Request::parse(Value::new(request.clone().into())), Default::default(), state .import_parts @@ -2106,7 +2106,7 @@ async fn require_resolve_visitor( ) -> Result { Ok(if args.len() == 1 { let pat = js_value_to_pattern(&args[0]); - let request = Request::parse(pat); + let request = Request::parse(Value::new(pat.clone())); let resolved = cjs_resolve( origin, request, diff --git a/crates/turbopack-ecmascript/src/references/require_context.rs b/crates/turbopack-ecmascript/src/references/require_context.rs index c0e035c534f61..a3b8bb4d79590 100644 --- a/crates/turbopack-ecmascript/src/references/require_context.rs +++ b/crates/turbopack-ecmascript/src/references/require_context.rs @@ -176,7 +176,7 @@ impl RequireContextMap { for (context_relative, path) in list { if let Some(origin_relative) = origin_path.get_relative_path_to(&*path.await?) { - let request = Request::parse(origin_relative.clone().into()); + let request = Request::parse(Value::new(origin_relative.clone().into())); let result = cjs_resolve(origin, request, issue_source, issue_severity); map.insert( diff --git a/crates/turbopack-ecmascript/src/references/typescript.rs b/crates/turbopack-ecmascript/src/references/typescript.rs index 47042fd61db96..ab3b78d0fff62 100644 --- a/crates/turbopack-ecmascript/src/references/typescript.rs +++ b/crates/turbopack-ecmascript/src/references/typescript.rs @@ -124,7 +124,7 @@ impl ModuleReference for TsReferenceTypeAssetReference { self.origin, Request::module( self.module.clone(), - "".to_string().into(), + Value::new("".to_string().into()), QueryMap::empty(), ), ) diff --git a/crates/turbopack-ecmascript/src/typescript/mod.rs b/crates/turbopack-ecmascript/src/typescript/mod.rs index 6b1ac1e07535b..84ab1be174058 100644 --- a/crates/turbopack-ecmascript/src/typescript/mod.rs +++ b/crates/turbopack-ecmascript/src/typescript/mod.rs @@ -73,7 +73,7 @@ impl Module for TsConfigModuleAsset { .unwrap_or_else(|| "typescript".to_string()); references.push(Vc::upcast(CompilerReference::new( self.origin, - Request::parse(compiler.to_string().into()), + Request::parse(Value::new(compiler.to_string().into())), ))); let require = read_from_tsconfigs(&configs, |json, source| { if let JsonValue::Array(array) = &json["ts-node"]["require"] { @@ -92,7 +92,7 @@ impl Module for TsConfigModuleAsset { for (_, request) in require { references.push(Vc::upcast(TsNodeRequireReference::new( self.origin, - Request::parse(request.into()), + Request::parse(Value::new(request.into())), ))); } } @@ -142,7 +142,7 @@ impl Module for TsConfigModuleAsset { for (_, name) in types { references.push(Vc::upcast(TsConfigTypesReference::new( self.origin, - Request::module(name, "".to_string().into(), QueryMap::empty()), + Request::module(name, Value::new("".to_string().into()), QueryMap::empty()), ))); } } diff --git a/crates/turbopack-ecmascript/src/typescript/resolve.rs b/crates/turbopack-ecmascript/src/typescript/resolve.rs index 2132d83d9ed4b..379f40fa40945 100644 --- a/crates/turbopack-ecmascript/src/typescript/resolve.rs +++ b/crates/turbopack-ecmascript/src/typescript/resolve.rs @@ -346,7 +346,7 @@ pub async fn type_resolve( }; Some(Request::module( format!("@types/{m}"), - p.clone(), + Value::new(p.clone()), QueryMap::empty(), )) } else {