@nodedaemon/core
Version:
Production-ready Node.js process manager with zero external dependencies
74 lines • 2.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WEB_UI_STATIC_DIR = exports.WEB_UI_DIR = exports.DEFAULT_WEB_UI_CONFIG = exports.SIGNALS = exports.FILE_WATCH_IGNORE = exports.FILE_WATCH_DEBOUNCE = exports.FORCE_KILL_TIMEOUT = exports.GRACEFUL_SHUTDOWN_TIMEOUT = exports.CPU_THRESHOLD = exports.MEMORY_THRESHOLD = exports.HEALTH_CHECK_INTERVAL = exports.LOG_BUFFER_SIZE = exports.MAX_LOG_FILES = exports.MAX_LOG_SIZE = exports.LOG_LEVELS = exports.PROCESS_EVENTS = exports.RESTART_STRATEGIES = exports.DEFAULT_CONFIG = exports.IPC_SOCKET_PATH = exports.DAEMON_LOG = exports.LOG_DIR = exports.STATE_FILE = exports.NODEDAEMON_DIR = void 0;
const path_1 = require("path");
const os_1 = require("os");
exports.NODEDAEMON_DIR = (0, path_1.join)((0, os_1.homedir)(), '.nodedaemon');
exports.STATE_FILE = (0, path_1.join)(exports.NODEDAEMON_DIR, 'state.json');
exports.LOG_DIR = (0, path_1.join)(exports.NODEDAEMON_DIR, 'logs');
exports.DAEMON_LOG = (0, path_1.join)(exports.LOG_DIR, 'daemon.log');
exports.IPC_SOCKET_PATH = process.platform === 'win32'
? '\\\\.\\pipe\\nodedaemon'
: (0, path_1.join)(exports.NODEDAEMON_DIR, 'daemon.sock');
exports.DEFAULT_CONFIG = {
instances: 1,
maxRestarts: 10,
restartDelay: 1000,
maxRestartDelay: 30000,
minUptime: 10000, // 10 seconds - minimum uptime to reset restart counter
autoRestartOnCrash: true,
autoRestartOnHighMemory: false,
autoRestartOnHighCpu: false,
memoryThreshold: '512MB',
cpuThreshold: 80
};
exports.RESTART_STRATEGIES = {
EXPONENTIAL_BACKOFF: 'exponential',
FIXED_DELAY: 'fixed',
LINEAR_BACKOFF: 'linear'
};
exports.PROCESS_EVENTS = {
START: 'start',
STOP: 'stop',
RESTART: 'restart',
CRASH: 'crash',
EXIT: 'exit'
};
exports.LOG_LEVELS = {
DEBUG: 'debug',
INFO: 'info',
WARN: 'warn',
ERROR: 'error'
};
exports.MAX_LOG_SIZE = 10 * 1024 * 1024; // 10MB
exports.MAX_LOG_FILES = 5;
exports.LOG_BUFFER_SIZE = 1000;
exports.HEALTH_CHECK_INTERVAL = 30000; // 30 seconds
exports.MEMORY_THRESHOLD = 512 * 1024 * 1024; // 512MB
exports.CPU_THRESHOLD = 80; // 80%
exports.GRACEFUL_SHUTDOWN_TIMEOUT = 30000; // 30 seconds
exports.FORCE_KILL_TIMEOUT = 5000; // 5 seconds
exports.FILE_WATCH_DEBOUNCE = 100; // 100ms
exports.FILE_WATCH_IGNORE = [
'node_modules/**',
'.git/**',
'*.log',
'*.tmp',
'.DS_Store',
'Thumbs.db'
];
exports.SIGNALS = {
SIGTERM: 'SIGTERM',
SIGINT: 'SIGINT',
SIGKILL: 'SIGKILL',
SIGHUP: 'SIGHUP'
};
exports.DEFAULT_WEB_UI_CONFIG = {
enabled: false,
port: 8080,
host: '127.0.0.1',
auth: null
};
exports.WEB_UI_DIR = (0, path_1.join)(exports.NODEDAEMON_DIR, 'web');
exports.WEB_UI_STATIC_DIR = (0, path_1.join)(exports.WEB_UI_DIR, 'static');
//# sourceMappingURL=constants.js.map