diff options
Diffstat (limited to 'cli/tools')
-rw-r--r-- | cli/tools/doc.rs | 5 | ||||
-rw-r--r-- | cli/tools/repl/mod.rs | 6 | ||||
-rw-r--r-- | cli/tools/repl/session.rs | 4 | ||||
-rw-r--r-- | cli/tools/run.rs | 8 |
4 files changed, 17 insertions, 6 deletions
diff --git a/cli/tools/doc.rs b/cli/tools/doc.rs index 1f8bfad7a..2ee80f6b7 100644 --- a/cli/tools/doc.rs +++ b/cli/tools/doc.rs @@ -12,7 +12,9 @@ use crate::proc_state::ProcState; use crate::tsc::get_types_declaration_file_text; use deno_ast::MediaType; use deno_core::anyhow::bail; +use deno_core::anyhow::Context; use deno_core::error::AnyError; +use deno_core::resolve_path; use deno_core::resolve_url_or_path; use deno_doc as doc; use deno_graph::ModuleSpecifier; @@ -60,11 +62,12 @@ pub async fn print_docs( doc_parser.parse_module(&source_file_specifier)?.definitions } DocSourceFileFlag::Path(source_file) => { + let cwd = std::env::current_dir().context("Unable to get CWD")?; let module_specifier = resolve_url_or_path(&source_file)?; // If the root module has external types, the module graph won't redirect it, // so instead create a dummy file which exports everything from the actual file being documented. - let root_specifier = resolve_url_or_path("./$deno$doc.ts").unwrap(); + let root_specifier = resolve_path("./$deno$doc.ts", &cwd).unwrap(); let root = File { local: PathBuf::from("./$deno$doc.ts"), maybe_types: None, diff --git a/cli/tools/repl/mod.rs b/cli/tools/repl/mod.rs index a9cb0132b..99dab6261 100644 --- a/cli/tools/repl/mod.rs +++ b/cli/tools/repl/mod.rs @@ -5,8 +5,9 @@ use crate::args::ReplFlags; use crate::colors; use crate::proc_state::ProcState; use crate::worker::create_main_worker; +use deno_core::anyhow::Context; use deno_core::error::AnyError; -use deno_core::resolve_url_or_path; +use deno_core::resolve_path; use deno_runtime::permissions::Permissions; use deno_runtime::permissions::PermissionsContainer; use rustyline::error::ReadlineError; @@ -80,7 +81,8 @@ async fn read_eval_file( } pub async fn run(flags: Flags, repl_flags: ReplFlags) -> Result<i32, AnyError> { - let main_module = resolve_url_or_path("./$deno$repl.ts").unwrap(); + let cwd = std::env::current_dir().context("Unable to get CWD")?; + let main_module = resolve_path("./$deno$repl.ts", &cwd).unwrap(); let ps = ProcState::build(flags).await?; let mut worker = create_main_worker( &ps, diff --git a/cli/tools/repl/session.rs b/cli/tools/repl/session.rs index e9ddd09b1..1cd67fc97 100644 --- a/cli/tools/repl/session.rs +++ b/cli/tools/repl/session.rs @@ -11,6 +11,7 @@ use deno_ast::swc::visit::VisitWith; use deno_ast::DiagnosticsError; use deno_ast::ImportsNotUsedAsValues; use deno_ast::ModuleSpecifier; +use deno_core::anyhow::Context; use deno_core::error::AnyError; use deno_core::futures::channel::mpsc::UnboundedReceiver; use deno_core::futures::FutureExt; @@ -143,7 +144,8 @@ impl ReplSession { } assert_ne!(context_id, 0); - let referrer = deno_core::resolve_url_or_path("./$deno$repl.ts").unwrap(); + let cwd = std::env::current_dir().context("Unable to get CWD")?; + let referrer = deno_core::resolve_path("./$deno$repl.ts", &cwd).unwrap(); let mut repl_session = ReplSession { proc_state, diff --git a/cli/tools/run.rs b/cli/tools/run.rs index d72378510..d949a1cdb 100644 --- a/cli/tools/run.rs +++ b/cli/tools/run.rs @@ -5,7 +5,9 @@ use std::sync::Arc; use deno_ast::MediaType; use deno_ast::ModuleSpecifier; +use deno_core::anyhow::Context; use deno_core::error::AnyError; +use deno_core::resolve_path; use deno_core::resolve_url_or_path; use deno_graph::npm::NpmPackageReqReference; use deno_runtime::permissions::Permissions; @@ -67,7 +69,8 @@ To grant permissions, set them before the script argument. For example: pub async fn run_from_stdin(flags: Flags) -> Result<i32, AnyError> { let ps = ProcState::build(flags).await?; - let main_module = resolve_url_or_path("./$deno$stdin.ts").unwrap(); + let cwd = std::env::current_dir().context("Unable to get CWD")?; + let main_module = resolve_path("./$deno$stdin.ts", &cwd).unwrap(); let mut worker = create_main_worker( &ps, main_module.clone(), @@ -139,8 +142,9 @@ pub async fn eval_command( ) -> Result<i32, AnyError> { // deno_graph works off of extensions for local files to determine the media // type, and so our "fake" specifier needs to have the proper extension. + let cwd = std::env::current_dir().context("Unable to get CWD")?; let main_module = - resolve_url_or_path(&format!("./$deno$eval.{}", eval_flags.ext))?; + resolve_path(&format!("./$deno$eval.{}", eval_flags.ext), &cwd)?; let ps = ProcState::build(flags).await?; let permissions = PermissionsContainer::new(Permissions::from_options( &ps.options.permissions_options(), |