From e2a7741c0f79843d3f48c026d37d1d43e7a4ea63 Mon Sep 17 00:00:00 2001 From: ITurres Date: Tue, 9 Apr 2024 22:21:35 -0300 Subject: [PATCH 1/5] Refactor: Migrate 'Animations' ES6 functional components to ES5 - 'AccessPageVideo.tsx'. - 'Drone.tsx'. - 'FloatingAstronaut.tsx'. --- src/components/animations/AccessPageVideo.tsx | 28 +++++---- src/components/animations/Drone.tsx | 4 +- .../animations/FloatingAstronaut.tsx | 62 ++++++++++--------- 3 files changed, 50 insertions(+), 44 deletions(-) diff --git a/src/components/animations/AccessPageVideo.tsx b/src/components/animations/AccessPageVideo.tsx index a1266b7..5070f16 100644 --- a/src/components/animations/AccessPageVideo.tsx +++ b/src/components/animations/AccessPageVideo.tsx @@ -7,20 +7,22 @@ interface AccessPageVideoProps { $videoElement: RefObject | null; } -const AccessPageVideo: React.FC = ({ $videoElement }) => ( +function AccessPageVideo(props: AccessPageVideoProps): React.ReactElement { + const { $videoElement } = props; /* eslint-disable jsx-a11y/media-has-caption */ - - /* eslint-disable jsx-a11y/media-has-caption */ -); + return ( + + ); +} /* eslint-disable no-undef */ diff --git a/src/components/animations/Drone.tsx b/src/components/animations/Drone.tsx index dd12078..1593d03 100644 --- a/src/components/animations/Drone.tsx +++ b/src/components/animations/Drone.tsx @@ -2,7 +2,7 @@ import React, { useState, useEffect, useRef } from 'react'; import droneFile from '../../assets/images/gif/drone.gif'; import '../../styles/animations/Drone.scss'; -const Drone: React.FC = () => { +function Drone(): React.ReactElement { const [position, setPosition] = useState({ x: 0, y: 0 }); const [firstMove, setFirstMove] = useState(false); const drone = useRef(null); @@ -77,6 +77,6 @@ const Drone: React.FC = () => { }} /> ); -}; +} export default Drone; diff --git a/src/components/animations/FloatingAstronaut.tsx b/src/components/animations/FloatingAstronaut.tsx index fa42d0d..e4bd332 100644 --- a/src/components/animations/FloatingAstronaut.tsx +++ b/src/components/animations/FloatingAstronaut.tsx @@ -25,35 +25,39 @@ interface FloatingAstronautProps { }; } -const FloatingAstronaut: React.FC = ({ - animationSpeed, - maxWidth, - move, - scale, - rotation, -}) => ( - -); +function FloatingAstronaut(props: FloatingAstronautProps): React.ReactElement { + const { + animationSpeed, + maxWidth, + move, + scale, + rotation, + } = props; + + return ( + + ); +} FloatingAstronaut.defaultProps = { move: { From beaeeae810d8d85328f837eb6025c548d994f556 Mon Sep 17 00:00:00 2001 From: ITurres Date: Tue, 9 Apr 2024 22:44:30 -0300 Subject: [PATCH 2/5] Refactor: Migrate 'pages' ES6 functional components to ES5 - 'AboutPage.tsx'. - 'AccessPage.tsx'. - 'ContactPage.tsx'. - 'ExpertiseSummaryPage.tsx'. - 'HomePage.tsx'. - 'NotFoundPage.tsx'. - 'ProjectsPage.tsx'. --- src/components/pages/AboutPage.tsx | 8 +++++--- src/components/pages/AccessPage.tsx | 4 ++-- src/components/pages/ContactPage.tsx | 4 ++-- src/components/pages/ExpertiseSummaryPage.tsx | 4 ++-- src/components/pages/HomePage.tsx | 4 ++-- src/components/pages/NotFoundPage.tsx | 6 ++++-- src/components/pages/ProjectsPage.tsx | 4 ++-- 7 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/components/pages/AboutPage.tsx b/src/components/pages/AboutPage.tsx index 28804ac..d7a55a0 100644 --- a/src/components/pages/AboutPage.tsx +++ b/src/components/pages/AboutPage.tsx @@ -12,14 +12,16 @@ import ExpertiseLinks from '../UI/ExpertiseLinks.tsx'; import setPageTitle from '../../utils/setPageTitle.ts'; -const AboutPage: React.FC = () => { +function AboutPage(): React.ReactElement { const $aboutPage = useRef(null); setPageTitle('About me 🙋‍♂️'); useEffect(() => { if ($aboutPage.current) { - $aboutPage.current.style.display = 'flex'; // ?overrides the {display: none} on 'aboutPage.scss'. This is to prevent the aboutPage from showing before animation is applied. + // * overrides the {display: none} on 'aboutPage.scss'. + // * This is to prevent the aboutPage from showing before animation is applied. + $aboutPage.current.style.display = 'flex'; $aboutPage.current.classList.add('blend-in-out'); } }); @@ -68,6 +70,6 @@ const AboutPage: React.FC = () => { ); -}; +} export default AboutPage; diff --git a/src/components/pages/AccessPage.tsx b/src/components/pages/AccessPage.tsx index dbdd44e..215d84c 100644 --- a/src/components/pages/AccessPage.tsx +++ b/src/components/pages/AccessPage.tsx @@ -26,7 +26,7 @@ const AstronautStyleProps = { }, }; -const AccessPage = () => { +function AccessPage(): React.ReactElement { const $accessPageMain = useRef(null); const $videoElement = useRef(null); const navigate = useNavigate(); @@ -79,6 +79,6 @@ const AccessPage = () => { ); -}; +} export default AccessPage; diff --git a/src/components/pages/ContactPage.tsx b/src/components/pages/ContactPage.tsx index 9728648..3c1f6d3 100644 --- a/src/components/pages/ContactPage.tsx +++ b/src/components/pages/ContactPage.tsx @@ -9,7 +9,7 @@ import ContactForm from '../UI/ContactForm.tsx'; import setPageTitle from '../../utils/setPageTitle.ts'; -const ContactPage: React.FC = () => { +function ContactPage(): React.ReactElement { const [windowWidth, setWindowWidth] = useState(window.innerWidth); const laptopWidth = 1366; @@ -42,6 +42,6 @@ const ContactPage: React.FC = () => { ); -}; +} export default ContactPage; diff --git a/src/components/pages/ExpertiseSummaryPage.tsx b/src/components/pages/ExpertiseSummaryPage.tsx index a85dde4..9901c32 100644 --- a/src/components/pages/ExpertiseSummaryPage.tsx +++ b/src/components/pages/ExpertiseSummaryPage.tsx @@ -6,7 +6,7 @@ import '../../styles/pages/ExpertiseSummaryPage.scss'; import setPageTitle from '../../utils/setPageTitle.ts'; -const ExpertiseSummaryPage: React.FC = () => { +function ExpertiseSummaryPage(): React.ReactElement { setPageTitle('My expertise 💼'); return ( @@ -35,6 +35,6 @@ const ExpertiseSummaryPage: React.FC = () => { ); -}; +} export default ExpertiseSummaryPage; diff --git a/src/components/pages/HomePage.tsx b/src/components/pages/HomePage.tsx index 859a239..7600b17 100644 --- a/src/components/pages/HomePage.tsx +++ b/src/components/pages/HomePage.tsx @@ -10,7 +10,7 @@ import ProjectsPage from './ProjectsPage.tsx'; import NotFoundPage from './NotFoundPage.tsx'; import FileTabsNavbar from '../UI/FileTabsNavbar.tsx'; -const HomePage: React.FC = () => { +function HomePage(): React.ReactElement { const [windowWidth, setWindowWidth] = useState(window.innerWidth); const minWith = 768; @@ -36,6 +36,6 @@ const HomePage: React.FC = () => { ); -}; +} export default HomePage; diff --git a/src/components/pages/NotFoundPage.tsx b/src/components/pages/NotFoundPage.tsx index e405b52..b99e5f5 100644 --- a/src/components/pages/NotFoundPage.tsx +++ b/src/components/pages/NotFoundPage.tsx @@ -25,7 +25,9 @@ const AstronautStyleProps = { }, }; -const NotFoundPage: React.FC = ({ fromPath }) => { +function NotFoundPage(props: NotFoundPageProps): React.ReactElement { + const { fromPath } = props; + const isWildCardAtAccessPage = fromPath === '/'; const pathTo = isWildCardAtAccessPage ? '/' : '/homepage'; @@ -63,6 +65,6 @@ const NotFoundPage: React.FC = ({ fromPath }) => { ); -}; +} export default NotFoundPage; diff --git a/src/components/pages/ProjectsPage.tsx b/src/components/pages/ProjectsPage.tsx index 0be8269..64809a3 100644 --- a/src/components/pages/ProjectsPage.tsx +++ b/src/components/pages/ProjectsPage.tsx @@ -10,7 +10,7 @@ import setPageTitle from '../../utils/setPageTitle.ts'; import involvement from '../../services/involvementAPI/involvementAPI.ts'; -const ProjectsPage: React.FC = () => { +function ProjectsPage(): React.ReactElement { setPageTitle('My projects 😊'); const [projectsLikes, setProjectsLikes] = useState([{}]); @@ -49,6 +49,6 @@ const ProjectsPage: React.FC = () => { ); -}; +} export default ProjectsPage; From 0f8348e5c38a15562ff0f426b6495ff737e83fa2 Mon Sep 17 00:00:00 2001 From: ITurres Date: Wed, 10 Apr 2024 22:06:39 -0300 Subject: [PATCH 3/5] Refactor: Migrate 'UI' ES6 functional components to ES5 - 'ContactForm.tsx'. - 'ExpertiseLinks.tsx'. - 'FileTabsNavbar.tsx'. - 'LikeButton.tsx'. - 'LineCount.tsx'. - 'Navbar.tsx'. - 'SplideCarousel.tsx'. - 'SplideCarouselSlide.tsx'. --- src/components/UI/ContactForm.tsx | 4 +- src/components/UI/ExpertiseLinks.tsx | 70 ++++++------- src/components/UI/FileTabsNavbar.tsx | 4 +- src/components/UI/LikeButton.tsx | 6 +- src/components/UI/LineCount.tsx | 4 +- src/components/UI/Navbar.tsx | 4 +- src/components/UI/SplideCarousel.tsx | 78 +++++++-------- src/components/UI/SplideCarouselSlide.tsx | 116 +++++++++++----------- 8 files changed, 146 insertions(+), 140 deletions(-) diff --git a/src/components/UI/ContactForm.tsx b/src/components/UI/ContactForm.tsx index 5fea1ac..7c3b5ff 100644 --- a/src/components/UI/ContactForm.tsx +++ b/src/components/UI/ContactForm.tsx @@ -10,7 +10,7 @@ import '../../styles/UI/ContactForm.scss'; const successButtonIcon = 'https://camo.githubusercontent.com/b55970b1d4c6e5d8d09a07556bce08ff3cfec080b680ad6b5be3ed46546e6f77/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f6b52654b6366727331596f546d74324151742f67697068792e676966'; -const ContactForm: React.FC = () => { +function ContactForm(): React.ReactElement { const [formContent, setFormContent] = useState( JSON.parse(sessionStorage.getItem('formContent')!) || null, // * ! = non-null assertion operator to tell TS that @@ -313,6 +313,6 @@ const ContactForm: React.FC = () => { )} ); -}; +} export default ContactForm; diff --git a/src/components/UI/ExpertiseLinks.tsx b/src/components/UI/ExpertiseLinks.tsx index a7d05a2..b450aa4 100644 --- a/src/components/UI/ExpertiseLinks.tsx +++ b/src/components/UI/ExpertiseLinks.tsx @@ -3,39 +3,41 @@ import { Link } from 'react-router-dom'; import '../../styles/UI/ExpertiseLinks.scss'; -const ExpertiseLinks: React.FC = () => ( -
- - languages - - - frameworks - - - skills - - - resume - -
-); +function ExpertiseLinks(): React.ReactElement { + return ( +
+ + languages + + + frameworks + + + skills + + + resume + +
+ ); +} export default ExpertiseLinks; diff --git a/src/components/UI/FileTabsNavbar.tsx b/src/components/UI/FileTabsNavbar.tsx index 325b956..8568847 100644 --- a/src/components/UI/FileTabsNavbar.tsx +++ b/src/components/UI/FileTabsNavbar.tsx @@ -5,7 +5,7 @@ import { FaReact } from 'react-icons/fa'; import '../../styles/UI/FileTabsNavbar.scss'; -const FileTabsNavbar: React.FC = () => { +function FileTabsNavbar(): React.ReactElement { const iconSize = 26; const { pathname } = useLocation(); @@ -74,6 +74,6 @@ const FileTabsNavbar: React.FC = () => { ); -}; +} export default FileTabsNavbar; diff --git a/src/components/UI/LikeButton.tsx b/src/components/UI/LikeButton.tsx index 3de61be..189f579 100644 --- a/src/components/UI/LikeButton.tsx +++ b/src/components/UI/LikeButton.tsx @@ -25,7 +25,9 @@ interface LikeButtonProps { projectsLikes: Like[]; } -const LikeButton: React.FC = ({ itemId, projectsLikes }) => { +function LikeButton(props: LikeButtonProps): React.ReactElement { + const { itemId, projectsLikes } = props; + const [wasLiked, setWasLiked] = useState(false); const [likeCount, setLikeCount] = useState(0); const [error, setError] = useState(false); @@ -164,6 +166,6 @@ const LikeButton: React.FC = ({ itemId, projectsLikes }) => { )} ); -}; +} export default LikeButton; diff --git a/src/components/UI/LineCount.tsx b/src/components/UI/LineCount.tsx index 2abebff..b089472 100644 --- a/src/components/UI/LineCount.tsx +++ b/src/components/UI/LineCount.tsx @@ -1,6 +1,6 @@ import React, { useEffect, useState } from 'react'; -const LineCount: React.FC = () => { +function LineCount(): React.ReactElement { const [windowHeight, setWindowHeight] = useState(window.innerHeight); const spanHeight = 24; // ? 24px. @@ -29,6 +29,6 @@ const LineCount: React.FC = () => { ))} ); -}; +} export default LineCount; diff --git a/src/components/UI/Navbar.tsx b/src/components/UI/Navbar.tsx index 77d6ffc..09d2f59 100644 --- a/src/components/UI/Navbar.tsx +++ b/src/components/UI/Navbar.tsx @@ -16,7 +16,7 @@ import { LuSquareStack } from 'react-icons/lu'; import '../../styles/UI/Navbar.scss'; -const Navbar: React.FC = () => { +function Navbar(): React.ReactElement { const [isOpen, setIsOpen] = useState(false); const [windowWidth, setWindowWidth] = useState(window.innerWidth); const minWith = 768; @@ -169,6 +169,6 @@ const Navbar: React.FC = () => { ); -}; +} export default Navbar; diff --git a/src/components/UI/SplideCarousel.tsx b/src/components/UI/SplideCarousel.tsx index a99e0f1..2d9b468 100644 --- a/src/components/UI/SplideCarousel.tsx +++ b/src/components/UI/SplideCarousel.tsx @@ -7,50 +7,50 @@ import SplideCarouselSlide from './SplideCarouselSlide.tsx'; import getRandomId from '../../utils/getRandomId.ts'; -/* eslint-disable no-undef */ interface SplideCarouselProps { projectsGroup: Array<{}>; projectsLikes: Array<{}>; } -const SplideCarousel: React.FC = ({ - projectsGroup, - projectsLikes, -}) => ( - <> - + - {projectsGroup.map((projectData) => ( - - ))} - - -); + }} + > + {projectsGroup.map((projectData) => ( + + ))} + + + ); +} export default SplideCarousel; diff --git a/src/components/UI/SplideCarouselSlide.tsx b/src/components/UI/SplideCarouselSlide.tsx index 2f37469..1df503d 100644 --- a/src/components/UI/SplideCarouselSlide.tsx +++ b/src/components/UI/SplideCarouselSlide.tsx @@ -4,7 +4,6 @@ import { SplideSlide } from '@splidejs/react-splide'; import LikeButton from './LikeButton.tsx'; -/* eslint-disable no-undef */ interface SplideCarouselSlideProps { projectData: { id: string; @@ -27,64 +26,67 @@ interface SplideCarouselSlideProps { projectsLikes: Array<{}>; } -const SplideCarouselSlide: React.FC = ({ - projectData, - projectsLikes, -}) => ( - -
-
- {projectData.data.img.alt} - - {`${projectData.projectType} project`} - -
-
-
-

- {projectData.data.projectName.name1} -
- {projectData.data.projectName.name2} -

-
-
- Description -

{projectData.data.description.join(' ')}

-
- -
-
- {projectData.data.stack.map((stackItem) => ( - - {stackItem} -   - - ))} -
-
- - Live version - - - Source code - +function SplideCarouselSlide(props: SplideCarouselSlideProps) { + const { projectData, projectsLikes } = props; + return ( + +
+
+ {projectData.data.img.alt} + + {`${projectData.projectType} project`} + +
+
+
+

+ {projectData.data.projectName.name1} +
+ {projectData.data.projectName.name2} +

+
+
+ Description +

{projectData.data.description.join(' ')}

+
+ +
+
+ {projectData.data.stack.map((stackItem) => ( + + {stackItem} +   + + ))} +
+
-
- -); + + ); +} export default SplideCarouselSlide; From 83a8bd0220a12d87ceb3fba7967c8d14835d9adf Mon Sep 17 00:00:00 2001 From: ITurres Date: Wed, 10 Apr 2024 22:14:11 -0300 Subject: [PATCH 4/5] Fix: 'LikeButton' non-persistent liked style - Fixed by swapping the 'toggle' method for 'add' method at 'styleButton' function to always persist the liked style on the 'LikeButton' component when user keep liking the same project. - Simplify all the 'setWasLiked' method logic to just toggle the 'wasLiked' state value, without the need to check the previous value. --- src/components/UI/LikeButton.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/components/UI/LikeButton.tsx b/src/components/UI/LikeButton.tsx index 189f579..22a90f5 100644 --- a/src/components/UI/LikeButton.tsx +++ b/src/components/UI/LikeButton.tsx @@ -38,7 +38,7 @@ function LikeButton(props: LikeButtonProps): React.ReactElement { const styleButton = useCallback(() => { if (wasLiked) { - likeBtn.current?.classList.toggle('liked'); + likeBtn.current?.classList.add('liked'); } }, [wasLiked]); @@ -100,13 +100,15 @@ function LikeButton(props: LikeButtonProps): React.ReactElement { const handleLikeSubmit = async () => { // ? Since 'wasLiked' was false, now it will be set to true. This is to // ? trigger the function 'styleButton' to add the 'liked' class to the button. - setWasLiked((wasLiked) => !wasLiked); + setWasLiked(true); // * shows an instant update of the like count. if (!wasLiked) { setLikeCount((count) => count + 1); // * set 'wasLiked' to false, so that the user can like the project again. - setWasLiked((wasLiked) => !wasLiked); + setTimeout(() => { + setWasLiked(false); + }, 1000); } if (projectsLikes[0].error || error) { From fe85f134cb8f25a1274fd3a2216039c99c010fe3 Mon Sep 17 00:00:00 2001 From: ITurres Date: Sat, 13 Apr 2024 13:26:37 -0300 Subject: [PATCH 5/5] Chore: Update 'gh-pages' version from 1.66.1 to 6.1.1 --- package-lock.json | 109 +++++++++++++--------------------------------- package.json | 2 +- 2 files changed, 32 insertions(+), 79 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5544ea6..1f060d0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-react": "^7.33.0", "eslint-plugin-react-hooks": "^4.6.0", - "gh-pages": "^5.0.0", + "gh-pages": "^6.1.1", "sass": "^1.66.1", "stylelint": "^13.13.1", "stylelint-config-standard": "^21.0.0", @@ -8553,17 +8553,6 @@ "node": ">=8" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -8625,14 +8614,6 @@ "node": ">=6" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -8680,17 +8661,17 @@ } }, "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dev": true, "dependencies": { "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=14.14" } }, "node_modules/fs-monkey": { @@ -8841,17 +8822,17 @@ } }, "node_modules/gh-pages": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", - "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.1.1.tgz", + "integrity": "sha512-upnohfjBwN5hBP9w2dPE7HO5JJTHzSGMV1JrLrHvNuqmjoYHg6TBrCcnEoorjG/e0ejbuvnwyKMdTyM40PEByw==", "dev": true, "dependencies": { "async": "^3.2.4", - "commander": "^2.18.0", + "commander": "^11.0.0", "email-addresses": "^5.0.0", "filenamify": "^4.3.0", "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", + "fs-extra": "^11.1.1", "globby": "^6.1.0" }, "bin": { @@ -8874,6 +8855,15 @@ "node": ">=0.10.0" } }, + "node_modules/gh-pages/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, "node_modules/gh-pages/node_modules/globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", @@ -12443,10 +12433,12 @@ } }, "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -16377,17 +16369,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/react-scripts/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/react-scripts/node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -16477,14 +16458,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/react-scripts/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/react-scripts/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -19324,12 +19297,11 @@ } }, "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "engines": { - "node": ">= 4.0.0" + "node": ">= 10.0.0" } }, "node_modules/unpipe": { @@ -20160,17 +20132,6 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, - "node_modules/workbox-build/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/workbox-build/node_modules/source-map": { "version": "0.8.0-beta.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", @@ -20190,14 +20151,6 @@ "punycode": "^2.1.0" } }, - "node_modules/workbox-build/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/workbox-build/node_modules/webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", diff --git a/package.json b/package.json index bb71bcb..f2772c4 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-react": "^7.33.0", "eslint-plugin-react-hooks": "^4.6.0", - "gh-pages": "^5.0.0", + "gh-pages": "^6.1.1", "sass": "^1.66.1", "stylelint": "^13.13.1", "stylelint-config-standard": "^21.0.0",