UNPKG

@oxog/port-terminator

Version:

Cross-platform utility to terminate processes on ports with zero dependencies

67 lines 2.74 kB
"use strict"; 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