diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-04-14 17:15:17 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-14 17:15:17 -0400 |
commit | e277490c821d20280137ca54eede8502caf62bbd (patch) | |
tree | b2653e570bca449167b968ae8d4f9331553b5f52 /runtime/shared.rs | |
parent | 76df7d7c9bb7b6b552fd33efbedb28e21969d46c (diff) |
perf: do not clone swc `Program` when transpiling (#23365)
Diffstat (limited to 'runtime/shared.rs')
-rw-r--r-- | runtime/shared.rs | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/runtime/shared.rs b/runtime/shared.rs index c5ea2fedd..e18b0b93c 100644 --- a/runtime/shared.rs +++ b/runtime/shared.rs @@ -95,20 +95,22 @@ pub fn maybe_transpile_source( scope_analysis: false, maybe_syntax: None, })?; - let transpiled_source = parsed.transpile( - &deno_ast::TranspileOptions { - imports_not_used_as_values: deno_ast::ImportsNotUsedAsValues::Remove, - ..Default::default() - }, - &deno_ast::EmitOptions { - source_map: if cfg!(debug_assertions) { - SourceMapOption::Separate - } else { - SourceMapOption::None + let transpiled_source = parsed + .transpile_owned( + &deno_ast::TranspileOptions { + imports_not_used_as_values: deno_ast::ImportsNotUsedAsValues::Remove, + ..Default::default() }, - ..Default::default() - }, - )?; + &deno_ast::EmitOptions { + source_map: if cfg!(debug_assertions) { + SourceMapOption::Separate + } else { + SourceMapOption::None + }, + ..Default::default() + }, + ) + .unwrap()?; let maybe_source_map: Option<SourceMapData> = transpiled_source .source_map |