books-image-converter
v1.3.0
Published
Console application to convert images to a differente formats using the node package Sharp
Downloads
25
Maintainers
Readme
📖 Descripción
Books Image Converter es una herramienta CLI potente y fácil de usar para convertir imágenes entre diferentes formatos. Perfecta para preparar contenido de libros digitales, optimizar imágenes web o procesar lotes de imágenes de forma eficiente.
Construida con TypeScript, Sharp y siguiendo principios de Arquitectura Limpia para garantizar código mantenible y escalable.
✨ Características
- 🖼️ Múltiples Formatos: Convierte entre JPEG, PNG, WebP y más
- ⚡ Alto Rendimiento: Procesamiento ultra rápido con Sharp
- 🎯 Modo Interactivo: CLI intuitiva con prompts guiados
- 🚀 Modo Comando: Ejecución rápida con parámetros
- 📁 Batch Processing: Convierte carpetas completas de una vez
- 🗑️ Limpieza Automática: Opción para eliminar archivos originales
- 💻 Cross-platform: Funciona en Windows, macOS y Linux
- 📦 Sin Configuración: Listo para usar después de instalar
📦 Instalación
Uso con npx (Sin instalación)
npx books-image-converter convertInstalación Global
npm install -g books-image-converterInstalación en Proyecto
npm install books-image-converter🚀 Uso
Inicio Rápido
La forma más fácil de comenzar es usar el modo interactivo:
npx books-image-converter convertLa CLI te guiará paso a paso:
🎨 B&B - Image Converter
📂 Ruta de la carpeta con las imágenes: ./imagenes
🎯 Formato de salida:
❯ WebP (mejor compresión)
JPG (compatible)
PNG (sin pérdida)
📁 ¿Usar carpeta de salida diferente? No
🗑️ ¿Eliminar imágenes originales? No
🔄 Convirtiendo imágenes a .webp...
✅ Se convirtieron 15 imágenes exitosamenteModo Comando (Avanzado)
Para usuarios que prefieren rapidez:
books-image-converter convert -i ./imagenes -f webpOpciones Disponibles
| Opción | Alias | Descripción | Requerido |
|--------|-------|-------------|-----------|
| --input | -i | Ruta de la carpeta con imágenes | Sí* |
| --format | -f | Formato de salida (webp, jpg, png) | Sí* |
| --output | -o | Carpeta de salida (por defecto: misma carpeta) | No |
| --delete | -d | Eliminar imágenes originales | No |
* Solo requeridos en modo comando. En modo interactivo se solicitan automáticamente.
💡 Ejemplos
Ejemplo 1: Conversión Básica
Convertir todas las imágenes de una carpeta a WebP:
npx books-image-converter convert -i ./mis-fotos -f webpEjemplo 2: Con Carpeta de Salida
Mantener originales y guardar convertidas en otra carpeta:
npx books-image-converter convert \
-i ./imagenes-originales \
-f jpg \
-o ./imagenes-convertidasEjemplo 3: Optimización Web
Convertir a WebP y eliminar originales para ahorrar espacio:
npx books-image-converter convert -i ./assets/images -f webp -dEjemplo 4: Conversión a PNG
Para mantener calidad sin pérdida:
npx books-image-converter convert -i ./fotos -f pngEjemplo 5: Uso en Scripts
Integra en tus scripts de build:
{
"scripts": {
"optimize-images": "books-image-converter convert -i ./public/images -f webp"
}
}🎯 Casos de Uso
🌐 Optimización Web
books-image-converter convert -i ./src/assets -f webp -d🖼️ Estandarización de Formatos
books-image-converter convert -i ./coleccion-fotos -f png🏗️ Arquitectura
Este proyecto sigue los principios de Clean Architecture:
📂 src/
├── 📁 domain/ # Lógica de negocio
│ ├── repository/ # Interfaces
│ └── use-cases/ # Casos de uso
├── 📁 infrastructure/ # Implementaciones técnicas
│ └── repositories/ # Sharp integration
└── 📁 presentation/ # Capa de presentación
└── cli.ts # Interfaz CLI🛠️ Tecnologías
- Sharp - Procesamiento de imágenes de alto rendimiento
- TypeScript - Type safety
- Commander.js - CLI framework
- Inquirer - Prompts interactivos
- Chalk - Styling para terminal
🤝 Contribuir
¿Encontraste un bug o tienes una idea? ¡Las contribuciones son bienvenidas!
- Fork el proyecto
- Crea tu feature branch (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'feat: Add amazing feature') - Push a la branch (
git push origin feature/AmazingFeature) - Abre un Pull Request
📝 Changelog
Ver CHANGELOG.md para detalles de cada versión.
❤️ Hecho con el 💙 en Books&Books
Nos enorgullece desarrollar este proyecto como parte del compromiso de Books&Books con la educación y la innovación tecnológica. 🌟
Gracias por visitar nuestro proyecto. ¡Juntos podemos hacer del aprendizaje una experiencia increíble! 🥳✨
