Deno é uma runtime simples, moderna e segura para JavaScript e TypeScript que utiliza o V8 e é construída em Rust.
deno info
) e um formatador de código (deno fmt
)Deno gera um único executável sem dependências. Você pode instalá-lo usando algum dos instaladores abaixo, ou baixar os binários através da página de versões.
Shell (Mac, Linux):
$
curl -fsSL https://deno.land/x/install/install.sh | sh
PowerShell (Windows):
$
iwr https://deno.land/x/install/install.ps1 -useb | iex
Homebrew (Mac):
$
brew install deno
Chocolatey (Windows):
$
choco install deno
Scoop (Windows):
$
scoop install deno
Construa e instale através do código fonte utilizando Cargo
$
cargo install deno
Veja deno_install para mais opções de instalação.
Tente executar um simples programa:
$
deno run https://deno.land/std/examples/welcome.ts
Ou um mais complexo:
import { serve } from "https://deno.land/std@0.88.0/http/server.ts";const s = serve({ port: 8000 });console.log("http://localhost:8000/");for await (const req of s) { req.respond({ body: "Hello World\n" });}
Você pode encontrar uma introdução mais aprofundada, com exemplos e configuração de ambiente no manual.
A documentação básica da runtime para o Deno pode ser encontrada em doc.deno.land.
Deno já vem com um manual que contém explicações mais aprofundadas acerca das funções mais complexas da runtime, uma introdução aos conceitos nos quais o Deno é escrito em cima, detalhes internos do Deno, como embutir Deno na sua própria aplicação e como extender o Deno usando plugins Rust.
O manual também possuí informações acerca das ferramentas fornecidas originalmente com Deno.
Próximo à runtime, Deno também fornece uma lista de módulos padrões auditados que são revisados pelos mantenedores do Deno e funcionam garantidamente com versões específicas do Deno. Eles vivem junto ao código fonte do Deno no repositório denoland/deno
Esses módulos padrões são hospedados em deno.land/std e são distribuídos via URLs como todos os outros ES módulos que são compatíveis com Deno.
Deno pode importar módulos de qualquer lugar da web, como Github, um servidor web próprio, ou uma CDN como Skypack, jspm.io, jsDelivr or esm.sh.
Para facilitar o consumo de módulos externos, Deno fornece ferramentas como deno info
e deno doc
. deno.land também fornece uma interface web para visualização da documentação dos módulos. Disponível em doc.deno.land.
deno.land também fornece um serviço simples de hospedagem para ES modules que funcionam com Deno. Disponível em deno.land/x.