UNPKG

eol-check

Version:

CLI tool to check End-of-Life (EOL) status of Node.js, package managers, operating systems, dependencies, and databases. Supports HTML reports and GitHub Actions.

49 lines (48 loc) 1.7 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.scanEnvironment = void 0; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const serviceScanner_1 = require("./serviceScanner"); const scanEnvironment = () => { const nodeVersion = process.version; let packageManager = 'npm'; // Default let os = 'Unknown'; // Detect Package Manager if (fs_1.default.existsSync(path_1.default.join(process.cwd(), 'yarn.lock'))) { packageManager = 'yarn'; } else if (fs_1.default.existsSync(path_1.default.join(process.cwd(), 'pnpm-lock.yaml'))) { packageManager = 'pnpm'; } // Detect OS (Linux specific for now, as per spec) try { if (fs_1.default.existsSync('/etc/os-release')) { const osRelease = fs_1.default.readFileSync('/etc/os-release', 'utf-8'); const lines = osRelease.split('\n'); const nameLine = lines.find((line) => line.startsWith('PRETTY_NAME=')); if (nameLine) { os = nameLine.split('=')[1].replace(/"/g, ''); } } else { os = process.platform; } } catch (error) { console.warn('Failed to detect OS details', error); os = process.platform; } // Scan local services const services = (0, serviceScanner_1.scanLocalServices)(); return { nodeVersion, packageManager, os, services, }; }; exports.scanEnvironment = scanEnvironment;