{"id":9938,"date":"2022-07-29T13:13:15","date_gmt":"2022-07-29T11:13:15","guid":{"rendered":"https:\/\/vived.io\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/"},"modified":"2022-09-19T13:16:24","modified_gmt":"2022-09-19T11:16:24","slug":"google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/","title":{"rendered":"Google potrzebuje Twojej pomocy &#8211; Frontend Weekly vol. 98"},"content":{"rendered":"\n<h2 id=\"1-google-potrzebuje-twojej-pomocy-w-rozwiazaniu-problemu-zagniezdzonych-css-ow\" data-num=1>1. Google potrzebuje Twojej pomocy w rozwi\u0105zaniu problemu zagnie\u017cd\u017conych CSS-\u00f3w<\/h2>\n\n\n\n<p>Je\u015bli kiedykolwiek korzystali\u015bcie z narz\u0119dzi takich jak SCSS, Lesss czy Stylus to na pewno wiecie jak wygodnie jest pisanie oraz czytanie zagnie\u017cd\u017conych regu\u0142 CSS. Ja zawsze kiedy musz\u0119 wraca\u0107 do pisania czystego CSSa nie dowierzam, \u017ce nadal brakuje tam analogicznej sk\u0142adni.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-scss\">\/* Simple nesting in SASS *\/\n.foo {\n  color: #111;\n\n  &amp; .bar {\n    color: #eee;\n  }\n}<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-css\">\/* Pure CSS equivalent *\/\n.foo {\n  color: #111;\n}\n\n.foo .bar {\n  color: #eee;\n}<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-14.jpeg\" alt=\"\" class=\"wp-image-6086\" width=\"580\" height=\"414\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-14.jpeg 700w, https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-14-300x214.jpeg 300w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/figure><\/div>\n\n\n<p>Jak wida\u0107 wielkie umys\u0142y my\u015bl\u0105 podobnie, bo programi\u015bci z Google zamierzaj\u0105 zaproponowa\u0107 odpowiedniemu komitetowi standaryzuj\u0105ce sk\u0142adni\u0119 zagnie\u017cd\u017conych regu\u0142 CSS. Rzecz w tym, \u017ce w ich g\u0142owie k\u0142\u0119bi si\u0119 kilka pomys\u0142\u00f3w i dlatego postanowili zapyta\u0107 o zdanie spo\u0142eczno\u015b\u0107.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-16.jpeg\" alt=\"\" class=\"wp-image-6087\" width=\"382\" height=\"513\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-16.jpeg 500w, https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-16-224x300.jpeg 224w\" sizes=\"auto, (max-width: 382px) 100vw, 382px\" \/><\/figure><\/div>\n\n\n<p>Pierwsze API zak\u0142ada dodanie do standardu zar\u00f3wno dyrektywy @nest jak i selektora &amp;. Ten drugi ma dzia\u0142a\u0107 dok\u0142adnie tak jak w Less czy Sass. Dyrektywa @nest b\u0119dzie wykorzystywana wsz\u0119dzie tam, gdzie oka\u017ce si\u0119 to niewystarczaj\u0105ce.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-css\">.foo {\n  color: #111;\n\n  &amp; .bar {\n    color: #eee;\n  }\n}<\/code><\/pre>\n\n\n\n<p>Kolejna propozycja sk\u0142adni to lekka modyfikacja tej opisanej w poprzednim akapicie. Dla wi\u0119kszej prostoty zak\u0142ada ona istnienie tylko dyrektywy @nest, bez pe\u0142ni\u0105cego analogiczn\u0105 funkcj\u0119 selektora &amp;<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-css\">.foo {\n  color: #111;\n\n  @nest &amp; .bar {\n    color: #eee;\n  }\n}<\/code><\/pre>\n\n\n\n<p>Ostatnia propozycja sk\u0142adni najbardziej odbiega od tej znanej z Sass i Less, bo zak\u0142ada wykorzystanie zagnie\u017cd\u017conych klamr.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-css\">.foo {\n  color: #111;\n\n  {\n    &amp; .bar {\n      color: #eee;\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<p>Je\u015bli chcecie zobaczy\u0107 wi\u0119cej, du\u017co bardziej skomplikowanych przyk\u0142ad\u00f3w zastosowania poszczeg\u00f3lnych sk\u0142adni i chcecie podzieli\u0107 si\u0119 z Google swoj\u0105 opini\u0105, to w \u017ar\u00f3d\u0142ach znajdziecie odpowiednie linki.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a:<\/h3>\n\n\n\n<p><a href=\"https:\/\/developer.chrome.com\/blog\/help-css-nesting\/\">https:\/\/developer.chrome.com\/blog\/help-css-nesting\/<\/a><\/p>\n\n\n\n<h2 id=\"2-storybook-7-0\" data-num=2>2. Storybook 7.0<\/h2>\n\n\n\n<p>Jak m\u00f3wi stare polskie powiedzenie &#8211; na bezrybiu i rak ryba. Tak te\u017c zapowied\u017a Storybook 7.0, pomimo \u017ce nie wyrywa z but\u00f3w, by\u0142a jednym z najciekawszych wydarze\u0144 szczytu sezony og\u00f3rkowego. Jest to o tyle zaskakuj\u0105ce, \u017ce mniejsze wydania biblioteki niejednokrotnie przynosi\u0142y ju\u017c bardziej interesuj\u0105ce zmiany.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"480\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/giphy-4-1.gif\" alt=\"\" class=\"wp-image-6088\"\/><\/figure><\/div>\n\n\n<p>Zdradz\u0119 Wam sekret, kt\u00f3ry Storybook stara si\u0119 przed Wami ukry\u0107 (w g\u0142owie mo\u017cecie wyobrazi\u0107 sobie teraz \u017c\u00f3\u0142te napisy). Wersja 7.0 tego narz\u0119dzia ma przede wszystkim uci\u0105\u0107 wsparcie dla starego API pisania historyjek. Dla wielu projekt\u00f3w b\u0119dzie twardy orzech do zgryzienia i na pewno znajdzie si\u0119 co najmniej kilku zaskoczonych zaistnia\u0142\u0105 sytuacj\u0105.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"270\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/giphy-5.gif\" alt=\"\" class=\"wp-image-6089\"\/><\/figure><\/div>\n\n\n<p>Wr\u00f3\u0107my tymczasem do zmian i nowo\u015bci jakie przynosi Storybook 7.0 W\u015br\u00f3d nich znajdziemy takie rewolucje jak powi\u0119kszenie obszaru na kt\u00f3rym wy\u015bwietlane s\u0105 komponenty, reorganizacj\u0119 paska narz\u0119dzi czy nowe style komponent\u00f3w to sterowania argumentami i dokumentacj\u0105.\u00a0<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"400\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/giphy-6.gif\" alt=\"\" class=\"wp-image-6090\"\/><\/figure><\/div>\n\n\n<p>Jedyn\u0105 realnie interesuj\u0105c\u0105 nowo\u015bci\u0105 ma by\u0107 optymalizacja uruchamiania Storybooka. Uda\u0142o si\u0119 to osi\u0105gn\u0105\u0107 przez redukcj jego zale\u017cno\u015bci oraz dodanie kroku wst\u0119pnego budowania. Na przestrzeni kilku ostatnich wersji Storybook wprowadzi\u0142 naprawd\u0119 sporo optymalizacji wydajno\u015bci. Jednak tak d\u0142ugo jak ca\u0142o\u015b\u0107 oparta jest o webpacka, to wydajno\u015b\u0107 konkurencyjnych projekt\u00f3w takich jak Ladle na zawsze pozostanie poza jego zasi\u0119giem.<\/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\/07\/download-18.jpeg\" alt=\"\" class=\"wp-image-6091\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-18.jpeg 500w, https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-18-300x300.jpeg 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-18-150x150.jpeg 150w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a:<\/h3>\n\n\n\n<p><a href=\"https:\/\/storybook.js.org\/blog\/storybook-7-0-design-sneak-peek\/\">https:\/\/storybook.js.org\/blog\/storybook-7-0-design-sneak-peek\/<\/a><\/p>\n\n\n\n<h2 id=\"3-github-i-npm-lacza-sily-w-walce-o-nasze-bezpieczenstwo\" data-num=3>3. Github i npm \u0142\u0105cz\u0105 si\u0142y w walce o nasze bezpiecze\u0144stwo<\/h2>\n\n\n\n<p><\/p>\n\n\n\n<p>npm s\u0142ynie z braku bezpiecze\u0144stwa i nieustannych atak\u00f3w. Problemy zaczynaj\u0105 si\u0119 na znikaj\u0105cych tajemniczo z repozytorium paczkach poprzez z\u0142o\u015bliwie nazywane paczki, a\u017c po standardowe ataki typu supply chain i identity theft.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"390\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-15.jpeg\" alt=\"\" class=\"wp-image-6092\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-15.jpeg 640w, https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-15-300x183.jpeg 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure><\/div>\n\n\n<p>Microsoft od jakiego\u015b czasu stara si\u0119 poprawia\u0107 bezpiecze\u0144stwo npm. Jedn\u0105 z prowadzonych przez nich inicjatyw jest wprowadzenie do npm dwuetapowej autentykacji. Pocz\u0105tkiem roku zastosowanie tego zabezpieczenia zosta\u0142o wymuszone na w\u0142a\u015bcicielach 100 najpopularniejszych bibliotek. Bardzo mo\u017cliwe, \u017ce w przysz\u0142o\u015bci liczba ta b\u0119dzie rosn\u0105\u0107.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-17.jpeg\" alt=\"\" class=\"wp-image-6093\" width=\"529\" height=\"407\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-17.jpeg 649w, https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-17-300x231.jpeg 300w\" sizes=\"auto, (max-width: 529px) 100vw, 529px\" \/><\/figure><\/div>\n\n\n<p>W minionym tygodniu Microsoft podzieli\u0142 si\u0119 ze spo\u0142eczno\u015bci\u0105 kolejn\u0105 paczk\u0105 nowo\u015bci dotycz\u0105cych bezpiecze\u0144stwa. Po pierwsze dwuetapowa autentykacja zosta\u0142a usprawniona, zw\u0142aszcza je\u015bli chodzi o narz\u0119dzia CLI. Po drugie na platformie pojawi\u0142a si\u0119 mo\u017cliwo\u015b\u0107 po\u0142\u0105czenia z kont Github oraz Twitter. Co prawda do tej pory mo\u017cna ju\u017c by\u0142o do swojego profilu doda\u0107 takie konta, ale od teraz b\u0119d\u0105 one mog\u0142y s\u0142u\u017cy\u0107 do przywracania has\u0142a i widnie\u0107 b\u0119d\u0105 jako zweryfikowane.<\/p>\n\n\n\n<p>Ostatnia trzecia nowo\u015b\u0107 jest zdecydowanie najciekawsza. Nowa komenda `npm audit signatures` umo\u017cliwia upewnienie si\u0119, \u017ce w naszych paczkach nikt nie grzeba\u0142 wprowadzaj\u0105c do nich podejrzany kod.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a:<\/h3>\n\n\n\n<p><a href=\"https:\/\/github.blog\/2022-07-26-introducing-even-more-security-enhancements-to-npm\/\">https:\/\/github.blog\/2022-07-26-introducing-even-more-security-enhancements-to-npm\/<\/a><br><a href=\"https:\/\/github.blog\/2022-02-01-top-100-npm-package-maintainers-require-2fa-additional-security\/\">https:\/\/github.blog\/2022-02-01-top-100-npm-package-maintainers-require-2fa-additional-security\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zagnied\u017cone regu\u0142y CSS od lat s\u0105 jednym z niespe\u0142nionych marze\u0144 wi\u0119kszo\u015bci web deweloper\u00f3w. Co prawda dzisiaj coraz rzadziej pisze si\u0119 ju\u017c czyste pliki CSS, ale nadzieja na spa\u0142nienie odiwecznych marze\u0144 powr\u00f3ci\u0142a w tym tygodniu ze zdwojon\u0105 si\u0142\u0105. <\/p>\n","protected":false},"author":12,"featured_media":8961,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[273],"tags":[],"class_list":["post-9938","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-frontend-pl"],"acf":{"feature_image_visible":false,"weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/FRONTEND-4.png","feature_image_blog":{"ID":8962,"id":8962,"title":"pexels-photo-1287828","filename":"pexels-photo-1287828.webp","filesize":241824,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/pexels-photo-1287828.webp","link":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/pexels-photo-1287828-2\/","alt":"","author":"12","description":"","caption":"","name":"pexels-photo-1287828-2","status":"inherit","uploaded_to":9938,"date":"2022-07-29 11:06:02","modified":"2022-07-29 11:06:02","menu_order":0,"mime_type":"image\/webp","type":"image","subtype":"webp","icon":"https:\/\/vived.io\/wp-includes\/images\/media\/default.png","width":2250,"height":1500,"sizes":{"thumbnail":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/pexels-photo-1287828-150x150.webp","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/pexels-photo-1287828-300x200.webp","medium-width":300,"medium-height":200,"medium_large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/pexels-photo-1287828-768x512.webp","medium_large-width":768,"medium_large-height":512,"large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/pexels-photo-1287828-1024x683.webp","large-width":1024,"large-height":683,"1536x1536":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/pexels-photo-1287828-1536x1024.webp","1536x1536-width":1536,"1536x1536-height":1024,"2048x2048":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/pexels-photo-1287828-2048x1365.webp","2048x2048-width":2048,"2048x2048-height":1365,"gform-image-choice-sm":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/pexels-photo-1287828.webp","gform-image-choice-sm-width":300,"gform-image-choice-sm-height":200,"gform-image-choice-md":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/pexels-photo-1287828.webp","gform-image-choice-md-width":400,"gform-image-choice-md-height":267,"gform-image-choice-lg":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/pexels-photo-1287828.webp","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>Google potrzebuje Twojej pomocy - Frontend Weekly vol. 98 - 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\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Google potrzebuje Twojej pomocy - Frontend Weekly vol. 98 - Vived\" \/>\n<meta property=\"og:description\" content=\"Zagnied\u017cone regu\u0142y CSS od lat s\u0105 jednym z niespe\u0142nionych marze\u0144 wi\u0119kszo\u015bci web deweloper\u00f3w. Co prawda dzisiaj coraz rzadziej pisze si\u0119 ju\u017c czyste pliki CSS, ale nadzieja na spa\u0142nienie odiwecznych marze\u0144 powr\u00f3ci\u0142a w tym tygodniu ze zdwojon\u0105 si\u0142\u0105.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-29T11:13:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:16:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/FRONTEND-4.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<meta name=\"twitter:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/FRONTEND-4.png\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/\"},\"author\":{\"name\":\"Tomasz Borowicz\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb\"},\"headline\":\"Google potrzebuje Twojej pomocy &#8211; Frontend Weekly vol. 98\",\"datePublished\":\"2022-07-29T11:13:15+00:00\",\"dateModified\":\"2022-09-19T11:16:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/\"},\"wordCount\":714,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/FRONTEND-4.png\",\"articleSection\":[\"Frontend\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/\",\"url\":\"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/\",\"name\":\"Google potrzebuje Twojej pomocy - Frontend Weekly vol. 98 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/FRONTEND-4.png\",\"datePublished\":\"2022-07-29T11:13:15+00:00\",\"dateModified\":\"2022-09-19T11:16:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/FRONTEND-4.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/FRONTEND-4.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Google potrzebuje Twojej pomocy &#8211; Frontend Weekly vol. 98\"}]},{\"@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":"Google potrzebuje Twojej pomocy - Frontend Weekly vol. 98 - 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\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/","og_locale":"pl_PL","og_type":"article","og_title":"Google potrzebuje Twojej pomocy - Frontend Weekly vol. 98 - Vived","og_description":"Zagnied\u017cone regu\u0142y CSS od lat s\u0105 jednym z niespe\u0142nionych marze\u0144 wi\u0119kszo\u015bci web deweloper\u00f3w. Co prawda dzisiaj coraz rzadziej pisze si\u0119 ju\u017c czyste pliki CSS, ale nadzieja na spa\u0142nienie odiwecznych marze\u0144 powr\u00f3ci\u0142a w tym tygodniu ze zdwojon\u0105 si\u0142\u0105.","og_url":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/","og_site_name":"Vived","article_published_time":"2022-07-29T11:13:15+00:00","article_modified_time":"2022-09-19T11:16:24+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/FRONTEND-4.png","type":"image\/png"}],"author":"Tomasz Borowicz","twitter_card":"summary_large_image","twitter_image":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/FRONTEND-4.png","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/"},"author":{"name":"Tomasz Borowicz","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/9d2a72fe7d0dfbb4092675afbab742bb"},"headline":"Google potrzebuje Twojej pomocy &#8211; Frontend Weekly vol. 98","datePublished":"2022-07-29T11:13:15+00:00","dateModified":"2022-09-19T11:16:24+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/"},"wordCount":714,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/FRONTEND-4.png","articleSection":["Frontend"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/","url":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/","name":"Google potrzebuje Twojej pomocy - Frontend Weekly vol. 98 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/FRONTEND-4.png","datePublished":"2022-07-29T11:13:15+00:00","dateModified":"2022-09-19T11:16:24+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/FRONTEND-4.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/FRONTEND-4.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/google-potrzebuje-twojej-pomocy-frontend-weekly-vol-98\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Google potrzebuje Twojej pomocy &#8211; Frontend Weekly vol. 98"}]},{"@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. Google potrzebuje Twojej pomocy w rozwi\u0105zaniu problemu zagnie\u017cd\u017conych CSS-\u00f3w<\/h2>\n","innerContent":["\n<h2>1. Google potrzebuje Twojej pomocy w rozwi\u0105zaniu problemu zagnie\u017cd\u017conych CSS-\u00f3w<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Je\u015bli kiedykolwiek korzystali\u015bcie z narz\u0119dzi takich jak SCSS, Lesss czy Stylus to na pewno wiecie jak wygodnie jest pisanie oraz czytanie zagnie\u017cd\u017conych regu\u0142 CSS. Ja zawsze kiedy musz\u0119 wraca\u0107 do pisania czystego CSSa nie dowierzam, \u017ce nadal brakuje tam analogicznej sk\u0142adni.<\/p>\n","innerContent":["\n<p>Je\u015bli kiedykolwiek korzystali\u015bcie z narz\u0119dzi takich jak SCSS, Lesss czy Stylus to na pewno wiecie jak wygodnie jest pisanie oraz czytanie zagnie\u017cd\u017conych regu\u0142 CSS. Ja zawsze kiedy musz\u0119 wraca\u0107 do pisania czystego CSSa nie dowierzam, \u017ce nadal brakuje tam analogicznej sk\u0142adni.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"prismatic\/blocks","attrs":{"language":"scss"},"innerBlocks":[],"innerHTML":"\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-scss\">\/* Simple nesting in SASS *\/\n.foo {\n  color: #111;\n\n  &amp; .bar {\n    color: #eee;\n  }\n}<\/code><\/pre>\n","innerContent":["\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-scss\">\/* Simple nesting in SASS *\/\n.foo {\n  color: #111;\n\n  &amp; .bar {\n    color: #eee;\n  }\n}<\/code><\/pre>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"prismatic\/blocks","attrs":{"language":"css"},"innerBlocks":[],"innerHTML":"\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-css\">\/* Pure CSS equivalent *\/\n.foo {\n  color: #111;\n}\n\n.foo .bar {\n  color: #eee;\n}<\/code><\/pre>\n","innerContent":["\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-css\">\/* Pure CSS equivalent *\/\n.foo {\n  color: #111;\n}\n\n.foo .bar {\n  color: #eee;\n}<\/code><\/pre>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":6086,"width":580,"height":414,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-14.jpeg\" alt=\"\" class=\"wp-image-6086\" width=\"580\" height=\"414\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-14.jpeg\" alt=\"\" class=\"wp-image-6086\" width=\"580\" height=\"414\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Jak wida\u0107 wielkie umys\u0142y my\u015bl\u0105 podobnie, bo programi\u015bci z Google zamierzaj\u0105 zaproponowa\u0107 odpowiedniemu komitetowi standaryzuj\u0105ce sk\u0142adni\u0119 zagnie\u017cd\u017conych regu\u0142 CSS. Rzecz w tym, \u017ce w ich g\u0142owie k\u0142\u0119bi si\u0119 kilka pomys\u0142\u00f3w i dlatego postanowili zapyta\u0107 o zdanie spo\u0142eczno\u015b\u0107.<\/p>\n","innerContent":["\n<p>Jak wida\u0107 wielkie umys\u0142y my\u015bl\u0105 podobnie, bo programi\u015bci z Google zamierzaj\u0105 zaproponowa\u0107 odpowiedniemu komitetowi standaryzuj\u0105ce sk\u0142adni\u0119 zagnie\u017cd\u017conych regu\u0142 CSS. Rzecz w tym, \u017ce w ich g\u0142owie k\u0142\u0119bi si\u0119 kilka pomys\u0142\u00f3w i dlatego postanowili zapyta\u0107 o zdanie spo\u0142eczno\u015b\u0107.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":6087,"width":382,"height":513,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-16.jpeg\" alt=\"\" class=\"wp-image-6087\" width=\"382\" height=\"513\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-16.jpeg\" alt=\"\" class=\"wp-image-6087\" width=\"382\" height=\"513\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Pierwsze API zak\u0142ada dodanie do standardu zar\u00f3wno dyrektywy @nest jak i selektora &amp;. Ten drugi ma dzia\u0142a\u0107 dok\u0142adnie tak jak w Less czy Sass. Dyrektywa @nest b\u0119dzie wykorzystywana wsz\u0119dzie tam, gdzie oka\u017ce si\u0119 to niewystarczaj\u0105ce.<\/p>\n","innerContent":["\n<p>Pierwsze API zak\u0142ada dodanie do standardu zar\u00f3wno dyrektywy @nest jak i selektora &amp;. Ten drugi ma dzia\u0142a\u0107 dok\u0142adnie tak jak w Less czy Sass. Dyrektywa @nest b\u0119dzie wykorzystywana wsz\u0119dzie tam, gdzie oka\u017ce si\u0119 to niewystarczaj\u0105ce.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"prismatic\/blocks","attrs":{"language":"css"},"innerBlocks":[],"innerHTML":"\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-css\">.foo {\n  color: #111;\n\n  &amp; .bar {\n    color: #eee;\n  }\n}<\/code><\/pre>\n","innerContent":["\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-css\">.foo {\n  color: #111;\n\n  &amp; .bar {\n    color: #eee;\n  }\n}<\/code><\/pre>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Kolejna propozycja sk\u0142adni to lekka modyfikacja tej opisanej w poprzednim akapicie. Dla wi\u0119kszej prostoty zak\u0142ada ona istnienie tylko dyrektywy @nest, bez pe\u0142ni\u0105cego analogiczn\u0105 funkcj\u0119 selektora &amp;<\/p>\n","innerContent":["\n<p>Kolejna propozycja sk\u0142adni to lekka modyfikacja tej opisanej w poprzednim akapicie. Dla wi\u0119kszej prostoty zak\u0142ada ona istnienie tylko dyrektywy @nest, bez pe\u0142ni\u0105cego analogiczn\u0105 funkcj\u0119 selektora &amp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"prismatic\/blocks","attrs":{"language":"css"},"innerBlocks":[],"innerHTML":"\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-css\">.foo {\n  color: #111;\n\n  @nest &amp; .bar {\n    color: #eee;\n  }\n}<\/code><\/pre>\n","innerContent":["\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-css\">.foo {\n  color: #111;\n\n  @nest &amp; .bar {\n    color: #eee;\n  }\n}<\/code><\/pre>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ostatnia propozycja sk\u0142adni najbardziej odbiega od tej znanej z Sass i Less, bo zak\u0142ada wykorzystanie zagnie\u017cd\u017conych klamr.<\/p>\n","innerContent":["\n<p>Ostatnia propozycja sk\u0142adni najbardziej odbiega od tej znanej z Sass i Less, bo zak\u0142ada wykorzystanie zagnie\u017cd\u017conych klamr.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"prismatic\/blocks","attrs":{"language":"css"},"innerBlocks":[],"innerHTML":"\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-css\">.foo {\n  color: #111;\n\n  {\n    &amp; .bar {\n      color: #eee;\n    }\n  }\n}<\/code><\/pre>\n","innerContent":["\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-css\">.foo {\n  color: #111;\n\n  {\n    &amp; .bar {\n      color: #eee;\n    }\n  }\n}<\/code><\/pre>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Je\u015bli chcecie zobaczy\u0107 wi\u0119cej, du\u017co bardziej skomplikowanych przyk\u0142ad\u00f3w zastosowania poszczeg\u00f3lnych sk\u0142adni i chcecie podzieli\u0107 si\u0119 z Google swoj\u0105 opini\u0105, to w \u017ar\u00f3d\u0142ach znajdziecie odpowiednie linki.<\/p>\n","innerContent":["\n<p>Je\u015bli chcecie zobaczy\u0107 wi\u0119cej, du\u017co bardziej skomplikowanych przyk\u0142ad\u00f3w zastosowania poszczeg\u00f3lnych sk\u0142adni i chcecie podzieli\u0107 si\u0119 z Google swoj\u0105 opini\u0105, to w \u017ar\u00f3d\u0142ach znajdziecie odpowiednie linki.<\/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:\/\/developer.chrome.com\/blog\/help-css-nesting\/\">https:\/\/developer.chrome.com\/blog\/help-css-nesting\/<\/a><\/p>\n","innerContent":["\n<p><a href=\"https:\/\/developer.chrome.com\/blog\/help-css-nesting\/\">https:\/\/developer.chrome.com\/blog\/help-css-nesting\/<\/a><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. Storybook 7.0<\/h2>\n","innerContent":["\n<h2>2. Storybook 7.0<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Jak m\u00f3wi stare polskie powiedzenie - na bezrybiu i rak ryba. Tak te\u017c zapowied\u017a Storybook 7.0, pomimo \u017ce nie wyrywa z but\u00f3w, by\u0142a jednym z najciekawszych wydarze\u0144 szczytu sezony og\u00f3rkowego. Jest to o tyle zaskakuj\u0105ce, \u017ce mniejsze wydania biblioteki niejednokrotnie przynosi\u0142y ju\u017c bardziej interesuj\u0105ce zmiany.<\/p>\n","innerContent":["\n<p>Jak m\u00f3wi stare polskie powiedzenie - na bezrybiu i rak ryba. Tak te\u017c zapowied\u017a Storybook 7.0, pomimo \u017ce nie wyrywa z but\u00f3w, by\u0142a jednym z najciekawszych wydarze\u0144 szczytu sezony og\u00f3rkowego. Jest to o tyle zaskakuj\u0105ce, \u017ce mniejsze wydania biblioteki niejednokrotnie przynosi\u0142y ju\u017c bardziej interesuj\u0105ce zmiany.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":6088,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/giphy-4-1.gif\" alt=\"\" class=\"wp-image-6088\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/giphy-4-1.gif\" alt=\"\" class=\"wp-image-6088\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Zdradz\u0119 Wam sekret, kt\u00f3ry Storybook stara si\u0119 przed Wami ukry\u0107 (w g\u0142owie mo\u017cecie wyobrazi\u0107 sobie teraz \u017c\u00f3\u0142te napisy). Wersja 7.0 tego narz\u0119dzia ma przede wszystkim uci\u0105\u0107 wsparcie dla starego API pisania historyjek. Dla wielu projekt\u00f3w b\u0119dzie twardy orzech do zgryzienia i na pewno znajdzie si\u0119 co najmniej kilku zaskoczonych zaistnia\u0142\u0105 sytuacj\u0105.<\/p>\n","innerContent":["\n<p>Zdradz\u0119 Wam sekret, kt\u00f3ry Storybook stara si\u0119 przed Wami ukry\u0107 (w g\u0142owie mo\u017cecie wyobrazi\u0107 sobie teraz \u017c\u00f3\u0142te napisy). Wersja 7.0 tego narz\u0119dzia ma przede wszystkim uci\u0105\u0107 wsparcie dla starego API pisania historyjek. Dla wielu projekt\u00f3w b\u0119dzie twardy orzech do zgryzienia i na pewno znajdzie si\u0119 co najmniej kilku zaskoczonych zaistnia\u0142\u0105 sytuacj\u0105.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":6089,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/giphy-5.gif\" alt=\"\" class=\"wp-image-6089\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/giphy-5.gif\" alt=\"\" class=\"wp-image-6089\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Wr\u00f3\u0107my tymczasem do zmian i nowo\u015bci jakie przynosi Storybook 7.0 W\u015br\u00f3d nich znajdziemy takie rewolucje jak powi\u0119kszenie obszaru na kt\u00f3rym wy\u015bwietlane s\u0105 komponenty, reorganizacj\u0119 paska narz\u0119dzi czy nowe style komponent\u00f3w to sterowania argumentami i dokumentacj\u0105.\u00a0<\/p>\n","innerContent":["\n<p>Wr\u00f3\u0107my tymczasem do zmian i nowo\u015bci jakie przynosi Storybook 7.0 W\u015br\u00f3d nich znajdziemy takie rewolucje jak powi\u0119kszenie obszaru na kt\u00f3rym wy\u015bwietlane s\u0105 komponenty, reorganizacj\u0119 paska narz\u0119dzi czy nowe style komponent\u00f3w to sterowania argumentami i dokumentacj\u0105.\u00a0<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":6090,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/giphy-6.gif\" alt=\"\" class=\"wp-image-6090\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/giphy-6.gif\" alt=\"\" class=\"wp-image-6090\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Jedyn\u0105 realnie interesuj\u0105c\u0105 nowo\u015bci\u0105 ma by\u0107 optymalizacja uruchamiania Storybooka. Uda\u0142o si\u0119 to osi\u0105gn\u0105\u0107 przez redukcj jego zale\u017cno\u015bci oraz dodanie kroku wst\u0119pnego budowania. Na przestrzeni kilku ostatnich wersji Storybook wprowadzi\u0142 naprawd\u0119 sporo optymalizacji wydajno\u015bci. Jednak tak d\u0142ugo jak ca\u0142o\u015b\u0107 oparta jest o webpacka, to wydajno\u015b\u0107 konkurencyjnych projekt\u00f3w takich jak Ladle na zawsze pozostanie poza jego zasi\u0119giem.<\/p>\n","innerContent":["\n<p>Jedyn\u0105 realnie interesuj\u0105c\u0105 nowo\u015bci\u0105 ma by\u0107 optymalizacja uruchamiania Storybooka. Uda\u0142o si\u0119 to osi\u0105gn\u0105\u0107 przez redukcj jego zale\u017cno\u015bci oraz dodanie kroku wst\u0119pnego budowania. Na przestrzeni kilku ostatnich wersji Storybook wprowadzi\u0142 naprawd\u0119 sporo optymalizacji wydajno\u015bci. Jednak tak d\u0142ugo jak ca\u0142o\u015b\u0107 oparta jest o webpacka, to wydajno\u015b\u0107 konkurencyjnych projekt\u00f3w takich jak Ladle na zawsze pozostanie poza jego zasi\u0119giem.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":6091,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-18.jpeg\" alt=\"\" class=\"wp-image-6091\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-18.jpeg\" alt=\"\" class=\"wp-image-6091\"\/><\/figure>\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:\/\/storybook.js.org\/blog\/storybook-7-0-design-sneak-peek\/\">https:\/\/storybook.js.org\/blog\/storybook-7-0-design-sneak-peek\/<\/a><\/p>\n","innerContent":["\n<p><a href=\"https:\/\/storybook.js.org\/blog\/storybook-7-0-design-sneak-peek\/\">https:\/\/storybook.js.org\/blog\/storybook-7-0-design-sneak-peek\/<\/a><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>3. Github i npm \u0142\u0105cz\u0105 si\u0142y w walce o nasze bezpiecze\u0144stwo<\/h2>\n","innerContent":["\n<h2>3. Github i npm \u0142\u0105cz\u0105 si\u0142y w walce o nasze bezpiecze\u0144stwo<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><\/p>\n","innerContent":["\n<p><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>npm s\u0142ynie z braku bezpiecze\u0144stwa i nieustannych atak\u00f3w. Problemy zaczynaj\u0105 si\u0119 na znikaj\u0105cych tajemniczo z repozytorium paczkach poprzez z\u0142o\u015bliwie nazywane paczki, a\u017c po standardowe ataki typu supply chain i identity theft.<\/p>\n","innerContent":["\n<p>npm s\u0142ynie z braku bezpiecze\u0144stwa i nieustannych atak\u00f3w. Problemy zaczynaj\u0105 si\u0119 na znikaj\u0105cych tajemniczo z repozytorium paczkach poprzez z\u0142o\u015bliwie nazywane paczki, a\u017c po standardowe ataki typu supply chain i identity theft.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":6092,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-15.jpeg\" alt=\"\" class=\"wp-image-6092\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-15.jpeg\" alt=\"\" class=\"wp-image-6092\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Microsoft od jakiego\u015b czasu stara si\u0119 poprawia\u0107 bezpiecze\u0144stwo npm. Jedn\u0105 z prowadzonych przez nich inicjatyw jest wprowadzenie do npm dwuetapowej autentykacji. Pocz\u0105tkiem roku zastosowanie tego zabezpieczenia zosta\u0142o wymuszone na w\u0142a\u015bcicielach 100 najpopularniejszych bibliotek. Bardzo mo\u017cliwe, \u017ce w przysz\u0142o\u015bci liczba ta b\u0119dzie rosn\u0105\u0107.<\/p>\n","innerContent":["\n<p>Microsoft od jakiego\u015b czasu stara si\u0119 poprawia\u0107 bezpiecze\u0144stwo npm. Jedn\u0105 z prowadzonych przez nich inicjatyw jest wprowadzenie do npm dwuetapowej autentykacji. Pocz\u0105tkiem roku zastosowanie tego zabezpieczenia zosta\u0142o wymuszone na w\u0142a\u015bcicielach 100 najpopularniejszych bibliotek. Bardzo mo\u017cliwe, \u017ce w przysz\u0142o\u015bci liczba ta b\u0119dzie rosn\u0105\u0107.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":6093,"width":529,"height":407,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-17.jpeg\" alt=\"\" class=\"wp-image-6093\" width=\"529\" height=\"407\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/07\/download-17.jpeg\" alt=\"\" class=\"wp-image-6093\" width=\"529\" height=\"407\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>W minionym tygodniu Microsoft podzieli\u0142 si\u0119 ze spo\u0142eczno\u015bci\u0105 kolejn\u0105 paczk\u0105 nowo\u015bci dotycz\u0105cych bezpiecze\u0144stwa. Po pierwsze dwuetapowa autentykacja zosta\u0142a usprawniona, zw\u0142aszcza je\u015bli chodzi o narz\u0119dzia CLI. Po drugie na platformie pojawi\u0142a si\u0119 mo\u017cliwo\u015b\u0107 po\u0142\u0105czenia z kont Github oraz Twitter. Co prawda do tej pory mo\u017cna ju\u017c by\u0142o do swojego profilu doda\u0107 takie konta, ale od teraz b\u0119d\u0105 one mog\u0142y s\u0142u\u017cy\u0107 do przywracania has\u0142a i widnie\u0107 b\u0119d\u0105 jako zweryfikowane.<\/p>\n","innerContent":["\n<p>W minionym tygodniu Microsoft podzieli\u0142 si\u0119 ze spo\u0142eczno\u015bci\u0105 kolejn\u0105 paczk\u0105 nowo\u015bci dotycz\u0105cych bezpiecze\u0144stwa. Po pierwsze dwuetapowa autentykacja zosta\u0142a usprawniona, zw\u0142aszcza je\u015bli chodzi o narz\u0119dzia CLI. Po drugie na platformie pojawi\u0142a si\u0119 mo\u017cliwo\u015b\u0107 po\u0142\u0105czenia z kont Github oraz Twitter. Co prawda do tej pory mo\u017cna ju\u017c by\u0142o do swojego profilu doda\u0107 takie konta, ale od teraz b\u0119d\u0105 one mog\u0142y s\u0142u\u017cy\u0107 do przywracania has\u0142a i widnie\u0107 b\u0119d\u0105 jako zweryfikowane.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ostatnia trzecia nowo\u015b\u0107 jest zdecydowanie najciekawsza. Nowa komenda `npm audit signatures` umo\u017cliwia upewnienie si\u0119, \u017ce w naszych paczkach nikt nie grzeba\u0142 wprowadzaj\u0105c do nich podejrzany kod.<\/p>\n","innerContent":["\n<p>Ostatnia trzecia nowo\u015b\u0107 jest zdecydowanie najciekawsza. Nowa komenda `npm audit signatures` umo\u017cliwia upewnienie si\u0119, \u017ce w naszych paczkach nikt nie grzeba\u0142 wprowadzaj\u0105c do nich podejrzany kod.<\/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.blog\/2022-07-26-introducing-even-more-security-enhancements-to-npm\/\">https:\/\/github.blog\/2022-07-26-introducing-even-more-security-enhancements-to-npm\/<\/a><br><a href=\"https:\/\/github.blog\/2022-02-01-top-100-npm-package-maintainers-require-2fa-additional-security\/\">https:\/\/github.blog\/2022-02-01-top-100-npm-package-maintainers-require-2fa-additional-security\/<\/a><\/p>\n","innerContent":["\n<p><a href=\"https:\/\/github.blog\/2022-07-26-introducing-even-more-security-enhancements-to-npm\/\">https:\/\/github.blog\/2022-07-26-introducing-even-more-security-enhancements-to-npm\/<\/a><br><a href=\"https:\/\/github.blog\/2022-02-01-top-100-npm-package-maintainers-require-2fa-additional-security\/\">https:\/\/github.blog\/2022-02-01-top-100-npm-package-maintainers-require-2fa-additional-security\/<\/a><\/p>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9938","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=9938"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9938\/revisions"}],"predecessor-version":[{"id":10464,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9938\/revisions\/10464"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/8961"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=9938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=9938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=9938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}