@lucasbernardosn/img2ico
v1.0.0
Published
Ferramenta CLI para converter imagens para o formato ICO.
Downloads
4
Maintainers
Readme
Sobre o projeto
Ferramenta CLI para converter imagens de diversos formatos para o formato ICO de múltiplos tamanhos. Facilita a criação de favicons e ícones de aplicações.
O projeto foca em simplicidade de uso, validação de entrada e feedback do processo de conversão.
Principais funcionalidades
- Conversão automática para os tamanhos suportados por arquivos ico (16, 24, 32, 48, 64, 128, 256px)
- Suporte para múltiplos formatos de entrada (JPEG, PNG, WebP, AVIF, BMP, GIF, TIFF)
- Validação de arquivos de entrada (formato, tamanho, existência)
- Interface CLI com feedback em tempo real
- Uso como biblioteca TypeScript em outros projetos
- Tratamento de erros com mensagens claras
- Redimensionamento com preservação de transparência
Tecnologias utilizadas
— Runtime JavaScript
— Tipagem estática
— Processamento de imagens
— Geração de arquivos ICO
— Parser de argumentos CLI
— Linting e formatação
— Gerenciador de pacotes
Como começar
Pré-requisitos
Node.js 18.0.0+
Instalação
Para rodar localmente:
Clonar o repositório:
git clone https://github.com/LucasBernardoSN/image-to-ico-converter-cli.gitEntrar no diretório:
cd image-to-ico-converter-cliInstalar dependências:
pnpm installCompilar o projeto:
pnpm run buildInstalação global
Instalar globalmente via npm:
npm install -g @lucasbernardosn/img2icoUsar o comando img2ico em qualquer lugar:
img2ico -i logo.pngComo usar
Comandos básicos
| Comando | Descrição |
| ------------------------------------ | ------------------------------------------- |
| pnpm start -i <entrada> | Converte imagem para ICO no diretório atual |
| pnpm start -i <entrada> -o <saida> | Converte especificando arquivo de saída |
| img2ico -i <entrada> | Comando global (após instalação global) |
| pnpm start --help | Exibe ajuda e opções disponíveis |
Exemplos práticos
Converter logo.png para logo.ico:
pnpm start -i logo.pngEspecificar arquivo de saída personalizado:
pnpm start -i foto.jpg -o favicon.icoUsar com caminho absoluto:
pnpm start -i /path/to/image.png -o /path/to/output.icoComando global após instalação:
img2ico -i logo.png -o icon.icoFormatos suportados
Entrada: JPEG, PNG, WebP, AVIF, BMP, GIF, TIFF
Saída: ICO com múltiplos tamanhos (16, 24, 32, 48, 64, 128, 256px)
Como biblioteca
Use o conversor programaticamente em seus projetos TypeScript/JavaScript:
import { ImageToIcoConverter, ConsoleLogger } from '@lucasbernardosn/img2ico';
const converter = new ImageToIcoConverter(new ConsoleLogger());
try {
const result = await converter.convert({
inputPath: 'input.png',
outputPath: 'output.ico', // opcional
});
if (result.success) {
console.log(`✅ Conversão concluída: ${result.outputPath}`);
console.log(`📁 Tamanho: ${result.fileSizeBytes} bytes`);
console.log(`⏱️ Tempo: ${result.processingTimeMs}ms`);
console.log(`🎯 Tamanhos gerados: ${result.generatedSizes.join(', ')}px`);
}
} catch (error) {
console.error('❌ Erro na conversão:', error.message);
}Interface personalizada
import { ImageToIcoConverter } from '@lucasbernardosn/img2ico';
// Logger customizado
class CustomLogger {
info(message: string) {
/* sua implementação */
}
success(message: string) {
/* sua implementação */
}
error(message: string) {
/* sua implementação */
}
warning(message: string) {
/* sua implementação */
}
}
const converter = new ImageToIcoConverter(new CustomLogger());Scripts disponíveis
| Script | Comando | Descrição |
| ---------------- | ---------------- | ---------------------------------- |
| Executar CLI | pnpm start | Compila e executa a ferramenta CLI |
| Compilar | pnpm run build | Compila TypeScript para JavaScript |
| Verificar código | pnpm run lint | Executa verificação com Biome |
Contato
Lucas Bernardo — [email protected]
Licença
MIT © 2025 Lucas Bernardo. Veja LICENSE.
