UNPKG

hypershield

Version:

Middleware suite for high-performance and resilient APIs

62 lines 2.13 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const child_process_1 = require("child_process"); const fs_1 = __importDefault(require("fs")); function checkOutdatedDependencies() { try { console.log('Checking for outdated dependencies...'); const output = (0, child_process_1.execSync)('npm outdated --json', { encoding: 'utf-8' }); const outdated = JSON.parse(output); if (Object.keys(outdated).length > 0) { console.warn('Outdated dependencies found:', outdated); return false; } return true; } catch (error) { console.error('Failed to check dependencies:', error); return false; } } function checkVulnerabilities() { try { console.log('Checking for vulnerabilities...'); (0, child_process_1.execSync)('npm audit', { stdio: 'inherit' }); return true; } catch (error) { console.error('Security vulnerabilities found'); return false; } } function validatePeerDependencies() { const pkg = JSON.parse(fs_1.default.readFileSync('package.json', 'utf-8')); const nodeModules = fs_1.default.readdirSync('node_modules'); console.log('Validating peer dependencies...'); const dependencies = Object.assign(Object.assign({}, pkg.dependencies), pkg.devDependencies); const missingDeps = Object.keys(dependencies).filter(dep => !nodeModules.includes(dep)); if (missingDeps.length > 0) { console.error('Missing dependencies:', missingDeps); return false; } return true; } function main() { const checks = [ checkOutdatedDependencies(), checkVulnerabilities(), validatePeerDependencies() ]; if (checks.every(Boolean)) { console.log('All dependency checks passed'); } else { console.error('Some dependency checks failed'); process.exit(1); } } main(); //# sourceMappingURL=check-dependencies.js.map