<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sergei Butko</title>
    <description>The latest articles on DEV Community by Sergei Butko (@svbutko).</description>
    <link>https://dev.to/svbutko</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F456669%2F82394cfe-558f-46a0-bbac-5f1963851989.jpeg</url>
      <title>DEV Community: Sergei Butko</title>
      <link>https://dev.to/svbutko</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/svbutko"/>
    <language>en</language>
    <item>
      <title>React Native Template Strong</title>
      <dc:creator>Sergei Butko</dc:creator>
      <pubDate>Tue, 12 Oct 2021 10:43:21 +0000</pubDate>
      <link>https://dev.to/svbutko/react-native-template-strong-28h</link>
      <guid>https://dev.to/svbutko/react-native-template-strong-28h</guid>
      <description>&lt;h1&gt;
  
  
  Idea
&lt;/h1&gt;

&lt;p&gt;The primary idea is to have everything set up for quick start with components, modules and other stuff which many templates can't offer.&lt;/p&gt;

&lt;h1&gt;
  
  
  Core
&lt;/h1&gt;

&lt;p&gt;The core of this template is build around next dependencies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://reactnative.dev"&gt;React Native&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wix.github.io/react-native-navigation/docs/before-you-start/"&gt;React Native Navigation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://redux-toolkit.js.org"&gt;Redux ToolKit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.typescriptlang.org"&gt;TypeScript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Documentation
&lt;/h1&gt;

&lt;p&gt;One of the main differences between this and any other template is that it offers a documentation to each of its component, helper, module, etc.&lt;/p&gt;

&lt;h1&gt;
  
  
  Structure
&lt;/h1&gt;

&lt;p&gt;It offers more than just a simple template project it offers a guidance towards project, module, component creation.&lt;/p&gt;

&lt;p&gt;From the component to publishing an app, it covers each aspect of development.&lt;/p&gt;

&lt;h1&gt;
  
  
  Performance
&lt;/h1&gt;

&lt;p&gt;From the beginning it includes Hermes on both platforms, proguard is enabled, consoles are being removed and many other enhancements are used to provide the best performance.&lt;/p&gt;

&lt;h1&gt;
  
  
  Native-look-alike focus
&lt;/h1&gt;

&lt;p&gt;By using &lt;a href="https://wix.github.io/react-native-navigation/docs/before-you-start/"&gt;React Native Navigation&lt;/a&gt; and providing SF Symbols usage on iOS and Material Icons on Android this template strives to make apps look as native ones as possible.&lt;/p&gt;

&lt;p&gt;Native colors usage are also welcomed in this template and bring many useful helpers.&lt;/p&gt;

&lt;h1&gt;
  
  
  Components
&lt;/h1&gt;

&lt;p&gt;Set of created common components like buttons, text inputs, radio buttons, date and image pickers, permissions, toasts and more.&lt;/p&gt;

&lt;p&gt;Different helpers to help in your day-to-day cases.&lt;/p&gt;

&lt;p&gt;Hooks which are found useful throughout the development process.&lt;/p&gt;

&lt;h1&gt;
  
  
  Localization
&lt;/h1&gt;

&lt;p&gt;Localization is provided by &lt;a href="https://github.com/stefalda/ReactNativeLocalization"&gt;react-native-localization&lt;/a&gt; helps to keep all the strings in one place and maintain correct usage when adding new languages.&lt;/p&gt;

&lt;h1&gt;
  
  
  Tests
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://jestjs.io"&gt;Jest&lt;/a&gt; is used to test functions, methods and show test coverage of your project.&lt;/p&gt;

&lt;p&gt;End-to-End coverage provided by &lt;a href="https://github.com/wix/Detox"&gt;Detox&lt;/a&gt; will make it easier to test each scenario on emulators or real devices.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://storybook.js.org"&gt;Storybook&lt;/a&gt; can help to see what each component is capable of and show its properties and different edge cases. Or even contain whole screens.&lt;/p&gt;

&lt;p&gt;So it brings best of both TDD (Test Driven Development) and CDD (Component Driven Development).&lt;/p&gt;

&lt;h1&gt;
  
  
  Code quality
&lt;/h1&gt;

&lt;p&gt;ESLint with strict set of rules and plugins provided by &lt;a href="https://github.com/svbutko/eslint-config-react-strong"&gt;eslint-config-strong&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Additionally there are &lt;a href="https://github.com/svbutko/eslint-config-react-strong/blob/master/configs/prettierrc.md"&gt;Prettier&lt;/a&gt; and &lt;a href="https://github.com/svbutko/eslint-config-react-strong/blob/master/configs/tsconfig.md"&gt;TSConfig&lt;/a&gt; rules which will make it hard to create messy code.&lt;/p&gt;

&lt;p&gt;To prevent commits with errors &lt;a href="https://github.com/typicode/husky"&gt;Husky&lt;/a&gt; together with &lt;a href="https://github.com/okonet/lint-staged"&gt;lint-staged&lt;/a&gt; won't allow them to pass.&lt;/p&gt;

&lt;h1&gt;
  
  
  Environments
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://github.com/luggit/react-native-config"&gt;React Native Config&lt;/a&gt; bring you the ability, for example, to have different environments which will make it easier to work with different API endpoints and test your application.&lt;/p&gt;




&lt;p&gt;If you think that this template lacks something or would like to add something, feel free to do so by creating issues or participate in discussions.&lt;/p&gt;

&lt;p&gt;There are still many things which I'd like to add, check the roadmap and issues to see where it's heading.&lt;/p&gt;

&lt;p&gt;This and many more other things you can find in repository's documentation.&lt;/p&gt;

&lt;p&gt;I hope you will find it useful and you will use it in your next project! 🎉🏆🎉&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/svbutko"&gt;
        svbutko
      &lt;/a&gt; / &lt;a href="https://github.com/svbutko/react-native-template-strong"&gt;
        react-native-template-strong
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Quick, opinionated, documented and strong beginning for your next project. Template made with react-native-navigation, TypeScript and Redux.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>reactnative</category>
      <category>productivity</category>
      <category>typescript</category>
      <category>redux</category>
    </item>
    <item>
      <title>ESLint Config for React and React Native Development</title>
      <dc:creator>Sergei Butko</dc:creator>
      <pubDate>Tue, 31 Aug 2021 12:15:02 +0000</pubDate>
      <link>https://dev.to/svbutko/eslint-config-for-react-and-react-native-development-25m</link>
      <guid>https://dev.to/svbutko/eslint-config-for-react-and-react-native-development-25m</guid>
      <description>&lt;p&gt;Over the years of working with &lt;code&gt;React Native&lt;/code&gt; I've collected several plugins and rules which I use in my development and finally gathered it in a single package which is ready to be shared.&lt;/p&gt;

&lt;p&gt;I initially started with &lt;code&gt;TSLint&lt;/code&gt; but when it was announced that it was deprecated switched to &lt;code&gt;ESLint&lt;/code&gt;, first with &lt;code&gt;TSLint&lt;/code&gt; plugins to have smooth transition and then to completely abandon &lt;code&gt;TSLint&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I had issues with configs like &lt;code&gt;AirBnB&lt;/code&gt; and &lt;code&gt;Google&lt;/code&gt; because they didn't cover some things and were not strict enough, so I decided to do what suits me best rather than overriding things I needed, this also let me to check what rules &lt;code&gt;ESLint&lt;/code&gt; offers.&lt;/p&gt;

&lt;p&gt;Primarily this config is made for &lt;code&gt;React Native&lt;/code&gt; + &lt;code&gt;TypeScript&lt;/code&gt; development but it also works well with &lt;code&gt;React&lt;/code&gt; projects.&lt;/p&gt;

&lt;p&gt;Plugins which I use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/typescript-eslint/typescript-eslint"&gt;@typescript-eslint/eslint-plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/benmosher/eslint-plugin-import"&gt;eslint-plugin-import&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yannickcr/eslint-plugin-react"&gt;eslint-plugin-react&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/facebook/react/tree/main/packages/eslint-plugin-react-hooks"&gt;eslint-plugin-react-hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Intellicode/eslint-plugin-react-native"&gt;eslint-plugin-react-native&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are also &lt;a href="https://github.com/svbutko/eslint-config-react-strong/blob/master/configs/tsconfig.md"&gt;TSConfig&lt;/a&gt; and &lt;a href="https://github.com/svbutko/eslint-config-react-strong/blob/master/configs/prettierrc.md"&gt;Prettier&lt;/a&gt; config.&lt;/p&gt;

&lt;p&gt;If you are like me and want to have a strict set of rules, then give it a try!&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/svbutko"&gt;
        svbutko
      &lt;/a&gt; / &lt;a href="https://github.com/svbutko/eslint-config-react-strong"&gt;
        eslint-config-react-strong
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      ESLint strong (strict) config for React and React Native development.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>reactnative</category>
      <category>react</category>
      <category>eslint</category>
      <category>prettier</category>
    </item>
    <item>
      <title>React Native Image Resource Generator</title>
      <dc:creator>Sergei Butko</dc:creator>
      <pubDate>Thu, 26 Aug 2021 15:40:36 +0000</pubDate>
      <link>https://dev.to/svbutko/react-native-image-resource-generator-m14</link>
      <guid>https://dev.to/svbutko/react-native-image-resource-generator-m14</guid>
      <description>&lt;p&gt;Nearly every single react-native application uses images and icons to make them look more appealing to the end user or help them use it by providing additional information.&lt;/p&gt;

&lt;p&gt;Since react-native became publicly available the process of adding these images to apps didn't change much and while working with different people and apps there've been issues, problems and mild inconveniences about which I'd like to present here and most importantly give a solution to them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Issues, problems and motivation
&lt;/h2&gt;

&lt;h4&gt;
  
  
  File existence
&lt;/h4&gt;

&lt;p&gt;In order to use images and icons in code they first have to be imported. The most common way is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Image&lt;/span&gt; &lt;span class="nx"&gt;source&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./my-icon.png&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;By using &lt;em&gt;require&lt;/em&gt; we are manually setting the path to our file with little IDE support. And without any 3rd party plugins IDE can't guarantee whether the file exists or not, there won't be any error or at least warning to indicate that file doesn't exist. Like the file can be deleted, or you accidentally added some symbol into the require path. You will never know about it until you launch the app and open the screen where this icon is used.&lt;/p&gt;


&lt;h4&gt;
  
  
  Manual typing
&lt;/h4&gt;

&lt;p&gt;As mentioned before:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;By using &lt;em&gt;require&lt;/em&gt; we are &lt;strong&gt;manually&lt;/strong&gt; setting the path to our file...&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If it's 1-5 icons it might be fine but if there are more than 10 or 50 or even 100 (there are lots of different cases). And always manually typing paths is tedious and takes your valuable time.&lt;/p&gt;


&lt;h4&gt;
  
  
  Icon replacement/removal
&lt;/h4&gt;

&lt;p&gt;Possibly a single icon can be used in different components/screens and for some reasons we have to remove it and replace it with a new one. In this case we have to search for every usage of this icon in our application and replace it with a new one, although with search-and-replacement it's a bit easier but still takes time.&lt;/p&gt;


&lt;h4&gt;
  
  
  Icon names
&lt;/h4&gt;

&lt;p&gt;Not everybody create icons and UI itself, most of the time a designer does this job and while drawing and finishing icons they receive names and sometimes a person can write things like:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bell icon.png
$.png
icon,t.png
icon's.png
icon".png
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;or there might be even non-Latin alphabet letters:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;звонок.png
zurück.png
鐘.png
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Not everybody do things like this but it's still possible and after seeing this one can only introduce coding/naming conventions to a designer and politely ask him to change this or in case if it's impossible to manually change it by yourself.&lt;/p&gt;


&lt;h2&gt;
  
  
  Solution
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/svbutko/react-native-image-resource-generator"&gt;&lt;strong&gt;react-native-image-resource-generator&lt;/strong&gt;&lt;/a&gt; was developed to overcome all of these problems, add structure, save time and nerves.&lt;/p&gt;

&lt;p&gt;It's a simple CLI tool which generates code-friendly image URI source constants to use in projects.&lt;/p&gt;

&lt;p&gt;Create a folder and put all of your images there (&lt;em&gt;sub-folders are supported too&lt;/em&gt;), e.g.:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;project
│   package.json
│   src  
│
└───resources
│   │   fonts
│   │   settings
│   │
│   └───images
│       │   arrow_down.png
│       │   arrow_down@2x.png
│       │   arrow_down@3x.png
│       │   arrow_up.png
│       │   ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Add script to your &lt;code&gt;package.json&lt;/code&gt; scripts or type into terminal:&lt;/p&gt;

&lt;p&gt;JavaScript&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;img-res-gen --dir=resources/images --out=src/common/ImageResources.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;TypeScript&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;img-res-gen --dir=resources/images --out=src/common/ImageResources.g.ts --ts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The result of the command will create a file with static image URI sources, which will look something similar to this:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="cm"&gt;/* eslint-disable */&lt;/span&gt;
&lt;span class="cm"&gt;/* tslint:disable */&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;ImageURISource&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-native&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;ImageResources&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;readonly&lt;/span&gt; &lt;span class="nx"&gt;account&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ImageURISource&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;../../resources/images/account.png&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;readonly&lt;/span&gt; &lt;span class="nx"&gt;arrow_down&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ImageURISource&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;../../resources/images/arrow_down.png&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;readonly&lt;/span&gt; &lt;span class="nx"&gt;arrow_up&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ImageURISource&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;../../resources/images/arrow_up.png&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;readonly&lt;/span&gt; &lt;span class="nx"&gt;avatar&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ImageURISource&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;../../resources/images/avatar.png&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;readonly&lt;/span&gt; &lt;span class="nx"&gt;back&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ImageURISource&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;../../resources/images/back.png&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;readonly&lt;/span&gt; &lt;span class="nx"&gt;bank&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ImageURISource&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;../../resources/images/bank.png&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;readonly&lt;/span&gt; &lt;span class="nx"&gt;bell&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ImageURISource&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;../../resources/images/bell.png&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;After this use it anywhere you need:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Image&lt;/span&gt; &lt;span class="nx"&gt;source&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;ImageResources&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;account&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;styles&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;You don't need to manually write requires anymore and stop worrying about file existence and path names.&lt;/p&gt;

&lt;p&gt;If you added or removed images, simply re-run the script to regenerate the file. IDE will give you a list of errors of used constants which don't exist anymore and you can simply replace them.&lt;/p&gt;

&lt;p&gt;As mentioned before it works with JavaScript and with TypeScript.&lt;/p&gt;

&lt;p&gt;To handle non-Latin letters and other symbols and follow naming conventions, the tool uses &lt;a href="https://github.com/dzcpy/transliteration"&gt;transliteration&lt;/a&gt; under the hood and transliterates file names.&lt;/p&gt;



&lt;p&gt;Hope you will use it in your projects and it will serve you well. And if you see any issues or would like to propose changes, feel free to create PRs!&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/svbutko"&gt;
        svbutko
      &lt;/a&gt; / &lt;a href="https://github.com/svbutko/react-native-image-resource-generator"&gt;
        react-native-image-resource-generator
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      CLI tool to generate code-friendly image URI source constants for React Native
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>reactnative</category>
      <category>productivity</category>
    </item>
    <item>
      <title>React Native resources to learn and get inspiration</title>
      <dc:creator>Sergei Butko</dc:creator>
      <pubDate>Wed, 07 Jul 2021 14:21:02 +0000</pubDate>
      <link>https://dev.to/svbutko/react-native-resources-to-learn-and-get-inspiration-1845</link>
      <guid>https://dev.to/svbutko/react-native-resources-to-learn-and-get-inspiration-1845</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclaimer: I'm not promoting or affiliated with any community, resource or person, this is a list of resources which I gathered through my development career.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This article will bring benefits to everyone, no matter what level of knowledge and experience one has with React Native.&lt;/p&gt;

&lt;p&gt;For newcomers, it will give a solid list of information needed in order to 'Get Started' and continue growing together with community.&lt;/p&gt;

&lt;p&gt;For people who already developed their apps and know things around, this might be a source of something never stumbled upon before and could bring some thoughts, ideas or daily dose of new things and inspiration. &lt;/p&gt;

&lt;p&gt;Anyway, here's the list:&lt;/p&gt;

&lt;h2&gt;
  
  
  Basics
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://reactnative.dev"&gt;reactnative.dev&lt;/a&gt; - it's the starting point which sometimes is being neglected. Check its pages and follow its blog page and it'll solve many of your questions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://material.io"&gt;Material IO&lt;/a&gt; - Android design system website where you can also find lots of information about Material foundation, design, components and guidelines. Specifically I'd like to mention the &lt;a href="https://material.io/resources/color/"&gt;color tool&lt;/a&gt; together with the &lt;a href="https://material.io/design/color/the-color-system.html#color-theme-creation"&gt;color system&lt;/a&gt; and &lt;a href="https://material.io/design/communication/confirmation-acknowledgement.html#usage"&gt;communication&lt;/a&gt;(which is useful anywhere).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/"&gt;Human Interface Guidelines&lt;/a&gt; - iOS design guidelines with explanations and examples from Apple.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Language
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://javascript.info"&gt;JavaScript Info&lt;/a&gt; - great JavaScript website with simple, but detailed explanations with examples and tasks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.typescriptlang.org/docs/handbook/intro.html"&gt;TypeScript Handbook&lt;/a&gt; - awesome handbook which is always up-to-date with the latest features.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.30secondsofcode.org"&gt;30 Seconds Of Code&lt;/a&gt; - collection of CSS, JS, React Hooks and Components, cheatsheets and articles.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/denysdovhan/wtfjs"&gt;WTF JS&lt;/a&gt; - collection of tricky JavaScript parts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/ryanmcdermott/clean-code-javascript"&gt;Clean Code JavaScript&lt;/a&gt; - Software engineering principles, from Robert C. Martin's book Clean Code, adapted for JavaScript.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Design
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.refactoringui.com"&gt;Refactoring UI&lt;/a&gt; - design articles and tips from Adam Wathan and Steve Schoger,p primarily based around web development but many to those apply to the mobile development too.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dribbble.com"&gt;Dribbble&lt;/a&gt; - self-promotion and social networking platform for designers and creatives. Great place to gain some inspiration.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.figma.com/community/explore"&gt;Figma Community&lt;/a&gt; - explore projects, mockups, templates and more.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://design.facebook.com/toolsandresources"&gt;Facebook Design Tools&lt;/a&gt; - tools and resources to help with the design process from Facebook.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Open Source
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://lab.github.com"&gt;GitHub Learning Lab&lt;/a&gt; - learn what GitHub offers with real projects, tips, instructions and feedback. There are also small courses for different technologies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://opensource.guide"&gt;Open Source Guide&lt;/a&gt; - if you've never contributed anything and want to then this will help to launch and grow your project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://training.github.com/downloads/github-git-cheat-sheet/"&gt;Git Cheat Sheet&lt;/a&gt; - small cheat sheet of the most widely used git commands.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Learning &amp;amp; Discovering
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://reactnative.cc"&gt;React Native Newsletter&lt;/a&gt; - free bi-weekly summary of React Native news, articles, libraries, apps, and more!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://reactnativenow.com"&gt;React Native Now&lt;/a&gt; - hand picked React Native news, tutorials, libraries, articles, and videos compiled from around the web and bring it straight to your inbox.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.reddit.com/r/reactnative/"&gt;r/reactnative&lt;/a&gt; - community for learning and developing native mobile applications using React Native.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.reddit.com/r/destroymyapp/"&gt;r/destroymyapp&lt;/a&gt; - recently created community where people post their apps to receive feedback.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://reactnativeradio.com"&gt;React Native Radio&lt;/a&gt; - podcast dedicated specifically for React Native.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.reactiflux.com"&gt;Reactiflux&lt;/a&gt; - great chat community.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Twitter Accounts
&lt;/h2&gt;

&lt;p&gt;These people share their own experience almost on a daily basis and I'm really thankful for it, I learned a lot of new stuff from reading and using their content:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/janicduplessis"&gt;@janicduplessis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WixEng"&gt;@WixEng&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jamonholmgren"&gt;@jamonholmgren&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/mweststrate"&gt;@mweststrate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/ReactNativeBlog"&gt;@ReactNativeBlog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/callstackio"&gt;@callstackio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/swmansion"&gt;@swmansion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/notbrent"&gt;@notbrent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Baconbrix"&gt;@Baconbrix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/kentcdodds"&gt;@kentcdodds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/vonovak"&gt;@vonovak&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Kelset"&gt;@Kelset&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/browniefed"&gt;@browniefed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/grabbou"&gt;@grabbou&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/satya164"&gt;@satya164&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/wcandillon"&gt;@wcandillon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/acemarke"&gt;@acemarke&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/brian_d_vaughn"&gt;@brian_d_vaughn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dan_abramov"&gt;@dan_abramov&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Other
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://carbon.now.sh"&gt;Carbon&lt;/a&gt; - create and share beautiful images of your source code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://squoosh.app"&gt;Squoosh&lt;/a&gt; - compress and compare images with different codecs, right in your browser&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://regex101.com"&gt;Regex 101&lt;/a&gt; - regular expression tester with syntax highlighting, explanation and cheat sheet.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;What are your daily React Native related resources?&lt;/p&gt;

&lt;p&gt;Happy codding🎉&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>mobile</category>
      <category>productivity</category>
    </item>
    <item>
      <title>WebStorm plugins to boost your productivity</title>
      <dc:creator>Sergei Butko</dc:creator>
      <pubDate>Mon, 05 Jul 2021 14:17:35 +0000</pubDate>
      <link>https://dev.to/svbutko/webstorm-plugins-to-boost-your-productivity-nac</link>
      <guid>https://dev.to/svbutko/webstorm-plugins-to-boost-your-productivity-nac</guid>
      <description>&lt;p&gt;There are a lot of blog posts about Visual Studio Code and its extensions and WebStorm doesn't get this much attention.&lt;/p&gt;

&lt;p&gt;As a React Native/React developer who uses WebStorm daily I have a list of plugins which I'm using, these are common usage plugins and not bound to any specific framework or technology.&lt;/p&gt;

&lt;p&gt;They will help you increase your development speed and productivity by solving day to day issues/questions with IDE no matter whether you're familiar with it or not.&lt;/p&gt;

&lt;p&gt;These plugins also work with other JetBrains products.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I am not affiliated with JetBrains or any plugin at all.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Key Promoter X
&lt;/h2&gt;

&lt;p&gt;Probably the most useful one, especially for those who start using WebStorm.&lt;/p&gt;

&lt;p&gt;Ever wondered what is the shortcut for &lt;em&gt;some_feature&lt;/em&gt; while using GUI and navigating through several layers of menus using mouse?&lt;/p&gt;

&lt;p&gt;Well, this plugin serves as a helper for this kind of situations by showing toast notifications with shortcuts/hotkeys when you click on something using your mouse.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tKwmdaeS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://plugins.jetbrains.com/files/9792/screenshot_17105.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tKwmdaeS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://plugins.jetbrains.com/files/9792/screenshot_17105.png" alt="KeyPromoterX" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Besides that it gathers all mouse clicked commands with shortcuts and how often you use them, so that you could analyse on what command you spend your clicks the most.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://plugins.jetbrains.com/plugin/9792-key-promoter-x"&gt;Marketplace link&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  2. CodeGlance
&lt;/h2&gt;

&lt;p&gt;Those who are familiar with Sublime will like this one.&lt;/p&gt;

&lt;p&gt;When you have certain place of a file you need to navigate to and you sort of know where this place is and you'd like to make it quickly and (worst case scenario) the file has a lot of lines, you will be scrolling to this place or trying to find a closest constant/function/method name you remember near that place.&lt;/p&gt;

&lt;p&gt;Or you can use CodeGlance. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DUZqtlGw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://plugins.jetbrains.com/files/7275/screenshot_16821.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DUZqtlGw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://plugins.jetbrains.com/files/7275/screenshot_16821.png" alt="CodeGlance" width="800" height="435"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;It displays a zoomed out overview or minimap. The minimap allows for quick scrolling letting you jump straight to sections of code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://plugins.jetbrains.com/plugin/7275-codeglance"&gt;Marketplace link&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  3. String Manipulation
&lt;/h2&gt;

&lt;p&gt;Very powerful ... 🤔 ... string manipulator 🤷&lt;/p&gt;

&lt;p&gt;The name says it all, to be more precise it does: case switching, sorting, filtering, incrementing, aligning to columns, grepping, escaping, encoding...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OkfhSpQS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://plugins.jetbrains.com/files/2162/screenshot_16015.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OkfhSpQS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://plugins.jetbrains.com/files/2162/screenshot_16015.png" alt="StringManipulation" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://plugins.jetbrains.com/plugin/2162-string-manipulation"&gt;Marketplace link&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  4. UUID Generator
&lt;/h2&gt;

&lt;p&gt;Not so frequent in use as previous ones but good to have for some occasions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ThOW3pO2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://plugins.jetbrains.com/files/8320/screenshot_15822.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ThOW3pO2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://plugins.jetbrains.com/files/8320/screenshot_15822.png" alt="UUIDGenerator" width="800" height="116"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;UUID (Universally Unique Identifier), ULID (Universally Unique Lexicographically Sortable Identifier) and CUID (Collision Resistant Unique Identifier) generator, and it also completes several actions on them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://plugins.jetbrains.com/plugin/8320-uuid-generator"&gt;Marketplace link&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  5. IDE Features Trainer
&lt;/h2&gt;

&lt;p&gt;This is a bundled plugin but not many know about its existence.&lt;/p&gt;

&lt;p&gt;IDE is a tool where you spend a good portion of your time and knowing its capabilities gives only benefits, it would be wise to get to know it properly, that's why JetBrains developed their own plugin/tool to help people to discover its features.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r5xBgIVT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://plugins.jetbrains.com/files/8554/screenshot_22870.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r5xBgIVT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://plugins.jetbrains.com/files/8554/screenshot_22870.png" alt="IDEFeaturesTrainer" width="800" height="572"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3g8Sodb7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://plugins.jetbrains.com/files/8554/screenshot_22871.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3g8Sodb7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://plugins.jetbrains.com/files/8554/screenshot_22871.png" alt="IDEFeaturesTrainer" width="800" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://plugins.jetbrains.com/plugin/8554-ide-features-trainer"&gt;Marketplace link&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;What are your favourite plugins you recommend to use?&lt;/p&gt;

&lt;p&gt;Happy codding🎉&lt;/p&gt;

</description>
      <category>webstorm</category>
      <category>idea</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
