summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/main.rs4
-rw-r--r--cli/standalone/mod.rs1
-rw-r--r--tests/specs/run/run_task/__test__.jsonc4
-rw-r--r--tests/specs/run/run_task/deno.json3
-rw-r--r--tests/specs/run/run_task/main_foo.out2
5 files changed, 12 insertions, 2 deletions
diff --git a/cli/main.rs b/cli/main.rs
index 290eee120..ee2bd79cc 100644
--- a/cli/main.rs
+++ b/cli/main.rs
@@ -53,6 +53,7 @@ use deno_runtime::tokio_util::create_and_run_current_thread_with_maybe_metrics;
use deno_terminal::colors;
use factory::CliFactory;
use standalone::MODULE_NOT_FOUND;
+use standalone::UNSUPPORTED_SCHEME;
use std::env;
use std::future::Future;
use std::ops::Deref;
@@ -196,7 +197,8 @@ async fn run_subcommand(flags: Arc<Flags>) -> Result<i32, AnyError> {
match result {
Ok(v) => Ok(v),
Err(script_err) => {
- if script_err.to_string().starts_with(MODULE_NOT_FOUND) {
+ let script_err_msg = script_err.to_string();
+ if script_err_msg.starts_with(MODULE_NOT_FOUND) || script_err_msg.starts_with(UNSUPPORTED_SCHEME) {
if run_flags.bare {
let mut cmd = args::clap_root();
cmd.build();
diff --git a/cli/standalone/mod.rs b/cli/standalone/mod.rs
index 68e133476..90b2b8a28 100644
--- a/cli/standalone/mod.rs
+++ b/cli/standalone/mod.rs
@@ -133,6 +133,7 @@ struct EmbeddedModuleLoader {
}
pub const MODULE_NOT_FOUND: &str = "Module not found";
+pub const UNSUPPORTED_SCHEME: &str = "Unsupported scheme";
impl ModuleLoader for EmbeddedModuleLoader {
fn resolve(
diff --git a/tests/specs/run/run_task/__test__.jsonc b/tests/specs/run/run_task/__test__.jsonc
index 0d1c82efd..b53cca657 100644
--- a/tests/specs/run/run_task/__test__.jsonc
+++ b/tests/specs/run/run_task/__test__.jsonc
@@ -8,6 +8,10 @@
"args": "run not_found",
"output": "not_found.out",
"exitCode": 1
+ },
+ "deno_run_task_colon": {
+ "args": "run main:foo",
+ "output": "main_foo.out"
}
}
}
diff --git a/tests/specs/run/run_task/deno.json b/tests/specs/run/run_task/deno.json
index 54772504e..3597b5b47 100644
--- a/tests/specs/run/run_task/deno.json
+++ b/tests/specs/run/run_task/deno.json
@@ -1,5 +1,6 @@
{
"tasks": {
- "main": "deno run main.ts"
+ "main": "deno run main.ts",
+ "main:foo": "deno run main.ts"
}
}
diff --git a/tests/specs/run/run_task/main_foo.out b/tests/specs/run/run_task/main_foo.out
new file mode 100644
index 000000000..7e5f82632
--- /dev/null
+++ b/tests/specs/run/run_task/main_foo.out
@@ -0,0 +1,2 @@
+Task main:foo deno run main.ts
+main