From e34ca2a81295bb9f60a3be37d45db689409f54c9 Mon Sep 17 00:00:00 2001
From: wjy308 <65326956+wjy308@users.noreply.github.com>
Date: Sun, 5 May 2024 20:19:51 +0900
Subject: [PATCH 1/3] =?UTF-8?q?12=EC=A3=BC=EC=B0=A8=20=EB=AF=B8=EC=99=84?=
=?UTF-8?q?=EC=84=B1..?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 5 +
index.html | 12 +
package-lock.json | 4111 ++++++++++++++++++++
package.json | 24 +
src/App.css | 0
src/App.tsx | 19 +
src/CardList/CardList.css | 86 +
src/CardList/CardList.tsx | 41 +
src/CardList/FolderItem.tsx | 47 +
src/CardList/SearchIcon.ts | 1 +
src/Footer/Footer.css | 56 +
src/Footer/Footer.tsx | 70 +
src/Footer/Icon.ts | 4 +
src/NavigationBar/NavProfile.tsx | 31 +
src/NavigationBar/NavigationBar.css | 50 +
src/NavigationBar/NavigationBar.tsx | 31 +
src/Profile/Profile.css | 40 +
src/Profile/Profile.tsx | 39 +
src/SearchBar/SearchBar.css | 47 +
src/SearchBar/SearchBar.tsx | 17 +
src/SearchBar/SearchIcon.ts | 1 +
src/api/getUserFolder.ts | 101 +
src/api/getUserInfo.ts | 19 +
src/api/useAsync.ts | 36 +
src/api/useFolderAsync.ts | 40 +
src/colors.css | 53 +
src/common.css | 10 +
src/components/FolderCardList.tsx | 74 +
src/components/FolderCardListItem.tsx | 62 +
src/components/FolderCardListItemStyled.ts | 29 +
src/components/FolderList.css | 39 +
src/components/FolderList.tsx | 55 +
src/components/FolderListMenu.tsx | 48 +
src/components/InputAddLink.css | 57 +
src/components/InputAddLink.tsx | 20 +
src/components/KebabButton.tsx | 78 +
src/components/LinkIcon.ts | 1 +
src/components/LinkList.js | 0
src/components/Test.js | 51 +
src/components/Testt.js | 49 +
src/components/modal/DeleteModal.tsx | 28 +
src/components/modal/DeleteModalStyled.tsx | 65 +
src/global.css | 3 +
src/index.css | 0
src/index.tsx | 17 +
src/page/Folder.module.css | 0
src/page/Folder.tsx | 18 +
src/page/Shared.tsx | 19 +
src/react-app-env.d copy.ts | 2 +
src/react-app-env.d.ts | 74 +
src/reportWebVitals.js | 13 +
src/reportWebVitals.ts | 15 +
src/reset.css | 24 +
src/setupTests.js | 5 +
src/setupTests.ts | 5 +
src/util/getClapsedTime.ts | 51 +
tsconfig.json | 20 +
vite.config.ts | 9 +
58 files changed, 5922 insertions(+)
create mode 100644 .gitignore
create mode 100644 index.html
create mode 100644 package-lock.json
create mode 100644 package.json
create mode 100644 src/App.css
create mode 100644 src/App.tsx
create mode 100644 src/CardList/CardList.css
create mode 100644 src/CardList/CardList.tsx
create mode 100644 src/CardList/FolderItem.tsx
create mode 100644 src/CardList/SearchIcon.ts
create mode 100644 src/Footer/Footer.css
create mode 100644 src/Footer/Footer.tsx
create mode 100644 src/Footer/Icon.ts
create mode 100644 src/NavigationBar/NavProfile.tsx
create mode 100644 src/NavigationBar/NavigationBar.css
create mode 100644 src/NavigationBar/NavigationBar.tsx
create mode 100644 src/Profile/Profile.css
create mode 100644 src/Profile/Profile.tsx
create mode 100644 src/SearchBar/SearchBar.css
create mode 100644 src/SearchBar/SearchBar.tsx
create mode 100644 src/SearchBar/SearchIcon.ts
create mode 100644 src/api/getUserFolder.ts
create mode 100644 src/api/getUserInfo.ts
create mode 100644 src/api/useAsync.ts
create mode 100644 src/api/useFolderAsync.ts
create mode 100644 src/colors.css
create mode 100644 src/common.css
create mode 100644 src/components/FolderCardList.tsx
create mode 100644 src/components/FolderCardListItem.tsx
create mode 100644 src/components/FolderCardListItemStyled.ts
create mode 100644 src/components/FolderList.css
create mode 100644 src/components/FolderList.tsx
create mode 100644 src/components/FolderListMenu.tsx
create mode 100644 src/components/InputAddLink.css
create mode 100644 src/components/InputAddLink.tsx
create mode 100644 src/components/KebabButton.tsx
create mode 100644 src/components/LinkIcon.ts
create mode 100644 src/components/LinkList.js
create mode 100644 src/components/Test.js
create mode 100644 src/components/Testt.js
create mode 100644 src/components/modal/DeleteModal.tsx
create mode 100644 src/components/modal/DeleteModalStyled.tsx
create mode 100644 src/global.css
create mode 100644 src/index.css
create mode 100644 src/index.tsx
create mode 100644 src/page/Folder.module.css
create mode 100644 src/page/Folder.tsx
create mode 100644 src/page/Shared.tsx
create mode 100644 src/react-app-env.d copy.ts
create mode 100644 src/react-app-env.d.ts
create mode 100644 src/reportWebVitals.js
create mode 100644 src/reportWebVitals.ts
create mode 100644 src/reset.css
create mode 100644 src/setupTests.js
create mode 100644 src/setupTests.ts
create mode 100644 src/util/getClapsedTime.ts
create mode 100644 tsconfig.json
create mode 100644 vite.config.ts
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000..d451ff16c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+node_modules
+.DS_Store
+dist
+dist-ssr
+*.local
diff --git a/index.html b/index.html
new file mode 100644
index 000000000..b0dbc3568
--- /dev/null
+++ b/index.html
@@ -0,0 +1,12 @@
+
+
+
+ */
diff --git a/src/CardList/CardList.tsx b/src/CardList/CardList.tsx
new file mode 100644
index 000000000..4d119d4a6
--- /dev/null
+++ b/src/CardList/CardList.tsx
@@ -0,0 +1,41 @@
+import "./CardList.css";
+import { useAsync } from "../api/useAsync";
+import FolderItem from "./FolderItem";
+import SearchBar from "../SearchBar/SearchBar";
+import React from "react";
+
+export const CardList = () => {
+ const { userInfo, userFolder, loading, error } = useAsync();
+
+ // 로딩 중일 때
+ if (loading) {
+ return
Loading...
;
+ }
+
+ // 에러 발생 시
+ if (error) {
+ return
Error: {error.message}
;
+ }
+
+ // 사용자 정보가 없을 때, 폴더가 없을 때
+ if (!userInfo) {
+ return null;
+ }
+ if (!userFolder) {
+ return null;
+ }
+ const folderLinks = Object.keys(userFolder.folder.links);
+
+ return (
+
+
+
+ {userFolder.folder.links.map((link) => (
+
+
+
+ ))}
+
+
+ );
+};
diff --git a/src/CardList/FolderItem.tsx b/src/CardList/FolderItem.tsx
new file mode 100644
index 000000000..f999fc862
--- /dev/null
+++ b/src/CardList/FolderItem.tsx
@@ -0,0 +1,47 @@
+import { format } from "date-fns/format";
+import { getElapsedTime } from "../util/getClapsedTime";
+import { useState } from "react";
+import React from "react";
+
+interface ItemProps {
+ item: {
+ createdAt: string;
+ imageSource?: string;
+ url: string;
+ description: string;
+ };
+}
+
+function FolderItem({ item }: ItemProps) {
+ const createdAd = getElapsedTime(item.createdAt);
+ const DEFAULT_IMAGE = "../assets/card-default.png";
+ const [isHovered, setIsHovered] = useState(false);
+ const handleMouseOver = () => setIsHovered(true);
+ const handleMouseLeave = () => setIsHovered(false);
+
+ return (
+
+
+
+
+
{createdAd}
+
{item.description}
+
+ {format(new Date(item.createdAt), "yyyy. MM. dd")}
+
+
+
+
+ );
+}
+export default FolderItem;
diff --git a/src/CardList/SearchIcon.ts b/src/CardList/SearchIcon.ts
new file mode 100644
index 000000000..e4e880097
--- /dev/null
+++ b/src/CardList/SearchIcon.ts
@@ -0,0 +1 @@
+export const SEARCH_ICON = "../assets/Search.svg";
diff --git a/src/Footer/Footer.css b/src/Footer/Footer.css
new file mode 100644
index 000000000..76f7fb709
--- /dev/null
+++ b/src/Footer/Footer.css
@@ -0,0 +1,56 @@
+.Footer {
+ display: flex;
+ justify-content: center;
+ width: 100%;
+ height: 160px;
+ margin-top: 4rem;
+ background-color: var(--black);
+
+ @media (min-width: 768px) {
+ margin-top: 6rem;
+ }
+}
+
+.Footer-items {
+ display: grid;
+ justify-content: space-between;
+ grid-template:
+ "footer-links sns"
+ ". ." 1fr
+ "copyright .";
+ width: 100%;
+ padding: 32px;
+ color: var(--text-gray);
+ font-size: 16px;
+ font-family: Arial;
+
+ @media (min-width: 768px) {
+ grid-template: "copyright footer-links sns";
+ height: fit-content;
+ max-width: 192rem;
+ padding: 3.2rem 10.4rem 0;
+ }
+}
+
+.Footer-copyright {
+ grid-area: copyright;
+ color: #676767;
+ font-family: Arial;
+ font-size: 16px;
+}
+
+.Footer-links {
+ grid-area: footer-links;
+ display: flex;
+ column-gap: 3rem;
+ padding-right: 1.8rem;
+ color: #cfcfcf;
+ font-family: Arial;
+ font-size: 16px;
+}
+
+.Footer-sns {
+ grid-area: sns;
+ display: flex;
+ column-gap: 1.2rem;
+}
diff --git a/src/Footer/Footer.tsx b/src/Footer/Footer.tsx
new file mode 100644
index 000000000..fd0ed869c
--- /dev/null
+++ b/src/Footer/Footer.tsx
@@ -0,0 +1,70 @@
+import {
+ FACEBOOK_ICON,
+ INSTAGRAM_ICON,
+ TWITTER_ICON,
+ YOUTUBE_ICON,
+} from "./Icon";
+import "./Footer.css";
+import React from "react";
+
+function Footer() {
+ return (
+
+ );
+}
+
+export default Footer;
diff --git a/src/Footer/Icon.ts b/src/Footer/Icon.ts
new file mode 100644
index 000000000..9357a9263
--- /dev/null
+++ b/src/Footer/Icon.ts
@@ -0,0 +1,4 @@
+export const FACEBOOK_ICON = "../assets/icn_facebook.png";
+export const INSTAGRAM_ICON = "../assets/icn_instagram.png";
+export const TWITTER_ICON = "../assets/icn_twitter.png";
+export const YOUTUBE_ICON = "../assets/icn_youtube.png";
diff --git a/src/NavigationBar/NavProfile.tsx b/src/NavigationBar/NavProfile.tsx
new file mode 100644
index 000000000..c8bc5446e
--- /dev/null
+++ b/src/NavigationBar/NavProfile.tsx
@@ -0,0 +1,31 @@
+import { useAsync } from "../api/useAsync";
+import React from "react";
+
+function NavProfile() {
+ const { userInfo, userFolder, loading, error } = useAsync();
+ // 로딩 중일 때
+ if (loading) {
+ return
Loading...
;
+ }
+
+ // 에러 발생 시
+ if (error) {
+ return
Error: {error.message}
;
+ }
+
+ // 사용자 정보가 없을 때
+ if (!userInfo) {
+ return null;
+ }
+ return (
+ <>
+
+
{userInfo.email}
+ >
+ );
+}
+export default NavProfile;
diff --git a/src/NavigationBar/NavigationBar.css b/src/NavigationBar/NavigationBar.css
new file mode 100644
index 000000000..db6decfb2
--- /dev/null
+++ b/src/NavigationBar/NavigationBar.css
@@ -0,0 +1,50 @@
+.NavigationBar {
+ display: flex;
+ justify-items: center;
+ position: sticky;
+ background-color: var(--light-blue);
+ width: 100%;
+ top: 0;
+ align-items: center;
+ z-index: 1;
+}
+
+.NavigationBar-items {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ width: 100%;
+ padding: 0 32px;
+ height: 63px;
+}
+
+.NavigationBar-profile {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.NavigationBar-profile-img {
+ width: 28px;
+ height: 28px;
+ border-radius: 9999px;
+}
+
+.NavaigationBar-profile-email {
+ margin-left: 10px;
+ display: none;
+}
+
+@media (min-width: 768px) {
+ .NavigationBar {
+ height: 93px;
+ }
+ .NavigationBar-logo {
+ width: 133px;
+ height: 24px;
+ }
+
+ .NavaigationBar-profile-email {
+ display: block;
+ }
+}
diff --git a/src/NavigationBar/NavigationBar.tsx b/src/NavigationBar/NavigationBar.tsx
new file mode 100644
index 000000000..1f8a738df
--- /dev/null
+++ b/src/NavigationBar/NavigationBar.tsx
@@ -0,0 +1,31 @@
+import { useAsync } from "../api/useAsync";
+import NavProfile from "./NavProfile";
+import "./NavigationBar.css";
+import React from "react";
+
+function NavigationBar({ position }: any) {
+ const { userInfo, userFolder, loading, error } = useAsync();
+
+ return (
+
+ );
+}
+
+export default NavigationBar;
diff --git a/src/Profile/Profile.css b/src/Profile/Profile.css
new file mode 100644
index 000000000..33fc52d5a
--- /dev/null
+++ b/src/Profile/Profile.css
@@ -0,0 +1,40 @@
+.Profile {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-self: center;
+ background-color: var(--light-blue);
+}
+
+.Profile-img {
+ margin-top: 30px;
+ border-radius: 9999px;
+ width: 40px;
+ height: 40px;
+}
+
+.Profile-name {
+ margin-top: 10px;
+ font-size: 14px;
+ font-weight: 400;
+}
+
+.Profile-folderName {
+ margin-top: 10px;
+ margin-bottom: 50px;
+ font-size: 32px;
+ font-weight: 600;
+}
+
+@media (min-width: 768px) {
+ .Profile-img {
+ width: 60px;
+ height: 60px;
+ }
+ .Profile-name {
+ font-size: 16px;
+ }
+ .Profile-folderName {
+ font-size: 40px;
+ }
+}
diff --git a/src/Profile/Profile.tsx b/src/Profile/Profile.tsx
new file mode 100644
index 000000000..57908d57f
--- /dev/null
+++ b/src/Profile/Profile.tsx
@@ -0,0 +1,39 @@
+import { getUserInfo } from "../api/getUserInfo";
+import { useAsync } from "../api/useAsync";
+import { useState, useEffect } from "react";
+import "./Profile.css";
+import { getUserFolder } from "../api/getUserFolder";
+import React from "react";
+
+function Profile() {
+ const { userInfo, userFolder, loading, error } = useAsync();
+
+ // 로딩 중일 때
+ if (loading) {
+ return
Loading...
;
+ }
+
+ // 에러 발생 시
+ if (error) {
+ return
Error: {error.message}
;
+ }
+
+ // 사용자 정보가 없을 때
+ if (!userInfo || !userFolder) {
+ return null;
+ }
+ // 사용자 정보 출력
+ return (
+
+
+
{userFolder.folder.owner.name}
+
{userFolder.folder.name}
+
+ );
+}
+
+export default Profile;
diff --git a/src/SearchBar/SearchBar.css b/src/SearchBar/SearchBar.css
new file mode 100644
index 000000000..3684281bc
--- /dev/null
+++ b/src/SearchBar/SearchBar.css
@@ -0,0 +1,47 @@
+.SearchBar {
+ position: relative;
+ width: 325px;
+ margin-left: 50px;
+ margin-right: 50px;
+ margin-top: 20px;
+ max-width: 1124px;
+}
+
+.SearchBar-InputSearch {
+ background-color: var(--gray-light);
+ height: 43px;
+ width: 100%;
+ border-radius: 10px;
+ padding-left: 13%;
+ padding-right: 8%;
+}
+
+.SearchBar-InputSearch-icon {
+ position: absolute;
+ top: 35%;
+ left: 5%;
+}
+
+@media (min-width: 768px) {
+ .SearchBar {
+ width: 745px;
+ }
+ .SearchBar-InputSearch {
+ padding-left: 10%;
+ padding-right: 8%;
+ }
+}
+
+@media (min-width: 1124px) {
+ .SearchBar {
+ width: 1050px;
+ }
+
+ .SearchBar-InputSearch-icon {
+ left: 2%;
+ }
+
+ .SearchBar-InputSearch {
+ padding-left: 5%;
+ }
+}
diff --git a/src/SearchBar/SearchBar.tsx b/src/SearchBar/SearchBar.tsx
new file mode 100644
index 000000000..ad3ec1ea4
--- /dev/null
+++ b/src/SearchBar/SearchBar.tsx
@@ -0,0 +1,17 @@
+import { SEARCH_ICON } from "./SearchIcon";
+import "./SearchBar.css";
+import React from "react";
+
+function SearchBar() {
+ return (
+
+
+
+
+ );
+}
+
+export default SearchBar;
diff --git a/src/SearchBar/SearchIcon.ts b/src/SearchBar/SearchIcon.ts
new file mode 100644
index 000000000..e4e880097
--- /dev/null
+++ b/src/SearchBar/SearchIcon.ts
@@ -0,0 +1 @@
+export const SEARCH_ICON = "../assets/Search.svg";
diff --git a/src/api/getUserFolder.ts b/src/api/getUserFolder.ts
new file mode 100644
index 000000000..6606a3010
--- /dev/null
+++ b/src/api/getUserFolder.ts
@@ -0,0 +1,101 @@
+const BASE_URL = "https://bootcamp-api.codeit.kr/api";
+
+interface LinksProps {
+ id: number;
+ createdAt: string;
+ url: string;
+ title: string;
+ description: string;
+ imageSource?: string;
+}
+interface Folder {
+ id: number;
+ count: number;
+ links: LinksProps[];
+ name: string;
+ owner: {
+ id: number;
+ name: string;
+ profileImageSource: string;
+ };
+}
+export interface GetUserFolderProps {
+ folder: Folder;
+}
+
+interface LinkCountProps {
+ count: number;
+}
+interface FolderDataProps {
+ id: number;
+ created_at: string;
+ name: string;
+ user_id: number;
+ favorite: boolean;
+ links: LinkCountProps[];
+}
+export interface GetFolderListProps {
+ data: FolderDataProps[];
+}
+
+interface LinksProps2 {
+ id: number;
+ created_at: string;
+ description: string;
+ folder_id: number;
+ image_source: string;
+ title: string;
+ updated_at: string | null;
+ url: string;
+}
+export interface GetAllFolderListProps {
+ data: LinksProps2[];
+}
+
+export const getUserFolder = async (): Promise
=> {
+ const response = await fetch(`${BASE_URL}/sample/folder`, {
+ method: "GET",
+ });
+ if (!response.ok) {
+ throw new Error("폴더정보 불러오기 실패");
+ }
+ const { folder } = await response.json();
+
+ return { folder };
+};
+
+export const getFolderList = async (): Promise => {
+ const response = await fetch(`${BASE_URL}/users/1/folders`, {
+ method: "GET",
+ });
+ if (!response.ok) {
+ throw new Error("폴더정보 불러오기 실패");
+ }
+ const folder = await response.json();
+ return folder;
+};
+
+export const getAllFolderList = async (): Promise => {
+ const response = await fetch(`${BASE_URL}/users/1/links`, {
+ method: "GET",
+ });
+ if (!response.ok) {
+ throw new Error("폴더정보 불러오기 실패");
+ }
+ const folder = await response.json();
+ return folder;
+};
+
+export const getFolderListById = async (folderId: number) => {
+ const response = await fetch(
+ `${BASE_URL}/users/1/links?folderId=${folderId}`,
+ {
+ method: "GET",
+ }
+ );
+ if (!response.ok) {
+ throw new Error("폴더정보 불러오기 실패");
+ }
+ const folder = await response.json();
+ return folder;
+};
diff --git a/src/api/getUserInfo.ts b/src/api/getUserInfo.ts
new file mode 100644
index 000000000..1b8acb03f
--- /dev/null
+++ b/src/api/getUserInfo.ts
@@ -0,0 +1,19 @@
+const BASE_URL = "https://bootcamp-api.codeit.kr/api";
+
+export interface UserInfo {
+ name: string;
+ id: string;
+ email: string;
+ profileImageSource?: string;
+}
+
+export const getUserInfo = async (): Promise => {
+ const response = await fetch(`${BASE_URL}/sample/user`, {
+ method: "GET",
+ });
+ if (!response.ok) {
+ throw new Error("유저 불러오기 실패");
+ }
+ const { name, id, email, profileImageSource } = await response.json();
+ return { name, id, email, profileImageSource };
+};
diff --git a/src/api/useAsync.ts b/src/api/useAsync.ts
new file mode 100644
index 000000000..adaaf5995
--- /dev/null
+++ b/src/api/useAsync.ts
@@ -0,0 +1,36 @@
+import { useState, useEffect } from "react";
+import { getUserInfo, UserInfo } from "./getUserInfo";
+import { getUserFolder, GetUserFolderProps } from "./getUserFolder";
+
+export function useAsync() {
+ const [loading, setLoading] = useState(true);
+ const [error, setError] = useState(null);
+ const [userInfo, setUserInfo] = useState(null);
+ const [userFolder, setUserFolder] = useState(null);
+
+ useEffect(() => {
+ const fetchData = async () => {
+ try {
+ // getUserInfo 함수 호출
+ const userInfo = await getUserInfo();
+ const userFolder = await getUserFolder();
+ // 반환된 사용자 정보 업데이트
+ setUserInfo(userInfo);
+ setUserFolder(userFolder);
+ setLoading(false); // 로딩 상태 변경
+ } catch (error: unknown) {
+ if (error instanceof Error) {
+ setError(error);
+ } else {
+ setError(new Error("Unknown error occurred"));
+ }
+ setLoading(false);
+ }
+ };
+
+ fetchData(); // fetchData 함수 호출
+ }, []);
+ console.log("here: ");
+
+ return { userInfo, userFolder, loading, error }; // 상태를 반환
+}
diff --git a/src/api/useFolderAsync.ts b/src/api/useFolderAsync.ts
new file mode 100644
index 000000000..de3b755a6
--- /dev/null
+++ b/src/api/useFolderAsync.ts
@@ -0,0 +1,40 @@
+import { useState, useEffect } from "react";
+import {
+ getFolderList,
+ getAllFolderList,
+ GetFolderListProps,
+ GetAllFolderListProps,
+} from "./getUserFolder";
+const BASE_URL = "https://bootcamp-api.codeit.kr/api";
+
+export function useFolderAsync() {
+ const [loading, setLoading] = useState(true);
+ const [error, setError] = useState(null);
+ const [folderList, setFolderList] = useState(null);
+ const [allFolderList, setAllFolderList] =
+ useState(null);
+
+ useEffect(() => {
+ const fetchData = async () => {
+ try {
+ const folderList = await getFolderList();
+ const allFolderList = await getAllFolderList();
+
+ setFolderList(folderList);
+ setAllFolderList(allFolderList);
+ setLoading(false); // 로딩 상태 변경
+ } catch (error: unknown) {
+ if (error instanceof Error) {
+ setError(error);
+ } else {
+ setError(new Error("Unknown error occurred"));
+ }
+ setLoading(false);
+ }
+ };
+
+ fetchData(); // fetchData 함수 호출
+ }, []);
+
+ return { folderList, allFolderList, loading, error }; // 상태를 반환
+}
diff --git a/src/colors.css b/src/colors.css
new file mode 100644
index 000000000..304fc9f4b
--- /dev/null
+++ b/src/colors.css
@@ -0,0 +1,53 @@
+:root {
+ --primary: #6d6afe;
+ --red: #ff5b56;
+ --black: #111322;
+ --white: #ffffff;
+
+ --gray100: #373740;
+ --gray60: #9fa6b2;
+ --gray20: #ccd5e3;
+ --gray10: #e7effb;
+ --gray-light: #f5f5f5;
+
+ --light-blue: #f0f6ff;
+
+ --text-gray: #676767;
+ --text-content-gray: #666666;
+ --text-content-black: #333333;
+}
+
+.text-gradient-yellow-to-sky {
+ background-image: linear-gradient(to right, #ffd88b, #6fbaff);
+ background-clip: text;
+ -webkit-background-clip: text;
+ color: transparent;
+}
+
+.text-gradient-blue-to-blue {
+ background-image: linear-gradient(to right, #528885, #6d7ccd);
+ background-clip: text;
+ -webkit-background-clip: text;
+ color: transparent;
+}
+
+.text-gradient-green-to-sky {
+ background-image: linear-gradient(to right, #68e8f9, #fe578f);
+ background-clip: text;
+ -webkit-background-clip: text;
+ color: transparent;
+}
+
+.text-gradient-purple-to-pink {
+ background-image: linear-gradient(to right, #6d6afe, #ff9f9f);
+ background-clip: text;
+ -webkit-background-clip: text;
+ color: transparent;
+}
+
+.text-gradient-pink-to-sky {
+ background-image: linear-gradient(to right, #fe8a8a, #a4ceff);
+ background-clip: text;
+ -webkit-background-clip: text;
+ color: transparent;
+}
diff --git a/src/common.css b/src/common.css
new file mode 100644
index 000000000..152735d1d
--- /dev/null
+++ b/src/common.css
@@ -0,0 +1,10 @@
+.btn {
+ background-image: linear-gradient(to right, #6d6afe, #6ae3fe);
+ border-radius: 8px;
+ color: #f5f5f5;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: none;
+ cursor: pointer;
+}
diff --git a/src/components/FolderCardList.tsx b/src/components/FolderCardList.tsx
new file mode 100644
index 000000000..a9828a269
--- /dev/null
+++ b/src/components/FolderCardList.tsx
@@ -0,0 +1,74 @@
+import "../CardList/CardList.css";
+import { useState, useEffect } from "react";
+import FolderCardListItem from "./FolderCardListItem";
+import React from "react";
+
+interface FolderIdProps {
+ folderId: number;
+}
+
+interface Folder {
+ id: number;
+ created_at: string;
+ description: string;
+ folder_id: number;
+ image_source: string;
+ title: string;
+ updated_at: string | null;
+ url: string;
+}
+interface FolderListResponse {
+ data: Folder[];
+}
+
+export const FolderCardList = ({ folderId }: FolderIdProps) => {
+ const [folderInfo, setFolderInfo] = useState(null); // 폴더 정보 상태
+ const BASE_URL = "https://bootcamp-api.codeit.kr/api";
+
+ useEffect(() => {
+ const getFolderListById = async () => {
+ try {
+ let response;
+ if (folderId) {
+ response = await fetch(
+ `${BASE_URL}/users/1/links?folderId=${folderId}`
+ );
+ } else {
+ response = await fetch(`${BASE_URL}/users/1/links`);
+ }
+
+ if (!response.ok) {
+ throw new Error("폴더 정보를 가져오는데 실패했습니다.");
+ }
+
+ const folderData = await response.json();
+ setFolderInfo(folderData); // 폴더 정보 상태 업데이트
+ } catch (error) {
+ console.error(error);
+ setFolderInfo(null); // 에러 발생 시 폴더 정보를 빈 배열로 초기화
+ }
+ };
+ // 폴더 정보 가져오는 함수 호출
+ getFolderListById();
+ }, [folderId]); // folderId가 변경될 때마다 호출
+
+ if (!folderInfo) {
+ return 로딩 중...
;
+ }
+
+ if (folderInfo.data && Array.isArray(folderInfo.data)) {
+ // 폴더 정보가 객체이고 그 안에 data 필드가 있는 경우, data를 사용하여 렌더링합니다.
+ return (
+
+ {folderInfo.data.map((item, index) => (
+
+
+
+ ))}
+
+ );
+ }
+
+ // 폴더 정보가 없거나 잘못된 형태인 경우 에러를 표시합니다.
+ return 폴더 정보를 불러오는 중 문제가 발생했습니다.
;
+};
diff --git a/src/components/FolderCardListItem.tsx b/src/components/FolderCardListItem.tsx
new file mode 100644
index 000000000..07f3330f7
--- /dev/null
+++ b/src/components/FolderCardListItem.tsx
@@ -0,0 +1,62 @@
+import { format } from "date-fns/format";
+import { getElapsedTime } from "../util/getClapsedTime";
+import { useState } from "react";
+import KebabButton from "./KebabButton";
+import React from "react";
+
+interface ItemProps {
+ created_at: string;
+ description: string;
+ folder_id: number;
+ id: number;
+ image_source: string;
+ title: string;
+ updated_at: string | null;
+ url: string;
+}
+
+interface ItemResponse {
+ item: ItemProps;
+}
+
+function FolderCardListItem({ item }: ItemResponse) {
+ const DEFAULT_IMAGE = "../assets/card-default.png";
+ const createdAd = getElapsedTime(item.created_at);
+ const [isHovered, setIsHovered] = useState(false);
+ const linkUrl = item.url;
+ const handleMouseOver = () => setIsHovered(true);
+ const handleMouseLeave = () => setIsHovered(false);
+ console.log("here: ", { item });
+
+ const handleDelete = () => {};
+
+ const handleAddToFolder = () => {};
+
+ return (
+
+
+
+
+
+
{createdAd}
+
{item.description}
+
+ {format(new Date(item.created_at), "yyyy. MM. dd")}
+
+
+
+
+ );
+}
+
+export default FolderCardListItem;
diff --git a/src/components/FolderCardListItemStyled.ts b/src/components/FolderCardListItemStyled.ts
new file mode 100644
index 000000000..fccbdd411
--- /dev/null
+++ b/src/components/FolderCardListItemStyled.ts
@@ -0,0 +1,29 @@
+import styled from "styled-components";
+
+export const KebabButton = styled.button`
+ background-image: url("../assets/kebab.png");
+ width: 1.4rem;
+ height: 1.4rem;
+ background-repeat: no-repeat;
+ background-size: contain;
+ background-position: center;
+ position: absolute;
+ top: 13%;
+ right: 7%;
+ z-index: 999;
+`;
+
+export const KebabContainer = styled.div`
+ position: relative;
+`;
+
+export const KebabMenu = styled.div`
+ position: absolute;
+ top: 100%;
+ right: 0;
+ display: none;
+ background-color: #fff;
+ border: 1px solid #ccc;
+ padding: 5px;
+ z-index: 1;
+`;
diff --git a/src/components/FolderList.css b/src/components/FolderList.css
new file mode 100644
index 000000000..01d42449b
--- /dev/null
+++ b/src/components/FolderList.css
@@ -0,0 +1,39 @@
+.FolderList_container {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ padding: 0 32px;
+ row-gap: 32px;
+ align-items: flex-start;
+}
+
+.FolderList_list-container {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ row-gap: 12px;
+}
+
+.FolderList_list_menu-container {
+ display: flex;
+ gap: 8px;
+ column-gap: 8px;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+.FolderList-button {
+ border-radius: 5px;
+ padding: 6px 10px;
+ border: 1px solid #6d6afe;
+ font-size: 16px;
+ text-align: center;
+ height: 37px;
+ transition: all 0.5s ease-in-out;
+ display: flex;
+ align-items: center;
+}
+
+.box {
+ position: relative;
+}
diff --git a/src/components/FolderList.tsx b/src/components/FolderList.tsx
new file mode 100644
index 000000000..5507485cd
--- /dev/null
+++ b/src/components/FolderList.tsx
@@ -0,0 +1,55 @@
+import { useState, useEffect } from "react";
+import SearchBar from "../SearchBar/SearchBar";
+import { useFolderAsync } from "../api/useFolderAsync";
+import FolderListMenu from "./FolderListMenu";
+import "./FolderList.css";
+import { CardList } from "../CardList/CardList";
+import { FolderCardList } from "./FolderCardList";
+import React from "react";
+
+interface FolderProps {
+ id: number;
+ name: string;
+}
+
+function FolderList() {
+ const { folderList, allFolderList, loading, error } = useFolderAsync();
+ const [selectedFolder, setSelectedFolder] = useState(
+ null
+ );
+ const [curFolder, setCurFolder] = useState(null);
+ const [folderId, setFolderId] = useState(0);
+
+ const handleFolderClick = (folder: any) => {
+ setSelectedFolder(folder);
+ if (folder) {
+ setFolderId(folder.id);
+ } else {
+ setFolderId(0);
+ }
+ };
+
+ return (
+
+
+
+
+
{selectedFolder ? selectedFolder.name : "전체"}
+ {selectedFolder && selectedFolder.name !== "전체" && (
+ <>
+
공유
+
이름 변경
+
삭제
+ >
+ )}
+
+
+
+ );
+}
+
+export default FolderList;
diff --git a/src/components/FolderListMenu.tsx b/src/components/FolderListMenu.tsx
new file mode 100644
index 000000000..a7a80b2d2
--- /dev/null
+++ b/src/components/FolderListMenu.tsx
@@ -0,0 +1,48 @@
+import React from "react";
+import { GetFolderListProps } from "../api/getUserFolder";
+
+interface FolderListMenuProps {
+ folderList: GetFolderListProps | null;
+ onFolderClick: any;
+ selectedFolder: any;
+}
+
+function FolderListMenu({
+ folderList,
+ onFolderClick,
+ selectedFolder,
+}: FolderListMenuProps) {
+ const handleMenuButtonClick = (folder: any) => {
+ onFolderClick(folder);
+ };
+
+ return (
+ <>
+ {folderList && folderList.data && folderList.data.length > 0 ? (
+
+
+ {folderList &&
+ folderList.data &&
+ folderList.data.map((folder) => (
+
+ ))}
+
+ ) : (
+ 저장된 링크가 없습니다.
+ )}
+ >
+ );
+}
+
+export default FolderListMenu;
diff --git a/src/components/InputAddLink.css b/src/components/InputAddLink.css
new file mode 100644
index 000000000..dda8395cb
--- /dev/null
+++ b/src/components/InputAddLink.css
@@ -0,0 +1,57 @@
+.InputAddLink-form {
+ background-color: var(--light-blue);
+ height: 117px;
+ width: 100%;
+ padding: 24px 32px 40px 32px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.InputAddLink-form-container {
+ position: relative;
+}
+
+.LinkIcon {
+ position: absolute;
+ top: 36%;
+ left: 5%;
+}
+
+.InputAddLink-input {
+ width: 325px;
+ height: 53px;
+ border-radius: 15px;
+ padding-left: 13%;
+ padding-right: 30%;
+ border: 1px solid blue;
+}
+
+.InputAddLink-btnAdd {
+ width: 80px;
+ height: 37px;
+ border-radius: 5px;
+ position: absolute;
+ top: 15%;
+ right: 3%;
+}
+
+@media (min-width: 768px) {
+ .LinkIcon {
+ left: 3%;
+ }
+ .InputAddLink-input {
+ width: 704px;
+ padding-left: 8%;
+ padding-right: 19%;
+ }
+ .InputAddLink-btnAdd {
+ right: 1%;
+ }
+}
+
+@media (min-width: 1124px) {
+ .InputAddLink-input {
+ width: 760px;
+ }
+}
diff --git a/src/components/InputAddLink.tsx b/src/components/InputAddLink.tsx
new file mode 100644
index 000000000..e9c3149de
--- /dev/null
+++ b/src/components/InputAddLink.tsx
@@ -0,0 +1,20 @@
+import "./InputAddLink.css";
+import { LINK_ICON } from "./LinkIcon";
+import React from "react";
+
+function InputAddLink() {
+ return (
+
+ );
+}
+
+export default InputAddLink;
diff --git a/src/components/KebabButton.tsx b/src/components/KebabButton.tsx
new file mode 100644
index 000000000..c9890420a
--- /dev/null
+++ b/src/components/KebabButton.tsx
@@ -0,0 +1,78 @@
+import { useState } from "react";
+import * as S from "./FolderCardListItemStyled";
+import styled from "styled-components";
+import DeleteModal from "./modal/DeleteModal";
+import React from "react";
+
+interface KebabButtonProps {
+ onAddToFolder: () => void;
+ linkUrl: string;
+}
+
+function KebabButton({ onAddToFolder, linkUrl }: KebabButtonProps) {
+ const [isMenuOpen, setIsMenuOpen] = useState(false);
+ const [isModalOpen, setIsModalOpen] = useState(false);
+ const togleMenu = (event: React.MouseEvent) => {
+ event.stopPropagation(); // 이벤트 전파 중단
+ setIsMenuOpen(!isMenuOpen);
+ };
+
+ const handleDelete = () => {
+ setIsMenuOpen(false);
+ setIsModalOpen(true);
+ };
+
+ const handleModalClose = () => {
+ setIsModalOpen(false);
+ };
+
+ return (
+
+
+ {isMenuOpen && (
+
+ 삭제하기
+
+ 폴더에 추가
+
+
+ )}
+ {isModalOpen && (
+
+ )}
+
+ );
+}
+
+const S_KebabContainer = styled.div`
+ position: relative;
+`;
+
+const S_KebabMenu = styled.div`
+ display: flex;
+ flex-direction: column;
+ width: 100px;
+ height: 64px;
+ box-shadow: 0 0.5rem 2.5rem 0 rgba(0, 0, 0, 0.08);
+ position: absolute;
+ top: calc(100% + 20px); /* 메뉴를 버튼 아래에 위치하고 약간의 여백을 둠 */
+ right: -20%;
+ background-color: white;
+ text-align: center;
+ font-size: 14px;
+`;
+const S_BtnDelete = styled.div`
+ display: flex;
+ height: 32px;
+ align-items: center;
+ justify-content: center;
+`;
+const S_BtnAddToFolder = styled.div`
+ display: flex;
+ height: 32px;
+ align-items: center;
+ justify-content: center;
+ background-color: #e7effb;
+ color: var(--primary);
+`;
+export default KebabButton;
diff --git a/src/components/LinkIcon.ts b/src/components/LinkIcon.ts
new file mode 100644
index 000000000..c0bf24a4f
--- /dev/null
+++ b/src/components/LinkIcon.ts
@@ -0,0 +1 @@
+export const LINK_ICON = "../assets/link.png";
diff --git a/src/components/LinkList.js b/src/components/LinkList.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/components/Test.js b/src/components/Test.js
new file mode 100644
index 000000000..4c93da411
--- /dev/null
+++ b/src/components/Test.js
@@ -0,0 +1,51 @@
+import "../CardList/CardList.css";
+import { useFolderAsync } from "../api/useFolderAsync";
+// import FolderItem from "../CardList/FolderItem";
+import { getFolderListById } from "../api/getUserFolder";
+import { useState, useEffect } from "react";
+export const FolderCardList = ({ folderId }) => {
+ const [folderInfo, setFolderInfo] = useState({}); // 폴더 정보 상태
+ const BASE_URL = "https://bootcamp-api.codeit.kr/api";
+
+ useEffect(() => {
+ const getFolderListById = async () => {
+ try {
+ let response;
+ if (folderId) {
+ response = await fetch(
+ `${BASE_URL}/users/1/links?folderId=${folderId}`
+ );
+ } else {
+ response = await fetch(`${BASE_URL}/users/1/links`);
+ }
+
+ if (!response.ok) {
+ throw new Error("폴더 정보를 가져오는데 실패했습니다.");
+ }
+
+ const folderData = await response.json();
+ setFolderInfo({ folderData }); // 폴더 정보 상태 업데이트
+ } catch (error) {
+ console.error(error);
+ }
+ };
+ // 폴더 정보 가져오는 함수 호출
+ getFolderListById();
+ }, [folderId]); // folderId가 변경될 때마다 호출
+
+ useEffect(() => {
+ console.log("폴더 정보:", folderInfo.folderData);
+ }, [folderInfo]);
+ return (
+
+ {folderInfo.folderData &&
+ folderInfo.folderData.map((item, index) => (
+
+
{item.title}
+
{item.description}
+ {/* 다른 정보들을 렌더링하는 코드를 추가하세요 */}
+
+ ))}
+
+ );
+};
diff --git a/src/components/Testt.js b/src/components/Testt.js
new file mode 100644
index 000000000..b8edd03cd
--- /dev/null
+++ b/src/components/Testt.js
@@ -0,0 +1,49 @@
+import React from "react";
+
+function Testt({ folderList, onFolderClick }) {
+ const handleMenuButtonClick = (folderId) => {
+ onFolderClick(folderId);
+ };
+
+ return (
+ <>
+ {folderList && folderList.data && folderList.data.length > 0 ? (
+
+
+ {folderList.data.map((folder) => (
+
+ ))}
+
+ ) : (
+ 저장된 폴더가 없습니다.
+ )}
+ >
+ );
+}
+
+// if (Array.isArray(folderInfo)) {
+// // 폴더 정보가 배열인 경우, 바로 렌더링합니다.
+// return (
+//
+// {folderInfo.map((item, index) => (
+//
+//
{item.title}
+//
{item.description}
+//
+// ))}
+//
+// );
+// }
+
+export default Testt;
diff --git a/src/components/modal/DeleteModal.tsx b/src/components/modal/DeleteModal.tsx
new file mode 100644
index 000000000..577d5fd74
--- /dev/null
+++ b/src/components/modal/DeleteModal.tsx
@@ -0,0 +1,28 @@
+import * as S from "./DeleteModalStyled";
+import React from "react";
+
+interface DeleteModalProps {
+ linkUrl: string;
+ onClose: () => void;
+}
+
+function DeleteModal({ linkUrl, onClose }: DeleteModalProps) {
+ const handleModalBackgroundClick = () => {
+ onClose();
+ };
+ return (
+ <>
+
+
+
+ 링크 삭제
+
+ {linkUrl}
+
+ 삭제하기
+
+ >
+ );
+}
+
+export default DeleteModal;
diff --git a/src/components/modal/DeleteModalStyled.tsx b/src/components/modal/DeleteModalStyled.tsx
new file mode 100644
index 000000000..b32835f79
--- /dev/null
+++ b/src/components/modal/DeleteModalStyled.tsx
@@ -0,0 +1,65 @@
+import React from "react";
+import styled from "styled-components";
+
+export const ModalOverlay = styled.div`
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-color: rgba(0, 0, 0, 0.4); /* 배경 흐림 효과 */
+ z-index: 1000; /* 다른 요소들보다 위에 위치 */
+`;
+
+export const Container = styled.div`
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 320px;
+ height: 193px;
+ background-color: white;
+ border-radius: 15px;
+ padding: 32px 40px;
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ z-index: 1001;
+ gap: 5px;
+`;
+
+export const EixtButton = styled.button`
+ background-image: url("../../assets/Group19.png");
+`;
+
+export const Title = styled.p`
+ font-size: 20px;
+ font-weight: 700;
+`;
+
+export const urlWrapper = styled.div`
+ display: flex;
+ flex-direction: column; /* 세로 방향으로 아이템을 정렬 */
+ width: 100%;
+ overflow-x: hidden; /* 텍스트가 넘치는 부분을 숨김 */
+ overflow: hidden;
+ justify-content: center;
+ text-align: center;
+`;
+
+export const LinkUrl = styled.p`
+ color: var(--gray60);
+ font-size: 14px;
+ white-space: nowrap; /* 텍스트가 한 줄에만 표시되도록 함 */
+ overflow-y: visible; /* 텍스트가 상하로 자유롭게 표시되도록 함 */
+`;
+
+export const DeleteButton = styled.button`
+ background-color: var(--red);
+ color: white;
+ width: 280px;
+ height: 51px;
+ border-radius: 8px;
+ padding: 16px 20px;
+ margin-top: 25px;
+`;
diff --git a/src/global.css b/src/global.css
new file mode 100644
index 000000000..627ffe84d
--- /dev/null
+++ b/src/global.css
@@ -0,0 +1,3 @@
+@import "./colors.css";
+@import "./reset.css";
+@import "./common.css";
diff --git a/src/index.css b/src/index.css
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/index.tsx b/src/index.tsx
new file mode 100644
index 000000000..1bef6229e
--- /dev/null
+++ b/src/index.tsx
@@ -0,0 +1,17 @@
+import React from "react";
+import ReactDOM from "react-dom/client";
+import "./index.css";
+import App from "./App";
+
+const root = ReactDOM.createRoot(
+ document.getElementById("root") as HTMLElement
+);
+root.render(
+
+
+
+);
+
+// If you want to start measuring performance in your app, pass a function
+// to log results (for example: reportWebVitals(console.log))
+// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
diff --git a/src/page/Folder.module.css b/src/page/Folder.module.css
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/page/Folder.tsx b/src/page/Folder.tsx
new file mode 100644
index 000000000..a551c8567
--- /dev/null
+++ b/src/page/Folder.tsx
@@ -0,0 +1,18 @@
+import Footer from "../Footer/Footer";
+import NavigationBar from "../NavigationBar/NavigationBar";
+import FolderList from "../components/FolderList";
+import InputAddLink from "../components/InputAddLink";
+import React from "react";
+
+function Folder() {
+ return (
+ <>
+
+
+
+
+ >
+ );
+}
+
+export default Folder;
diff --git a/src/page/Shared.tsx b/src/page/Shared.tsx
new file mode 100644
index 000000000..fc388cdd1
--- /dev/null
+++ b/src/page/Shared.tsx
@@ -0,0 +1,19 @@
+import "../App.css";
+import NavigationBar from "../NavigationBar/NavigationBar.js";
+import Profile from "../Profile/Profile.js";
+import { CardList } from "../CardList/CardList.js";
+import Footer from "../Footer/Footer.js";
+import React from "react";
+
+function Shared() {
+ return (
+ <>
+
+
+
+
+ >
+ );
+}
+
+export default Shared;
diff --git a/src/react-app-env.d copy.ts b/src/react-app-env.d copy.ts
new file mode 100644
index 000000000..6970dbc1c
--- /dev/null
+++ b/src/react-app-env.d copy.ts
@@ -0,0 +1,2 @@
+export {};
+///
diff --git a/src/react-app-env.d.ts b/src/react-app-env.d.ts
new file mode 100644
index 000000000..5e977f7b3
--- /dev/null
+++ b/src/react-app-env.d.ts
@@ -0,0 +1,74 @@
+
+///
+///
+
+declare namespace NodeJS {
+ interface Process{
+ env: ProcessEnv
+ }
+ interface ProcessEnv {
+ /**
+ * By default, there are two modes in Vite:
+ *
+ * * `development` is used by vite and vite serve
+ * * `production` is used by vite build
+ *
+ * You can overwrite the default mode used for a command by passing the --mode option flag.
+ *
+ */
+ readonly NODE_ENV: 'development' | 'production'
+ }
+}
+
+declare var process: NodeJS.Process
+
+declare module '*.gif' {
+ const src: string
+ export default src
+}
+
+declare module '*.jpg' {
+ const src: string
+ export default src
+}
+
+declare module '*.jpeg' {
+ const src: string
+ export default src
+}
+
+declare module '*.png' {
+ const src: string
+ export default src
+}
+
+declare module '*.webp' {
+ const src: string
+ export default src
+}
+
+declare module '*.svg' {
+ import * as React from 'react'
+
+ export const ReactComponent: React.FunctionComponent & { title?: string }>
+
+ const src: string;
+ export default src
+}
+
+declare module '*.module.css' {
+ const classes: { readonly [key: string]: string }
+ export default classes
+}
+
+declare module '*.module.scss' {
+ const classes: { readonly [key: string]: string }
+ export default classes
+}
+
+declare module '*.module.sass' {
+ const classes: { readonly [key: string]: string }
+ export default classes
+}
diff --git a/src/reportWebVitals.js b/src/reportWebVitals.js
new file mode 100644
index 000000000..5253d3ad9
--- /dev/null
+++ b/src/reportWebVitals.js
@@ -0,0 +1,13 @@
+const reportWebVitals = onPerfEntry => {
+ if (onPerfEntry && onPerfEntry instanceof Function) {
+ import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
+ getCLS(onPerfEntry);
+ getFID(onPerfEntry);
+ getFCP(onPerfEntry);
+ getLCP(onPerfEntry);
+ getTTFB(onPerfEntry);
+ });
+ }
+};
+
+export default reportWebVitals;
diff --git a/src/reportWebVitals.ts b/src/reportWebVitals.ts
new file mode 100644
index 000000000..49a2a16e0
--- /dev/null
+++ b/src/reportWebVitals.ts
@@ -0,0 +1,15 @@
+import { ReportHandler } from 'web-vitals';
+
+const reportWebVitals = (onPerfEntry?: ReportHandler) => {
+ if (onPerfEntry && onPerfEntry instanceof Function) {
+ import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
+ getCLS(onPerfEntry);
+ getFID(onPerfEntry);
+ getFCP(onPerfEntry);
+ getLCP(onPerfEntry);
+ getTTFB(onPerfEntry);
+ });
+ }
+};
+
+export default reportWebVitals;
diff --git a/src/reset.css b/src/reset.css
new file mode 100644
index 000000000..859df14f4
--- /dev/null
+++ b/src/reset.css
@@ -0,0 +1,24 @@
+* {
+ box-sizing: border-box;
+ margin: 0;
+ font-family: "Pretendard";
+ word-break: keep-all;
+}
+
+a {
+ color: inherit;
+ text-decoration: none;
+ cursor: pointer;
+}
+
+input {
+ border: none;
+ padding: none;
+}
+
+button {
+ border: none;
+ padding: unset;
+ background-color: unset;
+ cursor: pointer;
+}
diff --git a/src/setupTests.js b/src/setupTests.js
new file mode 100644
index 000000000..8f2609b7b
--- /dev/null
+++ b/src/setupTests.js
@@ -0,0 +1,5 @@
+// jest-dom adds custom jest matchers for asserting on DOM nodes.
+// allows you to do things like:
+// expect(element).toHaveTextContent(/react/i)
+// learn more: https://github.com/testing-library/jest-dom
+import '@testing-library/jest-dom';
diff --git a/src/setupTests.ts b/src/setupTests.ts
new file mode 100644
index 000000000..8f2609b7b
--- /dev/null
+++ b/src/setupTests.ts
@@ -0,0 +1,5 @@
+// jest-dom adds custom jest matchers for asserting on DOM nodes.
+// allows you to do things like:
+// expect(element).toHaveTextContent(/react/i)
+// learn more: https://github.com/testing-library/jest-dom
+import '@testing-library/jest-dom';
diff --git a/src/util/getClapsedTime.ts b/src/util/getClapsedTime.ts
new file mode 100644
index 000000000..a7ef8b6d5
--- /dev/null
+++ b/src/util/getClapsedTime.ts
@@ -0,0 +1,51 @@
+const second: number = 1000;
+const minute: number = second * 60;
+const hour: number = minute * 60;
+const day: number = hour * 24;
+const month: number = day * 31;
+const year: number = month * 12;
+
+const TIME_IN_MILLISECONDS: { [key: string]: number } = {
+ second,
+ minute,
+ hour,
+ day,
+ month,
+ year,
+};
+
+export const getElapsedTime = (createdAt: string): string => {
+ const now = new Date();
+ const createdAtDate = new Date(createdAt);
+ const elapsedTime: number = now.getTime() - createdAtDate.getTime();
+ const { minute, hour, day, month, year } = TIME_IN_MILLISECONDS;
+
+ if (year * 2 <= elapsedTime) {
+ return `${Math.floor(elapsedTime / year)} years ago`;
+ }
+ if (year <= elapsedTime) {
+ return `1 year ago`;
+ }
+ if (month * 2 <= elapsedTime) {
+ return `${Math.floor(elapsedTime / month)} months ago`;
+ }
+ if (month <= elapsedTime) {
+ return `1 month ago`;
+ }
+ if (day * 2 <= elapsedTime) {
+ return `${Math.floor(elapsedTime / day)} days ago`;
+ }
+ if (day <= elapsedTime) {
+ return `1 day ago`;
+ }
+ if (hour * 2 <= elapsedTime) {
+ return `${Math.floor(elapsedTime / hour)} hours ago`;
+ }
+ if (hour <= elapsedTime) {
+ return `1 hour ago`;
+ }
+ if (minute * 2 <= elapsedTime) {
+ return `${Math.floor(elapsedTime / minute)} minutes ago`;
+ }
+ return `1 minute ago`;
+};
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 000000000..bf321c3eb
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,20 @@
+{
+ "compilerOptions": {
+ "target": "ESNext",
+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
+ "types": ["react"],
+ "allowJs": false,
+ "skipLibCheck": false,
+ "esModuleInterop": false,
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react"
+ },
+ "include": ["src"]
+}
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 000000000..823633f7f
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,9 @@
+import * as reactPlugin from "vite-plugin-react";
+import type { UserConfig } from "vite";
+
+const config: UserConfig = {
+ jsx: "react",
+ plugins: [reactPlugin],
+};
+
+export default { config };
From fad1271261857f107e447c60fccce70401bf3256 Mon Sep 17 00:00:00 2001
From: wjy308 <65326956+wjy308@users.noreply.github.com>
Date: Fri, 10 May 2024 15:07:14 +0900
Subject: [PATCH 2/3] =?UTF-8?q?fix:=EB=A6=AC=EC=95=A1=ED=8A=B8=20=EB=B2=84?=
=?UTF-8?q?=EC=A0=84=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package-lock.json | 4171 ++++++-------------------
package.json | 8 +-
src/api/useAsync.ts | 1 -
src/components/FolderCardListItem.tsx | 1 -
src/index.tsx | 2 +
5 files changed, 930 insertions(+), 3253 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 9184c7233..e5a801873 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,17 +9,17 @@
"version": "0.0.0",
"dependencies": {
"date-fns": "^3.6.0",
- "react": "^17.0.0",
- "react-dom": "^17.0.2",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
"react-router-dom": "^6.23.0",
"styled-components": "^6.1.9"
},
"devDependencies": {
- "@types/react": "^17.0.0",
+ "@types/react": "^17.0.80",
"@types/react-dom": "^18.3.0",
"@types/react-router-dom": "^5.3.3",
"typescript": "^4.1.2",
- "vite": "^1.0.0-rc.13",
+ "vite": "^5.2.11",
"vite-plugin-react": "^4.0.0",
"web-vitals": "^3.5.2"
}
@@ -442,443 +442,654 @@
"resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz",
"integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ=="
},
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
- "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz",
+ "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
- "dependencies": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
+ "optional": true,
+ "os": [
+ "aix"
+ ],
"engines": {
- "node": ">=6.0.0"
+ "node": ">=12"
}
},
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz",
+ "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=6.0.0"
+ "node": ">=12"
}
},
- "node_modules/@jridgewell/set-array": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
- "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz",
+ "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=6.0.0"
+ "node": ">=12"
}
},
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
- "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz",
+ "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25"
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
- "dev": true
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz",
+ "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/@koa/cors": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@koa/cors/-/cors-3.4.3.tgz",
- "integrity": "sha512-WPXQUaAeAMVaLTEFpoq3T2O1C+FstkjJnDQqy95Ck1UdILajsRhu6mhJ8H2f4NFPRBoCNN+qywTJfq/gGki5mw==",
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz",
+ "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "vary": "^1.1.2"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">= 8.0.0"
+ "node": ">=12"
}
},
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz",
+ "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": ">= 8"
+ "node": ">=12"
}
},
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz",
+ "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": ">= 8"
+ "node": ">=12"
}
},
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz",
+ "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 8"
+ "node": ">=12"
}
},
- "node_modules/@remix-run/router": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.0.tgz",
- "integrity": "sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q==",
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz",
+ "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=14.0.0"
+ "node": ">=12"
}
},
- "node_modules/@rollup/plugin-commonjs": {
- "version": "16.0.0",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-16.0.0.tgz",
- "integrity": "sha512-LuNyypCP3msCGVQJ7ki8PqYdpjfEkE/xtFa5DqlF+7IBD0JsfMZ87C58heSwIMint58sAUZbt3ITqOmdQv/dXw==",
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz",
+ "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
- "dependencies": {
- "@rollup/pluginutils": "^3.1.0",
- "commondir": "^1.0.1",
- "estree-walker": "^2.0.1",
- "glob": "^7.1.6",
- "is-reference": "^1.2.1",
- "magic-string": "^0.25.7",
- "resolve": "^1.17.0"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 8.0.0"
- },
- "peerDependencies": {
- "rollup": "^2.30.0"
+ "node": ">=12"
}
},
- "node_modules/@rollup/plugin-commonjs/node_modules/@rollup/pluginutils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
- "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz",
+ "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==",
+ "cpu": [
+ "loong64"
+ ],
"dev": true,
- "dependencies": {
- "@types/estree": "0.0.39",
- "estree-walker": "^1.0.1",
- "picomatch": "^2.2.2"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 8.0.0"
- },
- "peerDependencies": {
- "rollup": "^1.20.0||^2.0.0"
+ "node": ">=12"
}
},
- "node_modules/@rollup/plugin-commonjs/node_modules/@rollup/pluginutils/node_modules/estree-walker": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
- "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
- "dev": true
- },
- "node_modules/@rollup/plugin-commonjs/node_modules/@types/estree": {
- "version": "0.0.39",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
- "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
- "dev": true
- },
- "node_modules/@rollup/plugin-json": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz",
- "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==",
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz",
+ "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==",
+ "cpu": [
+ "mips64el"
+ ],
"dev": true,
- "dependencies": {
- "@rollup/pluginutils": "^3.0.8"
- },
- "peerDependencies": {
- "rollup": "^1.20.0 || ^2.0.0"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/@rollup/plugin-json/node_modules/@rollup/pluginutils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
- "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz",
+ "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
- "dependencies": {
- "@types/estree": "0.0.39",
- "estree-walker": "^1.0.1",
- "picomatch": "^2.2.2"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 8.0.0"
- },
- "peerDependencies": {
- "rollup": "^1.20.0||^2.0.0"
+ "node": ">=12"
}
},
- "node_modules/@rollup/plugin-json/node_modules/@types/estree": {
- "version": "0.0.39",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
- "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
- "dev": true
- },
- "node_modules/@rollup/plugin-json/node_modules/estree-walker": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
- "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
- "dev": true
- },
- "node_modules/@rollup/plugin-node-resolve": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz",
- "integrity": "sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A==",
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz",
+ "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
- "dependencies": {
- "@rollup/pluginutils": "^3.1.0",
- "@types/resolve": "1.17.1",
- "builtin-modules": "^3.1.0",
- "deepmerge": "^4.2.2",
- "is-module": "^1.0.0",
- "resolve": "^1.17.0"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 10.0.0"
- },
- "peerDependencies": {
- "rollup": "^1.20.0||^2.0.0"
+ "node": ">=12"
}
},
- "node_modules/@rollup/plugin-node-resolve/node_modules/@rollup/pluginutils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
- "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz",
+ "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
- "dependencies": {
- "@types/estree": "0.0.39",
- "estree-walker": "^1.0.1",
- "picomatch": "^2.2.2"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 8.0.0"
- },
- "peerDependencies": {
- "rollup": "^1.20.0||^2.0.0"
+ "node": ">=12"
}
},
- "node_modules/@rollup/plugin-node-resolve/node_modules/@types/estree": {
- "version": "0.0.39",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
- "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
- "dev": true
- },
- "node_modules/@rollup/plugin-node-resolve/node_modules/estree-walker": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
- "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
- "dev": true
- },
- "node_modules/@rollup/pluginutils": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz",
- "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==",
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz",
+ "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "estree-walker": "^2.0.1",
- "picomatch": "^2.2.2"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 8.0.0"
+ "node": ">=12"
}
},
- "node_modules/@types/accepts": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz",
- "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==",
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz",
+ "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "@types/node": "*"
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/@types/body-parser": {
- "version": "1.19.5",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
- "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz",
+ "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/@types/connect": {
- "version": "3.4.38",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
- "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz",
+ "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "@types/node": "*"
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/@types/content-disposition": {
- "version": "0.5.8",
- "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.8.tgz",
- "integrity": "sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==",
- "dev": true
- },
- "node_modules/@types/cookies": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.9.0.tgz",
- "integrity": "sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==",
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz",
+ "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "dependencies": {
- "@types/connect": "*",
- "@types/express": "*",
- "@types/keygrip": "*",
- "@types/node": "*"
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/@types/estree": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
- "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
- "dev": true
- },
- "node_modules/@types/express": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
- "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==",
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz",
+ "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
- "dependencies": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.33",
- "@types/qs": "*",
- "@types/serve-static": "*"
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/@types/express-serve-static-core": {
- "version": "4.19.0",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz",
- "integrity": "sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==",
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz",
+ "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/@types/history": {
- "version": "4.7.11",
- "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz",
- "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==",
- "dev": true
- },
- "node_modules/@types/http-assert": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.5.tgz",
- "integrity": "sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g==",
- "dev": true
- },
- "node_modules/@types/http-errors": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
- "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==",
- "dev": true
- },
- "node_modules/@types/http-proxy": {
- "version": "1.17.14",
- "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz",
- "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==",
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
"dev": true,
"dependencies": {
- "@types/node": "*"
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "node_modules/@types/keygrip": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.6.tgz",
- "integrity": "sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==",
- "dev": true
- },
- "node_modules/@types/koa": {
- "version": "2.15.0",
- "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.15.0.tgz",
- "integrity": "sha512-7QFsywoE5URbuVnG3loe03QXuGajrnotr3gQkXcEBShORai23MePfFYdhz90FEtBBpkyIYQbVD+evKtloCgX3g==",
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"dev": true,
- "dependencies": {
- "@types/accepts": "*",
- "@types/content-disposition": "*",
- "@types/cookies": "*",
- "@types/http-assert": "*",
- "@types/http-errors": "*",
- "@types/keygrip": "*",
- "@types/koa-compose": "*",
- "@types/node": "*"
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "node_modules/@types/koa-compose": {
- "version": "3.2.8",
- "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.8.tgz",
- "integrity": "sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==",
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
"dev": true,
- "dependencies": {
- "@types/koa": "*"
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "node_modules/@types/lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==",
- "dev": true
- },
- "node_modules/@types/mime": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
- "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
"dev": true
},
- "node_modules/@types/node": {
- "version": "20.12.7",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz",
- "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==",
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"dev": true,
"dependencies": {
- "undici-types": "~5.26.4"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "node_modules/@types/prop-types": {
- "version": "15.7.12",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz",
- "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==",
+ "node_modules/@remix-run/router": {
+ "version": "1.16.0",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.0.tgz",
+ "integrity": "sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q==",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz",
+ "integrity": "sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz",
+ "integrity": "sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz",
+ "integrity": "sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz",
+ "integrity": "sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz",
+ "integrity": "sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz",
+ "integrity": "sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz",
+ "integrity": "sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz",
+ "integrity": "sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz",
+ "integrity": "sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz",
+ "integrity": "sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz",
+ "integrity": "sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz",
+ "integrity": "sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz",
+ "integrity": "sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz",
+ "integrity": "sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz",
+ "integrity": "sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz",
+ "integrity": "sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
- "node_modules/@types/qs": {
- "version": "6.9.15",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz",
- "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==",
+ "node_modules/@types/history": {
+ "version": "4.7.11",
+ "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz",
+ "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==",
"dev": true
},
- "node_modules/@types/range-parser": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
- "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
+ "node_modules/@types/prop-types": {
+ "version": "15.7.12",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz",
+ "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==",
"dev": true
},
"node_modules/@types/react": {
@@ -922,2768 +1133,459 @@
"@types/react-router": "*"
}
},
- "node_modules/@types/resolve": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
- "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
- "dev": true,
- "dependencies": {
- "@types/node": "*"
- }
- },
"node_modules/@types/scheduler": {
"version": "0.16.8",
"resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
"integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==",
"dev": true
},
- "node_modules/@types/send": {
- "version": "0.17.4",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
- "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
- "dev": true,
- "dependencies": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "node_modules/@types/serve-static": {
- "version": "1.15.7",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz",
- "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==",
- "dev": true,
- "dependencies": {
- "@types/http-errors": "*",
- "@types/node": "*",
- "@types/send": "*"
- }
- },
"node_modules/@types/stylis": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.0.tgz",
"integrity": "sha512-n4sx2bqL0mW1tvDf/loQ+aMX7GQD3lc3fkCMC55VFNDu/vBOabO+LTIeXKM14xK0ppk5TUGcWRjiSpIlUpghKw=="
},
- "node_modules/@vue/compiler-core": {
- "version": "3.4.26",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.26.tgz",
- "integrity": "sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==",
+ "node_modules/browserslist": {
+ "version": "4.23.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
+ "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
"dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
"dependencies": {
- "@babel/parser": "^7.24.4",
- "@vue/shared": "3.4.26",
- "entities": "^4.5.0",
- "estree-walker": "^2.0.2",
- "source-map-js": "^1.2.0"
+ "caniuse-lite": "^1.0.30001587",
+ "electron-to-chromium": "^1.4.668",
+ "node-releases": "^2.0.14",
+ "update-browserslist-db": "^1.0.13"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
- "node_modules/@vue/compiler-dom": {
- "version": "3.4.26",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.26.tgz",
- "integrity": "sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==",
- "dev": true,
- "dependencies": {
- "@vue/compiler-core": "3.4.26",
- "@vue/shared": "3.4.26"
+ "node_modules/camelize": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz",
+ "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/@vue/compiler-sfc": {
- "version": "3.4.26",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.26.tgz",
- "integrity": "sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==",
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001614",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001614.tgz",
+ "integrity": "sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog==",
"dev": true,
- "dependencies": {
- "@babel/parser": "^7.24.4",
- "@vue/compiler-core": "3.4.26",
- "@vue/compiler-dom": "3.4.26",
- "@vue/compiler-ssr": "3.4.26",
- "@vue/shared": "3.4.26",
- "estree-walker": "^2.0.2",
- "magic-string": "^0.30.10",
- "postcss": "^8.4.38",
- "source-map-js": "^1.2.0"
- }
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ]
},
- "node_modules/@vue/compiler-sfc/node_modules/magic-string": {
- "version": "0.30.10",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
- "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
- "dev": true,
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.15"
- }
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
},
- "node_modules/@vue/compiler-ssr": {
- "version": "3.4.26",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.26.tgz",
- "integrity": "sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==",
- "dev": true,
- "dependencies": {
- "@vue/compiler-dom": "3.4.26",
- "@vue/shared": "3.4.26"
+ "node_modules/css-color-keywords": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz",
+ "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==",
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/@vue/reactivity": {
- "version": "3.4.26",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.26.tgz",
- "integrity": "sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==",
- "dev": true,
+ "node_modules/css-to-react-native": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz",
+ "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==",
"dependencies": {
- "@vue/shared": "3.4.26"
+ "camelize": "^1.0.0",
+ "css-color-keywords": "^1.0.0",
+ "postcss-value-parser": "^4.0.2"
}
},
- "node_modules/@vue/runtime-core": {
- "version": "3.4.26",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.26.tgz",
- "integrity": "sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==",
- "dev": true,
- "dependencies": {
- "@vue/reactivity": "3.4.26",
- "@vue/shared": "3.4.26"
- }
+ "node_modules/css-to-react-native/node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
},
- "node_modules/@vue/runtime-dom": {
- "version": "3.4.26",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.26.tgz",
- "integrity": "sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==",
- "dev": true,
- "dependencies": {
- "@vue/runtime-core": "3.4.26",
- "@vue/shared": "3.4.26",
- "csstype": "^3.1.3"
- }
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
+ "dev": true
},
- "node_modules/@vue/server-renderer": {
- "version": "3.4.26",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.26.tgz",
- "integrity": "sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==",
- "dev": true,
- "dependencies": {
- "@vue/compiler-ssr": "3.4.26",
- "@vue/shared": "3.4.26"
- },
- "peerDependencies": {
- "vue": "3.4.26"
- }
- },
- "node_modules/@vue/shared": {
- "version": "3.4.26",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
- "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==",
- "dev": true
- },
- "node_modules/accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "dev": true,
- "dependencies": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/acorn": {
- "version": "8.11.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dev": true,
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/at-least-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
- "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dev": true,
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/brotli-size": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/brotli-size/-/brotli-size-4.0.0.tgz",
- "integrity": "sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==",
- "dev": true,
- "dependencies": {
- "duplexer": "0.1.1"
- },
- "engines": {
- "node": ">= 10.16.0"
- }
- },
- "node_modules/browserslist": {
- "version": "4.23.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
- "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "caniuse-lite": "^1.0.30001587",
- "electron-to-chromium": "^1.4.668",
- "node-releases": "^2.0.14",
- "update-browserslist-db": "^1.0.13"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "dev": true
- },
- "node_modules/builtin-modules": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
- "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cac": {
- "version": "6.7.14",
- "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
- "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cache-content-type": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz",
- "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==",
- "dev": true,
- "dependencies": {
- "mime-types": "^2.1.18",
- "ylru": "^1.2.0"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/camelize": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz",
- "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001614",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001614.tgz",
- "integrity": "sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ]
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
- "dev": true,
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/clean-css": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz",
- "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==",
- "dev": true,
- "dependencies": {
- "source-map": "~0.6.0"
- },
- "engines": {
- "node": ">= 4.0"
- }
- },
- "node_modules/clean-css/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/cli-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
- "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
- "dev": true,
- "dependencies": {
- "restore-cursor": "^3.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cli-spinners": {
- "version": "2.9.2",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
- "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/clone": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
- "dev": true,
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
- "dev": true,
- "engines": {
- "iojs": ">= 1.0.0",
- "node": ">= 0.12.0"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
- },
- "node_modules/commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
- "dev": true
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
- },
- "node_modules/content-disposition": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "5.2.1"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/content-type": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/convert-source-map": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
- "dev": true
- },
- "node_modules/cookies": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.9.1.tgz",
- "integrity": "sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==",
- "dev": true,
- "dependencies": {
- "depd": "~2.0.0",
- "keygrip": "~1.1.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/css-color-keywords": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz",
- "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/css-to-react-native": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz",
- "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==",
- "dependencies": {
- "camelize": "^1.0.0",
- "css-color-keywords": "^1.0.0",
- "postcss-value-parser": "^4.0.2"
- }
- },
- "node_modules/css-to-react-native/node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
- },
- "node_modules/csstype": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
- "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
- "dev": true
- },
- "node_modules/date-fns": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz",
- "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/kossnocorp"
- }
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/deep-equal": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
- "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==",
- "dev": true
- },
- "node_modules/deepmerge": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
- "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/defaults": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
- "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
- "dev": true,
- "dependencies": {
- "clone": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
- "dev": true
- },
- "node_modules/depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "dev": true,
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/dotenv": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
- "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/dotenv-expand": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
- "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
- "dev": true
- },
- "node_modules/duplexer": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
- "integrity": "sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==",
- "dev": true
- },
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
- "dev": true
- },
- "node_modules/electron-to-chromium": {
- "version": "1.4.752",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.752.tgz",
- "integrity": "sha512-P3QJreYI/AUTcfBVrC4zy9KvnZWekViThgQMX/VpJ+IsOBbcX5JFpORM4qWapwWQ+agb2nYAOyn/4PMXOk0m2Q==",
- "dev": true
- },
- "node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "dependencies": {
- "once": "^1.4.0"
- }
- },
- "node_modules/entities": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
- "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
- "dev": true,
- "engines": {
- "node": ">=0.12"
- },
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
- "node_modules/es-module-lexer": {
- "version": "0.3.26",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.3.26.tgz",
- "integrity": "sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA==",
- "dev": true
- },
- "node_modules/esbuild": {
- "version": "0.8.57",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.57.tgz",
- "integrity": "sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==",
- "dev": true,
- "hasInstallScript": true,
- "bin": {
- "esbuild": "bin/esbuild"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
- "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
- "dev": true
- },
- "node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/estree-walker": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
- "dev": true
- },
- "node_modules/etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/eventemitter3": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
- "dev": true
- },
- "node_modules/execa": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
- "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^7.0.0",
- "get-stream": "^5.0.0",
- "human-signals": "^1.1.1",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.0",
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "node_modules/fast-glob": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
- "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fastq": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
- "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
- "dev": true,
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/follow-redirects": {
- "version": "1.15.6",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
- "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
- "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
- "dev": true,
- "dependencies": {
- "has-symbols": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hash-sum": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
- "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
- "dev": true
- },
- "node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/http-assert": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz",
- "integrity": "sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==",
- "dev": true,
- "dependencies": {
- "deep-equal": "~1.0.1",
- "http-errors": "~1.8.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/http-errors": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
- "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
- "dev": true,
- "dependencies": {
- "depd": "~1.1.2",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.1"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/http-errors/node_modules/depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/http-proxy": {
- "version": "1.18.1",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
- "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
- "dev": true,
- "dependencies": {
- "eventemitter3": "^4.0.0",
- "follow-redirects": "^1.0.0",
- "requires-port": "^1.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/human-signals": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
- "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
- "dev": true,
- "engines": {
- "node": ">=8.12.0"
- }
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/ignore": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
- "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.13.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
- "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
- "dev": true,
- "dependencies": {
- "hasown": "^2.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-docker": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
- "dev": true,
- "bin": {
- "is-docker": "cli.js"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-generator-function": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
- "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
- "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
- "dev": true
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-reference": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
- "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
- "dev": true,
- "dependencies": {
- "@types/estree": "*"
- }
- },
- "node_modules/is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-unicode-supported": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-wsl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
- "dev": true,
- "dependencies": {
- "is-docker": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
- "dev": true
- },
- "node_modules/isbuiltin": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isbuiltin/-/isbuiltin-1.0.0.tgz",
- "integrity": "sha512-5D5GIRCjYK/KtHQ2vIPIwKcma05iHYJag0syBtpo8/V1LuPt+a6Zowyrgpn0Bxw2pV9m2lxmX/0Z8OMQvWLXfw==",
- "dev": true,
- "dependencies": {
- "builtin-modules": "^1.1.1"
- }
- },
- "node_modules/isbuiltin/node_modules/builtin-modules": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
- },
- "node_modules/jest-worker": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
- "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
- "dev": true,
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^7.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true,
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "dev": true,
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/keygrip": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz",
- "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==",
- "dev": true,
- "dependencies": {
- "tsscmp": "1.0.6"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/klona": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
- "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/koa": {
- "version": "2.15.3",
- "resolved": "https://registry.npmjs.org/koa/-/koa-2.15.3.tgz",
- "integrity": "sha512-j/8tY9j5t+GVMLeioLaxweJiKUayFhlGqNTzf2ZGwL0ZCQijd2RLHK0SLW5Tsko8YyyqCZC2cojIb0/s62qTAg==",
- "dev": true,
- "dependencies": {
- "accepts": "^1.3.5",
- "cache-content-type": "^1.0.0",
- "content-disposition": "~0.5.2",
- "content-type": "^1.0.4",
- "cookies": "~0.9.0",
- "debug": "^4.3.2",
- "delegates": "^1.0.0",
- "depd": "^2.0.0",
- "destroy": "^1.0.4",
- "encodeurl": "^1.0.2",
- "escape-html": "^1.0.3",
- "fresh": "~0.5.2",
- "http-assert": "^1.3.0",
- "http-errors": "^1.6.3",
- "is-generator-function": "^1.0.7",
- "koa-compose": "^4.1.0",
- "koa-convert": "^2.0.0",
- "on-finished": "^2.3.0",
- "only": "~0.0.2",
- "parseurl": "^1.3.2",
- "statuses": "^1.5.0",
- "type-is": "^1.6.16",
- "vary": "^1.1.2"
- },
- "engines": {
- "node": "^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"
- }
- },
- "node_modules/koa-compose": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz",
- "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==",
- "dev": true
- },
- "node_modules/koa-conditional-get": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/koa-conditional-get/-/koa-conditional-get-3.0.0.tgz",
- "integrity": "sha512-VKyPS7SuNH26TjTV2IRz+oh0HV/jc2lYAo51PTQTkj0XFn8ebNZW9riczmrW7ZVBFSnls1Z88DPUYKnvVymruA==",
- "dev": true
- },
- "node_modules/koa-convert": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz",
- "integrity": "sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==",
- "dev": true,
- "dependencies": {
- "co": "^4.6.0",
- "koa-compose": "^4.1.0"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/koa-etag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/koa-etag/-/koa-etag-4.0.0.tgz",
- "integrity": "sha512-1cSdezCkBWlyuB9l6c/IFoe1ANCDdPBxkDkRiaIup40xpUub6U/wwRXoKBZw/O5BifX9OlqAjYnDyzM6+l+TAg==",
- "dev": true,
- "dependencies": {
- "etag": "^1.8.1"
- }
- },
- "node_modules/koa-proxies": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/koa-proxies/-/koa-proxies-0.11.0.tgz",
- "integrity": "sha512-iXGRADBE0fM7g7AttNOlLZ/cCFKXeVMHbFJKIRb0dUCrSYXi02loyVSdBlKlBQ5ZfVKJLo9Q9FyqwVTp1poVVA==",
- "dev": true,
- "dependencies": {
- "http-proxy": "^1.16.2",
- "path-match": "^1.2.4"
- },
- "peerDependencies": {
- "koa": ">=2"
- }
- },
- "node_modules/koa-send": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz",
- "integrity": "sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==",
- "dev": true,
- "dependencies": {
- "debug": "^4.1.1",
- "http-errors": "^1.7.3",
- "resolve-path": "^1.4.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/koa-static": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz",
- "integrity": "sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==",
- "dev": true,
- "dependencies": {
- "debug": "^3.1.0",
- "koa-send": "^5.0.0"
- },
- "engines": {
- "node": ">= 7.6.0"
- }
- },
- "node_modules/koa-static/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/lilconfig": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/log-symbols": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.1.0",
- "is-unicode-supported": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dependencies": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- },
- "bin": {
- "loose-envify": "cli.js"
- }
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/magic-string": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
- "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
- "dev": true,
- "dependencies": {
- "sourcemap-codec": "^1.4.8"
- }
- },
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/merge-source-map": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
- "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
- "dev": true,
- "dependencies": {
- "source-map": "^0.6.1"
- }
- },
- "node_modules/merge-source-map/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/nanoid": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
- "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/node-forge": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
- "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==",
- "dev": true,
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/node-releases": {
- "version": "2.0.14",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
- "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
- "dev": true
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "dev": true,
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/only": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz",
- "integrity": "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==",
- "dev": true
- },
- "node_modules/open": {
- "version": "7.4.2",
- "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz",
- "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==",
- "dev": true,
- "dependencies": {
- "is-docker": "^2.0.0",
- "is-wsl": "^2.1.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ora": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
- "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
- "dev": true,
- "dependencies": {
- "bl": "^4.1.0",
- "chalk": "^4.1.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.5.0",
- "is-interactive": "^1.0.0",
- "is-unicode-supported": "^0.1.0",
- "log-symbols": "^4.1.0",
- "strip-ansi": "^6.0.0",
- "wcwidth": "^1.0.1"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-map-series": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz",
- "integrity": "sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-match": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/path-match/-/path-match-1.2.4.tgz",
- "integrity": "sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==",
- "dev": true,
- "dependencies": {
- "http-errors": "~1.4.0",
- "path-to-regexp": "^1.0.0"
- }
- },
- "node_modules/path-match/node_modules/http-errors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.4.0.tgz",
- "integrity": "sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==",
- "dev": true,
- "dependencies": {
- "inherits": "2.0.1",
- "statuses": ">= 1.2.1 < 2"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/path-match/node_modules/inherits": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==",
- "dev": true
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "node_modules/path-to-regexp": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
- "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
- "dev": true,
- "dependencies": {
- "isarray": "0.0.1"
- }
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/postcss": {
- "version": "8.4.38",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
- "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "nanoid": "^3.3.7",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss-discard-comments": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz",
- "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==",
- "dev": true,
- "dependencies": {
- "postcss": "^7.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/postcss-discard-comments/node_modules/picocolors": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
- "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
- "dev": true
- },
- "node_modules/postcss-discard-comments/node_modules/postcss": {
- "version": "7.0.39",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
- "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
- "dev": true,
- "dependencies": {
- "picocolors": "^0.2.1",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- }
- },
- "node_modules/postcss-discard-comments/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/postcss-import": {
- "version": "12.0.1",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz",
- "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==",
- "dev": true,
- "dependencies": {
- "postcss": "^7.0.1",
- "postcss-value-parser": "^3.2.3",
- "read-cache": "^1.0.0",
- "resolve": "^1.1.7"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/postcss-import/node_modules/picocolors": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
- "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
- "dev": true
- },
- "node_modules/postcss-import/node_modules/postcss": {
- "version": "7.0.39",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
- "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
- "dev": true,
- "dependencies": {
- "picocolors": "^0.2.1",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- }
- },
- "node_modules/postcss-import/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/postcss-load-config": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
- "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
- "dev": true,
- "dependencies": {
- "lilconfig": "^2.0.5",
- "yaml": "^1.10.2"
- },
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "postcss": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
- "node_modules/pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.1.0"
- }
- },
- "node_modules/react": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
- "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
- "dependencies": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/react-dom": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
- "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
- "dependencies": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1",
- "scheduler": "^0.20.2"
- },
- "peerDependencies": {
- "react": "17.0.2"
- }
- },
- "node_modules/react-refresh": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz",
- "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/react-router": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.0.tgz",
- "integrity": "sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA==",
- "dependencies": {
- "@remix-run/router": "1.16.0"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "react": ">=16.8"
- }
- },
- "node_modules/react-router-dom": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.0.tgz",
- "integrity": "sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ==",
- "dependencies": {
- "@remix-run/router": "1.16.0",
- "react-router": "6.23.0"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "react": ">=16.8",
- "react-dom": ">=16.8"
- }
- },
- "node_modules/read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "dev": true,
- "dependencies": {
- "pify": "^2.3.0"
+ "node_modules/date-fns": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz",
+ "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/kossnocorp"
}
},
- "node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "ms": "2.1.2"
},
"engines": {
- "node": ">= 6"
- }
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "dependencies": {
- "picomatch": "^2.2.1"
+ "node": ">=6.0"
},
- "engines": {
- "node": ">=8.10.0"
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
}
},
- "node_modules/requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.752",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.752.tgz",
+ "integrity": "sha512-P3QJreYI/AUTcfBVrC4zy9KvnZWekViThgQMX/VpJ+IsOBbcX5JFpORM4qWapwWQ+agb2nYAOyn/4PMXOk0m2Q==",
"dev": true
},
- "node_modules/resolve": {
- "version": "1.22.8",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
- "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "node_modules/esbuild": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz",
+ "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==",
"dev": true,
- "dependencies": {
- "is-core-module": "^2.13.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
+ "hasInstallScript": true,
"bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-path": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz",
- "integrity": "sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==",
- "dev": true,
- "dependencies": {
- "http-errors": "~1.6.2",
- "path-is-absolute": "1.0.1"
+ "esbuild": "bin/esbuild"
},
"engines": {
- "node": ">= 0.8"
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.20.2",
+ "@esbuild/android-arm": "0.20.2",
+ "@esbuild/android-arm64": "0.20.2",
+ "@esbuild/android-x64": "0.20.2",
+ "@esbuild/darwin-arm64": "0.20.2",
+ "@esbuild/darwin-x64": "0.20.2",
+ "@esbuild/freebsd-arm64": "0.20.2",
+ "@esbuild/freebsd-x64": "0.20.2",
+ "@esbuild/linux-arm": "0.20.2",
+ "@esbuild/linux-arm64": "0.20.2",
+ "@esbuild/linux-ia32": "0.20.2",
+ "@esbuild/linux-loong64": "0.20.2",
+ "@esbuild/linux-mips64el": "0.20.2",
+ "@esbuild/linux-ppc64": "0.20.2",
+ "@esbuild/linux-riscv64": "0.20.2",
+ "@esbuild/linux-s390x": "0.20.2",
+ "@esbuild/linux-x64": "0.20.2",
+ "@esbuild/netbsd-x64": "0.20.2",
+ "@esbuild/openbsd-x64": "0.20.2",
+ "@esbuild/sunos-x64": "0.20.2",
+ "@esbuild/win32-arm64": "0.20.2",
+ "@esbuild/win32-ia32": "0.20.2",
+ "@esbuild/win32-x64": "0.20.2"
}
},
- "node_modules/resolve-path/node_modules/depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "node_modules/escalade": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
"dev": true,
"engines": {
- "node": ">= 0.6"
+ "node": ">=6"
}
},
- "node_modules/resolve-path/node_modules/http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
+ "node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true,
- "dependencies": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
- },
"engines": {
- "node": ">= 0.6"
+ "node": ">=0.8.0"
}
},
- "node_modules/resolve-path/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
- "dev": true
- },
- "node_modules/resolve-path/node_modules/setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true
- },
- "node_modules/restore-cursor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
- "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
- "dependencies": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
- },
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=8"
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"dev": true,
"engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
+ "node": ">=6.9.0"
}
},
- "node_modules/rollup": {
- "version": "2.79.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
- "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
+ "node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true,
- "bin": {
- "rollup": "dist/bin/rollup"
- },
"engines": {
- "node": ">=10.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
+ "node": ">=4"
}
},
- "node_modules/rollup-plugin-dynamic-import-variables": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/rollup-plugin-dynamic-import-variables/-/rollup-plugin-dynamic-import-variables-1.1.0.tgz",
- "integrity": "sha512-C1avEmnXC8cC4aAQ5dB63O9oQf7IrhEHc98bQw9Qd6H36FxtZooLCvVfcO4SNYrqaNrzH3ErucQt/zdFSLPHNw==",
- "dev": true,
- "dependencies": {
- "@rollup/pluginutils": "^3.0.9",
- "estree-walker": "^2.0.1",
- "globby": "^11.0.0",
- "magic-string": "^0.25.7"
- }
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
- "node_modules/rollup-plugin-dynamic-import-variables/node_modules/@rollup/pluginutils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
- "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
"dev": true,
- "dependencies": {
- "@types/estree": "0.0.39",
- "estree-walker": "^1.0.1",
- "picomatch": "^2.2.2"
+ "bin": {
+ "jsesc": "bin/jsesc"
},
"engines": {
- "node": ">= 8.0.0"
- },
- "peerDependencies": {
- "rollup": "^1.20.0||^2.0.0"
+ "node": ">=4"
}
},
- "node_modules/rollup-plugin-dynamic-import-variables/node_modules/@rollup/pluginutils/node_modules/estree-walker": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
- "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
- "dev": true
- },
- "node_modules/rollup-plugin-dynamic-import-variables/node_modules/@types/estree": {
- "version": "0.0.39",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
- "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
- "dev": true
- },
- "node_modules/rollup-plugin-terser": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz",
- "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==",
- "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser",
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.10.4",
- "jest-worker": "^26.2.1",
- "serialize-javascript": "^4.0.0",
- "terser": "^5.0.0"
+ "bin": {
+ "json5": "lib/cli.js"
},
- "peerDependencies": {
- "rollup": "^2.0.0"
+ "engines": {
+ "node": ">=6"
}
},
- "node_modules/rollup-plugin-vue": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/rollup-plugin-vue/-/rollup-plugin-vue-6.0.0.tgz",
- "integrity": "sha512-oVvUd84d5u73M2HYM3XsMDLtZRIA/tw2U0dmHlXU2UWP5JARYHzh/U9vcxaN/x/9MrepY7VH3pHFeOhrWpxs/Q==",
- "dev": true,
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"dependencies": {
- "debug": "^4.1.1",
- "hash-sum": "^2.0.0",
- "rollup-pluginutils": "^2.8.2"
+ "js-tokens": "^3.0.0 || ^4.0.0"
},
- "peerDependencies": {
- "@vue/compiler-sfc": "*"
- }
- },
- "node_modules/rollup-plugin-web-worker-loader": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/rollup-plugin-web-worker-loader/-/rollup-plugin-web-worker-loader-1.6.1.tgz",
- "integrity": "sha512-4QywQSz1NXFHKdyiou16mH3ijpcfLtLGOrAqvAqu1Gx+P8+zj+3gwC2BSL/VW1d+LW4nIHC8F7d7OXhs9UdR2A==",
- "dev": true,
- "peerDependencies": {
- "rollup": "^1.9.2 || ^2.0.0"
- }
- },
- "node_modules/rollup-pluginutils": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
- "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
- "dev": true,
- "dependencies": {
- "estree-walker": "^0.6.1"
+ "bin": {
+ "loose-envify": "cli.js"
}
},
- "node_modules/rollup-pluginutils/node_modules/estree-walker": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
- "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
+ "node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"funding": [
{
"type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
+ "url": "https://github.com/sponsors/ai"
}
],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/scheduler": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
- "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
- "dependencies": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
- }
- },
- "node_modules/selfsigned": {
- "version": "1.10.14",
- "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz",
- "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==",
- "dev": true,
- "dependencies": {
- "node-forge": "^0.10.0"
- }
- },
- "node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
"bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/serialize-javascript": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
- "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
- "dev": true,
- "dependencies": {
- "randombytes": "^2.1.0"
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
- "node_modules/setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+ "node_modules/node-releases": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
"dev": true
},
- "node_modules/shallowequal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
- "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
},
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "node_modules/postcss": {
+ "version": "8.4.38",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+ "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
"dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
"dependencies": {
- "shebang-regex": "^3.0.0"
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.2.0"
},
"engines": {
- "node": ">=8"
+ "node": "^10 || ^12 || >=14"
}
},
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
+ "node_modules/react": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
}
},
- "node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
+ "node_modules/react-dom": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.0"
+ },
+ "peerDependencies": {
+ "react": "^18.2.0"
}
},
- "node_modules/source-map": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
- "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+ "node_modules/react-refresh": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz",
+ "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==",
"dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
- "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dev": true,
+ "node_modules/react-router": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.0.tgz",
+ "integrity": "sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA==",
"dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
+ "@remix-run/router": "1.16.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
}
},
- "node_modules/source-map-support/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
+ "node_modules/react-router-dom": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.0.tgz",
+ "integrity": "sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ==",
+ "dependencies": {
+ "@remix-run/router": "1.16.0",
+ "react-router": "6.23.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
}
},
- "node_modules/sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
- "deprecated": "Please use @jridgewell/sourcemap-codec instead",
- "dev": true
- },
- "node_modules/statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "node_modules/rollup": {
+ "version": "4.17.2",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz",
+ "integrity": "sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==",
"dev": true,
+ "dependencies": {
+ "@types/estree": "1.0.5"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
"engines": {
- "node": ">= 0.6"
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.17.2",
+ "@rollup/rollup-android-arm64": "4.17.2",
+ "@rollup/rollup-darwin-arm64": "4.17.2",
+ "@rollup/rollup-darwin-x64": "4.17.2",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.17.2",
+ "@rollup/rollup-linux-arm-musleabihf": "4.17.2",
+ "@rollup/rollup-linux-arm64-gnu": "4.17.2",
+ "@rollup/rollup-linux-arm64-musl": "4.17.2",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.17.2",
+ "@rollup/rollup-linux-riscv64-gnu": "4.17.2",
+ "@rollup/rollup-linux-s390x-gnu": "4.17.2",
+ "@rollup/rollup-linux-x64-gnu": "4.17.2",
+ "@rollup/rollup-linux-x64-musl": "4.17.2",
+ "@rollup/rollup-win32-arm64-msvc": "4.17.2",
+ "@rollup/rollup-win32-ia32-msvc": "4.17.2",
+ "@rollup/rollup-win32-x64-msvc": "4.17.2",
+ "fsevents": "~2.3.2"
}
},
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
+ "node_modules/scheduler": {
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
"dependencies": {
- "safe-buffer": "~5.2.0"
+ "loose-envify": "^1.1.0"
}
},
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
+ "bin": {
+ "semver": "bin/semver.js"
}
},
- "node_modules/strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "dev": true,
+ "node_modules/shallowequal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
+ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
"engines": {
- "node": ">=6"
+ "node": ">=0.10.0"
}
},
"node_modules/styled-components": {
@@ -3750,48 +1652,6 @@
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.1.tgz",
"integrity": "sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ=="
},
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/terser": {
- "version": "5.31.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.0.tgz",
- "integrity": "sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==",
- "dev": true,
- "dependencies": {
- "@jridgewell/source-map": "^0.3.3",
- "acorn": "^8.8.2",
- "commander": "^2.20.0",
- "source-map-support": "~0.5.20"
- },
- "bin": {
- "terser": "bin/terser"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -3801,54 +1661,11 @@
"node": ">=4"
}
},
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
"node_modules/tslib": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
"integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
},
- "node_modules/tsscmp": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
- "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==",
- "dev": true,
- "engines": {
- "node": ">=0.6.x"
- }
- },
- "node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dev": true,
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/typescript": {
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
@@ -3862,21 +1679,6 @@
"node": ">=4.2.0"
}
},
- "node_modules/undici-types": {
- "version": "5.26.5",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
- "dev": true
- },
- "node_modules/universalify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
- "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
- "dev": true,
- "engines": {
- "node": ">= 10.0.0"
- }
- },
"node_modules/update-browserslist-db": {
"version": "1.0.13",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
@@ -3907,88 +1709,59 @@
"browserslist": ">= 4.21.0"
}
},
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true
- },
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/vite": {
- "version": "1.0.0-rc.13",
- "resolved": "https://registry.npmjs.org/vite/-/vite-1.0.0-rc.13.tgz",
- "integrity": "sha512-hLfTbhNPDhwXMCAWR6s6C79G/O8Is0MbslglgoHSQsRby+KnqHgtHChCVBHFeV2oZBV/3xhHhnfm94BDPFe8Ww==",
+ "version": "5.2.11",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz",
+ "integrity": "sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==",
"dev": true,
"dependencies": {
- "@babel/parser": "^7.12.7",
- "@koa/cors": "^3.1.0",
- "@rollup/plugin-commonjs": "^16.0.0",
- "@rollup/plugin-json": "^4.1.0",
- "@rollup/plugin-node-resolve": "^10.0.0",
- "@rollup/pluginutils": "^4.1.0",
- "@types/http-proxy": "^1.17.4",
- "@types/koa": "^2.11.4",
- "@types/lru-cache": "^5.1.0",
- "@vue/compiler-dom": "^3.0.3",
- "@vue/compiler-sfc": "^3.0.3",
- "brotli-size": "^4.0.0",
- "cac": "^6.6.1",
- "chalk": "^4.1.0",
- "chokidar": "^3.4.2",
- "clean-css": "^4.2.3",
- "debug": "^4.3.1",
- "dotenv": "^8.2.0",
- "dotenv-expand": "^5.1.0",
- "es-module-lexer": "^0.3.25",
- "esbuild": "^0.8.12",
- "etag": "^1.8.1",
- "execa": "^4.0.3",
- "fs-extra": "^9.0.1",
- "hash-sum": "^2.0.0",
- "isbuiltin": "^1.0.0",
- "klona": "^2.0.4",
- "koa": "^2.13.0",
- "koa-conditional-get": "^3.0.0",
- "koa-etag": "^4.0.0",
- "koa-proxies": "^0.11.0",
- "koa-send": "^5.0.1",
- "koa-static": "^5.0.0",
- "lru-cache": "^6.0.0",
- "magic-string": "^0.25.7",
- "merge-source-map": "^1.1.0",
- "mime-types": "^2.1.27",
- "minimist": "^1.2.5",
- "open": "^7.2.1",
- "ora": "^5.1.0",
- "p-map-series": "^2.1.0",
- "postcss-discard-comments": "^4.0.2",
- "postcss-import": "^12.0.1",
- "postcss-load-config": "^3.0.0",
- "resolve": "^1.17.0",
- "rollup": "^2.32.1",
- "rollup-plugin-dynamic-import-variables": "^1.1.0",
- "rollup-plugin-terser": "^7.0.2",
- "rollup-plugin-vue": "^6.0.0",
- "rollup-plugin-web-worker-loader": "^1.3.1",
- "selfsigned": "^1.10.8",
- "slash": "^3.0.0",
- "source-map": "^0.7.3",
- "vue": "^3.0.3",
- "ws": "^7.3.1"
+ "esbuild": "^0.20.1",
+ "postcss": "^8.4.38",
+ "rollup": "^4.13.0"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
- "node": ">=10.16.0"
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
}
},
"node_modules/vite-plugin-react": {
@@ -4005,107 +1778,11 @@
"vite": ">=1.0.0-rc.13"
}
},
- "node_modules/vue": {
- "version": "3.4.26",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.26.tgz",
- "integrity": "sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==",
- "dev": true,
- "dependencies": {
- "@vue/compiler-dom": "3.4.26",
- "@vue/compiler-sfc": "3.4.26",
- "@vue/runtime-dom": "3.4.26",
- "@vue/server-renderer": "3.4.26",
- "@vue/shared": "3.4.26"
- },
- "peerDependencies": {
- "typescript": "*"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/wcwidth": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
- "dev": true,
- "dependencies": {
- "defaults": "^1.0.3"
- }
- },
"node_modules/web-vitals": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-3.5.2.tgz",
"integrity": "sha512-c0rhqNcHXRkY/ogGDJQxZ9Im9D19hDihbzSQJrsioex+KnFgmMzBiy57Z1EjkhX/+OjyBpclDCzz2ITtjokFmg==",
"dev": true
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true
- },
- "node_modules/ws": {
- "version": "7.5.9",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
- "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
- "dev": true,
- "engines": {
- "node": ">=8.3.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "node_modules/yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/ylru": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.4.0.tgz",
- "integrity": "sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
}
}
}
diff --git a/package.json b/package.json
index e922f29c0..3d4be1b80 100644
--- a/package.json
+++ b/package.json
@@ -7,17 +7,17 @@
},
"dependencies": {
"date-fns": "^3.6.0",
- "react": "^17.0.0",
- "react-dom": "^17.0.2",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
"react-router-dom": "^6.23.0",
"styled-components": "^6.1.9"
},
"devDependencies": {
- "@types/react": "^17.0.0",
+ "@types/react": "^17.0.80",
"@types/react-dom": "^18.3.0",
"@types/react-router-dom": "^5.3.3",
"typescript": "^4.1.2",
- "vite": "^1.0.0-rc.13",
+ "vite": "^5.2.11",
"vite-plugin-react": "^4.0.0",
"web-vitals": "^3.5.2"
}
diff --git a/src/api/useAsync.ts b/src/api/useAsync.ts
index adaaf5995..8ca65b621 100644
--- a/src/api/useAsync.ts
+++ b/src/api/useAsync.ts
@@ -30,7 +30,6 @@ export function useAsync() {
fetchData(); // fetchData 함수 호출
}, []);
- console.log("here: ");
return { userInfo, userFolder, loading, error }; // 상태를 반환
}
diff --git a/src/components/FolderCardListItem.tsx b/src/components/FolderCardListItem.tsx
index 07f3330f7..666f2a2c0 100644
--- a/src/components/FolderCardListItem.tsx
+++ b/src/components/FolderCardListItem.tsx
@@ -26,7 +26,6 @@ function FolderCardListItem({ item }: ItemResponse) {
const linkUrl = item.url;
const handleMouseOver = () => setIsHovered(true);
const handleMouseLeave = () => setIsHovered(false);
- console.log("here: ", { item });
const handleDelete = () => {};
diff --git a/src/index.tsx b/src/index.tsx
index 1bef6229e..439e95cd2 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -2,6 +2,7 @@ import React from "react";
import ReactDOM from "react-dom/client";
import "./index.css";
import App from "./App";
+import reportWebVitals from "./reportWebVitals";
const root = ReactDOM.createRoot(
document.getElementById("root") as HTMLElement
@@ -11,6 +12,7 @@ root.render(
);
+reportWebVitals();
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
From 98b62d9c1358ee90675606ac7443d6e86989891a Mon Sep 17 00:00:00 2001
From: wjy308 <65326956+wjy308@users.noreply.github.com>
Date: Fri, 10 May 2024 15:21:53 +0900
Subject: [PATCH 3/3] =?UTF-8?q?fix:=20upstream=20=EC=9E=AC=EC=84=A4?=
=?UTF-8?q?=EC=A0=95,=20=EB=B6=88=ED=95=84=EC=9A=94=20=ED=8C=8C=EC=9D=BC?=
=?UTF-8?q?=20=EC=A0=9C=EA=B1=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package-lock.json | 16 +
package.json | 1 +
.../.github/pull_request_template.md | 27 --
.../workflows/delete-merged-branch-config.yml | 14 -
part1-mission/.vs/slnx.sqlite | Bin 90112 -> 0 bytes
part1-mission/.vscode/settings.json | 3 -
part1-mission/assets/images/Vector.png | Bin 414 -> 0 bytes
part1-mission/assets/images/bed.png | Bin 353721 -> 0 bytes
part1-mission/assets/images/dog.png | Bin 336334 -> 0 bytes
part1-mission/assets/images/fav.png | Bin 90597 -> 0 bytes
part1-mission/assets/images/gra.png | Bin 217436 -> 0 bytes
part1-mission/assets/images/hero.png | Bin 1104326 -> 0 bytes
part1-mission/assets/images/icn_facebook.png | Bin 374 -> 0 bytes
part1-mission/assets/images/icn_goolge.png | Bin 154846 -> 0 bytes
part1-mission/assets/images/icn_instagram.png | Bin 376 -> 0 bytes
part1-mission/assets/images/icn_kakao.png | Bin 1490 -> 0 bytes
part1-mission/assets/images/icn_twitter.png | Bin 328 -> 0 bytes
part1-mission/assets/images/icn_youtube.png | Bin 281 -> 0 bytes
part1-mission/assets/images/image1.png | Bin 334192 -> 0 bytes
part1-mission/assets/images/image2.png | Bin 75564 -> 0 bytes
part1-mission/assets/images/image3.png | Bin 353702 -> 0 bytes
part1-mission/assets/images/image4.png | Bin 195040 -> 0 bytes
.../assets/images/landing/Card 1.png | Bin 26663 -> 0 bytes
.../assets/images/landing/Card-1.png | Bin 29993 -> 0 bytes
part1-mission/assets/images/landing/Card.png | Bin 65246 -> 0 bytes
.../assets/images/landing/image 25.png | Bin 295769 -> 0 bytes
...53\212\224 \355\214\235\354\227\205 1.png" | Bin 25189 -> 0 bytes
...03-17 \354\230\244\355\233\204 3.22 1.png" | Bin 52529 -> 0 bytes
...52\270\260 \355\214\235\354\227\205 1.png" | Bin 28491 -> 0 bytes
part1-mission/assets/images/page.png | Bin 1297147 -> 0 bytes
part1-mission/assets/images/page2.png | Bin 804802 -> 0 bytes
part1-mission/assets/images/search.png | Bin 678885 -> 0 bytes
part1-mission/assets/images/share.png | Bin 70335 -> 0 bytes
part1-mission/css/indexStyle.css | 384 ------------------
part1-mission/css/login.css | 125 ------
part1-mission/css/signup.css | 117 ------
part1-mission/css/ui.css | 27 --
part1-mission/faq/index.html | 11 -
part1-mission/folder/index.html | 11 -
part1-mission/img/Vector.png | Bin 414 -> 0 bytes
part1-mission/img/bed.png | Bin 353721 -> 0 bytes
part1-mission/img/dog.png | Bin 336334 -> 0 bytes
part1-mission/img/fav.png | Bin 90597 -> 0 bytes
part1-mission/img/gra.png | Bin 217436 -> 0 bytes
part1-mission/img/hero.png | Bin 1104326 -> 0 bytes
part1-mission/img/icn_facebook.png | Bin 374 -> 0 bytes
part1-mission/img/icn_goolge.png | Bin 154846 -> 0 bytes
part1-mission/img/icn_instagram.png | Bin 376 -> 0 bytes
part1-mission/img/icn_kakao.png | Bin 1490 -> 0 bytes
part1-mission/img/icn_twitter.png | Bin 328 -> 0 bytes
part1-mission/img/icn_youtube.png | Bin 281 -> 0 bytes
part1-mission/img/image1.png | Bin 334192 -> 0 bytes
part1-mission/img/image2.png | Bin 75564 -> 0 bytes
part1-mission/img/image3.png | Bin 353702 -> 0 bytes
part1-mission/img/image4.png | Bin 195040 -> 0 bytes
part1-mission/img/landing/Card 1.png | Bin 26663 -> 0 bytes
part1-mission/img/landing/Card-1.png | Bin 29993 -> 0 bytes
part1-mission/img/landing/Card.png | Bin 65246 -> 0 bytes
part1-mission/img/landing/image 25.png | Bin 295769 -> 0 bytes
...53\212\224 \355\214\235\354\227\205 1.png" | Bin 25189 -> 0 bytes
...03-17 \354\230\244\355\233\204 3.22 1.png" | Bin 52529 -> 0 bytes
...52\270\260 \355\214\235\354\227\205 1.png" | Bin 28491 -> 0 bytes
part1-mission/img/page.png | Bin 1297147 -> 0 bytes
part1-mission/img/page2.png | Bin 804802 -> 0 bytes
part1-mission/img/search.png | Bin 678885 -> 0 bytes
part1-mission/img/share.png | Bin 70335 -> 0 bytes
part1-mission/index.css | 281 -------------
part1-mission/index.html | 126 ------
part1-mission/js/common-validation.js | 43 --
part1-mission/login/index.html | 51 ---
part1-mission/login/index.js | 89 ----
part1-mission/login/style.css | 29 --
part1-mission/login/validation.js | 66 ---
part1-mission/package-lock.json | 102 -----
part1-mission/package.json | 5 -
part1-mission/privacy/privacy.html | 11 -
part1-mission/signup/index.html | 50 ---
part1-mission/signup/index.js | 140 -------
part1-mission/signup/style.css | 29 --
part1-mission/styles/common.css | 21 -
part1-mission/styles/common_login-signUp.css | 76 ----
part1-mission/styles/ui.css | 51 ---
.../\354\262\253\355\224\214\353\236\234.jpg" | Bin 1943505 -> 0 bytes
src/App.js | 18 -
src/App.test.js | 8 -
src/CardList/CardList.js | 37 --
src/CardList/FolderItem.js | 37 --
src/CardList/SearchIcon.js | 1 -
src/Footer/Footer.js | 69 ----
src/Footer/Icon.js | 4 -
src/NavigationBar/NavProfile.js | 30 --
src/NavigationBar/NavigationBar.js | 30 --
src/Profile/Profile.js | 38 --
src/SearchBar/SearchBar.js | 16 -
src/SearchBar/SearchIcon.js | 1 -
src/api/getUserFolder.js | 49 ---
src/api/getUserInfo.js | 12 -
src/api/useAsync.js | 32 --
src/api/useFolderAsync.js | 31 --
src/components/FolderCardList.js | 61 ---
src/components/FolderCardListItem.js | 45 --
src/components/FolderCardListItemStyled.js | 29 --
src/components/FolderList.js | 50 ---
src/components/FolderListMenu.js | 37 --
src/components/InputAddLink.js | 19 -
src/components/KebabButton.js | 72 ----
src/components/LinkIcon.js | 1 -
src/components/LinkList.js | 0
src/components/Test.js | 51 ---
src/components/Testt.js | 49 ---
src/components/modal/DeleteModal.js | 22 -
src/components/modal/DeleteModalStyled.js | 64 ---
src/index.js | 15 -
src/page/Folder.js | 17 -
src/page/Shared.js | 18 -
src/reportWebVitals.js | 13 -
src/util/getClapsedTime.js | 51 ---
117 files changed, 17 insertions(+), 2916 deletions(-)
delete mode 100644 part1-mission/.github/pull_request_template.md
delete mode 100644 part1-mission/.github/workflows/delete-merged-branch-config.yml
delete mode 100644 part1-mission/.vs/slnx.sqlite
delete mode 100644 part1-mission/.vscode/settings.json
delete mode 100644 part1-mission/assets/images/Vector.png
delete mode 100644 part1-mission/assets/images/bed.png
delete mode 100644 part1-mission/assets/images/dog.png
delete mode 100644 part1-mission/assets/images/fav.png
delete mode 100644 part1-mission/assets/images/gra.png
delete mode 100644 part1-mission/assets/images/hero.png
delete mode 100644 part1-mission/assets/images/icn_facebook.png
delete mode 100644 part1-mission/assets/images/icn_goolge.png
delete mode 100644 part1-mission/assets/images/icn_instagram.png
delete mode 100644 part1-mission/assets/images/icn_kakao.png
delete mode 100644 part1-mission/assets/images/icn_twitter.png
delete mode 100644 part1-mission/assets/images/icn_youtube.png
delete mode 100644 part1-mission/assets/images/image1.png
delete mode 100644 part1-mission/assets/images/image2.png
delete mode 100644 part1-mission/assets/images/image3.png
delete mode 100644 part1-mission/assets/images/image4.png
delete mode 100644 part1-mission/assets/images/landing/Card 1.png
delete mode 100644 part1-mission/assets/images/landing/Card-1.png
delete mode 100644 part1-mission/assets/images/landing/Card.png
delete mode 100644 part1-mission/assets/images/landing/image 25.png
delete mode 100644 "part1-mission/assets/images/landing/\353\224\224\354\212\244\355\201\254\353\246\275\354\205\230 \354\227\206\353\212\224 \355\214\235\354\227\205 1.png"
delete mode 100644 "part1-mission/assets/images/landing/\354\212\244\355\201\254\353\246\260\354\203\267 2023-03-17 \354\230\244\355\233\204 3.22 1.png"
delete mode 100644 "part1-mission/assets/images/landing/\355\217\264\353\215\224 \352\263\265\354\234\240\355\225\230\352\270\260 \355\214\235\354\227\205 1.png"
delete mode 100644 part1-mission/assets/images/page.png
delete mode 100644 part1-mission/assets/images/page2.png
delete mode 100644 part1-mission/assets/images/search.png
delete mode 100644 part1-mission/assets/images/share.png
delete mode 100644 part1-mission/css/indexStyle.css
delete mode 100644 part1-mission/css/login.css
delete mode 100644 part1-mission/css/signup.css
delete mode 100644 part1-mission/css/ui.css
delete mode 100644 part1-mission/faq/index.html
delete mode 100644 part1-mission/folder/index.html
delete mode 100644 part1-mission/img/Vector.png
delete mode 100644 part1-mission/img/bed.png
delete mode 100644 part1-mission/img/dog.png
delete mode 100644 part1-mission/img/fav.png
delete mode 100644 part1-mission/img/gra.png
delete mode 100644 part1-mission/img/hero.png
delete mode 100644 part1-mission/img/icn_facebook.png
delete mode 100644 part1-mission/img/icn_goolge.png
delete mode 100644 part1-mission/img/icn_instagram.png
delete mode 100644 part1-mission/img/icn_kakao.png
delete mode 100644 part1-mission/img/icn_twitter.png
delete mode 100644 part1-mission/img/icn_youtube.png
delete mode 100644 part1-mission/img/image1.png
delete mode 100644 part1-mission/img/image2.png
delete mode 100644 part1-mission/img/image3.png
delete mode 100644 part1-mission/img/image4.png
delete mode 100644 part1-mission/img/landing/Card 1.png
delete mode 100644 part1-mission/img/landing/Card-1.png
delete mode 100644 part1-mission/img/landing/Card.png
delete mode 100644 part1-mission/img/landing/image 25.png
delete mode 100644 "part1-mission/img/landing/\353\224\224\354\212\244\355\201\254\353\246\275\354\205\230 \354\227\206\353\212\224 \355\214\235\354\227\205 1.png"
delete mode 100644 "part1-mission/img/landing/\354\212\244\355\201\254\353\246\260\354\203\267 2023-03-17 \354\230\244\355\233\204 3.22 1.png"
delete mode 100644 "part1-mission/img/landing/\355\217\264\353\215\224 \352\263\265\354\234\240\355\225\230\352\270\260 \355\214\235\354\227\205 1.png"
delete mode 100644 part1-mission/img/page.png
delete mode 100644 part1-mission/img/page2.png
delete mode 100644 part1-mission/img/search.png
delete mode 100644 part1-mission/img/share.png
delete mode 100644 part1-mission/index.css
delete mode 100644 part1-mission/index.html
delete mode 100644 part1-mission/js/common-validation.js
delete mode 100644 part1-mission/login/index.html
delete mode 100644 part1-mission/login/index.js
delete mode 100644 part1-mission/login/style.css
delete mode 100644 part1-mission/login/validation.js
delete mode 100644 part1-mission/package-lock.json
delete mode 100644 part1-mission/package.json
delete mode 100644 part1-mission/privacy/privacy.html
delete mode 100644 part1-mission/signup/index.html
delete mode 100644 part1-mission/signup/index.js
delete mode 100644 part1-mission/signup/style.css
delete mode 100644 part1-mission/styles/common.css
delete mode 100644 part1-mission/styles/common_login-signUp.css
delete mode 100644 part1-mission/styles/ui.css
delete mode 100644 "part1-mission/\354\262\253\355\224\214\353\236\234.jpg"
delete mode 100644 src/App.js
delete mode 100644 src/App.test.js
delete mode 100644 src/CardList/CardList.js
delete mode 100644 src/CardList/FolderItem.js
delete mode 100644 src/CardList/SearchIcon.js
delete mode 100644 src/Footer/Footer.js
delete mode 100644 src/Footer/Icon.js
delete mode 100644 src/NavigationBar/NavProfile.js
delete mode 100644 src/NavigationBar/NavigationBar.js
delete mode 100644 src/Profile/Profile.js
delete mode 100644 src/SearchBar/SearchBar.js
delete mode 100644 src/SearchBar/SearchIcon.js
delete mode 100644 src/api/getUserFolder.js
delete mode 100644 src/api/getUserInfo.js
delete mode 100644 src/api/useAsync.js
delete mode 100644 src/api/useFolderAsync.js
delete mode 100644 src/components/FolderCardList.js
delete mode 100644 src/components/FolderCardListItem.js
delete mode 100644 src/components/FolderCardListItemStyled.js
delete mode 100644 src/components/FolderList.js
delete mode 100644 src/components/FolderListMenu.js
delete mode 100644 src/components/InputAddLink.js
delete mode 100644 src/components/KebabButton.js
delete mode 100644 src/components/LinkIcon.js
delete mode 100644 src/components/LinkList.js
delete mode 100644 src/components/Test.js
delete mode 100644 src/components/Testt.js
delete mode 100644 src/components/modal/DeleteModal.js
delete mode 100644 src/components/modal/DeleteModalStyled.js
delete mode 100644 src/index.js
delete mode 100644 src/page/Folder.js
delete mode 100644 src/page/Shared.js
delete mode 100644 src/reportWebVitals.js
delete mode 100644 src/util/getClapsedTime.js
diff --git a/package-lock.json b/package-lock.json
index e5a801873..8e9da54b3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15,6 +15,7 @@
"styled-components": "^6.1.9"
},
"devDependencies": {
+ "@types/node": "^20.12.11",
"@types/react": "^17.0.80",
"@types/react-dom": "^18.3.0",
"@types/react-router-dom": "^5.3.3",
@@ -1086,6 +1087,15 @@
"integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==",
"dev": true
},
+ "node_modules/@types/node": {
+ "version": "20.12.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.11.tgz",
+ "integrity": "sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
"node_modules/@types/prop-types": {
"version": "15.7.12",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz",
@@ -1679,6 +1689,12 @@
"node": ">=4.2.0"
}
},
+ "node_modules/undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+ "dev": true
+ },
"node_modules/update-browserslist-db": {
"version": "1.0.13",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
diff --git a/package.json b/package.json
index 3d4be1b80..6f5e33adf 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,7 @@
"styled-components": "^6.1.9"
},
"devDependencies": {
+ "@types/node": "^20.12.11",
"@types/react": "^17.0.80",
"@types/react-dom": "^18.3.0",
"@types/react-router-dom": "^5.3.3",
diff --git a/part1-mission/.github/pull_request_template.md b/part1-mission/.github/pull_request_template.md
deleted file mode 100644
index a85814779..000000000
--- a/part1-mission/.github/pull_request_template.md
+++ /dev/null
@@ -1,27 +0,0 @@
-## 요구사항
-
-### 기본
-
-- [x]
-- []
-- []
-
-### 심화
-
-- [x]
-- []
-
-## 주요 변경사항
-
--
--
-
-## 스크린샷
-
-![image](이미지url)
-
-## 멘토에게
-
--
--
-- 셀프 코드 리뷰를 통해 질문 이어가겠습니다.
diff --git a/part1-mission/.github/workflows/delete-merged-branch-config.yml b/part1-mission/.github/workflows/delete-merged-branch-config.yml
deleted file mode 100644
index d54933615..000000000
--- a/part1-mission/.github/workflows/delete-merged-branch-config.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-name: delete branch on close pr
-
-on:
- pull_request:
- types: [closed]
-
-jobs:
- delete-branch:
- runs-on: ubuntu-latest
- steps:
- - name: delete branch
- uses: SvanBoxel/delete-merged-branch@main
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/part1-mission/.vs/slnx.sqlite b/part1-mission/.vs/slnx.sqlite
deleted file mode 100644
index 9e8c934af073e5124866db0bcfba28ed6872aec2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 90112
zcmeHQ3ve6Pb=@Vv1+f5jNeL80Q6EU6L_*S1AV7emRX3qP$f8A25<%)?8K&`BkdR0~
z0zlbpQcq~vj%z1wJW;-N(|p{-Gf6tB<4n?alC(2U(zNNMZ8DxFc3d}~nKqL0X`Q4_
z+O+q*{Vzb1l3OL3TtK?Sd-r|rJMZ4R@7=cxq>hahYjUtquFPj@!6?(puq^ZXV31*$
z4e);*{MTM<;e%64z+cw%dAW}pnBLo-Y9@unUyw3u#9w%y^0s;o@sGJ5ZF%11;Ep*S
zZ+fL^qUrYKn!x;<27wkL=~9>A3Y?JGrDMfXUcNWAIG-)gjmU*!saPwPOVi57(#(P4
zoIIMJ9&J=eOiUz)CzHX^@sZ@o;OSMhk@oRHcpVw9FP{$foVIqG4lT9&T!93Ld0S&K
z$20SCW8s7qgfnWcAQCB<4knI_jghgAA4v?SlA#B0^|}I*#6BX`GTAxVK6HE9rwTJU
zynig&VB|i&N5Q2I#L;{j@SRNFmYfJ4ofthlJaH;`D0wP4JT-Y_bR3#JoE)D7so?+A
z*w`Mmm7|sNg<@W=m}_fglp*RpF`Ew7l{1EH29Ov^YOz|A=XD6}Sp>?U
zQTuwZ94qHC#6Bm=_bfjEtx%#ow=iF-FX!V!OM5-8z%_Fiy`a}>Wp?(m?U-!NUI%oqzV~$K;uKFU?x8fbID0L7+GDjiI~)4fEY8j{+srB~
zPMy$3GS_L2#o}ncD=W-v(-+OG&4beP-6D-vP*+|pqt5;t8~NnoIq;I2r_#F6EN`+n
zFIQ`s`E%(YaUPSShryGAzap9_xm|(1A@+WeYNFOHX>XbkEkhBESEqGqeDv6qe&x~1
z=#@OBAbOp7ZJ3b7aWQ9aZeQ<}G?+*Td5GEEw&
zG0c;+3e8hALl;;Xj^Sp*D|%V2Uwx>nsZ6Hq7MClKl(Z?cEAsTwOhqo$rit6O^I96t
zpS_g11=Cd8i;)FGqpR~CxSUZD>=lSEFYV`CfwSQG77fp5vO=}%`kE&HXDaSe$D=NR
z?A2CiZH2MD${^aC&C8;?ZV4)l1?E-|*r>UJaE*WuT|DSioOHr)(k8U*ayDBH#LhOE
zh@EwPrlQDfX!$BuBFoN!;p?a$BkL*hx{f8mYxD4M890`y){bPWa^->y
z%Ob<`s;kA|NbdR3zqRV}y!g59%I@-hqcJF3SQO&8Ihc%i!U6s!-$R${{S(6Tn-q@HuB~bo7P&2f2
z8|w;mcCz=&v`tku^-q(fjnitbN#)d>8>VT;Gjj_tk2dX`g1uTB?*qztKf#FqDt=!4
zi0>}nK1kpT5kLeG0Ym^1Km-s0L;w*$1Q3B=0|b^@xMn7?l!ge?897%=luL!;%tD2R
zu2ZlbE#~AmkZtcawZQ&`;#}TRs=Do#;OR7tA8t$4GL_oGIkha=?wYv?W%Ft+1hq?W
zhT!9WcWbkgNwkf~*@ctZweAhvdc6=?4xto0)wNXUKMW)Hvu$DFN|n
zSba(4uZ`%uNVdO!C|`(6@oZmS>g&r7Nkjc|jug)iMPq|Q8Q?`_ITwyca#CM^JSz1M
z42GplG?$m;c&twj55)%JGGu3?kz9OmK#C0Z<)r>xJTGM;nLa6+9~|h<7BZ21e_k5M
zMzi@?J}M1H;}NMpGLV;`i+*XKKT?Rukw`3_i%5gvSacu;LgeFp{ZfBlAqItpqEc+I
zKU$FEQ8_ahk#h0KV0<8#li~xJL8*Tz7nd?a`LGnp%7tirC_k7j3`n_bp?@&eKOlv(
zavWsJL*pQ&lz%Y$00+4-828
zLT(^7)Hfsz<})C8wm&Cj^ZhZYFCNQBvbjRM5bu-Z{9qrzIUq&Dv6$2!&-F<|1vw0Y
z$8))%STr2%3rligXi&}$g{5p^C<}5i*24cCvfoxdH=VO3VAs&{7;xH|_d?6o>55mYJ5h#?G<9%`j
z#Ldf6zZ}U(nZ78DBNFM$_6-aHsPa08li4d$6#``?hfRs{LaEl@-Q;AXXrdx#YI6Qa
zW$Ij>d$
z1Sr#OaGqL1?R&erDVbXMm{j@bdMbCu$SOm2}fy;{AE
zCpe}Xm>1xS7~qyQcpSR-Ox2@tJrQPoCva<-nW~bn$kCqW7z-MT5bLLG;^_?qCOKx4
zE}p4}j+9+)y-vq=l{KH4k^6hkm1g{!Tpim?tf-Z>)x?TeSwR!4&%)Zgg=2OT`EsS{
z#qvUJAuC(?n+<;Lo?@*gS1kOEn-myH{j-^~nX-i&+{iI|)z*t8cuIbzl9{)Z*wo1}
zA+^LzxjZ*x?S9J!j*(P$A(NA{>le{XmC;@2p(0cD-&r$B-F>9xWBt1(f_k=7J@^
zLsl@77i9@_p?bjpeM6pOwnI~tRVY|^>((jF<;ydc=GL_<`B^z{$#3@)1#01nWNxcY
zZC<;kIc5O5IG#FDuAHr&gQ3Drzcm?juUv9yrM9o-m>85&mvP#SzScrp?jn%2a53qG
zET5fQlnxi+i$P4S^seEUL(ocIo|9{`G%v%Q!+9xN$&_-lQjXrv+`BkG*QWKlzKtk%
z3wIAlR+uZ_Q*F{X-K`vRE3|YDZbzQ3kmp&ewQ2a4kaKfH^!dDAuu}vrVcgu6r$2i2
z(pxUS?}^?s=Vr84`~pD2v?#V+)pLDnZgHlxa8Ao@_X4a?RyAoYd##6K0+3DJke1n+
zQEw_#1n6=P!A#+~K@;jA+
znQ9g8!`5=!vx>aE7pl2(Ue>bP97=u2*0S20)RHsB+U!DB%U;8BOgr?{3)xzp=R6az
zI3dM1?Yxs?UfuU9&Wd50g4CA+vf!4_5MQda036QhOI;?`d#o(Z%sLEOaP{|}x%}2k
z!S8?aQ&*mN|J8TA`}?2yMDXfc{_x7X9t={S(`BwO4Hd3D^5oT}k6r%oC$3!lbP(Mt@3BDJoxV5m3KXK`H@S@_eQP))Z&7X
z7%@kSD8xM{G8Jm476utFVMz7jYpe$H5!P{dFrchCN*&wxP}FDP>l;*;U~ovKs+_6h
zX6sm_(m8MznoBn-5y1(ku1Y6Z>s+Rkho{=%%3)L>y-*mmi;B*=PiIAYJ5DQ}P`R|L
z*Jkx%TU1z8P#tMO)g6Tun6+N$^sDgp8O3QS%}JK)ZBA3^O$FsLkfC2=G+90?lgqKr
z?uaY>8iosssfrY{vp_Kw*4{A3tWq(R3WIw&=2{g~sTt|znAIz$Qm0c=mM1pFRG5K1
z3Y;dzR2Ut*mGN2>Q)TTkSh`}WtdPR8D5k<%-=nTwOp2*i>Q*XQ6jQCVQ>kQDOobEJ
zp$KkLOog$oi(C=SimBxDe2y96w==#IzC*r*Z@`-pyM24SZvI2!kHznbg76*R8Skv;
zzdctyFZ#MX|LE)Re9`k~o+mwzd*0wFdZs+X;@3P8&vuXB)9h{cdA$E6j*7SNm-s&Z
z%_8gl3IB@sGJl1C(fiN*>%F&l-^+iM|106&y`=03v`0AOeU0BJdlFfcGlnQ6h
zPWv2NSUvK0hv3-C8XJLAt&Sb6Il_0c&C$(Tb{Qvp4>9Z1NZxVZC5Bhpva~wob!<{w
zJyV^uc99}Uvffq})w@X2SV)IxJKEy8hcJx=b2nk?i{zc86K!FKpg9D$fec0qyLFJksG+v?va+weyY+
zRtb^$I~)US!?4)&dPht<(X@oZ))H~;;jg>4I}WicguK>}+0w&YZ5ti8vde|GS_zt#
zaF$49rkYh1=tmm3@{v)g>gjbm0xS(tc{oQK3;SC-ljNy<8k^=x_ljmi1jdOS7Kh}Ajbw}@R|@uoNg*vpvtoc}FDbo>piVE9gxHB1$dO2fwnyHhC6s{8ZY`;r
zEhOJ%GFwPKT-D7MQomy|TS%TY%ob8<-E1LoR5M%nJYob?wnH*TlZx3wawkoaX*Rht
zk~AVHMYHFbB|5DXwMI&2h*esnBL%DW#I4C#m*X(I;w(vyX?FFq)a^*ItC=O@lIg&;
zSt3K!XNkyZL@##pf|nWbz08PfM4#9q{1VRWUlx8Sd|!A;cwTr;_y^%DqC@ze@I~P-
zg+CFV5uOr0D1J`-jL;=)7S;=#!1#Xdds$c`epr0JxDihL|6F)Nc&G4yaG!9mP!Z;Y
zf^avS|4$0z!a-rb@LNJ$2n)N!pNlVxKM>v~JOcL&d|P}$d`|p(`0jyc#izxOkvFt{
z4e#IBt2quF5kLeG0Ym^1Km-s0L;w*$1P}om0>Y0NPDl%10eYv{1N3yWgJpepPL$*4N|&=(#@1^qI4sros@2%
zw1d+1lm;l3Da}*5j?#8Qoqj?c)0D2I^e#f%))3m%Mro_l0Y5WGh(L&s5HBGfLUM%g
zgt!TD5yBDTBqU3SgODbNgK?Aggfyjh0-X2x?go0V3qmo>+c=28FmLOE5DQQUodAWv
z2vCTI0EI9JP>6m2-9@NBL}?GD-IVSG`iOrA&WUM}#R%;RQ@WSZUP>iO_fWc<(p`l5LzMPV+ReNFmKkwhWPGhY
zhxg~+tDc{V?cRU!Jju6;KNMdQelC33x6|wMywmf5r|SJDkL>-5=Y;2=r_Zy|
z&qsuBdY9ZUxi5Mbd>!sj^IJWi_eRAJiB)e_93yYuc`a|i315f+B7g`W0*C-2fC$`B
z1iVi$Yt%D7Aq|OU);qv#Uhb$*xYPX&rp#)lXriYB7lDO?%!@?C=b|d
zGcuHWu(ui+%EL6lcIR#wlkE|jEqbo$6yCp?0%tjg_iqX~_bT-*C-MG`erHI@H_qby
zo$H*El4(AT_ivzs)XwAm9dwY|!!PS;N_*rbK;<`1<^6J-b31E3m-pvs1?{1hbu^_t
z%F^z2c7OoN11$bd=K$OIeBLp=!5L#4p3pni(m~kI=pA?Ma2{e;I;C%0L+4jNr*CT8
z?7S7!bGe65TGu$c8QWRC$JxPXhxN*5<+R@G>|``W_wvpFqn_8hoNWv_uosSK55P0oF=
z^|C%}r`;|izz&gpkRB;3&vV=j=>?ORWZTF-XUZTuNXS^}c$jQ4q1dVqh{yM5d#BvU`Or?Uv4asptv3Vb`e+Hmchk#IuEm}nAN?`Y4%!XHRMdO
ztD9ANp|H*>9kem4RA%G&ziT)7{(n~d8Uz3Eg$N)5hyWsh2p|H803v`0AOeU0B7g`W
z0yhr=yWyw)rq-_JCmQ>D!{qz_S@G)({KFR_fCwN0hyWsh2p|H803v`0AOeU0B7g|o
zLf2Q^384^m02p|H803v`0
zAOeU0B7g`W0*C-2fCwN0*Ny-=|Hu9Rwd0005CKF05kLeG0Ym^1Km-s0L;w*$1Q3Cn
z2?5;y-%PWGvLXVA03v`0AOeU0B7g`W0*C-2fCwN0*M|V!|9^eBVJ$=e5kLeG0Ym^1
zKm-s0L;w*$1P}p4;ATRA?EiU}gAwDxcZI6=DQ~Oi5dWC_(U#|34(^!a@upXrCYo-)
znMQ=N{;Cmh{%PQZ#4a5xmh$qwsm1whd2U256idZgv0R!~K9*(<6zAm8{Pbv}LSkYf
zIXsyRj*gEcPX_(0$>IHD$p$0$@jVJI
zbs&!B(}3?}^0wqe@aV+o;o*r>!9&SY!QrXNBctQc?BV42BuEASr^d$isI45WlrI$X
za>ZO*E29)4lQ5Aykeo=4Cz7e)X{|=GR4djN(>;0yG!ZhYz`RWz9U(vf42j{9q=hw-
z97`H3O&A5h@#Di2iG#xvJ&{-}qzi1rRjYDfVQy~m*g|HmSSZT*Mh#f!L#uZPw8X$m
z8?nY6&gJB4wU{l=ks<1^+KbtAu&$gjWHW%oP*RK4nmn&VXwM>0294U+gXLH`mm&5!
zQNCyS0ceF1<++9VQhhleA6nY$aRsKquBNG7QAu-|Qc12PGPzlKx?Xg}%IpQbRx7i!
zmu<&nbM`u*d-c7iLl>ubYH<&xsm0lA+0!1Y#o5`=zh-fEmf2=jVR7n&Hj=qcb1W7|
z`(0UKUYovXW^EpnrtcPMw1T?wY8iF*-`L0}7tev0)I62eg=Tq^#d*0}%gmok2Z{5T
z96b!46#Ny@M9J+6>&Ww*Fofuy8OnO%{mk7g=zsWwgAww>3~aQ^J2%q^Iv(q4=#
z7#dxj_rT?hieRrmba`n%=L(z!&$noJK9d!yUDww%`9D)}mpUGG31qLfLTf9G?NtWR
z-fUhL)pbiyX)G|eg1|=26@+U9eCXmqr{bg&hLbj-WtX$rY9MyD$wcg|>oXNaW<$$Y
zu@YH!4h&yM{TNwKk=J!B30|9rAFUE>(!u?s^~=DqOtp3-Ta_ypWLOp%o>yHh21k+y
zhNs3RgSmwYwb+{GroqU|4p*SBlU>?E%_Jq)YQ@qFwP|&|t>ieZ`cz+zsu5l8D;1VA
z+R)J^F0gwydx~mK^*pT6enBq5s?C~oSoFrm>?wir?}3`3rQ29nptF;`U#4xU
zvZ;TXENz@tb4@Cz=G-t%JD!;A0JJg2-b-Vx>zbhAzwwR1?mN4K@aJf+
zK1>*gdDOL8qpmVO+f$&HmIIGUmh*`=PfuE6OKyL8I7
zsu;=CGRy9Q417qjbyinuWiH!B!^<>jjyPJQ4GrdW=z)9J&;{)8?Y3Q`NhPBKNwr&j
zq?KuMl~%^}c}$}XT~y-|t6s1S<+_f`>}%Y4Yl~&`=(KH)<*Kh0REF_tk(5{4Ng0=c
zmDlmtv8+)qHj~Md*1*wZrZOYf8eN5!iPR*@rJ8*2YHE;;L!=F&4pB?gfi4dxRqGo{)JLa$v}
z=!Q+LD739sI`mMd=n6!m?4zb=i52Mvn6@rw?m8w7ZC>Zr8}2H0v0D5@Gn+>C)!6Q}
z8Y>&xHHR$ic>dpdB4aq$69UxXRu$Bc?N_@IvB*Uhgz2E}UY2nl|Bv2Ak33o9Qfkbp
zOK{=g$0#||F}W7|p~bR0H9Y*l!;kBVbiBqTn0Bu5n|Jtu&;Q@>AP07c2p|H803v`0
zAOeU0B7g`W0*C-2fC$`h1aSX^$&o&X_!Z>+HxyppvZ
z`^|fA-manS84SEXpJ`+ad6Z6$*Ov>easItpg`n|9H9CMkvGwY{k#`~@U@B{AGM|Td
zXH|2pnxSaQ#Uk{0!A+0PqN1T8W4R~R-uq&=qd%q6bi35w@2P<0SJVY7b~@Bz965>TT_
zXS1ITu#Xu*l`>$9rHs%5*q8lSNI#^mbygg(<#_>kPKq271CK{?08DssQ{D{RQ^Y4P
zJU6G#!O<6dS!gmCkNUWDik-tiXeWX0i-IIFC%|TDgXcg07*qo
IM6N<$g07mScmMzZ
diff --git a/part1-mission/assets/images/bed.png b/part1-mission/assets/images/bed.png
deleted file mode 100644
index 5d2cc83bd796f67ecef6040368cc36bc629880fe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 353721
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