summaryrefslogtreecommitdiff
path: root/cli/tools/standalone.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tools/standalone.rs')
-rw-r--r--cli/tools/standalone.rs30
1 files changed, 17 insertions, 13 deletions
diff --git a/cli/tools/standalone.rs b/cli/tools/standalone.rs
index 94b1c0170..0e8d9ca73 100644
--- a/cli/tools/standalone.rs
+++ b/cli/tools/standalone.rs
@@ -2,11 +2,11 @@
use crate::args::CompileFlags;
use crate::args::Flags;
+use crate::factory::CliFactory;
use crate::graph_util::error_for_any_npm_specifier;
use crate::standalone::is_standalone_binary;
use crate::standalone::DenoCompileBinaryWriter;
use crate::util::path::path_has_trailing_slash;
-use crate::ProcState;
use deno_core::anyhow::bail;
use deno_core::anyhow::Context;
use deno_core::error::generic_error;
@@ -23,30 +23,34 @@ pub async fn compile(
flags: Flags,
compile_flags: CompileFlags,
) -> Result<(), AnyError> {
- let ps = ProcState::from_flags(flags).await?;
- let binary_writer = DenoCompileBinaryWriter::new(
- ps.file_fetcher.clone(),
- ps.http_client.clone(),
- ps.dir.clone(),
- );
- let module_specifier = ps.options.resolve_main_module()?;
+ let factory = CliFactory::from_flags(flags).await?;
+ let cli_options = factory.cli_options();
+ let file_fetcher = factory.file_fetcher()?;
+ let http_client = factory.http_client()?;
+ let deno_dir = factory.deno_dir()?;
+ let module_graph_builder = factory.module_graph_builder().await?;
+ let parsed_source_cache = factory.parsed_source_cache()?;
+
+ let binary_writer =
+ DenoCompileBinaryWriter::new(file_fetcher, http_client, deno_dir);
+ let module_specifier = cli_options.resolve_main_module()?;
let module_roots = {
let mut vec = Vec::with_capacity(compile_flags.include.len() + 1);
vec.push(module_specifier.clone());
for side_module in &compile_flags.include {
- vec.push(resolve_url_or_path(side_module, ps.options.initial_cwd())?);
+ vec.push(resolve_url_or_path(side_module, cli_options.initial_cwd())?);
}
vec
};
let output_path = resolve_compile_executable_output_path(
&compile_flags,
- ps.options.initial_cwd(),
+ cli_options.initial_cwd(),
)
.await?;
let graph = Arc::try_unwrap(
- ps.module_graph_builder
+ module_graph_builder
.create_graph_and_maybe_check(module_roots)
.await?,
)
@@ -55,7 +59,7 @@ pub async fn compile(
// at the moment, we don't support npm specifiers in deno_compile, so show an error
error_for_any_npm_specifier(&graph)?;
- let parser = ps.parsed_source_cache.as_capturing_parser();
+ let parser = parsed_source_cache.as_capturing_parser();
let eszip = eszip::EszipV2::from_graph(graph, &parser, Default::default())?;
log::info!(
@@ -73,7 +77,7 @@ pub async fn compile(
eszip,
&module_specifier,
&compile_flags,
- &ps.options,
+ cli_options,
)
.await
.with_context(|| format!("Writing {}", output_path.display()))?;