W minionym tygodniu doczekaliśmy się nowych wersji ESLint (z wsparciem dla ES2022!) i Node.js (tutaj niestety raczej bez rewolucji). Oprócz tego Microsoft pokazał nowe wcielenie vscode dedykowane dla przeglądarek. Łapcie gorącą herbatkę 🫖 i zapraszamy do lektury 🗞️
1. Node 17
Dzisiejszy przegląd zaczynamy od szybkiego zerknięcia na to, co dzieje się po backendowej stronie JavaScriptu. A w minionym tygodniu działo się tam całkiem sporo, bo ukazał się Node 17. Nie znajdziemy tu rewolucyjnych zmian, ale i tak warto pokrótce przyjrzeć się nowościom.
Zacznijmy od Promisified API dla modułu Readline, który wykorzystywany jest do wczytywania danych ze strumienie linia po linii. Przepisanie kolejnego modułu do API opartego o Promisy to część większej inicjatywy, która zaczęła się w Node 15. W wersji 15 na takie API przepisane zostały moduły Timers i Streams. No cóż, pozostaje tylko czekać, aż kolejne moduły dostaną podobne API, bo chyba nie ma wątpliwości, że nowa składnia wygląda po prostu lepiej.
import * as readline from ‘node:readline/promises’;
import { stdin as input, stdout as output } from ‘process’;
const rl = readline.createInterface({ input, output });
const answer = await rl.question(‘What do you think of Node.js? ‘);
console.log(`Thank you for your valuable feedback: ${answer}`);
rl.close();
Jeśli szukacie zmian, które potencjalnie mogą napsuć Wam krwi, to w Node 17 domyślnie stosowany będzie OpenSSL w wersji 3.0. Oczywiście istnieje możliwość wymuszenie OpenSSL 1.1.1 przy pomocy odpowiedniej flagi, ale jeśli jesteście w grupie osób, które zmuszone będą z tej opcji skorzystać, to pamiętajcie, że wsparcie dla OpenSSL 1.1.1 kończy się we wrześniu 2023 roku!
W nowej wersji node poprawione zostały również Stack Traces. Od teraz jeśli program napotka błąd krytyczny, to logi dotyczące błędu zakończone będą informacją o wersji Node. Nowa funkcjonalność na pewno przyda się na StackOverflow (jednym z częściej zadawanych pytań jest to o wersję Node, na której wystąpił błąd), ale nie wiem, czy ktoś znajdzie z niej pożytek na produkcji.
Przegląd nowości zakończmy informacją o podbiciu wersji v8 do 9.5 i oznaczeniu Node 17 jako wersji latest. Ktoś czekał na nowego Node.js, czy pojawienie się tej wersji w ogóle was nie obchodzi? Zapraszam do dyskusji 😀
Źródła:
https://medium.com/the-node-js-collection/node-js-17-is-here-8dba1e14e382
Zainstaluj teraz i czytaj tylko dobre teksty!
2. vscode.dev
Widzieliście już wsparcie dla vscode na Githubie? Jeśli nie, to przy najbliższej okazji wejdźcie na dowolne repozytorium i wciśnijcie ‘.’. Waszym oczom ukaże się w pełni funkcjonalny vscode, w którym załadowany będzie Wasz projekt. Jest to rozwiązanie idealne, kiedy potrzebujecie dokonać małych zmian w repozytorium, albo próbujecie zrozumieć, jak działa jakaś zewnętrzna bibliotek (ile to już razy krążyłem chaotycznie po repozytorium Ionica, próbując zrozumieć logikę, jaka dzieje się pod naszą aplikacją…).
W minionym tygodniu Microsoft poszedł o krok dalej i wypuścił webową wersję vscode. Dzięki integracji z File System Access API umożliwia ono załadowanie lokalnego projektu. Webowa wersja wspiera też znaczną liczbę wtyczek, które można sobie zsynchronizować poprzez Settings Sync. Trzeba jednak pamiętać, że nie wszystkie wtyczki będą kompatybilne. Jeśli dana wtyczka wykorzystuje Node.js, systemowe API lub wywołuje shell’a, to nie będzie ona działać w przeglądarce.
W Waszej głowie może pojawić się pytanie, dla kogo jest vscode.dev, bo na pewno nie zastąpi ono standardowej wersji. Wyobraźcie sobie sytuację, w której jesteście na wsi u babci na wakacjach i dzwoni szef mówiąc, że koniecznie musicie naprawić jednego buga. Siadacie do starego laptopa babci, odpalacie vscode.dev i za chwilę bugfix leci na produkcję. Ciężko Wam w to uwierzyć? To może na Waszą wyobraźnie lepiej zadziała integracja z Chrome OS i iPadOS, na których nie znajdziemy wsparcia dla standardowej wersji edytora.
Jeśl natomiast zastanawiacie się, czym różni się vscode.dev od github.dev, to ten drugi to po prostu odpowiednio skonfigurowany podzbiór tego pierwszego. Nie ma w tym zresztą nic dziwnego, bo zarówno GitHub jak i VSCode są rozwijane przez Microsoft.
Źródła:
https://code.visualstudio.com/blogs/2021/10/20/vscode-dev
Zainstaluj teraz i czytaj tylko dobre teksty!
3. ESLint v8.0
ESLint to obecnie branżowy standard, dlatego podrzucamy Wam informację o wydaniu jego kolejnej dużej wersji. Nie będziemy zagłębiać się w szczegóły, bo zarówno lista breaking changes, jak i nowości jest dosyć długa. Warto natomiast wspomnieć, że najnowsza wersja otrzymała wsparcie dla składni ES2022. Wszystkich zainteresowanych standardowo odsyłam do źródeł 😉