{"id":10065,"date":"2021-10-21T16:25:27","date_gmt":"2021-10-21T14:25:27","guid":{"rendered":"https:\/\/vived.io\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/"},"modified":"2022-09-19T13:16:36","modified_gmt":"2022-09-19T11:16:36","slug":"frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/","title":{"rendered":"Frontend Thursday vol. 60 &#8211; Node 17, vscode.dev i ESLint v8.0"},"content":{"rendered":"\n<h2 id=\"1-node-17\" data-num=1>1. Node 17<\/h2>\n\n\n\n<p>Dzisiejszy przegl\u0105d zaczynamy od szybkiego zerkni\u0119cia na to, co dzieje si\u0119 po backendowej stronie JavaScriptu. A w minionym tygodniu dzia\u0142o si\u0119 tam ca\u0142kiem sporo, bo ukaza\u0142 si\u0119 Node 17. Nie znajdziemy tu rewolucyjnych zmian, ale i tak warto pokr\u00f3tce przyjrze\u0107 si\u0119 nowo\u015bciom.<\/p>\n\n\n\n<p>Zacznijmy od Promisified API dla modu\u0142u Readline, kt\u00f3ry wykorzystywany jest do wczytywania danych ze strumienie linia po linii. Przepisanie kolejnego modu\u0142u do API opartego o Promisy to cz\u0119\u015b\u0107 wi\u0119kszej inicjatywy, kt\u00f3ra zacz\u0119\u0142a si\u0119 w Node 15. W wersji 15 na takie API przepisane zosta\u0142y modu\u0142y Timers i Streams. No c\u00f3\u017c, pozostaje tylko czeka\u0107, a\u017c kolejne modu\u0142y dostan\u0105 podobne API, bo chyba nie ma w\u0105tpliwo\u015bci, \u017ce nowa sk\u0142adnia wygl\u0105da po prostu lepiej.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-javascript\">import * as readline from \u2018node:readline\/promises\u2019;\nimport { stdin as input, stdout as output } from \u2018process\u2019;\nconst rl = readline.createInterface({ input, output });\nconst answer = await rl.question(\u2018What do you think of Node.js? \u2018);\nconsole.log(`Thank you for your valuable feedback: ${answer}`);\nrl.close();<\/code><\/pre>\n\n\n\n<p>Je\u015bli szukacie zmian, kt\u00f3re potencjalnie mog\u0105 napsu\u0107 Wam krwi, to w Node 17 domy\u015blnie stosowany b\u0119dzie OpenSSL w wersji 3.0. Oczywi\u015bcie istnieje mo\u017cliwo\u015b\u0107 wymuszenie OpenSSL 1.1.1 przy pomocy odpowiedniej flagi, ale je\u015bli jeste\u015bcie w grupie os\u00f3b, kt\u00f3re zmuszone b\u0119d\u0105 z tej opcji skorzysta\u0107, to pami\u0119tajcie, \u017ce wsparcie dla OpenSSL 1.1.1 ko\u0144czy si\u0119 we wrze\u015bniu 2023 roku!<\/p>\n\n\n\n<p>W nowej wersji node poprawione zosta\u0142y r\u00f3wnie\u017c Stack Traces. Od teraz je\u015bli program napotka b\u0142\u0105d krytyczny, to logi dotycz\u0105ce b\u0142\u0119du zako\u0144czone b\u0119d\u0105 informacj\u0105 o wersji Node. Nowa funkcjonalno\u015b\u0107 na pewno przyda si\u0119 na StackOverflow (jednym z cz\u0119\u015bciej zadawanych pyta\u0144 jest to o wersj\u0119 Node, na kt\u00f3rej wyst\u0105pi\u0142 b\u0142\u0105d), ale nie wiem, czy kto\u015b znajdzie z niej po\u017cytek na produkcji.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"333\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/0_it-PLNcNKaTRsVDU-1024x333.png\" alt=\"\" class=\"wp-image-2837\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/0_it-PLNcNKaTRsVDU-1024x333.png 1024w, https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/0_it-PLNcNKaTRsVDU-300x98.png 300w, https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/0_it-PLNcNKaTRsVDU-768x250.png 768w, https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/0_it-PLNcNKaTRsVDU.png 1400w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p>Przegl\u0105d nowo\u015bci zako\u0144czmy informacj\u0105 o podbiciu wersji v8 do 9.5 i oznaczeniu Node 17 jako wersji latest. Kto\u015b czeka\u0142 na nowego Node.js, czy pojawienie si\u0119 tej wersji w og\u00f3le was nie obchodzi? Zapraszam do dyskusji \ud83d\ude00<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"610\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9alj.jpeg\" alt=\"\" class=\"wp-image-2838\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9alj.jpeg 500w, https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9alj-246x300.jpeg 246w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a:<\/h3>\n\n\n\n<p><a href=\"https:\/\/medium.com\/the-node-js-collection\/node-js-17-is-here-8dba1e14e382\">https:\/\/medium.com\/the-node-js-collection\/node-js-17-is-here-8dba1e14e382<\/a><\/p>\n\n\n\n<h2 id=\"2-vscode-dev\" data-num=2>2. vscode.dev<\/h2>\n\n\n\n<p>Widzieli\u015bcie ju\u017c wsparcie dla vscode na Githubie? Je\u015bli nie, to przy najbli\u017cszej okazji wejd\u017acie na dowolne repozytorium i wci\u015bnijcie \u2018.\u2019. Waszym oczom uka\u017ce si\u0119 w pe\u0142ni funkcjonalny vscode, w kt\u00f3rym za\u0142adowany b\u0119dzie Wasz projekt. Jest to rozwi\u0105zanie idealne, kiedy potrzebujecie dokona\u0107 ma\u0142ych zmian w repozytorium, albo pr\u00f3bujecie zrozumie\u0107, jak dzia\u0142a jaka\u015b zewn\u0119trzna bibliotek (ile to ju\u017c razy kr\u0105\u017cy\u0142em chaotycznie po repozytorium Ionica, pr\u00f3buj\u0105c zrozumie\u0107 logik\u0119, jaka dzieje si\u0119 pod nasz\u0105 aplikacj\u0105\u2026).<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"650\" height=\"500\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9az0.jpeg\" alt=\"\" class=\"wp-image-2840\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9az0.jpeg 650w, https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9az0-300x231.jpeg 300w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/figure><\/div>\n\n\n\n<p>W minionym tygodniu Microsoft poszed\u0142 o krok dalej i wypu\u015bci\u0142 webow\u0105 wersj\u0119 vscode. Dzi\u0119ki integracji z File System Access API umo\u017cliwia ono za\u0142adowanie lokalnego projektu. Webowa wersja wspiera te\u017c znaczn\u0105 liczb\u0119 wtyczek, kt\u00f3re mo\u017cna sobie zsynchronizowa\u0107 poprzez <a href=\"https:\/\/code.visualstudio.com\/docs\/editor\/settings-sync\">Settings Sync<\/a>. Trzeba jednak pami\u0119ta\u0107, \u017ce nie wszystkie wtyczki b\u0119d\u0105 kompatybilne. Je\u015bli dana wtyczka wykorzystuje Node.js, systemowe API lub wywo\u0142uje shell\u2019a, to nie b\u0119dzie ona dzia\u0142a\u0107 w przegl\u0105darce.<\/p>\n\n\n\n<p>W Waszej g\u0142owie mo\u017ce pojawi\u0107 si\u0119 pytanie, dla kogo jest vscode.dev, bo na pewno nie zast\u0105pi ono standardowej wersji. Wyobra\u017acie sobie sytuacj\u0119, w kt\u00f3rej jeste\u015bcie na wsi u babci na wakacjach i dzwoni szef m\u00f3wi\u0105c, \u017ce koniecznie musicie naprawi\u0107 jednego buga. Siadacie do starego laptopa babci, odpalacie vscode.dev i za chwil\u0119 bugfix leci na produkcj\u0119. Ci\u0119\u017cko Wam w to uwierzy\u0107? To mo\u017ce na Wasz\u0105 wyobra\u017anie lepiej zadzia\u0142a integracja z Chrome OS i iPadOS, na kt\u00f3rych nie znajdziemy wsparcia dla standardowej wersji edytora.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"665\" height=\"500\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9bqd.jpeg\" alt=\"\" class=\"wp-image-2841\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9bqd.jpeg 665w, https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9bqd-300x226.jpeg 300w\" sizes=\"auto, (max-width: 665px) 100vw, 665px\" \/><\/figure><\/div>\n\n\n\n<p>Je\u015bl natomiast zastanawiacie si\u0119, czym r\u00f3\u017cni si\u0119 vscode.dev od github.dev, to ten drugi to po prostu odpowiednio skonfigurowany podzbi\u00f3r tego pierwszego. Nie ma w tym zreszt\u0105 nic dziwnego, bo zar\u00f3wno GitHub jak i VSCode s\u0105 rozwijane przez Microsoft.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a:<\/h3>\n\n\n\n<p><a href=\"https:\/\/code.visualstudio.com\/blogs\/2021\/10\/20\/vscode-dev\">https:\/\/code.visualstudio.com\/blogs\/2021\/10\/20\/vscode-dev<\/a><\/p>\n\n\n\n<h2 id=\"3-eslint-v8-0\" data-num=3>3. ESLint v8.0<\/h2>\n\n\n\n<p>ESLint to obecnie bran\u017cowy standard, dlatego podrzucamy Wam informacj\u0119 o wydaniu jego kolejnej du\u017cej wersji. Nie b\u0119dziemy zag\u0142\u0119bia\u0107 si\u0119 w szczeg\u00f3\u0142y, bo zar\u00f3wno lista breaking changes, jak i nowo\u015bci jest dosy\u0107 d\u0142uga. Warto natomiast wspomnie\u0107, \u017ce najnowsza wersja otrzyma\u0142a wsparcie dla sk\u0142adni ES2022. Wszystkich zainteresowanych standardowo odsy\u0142am do \u017ar\u00f3de\u0142 \ud83d\ude09<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"610\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9c3m.jpeg\" alt=\"\" class=\"wp-image-2842\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9c3m.jpeg 500w, https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9c3m-246x300.jpeg 246w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><figcaption>Czy ja ju\u017c dzisiaj nie wykorzysta\u0142em tego mema? \ud83e\udd14<\/figcaption><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a:<\/h3>\n\n\n\n<p><a href=\"https:\/\/eslint.org\/blog\/2021\/10\/eslint-v8.0.0-released\">https:\/\/eslint.org\/blog\/2021\/10\/eslint-v8.0.0-released<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>W minionym tygodniu doczekali\u015bmy si\u0119 nowych wersji ESLint (z wsparciem dla ES2022!) i Node.js (tutaj niestety raczej bez rewolucji). Opr\u00f3cz tego Microsoft pokaza\u0142 nowe wcielenie vscode dedykowane dla przegl\u0105darek. \u0141apcie gor\u0105c\u0105 herbatk\u0119 \ud83e\uded6 i zapraszamy do lektury \ud83d\uddde\ufe0f<\/p>\n","protected":false},"author":12,"featured_media":7743,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[273],"tags":[],"class_list":["post-10065","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-frontend-pl"],"acf":{"weekly_summary":true,"estimated_reading_time":"3"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Frontend Thursday vol. 60 - Node 17, vscode.dev i ESLint v8.0 - Vived<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Frontend Thursday vol. 60 - Node 17, vscode.dev i ESLint v8.0 - Vived\" \/>\n<meta property=\"og:description\" content=\"W minionym tygodniu doczekali\u015bmy si\u0119 nowych wersji ESLint (z wsparciem dla ES2022!) i Node.js (tutaj niestety raczej bez rewolucji). Opr\u00f3cz tego Microsoft pokaza\u0142 nowe wcielenie vscode dedykowane dla przegl\u0105darek. \u0141apcie gor\u0105c\u0105 herbatk\u0119 \ud83e\uded6 i zapraszamy do lektury \ud83d\uddde\ufe0f\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-21T14:25:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:16:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/Screenshot-2021-10-21-at-14.40.40.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tomasz Borowicz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/\"},\"author\":{\"name\":\"Tomasz Borowicz\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb\"},\"headline\":\"Frontend Thursday vol. 60 &#8211; Node 17, vscode.dev i ESLint v8.0\",\"datePublished\":\"2021-10-21T14:25:27+00:00\",\"dateModified\":\"2022-09-19T11:16:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/\"},\"wordCount\":730,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/Screenshot-2021-10-21-at-14.40.40.png\",\"articleSection\":[\"Frontend\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/\",\"url\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/\",\"name\":\"Frontend Thursday vol. 60 - Node 17, vscode.dev i ESLint v8.0 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/Screenshot-2021-10-21-at-14.40.40.png\",\"datePublished\":\"2021-10-21T14:25:27+00:00\",\"dateModified\":\"2022-09-19T11:16:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/Screenshot-2021-10-21-at-14.40.40.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/Screenshot-2021-10-21-at-14.40.40.png\",\"width\":1920,\"height\":1000},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frontend Thursday vol. 60 &#8211; Node 17, vscode.dev i ESLint v8.0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vived.io\/pl\/#website\",\"url\":\"https:\/\/vived.io\/pl\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vived.io\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vived.io\/pl\/#organization\",\"name\":\"Vived\",\"url\":\"https:\/\/vived.io\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"width\":136,\"height\":45,\"caption\":\"Vived\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb\",\"name\":\"Tomasz Borowicz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/804536d2672538508d43f60ad2108e5aaea76c192653eaf95d4c3934b7d1dbb6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/804536d2672538508d43f60ad2108e5aaea76c192653eaf95d4c3934b7d1dbb6?s=96&d=mm&r=g\",\"caption\":\"Tomasz Borowicz\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Frontend Thursday vol. 60 - Node 17, vscode.dev i ESLint v8.0 - Vived","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/","og_locale":"pl_PL","og_type":"article","og_title":"Frontend Thursday vol. 60 - Node 17, vscode.dev i ESLint v8.0 - Vived","og_description":"W minionym tygodniu doczekali\u015bmy si\u0119 nowych wersji ESLint (z wsparciem dla ES2022!) i Node.js (tutaj niestety raczej bez rewolucji). Opr\u00f3cz tego Microsoft pokaza\u0142 nowe wcielenie vscode dedykowane dla przegl\u0105darek. \u0141apcie gor\u0105c\u0105 herbatk\u0119 \ud83e\uded6 i zapraszamy do lektury \ud83d\uddde\ufe0f","og_url":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/","og_site_name":"Vived","article_published_time":"2021-10-21T14:25:27+00:00","article_modified_time":"2022-09-19T11:16:36+00:00","og_image":[{"width":1920,"height":1000,"url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/Screenshot-2021-10-21-at-14.40.40.png","type":"image\/png"}],"author":"Tomasz Borowicz","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/"},"author":{"name":"Tomasz Borowicz","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb"},"headline":"Frontend Thursday vol. 60 &#8211; Node 17, vscode.dev i ESLint v8.0","datePublished":"2021-10-21T14:25:27+00:00","dateModified":"2022-09-19T11:16:36+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/"},"wordCount":730,"commentCount":0,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/Screenshot-2021-10-21-at-14.40.40.png","articleSection":["Frontend"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/","url":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/","name":"Frontend Thursday vol. 60 - Node 17, vscode.dev i ESLint v8.0 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/Screenshot-2021-10-21-at-14.40.40.png","datePublished":"2021-10-21T14:25:27+00:00","dateModified":"2022-09-19T11:16:36+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/Screenshot-2021-10-21-at-14.40.40.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/Screenshot-2021-10-21-at-14.40.40.png","width":1920,"height":1000},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/frontend-thursday-vol-60-node-17-vscode-dev-i-eslint-v8-0\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Frontend Thursday vol. 60 &#8211; Node 17, vscode.dev i ESLint v8.0"}]},{"@type":"WebSite","@id":"https:\/\/vived.io\/pl\/#website","url":"https:\/\/vived.io\/pl\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vived.io\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/vived.io\/pl\/#organization","name":"Vived","url":"https:\/\/vived.io\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","width":136,"height":45,"caption":"Vived"},"image":{"@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb","name":"Tomasz Borowicz","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/804536d2672538508d43f60ad2108e5aaea76c192653eaf95d4c3934b7d1dbb6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/804536d2672538508d43f60ad2108e5aaea76c192653eaf95d4c3934b7d1dbb6?s=96&d=mm&r=g","caption":"Tomasz Borowicz"}}]}},"blocks_vived":[{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>1. Node 17<\/h2>\n","innerContent":["\n<h2>1. Node 17<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Dzisiejszy przegl\u0105d zaczynamy od szybkiego zerkni\u0119cia na to, co dzieje si\u0119 po backendowej stronie JavaScriptu. A w minionym tygodniu dzia\u0142o si\u0119 tam ca\u0142kiem sporo, bo ukaza\u0142 si\u0119 Node 17. Nie znajdziemy tu rewolucyjnych zmian, ale i tak warto pokr\u00f3tce przyjrze\u0107 si\u0119 nowo\u015bciom.<\/p>\n","innerContent":["\n<p>Dzisiejszy przegl\u0105d zaczynamy od szybkiego zerkni\u0119cia na to, co dzieje si\u0119 po backendowej stronie JavaScriptu. A w minionym tygodniu dzia\u0142o si\u0119 tam ca\u0142kiem sporo, bo ukaza\u0142 si\u0119 Node 17. Nie znajdziemy tu rewolucyjnych zmian, ale i tak warto pokr\u00f3tce przyjrze\u0107 si\u0119 nowo\u015bciom.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Zacznijmy od Promisified API dla modu\u0142u Readline, kt\u00f3ry wykorzystywany jest do wczytywania danych ze strumienie linia po linii. Przepisanie kolejnego modu\u0142u do API opartego o Promisy to cz\u0119\u015b\u0107 wi\u0119kszej inicjatywy, kt\u00f3ra zacz\u0119\u0142a si\u0119 w Node 15. W wersji 15 na takie API przepisane zosta\u0142y modu\u0142y Timers i Streams. No c\u00f3\u017c, pozostaje tylko czeka\u0107, a\u017c kolejne modu\u0142y dostan\u0105 podobne API, bo chyba nie ma w\u0105tpliwo\u015bci, \u017ce nowa sk\u0142adnia wygl\u0105da po prostu lepiej.<\/p>\n","innerContent":["\n<p>Zacznijmy od Promisified API dla modu\u0142u Readline, kt\u00f3ry wykorzystywany jest do wczytywania danych ze strumienie linia po linii. Przepisanie kolejnego modu\u0142u do API opartego o Promisy to cz\u0119\u015b\u0107 wi\u0119kszej inicjatywy, kt\u00f3ra zacz\u0119\u0142a si\u0119 w Node 15. W wersji 15 na takie API przepisane zosta\u0142y modu\u0142y Timers i Streams. No c\u00f3\u017c, pozostaje tylko czeka\u0107, a\u017c kolejne modu\u0142y dostan\u0105 podobne API, bo chyba nie ma w\u0105tpliwo\u015bci, \u017ce nowa sk\u0142adnia wygl\u0105da po prostu lepiej.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"prismatic\/blocks","attrs":{"language":"javascript"},"innerBlocks":[],"innerHTML":"\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-javascript\">import * as readline from \u2018node:readline\/promises\u2019;\nimport { stdin as input, stdout as output } from \u2018process\u2019;\nconst rl = readline.createInterface({ input, output });\nconst answer = await rl.question(\u2018What do you think of Node.js? \u2018);\nconsole.log(`Thank you for your valuable feedback: ${answer}`);\nrl.close();<\/code><\/pre>\n","innerContent":["\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-javascript\">import * as readline from \u2018node:readline\/promises\u2019;\nimport { stdin as input, stdout as output } from \u2018process\u2019;\nconst rl = readline.createInterface({ input, output });\nconst answer = await rl.question(\u2018What do you think of Node.js? \u2018);\nconsole.log(`Thank you for your valuable feedback: ${answer}`);\nrl.close();<\/code><\/pre>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Je\u015bli szukacie zmian, kt\u00f3re potencjalnie mog\u0105 napsu\u0107 Wam krwi, to w Node 17 domy\u015blnie stosowany b\u0119dzie OpenSSL w wersji 3.0. Oczywi\u015bcie istnieje mo\u017cliwo\u015b\u0107 wymuszenie OpenSSL 1.1.1 przy pomocy odpowiedniej flagi, ale je\u015bli jeste\u015bcie w grupie os\u00f3b, kt\u00f3re zmuszone b\u0119d\u0105 z tej opcji skorzysta\u0107, to pami\u0119tajcie, \u017ce wsparcie dla OpenSSL 1.1.1 ko\u0144czy si\u0119 we wrze\u015bniu 2023 roku!<\/p>\n","innerContent":["\n<p>Je\u015bli szukacie zmian, kt\u00f3re potencjalnie mog\u0105 napsu\u0107 Wam krwi, to w Node 17 domy\u015blnie stosowany b\u0119dzie OpenSSL w wersji 3.0. Oczywi\u015bcie istnieje mo\u017cliwo\u015b\u0107 wymuszenie OpenSSL 1.1.1 przy pomocy odpowiedniej flagi, ale je\u015bli jeste\u015bcie w grupie os\u00f3b, kt\u00f3re zmuszone b\u0119d\u0105 z tej opcji skorzysta\u0107, to pami\u0119tajcie, \u017ce wsparcie dla OpenSSL 1.1.1 ko\u0144czy si\u0119 we wrze\u015bniu 2023 roku!<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>W nowej wersji node poprawione zosta\u0142y r\u00f3wnie\u017c Stack Traces. Od teraz je\u015bli program napotka b\u0142\u0105d krytyczny, to logi dotycz\u0105ce b\u0142\u0119du zako\u0144czone b\u0119d\u0105 informacj\u0105 o wersji Node. Nowa funkcjonalno\u015b\u0107 na pewno przyda si\u0119 na StackOverflow (jednym z cz\u0119\u015bciej zadawanych pyta\u0144 jest to o wersj\u0119 Node, na kt\u00f3rej wyst\u0105pi\u0142 b\u0142\u0105d), ale nie wiem, czy kto\u015b znajdzie z niej po\u017cytek na produkcji.<\/p>\n","innerContent":["\n<p>W nowej wersji node poprawione zosta\u0142y r\u00f3wnie\u017c Stack Traces. Od teraz je\u015bli program napotka b\u0142\u0105d krytyczny, to logi dotycz\u0105ce b\u0142\u0119du zako\u0144czone b\u0119d\u0105 informacj\u0105 o wersji Node. Nowa funkcjonalno\u015b\u0107 na pewno przyda si\u0119 na StackOverflow (jednym z cz\u0119\u015bciej zadawanych pyta\u0144 jest to o wersj\u0119 Node, na kt\u00f3rej wyst\u0105pi\u0142 b\u0142\u0105d), ale nie wiem, czy kto\u015b znajdzie z niej po\u017cytek na produkcji.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":2837,"sizeSlug":"large","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/0_it-PLNcNKaTRsVDU-1024x333.png\" alt=\"\" class=\"wp-image-2837\"\/><\/figure><\/div>\n","innerContent":["\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/0_it-PLNcNKaTRsVDU-1024x333.png\" alt=\"\" class=\"wp-image-2837\"\/><\/figure><\/div>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Przegl\u0105d nowo\u015bci zako\u0144czmy informacj\u0105 o podbiciu wersji v8 do 9.5 i oznaczeniu Node 17 jako wersji latest. Kto\u015b czeka\u0142 na nowego Node.js, czy pojawienie si\u0119 tej wersji w og\u00f3le was nie obchodzi? Zapraszam do dyskusji :D<\/p>\n","innerContent":["\n<p>Przegl\u0105d nowo\u015bci zako\u0144czmy informacj\u0105 o podbiciu wersji v8 do 9.5 i oznaczeniu Node 17 jako wersji latest. Kto\u015b czeka\u0142 na nowego Node.js, czy pojawienie si\u0119 tej wersji w og\u00f3le was nie obchodzi? Zapraszam do dyskusji :D<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":2838,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9alj.jpeg\" alt=\"\" class=\"wp-image-2838\"\/><\/figure><\/div>\n","innerContent":["\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9alj.jpeg\" alt=\"\" class=\"wp-image-2838\"\/><\/figure><\/div>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/medium.com\/the-node-js-collection\/node-js-17-is-here-8dba1e14e382\">https:\/\/medium.com\/the-node-js-collection\/node-js-17-is-here-8dba1e14e382<\/a><\/p>\n","innerContent":["\n<p><a href=\"https:\/\/medium.com\/the-node-js-collection\/node-js-17-is-here-8dba1e14e382\">https:\/\/medium.com\/the-node-js-collection\/node-js-17-is-here-8dba1e14e382<\/a><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. vscode.dev<\/h2>\n","innerContent":["\n<h2>2. vscode.dev<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Widzieli\u015bcie ju\u017c wsparcie dla vscode na Githubie? Je\u015bli nie, to przy najbli\u017cszej okazji wejd\u017acie na dowolne repozytorium i wci\u015bnijcie \u2018.\u2019. Waszym oczom uka\u017ce si\u0119 w pe\u0142ni funkcjonalny vscode, w kt\u00f3rym za\u0142adowany b\u0119dzie Wasz projekt. Jest to rozwi\u0105zanie idealne, kiedy potrzebujecie dokona\u0107 ma\u0142ych zmian w repozytorium, albo pr\u00f3bujecie zrozumie\u0107, jak dzia\u0142a jaka\u015b zewn\u0119trzna bibliotek (ile to ju\u017c razy kr\u0105\u017cy\u0142em chaotycznie po repozytorium Ionica, pr\u00f3buj\u0105c zrozumie\u0107 logik\u0119, jaka dzieje si\u0119 pod nasz\u0105 aplikacj\u0105\u2026).<\/p>\n","innerContent":["\n<p>Widzieli\u015bcie ju\u017c wsparcie dla vscode na Githubie? Je\u015bli nie, to przy najbli\u017cszej okazji wejd\u017acie na dowolne repozytorium i wci\u015bnijcie \u2018.\u2019. Waszym oczom uka\u017ce si\u0119 w pe\u0142ni funkcjonalny vscode, w kt\u00f3rym za\u0142adowany b\u0119dzie Wasz projekt. Jest to rozwi\u0105zanie idealne, kiedy potrzebujecie dokona\u0107 ma\u0142ych zmian w repozytorium, albo pr\u00f3bujecie zrozumie\u0107, jak dzia\u0142a jaka\u015b zewn\u0119trzna bibliotek (ile to ju\u017c razy kr\u0105\u017cy\u0142em chaotycznie po repozytorium Ionica, pr\u00f3buj\u0105c zrozumie\u0107 logik\u0119, jaka dzieje si\u0119 pod nasz\u0105 aplikacj\u0105\u2026).<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":2840,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9az0.jpeg\" alt=\"\" class=\"wp-image-2840\"\/><\/figure><\/div>\n","innerContent":["\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9az0.jpeg\" alt=\"\" class=\"wp-image-2840\"\/><\/figure><\/div>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>W minionym tygodniu Microsoft poszed\u0142 o krok dalej i wypu\u015bci\u0142 webow\u0105 wersj\u0119 vscode. Dzi\u0119ki integracji z File System Access API umo\u017cliwia ono za\u0142adowanie lokalnego projektu. Webowa wersja wspiera te\u017c znaczn\u0105 liczb\u0119 wtyczek, kt\u00f3re mo\u017cna sobie zsynchronizowa\u0107 poprzez <a href=\"https:\/\/code.visualstudio.com\/docs\/editor\/settings-sync\">Settings Sync<\/a>. Trzeba jednak pami\u0119ta\u0107, \u017ce nie wszystkie wtyczki b\u0119d\u0105 kompatybilne. Je\u015bli dana wtyczka wykorzystuje Node.js, systemowe API lub wywo\u0142uje shell\u2019a, to nie b\u0119dzie ona dzia\u0142a\u0107 w przegl\u0105darce.<\/p>\n","innerContent":["\n<p>W minionym tygodniu Microsoft poszed\u0142 o krok dalej i wypu\u015bci\u0142 webow\u0105 wersj\u0119 vscode. Dzi\u0119ki integracji z File System Access API umo\u017cliwia ono za\u0142adowanie lokalnego projektu. Webowa wersja wspiera te\u017c znaczn\u0105 liczb\u0119 wtyczek, kt\u00f3re mo\u017cna sobie zsynchronizowa\u0107 poprzez <a href=\"https:\/\/code.visualstudio.com\/docs\/editor\/settings-sync\">Settings Sync<\/a>. Trzeba jednak pami\u0119ta\u0107, \u017ce nie wszystkie wtyczki b\u0119d\u0105 kompatybilne. Je\u015bli dana wtyczka wykorzystuje Node.js, systemowe API lub wywo\u0142uje shell\u2019a, to nie b\u0119dzie ona dzia\u0142a\u0107 w przegl\u0105darce.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>W Waszej g\u0142owie mo\u017ce pojawi\u0107 si\u0119 pytanie, dla kogo jest vscode.dev, bo na pewno nie zast\u0105pi ono standardowej wersji. Wyobra\u017acie sobie sytuacj\u0119, w kt\u00f3rej jeste\u015bcie na wsi u babci na wakacjach i dzwoni szef m\u00f3wi\u0105c, \u017ce koniecznie musicie naprawi\u0107 jednego buga. Siadacie do starego laptopa babci, odpalacie vscode.dev i za chwil\u0119 bugfix leci na produkcj\u0119. Ci\u0119\u017cko Wam w to uwierzy\u0107? To mo\u017ce na Wasz\u0105 wyobra\u017anie lepiej zadzia\u0142a integracja z Chrome OS i iPadOS, na kt\u00f3rych nie znajdziemy wsparcia dla standardowej wersji edytora.<\/p>\n","innerContent":["\n<p>W Waszej g\u0142owie mo\u017ce pojawi\u0107 si\u0119 pytanie, dla kogo jest vscode.dev, bo na pewno nie zast\u0105pi ono standardowej wersji. Wyobra\u017acie sobie sytuacj\u0119, w kt\u00f3rej jeste\u015bcie na wsi u babci na wakacjach i dzwoni szef m\u00f3wi\u0105c, \u017ce koniecznie musicie naprawi\u0107 jednego buga. Siadacie do starego laptopa babci, odpalacie vscode.dev i za chwil\u0119 bugfix leci na produkcj\u0119. Ci\u0119\u017cko Wam w to uwierzy\u0107? To mo\u017ce na Wasz\u0105 wyobra\u017anie lepiej zadzia\u0142a integracja z Chrome OS i iPadOS, na kt\u00f3rych nie znajdziemy wsparcia dla standardowej wersji edytora.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":2841,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9bqd.jpeg\" alt=\"\" class=\"wp-image-2841\"\/><\/figure><\/div>\n","innerContent":["\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9bqd.jpeg\" alt=\"\" class=\"wp-image-2841\"\/><\/figure><\/div>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Je\u015bl natomiast zastanawiacie si\u0119, czym r\u00f3\u017cni si\u0119 vscode.dev od github.dev, to ten drugi to po prostu odpowiednio skonfigurowany podzbi\u00f3r tego pierwszego. Nie ma w tym zreszt\u0105 nic dziwnego, bo zar\u00f3wno GitHub jak i VSCode s\u0105 rozwijane przez Microsoft.<\/p>\n","innerContent":["\n<p>Je\u015bl natomiast zastanawiacie si\u0119, czym r\u00f3\u017cni si\u0119 vscode.dev od github.dev, to ten drugi to po prostu odpowiednio skonfigurowany podzbi\u00f3r tego pierwszego. Nie ma w tym zreszt\u0105 nic dziwnego, bo zar\u00f3wno GitHub jak i VSCode s\u0105 rozwijane przez Microsoft.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/code.visualstudio.com\/blogs\/2021\/10\/20\/vscode-dev\">https:\/\/code.visualstudio.com\/blogs\/2021\/10\/20\/vscode-dev<\/a><\/p>\n","innerContent":["\n<p><a href=\"https:\/\/code.visualstudio.com\/blogs\/2021\/10\/20\/vscode-dev\">https:\/\/code.visualstudio.com\/blogs\/2021\/10\/20\/vscode-dev<\/a><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>3. ESLint v8.0<\/h2>\n","innerContent":["\n<h2>3. ESLint v8.0<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>ESLint to obecnie bran\u017cowy standard, dlatego podrzucamy Wam informacj\u0119 o wydaniu jego kolejnej du\u017cej wersji. Nie b\u0119dziemy zag\u0142\u0119bia\u0107 si\u0119 w szczeg\u00f3\u0142y, bo zar\u00f3wno lista breaking changes, jak i nowo\u015bci jest dosy\u0107 d\u0142uga. Warto natomiast wspomnie\u0107, \u017ce najnowsza wersja otrzyma\u0142a wsparcie dla sk\u0142adni ES2022. Wszystkich zainteresowanych standardowo odsy\u0142am do \u017ar\u00f3de\u0142 ;)<\/p>\n","innerContent":["\n<p>ESLint to obecnie bran\u017cowy standard, dlatego podrzucamy Wam informacj\u0119 o wydaniu jego kolejnej du\u017cej wersji. Nie b\u0119dziemy zag\u0142\u0119bia\u0107 si\u0119 w szczeg\u00f3\u0142y, bo zar\u00f3wno lista breaking changes, jak i nowo\u015bci jest dosy\u0107 d\u0142uga. Warto natomiast wspomnie\u0107, \u017ce najnowsza wersja otrzyma\u0142a wsparcie dla sk\u0142adni ES2022. Wszystkich zainteresowanych standardowo odsy\u0142am do \u017ar\u00f3de\u0142 ;)<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":2842,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9c3m.jpeg\" alt=\"\" class=\"wp-image-2842\"\/><figcaption>Czy ja ju\u017c dzisiaj nie wykorzysta\u0142em tego mema? \ud83e\udd14<\/figcaption><\/figure><\/div>\n","innerContent":["\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/10\/5r9c3m.jpeg\" alt=\"\" class=\"wp-image-2842\"\/><figcaption>Czy ja ju\u017c dzisiaj nie wykorzysta\u0142em tego mema? \ud83e\udd14<\/figcaption><\/figure><\/div>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a:<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/eslint.org\/blog\/2021\/10\/eslint-v8.0.0-released\">https:\/\/eslint.org\/blog\/2021\/10\/eslint-v8.0.0-released<\/a><\/p>\n","innerContent":["\n<p><a href=\"https:\/\/eslint.org\/blog\/2021\/10\/eslint-v8.0.0-released\">https:\/\/eslint.org\/blog\/2021\/10\/eslint-v8.0.0-released<\/a><\/p>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10065","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/comments?post=10065"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10065\/revisions"}],"predecessor-version":[{"id":10617,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10065\/revisions\/10617"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/7743"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10065"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10065"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10065"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}