#!/bin/bash # Pin npm packages to versions that are at least 2 weeks old # This script helps ensure compliance with package age requirements set -e echo "=========================================" echo "Pin NPM Packages to Old Versions" echo "=========================================" echo "" cd frontend echo "Step 1: Checking current package ages..." node ../scripts/check-package-age.js || { echo "" echo "Some packages are too new. Recommendations:" echo "1. Manually downgrade packages in package.json to older versions" echo "2. Run: npm install --package-lock-only to update lock file" echo "3. Re-run this script to verify" exit 1 } echo "" echo "Step 2: Ensuring package-lock.json uses exact versions..." if [ -f "package-lock.json" ]; then echo "✓ package-lock.json exists" else echo "⚠ package-lock.json does not exist. Creating it..." npm install --package-lock-only fi echo "" echo "=========================================" echo "✓ All packages meet the 2-week age requirement" echo "=========================================" echo "" echo "To install these packages:" echo " npm ci # Uses exact versions from package-lock.json" echo ""