@augment-vir/node
Version:
A collection of augments, helpers types, functions, and classes only for Node.js (backend) JavaScript environments.
25 lines (24 loc) • 802 B
JavaScript
import { check } from '@augment-vir/assert';
import { runShellCommand } from '../../augments/terminal/shell.js';
import { makeEnvFlags } from './docker-command-inputs.js';
export async function runContainerCommand({ tty, containerNameOrId, command, envMapping, executionEnv, dockerFlags = [], }) {
const envFlags = makeEnvFlags(envMapping);
/** Can't test tty in automated tests. */
/* node:coverage ignore next 1 */
const ttyFlag = tty ? '-it' : '';
const fullCommand = [
'docker',
'exec',
ttyFlag,
envFlags,
...dockerFlags,
containerNameOrId,
command,
]
.filter(check.isTruthy)
.join(' ');
return await runShellCommand(fullCommand, {
env: executionEnv,
rejectOnError: true,
});
}