{"id":12749,"date":"2022-12-02T13:22:18","date_gmt":"2022-12-02T12:22:18","guid":{"rendered":"https:\/\/vived.io\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/"},"modified":"2022-12-02T13:25:05","modified_gmt":"2022-12-02T12:25:05","slug":"eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/","title":{"rendered":"ESLint podnosi r\u0119kawic\u0119 rzuczon\u0105 przez Rome | Frontend Weekly vol. 105"},"content":{"rendered":"\n<h2 id=\"1-eslint-zostanie-przepisany-od-zera\" data-num=1>1. ESLint zostanie przepisany od zera<\/h2>\n\n\n\n<p>Kilka tygodni temu informowali\u015bmy Was o wydaniu pierwszej stabilnej wersji Rome. Docelowo ma to by\u0107 alternatywa dla Babela, Prettier, Webpacka i kilku innych narz\u0119dzi deweloperskich. W dniu debiutu jest to jednak szybsza alternatywa dla ESLint. Ten poczu\u0142 chyba oddech konkurencji na swoich plecach, bo w tym tygodniu og\u0142oszono, \u017ce zostanie on przepisany od zera.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72w3a7.jpeg\" alt=\"\" class=\"wp-image-12725\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72w3a7.jpeg 500w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72w3a7-300x300.jpeg 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72w3a7-150x150.jpeg 150w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n<p>Najwi\u0119cej kontrowersji w ca\u0142ej inicjatywie wzbudzi\u0142 wyb\u00f3r j\u0119zyka programowania. ESLint nie b\u0119dzie pod\u0105\u017ca\u0142 trendem wi\u0119kszo\u015bci nowych narz\u0119dzi deweloperskich (takich jak Rome czy Turbopack) i nie zostanie przepisany do Rusta. Autorzy biblioteki zak\u0142adaj\u0105 jednak jego wykorzystanie w miejscach kluczowych dla wydajno\u015bci.<\/p>\n\n\n\n<p>Je\u015bli nie Rust, to pewnie TypeScript? Ot\u00f3\u017c nie. Zesp\u00f3\u0142 zdecydowa\u0142 si\u0119 rozwija\u0107 narz\u0119dzie przy u\u017cyciu JavaScriptu wzbogaconego o JSDoc. Taka architektura pozwala automatycznie generowa\u0107 typy dla tw\u00f3rc\u00f3w plugin\u00f3w pisz\u0105cych w TypeScript i zapewnia podstawowe sprawdzanie poprawno\u015bci kodu.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-58.jpeg\" alt=\"\" class=\"wp-image-12745\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-58.jpeg 500w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-58-300x300.jpeg 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-58-150x150.jpeg 150w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n<p>Czytaj\u0105c dyskusj\u0119 na temat podj\u0119tych decyzji architektonicznych czu\u0142em si\u0119, jakbym cofn\u0105\u0142 si\u0119 w czasie o 4-5 lat. Dyskusja na temat wy\u017cszo\u015bci (b\u0105d\u017a ni\u017cszo\u015bci) TypeScript nad JavaScript ponownie rozgorza\u0142a. W ca\u0142ej tej debacie warto pami\u0119ta\u0107, \u017ce decyzja ta jest przezroczysta z perspektywy klienta ESLint. Jakkolwiek ja nigdy nie zdecydowa\u0142bym si\u0119 tworzy\u0107 teraz biblioteki w JavaScript, tak nie zamierzam narzuca\u0107 innym jak maj\u0105 wykonywa\u0107 swoj\u0105 prac\u0119.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"517\" height=\"499\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72vxjd.jpeg\" alt=\"\" class=\"wp-image-12727\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72vxjd.jpeg 517w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72vxjd-300x290.jpeg 300w\" sizes=\"auto, (max-width: 517px) 100vw, 517px\" \/><\/figure><\/div>\n\n\n<p>Przepisanie ESLint od zera to te\u017c szansa na wprowadzenie nowych funkcjonalno\u015bci. Najciekawiej z mojej perspektywy wygl\u0105da mo\u017cliwo\u015b\u0107 modyfikacji struktury drzewa AST w celu naprawy niekt\u00f3rych b\u0142\u0119d\u00f3w formatowania. Z funkcjonalno\u015bci\u0105 t\u0105 wi\u0105\u017ce si\u0119 oczywi\u015bcie spora doza ryzyka, bo ESLint b\u0119dzie m\u00f3g\u0142 teraz modyfikowa\u0107 zachowanie naszego programu. Z drugiej strony, przy odpowiedniej konfiguracji, modyfikacja drzewa AST mo\u017ce zaoszcz\u0119dzi\u0107 nam sporo czasu, kt\u00f3ry po\u015bwi\u0119camy na naprawianie prostych b\u0142\u0119d\u00f3w.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"475\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-55.jpeg\" alt=\"\" class=\"wp-image-12729\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-55.jpeg 525w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-55-300x271.jpeg 300w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/figure><\/div>\n\n\n<p>Drug\u0105 funkcjonalno\u015bci\u0105, kt\u00f3ra przyku\u0142a moj\u0105 uwag\u0119 jest uczynienie ESLint narz\u0119dziem niezale\u017cnym od j\u0119zyka programowania. Oznacza to, \u017ce je\u015bli wszystko p\u00f3jdzie z planem, to ESLint b\u0119dziemy mogli u\u017cywa\u0107 r\u00f3wnie\u017c z innymi j\u0119zykami programowania jak Java czy C#.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"733\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72w2tv.jpeg\" alt=\"\" class=\"wp-image-12731\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72w2tv.jpeg 500w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72w2tv-205x300.jpeg 205w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n<p>Na ten moment nie wiadomo kiedy rozpocznie si\u0119 inicjatywa przepisania ESLint. Jak mo\u017cemy dowiedzie\u0107 si\u0119 z dyskusji na GitHubie przed zespo\u0142em rozwijaj\u0105cym bibliotek\u0119 jest jeszcze sporo planowania. Zanim do repozytorium trafi pierwszy commit czeka nas jeszcze seria RFC precyzuj\u0105cych poszczeg\u00f3lne decyzje architektoniczne.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<p><a href=\"https:\/\/github.com\/eslint\/eslint\/discussions\/16557\">https:\/\/github.com\/eslint\/eslint\/discussions\/16557<\/a><\/p>\n\n\n\n<h2 id=\"2-react-native-core-contributor-summit-2022\" data-num=2>2. React Native Core Contributor Summit 2022<\/h2>\n\n\n\n<p>React Native Core Contributor Summit, to spotkanie, kt\u00f3re gromadzi wszystkie strony zaanga\u017cowane w rozw\u00f3j React Natvie. Ze wzgl\u0119du na pandemi\u0119 przez kilka ostatnich lat spotkanie nie mog\u0142o si\u0119 odby\u0107. W tym roku wr\u00f3ci\u0142o jednak ze zdwojon\u0105 si\u0142\u0105. Przy okazji konferencji React Native EU g\u0142\u00f3wni kontrybutorzy React Native (i jego najpopularniejszych bibliotek o\u015bciennych) oraz ludzie z Mety odpowiedzialni za rozw\u00f3j projektu wzi\u0119li udzia\u0142 w serii warsztat\u00f3w podczas kt\u00f3rych starali si\u0119 zaadresowa\u0107 najwi\u0119ksze bol\u0105czki projektu. Poruszane tematy dotyczy\u0142y g\u0142\u00f3wnie nowej architektury React Native, a ich list\u0119 znale\u017a\u0107 mo\u017cecie poni\u017cej:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>React Native Codegen &amp; TypeScript Support<\/li><li>React Native New Architecture Library Migration<\/li><li>React Native Monorepo<\/li><li>Metro Web and Ecosystem Alignment<\/li><li>Metro Simplified Release Workflow<\/li><\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"747\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-56.jpeg\" alt=\"\" class=\"wp-image-12733\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-56.jpeg 500w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-56-201x300.jpeg 201w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n<p>Je\u015bli interesuj\u0105 Was szczeg\u00f3\u0142y inicjatyw podj\u0119tych w konkretnych tematach, to odsy\u0142am Was do linku, kt\u00f3ry znajdziecie w \u017ar\u00f3d\u0142ach. Pierwszymi efektami Core Contributor Summit 2022 s\u0105 liczne RFC. Pierwsze efekty na kt\u00f3rych realnie skorzystaj\u0105 programi\u015bci trafi\u0105 ju\u017c React Native 0.71<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<p><a href=\"https:\/\/reactnative.dev\/blog\/2022\/11\/22\/react-native-core-contributor-summit-2022\">https:\/\/reactnative.dev\/blog\/2022\/11\/22\/react-native-core-contributor-summit-2022<\/a><\/p>\n\n\n\n<h2 id=\"3-electron-22-i-electron-forge-6\" data-num=3>3. Electron 22 i Electron Forge 6<\/h2>\n\n\n\n<p>W minionym tygodniu opublikowany zosta\u0142 Electron 22. Opr\u00f3cz standardowego podbicia zale\u017cno\u015bci (Chromium 108, V8 10.8, i Node.js 16.17.1) jest to ostatnia wersja, kt\u00f3ra b\u0119dzie wspiera\u0107 Windows 8. W\u015br\u00f3d zmian znalaz\u0142o si\u0119 te\u017c kilka breaking changes, ale najciekawiej wygl\u0105da premiera towarzysz\u0105ca Electron 22, czyli Electron Forge 6.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"752\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-57.jpeg\" alt=\"\" class=\"wp-image-12735\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-57.jpeg 500w, https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-57-199x300.jpeg 199w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n<p>Electron Forge to narz\u0119dzie, kt\u00f3re pozwala budowa\u0107 aplikacje oraz generowa\u0107 i podpisywa\u0107 pliki instalacyjne. Oczywi\u015bcie podobne narz\u0119dzia by\u0142y dost\u0119pne ju\u017c od dawna, ale Electron Forge 6 jest wyj\u0105tkowy, bo projekt pod swoje skrzyd\u0142a wzi\u0105\u0142 go g\u0142\u00f3wny zesp\u00f3\u0142 rozwijaj\u0105cy samego Electrona. Co za tym idzie, narz\u0119dzie to otrzyma sporo czasu deweloperskiego, a jego dokumentacja zostanie zintegrowana z dokumentacj\u0105 Electrona.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a:<\/h3>\n\n\n\n<p><a href=\"https:\/\/www.electronjs.org\/blog\/electron-22-0\">https:\/\/www.electronjs.org\/blog\/electron-22-0<\/a><br><a href=\"https:\/\/www.electronjs.org\/blog\/forge-v6-release\">https:\/\/www.electronjs.org\/blog\/forge-v6-release<\/a><br><a href=\"https:\/\/www.electronforge.io\/core-concepts\/why-electron-forge\">https:\/\/www.electronforge.io\/core-concepts\/why-electron-forge<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>W ostatnim tygodniu \u015bwiat news\u00f3w IT mocno zwolni\u0142 ze wzgl\u0119du na \u015bwi\u0119to dzi\u0119kczynienia. Internet nie cierpi jenak pustki i dyskusje w naszej frontendowej spo\u0142eczno\u015bci zdominowa\u0142a decyzja o przepisaniu ESLint od zera bez wykorzystania TypeScript.<\/p>\n","protected":false},"author":12,"featured_media":12739,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[273],"tags":[764,509],"class_list":["post-12749","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-frontend-pl","tag-electron","tag-eslint-pl"],"acf":{"feature_image_visible":false,"weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/Frontend-Weekly-1200x628_V2.png","feature_image_blog":{"ID":12743,"id":12743,"title":"pexels-pixabay-289831","filename":"pexels-pixabay-289831.jpg","filesize":191668,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/pexels-pixabay-289831.jpg","link":"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/pexels-pixabay-289831-2\/","alt":"","author":"12","description":"","caption":"","name":"pexels-pixabay-289831-2","status":"inherit","uploaded_to":12749,"date":"2022-12-02 12:19:08","modified":"2022-12-02 12:23:40","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/vived.io\/wp-includes\/images\/media\/default.png","width":1280,"height":853,"sizes":{"thumbnail":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/pexels-pixabay-289831-150x150.jpg","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/pexels-pixabay-289831-300x200.jpg","medium-width":300,"medium-height":200,"medium_large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/pexels-pixabay-289831-768x512.jpg","medium_large-width":768,"medium_large-height":512,"large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/pexels-pixabay-289831-1024x682.jpg","large-width":1024,"large-height":682,"1536x1536":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/pexels-pixabay-289831.jpg","1536x1536-width":1280,"1536x1536-height":853,"2048x2048":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/pexels-pixabay-289831.jpg","2048x2048-width":1280,"2048x2048-height":853,"gform-image-choice-sm":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/pexels-pixabay-289831.jpg","gform-image-choice-sm-width":300,"gform-image-choice-sm-height":200,"gform-image-choice-md":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/pexels-pixabay-289831.jpg","gform-image-choice-md-width":400,"gform-image-choice-md-height":267,"gform-image-choice-lg":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/pexels-pixabay-289831.jpg","gform-image-choice-lg-width":600,"gform-image-choice-lg-height":400}},"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>ESLint podnosi r\u0119kawic\u0119 rzuczon\u0105 przez Rome | Frontend Weekly vol. 105 - 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\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ESLint podnosi r\u0119kawic\u0119 rzuczon\u0105 przez Rome | Frontend Weekly vol. 105 - Vived\" \/>\n<meta property=\"og:description\" content=\"W ostatnim tygodniu \u015bwiat news\u00f3w IT mocno zwolni\u0142 ze wzgl\u0119du na \u015bwi\u0119to dzi\u0119kczynienia. Internet nie cierpi jenak pustki i dyskusje w naszej frontendowej spo\u0142eczno\u015bci zdominowa\u0142a decyzja o przepisaniu ESLint od zera bez wykorzystania TypeScript.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-02T12:22:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-02T12:25:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/Frontend-Weekly-1200x628_V2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\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\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/\"},\"author\":{\"name\":\"Tomasz Borowicz\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb\"},\"headline\":\"ESLint podnosi r\u0119kawic\u0119 rzuczon\u0105 przez Rome | Frontend Weekly vol. 105\",\"datePublished\":\"2022-12-02T12:22:18+00:00\",\"dateModified\":\"2022-12-02T12:25:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/\"},\"wordCount\":765,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/Frontend-Weekly-1200x628_V2.png\",\"keywords\":[\"electron\",\"eslint\"],\"articleSection\":[\"Frontend\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/\",\"url\":\"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/\",\"name\":\"ESLint podnosi r\u0119kawic\u0119 rzuczon\u0105 przez Rome | Frontend Weekly vol. 105 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/Frontend-Weekly-1200x628_V2.png\",\"datePublished\":\"2022-12-02T12:22:18+00:00\",\"dateModified\":\"2022-12-02T12:25:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/Frontend-Weekly-1200x628_V2.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/Frontend-Weekly-1200x628_V2.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ESLint podnosi r\u0119kawic\u0119 rzuczon\u0105 przez Rome | Frontend Weekly vol. 105\"}]},{\"@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":"ESLint podnosi r\u0119kawic\u0119 rzuczon\u0105 przez Rome | Frontend Weekly vol. 105 - 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\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/","og_locale":"pl_PL","og_type":"article","og_title":"ESLint podnosi r\u0119kawic\u0119 rzuczon\u0105 przez Rome | Frontend Weekly vol. 105 - Vived","og_description":"W ostatnim tygodniu \u015bwiat news\u00f3w IT mocno zwolni\u0142 ze wzgl\u0119du na \u015bwi\u0119to dzi\u0119kczynienia. Internet nie cierpi jenak pustki i dyskusje w naszej frontendowej spo\u0142eczno\u015bci zdominowa\u0142a decyzja o przepisaniu ESLint od zera bez wykorzystania TypeScript.","og_url":"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/","og_site_name":"Vived","article_published_time":"2022-12-02T12:22:18+00:00","article_modified_time":"2022-12-02T12:25:05+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/Frontend-Weekly-1200x628_V2.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\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/"},"author":{"name":"Tomasz Borowicz","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb"},"headline":"ESLint podnosi r\u0119kawic\u0119 rzuczon\u0105 przez Rome | Frontend Weekly vol. 105","datePublished":"2022-12-02T12:22:18+00:00","dateModified":"2022-12-02T12:25:05+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/"},"wordCount":765,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/Frontend-Weekly-1200x628_V2.png","keywords":["electron","eslint"],"articleSection":["Frontend"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/","url":"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/","name":"ESLint podnosi r\u0119kawic\u0119 rzuczon\u0105 przez Rome | Frontend Weekly vol. 105 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/Frontend-Weekly-1200x628_V2.png","datePublished":"2022-12-02T12:22:18+00:00","dateModified":"2022-12-02T12:25:05+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/Frontend-Weekly-1200x628_V2.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/Frontend-Weekly-1200x628_V2.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/eslint-podnosi-rekawice-rzuczona-przez-rome-frontend-weekly-vol-105\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"ESLint podnosi r\u0119kawic\u0119 rzuczon\u0105 przez Rome | Frontend Weekly vol. 105"}]},{"@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. ESLint zostanie przepisany od zera<\/h2>\n","innerContent":["\n<h2>1. ESLint zostanie przepisany od zera<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Kilka tygodni temu informowali\u015bmy Was o wydaniu pierwszej stabilnej wersji Rome. Docelowo ma to by\u0107 alternatywa dla Babela, Prettier, Webpacka i kilku innych narz\u0119dzi deweloperskich. W dniu debiutu jest to jednak szybsza alternatywa dla ESLint. Ten poczu\u0142 chyba oddech konkurencji na swoich plecach, bo w tym tygodniu og\u0142oszono, \u017ce zostanie on przepisany od zera.<\/p>\n","innerContent":["\n<p>Kilka tygodni temu informowali\u015bmy Was o wydaniu pierwszej stabilnej wersji Rome. Docelowo ma to by\u0107 alternatywa dla Babela, Prettier, Webpacka i kilku innych narz\u0119dzi deweloperskich. W dniu debiutu jest to jednak szybsza alternatywa dla ESLint. Ten poczu\u0142 chyba oddech konkurencji na swoich plecach, bo w tym tygodniu og\u0142oszono, \u017ce zostanie on przepisany od zera.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":12725,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72w3a7.jpeg\" alt=\"\" class=\"wp-image-12725\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72w3a7.jpeg\" alt=\"\" class=\"wp-image-12725\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Najwi\u0119cej kontrowersji w ca\u0142ej inicjatywie wzbudzi\u0142 wyb\u00f3r j\u0119zyka programowania. ESLint nie b\u0119dzie pod\u0105\u017ca\u0142 trendem wi\u0119kszo\u015bci nowych narz\u0119dzi deweloperskich (takich jak Rome czy Turbopack) i nie zostanie przepisany do Rusta. Autorzy biblioteki zak\u0142adaj\u0105 jednak jego wykorzystanie w miejscach kluczowych dla wydajno\u015bci.<\/p>\n","innerContent":["\n<p>Najwi\u0119cej kontrowersji w ca\u0142ej inicjatywie wzbudzi\u0142 wyb\u00f3r j\u0119zyka programowania. ESLint nie b\u0119dzie pod\u0105\u017ca\u0142 trendem wi\u0119kszo\u015bci nowych narz\u0119dzi deweloperskich (takich jak Rome czy Turbopack) i nie zostanie przepisany do Rusta. Autorzy biblioteki zak\u0142adaj\u0105 jednak jego wykorzystanie w miejscach kluczowych dla wydajno\u015bci.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Je\u015bli nie Rust, to pewnie TypeScript? Ot\u00f3\u017c nie. Zesp\u00f3\u0142 zdecydowa\u0142 si\u0119 rozwija\u0107 narz\u0119dzie przy u\u017cyciu JavaScriptu wzbogaconego o JSDoc. Taka architektura pozwala automatycznie generowa\u0107 typy dla tw\u00f3rc\u00f3w plugin\u00f3w pisz\u0105cych w TypeScript i zapewnia podstawowe sprawdzanie poprawno\u015bci kodu.<\/p>\n","innerContent":["\n<p>Je\u015bli nie Rust, to pewnie TypeScript? Ot\u00f3\u017c nie. Zesp\u00f3\u0142 zdecydowa\u0142 si\u0119 rozwija\u0107 narz\u0119dzie przy u\u017cyciu JavaScriptu wzbogaconego o JSDoc. Taka architektura pozwala automatycznie generowa\u0107 typy dla tw\u00f3rc\u00f3w plugin\u00f3w pisz\u0105cych w TypeScript i zapewnia podstawowe sprawdzanie poprawno\u015bci kodu.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":12745,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-58.jpeg\" alt=\"\" class=\"wp-image-12745\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-58.jpeg\" alt=\"\" class=\"wp-image-12745\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Czytaj\u0105c dyskusj\u0119 na temat podj\u0119tych decyzji architektonicznych czu\u0142em si\u0119, jakbym cofn\u0105\u0142 si\u0119 w czasie o 4-5 lat. Dyskusja na temat wy\u017cszo\u015bci (b\u0105d\u017a ni\u017cszo\u015bci) TypeScript nad JavaScript ponownie rozgorza\u0142a. W ca\u0142ej tej debacie warto pami\u0119ta\u0107, \u017ce decyzja ta jest przezroczysta z perspektywy klienta ESLint. Jakkolwiek ja nigdy nie zdecydowa\u0142bym si\u0119 tworzy\u0107 teraz biblioteki w JavaScript, tak nie zamierzam narzuca\u0107 innym jak maj\u0105 wykonywa\u0107 swoj\u0105 prac\u0119.<\/p>\n","innerContent":["\n<p>Czytaj\u0105c dyskusj\u0119 na temat podj\u0119tych decyzji architektonicznych czu\u0142em si\u0119, jakbym cofn\u0105\u0142 si\u0119 w czasie o 4-5 lat. Dyskusja na temat wy\u017cszo\u015bci (b\u0105d\u017a ni\u017cszo\u015bci) TypeScript nad JavaScript ponownie rozgorza\u0142a. W ca\u0142ej tej debacie warto pami\u0119ta\u0107, \u017ce decyzja ta jest przezroczysta z perspektywy klienta ESLint. Jakkolwiek ja nigdy nie zdecydowa\u0142bym si\u0119 tworzy\u0107 teraz biblioteki w JavaScript, tak nie zamierzam narzuca\u0107 innym jak maj\u0105 wykonywa\u0107 swoj\u0105 prac\u0119.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":12727,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72vxjd.jpeg\" alt=\"\" class=\"wp-image-12727\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72vxjd.jpeg\" alt=\"\" class=\"wp-image-12727\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Przepisanie ESLint od zera to te\u017c szansa na wprowadzenie nowych funkcjonalno\u015bci. Najciekawiej z mojej perspektywy wygl\u0105da mo\u017cliwo\u015b\u0107 modyfikacji struktury drzewa AST w celu naprawy niekt\u00f3rych b\u0142\u0119d\u00f3w formatowania. Z funkcjonalno\u015bci\u0105 t\u0105 wi\u0105\u017ce si\u0119 oczywi\u015bcie spora doza ryzyka, bo ESLint b\u0119dzie m\u00f3g\u0142 teraz modyfikowa\u0107 zachowanie naszego programu. Z drugiej strony, przy odpowiedniej konfiguracji, modyfikacja drzewa AST mo\u017ce zaoszcz\u0119dzi\u0107 nam sporo czasu, kt\u00f3ry po\u015bwi\u0119camy na naprawianie prostych b\u0142\u0119d\u00f3w.<\/p>\n","innerContent":["\n<p>Przepisanie ESLint od zera to te\u017c szansa na wprowadzenie nowych funkcjonalno\u015bci. Najciekawiej z mojej perspektywy wygl\u0105da mo\u017cliwo\u015b\u0107 modyfikacji struktury drzewa AST w celu naprawy niekt\u00f3rych b\u0142\u0119d\u00f3w formatowania. Z funkcjonalno\u015bci\u0105 t\u0105 wi\u0105\u017ce si\u0119 oczywi\u015bcie spora doza ryzyka, bo ESLint b\u0119dzie m\u00f3g\u0142 teraz modyfikowa\u0107 zachowanie naszego programu. Z drugiej strony, przy odpowiedniej konfiguracji, modyfikacja drzewa AST mo\u017ce zaoszcz\u0119dzi\u0107 nam sporo czasu, kt\u00f3ry po\u015bwi\u0119camy na naprawianie prostych b\u0142\u0119d\u00f3w.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":12729,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-55.jpeg\" alt=\"\" class=\"wp-image-12729\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-55.jpeg\" alt=\"\" class=\"wp-image-12729\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Drug\u0105 funkcjonalno\u015bci\u0105, kt\u00f3ra przyku\u0142a moj\u0105 uwag\u0119 jest uczynienie ESLint narz\u0119dziem niezale\u017cnym od j\u0119zyka programowania. Oznacza to, \u017ce je\u015bli wszystko p\u00f3jdzie z planem, to ESLint b\u0119dziemy mogli u\u017cywa\u0107 r\u00f3wnie\u017c z innymi j\u0119zykami programowania jak Java czy C#.<\/p>\n","innerContent":["\n<p>Drug\u0105 funkcjonalno\u015bci\u0105, kt\u00f3ra przyku\u0142a moj\u0105 uwag\u0119 jest uczynienie ESLint narz\u0119dziem niezale\u017cnym od j\u0119zyka programowania. Oznacza to, \u017ce je\u015bli wszystko p\u00f3jdzie z planem, to ESLint b\u0119dziemy mogli u\u017cywa\u0107 r\u00f3wnie\u017c z innymi j\u0119zykami programowania jak Java czy C#.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":12731,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72w2tv.jpeg\" alt=\"\" class=\"wp-image-12731\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/72w2tv.jpeg\" alt=\"\" class=\"wp-image-12731\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Na ten moment nie wiadomo kiedy rozpocznie si\u0119 inicjatywa przepisania ESLint. Jak mo\u017cemy dowiedzie\u0107 si\u0119 z dyskusji na GitHubie przed zespo\u0142em rozwijaj\u0105cym bibliotek\u0119 jest jeszcze sporo planowania. Zanim do repozytorium trafi pierwszy commit czeka nas jeszcze seria RFC precyzuj\u0105cych poszczeg\u00f3lne decyzje architektoniczne.<\/p>\n","innerContent":["\n<p>Na ten moment nie wiadomo kiedy rozpocznie si\u0119 inicjatywa przepisania ESLint. Jak mo\u017cemy dowiedzie\u0107 si\u0119 z dyskusji na GitHubie przed zespo\u0142em rozwijaj\u0105cym bibliotek\u0119 jest jeszcze sporo planowania. Zanim do repozytorium trafi pierwszy commit czeka nas jeszcze seria RFC precyzuj\u0105cych poszczeg\u00f3lne decyzje architektoniczne.<\/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:\/\/github.com\/eslint\/eslint\/discussions\/16557\">https:\/\/github.com\/eslint\/eslint\/discussions\/16557<\/a><\/p>\n","innerContent":["\n<p><a href=\"https:\/\/github.com\/eslint\/eslint\/discussions\/16557\">https:\/\/github.com\/eslint\/eslint\/discussions\/16557<\/a><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. React Native Core Contributor Summit 2022<\/h2>\n","innerContent":["\n<h2>2. React Native Core Contributor Summit 2022<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>React Native Core Contributor Summit, to spotkanie, kt\u00f3re gromadzi wszystkie strony zaanga\u017cowane w rozw\u00f3j React Natvie. Ze wzgl\u0119du na pandemi\u0119 przez kilka ostatnich lat spotkanie nie mog\u0142o si\u0119 odby\u0107. W tym roku wr\u00f3ci\u0142o jednak ze zdwojon\u0105 si\u0142\u0105. Przy okazji konferencji React Native EU g\u0142\u00f3wni kontrybutorzy React Native (i jego najpopularniejszych bibliotek o\u015bciennych) oraz ludzie z Mety odpowiedzialni za rozw\u00f3j projektu wzi\u0119li udzia\u0142 w serii warsztat\u00f3w podczas kt\u00f3rych starali si\u0119 zaadresowa\u0107 najwi\u0119ksze bol\u0105czki projektu. Poruszane tematy dotyczy\u0142y g\u0142\u00f3wnie nowej architektury React Native, a ich list\u0119 znale\u017a\u0107 mo\u017cecie poni\u017cej:<\/p>\n","innerContent":["\n<p>React Native Core Contributor Summit, to spotkanie, kt\u00f3re gromadzi wszystkie strony zaanga\u017cowane w rozw\u00f3j React Natvie. Ze wzgl\u0119du na pandemi\u0119 przez kilka ostatnich lat spotkanie nie mog\u0142o si\u0119 odby\u0107. W tym roku wr\u00f3ci\u0142o jednak ze zdwojon\u0105 si\u0142\u0105. Przy okazji konferencji React Native EU g\u0142\u00f3wni kontrybutorzy React Native (i jego najpopularniejszych bibliotek o\u015bciennych) oraz ludzie z Mety odpowiedzialni za rozw\u00f3j projektu wzi\u0119li udzia\u0142 w serii warsztat\u00f3w podczas kt\u00f3rych starali si\u0119 zaadresowa\u0107 najwi\u0119ksze bol\u0105czki projektu. Poruszane tematy dotyczy\u0142y g\u0142\u00f3wnie nowej architektury React Native, a ich list\u0119 znale\u017a\u0107 mo\u017cecie poni\u017cej:<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":{"ordered":true},"innerBlocks":[],"innerHTML":"\n<ol><li>React Native Codegen &amp; TypeScript Support<\/li><li>React Native New Architecture Library Migration<\/li><li>React Native Monorepo<\/li><li>Metro Web and Ecosystem Alignment<\/li><li>Metro Simplified Release Workflow<\/li><\/ol>\n","innerContent":["\n<ol><li>React Native Codegen &amp; TypeScript Support<\/li><li>React Native New Architecture Library Migration<\/li><li>React Native Monorepo<\/li><li>Metro Web and Ecosystem Alignment<\/li><li>Metro Simplified Release Workflow<\/li><\/ol>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":12733,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-56.jpeg\" alt=\"\" class=\"wp-image-12733\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-56.jpeg\" alt=\"\" class=\"wp-image-12733\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Je\u015bli interesuj\u0105 Was szczeg\u00f3\u0142y inicjatyw podj\u0119tych w konkretnych tematach, to odsy\u0142am Was do linku, kt\u00f3ry znajdziecie w \u017ar\u00f3d\u0142ach. Pierwszymi efektami Core Contributor Summit 2022 s\u0105 liczne RFC. Pierwsze efekty na kt\u00f3rych realnie skorzystaj\u0105 programi\u015bci trafi\u0105 ju\u017c React Native 0.71<\/p>\n","innerContent":["\n<p>Je\u015bli interesuj\u0105 Was szczeg\u00f3\u0142y inicjatyw podj\u0119tych w konkretnych tematach, to odsy\u0142am Was do linku, kt\u00f3ry znajdziecie w \u017ar\u00f3d\u0142ach. Pierwszymi efektami Core Contributor Summit 2022 s\u0105 liczne RFC. Pierwsze efekty na kt\u00f3rych realnie skorzystaj\u0105 programi\u015bci trafi\u0105 ju\u017c React Native 0.71<\/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:\/\/reactnative.dev\/blog\/2022\/11\/22\/react-native-core-contributor-summit-2022\">https:\/\/reactnative.dev\/blog\/2022\/11\/22\/react-native-core-contributor-summit-2022<\/a><\/p>\n","innerContent":["\n<p><a href=\"https:\/\/reactnative.dev\/blog\/2022\/11\/22\/react-native-core-contributor-summit-2022\">https:\/\/reactnative.dev\/blog\/2022\/11\/22\/react-native-core-contributor-summit-2022<\/a><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>3. Electron 22 i Electron Forge 6<\/h2>\n","innerContent":["\n<h2>3. Electron 22 i Electron Forge 6<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>W minionym tygodniu opublikowany zosta\u0142 Electron 22. Opr\u00f3cz standardowego podbicia zale\u017cno\u015bci (Chromium 108, V8 10.8, i Node.js 16.17.1) jest to ostatnia wersja, kt\u00f3ra b\u0119dzie wspiera\u0107 Windows 8. W\u015br\u00f3d zmian znalaz\u0142o si\u0119 te\u017c kilka breaking changes, ale najciekawiej wygl\u0105da premiera towarzysz\u0105ca Electron 22, czyli Electron Forge 6.<\/p>\n","innerContent":["\n<p>W minionym tygodniu opublikowany zosta\u0142 Electron 22. Opr\u00f3cz standardowego podbicia zale\u017cno\u015bci (Chromium 108, V8 10.8, i Node.js 16.17.1) jest to ostatnia wersja, kt\u00f3ra b\u0119dzie wspiera\u0107 Windows 8. W\u015br\u00f3d zmian znalaz\u0142o si\u0119 te\u017c kilka breaking changes, ale najciekawiej wygl\u0105da premiera towarzysz\u0105ca Electron 22, czyli Electron Forge 6.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":12735,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-57.jpeg\" alt=\"\" class=\"wp-image-12735\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/12\/download-57.jpeg\" alt=\"\" class=\"wp-image-12735\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Electron Forge to narz\u0119dzie, kt\u00f3re pozwala budowa\u0107 aplikacje oraz generowa\u0107 i podpisywa\u0107 pliki instalacyjne. Oczywi\u015bcie podobne narz\u0119dzia by\u0142y dost\u0119pne ju\u017c od dawna, ale Electron Forge 6 jest wyj\u0105tkowy, bo projekt pod swoje skrzyd\u0142a wzi\u0105\u0142 go g\u0142\u00f3wny zesp\u00f3\u0142 rozwijaj\u0105cy samego Electrona. Co za tym idzie, narz\u0119dzie to otrzyma sporo czasu deweloperskiego, a jego dokumentacja zostanie zintegrowana z dokumentacj\u0105 Electrona.<\/p>\n","innerContent":["\n<p>Electron Forge to narz\u0119dzie, kt\u00f3re pozwala budowa\u0107 aplikacje oraz generowa\u0107 i podpisywa\u0107 pliki instalacyjne. Oczywi\u015bcie podobne narz\u0119dzia by\u0142y dost\u0119pne ju\u017c od dawna, ale Electron Forge 6 jest wyj\u0105tkowy, bo projekt pod swoje skrzyd\u0142a wzi\u0105\u0142 go g\u0142\u00f3wny zesp\u00f3\u0142 rozwijaj\u0105cy samego Electrona. Co za tym idzie, narz\u0119dzie to otrzyma sporo czasu deweloperskiego, a jego dokumentacja zostanie zintegrowana z dokumentacj\u0105 Electrona.<\/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:\/\/www.electronjs.org\/blog\/electron-22-0\">https:\/\/www.electronjs.org\/blog\/electron-22-0<\/a><br><a href=\"https:\/\/www.electronjs.org\/blog\/forge-v6-release\">https:\/\/www.electronjs.org\/blog\/forge-v6-release<\/a><br><a href=\"https:\/\/www.electronforge.io\/core-concepts\/why-electron-forge\">https:\/\/www.electronforge.io\/core-concepts\/why-electron-forge<\/a><\/p>\n","innerContent":["\n<p><a href=\"https:\/\/www.electronjs.org\/blog\/electron-22-0\">https:\/\/www.electronjs.org\/blog\/electron-22-0<\/a><br><a href=\"https:\/\/www.electronjs.org\/blog\/forge-v6-release\">https:\/\/www.electronjs.org\/blog\/forge-v6-release<\/a><br><a href=\"https:\/\/www.electronforge.io\/core-concepts\/why-electron-forge\">https:\/\/www.electronforge.io\/core-concepts\/why-electron-forge<\/a><\/p>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/12749","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=12749"}],"version-history":[{"count":3,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/12749\/revisions"}],"predecessor-version":[{"id":12753,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/12749\/revisions\/12753"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/12739"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=12749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=12749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=12749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}