Skip to content
Snippets Groups Projects

feat: remove devcontainers when disconnected

@@ -3,14 +3,14 @@ import { promisify } from 'util';
const exec = promisify(execCallback);
export async function getDevContainerContainers(): Promise<string[]> {
async function getDevContainerContainers(): Promise<string[]> {
return (await exec('docker container ps -a --format {{.Names}}')).stdout
.split('\n')
.filter((container) => container.includes('deadlock-mission-'));
}
async function removeConatainers(...conatainers: string[]) {
(await exec(`docker container rm -f ${conatainers.join(' ')}`)).stdout;
async function removeContainers(...containers: string[]) {
await exec(`docker container rm -f ${containers.join(' ')}`);
}
async function getDevContainerImages(): Promise<string[]> {
@@ -20,14 +20,14 @@ async function getDevContainerImages(): Promise<string[]> {
}
async function removeImages(...images: string[]) {
(await exec(`docker image rm -f ${images.join(' ')}`)).stdout;
await exec(`docker image rm -f ${images.join(' ')}`);
}
export async function clearDevContainers() {
const containers = await getDevContainerContainers();
const images = await getDevContainerImages();
if (containers.length > 0) {
await removeConatainers(...containers);
await removeContainers(...containers);
}
if (images.length > 0) {
await removeImages(...images);
Loading