-
-
Notifications
You must be signed in to change notification settings - Fork 22
/
install_tools.ts
42 lines (34 loc) 路 1017 Bytes
/
install_tools.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
/**
* Copyright (c) Crew Dev.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import { ResolveDenoPath } from "../commands/run.ts";
import type { Params } from "../utils/types.ts";
import { Somebybroken } from "../utils/logs.ts";
function installTools(args: string[]) {
return Deno.run({ cmd: [ResolveDenoPath(), ...args], stdout: "piped" });
}
/**
* install script from database.json
*/
export default async function exec(param: Params): Promise<boolean> {
const args: string[] = [
"install",
"-f",
...param.config.permissions,
param.config.url,
];
const app: Deno.Process = installTools(args);
const decoder = new TextDecoder("utf-8");
const out = await app.output();
console.log(decoder.decode(out));
const response = (await app.status()).success;
if (!response) {
app.close();
Somebybroken("something went wrong in the installation");
}
app.close();
return response;
}