Deno é uma runtime simples, moderna e segura para JavaScript e TypeScript que utiliza o V8 e é construída em Rust.

  1. Segura por padrão. Sem acesso à arquivos, rede ou ambiente, a não ser que habilitado explícitamente.
  2. Suporta TypeScript por padrão.
  3. Gera um único executável.
  4. Possui utilidades como inspetor de dependências (deno info) e um formatador de código (deno fmt)
  5. Tem um conjunto de módulos padrões revisados (auditados) que funcionam garantidamente com Deno: deno.land/std

Instalação

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.

Começando

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.

Documentação da runtime

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.

Módulos Padrões

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.

Módulos Externos

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.