- 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.
166 lines
3.9 KiB
Markdown
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)
|
|
|