deno.land / x / velociraptor@1.5.0 / src / run_script.ts

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import { ConfigData } from "./load_config.ts";import { log } from "./logger.ts";import { printScriptsInfo } from "./scripts_info.ts";import { bold } from "../deps.ts";import { normalizeScript } from "./normalize_script.ts";import { resolveShell } from "./resolve_shell.ts";import { runCommands } from "./run_commands.ts";import { validateScript } from "./validate_script.ts";
export enum ArgsForwardingMode { DIRECT, INDIRECT,}
export interface RunScriptOptions { configData: ConfigData; script: string; prefix?: string | ((shell: string) => string); additionalArgs?: string[]; argsForwardingMode?: ArgsForwardingMode;}
export async function runScript( { configData, script, prefix, additionalArgs, argsForwardingMode }: RunScriptOptions,) { const { cwd, config } = configData; if (script == null || script.length < 1) { printScriptsInfo(config); Deno.exit(); } validateScript(script, config); const scriptDef = config.scripts[script]; const { scripts, ...rootConfig } = config; const commands = normalizeScript(scriptDef, rootConfig); const shell = resolveShell(); try { await runCommands({ shell, cwd, commands, prefix: typeof prefix === "function" ? prefix(shell) : prefix, additionalArgs, argsForwardingMode, }); } catch (e) { log.error(`Failed at the ${bold(script)} script`); Deno.exit(3); }}
velociraptor

Version Info

Tagged at
2 years ago