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]]
|
||||
name = "runrs"
|
||||
version = "1.1.1"
|
||||
version = "1.1.2"
|
||||
dependencies = [
|
||||
"argh",
|
||||
"reqwest",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "runrs"
|
||||
version = "1.1.1"
|
||||
version = "1.1.2"
|
||||
edition = "2018"
|
||||
license = "MIT/Apache-2.0"
|
||||
description = "A Tool for Run Rust Scripts"
|
||||
|
||||
@@ -11,6 +11,8 @@ mod run_rs;
|
||||
mod template;
|
||||
mod util;
|
||||
mod verify;
|
||||
#[cfg(feature = "switch-ts-lang")]
|
||||
mod run_ts;
|
||||
|
||||
#[derive(FromArgs, PartialEq, Debug)]
|
||||
/// Run script
|
||||
@@ -75,5 +77,10 @@ fn do_run_script(rs_args: &RunScriptArgs) {
|
||||
run_rs::do_run_script(&rs_args);
|
||||
return;
|
||||
}
|
||||
#[cfg(feature = "switch-ts-lang")]
|
||||
{
|
||||
run_ts::do_run_script(&rs_args);
|
||||
return;
|
||||
}
|
||||
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 rust_util::util_env::is_env_on;
|
||||
use rust_util::util_os::get_user_home;
|
||||
|
||||
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:
|
||||
$ 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) {
|
||||
Ok(true) => {
|
||||
debugging!("Script {file} verification success");
|
||||
// Verify file ok!
|
||||
debugging!("Script {file} verification success");
|
||||
return;
|
||||
}
|
||||
Ok(false) => {
|
||||
failure_and_exit!("Verify script {file} failed, no signature or bad signature");
|
||||
|
||||
Reference in New Issue
Block a user