Files
smom-dbis-138/orchestration/portal/UPDATE_RECOMMENDATIONS.md
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control.
- Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities.
- Created .gitmodules to include OpenZeppelin contracts as a submodule.
- Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment.
- Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks.
- Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring.
- Created scripts for resource import and usage validation across non-US regions.
- Added tests for CCIP error handling and integration to ensure robust functionality.
- Included various new files and directories for the orchestration portal and deployment scripts.
2025-12-12 14:57:48 -08:00

166 lines
3.9 KiB
Markdown

# Package Update Recommendations
## 📦 Outdated Packages Summary
### Production Dependencies
| Package | Current | Latest | Type | Recommendation |
|---------|---------|--------|------|----------------|
| **express** | 4.21.2 | 5.1.0 | Major | ⚠️ Breaking changes - Test thoroughly |
| **better-sqlite3** | 9.6.0 | 12.4.1 | Major | ⚠️ Breaking changes - Review migration guide |
| **dotenv** | 16.6.1 | 17.2.3 | Major | ✅ Safe to update |
### Development Dependencies
| Package | Current | Latest | Type | Recommendation |
|---------|---------|--------|------|----------------|
| **eslint** | 8.57.1 | 9.39.1 | Major | ⚠️ Breaking changes - Config migration needed |
| **@typescript-eslint/eslint-plugin** | 6.21.0 | 8.47.0 | Major | ⚠️ Update with eslint 9 |
| **@typescript-eslint/parser** | 6.21.0 | 8.47.0 | Major | ⚠️ Update with eslint 9 |
| **@types/node** | 20.19.25 | 24.10.1 | Major | ⚠️ Node 24 types - Verify compatibility |
| **@types/express** | 4.17.25 | 5.0.5 | Major | ⚠️ For Express 5 - Update with express |
## 🔄 Update Strategy
### Option 1: Safe Updates (Recommended for Production)
Update only minor/patch versions and non-breaking major updates:
```bash
# Update dotenv (breaking changes are minimal)
pnpm update dotenv@latest
# Update TypeScript types (if compatible)
pnpm update @types/node@^20
```
### Option 2: Full Update (Requires Testing)
Update all packages to latest versions:
```bash
# Update all packages
pnpm update --latest
# Or update specific packages
pnpm update express@latest better-sqlite3@latest eslint@latest
```
### Option 3: Gradual Update (Recommended)
Update in stages, testing after each:
#### Stage 1: Non-Breaking Updates
```bash
pnpm update dotenv@latest
```
#### Stage 2: Express 5 Migration
```bash
# Update Express and types together
pnpm update express@latest @types/express@latest
# Review breaking changes:
# - https://github.com/expressjs/express/releases
# - Update code if needed
```
#### Stage 3: ESLint 9 Migration
```bash
# Update ESLint and TypeScript ESLint plugins
pnpm update eslint@latest @typescript-eslint/eslint-plugin@latest @typescript-eslint/parser@latest
# Migrate ESLint config (flat config format)
# See: https://eslint.org/docs/latest/use/configure/configuration-files-new
```
#### Stage 4: Database Library
```bash
# Update better-sqlite3
pnpm update better-sqlite3@latest
# Review migration guide:
# - https://github.com/WiseLibs/better-sqlite3/releases
```
## ⚠️ Breaking Changes to Watch
### Express 5.x
- Some middleware changes
- Type definitions updated
- Review: https://github.com/expressjs/express/releases/tag/v5.0.0
### ESLint 9.x
- New flat config format required
- Old .eslintrc.json format deprecated
- Migration guide: https://eslint.org/docs/latest/use/migrate-to-9.0.0
### better-sqlite3 12.x
- API changes possible
- Review changelog before updating
## ✅ Recommended Immediate Actions
1. **Update dotenv** (safest):
```bash
pnpm update dotenv@latest
```
2. **Test current setup**:
```bash
pnpm build
pnpm run type-check
pnpm dev # Test that server starts
```
3. **Plan major updates**:
- Create a feature branch
- Update one major package at a time
- Test thoroughly after each update
- Update documentation if needed
## 📝 Update Commands
### Check what would be updated
```bash
pnpm outdated
```
### Update all to latest (interactive)
```bash
pnpm update --latest --interactive
```
### Update specific package
```bash
pnpm update <package>@latest
```
### Update and save exact versions
```bash
pnpm update --save-exact
```
## 🔍 Verification After Updates
```bash
# Build
pnpm build
# Type check
pnpm run type-check
# Lint
pnpm lint
# Test server starts
pnpm dev
```
## 📚 Resources
- [Express 5 Migration](https://github.com/expressjs/express/releases)
- [ESLint 9 Migration](https://eslint.org/docs/latest/use/migrate-to-9.0.0)
- [better-sqlite3 Changelog](https://github.com/WiseLibs/better-sqlite3/releases)