<?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: Laureline Paris</title>
    <description>The latest articles on DEV Community by Laureline Paris (@lowla).</description>
    <link>https://dev.to/lowla</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%2F74844%2Fa5172cf0-7bc9-4305-b163-17f5a89eeb6a.jpg</url>
      <title>DEV Community: Laureline Paris</title>
      <link>https://dev.to/lowla</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lowla"/>
    <language>en</language>
    <item>
      <title>Hacktoberfest 2025 - Automating reviews</title>
      <dc:creator>Laureline Paris</dc:creator>
      <pubDate>Fri, 31 Oct 2025 16:50:18 +0000</pubDate>
      <link>https://dev.to/lowla/hacktoberfest-2025-9fj</link>
      <guid>https://dev.to/lowla/hacktoberfest-2025-9fj</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrsmnl84zrsu8khdmm6r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrsmnl84zrsu8khdmm6r.png" alt="Contribution Summary" width="800" height="316"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest2025"&gt;2025 Hacktoberfest Writing Challenge&lt;/a&gt;: Contribution Chronicles.&lt;/em&gt;&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;" ✨ Another year, another Hacktoberfest community event and more involvements! ✨ "&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hacktoberfest is all about &lt;strong&gt;discovery&lt;/strong&gt;, &lt;strong&gt;community&lt;/strong&gt;, and contributing to open source — but it’s also about &lt;strong&gt;personal growth&lt;/strong&gt; and challenging yourself.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔸 Context
&lt;/h3&gt;

&lt;p&gt;As in previous years, I'm participating in &lt;strong&gt;Hacktoberfest 2025&lt;/strong&gt; 🙌 and once again pushed myself to grow!&lt;/p&gt;

&lt;p&gt;I continue contributing to &lt;a href="https://github.com/zero-to-mastery/Animation-Nation" rel="noopener noreferrer"&gt;Animation Nation&lt;/a&gt; as both a &lt;strong&gt;maintainer&lt;/strong&gt; and &lt;strong&gt;contributor&lt;/strong&gt;, with a growing focus on &lt;strong&gt;creating meaningful impact&lt;/strong&gt; within the project.&lt;/p&gt;

&lt;p&gt;The repo focuses on collecting &lt;strong&gt;CSS animations&lt;/strong&gt; — an awesome opportunity for contributors to practice styling and animation skills every year.&lt;/p&gt;

&lt;p&gt;While the main purpose is animation submissions, we also occasionally welcome meaningful improvements. As maintainers, we sometimes go beyond animation contributions to help the project evolve.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔸 Motivations
&lt;/h3&gt;

&lt;p&gt;I care deeply about &lt;strong&gt;developer&lt;/strong&gt;, &lt;strong&gt;contributor&lt;/strong&gt;, and &lt;strong&gt;user experiences&lt;/strong&gt;, &lt;br&gt;
and I've become more &lt;strong&gt;impact-driven&lt;/strong&gt; over time — so this year&lt;br&gt;
I focused on &lt;strong&gt;improving the review process&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;How could I enhance the Animation Nation contributor experience&lt;br&gt;
 based on my experience as a maintainer?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Through years of reviewing PRs, I noticed repetitive tasks and patterns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Maintainers often have to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;manually provide &lt;strong&gt;the same feedback&lt;/strong&gt; across PRs&lt;/li&gt;
&lt;li&gt;manually add labels for communication \
(including &lt;code&gt;hacktoberfest-accepted&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;I also observed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;contributors sometimes &lt;strong&gt;don’t revisit their PRs&lt;/strong&gt; (even when pinged)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;asynchronous feedback&lt;/strong&gt; can cause disengagement, 
especially for new contributors&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;These insights naturally led me to automate &lt;br&gt;
the review process — what I call &lt;strong&gt;pre-review&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;reduces maintainer workload&lt;/strong&gt; by automating labelling &amp;amp; detection of PR readiness&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;improves contributor experience&lt;/strong&gt; with faster feedback and more autonomy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, I created a &lt;strong&gt;pre-review bot&lt;/strong&gt; using GitHub Actions, shell scripting, and JavaScript to automate a review for a PR:  &lt;/p&gt;

&lt;p&gt;                                                        ➡️   &lt;strong&gt;&lt;a href="https://github.com/zero-to-mastery/Animation-Nation/pull/3045" rel="noopener noreferrer"&gt;Pre-Review PR&lt;/a&gt;&lt;/strong&gt;   ⬅️&lt;/p&gt;




&lt;p&gt;Contribution files – Final Evolved Structure&lt;br&gt;
|__ &lt;a href="https://github.com/zero-to-mastery/Animation-Nation/blob/master/.github/workflows/pre-review.yml" rel="noopener noreferrer"&gt;.github/workflows/pre-review.yml&lt;/a&gt;&lt;br&gt;
|__ &lt;a href="https://github.com/zero-to-mastery/Animation-Nation/tree/master/generators" rel="noopener noreferrer"&gt;generators&lt;/a&gt;&lt;br&gt;
        |__ &lt;a href="https://github.com/zero-to-mastery/Animation-Nation/tree/master/generators/pre-review" rel="noopener noreferrer"&gt;pre-review&lt;/a&gt;&lt;br&gt;
                |__ &lt;a href="https://github.com/zero-to-mastery/Animation-Nation/blob/master/generators/pre-review/PRE-REVIEW.README.md" rel="noopener noreferrer"&gt;PRE_REVIEW.README.md&lt;/a&gt;&lt;br&gt;
                |__ &lt;a href="https://github.com/zero-to-mastery/Animation-Nation/blob/master/generators/pre-review/preReview.checkers.js" rel="noopener noreferrer"&gt;preReview.checkers.js&lt;/a&gt;&lt;br&gt;
                |__ &lt;a href="https://github.com/zero-to-mastery/Animation-Nation/blob/master/generators/pre-review/preReview.helpers.js" rel="noopener noreferrer"&gt;preReview.js&lt;/a&gt;&lt;br&gt;
                |__ &lt;a href="https://github.com/zero-to-mastery/Animation-Nation/blob/master/generators/pre-review/preReview.reviewers.js" rel="noopener noreferrer"&gt;preReview.reviewers.js&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;               &lt;em&gt;The other accepted PRs were improvements built on top of this work&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔸 Automation / Bot - Key Points
&lt;/h3&gt;

&lt;p&gt;You may wonder:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;What’s the difference between automation and a bot?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;How do you even know what to automate?&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Automation&lt;/strong&gt; starts when you notice &lt;strong&gt;repetition&lt;/strong&gt; / &lt;strong&gt;patterns&lt;/strong&gt;. &lt;em&gt;(so does the refactoring process)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Automation is simply a process that runs automatically when something happens.&lt;br&gt;
&lt;strong&gt;In this case&lt;/strong&gt;, GitHub Actions trigger when a &lt;code&gt;pull_request&lt;/code&gt; event occurs and run a series of steps - commonly called a &lt;strong&gt;workflow&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;📌 A good trigger + a set of steps = automation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So how do you come up with something to automate?&lt;br&gt;
You watch for patterns - in this case:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;repeated feedback comments&lt;/li&gt;
&lt;li&gt;repeated clicks or actions&lt;/li&gt;
&lt;li&gt;the same mistakes happening across PRs&lt;/li&gt;
&lt;li&gt;maintainers doing the same manual checks every time&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;📌 Repetition is the signal.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Once you know the repeated tasks, you can turn them into steps — like a recipe — and code handles the logic.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;📌 This is where you start thinking programmatically: using conditions and logic to automate decisions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And where does a bot fit in?&lt;br&gt;
A &lt;strong&gt;bot&lt;/strong&gt; is simply &lt;strong&gt;code acting on your behalf&lt;/strong&gt;!&lt;br&gt;
It listens for an event and performs the actions you defined — &lt;strong&gt;without you being there&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In this case, the bot reviews the PR, posts comments, applies labels, and helps move the process forward automatically — &lt;em&gt;just like an assistant we delegate repetitive tasks so maintainers can focus on real review work&lt;/em&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  ✨ Pre-review Automation — How this Works ✨
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fet3358ctr8u0ih8x818x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fet3358ctr8u0ih8x818x.png" alt="Mermaid worfklow" width="800" height="185"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;First, I created a JavaScript script that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;triggers on &lt;strong&gt;Pull Request events&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;ensures contributions follow the &lt;code&gt;README.md&lt;/code&gt; structure &lt;em&gt;(GitHub handle folder + &lt;code&gt;index.html&lt;/code&gt;, &lt;code&gt;styles.css&lt;/code&gt;, &lt;code&gt;meta.json&lt;/code&gt;)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;checks edge cases and invalid submissions &lt;em&gt;(no JS, inline styles, non-interactive animations, etc.)&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then I orchestrated the flow using &lt;strong&gt;GitHub Actions&lt;/strong&gt;, and added new repo labels including:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Awaiting Maintainer Validation&lt;/strong&gt; — pre-review passed, no issues detected, awaiting manual approval before merging&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Workflow steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;trigger on Pull Requests&lt;/li&gt;
&lt;li&gt;collect PR data &lt;em&gt;(contributor handle, PR diff, maintainer status, etc.)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;execute the script to run checks and output personalised feedback&lt;/li&gt;
&lt;li&gt;automatically apply labels using Bash + conditionally assign &lt;code&gt;hacktoberfest-accepted&lt;/code&gt; based on date&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb4hqmlwcthgwgm4cc3lq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb4hqmlwcthgwgm4cc3lq.png" alt="Organisation, labelling" width="666" height="636"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8pjj85le24ztgbfevxhp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8pjj85le24ztgbfevxhp.png" alt="Pre-review output" width="800" height="755"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🔸 What I Learned This Year
&lt;/h3&gt;

&lt;p&gt;This year, I focused on &lt;strong&gt;identifying real pain points&lt;/strong&gt; and building solutions that create &lt;strong&gt;meaningful impact&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Technically, I deepened my understanding of &lt;strong&gt;GitHub tokens&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;PAT token&lt;/strong&gt; → needed to interact with forks &amp;amp; assign contributors &lt;em&gt;(useful for full automation when permissions allow)&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub token&lt;/strong&gt; → enough for labeling, commits, &lt;code&gt;gh&lt;/code&gt; CLI interactions, diff checks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This clarified when each token is appropriate depending on repo permissions and contributor roles.&lt;br&gt;&lt;br&gt;
&lt;em&gt;Definitely one of those “good to know” maintainer lessons!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Beyond the technical part, it was about &lt;strong&gt;supporting others&lt;/strong&gt; and enjoying the satisfaction of seeing things run smoothly and genuinely help contributors.&lt;/p&gt;




&lt;p&gt;If you have any questions - Please feel free to ask bellow &lt;/p&gt;

&lt;p&gt;🙌 See you to the next hactoberfest!🙌&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F96khz1tjbxdiybs8ajb9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F96khz1tjbxdiybs8ajb9.png" alt="LaurelineP badges - hacktoberfest 2025 " width="503" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hacktoberfest</category>
      <category>opensource</category>
      <category>automation</category>
    </item>
    <item>
      <title>Create-react-app with an older version of React</title>
      <dc:creator>Laureline Paris</dc:creator>
      <pubDate>Fri, 15 Apr 2022 15:25:14 +0000</pubDate>
      <link>https://dev.to/lowla/create-react-app-with-a-previous-version-of-react-4g03</link>
      <guid>https://dev.to/lowla/create-react-app-with-a-previous-version-of-react-4g03</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Lately ( since the recent release of react 18 ) you might have noticed that create-react-app is using this very version?&lt;br&gt;
This is the case but right now not all the packages are supporting this recent version of react.&lt;/p&gt;

&lt;p&gt;For instance, whilst installing x package, we could have noticed few errors ongoing such as the following picture:&lt;br&gt;
&lt;em&gt;(note the different versions of react)&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fetcwa2pgxcn5tzye2k5w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fetcwa2pgxcn5tzye2k5w.png" alt="Error with different version support of react packages example" width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To avoid ending resolving all dependencies used by CRA related to react v18 use, I would definitely go to setup the project with create react app having an older version of react.&lt;/p&gt;
&lt;h2&gt;
  
  
  How do you downgrade react version in Create react app?
&lt;/h2&gt;

&lt;p&gt;Yes you can still use create react app but you will need few adjustment and I’ll guide you through those few steps(8).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1️⃣ &lt;strong&gt;Create your app&lt;/strong&gt; &lt;em&gt;(here called "my-project")&lt;/em&gt; :
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;npx create-react-app my-project&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2️⃣ &lt;strong&gt;Open your project with your editor&lt;/strong&gt; (here, using VSCode):

&lt;code&gt;code my-project&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;in which you can see the following tree presentation&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmu179x1uld02ow5or03y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmu179x1uld02ow5or03y.png" alt="Project tree structure generate" width="396" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;3️⃣ &lt;strong&gt;Adjust your package.json&lt;/strong&gt; :

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React and react-dom&lt;/strong&gt;: set the "react" and "react-dom" versions stated to the version you want instead to their prior major version (here initially 18 --&amp;gt; 17).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;testing-library/react&lt;/strong&gt;: adjust

&lt;code&gt;@testing-library/react&lt;/code&gt;

version to its prior major version ( here it was 13 which became 12 ) ( package handling the updated version of react ) which will not exist in our project anymore.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;4️⃣ &lt;strong&gt;Remove 1 file and 1 folder&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;"package-lock.json"&lt;/strong&gt;: Remove / delete

&lt;code&gt;package-lock.json&lt;/code&gt;

as it kept in details what was installed when running the

&lt;code&gt;npx create-react-app&lt;/code&gt;

command earlier.&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;"node_modules"&lt;/strong&gt;: Remove / delete your “node-modules” folder: in order to properly re-install the correct dependencies later.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;5️⃣ &lt;strong&gt;Adjust your "src/index.js"&lt;/strong&gt; as it was generated based on "react" and "react-dom" version 18 &lt;em&gt;(the version 18th brought a change on how to render react app through the DOM with "createRootDom" method)&lt;/em&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React and react-dom&lt;/strong&gt;:should be imported from "react-dom" and not "react-dom/client".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;root variable&lt;/strong&gt;: Adjust the root variable by assigning the value of

&lt;code&gt;document.getElementById(‘root’)&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Render&lt;/strong&gt;: Adjust the render method by replacing

&lt;code&gt;root.render&lt;/code&gt;

with

&lt;code&gt;ReactDOM.render&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;You should end up having that file as shown beneath&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz86in2efov9q3gdtgnmf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz86in2efov9q3gdtgnmf.png" alt="index.js modified with the previous leads" width="800" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;6️⃣ &lt;strong&gt;Re-install your dependencies&lt;/strong&gt; by executing this command: &lt;code&gt;npm install&lt;/code&gt;.&lt;br&gt;
&lt;em&gt;(&lt;/em&gt;&lt;em&gt;NB&lt;/em&gt;&lt;em&gt;: You might have some warnings but do not worry too much about it as we are aware that latest versions may have solved them and here we wanted to install an older version ( compromises have to be made ))&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;7️⃣ &lt;strong&gt;Start your project&lt;/strong&gt;:&lt;br&gt;
Run “npm start”  your project should be up and running!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;8️⃣ &lt;strong&gt;Run your test&lt;/strong&gt;: running &lt;code&gt;npm run test&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion:
&lt;/h2&gt;

&lt;p&gt;We've seen how to modify the generated folder project created with create-react-app and another version of react ( since react released react18 and today, April 15th, CRA is installing this very latest version of "react" ).&lt;br&gt;
This might be temporary of this also could be relevant in the future ?! who knows 🙂.&lt;br&gt;
Hope this if helpful and can help.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                             ✨🤓✨
     ✨Have a great coding path &amp;amp; may the code be with us !✨
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>createreactapp</category>
      <category>react18</category>
      <category>older</category>
      <category>react</category>
    </item>
  </channel>
</rss>
