#!/usr/bin/env bash # Dependency health report for NoteLett and common-platform package compatibility. set -euo pipefail ROOT="$(git rev-parse --show-toplevel)" cd "$ROOT" echo "=== Runtime ===" node --version pnpm --version echo "" echo "=== Key dependency versions ===" node <<'NODE' const fs = require('fs'); const packages = [ ['root', 'package.json'], ['backend', 'backend/package.json'], ['web', 'web/package.json'], ['mobile', 'mobile/package.json'], ]; const keys = [ '@bytelyst/api-client', '@bytelyst/auth-client', '@bytelyst/datastore', '@bytelyst/fastify-core', '@bytelyst/llm', '@bytelyst/platform-client', '@bytelyst/react-auth', '@playwright/test', 'expo', 'fastify', 'next', 'react', 'react-native', 'vitest', ]; for (const [label, file] of packages) { const pkg = JSON.parse(fs.readFileSync(file, 'utf8')); const deps = { ...(pkg.dependencies || {}), ...(pkg.devDependencies || {}) }; console.log(`[${label}]`); for (const key of keys) { if (deps[key]) console.log(`${key}=${deps[key]}`); } } NODE echo "" echo "=== TypeScript compatibility sweep ===" pnpm run typecheck echo "" echo "=== Outdated dependency report (non-blocking) ===" pnpm outdated -r --long || true echo "" echo "Dependency health check completed."