Deno
(/ˈdiːnoʊ/, pronunciado
dee-no) é um runtime de
open source para
JavaScript, TypeScript e WebAssembly, com padrões seguros e uma ótima
experiência de desenvolvimento. Esta página leva você do zero a um projeto em
execução e testado em poucos minutos.
Por que o Deno?
- Funciona com seus projetos Node.js existentes.
Adicione o Deno a um repositório com
package.jsonenode_modulese ele simplesmente funciona; misture importsnpm:com ES modules nativos conforme você migra. - Sistema de módulos moderno. ES modules com imports por URL, JSR para pacotes tipados e workspaces.
- TypeScript-first. Execute arquivos
.tsdiretamente. Semtsc, sem etapa de build, sem configuração. - Seguro por padrão. O código roda em um sandbox sem acesso a arquivos, rede ou variáveis de ambiente até que você conceda permissão.
- Um toolchain completo, sem encanamento. Formatter
integrado, linter,
test runner, benchmarking e
muito mais. Sem
devDependenciespara configurar.
Instalar o Deno
Instale o runtime com um comando:
curl -fsSL https://deno.land/install.sh | sh
irm https://deno.land/install.ps1 | iex
Verifique a instalação:
deno --versionConsulte Instalação para gerenciadores de pacotes, Docker e outras opções.
Criar um projeto
Crie um novo projeto com deno init:
deno init my_projectIsso cria um projeto pequeno e pronto para executar:
my_project
├── deno.json # configuração do projeto: tasks, imports, lint/fmt
├── main.ts # um servidor HTTP simples com Deno.serve
└── main_test.ts # seus testesdeno.json é onde ficam suas tasks,
dependências e configurações de ferramentas. Pense em package.json mais as
configurações das suas ferramentas, em um único arquivo.
Executar
$ cd my_project
$ deno -N main.ts
Listening on http://localhost:8000/Observe o -N (abreviação de --allow-net). O Deno é
seguro por padrão: o código não pode acessar
rede, sistema de arquivos ou ambiente até que você conceda permissão. Abra a URL
para ver a resposta.
main.ts é TypeScript e foi executado diretamente: sem tsc, sem etapa de
build. Também é construído com o padrão web Deno.serve
e Request/Response, então o que você aprende aqui é a plataforma, não um
framework.
Testar
O projeto já vem com testes. Execute-os com deno test. O test
runner é integrado, então não há nada para instalar:
$ deno test
running 2 tests from ./main_test.ts
returns html on / ... ok (12ms)
returns json on /api ... ok (0ms)
ok | 2 passed | 0 failed (15ms)Adicionar uma dependência
Instale pacotes do npm ou do JSR com
deno install:
deno install express # qualquer pacote npm, como npm install
deno install jsr:@std/assert # a biblioteca padrão do Deno, no JSRDepois importe e use:
import { assertEquals } from "@std/assert";
assertEquals(1 + 1, 2);Usar o toolchain integrado
Formatação, lint e muito mais vêm com o runtime, sem configuração:
deno fmt # formata seu código
deno lint # detecta problemas
deno task # executa scripts definidos em deno.jsonPróximos passos
- Configure seu editor. Autocomplete, erros inline e formatação ao salvar.
- Execute código. Servidores, tasks, web APIs e debugging.
- Gerencie pacotes. Dependências, workspaces e publicação.
- Migre do Node.js. Traga um projeto existente.
- Exemplos e tutoriais. Ideias do que construir em seguida.