haz-cli
Version:
45 lines (44 loc) • 1.16 kB
JavaScript
import { spawn } from "node:child_process";
export default class Compose {
service;
verbose;
constructor({ service = '', verbose = false }) {
this.service = service;
this.verbose = verbose;
}
static setService(service) {
return new Compose({ service });
}
static setVerbose(verbose) {
return new Compose({ verbose });
}
down() {
return spawn('docker', ['compose', 'down']);
}
exec(command) {
return spawn('docker', ['compose', 'exec', this.service, ...command]);
}
logs() {
return spawn('docker', ['compose', 'logs', this.service]);
}
raw(command) {
return spawn('docker', ['compose', ...command]);
}
run(command) {
return spawn('docker', ['compose', 'run', '--rm', this.service, ...command]);
}
setService(service) {
this.service = service;
return this;
}
setVerbose(verbose) {
this.verbose = verbose;
return this;
}
stop() {
return spawn('docker', ['compose', 'stop']);
}
up() {
return spawn('docker', ['compose', 'up', '-d']);
}
}