6.6 KiB
alepm - Advanced Package Manager
alepm es un package manager avanzado y seguro para Node.js que proporciona gestión a nivel de sistema con almacenamiento binario eficiente, caché inteligente y características de seguridad avanzadas.
🚀 Características
🔒 Seguridad
- Verificación de integridad: Validación automática de checksums SHA-512/SHA-256
- Auditoría de vulnerabilidades: Escaneo automático contra bases de datos de vulnerabilidades
- Análisis de contenido: Detección de patrones maliciosos en paquetes
- Cuarentena automática: Aislamiento de paquetes sospechosos
- Verificación de firmas: Soporte para paquetes firmados digitalmente
💾 Almacenamiento Binario
- Formato binario optimizado: Reducción significativa del espacio en disco
- Compresión avanzada: Algoritmos de compresión de alta eficiencia
- Deduplicación: Eliminación automática de archivos duplicados
- Índice eficiente: Acceso rápido a paquetes almacenados
⚡ Caché Inteligente
- Caché persistente: Almacenamiento eficiente de paquetes descargados
- Limpieza automática: Gestión inteligente del espacio de caché
- Verificación de integridad: Validación automática de archivos en caché
- Compresión: Reducción del espacio utilizado por el caché
🔐 Gestión de Estado
- alepm.lock: Archivo de bloqueo para garantizar instalaciones reproducibles
- Verificación de consistencia: Validación automática del estado del proyecto
- Resolución de dependencias: Algoritmo avanzado de resolución de conflictos
- Metadatos extendidos: Información detallada sobre cada paquete
📦 Instalación
npm install -g alepm
🛠️ Uso
Comandos Básicos
# Instalar paquetes
alepm install lodash
alepm install express@4.18.0
alepm install --save-dev jest
# Instalar todas las dependencias del proyecto
alepm install
# Desinstalar paquetes
alepm uninstall lodash
alepm remove express
# Actualizar paquetes
alepm update
alepm update lodash
# Buscar paquetes
alepm search react
# Información de un paquete
alepm info lodash
# Listar paquetes instalados
alepm list
alepm ls --depth=2
Gestión de Caché
# Limpiar caché
alepm cache clean
# Verificar integridad del caché
alepm cache verify
# Estadísticas del caché
alepm cache stats
Auditoría de Seguridad
# Auditar vulnerabilidades
alepm audit
# Corregir vulnerabilidades automáticamente
alepm audit --fix
# Verificar integridad del archivo de bloqueo
alepm lock verify
Configuración
# Ver configuración
alepm config list
# Establecer configuración
alepm config set registry https://registry.npmjs.org
alepm config set cache.maxSize 2GB
# Obtener valor de configuración
alepm config get registry
# Restablecer configuración
alepm config reset
Inicializar Proyecto
# Crear nuevo proyecto
alepm init
# Usar valores por defecto
alepm init --yes
⚙️ Configuración
alepm utiliza un archivo de configuración ubicado en ~/.alepm/config.json. Las opciones principales incluyen:
Registro y Red
{
"registry": "https://registry.npmjs.org",
"network": {
"timeout": 30000,
"retries": 3,
"proxy": null
}
}
Caché
{
"cache": {
"enabled": true,
"maxSize": "1GB",
"maxAge": "30d",
"compression": true
}
}
Seguridad
{
"security": {
"enableAudit": true,
"enableIntegrityCheck": true,
"maxPackageSize": "100MB",
"scanPackageContent": true
}
}
Almacenamiento
{
"storage": {
"compression": 9,
"binaryFormat": true,
"deduplication": true
}
}
🔧 Características Avanzadas
Almacenamiento Binario
alepm utiliza un formato de almacenamiento binario personalizado que:
- Reduce el uso de disco hasta en un 60%
- Mejora la velocidad de acceso a paquetes
- Incluye verificación de integridad integrada
- Soporta deduplicación automática
Sistema de Caché
El sistema de caché inteligente:
- Almacena paquetes con compresión optimizada
- Limpia automáticamente archivos antiguos
- Verifica la integridad de los datos almacenados
- Optimiza el acceso frecuente a paquetes
Resolución de Dependencias
El resolvedor de dependencias:
- Maneja conflictos de versiones automáticamente
- Optimiza el árbol de dependencias
- Detecta dependencias circulares
- Soporta hoisting inteligente
Seguridad Avanzada
Las características de seguridad incluyen:
- Escaneo de vulnerabilidades en tiempo real
- Análisis estático de código malicioso
- Sistema de cuarentena para paquetes sospechosos
- Verificación de firmas digitales
📄 Archivo alepm.lock
El archivo alepm.lock garantiza instalaciones reproducibles y contiene:
{
"lockfileVersion": "1.0.0",
"name": "mi-proyecto",
"packages": {
"lodash@4.17.21": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"requires": {}
}
},
"dependencies": {
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
}
}
}
🤝 Contribuir
Las contribuciones son bienvenidas. Por favor:
- Fork el repositorio
- Crea una rama para tu característica (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
📋 Requisitos del Sistema
- Node.js >= 16.0.0
- npm >= 7.0.0 (para desarrollo)
- Sistema operativo: Linux, macOS, Windows
🐛 Reportar Problemas
Si encuentras un bug o tienes una sugerencia, por favor abre un issue en el repositorio.
📝 Licencia
Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para detalles.
🙏 Agradecimientos
- Inspirado en npm, yarn y pnpm
- Utiliza bibliotecas de código abierto de la comunidad Node.js
- Agradecimiento especial a todos los contribuidores
🔮 Roadmap
v1.1.0
- Soporte para workspaces
- Plugin system
- Mejoras en el rendimiento
v1.2.0
- Interfaz web de gestión
- Soporte para registros privados
- Análisis de dependencias mejorado
v2.0.0
- Soporte para otros lenguajes (Python, Go, etc.)
- Sistema de firmas distribuido
- Inteligencia artificial para detección de malware
alepm - Package management, evolved. 🚀