feat: v1.1.2, support runts sign
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -1221,7 +1221,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "runrs"
|
name = "runrs"
|
||||||
version = "1.1.1"
|
version = "1.1.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"argh",
|
"argh",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "runrs"
|
name = "runrs"
|
||||||
version = "1.1.1"
|
version = "1.1.2"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT/Apache-2.0"
|
license = "MIT/Apache-2.0"
|
||||||
description = "A Tool for Run Rust Scripts"
|
description = "A Tool for Run Rust Scripts"
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ mod run_rs;
|
|||||||
mod template;
|
mod template;
|
||||||
mod util;
|
mod util;
|
||||||
mod verify;
|
mod verify;
|
||||||
|
#[cfg(feature = "switch-ts-lang")]
|
||||||
|
mod run_ts;
|
||||||
|
|
||||||
#[derive(FromArgs, PartialEq, Debug)]
|
#[derive(FromArgs, PartialEq, Debug)]
|
||||||
/// Run script
|
/// Run script
|
||||||
@@ -75,5 +77,10 @@ fn do_run_script(rs_args: &RunScriptArgs) {
|
|||||||
run_rs::do_run_script(&rs_args);
|
run_rs::do_run_script(&rs_args);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#[cfg(feature = "switch-ts-lang")]
|
||||||
|
{
|
||||||
|
run_ts::do_run_script(&rs_args);
|
||||||
|
return;
|
||||||
|
}
|
||||||
failure_and_exit!("Only rust script supported.");
|
failure_and_exit!("Only rust script supported.");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
use rust_util::util_env::is_env_on;
|
|
||||||
use crate::{util, verify, RunScriptArgs};
|
use crate::{util, verify, RunScriptArgs};
|
||||||
|
use rust_util::util_env::is_env_on;
|
||||||
use rust_util::util_os::get_user_home;
|
use rust_util::util_os::get_user_home;
|
||||||
|
|
||||||
pub fn do_run_script(rs_args: &RunScriptArgs) {
|
pub fn do_run_script(rs_args: &RunScriptArgs) {
|
||||||
|
|||||||
24
src/run_ts.rs
Normal file
24
src/run_ts.rs
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
use crate::{verify, RunScriptArgs};
|
||||||
|
use rust_util::util_cmd;
|
||||||
|
use rust_util::util_env::is_env_on;
|
||||||
|
use std::process::Command;
|
||||||
|
|
||||||
|
pub fn do_run_script(ts_args: &RunScriptArgs) {
|
||||||
|
if ts_args.arguments.is_empty() {
|
||||||
|
failure_and_exit!("Must assign a script file name");
|
||||||
|
}
|
||||||
|
debugging!("Run ts args: {:?}", ts_args.arguments);
|
||||||
|
let script_file = &ts_args.arguments[ts_args.arguments.len() - 1];
|
||||||
|
verify::verify_script(script_file, is_env_on("RUNTS_SKIP_VERIFY"));
|
||||||
|
|
||||||
|
let mut cmd = Command::new("/usr/bin/env");
|
||||||
|
cmd.args(["-S", "deno", "run"]);
|
||||||
|
for arg in &ts_args.arguments {
|
||||||
|
cmd.arg(arg);
|
||||||
|
}
|
||||||
|
|
||||||
|
debugging!("Run command: {cmd:?}");
|
||||||
|
if let Err(e) = util_cmd::run_command_and_wait(&mut cmd) {
|
||||||
|
failure_and_exit!("Run deno: {script_file} failed: {e}");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,3 +11,10 @@ $ runts -l|--list [filter]
|
|||||||
|
|
||||||
Install script:
|
Install script:
|
||||||
$ runts -i|--install <script.ts>
|
$ runts -i|--install <script.ts>
|
||||||
|
|
||||||
|
Environment variables:
|
||||||
|
┌──────────────────────┬────────────────────────────────────────────────┐
|
||||||
|
│ Variable │ Description │
|
||||||
|
├──────────────────────┼────────────────────────────────────────────────┤
|
||||||
|
│ RUNTS_SKIP_VERIFY │ Skip script verification, `bool` │
|
||||||
|
└──────────────────────┴────────────────────────────────────────────────┘
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/usr/bin/env -S deno run --allow-env
|
#!/usr/bin/env runts -- --allow-env
|
||||||
|
|
||||||
console.log("Hello world.");
|
console.log("Hello world.");
|
||||||
|
|||||||
@@ -7,8 +7,9 @@ pub fn verify_script(file: &str, skip_verify: bool) {
|
|||||||
}
|
}
|
||||||
match Script::verify_script_file_with_system_key_map(file) {
|
match Script::verify_script_file_with_system_key_map(file) {
|
||||||
Ok(true) => {
|
Ok(true) => {
|
||||||
debugging!("Script {file} verification success");
|
|
||||||
// Verify file ok!
|
// Verify file ok!
|
||||||
|
debugging!("Script {file} verification success");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
Ok(false) => {
|
Ok(false) => {
|
||||||
failure_and_exit!("Verify script {file} failed, no signature or bad signature");
|
failure_and_exit!("Verify script {file} failed, no signature or bad signature");
|
||||||
|
|||||||
Reference in New Issue
Block a user