<?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: Ruslan Sydorovych</title>
    <description>The latest articles on DEV Community by Ruslan Sydorovych (@hunter91151).</description>
    <link>https://dev.to/hunter91151</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%2F1096644%2Fc20d9cfb-365f-48d9-8089-ee393acd2527.jpg</url>
      <title>DEV Community: Ruslan Sydorovych</title>
      <link>https://dev.to/hunter91151</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hunter91151"/>
    <language>en</language>
    <item>
      <title>Issue with BBCode tags inside the spoiler</title>
      <dc:creator>Ruslan Sydorovych</dc:creator>
      <pubDate>Tue, 02 Apr 2024 11:48:54 +0000</pubDate>
      <link>https://dev.to/hunter91151/issue-with-bbcode-tags-inside-the-spoiler-gdb</link>
      <guid>https://dev.to/hunter91151/issue-with-bbcode-tags-inside-the-spoiler-gdb</guid>
      <description>&lt;p&gt;I have BBCode parsing issue inside spoiler tag. So, for example, when I add [hr] or any other &lt;code&gt;BBCode&lt;/code&gt; tag, it breaks the spoiler:&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[spoiler=Title]#ff7f50 hex color red value is 255, green value is 127 and the blue value of its RGB is 80. 

[hr]

Cylindrical-coordinate representations (also known as HSL) of color #ff7f50 hue: 0.04 , saturation: 1.00 and the lightness value of ff7f50 is 0.66.[/spoiler]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

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

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1apt9knzjbhc7r76bgxe.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1apt9knzjbhc7r76bgxe.gif" alt="Image description" width="800" height="222"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see on the image, the text after &lt;code&gt;[hr]&lt;/code&gt; tag displays outside the spoiler.&lt;/p&gt;

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

&lt;p&gt;&lt;em&gt;InfoSpoiler.tsx:&lt;/em&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`import React, {useState} from "react";
import CustomTooltip from "./CustomTooltip";

const InfoSpoiler = ({isDefaultSpoilerTitle, spoilerContentVisibility, spoilerTitle, spoilerContent}) =&amp;gt; {
    const [isSpoilerVisible, setSpoilerVisible] = useState(spoilerContentVisibility);

    const handleSpoilerState = (event) =&amp;gt; {
        setSpoilerVisible(!isSpoilerVisible);
    };

    return (
        &amp;lt;div className="spoiler"&amp;gt;
            &amp;lt;CustomTooltip msg="Click to open/close"&amp;gt;
                &amp;lt;p className={`${isDefaultSpoilerTitle ? "spoiler-title" : "spoiler-title-centered"}`} onClick={handleSpoilerState}&amp;gt;&amp;lt;i className={`notification-icon fa-solid ${isSpoilerVisible ? "fa-minus" : "fa-plus"}`}&amp;gt;&amp;lt;/i&amp;gt;{spoilerTitle}&amp;lt;/p&amp;gt;
            &amp;lt;/CustomTooltip&amp;gt;
            {isSpoilerVisible &amp;amp;&amp;amp; (
                typeof spoilerContent === "string" ? (
                    &amp;lt;div className="spoiler-content" dangerouslySetInnerHTML={{__html: spoilerContent}} /&amp;gt;
                ) : (
                    &amp;lt;div className="spoiler-content"&amp;gt;{spoilerContent}&amp;lt;/div&amp;gt;
                )
            )} 
        &amp;lt;/div&amp;gt;
    );
};

export default InfoSpoiler;`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;em&gt;CustomTooltip.tsx:&lt;/em&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`import React from "react";
import "react-tippy/dist/tippy.css";
import {Tooltip} from "react-tippy";

export type Position =
  | "top"
  | "top-start"
  | "top-end"
  | "bottom"
  | "bottom-start"
  | "bottom-end"
  | "left"
  | "left-start"
  | "left-end"
  | "right"
  | "right-start"
  | "right-end";
export type Size = "small" | "regular" | "big";
export type Theme = "dark" | "light" | "transparent";

interface IToolTip {
    children: React.ReactNode;
    msg: string;
    pos?: Position, 
    tooltipSize?: Size, 
    tooltipTheme?: Theme
}

const CustomTooltip = ({children, msg, pos = "top", tooltipSize = "big", tooltipTheme = "light"} : IToolTip) =&amp;gt; {
    return (
        &amp;lt;Tooltip title={msg} position={pos} size={tooltipSize} theme={tooltipTheme} followCursor={true}&amp;gt;{children}&amp;lt;/Tooltip&amp;gt;
    );
};

export default CustomTooltip;`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;em&gt;utilsGeneral.ts:&lt;/em&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`const validateHtml = (data) =&amp;gt; {
  return data
    .replace(/&amp;amp;/g, "&amp;amp;amp;")
    .replace(/&amp;lt;/g, "&amp;amp;lt;")
    .replace(/&amp;gt;/g, "&amp;amp;gt;")
    .replace(/"/g, "&amp;amp;quot;")
    .replace(/'/g, "&amp;amp;#039;");
};`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;em&gt;BBCodeComponent.tsx:&lt;/em&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`import React, {useEffect} from "react";
import ReactDOM from "react-dom";
import CustomTooltip from "./CustomTooltip";
import {validateHtml} from "../../../utils/utilsGeneral";
import InfoSpoiler from "./InfoSpoiler";

const BBCodeComponent = ({content}) =&amp;gt; {
     useEffect(() =&amp;gt; {
        const handleTooltip = () =&amp;gt; {
            const tooltipWrappers = document.querySelectorAll(".tooltip-wrapper");
            tooltipWrappers.forEach((wrapper) =&amp;gt; {
                const title = wrapper.getAttribute("data-title");
                const src = wrapper.getAttribute("data-src");

                if (title &amp;amp;&amp;amp; src) {
                    ReactDOM.render(&amp;lt;CustomTooltip msg={title}&amp;gt;&amp;lt;img src={src} alt={title} /&amp;gt;&amp;lt;/CustomTooltip&amp;gt;, wrapper);
                }
            });
        };

        const handleSpoiler = () =&amp;gt; {
            const spoilerWrappers = document.querySelectorAll(".spoiler-wrapper");
            spoilerWrappers.forEach((wrapper) =&amp;gt; {
                const title = wrapper.getAttribute("data-title");
                const content = wrapper.getAttribute("data-content");

                if (title &amp;amp;&amp;amp; content) {
                    ReactDOM.render(&amp;lt;InfoSpoiler isDefaultSpoilerTitle={true} spoilerContentVisibility={false} spoilerTitle={title} spoilerContent={parseBBCode(content)} /&amp;gt;, wrapper);
                }
            });
        };

        handleTooltip();
        handleSpoiler();
    }, [content]);

    const parseBBCode = (text) =&amp;gt; {
        return text
        .replace(/\[b\](.*?)\[\/b\]/g, "&amp;lt;strong&amp;gt;$1&amp;lt;/strong&amp;gt;")
        .replace(/\[i\](.*?)\[\/i\]/g, "&amp;lt;em&amp;gt;$1&amp;lt;/em&amp;gt;")
        .replace(/\[u\](.*?)\[\/u\]/g, "&amp;lt;u&amp;gt;$1&amp;lt;/u&amp;gt;")
        .replace(/\[s\](.*?)\[\/s\]/g, "&amp;lt;s&amp;gt;$1&amp;lt;/s&amp;gt;")
        .replace(/\[inline\](.*?)\[\/inline\]/g, "&amp;lt;div class=\"inline-tag\"&amp;gt;$1&amp;lt;/div&amp;gt;")
        .replace(/\[left\](.*?)\[\/left\]/g, "&amp;lt;div class=\"left-tag\"&amp;gt;$1&amp;lt;/div&amp;gt;")
        .replace(/\[center\](.*?)\[\/center\]/g, "&amp;lt;div class=\"center-tag\"&amp;gt;$1&amp;lt;/div&amp;gt;")
        .replace(/\[right\](.*?)\[\/right\]/g, "&amp;lt;div class=\"right-tag\"&amp;gt;$1&amp;lt;/div&amp;gt;")
        .replace(/\[img=(.*?)\](.*?)\[\/img\]/g, (match, title, src) =&amp;gt; {
            return `&amp;lt;div class=\"tooltip-wrapper\" data-title=\"${title}\" data-src=\"${src}\"&amp;gt;&amp;lt;img src=\"${src}\" alt=\"${title}\"&amp;gt;&amp;lt;/div&amp;gt;`;
        })
        .replace(/\[quote\](.*?)\[\/quote\]/g, "&amp;lt;blockquote class=\"quote-tag\"&amp;gt;$1&amp;lt;/blockquote&amp;gt;")
        .replace(/\[url=(.*?)\](.*?)\[\/url\]/g, "&amp;lt;a class=\"url-tag\" href=\"$1\"&amp;gt;$2&amp;lt;/a&amp;gt;")
        .replace(/\[code\]([\s\S]*?)\[\/code\]/g, (match, content) =&amp;gt; {
            return `&amp;lt;pre class=\"code-tag\"&amp;gt;${validateHtml(content)}&amp;lt;/pre&amp;gt;`;
        })
        .replace(/\[spoiler=(.*?)\]([\s\S]*?)\[\/spoiler\]/g, (match, title, content) =&amp;gt; {
            return `&amp;lt;div class=\"spoiler-wrapper\" data-title=\"${title}\" data-content=\"${validateHtml(content.trim())}\"&amp;gt;&amp;lt;/div&amp;gt;`;
        })
        .replace(/\[hr\]/g, "&amp;lt;div class=\"hr-wrapper\"&amp;gt;&amp;lt;hr class=\"horizontal-line-tag\"&amp;gt;&amp;lt;/div&amp;gt;")
        .replace(/\[li\](.*?)\[\/li\]/g, "&amp;lt;li class=\"list-tag\"&amp;gt;$1&amp;lt;/li&amp;gt;")
        .replace(/\[color=(\#[0-9A-F]{6}|[a-z]+|[rgb(\d{1,3},\d{1,3},\d{1,3}(\s?))]+)\](.*?)\[\/color\]/g, "&amp;lt;span style=\"color: $1\"&amp;gt;$2&amp;lt;/span&amp;gt;")
        .replace(/\[youtube\](.*?)\[\/youtube\]/g, (match, url) =&amp;gt; {
            const videoID = url.split("v=")[1];
            return `&amp;lt;div class="youtube-container"&amp;gt;&amp;lt;iframe width=\"640\" height=\"510\" src=\"https://www.youtube.com/embed/${videoID}\" loading=\"lazy\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/div&amp;gt;`;
        });
    };

    return &amp;lt;div dangerouslySetInnerHTML={{__html: parseBBCode(content)}} /&amp;gt;;
};

export default BBCodeComponent;`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;These BBCode tags work well when outside the spoiler but fails to render inside the spoiler. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HTML output from a browser:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`&amp;lt;div&amp;gt;&amp;lt;div class="spoiler-wrapper" data-title="Title" data-content="#ff7f50 hex color red value is 255, green value is 127 and the blue value of its RGB is 80. 

&amp;lt;div class=" hr-wrapper"=""&amp;gt;&amp;lt;div class="spoiler"&amp;gt;&amp;lt;div class="" data-tooltipped="" aria-describedby="tippy-tooltip-59" data-original-title="Click to open/close" style="display: inline;"&amp;gt;&amp;lt;p class="spoiler-title"&amp;gt;&amp;lt;i class="notification-icon fa-solid fa-minus"&amp;gt;&amp;lt;/i&amp;gt;Title&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class="spoiler-content"&amp;gt;#ff7f50 hex color red value is 255, green value is 127 and the blue value of its RGB is 80. 

&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;

Cylindrical-coordinate representations (also known as HSL) of color #ff7f50 hue: 0.04 , saturation: 1.00 and the lightness value of ff7f50 is 0.66."&amp;amp;gt;&amp;lt;/div&amp;gt;`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Any ideas how to fix this issue? Thanks.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Autosuggest with Rest API issue on React</title>
      <dc:creator>Ruslan Sydorovych</dc:creator>
      <pubDate>Sat, 22 Jul 2023 09:18:45 +0000</pubDate>
      <link>https://dev.to/hunter91151/autosuggest-with-rest-api-issue-on-react-35lf</link>
      <guid>https://dev.to/hunter91151/autosuggest-with-rest-api-issue-on-react-35lf</guid>
      <description>&lt;p&gt;I use &lt;code&gt;Autosuggest&lt;/code&gt; component (&lt;a href="https://github.com/moroshko/react-autosuggest"&gt;https://github.com/moroshko/react-autosuggest&lt;/a&gt;) in my &lt;code&gt;React&lt;/code&gt; website. So, on the &lt;code&gt;onChange&lt;/code&gt; event, I call &lt;code&gt;serviceOsago&lt;/code&gt; to get the city/region/country data. Full data are too heavy to load at once, it takes about 10 seconds, so I get it partially by using &lt;code&gt;onChange&lt;/code&gt; event. But the problem is when I type a city name for example: "Стрий", it does not add it to the &lt;code&gt;Autosuggest&lt;/code&gt; and does not display it.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  const onChange = (event, {newValue, method}) =&amp;gt; {
    setValue(newValue);
    serviceOsago.getCityCode(newValue).then((value:any) =&amp;gt; {
      setCities(value);
    });
  };
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;When debugging it in the browser (Network -&amp;gt; Fetch/XHR), I found out it fails to add "Стрий" to Autosuggest due to request delay. For example, when I typed "Стрий", it still loads the "Стри" old call.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React, { useState } from 'react';
import Autosuggest from 'react-autosuggest';
import {useDispatch, useSelector} from 'react-redux';
import {
  getErrorCity,
  getLoadingCity,
  getRegisterCity,
  setData,
  setError
} from '../../../redux-data/city/cityReducer';
import {getInstanceError} from '../../../utils/getInstanceError';
import theme from './AutoComplete.module.css';
import SquareLoader from 'react-spinners/SquareLoader';
import {config} from '../../../assets/config';
import serviceOsago from '../../../service/serviceOsago';

export const AutoComplete = (props) =&amp;gt; {
  const [touch, setTouch] = useState(false);
  const dispatch = useDispatch();
  const regCity = useSelector(getRegisterCity);
  const loading = useSelector(getLoadingCity);
  const [suggestions, setSuggestions] = useState([] as any[]);
  const [value, setValue] = useState(regCity);
  const [cities, setCities] = useState([]);

  const getSuggestions = (value, cities) =&amp;gt; {
    let res = []; 
    const inputValue = value.trim().toLowerCase();
    const inputLength = inputValue.length;

    if (inputValue &amp;amp;&amp;amp; inputLength &amp;gt; 0) {
        res = cities.filter(city =&amp;gt; {
          return city.name.trim().toLowerCase().startsWith(inputValue);
        });
    }

    return res;
  };

  const renderSuggestion = suggestion =&amp;gt; (
    &amp;lt;div&amp;gt;
      {suggestion.nameFull}
    &amp;lt;/div&amp;gt;
  );

  const getSuggestionValue = suggestion =&amp;gt; suggestion.nameFull;
  const error = useSelector(getErrorCity);
  const errors = {
    regCity: error
  };
  const {
    getClassError,
    getMessageError
  } = getInstanceError(errors);
  const mes = getMessageError('regCity');

  const onSuggestionsFetchRequested = ({ value }) =&amp;gt; {
    setSuggestions(getSuggestions(value, cities));
  };

  const onChange = (event, {newValue, method}) =&amp;gt; {
    setValue(newValue);
    console.log(newValue);
    serviceOsago.getCityCode(newValue).then((value:any) =&amp;gt; {
      setCities(value);
    });
  };

  const onBlur = () =&amp;gt; {
    setTouch(true);
    if (value === '') {
        dispatch(setError({
          message: 'Це поле обов\'язкове'
        }));
    }
  };

  const inputProps = {
    placeholder: 'Місто реєстрації автомобіля',
    value,
    onChange,
    onBlur,
    disabled: loading,
    id: props.id
  };

  const renderSuggestionInput = (inputProps) =&amp;gt; (
    props.isAutoFocus ? &amp;lt;input {...inputProps} autoFocus /&amp;gt; : &amp;lt;input {...inputProps} /&amp;gt;
  );

  const onSuggestionHighlighted = ({ suggestion }) =&amp;gt; {
    //console.log(suggestion);
  };

  return (
    &amp;lt;div className={getClassError('regCity', touch)}&amp;gt;
      &amp;lt;Autosuggest 
        suggestions={suggestions}
        onSuggestionsFetchRequested={onSuggestionsFetchRequested}
        getSuggestionValue={getSuggestionValue}
        renderSuggestion={renderSuggestion}
        inputProps={inputProps}
        onSuggestionSelected={(event, data) =&amp;gt; {
          dispatch(setData(data.suggestion));
        }}
        theme={theme}
        renderInputComponent={renderSuggestionInput}
        highlightFirstSuggestion={true}
        alwaysRenderSuggestions={true}
        onSuggestionHighlighted={onSuggestionHighlighted}
      /&amp;gt;
      {mes &amp;amp;&amp;amp; &amp;lt;p&amp;gt;{mes}&amp;lt;/p&amp;gt;}
      &amp;lt;SquareLoader loading={loading} size={20} color={config.color} css={config.css}/&amp;gt;
    &amp;lt;/div&amp;gt;
  );
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;I think, there are two options how to fix this issue.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Load full data when website is loaded, save somewhere this data (for example: &lt;code&gt;localStorage&lt;/code&gt;) and add it to &lt;code&gt;Autosuggest&lt;/code&gt;, so it will be available when user is typing. But I think &lt;code&gt;localStorage&lt;/code&gt; will fail to save 12 - 15 MB of data. There must be another way to store huge data in &lt;code&gt;React/TypeScript&lt;/code&gt;?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Change/improve the &lt;code&gt;onChange&lt;/code&gt; event, so it will only trigger &lt;code&gt;API&lt;/code&gt; request when a user finished typing and get the full city word instead of calling request on every character. Is it possible to override the &lt;code&gt;onChange&lt;/code&gt; event?&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;What is the proper way to add data from &lt;code&gt;REST API&lt;/code&gt; to &lt;code&gt;Autosuggest&lt;/code&gt; when a user typing data in &lt;code&gt;React/TypeScript&lt;/code&gt;? Thank you. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Issue with starting React project</title>
      <dc:creator>Ruslan Sydorovych</dc:creator>
      <pubDate>Tue, 06 Jun 2023 15:52:43 +0000</pubDate>
      <link>https://dev.to/hunter91151/issue-with-starting-react-project-2ehc</link>
      <guid>https://dev.to/hunter91151/issue-with-starting-react-project-2ehc</guid>
      <description>&lt;p&gt;I want to start some react project. The issue is when I run the following command: &lt;code&gt;yarn add react-app-rewired -D&lt;/code&gt; to install all the required components.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Microsoft Windows [Version 10.0.19045.2965]
(c) Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32&amp;gt;cd C:\wamp64\www\insurance_site-master

C:\wamp64\www\insurance_site-master&amp;gt;yarn add react-app-rewired -D
yarn add v1.22.19
info No lockfile found.
[1/4] Resolving packages...
warning react-scripts &amp;gt; workbox-webpack-plugin &amp;gt; workbox-build &amp;gt; @hapi/joi &amp;gt; @hapi/address@2.1.4: Moved to 'npm install @sideway/address'
warning react-scripts &amp;gt; workbox-webpack-plugin &amp;gt; workbox-build &amp;gt; @hapi/joi &amp;gt; @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
warning react-scripts &amp;gt; workbox-webpack-plugin &amp;gt; workbox-build &amp;gt; @hapi/joi &amp;gt; @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
warning react-scripts &amp;gt; workbox-webpack-plugin &amp;gt; workbox-build &amp;gt; @hapi/joi &amp;gt; @hapi/topo &amp;gt; @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
warning react-scripts &amp;gt; workbox-webpack-plugin &amp;gt; workbox-build &amp;gt; strip-comments &amp;gt; babel-plugin-transform-object-rest-spread &amp;gt; babel-runtime &amp;gt; core-js@2.6.12: core-js@&amp;lt;3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
warning react-scripts &amp;gt; jest &amp;gt; jest-cli &amp;gt; jest-config &amp;gt; jest-environment-jsdom &amp;gt; jsdom &amp;gt; left-pad@1.3.0: use String.prototype.padStart()
warning react-scripts-ts &amp;gt; html-webpack-plugin@2.29.0: out of support
warning react-scripts-ts &amp;gt; fsevents@1.1.2: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
warning react-scripts-ts &amp;gt; autoprefixer &amp;gt; browserslist@2.11.3: Browserslist 2 could fail on reading Browserslist &amp;gt;3.0 config used in other tools.
warning react-scripts-ts &amp;gt; fork-ts-checker-webpack-plugin &amp;gt; chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
warning react-scripts-ts &amp;gt; webpack &amp;gt; acorn-dynamic-import@2.0.2: This is probably built in to whatever tool you're using. If you still need it... idk
warning react-scripts-ts &amp;gt; webpack-dev-server &amp;gt; chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
warning react-scripts-ts &amp;gt; fork-ts-checker-webpack-plugin &amp;gt; chokidar &amp;gt; fsevents@1.2.13: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
warning react-scripts-ts &amp;gt; webpack-dev-server &amp;gt; sockjs &amp;gt; uuid@2.0.3: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
warning react-scripts-ts &amp;gt; css-loader &amp;gt; cssnano &amp;gt; autoprefixer &amp;gt; browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist &amp;gt;3.0 config used in other tools.
warning react-scripts-ts &amp;gt; css-loader &amp;gt; cssnano &amp;gt; postcss-merge-rules &amp;gt; browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist &amp;gt;3.0 config used in other tools.
warning react-scripts-ts &amp;gt; css-loader &amp;gt; cssnano &amp;gt; postcss-svgo &amp;gt; svgo@0.7.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
warning react-scripts-ts &amp;gt; jest &amp;gt; jest-cli &amp;gt; jest-haste-map &amp;gt; sane@1.6.0: some dependency vulnerabilities fixed, support for node &amp;lt; 10 dropped, and newer ECMAScript syntax/features added
warning react-scripts-ts &amp;gt; css-loader &amp;gt; cssnano &amp;gt; postcss-merge-rules &amp;gt; caniuse-api &amp;gt; browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist &amp;gt;3.0 config used in other tools.
warning react-scripts-ts &amp;gt; css-loader &amp;gt; cssnano &amp;gt; postcss-merge-rules &amp;gt; postcss-selector-parser &amp;gt; flatten@1.0.3: flatten is deprecated in favor of utility frameworks such as lodash.
warning react-scripts-ts &amp;gt; jest &amp;gt; jest-cli &amp;gt; jest-environment-jsdom &amp;gt; jsdom &amp;gt; request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning react-scripts-ts &amp;gt; extract-text-webpack-plugin@3.0.2: Deprecated. Please use https://github.com/webpack-contrib/mini-css-extract-plugin
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp@0.6.39: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; request@2.81.0: request has been deprecated, see https://github.com/request/request/issues/3142
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; request &amp;gt; har-validator@4.2.1: this library is no longer supported
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; request &amp;gt; uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; tar-pack &amp;gt; tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; hawk@3.1.3: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; request &amp;gt; hawk@3.1.3: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
warning react-scripts-ts &amp;gt; jest &amp;gt; jest-cli &amp;gt; jest-runtime &amp;gt; babel-core &amp;gt; babel-register &amp;gt; core-js@2.6.12: core-js@&amp;lt;3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; hawk &amp;gt; cryptiles@2.0.5: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; hawk &amp;gt; boom@2.10.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; hawk &amp;gt; cryptiles &amp;gt; boom@2.10.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; hawk &amp;gt; hoek@2.16.3: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; hawk &amp;gt; boom &amp;gt; hoek@2.16.3: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; hawk &amp;gt; sntp@1.0.9: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
warning react-scripts-ts &amp;gt; fsevents &amp;gt; node-pre-gyp &amp;gt; hawk &amp;gt; sntp &amp;gt; hoek@2.16.3: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
warning react-scripts-ts &amp;gt; sw-precache-webpack-plugin &amp;gt; sw-precache@5.2.1: Please migrate to Workbox: https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-sw
warning react-scripts-ts &amp;gt; sw-precache-webpack-plugin &amp;gt; sw-precache &amp;gt; sw-toolbox@3.6.0: Please migrate to Workbox: https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-sw
warning react-select-2 &amp;gt; less &amp;gt; request@2.81.0: request has been deprecated, see https://github.com/request/request/issues/3142
warning react-select-2 &amp;gt; webpack &amp;gt; acorn-dynamic-import@2.0.2: This is probably built in to whatever tool you're using. If you still need it... idk
warning react-select-2 &amp;gt; webpack-dev-server &amp;gt; chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
warning react-select-2 &amp;gt; jest-cli &amp;gt; jest-haste-map &amp;gt; sane@1.5.0: some dependency vulnerabilities fixed, support for node &amp;lt; 10 dropped, and newer ECMAScript syntax/features added
warning react-select-2 &amp;gt; babel-preset-es2015@6.24.1: 🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!
warning react-select-2 &amp;gt; babel-cli &amp;gt; chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
warning react-select-2 &amp;gt; postcss-cssnext@2.11.0: 'postcss-cssnext' has been deprecated in favor of 'postcss-preset-env'. Read more at https://moox.io/blog/deprecating-cssnext/
warning react-select-2 &amp;gt; postcss-cssnext &amp;gt; postcss-pseudo-class-any-link &amp;gt; postcss-selector-parser &amp;gt; flatten@1.0.3: flatten is deprecated in favor of utility frameworks such as lodash.
warning react-select-2 &amp;gt; image-webpack-loader &amp;gt; imagemin-svgo &amp;gt; svgo@0.7.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
warning react-select-2 &amp;gt; babel-cli &amp;gt; babel-polyfill &amp;gt; core-js@2.6.12: core-js@&amp;lt;3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
warning react-select-2 &amp;gt; postcss-cssnext &amp;gt; pixrem &amp;gt; browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist &amp;gt;3.0 config used in other tools.
warning react-select-2 &amp;gt; postcss-assets &amp;gt; assets &amp;gt; calipers@2.1.0: 2.1.0 contains breaking changes, published instead as 3.0.0
warning react-select-2 &amp;gt; postcss-assets &amp;gt; assets &amp;gt; calipers-jpeg@2.1.0: 2.1.0 contains breaking changes, published instead as 3.0.0
warning react-select-2 &amp;gt; postcss-assets &amp;gt; assets &amp;gt; calipers-png@2.1.0: 2.1.0 contains breaking changes, published instead as 3.0.0
warning react-select-2 &amp;gt; image-webpack-loader &amp;gt; imagemin-gifsicle &amp;gt; exec-buffer &amp;gt; tempfile &amp;gt; uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
warning react-select-2 &amp;gt; image-webpack-loader &amp;gt; imagemin-gifsicle &amp;gt; gifsicle &amp;gt; bin-build &amp;gt; tempfile &amp;gt; uuid@2.0.3: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
warning react-select-2 &amp;gt; image-webpack-loader &amp;gt; imagemin-gifsicle &amp;gt; gifsicle &amp;gt; bin-build &amp;gt; decompress &amp;gt; buffer-to-vinyl &amp;gt; uuid@2.0.3: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
warning react-select-2 &amp;gt; image-webpack-loader &amp;gt; imagemin-gifsicle &amp;gt; gifsicle &amp;gt; bin-build &amp;gt; download &amp;gt; gulp-decompress &amp;gt; gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
warning @types/react-router-dom &amp;gt; @types/history@5.0.0: This is a stub types definition. history provides its own type definitions, so you do not need this installed.
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " &amp;gt; babel-loader@8.3.0" has unmet peer dependency "@babel/core@^7.0.0".
warning " &amp;gt; babel-loader@8.3.0" has unmet peer dependency "webpack@&amp;gt;=2".
warning " &amp;gt; bootstrap@4.6.2" has unmet peer dependency "popper.js@^1.16.1".
warning " &amp;gt; dotenv-webpack@1.8.0" has unmet peer dependency "webpack@^1 || ^2 || ^3 || ^4".
warning " &amp;gt; file-loader@3.0.1" has unmet peer dependency "webpack@^4.0.0".
warning " &amp;gt; less-loader@5.0.0" has unmet peer dependency "webpack@^2.0.0 || ^3.0.0 || ^4.0.0".
warning " &amp;gt; react-app-rewire-less@2.1.3" has incorrect peer dependency "react-app-rewired@^1.5.2".
warning "react-app-rewire-less &amp;gt; less-loader@4.1.0" has unmet peer dependency "webpack@^2.0.0 || ^3.0.0 || ^4.0.0".
warning " &amp;gt; react-ga@2.7.0" has unmet peer dependency "prop-types@^15.6.0".
warning " &amp;gt; react-router-config@4.4.0-beta.8" has unmet peer dependency "react-router@4.4.0-beta.1".
warning " &amp;gt; react-scripts-ts@2.13.0" has incorrect peer dependency "typescript@2.x".
warning "react-scripts-ts &amp;gt; fork-ts-checker-webpack-plugin@0.2.10" has incorrect peer dependency "typescript@^2.1.0".
warning "react-scripts-ts &amp;gt; ts-jest@20.0.14" has incorrect peer dependency "typescript@2.x".
warning "react-select-2 &amp;gt; manifest-revision-webpack-plugin@0.4.1" has unmet peer dependency "sync-exec@^0.6.2".
warning "react-select-2 &amp;gt; postcss-cssnext@2.11.0" has unmet peer dependency "caniuse-db@^1.0.30000652".
warning "react-select2 &amp;gt; react-select2-wrapper@1.0.3" has incorrect peer dependency "react@^0.14.0 || ^15.0.0-rc || ^15.0.0".
warning "react-select2 &amp;gt; react-select2-wrapper@1.0.3" has incorrect peer dependency "react-dom@^0.14.0 || ^15.0.0-rc || ^15.0.0".
warning " &amp;gt; style-loader@1.3.0" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
warning " &amp;gt; webpack-cli@3.3.12" has unmet peer dependency "webpack@4.x.x".
[4/4] Building fresh packages...
[1/12] ⠂ node-sass
[11/12] ⠂ cwebp-bin
[-/12] ⠂ waiting...
[-/12] ⠂ waiting...
error C:\wamp64\www\insurance_site-master\node_modules\node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments:
Directory: C:\wamp64\www\insurance_site-master\node_modules\node-sass
Output:
Building: C:\nodejs\node.exe C:\wamp64\www\insurance_site-master\node_modules\node-sass\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   'C:\\nodejs\\node.exe',
gyp verb cli   'C:\\wamp64\\www\\insurance_site-master\\node_modules\\node-sass\\node_modules\\node-gyp\\bin\\node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library='
gyp verb cli ]
gyp info using node-gyp@3.8.0
gyp info using node@18.16.0 | win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError (C:\wamp64\www\insurance_site-master\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\wamp64\www\insurance_site-master\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\wamp64\www\insurance_site-master\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\wamp64\www\insurance_site-master\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\wamp64\www\insurance_site-master\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\wamp64\www\insurance_site-master\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:208:21)
gyp verb `which` failed  python2 Error: not found: python2
gyp verb `which` failed     at getNotFoundError (C:\wamp64\www\insurance_site-master\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\wamp64\www\insurance_site-master\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\wamp64\www\insurance_site-master\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\wamp64\www\insurance_site-master\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\wamp64\www\insurance_site-master\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\wamp64\www\insurance_site-master\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:208:21) {
gyp verb `which` failed   code: 'ENOENT'
gyp verb `which` failed }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` succeeded python C:\Python27\python.EXE
gyp verb check python version `C:\Python27\python.EXE -c "import sys; print "2.7.18
gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
gyp verb get node dir no --target version specified, falling back to host node version: 18.16.0
gyp verb command install [ '18.16.0' ]
gyp verb install input version string "18.16.0"
gyp verb install installing version: 18.16.0
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 18.16.0
gyp verb build dir attempting to create "build" dir: C:\wamp64\www\insurance_site-master\node_modules\node-sass\build
gyp verb build dir "build" dir needed to be created? C:\wamp64\www\insurance_site-master\node_modules\node-sass\build
gyp verb find vs2017 Found installation at: C:\Program Files\Microsoft Visual Studio\2022\Enterprise
gyp verb find vs2017   - Found Microsoft.VisualStudio.Component.Windows10SDK.19041
gyp verb find vs2017   - Found Microsoft.VisualStudio.Component.VC.Tools.x86.x64
gyp verb find vs2017   - Missing Visual Studio C++ core features (Microsoft.VisualStudio.VC.MSBuild.Base)
gyp verb find vs2017   - Some required components are missing, not using this installation
gyp verb find vs2017 Found installation at: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise
gyp verb find vs2017   - Found Microsoft.VisualStudio.Component.Windows10SDK.19041
gyp verb find vs2017   - Found Microsoft.VisualStudio.VC.MSBuild.Base
gyp verb find vs2017   - Found Microsoft.VisualStudio.Component.VC.Tools.x86.x64
gyp verb find vs2017   - Using this installation with Windows 10 SDK
gyp verb find vs2017 using installation: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: C:\wamp64\www\insurance_site-master\node_modules\node-sass\build\config.gypi
(node:5784) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
(Use `node --trace-deprecation ...` to show where the warning was created)
gyp verb config.gypi checking for gypi file: C:\wamp64\www\insurance_site-master\node_modules\node-sass\config.gypi
gyp verb common.gypi checking for gypi file: C:\wamp64\www\insurance_site-master\node_modules\node-sass\common.gypi
gyp verb gyp gyp format was not specified; forcing "msvs"
gyp info spawn C:\Python27\python.EXE
gyp info spawn args [
gyp info spawn args   'C:\\wamp64\\www\\insurance_site-master\\node_modules\\node-sass\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=2015',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\wamp64\\www\\insurance_site-master\\node_modules\\node-sass\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\wamp64\\www\\insurance_site-master\\node_modules\\node-sass\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\cobra\\.node-gyp\\18.16.0\\include\\node\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\cobra\\.node-gyp\\18.16.0',
gyp info spawn args   '-Dnode_gyp_dir=C:\\wamp64\\www\\insurance_site-master\\node_modules\\node-sass\\node_modules\\node-gyp',
gyp info spawn args   '-Dnode_lib_file=C:\\Users\\cobra\\.node-gyp\\18.16.0\\&amp;lt;(target_arch)\\node.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\\wamp64\\www\\insurance_site-master\\node_modules\\node-sass',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'C:\\wamp64\\www\\insurance_site-master\\node_modules\\node-sass\\build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
Traceback (most recent call last):
  File "C:\wamp64\www\insurance_site-master\node_modules\node-sass\node_modules\node-gyp\gyp\gyp_main.py", line 16, in &amp;lt;module&amp;gt;
    sys.exit(gyp.script_main())
  File "C:\wamp64\www\insurance_site-master\node_modules\node-sass\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 545, in script_main
    return main(sys.argv[1:])
  File "C:\wamp64\www\insurance_site-master\node_modules\node-sass\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 538, in main
    return gyp_main(args)
  File "C:\wamp64\www\insurance_site-master\node_modules\node-sass\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 514, in gyp_main
    options.duplicate_basename_check)
  File "C:\wamp64\www\insurance_site-master\node_modules\node-sass\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 130, in Load
    params['parallel'], params['root_targets'])
  File "C:\wamp64\www\insurance_site-master\node_modules\node-sass\node_modules\node-gyp\gyp\pylib\gyp\input.py", line 2783, in Load
    variables, includes, depth, check, True)
  File "C:\wamp64\www\insurance_site-master\node_modules\node-sass\node_modules\node-gyp\gyp\pylib\gyp\input.py", line 399, in LoadTargetBuildFile
    includes, True, check)
  File "C:\wamp64\www\insurance_site-master\node_modules\node-sass\node_modules\node-gyp\gyp\pylib\gyp\input.py", line 271, in LoadOneBuildFile
    aux_data, includes, check)
  File "C:\wamp64\www\insurance_site-master\node_modules\node-sass\node_modules\node-gyp\gyp\pylib\gyp\input.py", line 308, in LoadBuildFileIncludesIntoDict
    LoadOneBuildFile(include, data, aux_data, None, False, check),
  File "C:\wamp64\www\insurance_site-master\node_modules\node-sass\node_modules\node-gyp\gyp\pylib\gyp\input.py", line 251, in LoadOneBuildFile
    None)
  File "C:\Users\cobra\.node-gyp\18.16.0\include\node\common.gypi", line 1
    e_data_file_flag%': 1
                        ^
SyntaxError: EOL while scanning string literal
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (C:\wamp64\www\insurance_site-master\node_modules\node-sass\node_modules\node-gyp\lib\configure.js:345:16)
gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:291:12)
gyp ERR! System Windows_NT 10.0.19045
gyp ERR! command "C:\\nodejs\\node.exe" "C:\\wamp64\\www\\insurance_site-master\\node_modules\\node-sass\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd C:\wamp64\www\insurance_site-master\node_modules\node-sass
gyp ERR! node -v v18.16.0

C:\wamp64\www\insurance_site-master&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;I have &lt;code&gt;Node.js&lt;/code&gt; version: v18.16.0 installed. &lt;code&gt;Python 2.7.18&lt;/code&gt; is installed on my system as well and added to the &lt;code&gt;PATH&lt;/code&gt;. Also, I have &lt;code&gt;Visual Studio 2017/2019/2022&lt;/code&gt; installed.&lt;/p&gt;

&lt;p&gt;I have fixed it by downgrading the node to: &lt;code&gt;v16.20.0&lt;/code&gt;. But when I run &lt;code&gt;npm start&lt;/code&gt; I get another issue:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Users\cobra\Documents\Projects\ReactJS\insurance_site-master&amp;gt;npm start

&amp;gt; egersund-web-site@0.1.0 prestart
&amp;gt; yarn run build

yarn run v1.22.19
$ yarn run build:client &amp;amp;&amp;amp; yarn run build:server
$ react-app-rewired build
Creating an optimized production build...
=============

WARNING: You are currently running a version of TypeScript which is not officially supported by typescript-estree.

You may find that it works just fine, or you may not.

SUPPORTED TYPESCRIPT VERSIONS: &amp;gt;=3.2.1 &amp;lt;3.5.0

YOUR TYPESCRIPT VERSION: 3.5.3

Please only submit bug reports when using the officially supported version.

=============
Failed to compile.

C:/Users/cobra/Documents/Projects/ReactJS/insurance_site-master/node_modules/@types/babel__traverse/index.d.ts
TypeScript error in C:/Users/cobra/Documents/Projects/ReactJS/insurance_site-master/node_modules/@types/babel__traverse/index.d.ts(321,9):
Type expected.  TS1110

    319 |     // too complex for TS. So we type it as a general visitor only if the key contains `|`
    320 |     // this is good enough for non-visitor traverse options e.g. `noScope`
  &amp;gt; 321 |     [k: `${string}|${string}`]: VisitNode&amp;lt;S, Node&amp;gt;;
        |         ^
    322 | };
    323 |
    324 | export type VisitNode&amp;lt;S, P extends Node&amp;gt; = VisitNodeFunction&amp;lt;S, P&amp;gt; | VisitNodeObject&amp;lt;S, P&amp;gt;;


error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Package.json:&lt;/strong&gt; &lt;a href="https://mega.nz/file/4BQlxAIC#vo76cLx6vvHVhVolYGtCFOmClqhb43o9CVNufg3gbhM"&gt;https://mega.nz/file/4BQlxAIC#vo76cLx6vvHVhVolYGtCFOmClqhb43o9CVNufg3gbhM&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have tried Node v14, v12 but the issue still occurs. Any ideas how to resolve this issue? Thank you.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
