1.1.8 supports url scripts

This commit is contained in:
2026-02-08 19:31:20 +08:00
parent 41f1eeeb9e
commit edd4cbdc92
7 changed files with 131 additions and 7 deletions

View File

@@ -1,3 +1,4 @@
use crate::resolver::resolve_file;
use crate::{verify, RunScriptArgs};
use rust_util::util_cmd;
use rust_util::util_env::is_env_on;
@@ -14,7 +15,7 @@ pub fn do_run_script(args: &RunScriptArgs) {
debugging!("Run ts args: {:?}", args.arguments);
let mut is_runtime_deno = true;
let (script_file, first_arg) = (|| {
let (raw_script_file, first_arg) = (|| {
for (i, arg) in args.arguments.iter().enumerate() {
if arg == RUNTIME_DENO || arg == RUNTIME_BUN {
is_runtime_deno = arg == RUNTIME_DENO;
@@ -25,6 +26,9 @@ pub fn do_run_script(args: &RunScriptArgs) {
}
(&args.arguments[args.arguments.len() - 1], false)
})();
let script_file = resolve_file(raw_script_file)
.unwrap_or_else(|e| failure_and_exit!("Failed to resolve script: {}", e));
let script_file = &script_file;
verify::verify_script(script_file, is_env_on("RUNTS_SKIP_VERIFY"));
let mut cmd = Command::new("/usr/bin/env");
@@ -40,7 +44,11 @@ pub fn do_run_script(args: &RunScriptArgs) {
.filter(|arg| {
if *arg == RUNTIME_DENO || *arg == RUNTIME_BUN {
is_runtime_deno = *arg == RUNTIME_DENO;
debugging!("Runts runtime arg: {}, is runtime deno: {}", *arg, is_runtime_deno);
debugging!(
"Runts runtime arg: {}, is runtime deno: {}",
*arg,
is_runtime_deno
);
return false;
}
true
@@ -55,7 +63,11 @@ pub fn do_run_script(args: &RunScriptArgs) {
if arg == RUNTIME_DENO || arg == RUNTIME_BUN {
continue;
}
cmd.arg(arg);
if arg == raw_script_file { // replace remote file with local file
cmd.arg(script_file);
} else {
cmd.arg(arg);
}
}
debugging!("Run command: {cmd:?}");