@oxog/port-terminator
Version:
Cross-platform utility to terminate processes on ports with zero dependencies
67 lines • 2.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProcessKillError = exports.CommandExecutionError = exports.InvalidPortError = exports.TimeoutError = exports.PlatformError = exports.PermissionError = exports.ProcessNotFoundError = exports.PortTerminatorError = void 0;
class PortTerminatorError extends Error {
constructor(message, code, port, pid) {
super(message);
this.name = 'PortTerminatorError';
this.code = code;
this.port = port;
this.pid = pid;
Error.captureStackTrace(this, this.constructor);
}
}
exports.PortTerminatorError = PortTerminatorError;
class ProcessNotFoundError extends PortTerminatorError {
constructor(port) {
super(`No process found running on port ${port}`, 'PROCESS_NOT_FOUND', port);
this.name = 'ProcessNotFoundError';
}
}
exports.ProcessNotFoundError = ProcessNotFoundError;
class PermissionError extends PortTerminatorError {
constructor(message, pid) {
super(message, 'PERMISSION_DENIED', undefined, pid);
this.name = 'PermissionError';
}
}
exports.PermissionError = PermissionError;
class PlatformError extends PortTerminatorError {
constructor(platform, message) {
super(message || `Unsupported platform: ${platform}`, 'PLATFORM_UNSUPPORTED');
this.name = 'PlatformError';
}
}
exports.PlatformError = PlatformError;
class TimeoutError extends PortTerminatorError {
constructor(operation, timeout) {
super(`Operation '${operation}' timed out after ${timeout}ms`, 'OPERATION_TIMEOUT');
this.name = 'TimeoutError';
}
}
exports.TimeoutError = TimeoutError;
class InvalidPortError extends PortTerminatorError {
constructor(port) {
super(`Invalid port number: ${port}. Port must be between 1 and 65535`, 'INVALID_PORT', typeof port === 'number' ? port : undefined);
this.name = 'InvalidPortError';
}
}
exports.InvalidPortError = InvalidPortError;
class CommandExecutionError extends PortTerminatorError {
constructor(command, exitCode, stderr) {
super(`Command execution failed: ${command} (exit code: ${exitCode})`, 'COMMAND_EXECUTION_FAILED');
this.name = 'CommandExecutionError';
this.command = command;
this.exitCode = exitCode;
this.stderr = stderr;
}
}
exports.CommandExecutionError = CommandExecutionError;
class ProcessKillError extends PortTerminatorError {
constructor(pid, signal) {
super(`Failed to kill process ${pid}${signal ? ` with signal ${signal}` : ''}`, 'PROCESS_KILL_FAILED', undefined, pid);
this.name = 'ProcessKillError';
}
}
exports.ProcessKillError = ProcessKillError;
//# sourceMappingURL=index.js.map