59 lines
1.3 KiB
Bash
Executable File
59 lines
1.3 KiB
Bash
Executable File
#!/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."
|