Se ha reorganizado la estructura del proyecto para seguir mejores prácticas de arquitectura de software, organizando los paquetes por dominio y responsabilidad.
packages/
├── security/
├── zero-trust/
├── event-bus/
├── observability/
└── ...
packages/
├── core/
│ └── contracts/
├── security/
│ ├── security/
│ ├── zero-trust/
│ ├── threat-intelligence/
│ └── ...
├── identity/
│ ├── decentralized-identity/
│ ├── zero-knowledge/
│ └── ...
├── infrastructure/
│ ├── event-bus/
│ ├── service-client/
│ └── ...
└── ...
# 1. Hacer backup
git add -A
git commit -m "Backup antes de reorganización"
# 2. Reorganizar estructura
bash scripts/reorganize-structure.sh
# 3. Actualizar imports (requiere revisión manual después)
bash scripts/update-imports.sh
# 4. Actualizar package.json de cada paquete movido
# Cambiar el nombre del paquete de "@opendex/security" a "@opendex/security/security"
# etc.
# 5. Reinstalar dependencias
pnpm install
# 6. Reconstruir
pnpm build:packages
# 7. Verificar que todo funciona
pnpm typecheck
pnpm test run-
Crear nueva estructura de directorios
mkdir -p packages/{core,security,identity,infrastructure,observability,compliance,advanced,performance} -
Mover paquetes manualmente
- Mover
packages/contracts→packages/core/contracts - Mover paquetes de seguridad →
packages/security/ - Mover paquetes de identidad →
packages/identity/ - etc.
- Mover
-
Actualizar
package.jsonde cada paquete- Cambiar el nombre del paquete para reflejar nueva ubicación
- Ejemplo:
"name": "@opendex/security"→"name": "@opendex/security/security"
-
Actualizar imports en todo el proyecto
- Buscar y reemplazar imports antiguos
- Usar herramientas de refactoring del IDE
-
Actualizar
pnpm-workspace.yaml- Ya está actualizado con la nueva estructura
-
Reinstalar y reconstruir
pnpm install pnpm build:packages
contracts→core/contracts
security→security/securityzero-trust→security/zero-trustthreat-intelligence→security/threat-intelligenceencryption→security/encryptionquantum-resistant→security/quantum-resistantbehavioral-biometrics→security/behavioral-biometricscontinuous-auth→security/continuous-authml-auth→security/ml-auth
decentralized-identity→identity/decentralized-identityzero-knowledge→identity/zero-knowledgesession-management→identity/session-managementrbac-advanced→identity/rbac-advanced
event-bus→infrastructure/event-busservice-client→infrastructure/service-clientcache→infrastructure/cacherate-limiting→infrastructure/rate-limitingml-rate-limiting→infrastructure/ml-rate-limitingddos-protection→infrastructure/ddos-protection
observability→observability/observabilityanalytics→observability/analyticsanomaly-detection→observability/anomaly-detection
compliance→compliance/complianceblockchain-audit→compliance/blockchain-auditwebhooks→compliance/webhooks
homomorphic-encryption→advanced/homomorphic-encryptionfederated-learning→advanced/federated-learninggraphql-api→advanced/graphql-api
performance→performance/performancemulti-region→performance/multi-regionself-healing→performance/self-healing
// Antes
import { RiskScoringEngine } from '@opendex/security';
import { EventBus } from '@opendex/event-bus';
// Después
import { RiskScoringEngine } from '@opendex/security/security';
import { EventBus } from '@opendex/infrastructure/event-bus';Después de la migración, verifica:
- ✅ Todos los paquetes se construyen correctamente
- ✅ No hay errores de TypeScript
- ✅ Los tests pasan
- ✅ Las aplicaciones se ejecutan correctamente
- ✅ Los imports están actualizados
Si necesitas revertir los cambios:
git reset --hard HEAD~1O si ya hiciste commit:
git revert HEAD- Los paquetes legacy (
stack,react,js,template) se mantienen en la raíz depackages/para compatibilidad - La migración puede requerir actualización manual de algunos imports
- Revisa todos los
package.jsondespués de mover paquetes - Actualiza referencias en documentación si es necesario