@jjdenhertog/ai-driven-development
Version:
AI-driven development workflow with learning capabilities for Claude
49 lines • 2.46 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.checkDockerAvailable = checkDockerAvailable;
const node_child_process_1 = require("node:child_process");
const node_util_1 = require("node:util");
const execAsync = (0, node_util_1.promisify)(node_child_process_1.exec);
function checkDockerAvailable() {
return __awaiter(this, void 0, void 0, function* () {
try {
// Check if Docker is installed and daemon is running
yield execAsync('docker version --format "{{.Server.Version}}"');
// Check if we can actually run containers
yield execAsync('docker ps');
return { available: true };
}
catch (error) {
// Check if Docker is not installed
if (error instanceof Error && error.message.includes('command not found')) {
return {
available: false,
error: 'Docker is not installed. Please install Docker Desktop from https://docs.docker.com/get-docker/'
};
}
// Check if Docker daemon is not running
if (error instanceof Error && (error.message.includes('Cannot connect to the Docker daemon') ||
error.message.includes('Is the docker daemon running'))) {
return {
available: false,
error: 'Docker daemon is not running. Please start Docker Desktop.'
};
}
// Other errors
return {
available: false,
error: `Docker check failed: ${error instanceof Error ? error.message : String(error)}`
};
}
});
}
//# sourceMappingURL=checkDockerAvailable.js.map