Interceptando entradas inseridas no console do desenvolvedor do Firefox?

Interceptando entradas inseridas no console do desenvolvedor do Firefox?

Atualmente, estou no processo de migrar meu trabalho de desenvolvimento web dos IDEs clássicos para o console do navegador web. O console é basicamente um JavaScriptREPL, o que é ótimo, mas também significa que ele só pode processar expressões JavaScript válidas. Existe alguma maneira de redirecionar a entrada para uma função de processamento personalizada?

Isto tornaria possível integrar um sistema personalizadoDSLdiretamente no console do navegador e faça com que pareça mais um terminal nativo. Por exemplo, o processador personalizado poderia traduzir uma entrada de log hellopara a expressão JavaScript válida console.log("hello")eavaliaçãoisto.

No momento, a melhor solução que encontrei é usar um nome de função muito curto, por exemplo, $('log hello')ou um pouco mais curtomodelo literalsintaxe $`log hello`. Ambas as soluções requerem pelo menos três caracteres adicionais, ainda mais pressionamentos de teclas, e a entrada deve estar entre aspas/marcas/chaves.

Definitivamente, eu aceitaria soluções que envolvessem extensões de navegador, desde que se integrassem ao console existente ou pelo menos não exigissem uma implementação completamente nova da guia do console de ferramentas do desenvolvedor.

Responder1

A resposta curta é não.

Como você já escreveu, a funcionalidade integrada do console permite apenas oexecução de código JavaScript mais alguns comandos auxiliares.

E existem atualmente (a partir do Firefox 69)sem APIs para extensões para estender sua funcionalidade, apenas alguns para adicionar novos painéis e alguns outros não relacionados.

informação relacionada