Deno on avoimen lähdekoodin ajoympäristö JavaScript ja TypeScript-ohjelmointikielille sekä WebAssemblylle. Se pohjautuu Googlen V8 JavaScript-moottoriin ja on kehitetty Rust-ohjelmointikielellä. Sen kehitti Ryan Dahl, joka on myös Node.js-ajoympäristön alkuperäinen kehittäjä.

Deno julkistettiin vuonna 2018 Ryan Dahlin puheessa "10 Things I Regret About Node.js" (suom. 10 asiaa joita kadun Node.js liittyen).

Historia Deno julkistettiin JSConf EU 2018-konferenssissä, Ryan Dahlin pitäessä puhetta aiheesta "10 Things I Regret About Node.js" (suom. 10 asiaa joita kadun Node.js liittyen).

Deno alun perin kirjoitettiin Go-ohjelmointikielellä, mutta pian projektissa vaihdettiin Rustiin.

Denon virallinen 1.0-versio julkaistiin 13.5.2020.

Ominaisuudet Denossa on sisäänrakennettu tuki TypeScriptille, eikä ohjelmoijan tarvitse erikseen kääntää lähdekoodia JavaScriptiksi ennen suorittamista.

Denolla ajettavilla sovelluksilla ei vähimpien oikeuksien periaatteen mukaisesti ole oletuksena ole pääsyä tiedostojärjestelmään, internetiin tai ympäristömuuttujiin. Tämä lisää tietoturvallisuutta. Suoritettavalle ohjelmalle voi antaa käyttöoikeuksia rajatusti tarpeen mukaan. Esimerkiksi sovellukselle voi antaa luku- tai kirjoitusoikeuden tietyssä hakemistossa, tai sallia yhteydet ennalta määrättyyn IP-osoitteeseen. Myös pääsyn ympäristömuuttujiin voi antaa muuttujakohtaisesti.

Denon standardikirjastoa kehitetään aktiivisesti, eikä se ole vakaa (engl. stable). Standardikirjasto tarjoaa hyödyllisiä työkaluja mm. tiedostojen käsittelyyn.

Denon omien moduulien lisäksi npm-pakettien käyttö on suoraan mahdollista.

Denon mukana tulee mm. lintteri (deno lint), koodin formatointityökalu (deno fmt), REPL (deno repl) ja LSP-kielipalvelin (deno lsp).

Lähteet

Luokka:Vapaat ohjelmistot Luokka:JavaScript-moottorit