diff options
Diffstat (limited to 'cli/main.rs')
-rw-r--r-- | cli/main.rs | 55 |
1 files changed, 24 insertions, 31 deletions
diff --git a/cli/main.rs b/cli/main.rs index bae9fdb94..779c45d53 100644 --- a/cli/main.rs +++ b/cli/main.rs @@ -61,6 +61,7 @@ use deno_core::error::generic_error; use deno_core::error::AnyError; use deno_core::futures::future::FutureExt; use deno_core::futures::Future; +use deno_core::resolve_url_or_path; use deno_core::serde_json; use deno_core::serde_json::json; use deno_core::v8_set_flags; @@ -312,12 +313,12 @@ async fn compile_command( let run_flags = tools::standalone::compile_to_runtime_flags(flags.clone(), args)?; - let module_specifier = ModuleSpecifier::resolve_url_or_path(&source_file)?; + let module_specifier = resolve_url_or_path(&source_file)?; let program_state = ProgramState::build(flags.clone()).await?; let deno_dir = &program_state.dir; let output = output.or_else(|| { - infer_name_from_url(module_specifier.as_url()).map(PathBuf::from) + infer_name_from_url(&module_specifier).map(PathBuf::from) }).ok_or_else(|| generic_error( "An executable name was not provided. One could not be inferred from the URL. Aborting.", ))?; @@ -369,7 +370,7 @@ async fn info_command( } let program_state = ProgramState::build(flags).await?; if let Some(specifier) = maybe_specifier { - let specifier = ModuleSpecifier::resolve_url_or_path(&specifier)?; + let specifier = resolve_url_or_path(&specifier)?; let handler = Arc::new(Mutex::new(specifier_handler::FetchHandler::new( &program_state, // info accesses dynamically imported modules just for their information @@ -410,7 +411,7 @@ async fn install_command( preload_flags.inspect_brk = None; let permissions = Permissions::from_options(&preload_flags.clone().into()); let program_state = ProgramState::build(preload_flags).await?; - let main_module = ModuleSpecifier::resolve_url_or_path(&module_url)?; + let main_module = resolve_url_or_path(&module_url)?; let mut worker = create_main_worker(&program_state, main_module.clone(), permissions); // First, fetch and compile the module; this step ensures that the module exists. @@ -453,7 +454,7 @@ async fn cache_command( let program_state = ProgramState::build(flags).await?; for file in files { - let specifier = ModuleSpecifier::resolve_url_or_path(&file)?; + let specifier = resolve_url_or_path(&file)?; program_state .prepare_module_load( specifier, @@ -475,13 +476,11 @@ async fn eval_command( print: bool, ) -> Result<(), AnyError> { // Force TypeScript compile. - let main_module = - ModuleSpecifier::resolve_url_or_path("./$deno$eval.ts").unwrap(); + let main_module = resolve_url_or_path("./$deno$eval.ts").unwrap(); let permissions = Permissions::from_options(&flags.clone().into()); let program_state = ProgramState::build(flags).await?; let mut worker = create_main_worker(&program_state, main_module.clone(), permissions); - let main_module_url = main_module.as_url().to_owned(); // Create a dummy source file. let source_code = if print { format!("console.log({})", code) @@ -491,7 +490,7 @@ async fn eval_command( .into_bytes(); let file = File { - local: main_module_url.to_file_path().unwrap(), + local: main_module.clone().to_file_path().unwrap(), maybe_types: None, media_type: if as_typescript { MediaType::TypeScript @@ -499,7 +498,7 @@ async fn eval_command( MediaType::JavaScript }, source: String::from_utf8(source_code)?, - specifier: ModuleSpecifier::from(main_module_url), + specifier: main_module.clone(), }; // Save our fake file into file fetcher cache @@ -592,8 +591,7 @@ async fn bundle_command( let source_file1 = source_file.clone(); let source_file2 = source_file.clone(); async move { - let module_specifier = - ModuleSpecifier::resolve_url_or_path(&source_file1)?; + let module_specifier = resolve_url_or_path(&source_file1)?; debug!(">>>>> bundle START"); let program_state = ProgramState::build(flags.clone()).await?; @@ -614,7 +612,7 @@ async fn bundle_command( let mut paths_to_watch: Vec<PathBuf> = module_graph .get_modules() .iter() - .filter_map(|specifier| specifier.as_url().to_file_path().ok()) + .filter_map(|specifier| specifier.to_file_path().ok()) .collect(); if let Some(import_map) = program_state.flags.import_map_path.as_ref() { @@ -705,7 +703,7 @@ impl DocFileLoader for DocLoader { let resolved_specifier = if let Some(resolved) = maybe_resolved { resolved } else { - ModuleSpecifier::resolve_import(specifier, referrer) + deno_core::resolve_import(specifier, referrer) .map_err(|e| doc::DocError::Resolve(e.to_string()))? }; @@ -717,8 +715,8 @@ impl DocFileLoader for DocLoader { specifier: &str, ) -> Pin<Box<dyn Future<Output = Result<String, doc::DocError>>>> { let fetcher = self.fetcher.clone(); - let specifier = ModuleSpecifier::resolve_url_or_path(specifier) - .expect("Expected valid specifier"); + let specifier = + resolve_url_or_path(specifier).expect("Expected valid specifier"); async move { let source_file = fetcher .fetch(&specifier, &Permissions::allow_all()) @@ -762,8 +760,7 @@ async fn doc_command( let path = PathBuf::from(&source_file); let media_type = MediaType::from(&path); let syntax = ast::get_syntax(&media_type); - let module_specifier = - ModuleSpecifier::resolve_url_or_path(&source_file).unwrap(); + let module_specifier = resolve_url_or_path(&source_file).unwrap(); doc_parser .parse_with_reexports(&module_specifier.to_string(), syntax) .await @@ -819,8 +816,7 @@ async fn format_command( } async fn run_repl(flags: Flags) -> Result<(), AnyError> { - let main_module = - ModuleSpecifier::resolve_url_or_path("./$deno$repl.ts").unwrap(); + let main_module = resolve_url_or_path("./$deno$repl.ts").unwrap(); let permissions = Permissions::from_options(&flags.clone().into()); let program_state = ProgramState::build(flags).await?; let mut worker = @@ -833,8 +829,7 @@ async fn run_repl(flags: Flags) -> Result<(), AnyError> { async fn run_from_stdin(flags: Flags) -> Result<(), AnyError> { let program_state = ProgramState::build(flags.clone()).await?; let permissions = Permissions::from_options(&flags.clone().into()); - let main_module = - ModuleSpecifier::resolve_url_or_path("./$deno$stdin.ts").unwrap(); + let main_module = resolve_url_or_path("./$deno$stdin.ts").unwrap(); let mut worker = create_main_worker( &program_state.clone(), main_module.clone(), @@ -843,10 +838,9 @@ async fn run_from_stdin(flags: Flags) -> Result<(), AnyError> { let mut source = Vec::new(); std::io::stdin().read_to_end(&mut source)?; - let main_module_url = main_module.as_url().to_owned(); // Create a dummy source file. let source_file = File { - local: main_module_url.to_file_path().unwrap(), + local: main_module.clone().to_file_path().unwrap(), maybe_types: None, media_type: MediaType::TypeScript, source: String::from_utf8(source)?, @@ -870,7 +864,7 @@ async fn run_with_watch(flags: Flags, script: String) -> Result<(), AnyError> { let script2 = script.clone(); let flags = flags.clone(); async move { - let main_module = ModuleSpecifier::resolve_url_or_path(&script1)?; + let main_module = resolve_url_or_path(&script1)?; let program_state = ProgramState::build(flags).await?; let handler = Arc::new(Mutex::new(FetchHandler::new( &program_state, @@ -888,7 +882,7 @@ async fn run_with_watch(flags: Flags, script: String) -> Result<(), AnyError> { let mut paths_to_watch: Vec<PathBuf> = module_graph .get_modules() .iter() - .filter_map(|specifier| specifier.as_url().to_file_path().ok()) + .filter_map(|specifier| specifier.to_file_path().ok()) .collect(); if let Some(import_map) = program_state.flags.import_map_path.as_ref() { @@ -947,7 +941,7 @@ async fn run_command(flags: Flags, script: String) -> Result<(), AnyError> { return run_with_watch(flags, script).await; } - let main_module = ModuleSpecifier::resolve_url_or_path(&script)?; + let main_module = resolve_url_or_path(&script)?; let program_state = ProgramState::build(flags.clone()).await?; let permissions = Permissions::from_options(&flags.clone().into()); let mut worker = @@ -1003,10 +997,10 @@ async fn test_command( } return Ok(()); } - let main_module = ModuleSpecifier::resolve_path("$deno$test.ts")?; + let main_module = deno_core::resolve_path("$deno$test.ts")?; // Create a dummy source file. let source_file = File { - local: main_module.as_url().to_file_path().unwrap(), + local: main_module.to_file_path().unwrap(), maybe_types: None, media_type: MediaType::TypeScript, source: tools::test_runner::render_test_file( @@ -1074,8 +1068,7 @@ async fn test_command( // For now, we'll only report for the command that passed --coverage as a flag. if flags.coverage_dir.is_some() { let mut exclude = test_modules.clone(); - let main_module_url = main_module.as_url().to_owned(); - exclude.push(main_module_url); + exclude.push(main_module.clone()); tools::coverage::report_coverages( program_state.clone(), &coverage_collector.dir, |