Deno

Deno is an open source JavaScript, TypeScript, and WebAssembly runtime with secure defaults and a great developer experience. It's built on V8, Rust, and Tokio.

Introducció

Començar

Instal·la deno:

irm https://deno.land/install.ps1 | iex

Verifica la instal·lació:

deno --version

Crea un fitxer TypeScript anomenat main i inclou el següent codi:

// main.ts
function greet(name: string): string {
  return `Hello, ${name}!`
}

console.log(greet("world"))

Desa el fitxer i executa’l amb Deno:

$ deno main.ts
Hello, world!

Projecte

Per inicialitzar un nou projecte Deno, executa la següent comanda al terminal:

deno init my_project

Això crearà un nou directori anomenat my_project amb la següent estructura:

my_project
├── deno.json
├── main_test.ts
└── main.ts

Es crea un fitxer deno.json per [configurar el teu projecte](https://docs.deno.com/runtime/fundamentals/configuration/, i dos fitxers TypeScript: main.ts i main_test.ts.

El fitxer main.ts és on escriuràs el codi de la teva aplicació. En crear-se inicialment, contindrà un programa simple que suma dos números.

El fitxer main_test.ts és on pots escriure proves. Inicialment, contindrà un test per al teu programa de suma.

Pots executar aquest programa amb la següent comanda:

deno main.ts
Add 2 + 3 = 5

Deno té un executor de proves integrat. Pots escriure proves per al teu codi i executar-les amb la comanda deno test. Executa les proves en el teu nou projecte amb:

deno test
running 1 test from ./main_test.ts
addTest ... ok (1ms)

ok | 1 passed | 0 failed (3ms)

Configura el teu entorn

Set up your environment

Web APIs

https://jsr.io/@std/fs

deno add jsr:@std/fs

Deno APIs

L’espai de noms global Deno conté APIs que no són estàndard web, incloent APIs per llegir fitxers, obrir sockets TCP, servir HTTP i executar subprocessos, entre d’altres.

Deno Namespace APIs

Playwright

How to Run Playwright with Deno

Packages

Native npm support: use npm: specifiers directly.

If you’re not using npm specifiers, you’re doing it wrong

TODO

-WebGPU -Hosting: Cloudflare Workers (Deno)