Deno 1.5 z nowymi funkcjami i ulepszeniami REPL
Deno jest prostym i nowoczesnym środowiskiem wykonawczym aplikacji JS i TS. Jego twórcy opublikowali nowe wydanie – Deno 1.5 z kilkoma nowymi funkcjami i poprawkami błędów. Dodano także nowe funkcje alert, confirm oraz prompt i wprowadzono ulepszenia w REPL. Wcześniejsza wersję, Deno 1.4, wydano w połowie września.
Bundle, Deno 1.5
Jedną z najważniejszych zmian jest wprowadzenie tree-shaking przez deno bundle. Z kodu programisty usunięty zostanie kod z nieużywanego pakietu. Przykładowo, pakiet serwera plików jest nawet 35% mniejszy od wcześniejszej wersji. Dzięki tej zmianie uzyskano ponad 3-krotną poprawę wydajności. W przypadku korzystania z flagi –no-check jest to nawet 15-krotna poprawa.
REPL – read-eval-print-loopdedd
Ulepszenia w REPL dotyczą przede wszystkim uzupełniania kart oraz podświetlania składni kodu. Druga z opcji jest dostępna tylko jeśli terminal obsługuje kolory. Ponadto Deno 1.5 oferuje w REPL wsparcie await na najwyższym poziomie. Nie ma potrzeby umieszczania połączenia w asynchronicznym IIFE, w celu złożenia obietnic await w REPL.
Funkcje w Deno 1.5
Dodano API platformy internetowej alert, confirm oraz prompt:
- Alert rejestruje wiadomość do terminala i synchronicznie blokuje aż do potwierdzenia.
- Confirm komunikuje użytkownika i blokuje do czasu odpowiedzi yes lub no użytkownika.
- Prompt wymaga od użytkownika danych wejściowych i blokuje się do momentu wprowadzenia przez użytkownika tekstu i potwierdzenia przyciskiem Enter.
Przykładowe użycie nowych funkcji
let name = ""; while (true) { name = prompt("What is your name?"); if (confirm(`Are you sure ${name} is your name?`)) { break; } } alert(`Hello ${name}!`);

Deno 1.5 – przykład użycia alert, confirm i prompt
Stabilizatory API
Twórcy ustabilizowali Deno.fsync oraz Deno.fdatasync() razem z ich synchronicznymi odpowiednikami. Ponadto wprowadzono także dwa nowe niestabilne interfejsy API. Deno.sleepSync() powoduje zablokowanie pętli zdarzeń. Drugim jest deno.systemCpuInfo(), dzięki któremu dostajemy informacje o liczbie dostępnych rdzeni i szybkości procesora.
Aktualizacje deno lint w Deno 1.5
Twórcy wprowadzili do deno lint wskazówki dotyczące diagnostyki lint. Sugerują one m.in. jak naprawić ich błędy. Jednak najważniejszą zmianą w deno lint jest dodanie zasady camelcase. Jest to reguła sprawdzająca, czy deklaracje zmiennych korzystają z formatowania camelCase.
Zmiany w std
Wprowadzono także kilka zmian w std. Przede wszystkim dodano tu potwierdzenia assertExists i assertObjectMatch.
- assertExists potwierdza, że przekazana wartość nie jest null lub undefined.
- assertObjectMatch stwierdza, że wartość expected jest podzbiorem wartości actual.
Jednak głównym celem było dopasowanie nazewnictwa metody include w łańcuchach i tablicach. W std zmieniono nazwy dwóch metod – assertStringContains (na assertStringIncludes) i assertArrayContains (na assertArrayIncludes) w programie std/testing.asserts.ts.