Un sistema de ejecución seguro para JavaScript y TypeScript
Deno es un entorno de ejecución seguro, moderno y sencillo para JavaScript y TypeScript que usa V8 y se ha construido en Rust.
- Es seguro por defecto. No se permite el acceso a ficheros, redes o entornos a menos que se habilite expresamente.
- Soporta TypeScript de serie
- Entrega (ships) un solo fichero ejecutable.
- Incorpora utilidades como un inspector de dependencias (deno info) y un formateador de código (deno dmt)
- Tiene un juego de módulo estándar revisados (auditados) que garantizan su funcionamiento con Deno: deno.land/std
Instalación
Deno entrega un sólo fichero ejecutable sin dependecias. Puedes instalarlo con los instaladores siguientes, o descargar unos de los binarios de la página de releases.
Usando Shell (macOS, Linux)
curl -fsSL https://deno.land/x/install/install.sh | sh
Usando PowerShell (Windows)
iwr https://deno.land/x/install/install.ps1 -useb | iex
Usando Homebrew (macOS)
brew install deno
Usando Chocolatey (Windows)
choco install deno
Usando Scoop (Windows)
scoop install deno
Consulta deno_install para más opciones de instalación.
Empezando
Intenta ejecutar este sencillo programa:
deno run https://deno.land/std/examples/welcome.ts
O uno algo más complejo:
import { serve } from "https://deno.land/std@0.50.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" });
}
Puedes encontrar una introducción más detallada, ejemplos y la guía de la configuración del entorno en el manual.
Documentación del entorno de ejecución
La documentación básica de Deno puede encontrarse en doc.deno.land.
Deno viene con un manual que contiene explicaciones detalladas acerca de las funciones más complejas del entorno, una introducción de los conceptos sobre los que se ha construido Deno, detalles acerca de las interioridades de Deno, como incorporar Deno dentro de tu propia aplicación y como ampliar Deno usando plugins de Rust.
El manual también contiene información acerca de las herramientas que Deno incorpora.
Módulos estándar
Además del entorno de ejecución, Deno también proporciona una seria de módulos estándar auditados que revisa el equipo que se encarga del núcleo de Deno y que se garantiza que funcionarán con una versión concreta de Deno. Estos conviven con el código fuente de Deno, en el repositorio denoland/deno.
Estos módulos estándar están alojados en deno.land/std y se distribuyen vía URL al igul que otros módulos que son compatibles con Deno.
Módulos de terceras partes
Deno puede importar módulos desde cualquier lugar de la web, como Github, un servidor web personal, o un CDN como pika.dev o jspm.io.
Para facilitar el consulo de módulos de terceras partes Deno proporciona herramientas como deno info y deno doc. deno.land también proporciona un interfaz de usuario web para visualizar la documentación del módulo. Está disponible en doc.deno.land.
deno.land también proporciona un servicio de alojamiento público para módulos ES que pueden trabajar con Deno. Puede encontrarse en deno.land/x.
Aquí se proporciona una pequeña selección de módulos actualmente disponibles en deno.land/x:
- moment. La librería Moment.ts para Deno, portada desde moment@2.24.0
- denofun. Pequeña librería de utilidades que contiene funciones, mónadas y otras cosas divertidas.
- bwt. Better web token, un esquema de generación, formateo y verificación de tokens web.
- denom. Monitoriza cambios en tu aplicación Deno y la reinicia automágicamente.
- nanoid. Un generador de identificadores de cadenas pequeño, seguro y compatible con URLS para JavaScript
Puedes consultar el artículo original en ingles en:
https://deno.land/