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

3.9 KiB

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

Update only minor/patch versions and non-breaking major updates:

# 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:

# Update all packages
pnpm update --latest

# Or update specific packages
pnpm update express@latest better-sqlite3@latest eslint@latest

Update in stages, testing after each:

Stage 1: Non-Breaking Updates

pnpm update dotenv@latest

Stage 2: Express 5 Migration

# 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

# 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

# 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

ESLint 9.x

better-sqlite3 12.x

  • API changes possible
  • Review changelog before updating
  1. Update dotenv (safest):

    pnpm update dotenv@latest
    
  2. Test current setup:

    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

pnpm outdated

Update all to latest (interactive)

pnpm update --latest --interactive

Update specific package

pnpm update <package>@latest

Update and save exact versions

pnpm update --save-exact

🔍 Verification After Updates

# Build
pnpm build

# Type check
pnpm run type-check

# Lint
pnpm lint

# Test server starts
pnpm dev

📚 Resources