<?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: Nicolás Omar González Passerino</title>
    <description>The latest articles on DEV Community by Nicolás Omar González Passerino (@nicolasomar).</description>
    <link>https://dev.to/nicolasomar</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%2F370335%2F4f0db1c5-19a2-4591-bfaf-b4e39c0e3928.jpg</url>
      <title>DEV Community: Nicolás Omar González Passerino</title>
      <link>https://dev.to/nicolasomar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nicolasomar"/>
    <language>en</language>
    <item>
      <title>#2 How I picked the right tool for the right job</title>
      <dc:creator>Nicolás Omar González Passerino</dc:creator>
      <pubDate>Tue, 28 Jan 2025 12:40:00 +0000</pubDate>
      <link>https://dev.to/nicolasomar/how-i-picked-the-right-tool-for-the-right-job-488j</link>
      <guid>https://dev.to/nicolasomar/how-i-picked-the-right-tool-for-the-right-job-488j</guid>
      <description>&lt;p&gt;Hello there! I’m back, so let’s pick it up where we left off.&lt;br&gt;
After looking at the steps that helped me structure the project, the story continues with another interesting question that sets the foundation for any new project.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;What will the tech stack be?&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;At first, I wanted to go directly to the component’s library and look at other vital parts of what we can consider a stack… but I never considered how it is composed.&lt;br&gt;
So, I put my experience into practice and categorized the stack into the following list, plus some more questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;u&gt;Main Libraries:&lt;/u&gt; Would I use Angular, React, Vue, Svelte, Web Components, or else? &lt;em&gt;I included TypeScript without hesitation because it was the main reason I started the project&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Unit Tests:&lt;/u&gt; I know they can be a bummer, but how can you say your code does what you say it does without tests? They also help you see scenarios you didn't know when you coded &lt;em&gt;and improve your functionality&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;UI and Styles:&lt;/u&gt; Which projects have good-looking components? Do they need a dependency like JQuery to work at its fullest? How about its licenses?&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Component Visualization:&lt;/u&gt; A tool like Storybook provides a sandbox for any interested person, but is there more like it?&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Package Manager:&lt;/u&gt; Npm is our primary source for libraries and tools, but can I publish elsewhere besides its alternatives? &lt;em&gt;which I had in mind&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Module Bundler:&lt;/u&gt; Understanding how bundlers work can be overwhelming in 2023, so it needed its own unique category.&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Code Styling and Revision:&lt;/u&gt; You might think your code is perfect and error-free, but even the best of us need someone to point out when mistakes are about to happen &lt;em&gt;even before we commit them&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After knowing what to search for, I started investigating and picking possible configurations that would ease my future work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;u&gt;React&lt;/u&gt; and &lt;u&gt;Typescript&lt;/u&gt; as the main libraries. React has been my primary tool since 2016, and this project will provide a more in-depth experience.&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Storybook&lt;/u&gt; as a visualizer because I’d learned to use it previously. Also, I watched some examples of how it could be extended for better documentation &lt;em&gt;while the person was experiencing it&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;On the unit testing side, &lt;u&gt;Jest&lt;/u&gt; and &lt;u&gt;React Testing Library&lt;/u&gt; because I’d learned them before but never extended their use; a similar case to the one mentioned before.&lt;/li&gt;
&lt;li&gt;The code styling combo that worked like a charm in my previous projects:

&lt;ul&gt;
&lt;li&gt;
&lt;u&gt;ESLint&lt;/u&gt; to review Javascript and Typescript files for basic errors; &lt;em&gt;even tiny, these could happen&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Prettier&lt;/u&gt; to adjust my codebase to a familiar style standard&lt;/li&gt;
&lt;li&gt;
&lt;u&gt;Lint-staged&lt;/u&gt; and &lt;u&gt;Husky&lt;/u&gt; to maintain tools usage as git flow gateways&lt;/li&gt;
&lt;li&gt;For example, if a TS file had not used imports, it was marked as a fail and stopped a commit; or if the UT suite ran with errors before pushing, stop the process until you can run it correctly.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Just as a comment, this logic was thought to be implemented in CD/CI pipelines for a long-term solution&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Regarding the package manager, I checked other registries like &lt;a href="https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry" rel="noopener noreferrer"&gt;Github’s npm&lt;/a&gt;, which I considered a good option, but I preferred to work on the &lt;a href="https://npmjs.com/" rel="noopener noreferrer"&gt;original npm site&lt;/a&gt; and focus my work there.&lt;/li&gt;

&lt;li&gt;At this point, things were more difficult ‘cause I knew only a handful of options besides Bootstrap. My first main option was Semantic UI, but at that point, I was using JQuery as a dependency &lt;em&gt;with its internal JS logic&lt;/em&gt;, so I kept looking for more alternatives until I found &lt;u&gt;Bulma&lt;/u&gt;. This simple-to-install and well-documented set of CSS components had no JS dependencies, making them perfect for expanding their usage in a React version.&lt;/li&gt;

&lt;li&gt;Finally, I looked for several builders, such as Webpack, Vite, Parcer, and Rollup, and for analysis &lt;a href="https://www.youtube.com/watch?v=5IG4UmULyoA" rel="noopener noreferrer"&gt;like this fireship video&lt;/a&gt; and &lt;a href="https://www.youtube.com/watch?v=pDjUOQ8yL88" rel="noopener noreferrer"&gt;other articles&lt;/a&gt;.
After the reviews, I went to Rollup because:

&lt;ul&gt;
&lt;li&gt;It’s popular and has an excellent plugin ecosystem.&lt;/li&gt;
&lt;li&gt;VIte’s engine is based on Rollup.&lt;/li&gt;
&lt;li&gt;It’s easier to configure than Webpack; &lt;em&gt;bad experiences when working with Angular&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;If you are interested in how I expanded on these questions, considered possible alternatives, and chose the answers mentioned, it’s all registered in &lt;a href="https://github.com/NicolasOmar/reactive-bulma/issues/2" rel="noopener noreferrer"&gt;Ticket #2&lt;/a&gt;.&lt;br&gt;
Now, all the pieces are together, and I’ve the necessary information to make them work as one. In the following article, I’ll explain how it happened.&lt;/p&gt;

&lt;p&gt;See you in the next episode. &lt;u&gt;Nice tools; now mix them&lt;/u&gt;.&lt;/p&gt;

</description>
      <category>react</category>
      <category>typescript</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
    <item>
      <title>#1 How I started building the idea 📒</title>
      <dc:creator>Nicolás Omar González Passerino</dc:creator>
      <pubDate>Fri, 18 Oct 2024 14:07:00 +0000</pubDate>
      <link>https://dev.to/nicolasomar/1-how-i-started-building-the-idea-2fe1</link>
      <guid>https://dev.to/nicolasomar/1-how-i-started-building-the-idea-2fe1</guid>
      <description>&lt;p&gt;Hello there! I’m Nicolás, a front-end developer from Argentina. I’ve been in the industry since 2016, and this is the first article in a series that I decided to write after working on a personal open-source project in 2023. There’s definitely been a learning curve, and I’d like to share my experience with you on how to create a component library based on a CSS framework.&lt;/p&gt;

&lt;p&gt;Before starting with the good tech stuff (like integrating with npm, automating version control through git commits, and structuring the component hierarchy), let’s first talk about how the project came to life from the very beginning. For that, I need to answer two key questions.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;u&gt;Why did I choose a component library?&lt;/u&gt;
&lt;/h3&gt;

&lt;p&gt;It all started after completing a Typescript course at the end of 2022; at that moment, I was excited because I got a new course certificate to add to my LinkedIn and a public repo with my comments. However, I wanted to put those lessons into practice. Unfortunately, the client code at my job was too complex for a straightforward TypeScript implementation, so I decided to take on a side project. The one I found most interesting was a component library. I had worked on a few client projects before and wanted to dive deeper into how other public alternatives maintain their libraries (like Material UI, AntDesign, and Bootstrap, to name a few).&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;u&gt;How did I begin organizing the project?&lt;/u&gt;
&lt;/h3&gt;

&lt;p&gt;Once the objective had been set, these were the steps I followed&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Named the library Reactive Bulma’s and created the repo.&lt;/li&gt;
&lt;li&gt;Created the first issues in its repo.&lt;/li&gt;
&lt;li&gt;Created a Project (a GitHub feature that works as a Jira alternative) to organize all current and future issues.&lt;/li&gt;
&lt;li&gt;Looked for possible tech stacks and compared each case until finding the best fit (&lt;a href="https://github.com/NicolasOmar/reactive-bulma/issues/2" rel="noopener noreferrer"&gt;reference, Ticket #2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Applied the same concept to third-party tools for code improvement (&lt;a href="https://github.com/NicolasOmar/reactive-bulma/issues/4" rel="noopener noreferrer"&gt;reference, Ticket #4&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Investigated all possible components to be migrated according to the stack I chose, which led to the creation of milestones and the roadmap (&lt;a href="https://github.com/NicolasOmar/reactive-bulma/issues/1" rel="noopener noreferrer"&gt;reference, Ticket #1&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Added the first folder structure and most basic libraries to the repo's first commits (&lt;a href="https://github.com/NicolasOmar/reactive-bulma/issues/5" rel="noopener noreferrer"&gt;reference, Ticket #5&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;And lastly:

&lt;ul&gt;
&lt;li&gt;Wrote the essential documentation for the repo.&lt;/li&gt;
&lt;li&gt;Established a git flow approach.&lt;/li&gt;
&lt;li&gt;Created GitHub issue templates to avoid repetitive actions.&lt;/li&gt;
&lt;li&gt;Added tags for issues related to specific topics (like research, bugs, documentation, or feature implementation).&lt;/li&gt;
&lt;li&gt;(&lt;a href="https://github.com/NicolasOmar/reactive-bulma/issues/6" rel="noopener noreferrer"&gt;reference, Ticket #6&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The steps above helped me focus my work and create a structure to organize and document all the changes I would encounter, which I’ll discuss in the upcoming articles.&lt;/p&gt;

&lt;p&gt;See you in the next episode: &lt;em&gt;Pick the right tool for the right job&lt;/em&gt;.&lt;/p&gt;

</description>
      <category>react</category>
      <category>typescript</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I want to build a solid CI with GitHub Actions</title>
      <dc:creator>Nicolás Omar González Passerino</dc:creator>
      <pubDate>Mon, 05 Dec 2022 13:30:00 +0000</pubDate>
      <link>https://dev.to/nicolasomar/i-want-to-build-a-solid-ci-with-github-action-2c88</link>
      <guid>https://dev.to/nicolasomar/i-want-to-build-a-solid-ci-with-github-action-2c88</guid>
      <description>&lt;p&gt;Hello you. Thank you for taking the time to look at my post.&lt;/p&gt;

&lt;p&gt;First, let me give you some context. I am currently investigating some topics to apply to some future projects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some web applications (mostly javascript) as a team and my own&lt;/li&gt;
&lt;li&gt;A component library to based on a UI library (like Bulma, for example)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From those investigations, I would like to learn about CI/CD steps to integrate with my future PRs. Some of the steps I am planning to add are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unit testing (with Codecov)&lt;/li&gt;
&lt;li&gt;DAST/SAST scanning (I don't have any idea in mind)&lt;/li&gt;
&lt;li&gt;Code quality analysis (I am looking at Codacy, but never used it)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My idea is to use GitHub repositories to create the issues, link them to the repo's PRs and add the review steps with GitHub Actions&lt;/p&gt;

&lt;p&gt;So, I would like to start the discussion with this questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;¿Do you think there are more steps to have in mind to be included in PR analysis?&lt;/li&gt;
&lt;li&gt;¿Do you know any tools to help this process?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thank you again for your time and help.&lt;/p&gt;

</description>
      <category>github</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Heroku, stages and idle time</title>
      <dc:creator>Nicolás Omar González Passerino</dc:creator>
      <pubDate>Fri, 18 Dec 2020 18:33:01 +0000</pubDate>
      <link>https://dev.to/nicolasomar/heroku-stages-and-idle-time-2hh6</link>
      <guid>https://dev.to/nicolasomar/heroku-stages-and-idle-time-2hh6</guid>
      <description>&lt;p&gt;This year I wanted to understand how to deploy my own apps and improve that path by adding improvements like code coverage upload through jobs or how to use different stages.&lt;br&gt;
Now I've learned how to work with services like heroku and Github Pages/Actions, I come to you with this problem:&lt;/p&gt;

&lt;p&gt;These days I have a couple of apps for demo purposes loaded on Heroku using free dynos/plan, these apps are working for my beta and production branches in separated apps&lt;br&gt;
Thanks to the free dynos I don't have any cost, but this comes with the cost of idle time after the app is not been used for 20 minutes.&lt;br&gt;
So far I have founded that each app (or dyno) has to be upgraded to be 24/7 for USD 7/month (thing that I approve, but it gets expensive in my country if I have to mantain several apps with that service)&lt;/p&gt;

&lt;p&gt;Therefore, I need your advice about alternatives to heroku or a way of mix services (like use Heroku for the beta version and GitHub Pages for prod).&lt;/p&gt;

&lt;p&gt;Any hint or idea is welcome :D&lt;br&gt;
Thank you for your help.&lt;/p&gt;

</description>
      <category>help</category>
      <category>devops</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How do you deal with burnout?</title>
      <dc:creator>Nicolás Omar González Passerino</dc:creator>
      <pubDate>Mon, 16 Nov 2020 00:29:09 +0000</pubDate>
      <link>https://dev.to/nicolasomar/how-do-you-deal-with-burnout-42ci</link>
      <guid>https://dev.to/nicolasomar/how-do-you-deal-with-burnout-42ci</guid>
      <description>&lt;p&gt;Thanks to DEV, I have found a lot of great articles about new features, tools, and libraries, as well as questions about life aspects of a developer, which helps me to become a sharper dev and better professional every day.&lt;/p&gt;

&lt;p&gt;Today, I want to publish my first article after I began my career almost five years ago with a situation that may have happened to many of you (even before this time of pandemic).&lt;br&gt;
This year I started learning new things to improve my toolbox as front-end. But in recent months, I didn't have time to apply them because I have had other things to do in my free time (chores, work overtime), and like someone who often challenges himself, I started to feel sad and overwhelmed.&lt;/p&gt;

&lt;p&gt;Nowadays, I have found a way to reach a balance with my demands. First, I list all my goals, dividing them into small tasks, and doing one or two a day, so I can focus on what I want and have a balance with my life.&lt;/p&gt;

&lt;p&gt;Do you experience this feeling often?&lt;br&gt;
If you do, what do you do to achieve that balance?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>watercooler</category>
    </item>
  </channel>
</rss>
