O irmão mais novo do Node.js, Deno, está evoluindo. Desde seu lançamento oficial em maio de 2020, muita coisa mudou. O entusiasmo diminuiu, o tempo de execução foi aprimorado e a comunidade, ao lado de todo o ecossistema de módulos, começou a se formar.

No entanto, mesmo com essas mudanças, Deno ainda não é o“ matador de Node.js ” que alguns podem ter imaginado. Claro, ele vem com ótimos recursos, como suporte TypeScript de primeira classe, um sistema baseado em permissão seguro e carregamento de módulo baseado em URL, mas fica atrás do Node em mind-share e em alguns aspectos básicos.

Um exemplo de tal recurso é um executor de script. No Node, existe o package.json, no qual você pode especificar seus scripts.

“scripts”: {“dev”:”vite”,”build”:”vite build”,”serve”:”vite preview”}}

O problema é que não há package.json embutido ou qualquer alternativa no Deno. Você tem que digitar o comando completo sempre que quiser usá-lo. Toneladas de opções de configuração não tornam isso melhor:

deno execute–allow-read–allow-write–allow-net–reload example.ts

A maneira de contornar isso é usar um executor de script de terceiros, como Velociraptor. Vamos ver quais recursos ele tem, como funciona e como pode tornar o trabalho com o Deno muito melhor!

Uma introdução ao Velociraptor

Velociraptor é indiscutivelmente o executor de script mais popular para Deno, com cerca de 500 estrelas no GitHub no momento da publicação deste artigo. Ele é inspirado nos scripts do package.json e oferece uma experiência pronta para uso semelhante ao seu homólogo do Node, mas também vem com recursos adicionais específicos do Deno.

Instalação

Você pode instalar o Velociraptor de deno.land/x , como qualquer outro módulo:

deno install-qAn vr https://deno.land/x/[email protected]/cli.ts

É recomendado para use vr ao atribuir um nome ao executável . Usar um nome diferente pode resultar em alguns problemas conhecidos com ganchos Git.

Configuração

Em seguida, crie seu arquivo de configuração-a substituição package.json. Pode ser um script ou um arquivo velociraptor com uma das seguintes extensões:

yml/yaml json ts

Aqui estão alguns exemplos de arquivos de configuração diferentes:

scripts.yaml

scripts: start: deno run–allow-net server.ts test: deno test–allow-net server_test.ts

scripts.json

{“scripts”: {“start”:”deno run–allow-net server.ts”,”test”:”deno test–allow-net server_test.ts”}}

script. ts

exportar {scripts: {start:”deno run–allow-net server.ts”, teste:”deno test–allow-net server_test.ts”,},};

Ficaremos com yaml pelo resto deste post.

Além da forma básica e compacta, os scripts também podem ser definidos como objetos que permitem a passagem de opções adicionais, como desc para descrever o propósito ou observe para recarregar o script na alteração do arquivo.

scripts: start: desc: Executa o servidor cmd: deno run–allow-net server.ts watch: true

No formato do objeto, você especifica o real sob a propriedade cmd.

O Velociraptor CLI

Junto com o arquivo de configuração, o Velociraptor CLI é seu recurso mais importante. É o seu yarn ou npm run equivalente para o mundo Deno.

Executar o simples vr em seu terminal irá gerar todos os scripts definidos, enquanto vr run