@helper.js/console v1.0.0
helper.console
A Node.js package for running shell commands interactively or programmatically with support for logging, worker threads, and customizable warning controls.
Installation
Install the package via npm:
npm install helper.consoleFeatures
- Execute comandos shell programaticamente ou interativamente.
- Suporte para threads de trabalho para gerenciar a execução simultânea de comandos.
- Registro configurável em um arquivo fora de
node_modules. - Controle global de avisos para comandos que exigem muitos recursos ou problemas de permissão.
- Saída de terminal colorida para melhor experiência do usuário.
Code Usage
Use a classe Console para executar comandos programaticamente:
const { Console } = require('helper.console');
// Cria uma instância com configurações personalizadas
const console1 = new Console()
.MaxWorkers(3) // Define o máximo de worker/comandos simultâneos (aumenta a carga de processamento)
.setLogging({
enabled: true, // Ativa o arquivo de log
location: './logs/command_log.txt', // Define o local e nome do arquivo
restartable: false // Define se esse arquivo será resetado a cada reinício do console. (Útil em projetos com painel Pterodactyl)
})
.warns(true); // Ativa ou desativa os avisos recebidos durante o uso de comandos como: "Este comando pode usar muitos recursos e levar muito tempo para ser executado!"
// Envia um comando para o console (usando a instância criada e seguindo as configurações da mesma)
async function runCommand() {
const result = await console1.runEntry('ls -la');
if (result.error) {
console.error(result.error);
} else {
console.log(result.output);
}
}
runCommand();Interactive Usage
Inicia uma sessão de console interativa:
const { Console } = require('helper.console');
const console1 = new Console()
.setLogging({ enabled: true, location: './logs/command_log.txt' })
.warns(true);
console1.init();Digite os comandos no prompt interativo. Use exit para fechar a sessão.
Static Method
Execute um comando com as configurações padrão:
const { Console } = require('helper.console');
async function runStaticCommand() {
const result = await Console.runEntry('echo "Hello, World!"');
console.log(result.output || result.error);
}
runStaticCommand();Configuration
MaxWorkers(count): Define o número máximo de workers simultâneos (deve ser um número positivo).setLogging(options): Configura o arquivo de log:enabled: Boolean para ativar/desativar o log (default:true).location: Caminho para o arquivo de log (default:command_log.txt).restartable: Setrue, limpa o arquivo de log no primeiro uso (default:false).
warns(enabled): Ativa ou desativa todos os avisos de comando.trueexibe os avisos,falseos oculta.
Log File Location
O arquivo de log (padrão: command_log.txt) é criado na raiz do projeto ou no caminho especificado em setLogging. Ele é armazenado fora de node_modules para garantir que os logs persistam entre instalações.
Requirements
- Node.js >= 14.0.0
License
MIT License. See LICENSE for details.
Contributing
Contributions are welcome! Please open an issue or submit a pull request on the GitHub repository.
Support
For issues or questions, open an issue on the GitHub repository.
8 months ago