├── NOTES.md
├── README.md
├── client
├── .gitignore
├── index.html
├── package.json
├── src
│ ├── App.css
│ ├── App.tsx
│ ├── components
│ │ └── AddTodo.tsx
│ ├── favicon.svg
│ ├── index.css
│ ├── logo.svg
│ ├── main.tsx
│ └── vite-env.d.ts
├── tsconfig.json
├── tsconfig.node.json
├── vite.config.ts
└── yarn.lock
└── server
├── go.mod
├── go.sum
└── main.go
/NOTES.md:
--------------------------------------------------------------------------------
1 | ## Initialize Go app
2 | go mod init github.com/tomdoestech/go-react-todo
3 |
4 | ## Install Fiber v2
5 | go get -u github.com/gofiber/fiber/v2
6 |
7 | ## Create client app with Vite
8 | yarn create vite client -- --template react-ts
9 |
10 | ## Install dependencies
11 | yarn add @mantine/hooks @mantine/core swr @primer/octicons-react
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Build Todo Application with Go & React
2 |
3 | ## What are we using?
4 | * [Go](https://go.dev/) - Server
5 | * [Fiber](https://github.com/gofiber/fiber) - Go web server
6 | * [Vite](https://vitejs.dev/) - Client
7 | * [Mantine](https://mantine.dev/) - React component library
8 | * [TypeScript](https://www.typescriptlang.org/) - Static types
9 |
10 | ## What will you learn
11 | * How to make a basic Go REST API
12 | * How to make a todo UI
13 | * React with TypeScript
14 | * Basic Mantine usage
--------------------------------------------------------------------------------
/client/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite App
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/client/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "client",
3 | "private": true,
4 | "version": "0.0.0",
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "tsc && vite build",
8 | "preview": "vite preview"
9 | },
10 | "dependencies": {
11 | "@mantine/core": "^3.6.14",
12 | "@mantine/hooks": "^3.6.14",
13 | "@primer/octicons-react": "^17.0.0",
14 | "react": "^17.0.2",
15 | "react-dom": "^17.0.2",
16 | "swr": "^1.2.2"
17 | },
18 | "devDependencies": {
19 | "@types/react": "^17.0.33",
20 | "@types/react-dom": "^17.0.10",
21 | "@vitejs/plugin-react": "^1.0.7",
22 | "typescript": "^4.5.4",
23 | "vite": "^2.8.0"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/client/src/App.css:
--------------------------------------------------------------------------------
1 | .App {
2 | padding: 2rem;
3 | display: flex;
4 | flex-direction: column;
5 | align-items: center;
6 | }
7 |
--------------------------------------------------------------------------------
/client/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { Box, List, ThemeIcon } from "@mantine/core";
2 | import { CheckCircleFillIcon } from "@primer/octicons-react";
3 | import useSWR from "swr";
4 | import "./App.css";
5 | import AddTodo from "./components/AddTodo";
6 |
7 | export interface Todo {
8 | id: number;
9 | title: string;
10 | body: string;
11 | done: boolean;
12 | }
13 |
14 | export const ENDPOINT = "http://localhost:4000";
15 |
16 | const fetcher = (url: string) =>
17 | fetch(`${ENDPOINT}/${url}`).then((r) => r.json());
18 |
19 | function App() {
20 | const { data, mutate } = useSWR("api/todos", fetcher);
21 |
22 | async function markTodoAdDone(id: number) {
23 | const updated = await fetch(`${ENDPOINT}/api/todosn/${id}/done`, {
24 | method: "PATCH",
25 | }).then((r) => r.json());
26 |
27 | mutate(updated);
28 | }
29 |
30 | return (
31 | ({
33 | padding: "2rem",
34 | width: "100%",
35 | maxWidth: "40rem",
36 | margin: "0 auto",
37 | })}
38 | >
39 |
40 | {data?.map((todo) => {
41 | return (
42 | markTodoAdDone(todo.id)}
44 | key={`todo_list__${todo.id}`}
45 | icon={
46 | todo.done ? (
47 |
48 |
49 |
50 | ) : (
51 |
52 |
53 |
54 | )
55 | }
56 | >
57 | {todo.title}
58 |
59 | );
60 | })}
61 |
62 |
63 |
64 |
65 | );
66 | }
67 |
68 | export default App;
69 |
--------------------------------------------------------------------------------
/client/src/components/AddTodo.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from "react";
2 | import { useForm } from "@mantine/hooks";
3 | import { Button, Modal, Group, TextInput, Textarea } from "@mantine/core";
4 | import { ENDPOINT, Todo } from "../App";
5 | import { KeyedMutator } from "swr";
6 |
7 | function AddTodo({ mutate }: { mutate: KeyedMutator }) {
8 | const [open, setOpen] = useState(false);
9 |
10 | const form = useForm({
11 | initialValues: {
12 | title: "",
13 | body: "",
14 | },
15 | });
16 |
17 | async function createTodo(values: { title: string; body: string }) {
18 | const updated = await fetch(`${ENDPOINT}/api/todos`, {
19 | method: "POST",
20 | headers: {
21 | "Content-Type": "application/json",
22 | },
23 | body: JSON.stringify(values),
24 | }).then((r) => r.json());
25 |
26 | mutate(updated);
27 | form.reset();
28 | setOpen(false);
29 | }
30 |
31 | return (
32 | <>
33 | setOpen(false)} title="Create todo">
34 |
52 |
53 |
54 |
55 |
58 |
59 | >
60 | );
61 | }
62 |
63 | export default AddTodo;
64 |
--------------------------------------------------------------------------------
/client/src/favicon.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/client/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/client/src/logo.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/client/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import ReactDOM from 'react-dom'
3 | import './index.css'
4 | import App from './App'
5 |
6 | ReactDOM.render(
7 |
8 |
9 | ,
10 | document.getElementById('root')
11 | )
12 |
--------------------------------------------------------------------------------
/client/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/client/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "useDefineForClassFields": true,
5 | "lib": ["DOM", "DOM.Iterable", "ESNext"],
6 | "allowJs": false,
7 | "skipLibCheck": false,
8 | "esModuleInterop": false,
9 | "allowSyntheticDefaultImports": true,
10 | "strict": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "module": "ESNext",
13 | "moduleResolution": "Node",
14 | "resolveJsonModule": true,
15 | "isolatedModules": true,
16 | "noEmit": true,
17 | "jsx": "react-jsx"
18 | },
19 | "include": ["src"],
20 | "references": [{ "path": "./tsconfig.node.json" }]
21 | }
22 |
--------------------------------------------------------------------------------
/client/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "esnext",
5 | "moduleResolution": "node"
6 | },
7 | "include": ["vite.config.ts"]
8 | }
9 |
--------------------------------------------------------------------------------
/client/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()]
7 | })
8 |
--------------------------------------------------------------------------------
/client/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@ampproject/remapping@^2.1.0":
6 | version "2.1.2"
7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34"
8 | integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==
9 | dependencies:
10 | "@jridgewell/trace-mapping" "^0.3.0"
11 |
12 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7":
13 | version "7.16.7"
14 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
15 | integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
16 | dependencies:
17 | "@babel/highlight" "^7.16.7"
18 |
19 | "@babel/compat-data@^7.16.4":
20 | version "7.17.0"
21 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34"
22 | integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==
23 |
24 | "@babel/core@^7.16.12":
25 | version "7.17.5"
26 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225"
27 | integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==
28 | dependencies:
29 | "@ampproject/remapping" "^2.1.0"
30 | "@babel/code-frame" "^7.16.7"
31 | "@babel/generator" "^7.17.3"
32 | "@babel/helper-compilation-targets" "^7.16.7"
33 | "@babel/helper-module-transforms" "^7.16.7"
34 | "@babel/helpers" "^7.17.2"
35 | "@babel/parser" "^7.17.3"
36 | "@babel/template" "^7.16.7"
37 | "@babel/traverse" "^7.17.3"
38 | "@babel/types" "^7.17.0"
39 | convert-source-map "^1.7.0"
40 | debug "^4.1.0"
41 | gensync "^1.0.0-beta.2"
42 | json5 "^2.1.2"
43 | semver "^6.3.0"
44 |
45 | "@babel/generator@^7.17.3":
46 | version "7.17.3"
47 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200"
48 | integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==
49 | dependencies:
50 | "@babel/types" "^7.17.0"
51 | jsesc "^2.5.1"
52 | source-map "^0.5.0"
53 |
54 | "@babel/helper-annotate-as-pure@^7.16.7":
55 | version "7.16.7"
56 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862"
57 | integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==
58 | dependencies:
59 | "@babel/types" "^7.16.7"
60 |
61 | "@babel/helper-compilation-targets@^7.16.7":
62 | version "7.16.7"
63 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b"
64 | integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==
65 | dependencies:
66 | "@babel/compat-data" "^7.16.4"
67 | "@babel/helper-validator-option" "^7.16.7"
68 | browserslist "^4.17.5"
69 | semver "^6.3.0"
70 |
71 | "@babel/helper-environment-visitor@^7.16.7":
72 | version "7.16.7"
73 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7"
74 | integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==
75 | dependencies:
76 | "@babel/types" "^7.16.7"
77 |
78 | "@babel/helper-function-name@^7.16.7":
79 | version "7.16.7"
80 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f"
81 | integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==
82 | dependencies:
83 | "@babel/helper-get-function-arity" "^7.16.7"
84 | "@babel/template" "^7.16.7"
85 | "@babel/types" "^7.16.7"
86 |
87 | "@babel/helper-get-function-arity@^7.16.7":
88 | version "7.16.7"
89 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419"
90 | integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==
91 | dependencies:
92 | "@babel/types" "^7.16.7"
93 |
94 | "@babel/helper-hoist-variables@^7.16.7":
95 | version "7.16.7"
96 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
97 | integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==
98 | dependencies:
99 | "@babel/types" "^7.16.7"
100 |
101 | "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7":
102 | version "7.16.7"
103 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
104 | integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
105 | dependencies:
106 | "@babel/types" "^7.16.7"
107 |
108 | "@babel/helper-module-transforms@^7.16.7":
109 | version "7.17.6"
110 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz#3c3b03cc6617e33d68ef5a27a67419ac5199ccd0"
111 | integrity sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==
112 | dependencies:
113 | "@babel/helper-environment-visitor" "^7.16.7"
114 | "@babel/helper-module-imports" "^7.16.7"
115 | "@babel/helper-simple-access" "^7.16.7"
116 | "@babel/helper-split-export-declaration" "^7.16.7"
117 | "@babel/helper-validator-identifier" "^7.16.7"
118 | "@babel/template" "^7.16.7"
119 | "@babel/traverse" "^7.17.3"
120 | "@babel/types" "^7.17.0"
121 |
122 | "@babel/helper-plugin-utils@^7.16.7":
123 | version "7.16.7"
124 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5"
125 | integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==
126 |
127 | "@babel/helper-simple-access@^7.16.7":
128 | version "7.16.7"
129 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7"
130 | integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==
131 | dependencies:
132 | "@babel/types" "^7.16.7"
133 |
134 | "@babel/helper-split-export-declaration@^7.16.7":
135 | version "7.16.7"
136 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b"
137 | integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==
138 | dependencies:
139 | "@babel/types" "^7.16.7"
140 |
141 | "@babel/helper-validator-identifier@^7.16.7":
142 | version "7.16.7"
143 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
144 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
145 |
146 | "@babel/helper-validator-option@^7.16.7":
147 | version "7.16.7"
148 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23"
149 | integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==
150 |
151 | "@babel/helpers@^7.17.2":
152 | version "7.17.2"
153 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417"
154 | integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==
155 | dependencies:
156 | "@babel/template" "^7.16.7"
157 | "@babel/traverse" "^7.17.0"
158 | "@babel/types" "^7.17.0"
159 |
160 | "@babel/highlight@^7.16.7":
161 | version "7.16.10"
162 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88"
163 | integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==
164 | dependencies:
165 | "@babel/helper-validator-identifier" "^7.16.7"
166 | chalk "^2.0.0"
167 | js-tokens "^4.0.0"
168 |
169 | "@babel/parser@^7.16.7", "@babel/parser@^7.17.3":
170 | version "7.17.3"
171 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0"
172 | integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==
173 |
174 | "@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.16.7":
175 | version "7.16.7"
176 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665"
177 | integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==
178 | dependencies:
179 | "@babel/helper-plugin-utils" "^7.16.7"
180 |
181 | "@babel/plugin-transform-react-jsx-development@^7.16.7":
182 | version "7.16.7"
183 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz#43a00724a3ed2557ed3f276a01a929e6686ac7b8"
184 | integrity sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==
185 | dependencies:
186 | "@babel/plugin-transform-react-jsx" "^7.16.7"
187 |
188 | "@babel/plugin-transform-react-jsx-self@^7.16.7":
189 | version "7.16.7"
190 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.16.7.tgz#f432ad0cba14c4a1faf44f0076c69e42a4d4479e"
191 | integrity sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA==
192 | dependencies:
193 | "@babel/helper-plugin-utils" "^7.16.7"
194 |
195 | "@babel/plugin-transform-react-jsx-source@^7.16.7":
196 | version "7.16.7"
197 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.7.tgz#1879c3f23629d287cc6186a6c683154509ec70c0"
198 | integrity sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw==
199 | dependencies:
200 | "@babel/helper-plugin-utils" "^7.16.7"
201 |
202 | "@babel/plugin-transform-react-jsx@^7.16.7":
203 | version "7.17.3"
204 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz#eac1565da176ccb1a715dae0b4609858808008c1"
205 | integrity sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ==
206 | dependencies:
207 | "@babel/helper-annotate-as-pure" "^7.16.7"
208 | "@babel/helper-module-imports" "^7.16.7"
209 | "@babel/helper-plugin-utils" "^7.16.7"
210 | "@babel/plugin-syntax-jsx" "^7.16.7"
211 | "@babel/types" "^7.17.0"
212 |
213 | "@babel/runtime@^7.10.2", "@babel/runtime@^7.13.10", "@babel/runtime@^7.7.2":
214 | version "7.17.2"
215 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941"
216 | integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==
217 | dependencies:
218 | regenerator-runtime "^0.13.4"
219 |
220 | "@babel/template@^7.16.7":
221 | version "7.16.7"
222 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
223 | integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
224 | dependencies:
225 | "@babel/code-frame" "^7.16.7"
226 | "@babel/parser" "^7.16.7"
227 | "@babel/types" "^7.16.7"
228 |
229 | "@babel/traverse@^7.17.0", "@babel/traverse@^7.17.3":
230 | version "7.17.3"
231 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57"
232 | integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==
233 | dependencies:
234 | "@babel/code-frame" "^7.16.7"
235 | "@babel/generator" "^7.17.3"
236 | "@babel/helper-environment-visitor" "^7.16.7"
237 | "@babel/helper-function-name" "^7.16.7"
238 | "@babel/helper-hoist-variables" "^7.16.7"
239 | "@babel/helper-split-export-declaration" "^7.16.7"
240 | "@babel/parser" "^7.17.3"
241 | "@babel/types" "^7.17.0"
242 | debug "^4.1.0"
243 | globals "^11.1.0"
244 |
245 | "@babel/types@^7.16.7", "@babel/types@^7.17.0":
246 | version "7.17.0"
247 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b"
248 | integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==
249 | dependencies:
250 | "@babel/helper-validator-identifier" "^7.16.7"
251 | to-fast-properties "^2.0.0"
252 |
253 | "@emotion/babel-plugin@^11.7.1":
254 | version "11.7.2"
255 | resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.7.2.tgz#fec75f38a6ab5b304b0601c74e2a5e77c95e5fa0"
256 | integrity sha512-6mGSCWi9UzXut/ZAN6lGFu33wGR3SJisNl3c0tvlmb8XChH1b2SUvxvnOh7hvLpqyRdHHU9AiazV3Cwbk5SXKQ==
257 | dependencies:
258 | "@babel/helper-module-imports" "^7.12.13"
259 | "@babel/plugin-syntax-jsx" "^7.12.13"
260 | "@babel/runtime" "^7.13.10"
261 | "@emotion/hash" "^0.8.0"
262 | "@emotion/memoize" "^0.7.5"
263 | "@emotion/serialize" "^1.0.2"
264 | babel-plugin-macros "^2.6.1"
265 | convert-source-map "^1.5.0"
266 | escape-string-regexp "^4.0.0"
267 | find-root "^1.1.0"
268 | source-map "^0.5.7"
269 | stylis "4.0.13"
270 |
271 | "@emotion/cache@^11.7.1":
272 | version "11.7.1"
273 | resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.7.1.tgz#08d080e396a42e0037848214e8aa7bf879065539"
274 | integrity sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A==
275 | dependencies:
276 | "@emotion/memoize" "^0.7.4"
277 | "@emotion/sheet" "^1.1.0"
278 | "@emotion/utils" "^1.0.0"
279 | "@emotion/weak-memoize" "^0.2.5"
280 | stylis "4.0.13"
281 |
282 | "@emotion/hash@^0.8.0":
283 | version "0.8.0"
284 | resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
285 | integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
286 |
287 | "@emotion/memoize@^0.7.4", "@emotion/memoize@^0.7.5":
288 | version "0.7.5"
289 | resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.5.tgz#2c40f81449a4e554e9fc6396910ed4843ec2be50"
290 | integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==
291 |
292 | "@emotion/react@^11.7.1":
293 | version "11.8.1"
294 | resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.8.1.tgz#5358b8c78367063881e26423057c030c57ce52eb"
295 | integrity sha512-XGaie4nRxmtP1BZYBXqC5JGqMYF2KRKKI7vjqNvQxyRpekVAZhb6QqrElmZCAYXH1L90lAelADSVZC4PFsrJ8Q==
296 | dependencies:
297 | "@babel/runtime" "^7.13.10"
298 | "@emotion/babel-plugin" "^11.7.1"
299 | "@emotion/cache" "^11.7.1"
300 | "@emotion/serialize" "^1.0.2"
301 | "@emotion/sheet" "^1.1.0"
302 | "@emotion/utils" "^1.1.0"
303 | "@emotion/weak-memoize" "^0.2.5"
304 | hoist-non-react-statics "^3.3.1"
305 |
306 | "@emotion/serialize@^1.0.2":
307 | version "1.0.2"
308 | resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.0.2.tgz#77cb21a0571c9f68eb66087754a65fa97bfcd965"
309 | integrity sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A==
310 | dependencies:
311 | "@emotion/hash" "^0.8.0"
312 | "@emotion/memoize" "^0.7.4"
313 | "@emotion/unitless" "^0.7.5"
314 | "@emotion/utils" "^1.0.0"
315 | csstype "^3.0.2"
316 |
317 | "@emotion/sheet@^1.1.0":
318 | version "1.1.0"
319 | resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.1.0.tgz#56d99c41f0a1cda2726a05aa6a20afd4c63e58d2"
320 | integrity sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==
321 |
322 | "@emotion/unitless@^0.7.5":
323 | version "0.7.5"
324 | resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
325 | integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
326 |
327 | "@emotion/utils@^1.0.0", "@emotion/utils@^1.1.0":
328 | version "1.1.0"
329 | resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.1.0.tgz#86b0b297f3f1a0f2bdb08eeac9a2f49afd40d0cf"
330 | integrity sha512-iRLa/Y4Rs5H/f2nimczYmS5kFJEbpiVvgN3XVfZ022IYhuNA1IRSHEizcof88LtCTXtl9S2Cxt32KgaXEu72JQ==
331 |
332 | "@emotion/weak-memoize@^0.2.5":
333 | version "0.2.5"
334 | resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46"
335 | integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==
336 |
337 | "@jridgewell/resolve-uri@^3.0.3":
338 | version "3.0.5"
339 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c"
340 | integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==
341 |
342 | "@jridgewell/sourcemap-codec@^1.4.10":
343 | version "1.4.11"
344 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec"
345 | integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==
346 |
347 | "@jridgewell/trace-mapping@^0.3.0":
348 | version "0.3.4"
349 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3"
350 | integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==
351 | dependencies:
352 | "@jridgewell/resolve-uri" "^3.0.3"
353 | "@jridgewell/sourcemap-codec" "^1.4.10"
354 |
355 | "@mantine/core@^3.6.14":
356 | version "3.6.14"
357 | resolved "https://registry.yarnpkg.com/@mantine/core/-/core-3.6.14.tgz#0b36b2f94d021e1466577f1dbf4b490f6249e4db"
358 | integrity sha512-O8x2uvLND9omsqI3hdkb59tkOyY7U4iSj+ZtKb9iPxejRxg+xv2BTlc5hxr5wFyu6gGv5NOoAelrdI/4g/e+1A==
359 | dependencies:
360 | "@mantine/styles" "3.6.14"
361 | "@popperjs/core" "^2.9.3"
362 | "@radix-ui/react-scroll-area" "^0.1.1"
363 | clsx "^1.1.1"
364 | react-popper "^2.2.5"
365 | react-textarea-autosize "^8.3.2"
366 |
367 | "@mantine/hooks@^3.6.14":
368 | version "3.6.14"
369 | resolved "https://registry.yarnpkg.com/@mantine/hooks/-/hooks-3.6.14.tgz#31f4d937384acbdae34ca0ca84056fc191eae85e"
370 | integrity sha512-ob6FdjG7/plSpp2VOUvfEQb8a02hlLFo8Qp/EFU8OHn3lfp8PEKGxWQznPPQ9Zay53ZFm05ixrFq9z7+M5jEdQ==
371 |
372 | "@mantine/styles@3.6.14":
373 | version "3.6.14"
374 | resolved "https://registry.yarnpkg.com/@mantine/styles/-/styles-3.6.14.tgz#c0325ddcf109d52140617b1d47ad7f444d258ae3"
375 | integrity sha512-LtTrR1TMs7lGIL7jXrV8mFVLfIvZ0aRshSXXREyFe1X1T+qIOJlBFy/kconkSJdJmqpJ3T5yXivQebz9h8OT4Q==
376 | dependencies:
377 | "@emotion/cache" "^11.7.1"
378 | "@emotion/react" "^11.7.1"
379 | "@emotion/serialize" "^1.0.2"
380 | "@emotion/utils" "^1.0.0"
381 | clsx "^1.1.1"
382 | csstype "^3.0.9"
383 |
384 | "@popperjs/core@^2.9.3":
385 | version "2.11.2"
386 | resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.2.tgz#830beaec4b4091a9e9398ac50f865ddea52186b9"
387 | integrity sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA==
388 |
389 | "@primer/octicons-react@^17.0.0":
390 | version "17.0.0"
391 | resolved "https://registry.yarnpkg.com/@primer/octicons-react/-/octicons-react-17.0.0.tgz#c16ac8671edee682a513b1afa8a004c7c5b1d767"
392 | integrity sha512-/9VLaNVNWwmTFgFlaxO3r+4GbqiG05ytkDLbKxBAdBiOJLadUPo6P0k+/zJdp8No/S2bBNvEtZNNk5zQj87H4w==
393 |
394 | "@radix-ui/number@0.1.0":
395 | version "0.1.0"
396 | resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-0.1.0.tgz#73ad13d5cc5f75fa5e147d72e5d5d5e50d688256"
397 | integrity sha512-rpf6QiOWLHAkM4FEMYu9i+5Jr8cKT893+R4mPpcdsy4LD7omr9JfdOqj/h/xPA5+EcVrpMMlU6rrRYpUB5UI8g==
398 | dependencies:
399 | "@babel/runtime" "^7.13.10"
400 |
401 | "@radix-ui/primitive@0.1.0":
402 | version "0.1.0"
403 | resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-0.1.0.tgz#6206b97d379994f0d1929809db035733b337e543"
404 | integrity sha512-tqxZKybwN5Fa3VzZry4G6mXAAb9aAqKmPtnVbZpL0vsBwvOHTBwsjHVPXylocYLwEtBY9SCe665bYnNB515uoA==
405 | dependencies:
406 | "@babel/runtime" "^7.13.10"
407 |
408 | "@radix-ui/react-compose-refs@0.1.0":
409 | version "0.1.0"
410 | resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz#cff6e780a0f73778b976acff2c2a5b6551caab95"
411 | integrity sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg==
412 | dependencies:
413 | "@babel/runtime" "^7.13.10"
414 |
415 | "@radix-ui/react-context@0.1.1":
416 | version "0.1.1"
417 | resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-0.1.1.tgz#06996829ea124d9a1bc1dbe3e51f33588fab0875"
418 | integrity sha512-PkyVX1JsLBioeu0jB9WvRpDBBLtLZohVDT3BB5CTSJqActma8S8030P57mWZb4baZifMvN7KKWPAA40UmWKkQg==
419 | dependencies:
420 | "@babel/runtime" "^7.13.10"
421 |
422 | "@radix-ui/react-presence@0.1.2":
423 | version "0.1.2"
424 | resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-0.1.2.tgz#9f11cce3df73cf65bc348e8b76d891f0d54c1fe3"
425 | integrity sha512-3BRlFZraooIUfRlyN+b/Xs5hq1lanOOo/+3h6Pwu2GMFjkGKKa4Rd51fcqGqnVlbr3jYg+WLuGyAV4KlgqwrQw==
426 | dependencies:
427 | "@babel/runtime" "^7.13.10"
428 | "@radix-ui/react-compose-refs" "0.1.0"
429 | "@radix-ui/react-use-layout-effect" "0.1.0"
430 |
431 | "@radix-ui/react-primitive@0.1.4":
432 | version "0.1.4"
433 | resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-0.1.4.tgz#6c233cf08b0cb87fecd107e9efecb3f21861edc1"
434 | integrity sha512-6gSl2IidySupIMJFjYnDIkIWRyQdbu/AHK7rbICPani+LW4b0XdxBXc46og/iZvuwW8pjCS8I2SadIerv84xYA==
435 | dependencies:
436 | "@babel/runtime" "^7.13.10"
437 | "@radix-ui/react-slot" "0.1.2"
438 |
439 | "@radix-ui/react-scroll-area@^0.1.1":
440 | version "0.1.4"
441 | resolved "https://registry.yarnpkg.com/@radix-ui/react-scroll-area/-/react-scroll-area-0.1.4.tgz#be1d32c113ee9f64e3d2e7ee3983d98f00b42038"
442 | integrity sha512-QHxRsjy+hsHwQYJ9cCNgSJ5+6ioZu1KhwD1UOXoHNciuFGMX08v+uJPKXIz+ySv03Rx6cOz6f/Fk5aPHRMFi/A==
443 | dependencies:
444 | "@babel/runtime" "^7.13.10"
445 | "@radix-ui/number" "0.1.0"
446 | "@radix-ui/primitive" "0.1.0"
447 | "@radix-ui/react-compose-refs" "0.1.0"
448 | "@radix-ui/react-context" "0.1.1"
449 | "@radix-ui/react-presence" "0.1.2"
450 | "@radix-ui/react-primitive" "0.1.4"
451 | "@radix-ui/react-use-callback-ref" "0.1.0"
452 | "@radix-ui/react-use-direction" "0.1.0"
453 | "@radix-ui/react-use-layout-effect" "0.1.0"
454 |
455 | "@radix-ui/react-slot@0.1.2":
456 | version "0.1.2"
457 | resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-0.1.2.tgz#e6f7ad9caa8ce81cc8d532c854c56f9b8b6307c8"
458 | integrity sha512-ADkqfL+agEzEguU3yS26jfB50hRrwf7U4VTwAOZEmi/g+ITcBWe12yM46ueS/UCIMI9Py+gFUaAdxgxafFvY2Q==
459 | dependencies:
460 | "@babel/runtime" "^7.13.10"
461 | "@radix-ui/react-compose-refs" "0.1.0"
462 |
463 | "@radix-ui/react-use-callback-ref@0.1.0":
464 | version "0.1.0"
465 | resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.0.tgz#934b6e123330f5b3a6b116460e6662cbc663493f"
466 | integrity sha512-Va041McOFFl+aV+sejvl0BS2aeHx86ND9X/rVFmEFQKTXCp6xgUK0NGUAGcgBlIjnJSbMYPGEk1xKSSlVcN2Aw==
467 | dependencies:
468 | "@babel/runtime" "^7.13.10"
469 |
470 | "@radix-ui/react-use-direction@0.1.0":
471 | version "0.1.0"
472 | resolved "https://registry.yarnpkg.com/@radix-ui/react-use-direction/-/react-use-direction-0.1.0.tgz#97ac1d52e497c974389e7988f809238ed72e7df7"
473 | integrity sha512-NajpY/An9TCPSfOVkgWIdXJV+VuWl67PxB6kOKYmtNAFHvObzIoh8o0n9sAuwSAyFCZVq211FEf9gvVDRhOyiA==
474 | dependencies:
475 | "@babel/runtime" "^7.13.10"
476 |
477 | "@radix-ui/react-use-layout-effect@0.1.0":
478 | version "0.1.0"
479 | resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz#ebf71bd6d2825de8f1fbb984abf2293823f0f223"
480 | integrity sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==
481 | dependencies:
482 | "@babel/runtime" "^7.13.10"
483 |
484 | "@rollup/pluginutils@^4.1.2":
485 | version "4.1.2"
486 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.2.tgz#ed5821c15e5e05e32816f5fb9ec607cdf5a75751"
487 | integrity sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==
488 | dependencies:
489 | estree-walker "^2.0.1"
490 | picomatch "^2.2.2"
491 |
492 | "@types/parse-json@^4.0.0":
493 | version "4.0.0"
494 | resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
495 | integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
496 |
497 | "@types/prop-types@*":
498 | version "15.7.4"
499 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
500 | integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
501 |
502 | "@types/react-dom@^17.0.10":
503 | version "17.0.13"
504 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.13.tgz#a3323b974ee4280070982b3112351bb1952a7809"
505 | integrity sha512-wEP+B8hzvy6ORDv1QBhcQia4j6ea4SFIBttHYpXKPFZRviBvknq0FRh3VrIxeXUmsPkwuXVZrVGG7KUVONmXCQ==
506 | dependencies:
507 | "@types/react" "*"
508 |
509 | "@types/react@*", "@types/react@^17.0.33":
510 | version "17.0.39"
511 | resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.39.tgz#d0f4cde092502a6db00a1cded6e6bf2abb7633ce"
512 | integrity sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug==
513 | dependencies:
514 | "@types/prop-types" "*"
515 | "@types/scheduler" "*"
516 | csstype "^3.0.2"
517 |
518 | "@types/scheduler@*":
519 | version "0.16.2"
520 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
521 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
522 |
523 | "@vitejs/plugin-react@^1.0.7":
524 | version "1.2.0"
525 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-1.2.0.tgz#4cfb4c0475e93885e56d66ff15e12ef4c34b0af0"
526 | integrity sha512-Rywwt0IXXg6yQ0hv3cMT3mtdDcGIw31mGaa+MMMAT651LhoXLF2yFy4LrakiTs7UKs7RPBo9eNgaS8pgl2A6Qw==
527 | dependencies:
528 | "@babel/core" "^7.16.12"
529 | "@babel/plugin-transform-react-jsx" "^7.16.7"
530 | "@babel/plugin-transform-react-jsx-development" "^7.16.7"
531 | "@babel/plugin-transform-react-jsx-self" "^7.16.7"
532 | "@babel/plugin-transform-react-jsx-source" "^7.16.7"
533 | "@rollup/pluginutils" "^4.1.2"
534 | react-refresh "^0.11.0"
535 | resolve "^1.22.0"
536 |
537 | ansi-styles@^3.2.1:
538 | version "3.2.1"
539 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
540 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
541 | dependencies:
542 | color-convert "^1.9.0"
543 |
544 | babel-plugin-macros@^2.6.1:
545 | version "2.8.0"
546 | resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138"
547 | integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==
548 | dependencies:
549 | "@babel/runtime" "^7.7.2"
550 | cosmiconfig "^6.0.0"
551 | resolve "^1.12.0"
552 |
553 | browserslist@^4.17.5:
554 | version "4.19.3"
555 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.3.tgz#29b7caad327ecf2859485f696f9604214bedd383"
556 | integrity sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==
557 | dependencies:
558 | caniuse-lite "^1.0.30001312"
559 | electron-to-chromium "^1.4.71"
560 | escalade "^3.1.1"
561 | node-releases "^2.0.2"
562 | picocolors "^1.0.0"
563 |
564 | callsites@^3.0.0:
565 | version "3.1.0"
566 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
567 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
568 |
569 | caniuse-lite@^1.0.30001312:
570 | version "1.0.30001313"
571 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001313.tgz#a380b079db91621e1b7120895874e2fd62ed2e2f"
572 | integrity sha512-rI1UN0koZUiKINjysQDuRi2VeSCce3bYJNmDcj3PIKREiAmjakugBul1QSkg/fPrlULYl6oWfGg3PbgOSY9X4Q==
573 |
574 | chalk@^2.0.0:
575 | version "2.4.2"
576 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
577 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
578 | dependencies:
579 | ansi-styles "^3.2.1"
580 | escape-string-regexp "^1.0.5"
581 | supports-color "^5.3.0"
582 |
583 | clsx@^1.1.1:
584 | version "1.1.1"
585 | resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188"
586 | integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==
587 |
588 | color-convert@^1.9.0:
589 | version "1.9.3"
590 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
591 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
592 | dependencies:
593 | color-name "1.1.3"
594 |
595 | color-name@1.1.3:
596 | version "1.1.3"
597 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
598 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
599 |
600 | convert-source-map@^1.5.0, convert-source-map@^1.7.0:
601 | version "1.8.0"
602 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
603 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
604 | dependencies:
605 | safe-buffer "~5.1.1"
606 |
607 | cosmiconfig@^6.0.0:
608 | version "6.0.0"
609 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
610 | integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
611 | dependencies:
612 | "@types/parse-json" "^4.0.0"
613 | import-fresh "^3.1.0"
614 | parse-json "^5.0.0"
615 | path-type "^4.0.0"
616 | yaml "^1.7.2"
617 |
618 | csstype@^3.0.2, csstype@^3.0.9:
619 | version "3.0.11"
620 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33"
621 | integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==
622 |
623 | debug@^4.1.0:
624 | version "4.3.3"
625 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
626 | integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
627 | dependencies:
628 | ms "2.1.2"
629 |
630 | electron-to-chromium@^1.4.71:
631 | version "1.4.76"
632 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.76.tgz#a0494baedaf51094b1c172999919becd9975a934"
633 | integrity sha512-3Vftv7cenJtQb+k00McEBZ2vVmZ/x+HEF7pcZONZIkOsESqAqVuACmBxMv0JhzX7u0YltU0vSqRqgBSTAhFUjA==
634 |
635 | error-ex@^1.3.1:
636 | version "1.3.2"
637 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
638 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
639 | dependencies:
640 | is-arrayish "^0.2.1"
641 |
642 | esbuild-android-64@0.14.25:
643 | version "0.14.25"
644 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz#d532d38cb5fe0ae45167ce35f4bbc784c636be40"
645 | integrity sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ==
646 |
647 | esbuild-android-arm64@0.14.25:
648 | version "0.14.25"
649 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz#9c5bb3366aabfd14a1c726d36978b79441dfcb6e"
650 | integrity sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw==
651 |
652 | esbuild-darwin-64@0.14.25:
653 | version "0.14.25"
654 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz#05dcdb6d884f427039ffee5e92ff97527e56c26d"
655 | integrity sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA==
656 |
657 | esbuild-darwin-arm64@0.14.25:
658 | version "0.14.25"
659 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz#28e080da4ea0cfe9498071e7f8060498caee1a95"
660 | integrity sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw==
661 |
662 | esbuild-freebsd-64@0.14.25:
663 | version "0.14.25"
664 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz#200d3664a3b945bc9fdcba73614b49a11ebd1cfa"
665 | integrity sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ==
666 |
667 | esbuild-freebsd-arm64@0.14.25:
668 | version "0.14.25"
669 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz#624b08c5da6013bdc312aaa23c4ff409580f5c3c"
670 | integrity sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug==
671 |
672 | esbuild-linux-32@0.14.25:
673 | version "0.14.25"
674 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz#0238e597eb0b60aa06c7e98fccbbfd6bb9a0d6c5"
675 | integrity sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw==
676 |
677 | esbuild-linux-64@0.14.25:
678 | version "0.14.25"
679 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz#8a8b8cf47dfce127c858e71229d9a385a82c62e8"
680 | integrity sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug==
681 |
682 | esbuild-linux-arm64@0.14.25:
683 | version "0.14.25"
684 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz#7ac94371418a2640ba413bc1700aaedeb2794e52"
685 | integrity sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw==
686 |
687 | esbuild-linux-arm@0.14.25:
688 | version "0.14.25"
689 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz#034bd18e9310b9f010c89f90ef7f05706689600b"
690 | integrity sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw==
691 |
692 | esbuild-linux-mips64le@0.14.25:
693 | version "0.14.25"
694 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz#05f98a8cf6b578eab6b4e6b0ab094f37530934f4"
695 | integrity sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ==
696 |
697 | esbuild-linux-ppc64le@0.14.25:
698 | version "0.14.25"
699 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz#46fd0add8d8535678439d7a9c2876ad20042d952"
700 | integrity sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw==
701 |
702 | esbuild-linux-riscv64@0.14.25:
703 | version "0.14.25"
704 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz#ea2e986f0f3e5df73c635135dd778051734fc605"
705 | integrity sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w==
706 |
707 | esbuild-linux-s390x@0.14.25:
708 | version "0.14.25"
709 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz#efe89486e9a1b1508925048076e3f3a6698aa6a3"
710 | integrity sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ==
711 |
712 | esbuild-netbsd-64@0.14.25:
713 | version "0.14.25"
714 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz#439fe27d8ee3b5887501ee63988e85f920107db6"
715 | integrity sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA==
716 |
717 | esbuild-openbsd-64@0.14.25:
718 | version "0.14.25"
719 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz#31ebf616aadf6e60674469f2b92cec92280d9930"
720 | integrity sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A==
721 |
722 | esbuild-sunos-64@0.14.25:
723 | version "0.14.25"
724 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz#815e4f936d74970292a63ccfd5791fe5e3569f5f"
725 | integrity sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw==
726 |
727 | esbuild-windows-32@0.14.25:
728 | version "0.14.25"
729 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz#189e14df2478f2c193c86968ab1fb54e1ceaafd2"
730 | integrity sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA==
731 |
732 | esbuild-windows-64@0.14.25:
733 | version "0.14.25"
734 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz#3d5fbfdc3856850bb47439299e3b60dd18be111f"
735 | integrity sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA==
736 |
737 | esbuild-windows-arm64@0.14.25:
738 | version "0.14.25"
739 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz#8b243cbbad8a86cf98697da9ccb88c05df2ef458"
740 | integrity sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA==
741 |
742 | esbuild@^0.14.14:
743 | version "0.14.25"
744 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.25.tgz#ddb9d47b91ca76abb7d850ce3dfed0bc3dc88d16"
745 | integrity sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q==
746 | optionalDependencies:
747 | esbuild-android-64 "0.14.25"
748 | esbuild-android-arm64 "0.14.25"
749 | esbuild-darwin-64 "0.14.25"
750 | esbuild-darwin-arm64 "0.14.25"
751 | esbuild-freebsd-64 "0.14.25"
752 | esbuild-freebsd-arm64 "0.14.25"
753 | esbuild-linux-32 "0.14.25"
754 | esbuild-linux-64 "0.14.25"
755 | esbuild-linux-arm "0.14.25"
756 | esbuild-linux-arm64 "0.14.25"
757 | esbuild-linux-mips64le "0.14.25"
758 | esbuild-linux-ppc64le "0.14.25"
759 | esbuild-linux-riscv64 "0.14.25"
760 | esbuild-linux-s390x "0.14.25"
761 | esbuild-netbsd-64 "0.14.25"
762 | esbuild-openbsd-64 "0.14.25"
763 | esbuild-sunos-64 "0.14.25"
764 | esbuild-windows-32 "0.14.25"
765 | esbuild-windows-64 "0.14.25"
766 | esbuild-windows-arm64 "0.14.25"
767 |
768 | escalade@^3.1.1:
769 | version "3.1.1"
770 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
771 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
772 |
773 | escape-string-regexp@^1.0.5:
774 | version "1.0.5"
775 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
776 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
777 |
778 | escape-string-regexp@^4.0.0:
779 | version "4.0.0"
780 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
781 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
782 |
783 | estree-walker@^2.0.1:
784 | version "2.0.2"
785 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
786 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
787 |
788 | find-root@^1.1.0:
789 | version "1.1.0"
790 | resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
791 | integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
792 |
793 | fsevents@~2.3.2:
794 | version "2.3.2"
795 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
796 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
797 |
798 | function-bind@^1.1.1:
799 | version "1.1.1"
800 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
801 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
802 |
803 | gensync@^1.0.0-beta.2:
804 | version "1.0.0-beta.2"
805 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
806 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
807 |
808 | globals@^11.1.0:
809 | version "11.12.0"
810 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
811 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
812 |
813 | has-flag@^3.0.0:
814 | version "3.0.0"
815 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
816 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
817 |
818 | has@^1.0.3:
819 | version "1.0.3"
820 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
821 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
822 | dependencies:
823 | function-bind "^1.1.1"
824 |
825 | hoist-non-react-statics@^3.3.1:
826 | version "3.3.2"
827 | resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
828 | integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
829 | dependencies:
830 | react-is "^16.7.0"
831 |
832 | import-fresh@^3.1.0:
833 | version "3.3.0"
834 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
835 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
836 | dependencies:
837 | parent-module "^1.0.0"
838 | resolve-from "^4.0.0"
839 |
840 | is-arrayish@^0.2.1:
841 | version "0.2.1"
842 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
843 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
844 |
845 | is-core-module@^2.8.1:
846 | version "2.8.1"
847 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211"
848 | integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
849 | dependencies:
850 | has "^1.0.3"
851 |
852 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
853 | version "4.0.0"
854 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
855 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
856 |
857 | jsesc@^2.5.1:
858 | version "2.5.2"
859 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
860 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
861 |
862 | json-parse-even-better-errors@^2.3.0:
863 | version "2.3.1"
864 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
865 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
866 |
867 | json5@^2.1.2:
868 | version "2.2.0"
869 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
870 | integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
871 | dependencies:
872 | minimist "^1.2.5"
873 |
874 | lines-and-columns@^1.1.6:
875 | version "1.2.4"
876 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
877 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
878 |
879 | loose-envify@^1.0.0, loose-envify@^1.1.0:
880 | version "1.4.0"
881 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
882 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
883 | dependencies:
884 | js-tokens "^3.0.0 || ^4.0.0"
885 |
886 | minimist@^1.2.5:
887 | version "1.2.5"
888 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
889 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
890 |
891 | ms@2.1.2:
892 | version "2.1.2"
893 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
894 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
895 |
896 | nanoid@^3.3.1:
897 | version "3.3.1"
898 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35"
899 | integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==
900 |
901 | node-releases@^2.0.2:
902 | version "2.0.2"
903 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01"
904 | integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==
905 |
906 | object-assign@^4.1.1:
907 | version "4.1.1"
908 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
909 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
910 |
911 | parent-module@^1.0.0:
912 | version "1.0.1"
913 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
914 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
915 | dependencies:
916 | callsites "^3.0.0"
917 |
918 | parse-json@^5.0.0:
919 | version "5.2.0"
920 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
921 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
922 | dependencies:
923 | "@babel/code-frame" "^7.0.0"
924 | error-ex "^1.3.1"
925 | json-parse-even-better-errors "^2.3.0"
926 | lines-and-columns "^1.1.6"
927 |
928 | path-parse@^1.0.7:
929 | version "1.0.7"
930 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
931 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
932 |
933 | path-type@^4.0.0:
934 | version "4.0.0"
935 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
936 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
937 |
938 | picocolors@^1.0.0:
939 | version "1.0.0"
940 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
941 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
942 |
943 | picomatch@^2.2.2:
944 | version "2.3.1"
945 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
946 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
947 |
948 | postcss@^8.4.6:
949 | version "8.4.7"
950 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.7.tgz#f99862069ec4541de386bf57f5660a6c7a0875a8"
951 | integrity sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A==
952 | dependencies:
953 | nanoid "^3.3.1"
954 | picocolors "^1.0.0"
955 | source-map-js "^1.0.2"
956 |
957 | react-dom@^17.0.2:
958 | version "17.0.2"
959 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
960 | integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==
961 | dependencies:
962 | loose-envify "^1.1.0"
963 | object-assign "^4.1.1"
964 | scheduler "^0.20.2"
965 |
966 | react-fast-compare@^3.0.1:
967 | version "3.2.0"
968 | resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb"
969 | integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==
970 |
971 | react-is@^16.7.0:
972 | version "16.13.1"
973 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
974 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
975 |
976 | react-popper@^2.2.5:
977 | version "2.2.5"
978 | resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.2.5.tgz#1214ef3cec86330a171671a4fbcbeeb65ee58e96"
979 | integrity sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw==
980 | dependencies:
981 | react-fast-compare "^3.0.1"
982 | warning "^4.0.2"
983 |
984 | react-refresh@^0.11.0:
985 | version "0.11.0"
986 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046"
987 | integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==
988 |
989 | react-textarea-autosize@^8.3.2:
990 | version "8.3.3"
991 | resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.3.3.tgz#f70913945369da453fd554c168f6baacd1fa04d8"
992 | integrity sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ==
993 | dependencies:
994 | "@babel/runtime" "^7.10.2"
995 | use-composed-ref "^1.0.0"
996 | use-latest "^1.0.0"
997 |
998 | react@^17.0.2:
999 | version "17.0.2"
1000 | resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
1001 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==
1002 | dependencies:
1003 | loose-envify "^1.1.0"
1004 | object-assign "^4.1.1"
1005 |
1006 | regenerator-runtime@^0.13.4:
1007 | version "0.13.9"
1008 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
1009 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
1010 |
1011 | resolve-from@^4.0.0:
1012 | version "4.0.0"
1013 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
1014 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
1015 |
1016 | resolve@^1.12.0, resolve@^1.22.0:
1017 | version "1.22.0"
1018 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198"
1019 | integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
1020 | dependencies:
1021 | is-core-module "^2.8.1"
1022 | path-parse "^1.0.7"
1023 | supports-preserve-symlinks-flag "^1.0.0"
1024 |
1025 | rollup@^2.59.0:
1026 | version "2.69.1"
1027 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.69.1.tgz#d37f8bf9c9d60018df58c5c9ec36705a7b90dc6e"
1028 | integrity sha512-xaQKTomUVZBopk38EIshM/kOoPFkKWisgBV7Emy80coP9MOSLUDrba1jKZhqH0iS5DoGcRbbcuyl/BzblV8w5w==
1029 | optionalDependencies:
1030 | fsevents "~2.3.2"
1031 |
1032 | safe-buffer@~5.1.1:
1033 | version "5.1.2"
1034 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
1035 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
1036 |
1037 | scheduler@^0.20.2:
1038 | version "0.20.2"
1039 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91"
1040 | integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==
1041 | dependencies:
1042 | loose-envify "^1.1.0"
1043 | object-assign "^4.1.1"
1044 |
1045 | semver@^6.3.0:
1046 | version "6.3.0"
1047 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
1048 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
1049 |
1050 | source-map-js@^1.0.2:
1051 | version "1.0.2"
1052 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
1053 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
1054 |
1055 | source-map@^0.5.0, source-map@^0.5.7:
1056 | version "0.5.7"
1057 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
1058 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
1059 |
1060 | stylis@4.0.13:
1061 | version "4.0.13"
1062 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91"
1063 | integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==
1064 |
1065 | supports-color@^5.3.0:
1066 | version "5.5.0"
1067 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
1068 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
1069 | dependencies:
1070 | has-flag "^3.0.0"
1071 |
1072 | supports-preserve-symlinks-flag@^1.0.0:
1073 | version "1.0.0"
1074 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
1075 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
1076 |
1077 | swr@^1.2.2:
1078 | version "1.2.2"
1079 | resolved "https://registry.yarnpkg.com/swr/-/swr-1.2.2.tgz#6cae09928d30593a7980d80f85823e57468fac5d"
1080 | integrity sha512-ky0BskS/V47GpW8d6RU7CPsr6J8cr7mQD6+do5eky3bM0IyJaoi3vO8UhvrzJaObuTlGhPl2szodeB2dUd76Xw==
1081 |
1082 | to-fast-properties@^2.0.0:
1083 | version "2.0.0"
1084 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
1085 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
1086 |
1087 | typescript@^4.5.4:
1088 | version "4.6.2"
1089 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4"
1090 | integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==
1091 |
1092 | use-composed-ref@^1.0.0:
1093 | version "1.2.1"
1094 | resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.2.1.tgz#9bdcb5ccd894289105da2325e1210079f56bf849"
1095 | integrity sha512-6+X1FLlIcjvFMAeAD/hcxDT8tmyrWnbSPMU0EnxQuDLIxokuFzWliXBiYZuGIx+mrAMLBw0WFfCkaPw8ebzAhw==
1096 |
1097 | use-isomorphic-layout-effect@^1.0.0:
1098 | version "1.1.1"
1099 | resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz#7bb6589170cd2987a152042f9084f9effb75c225"
1100 | integrity sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==
1101 |
1102 | use-latest@^1.0.0:
1103 | version "1.2.0"
1104 | resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.0.tgz#a44f6572b8288e0972ec411bdd0840ada366f232"
1105 | integrity sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw==
1106 | dependencies:
1107 | use-isomorphic-layout-effect "^1.0.0"
1108 |
1109 | vite@^2.8.0:
1110 | version "2.8.6"
1111 | resolved "https://registry.yarnpkg.com/vite/-/vite-2.8.6.tgz#32d50e23c99ca31b26b8ccdc78b1d72d4d7323d3"
1112 | integrity sha512-e4H0QpludOVKkmOsRyqQ7LTcMUDF3mcgyNU4lmi0B5JUbe0ZxeBBl8VoZ8Y6Rfn9eFKYtdXNPcYK97ZwH+K2ug==
1113 | dependencies:
1114 | esbuild "^0.14.14"
1115 | postcss "^8.4.6"
1116 | resolve "^1.22.0"
1117 | rollup "^2.59.0"
1118 | optionalDependencies:
1119 | fsevents "~2.3.2"
1120 |
1121 | warning@^4.0.2:
1122 | version "4.0.3"
1123 | resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"
1124 | integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==
1125 | dependencies:
1126 | loose-envify "^1.0.0"
1127 |
1128 | yaml@^1.7.2:
1129 | version "1.10.2"
1130 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
1131 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
1132 |
--------------------------------------------------------------------------------
/server/go.mod:
--------------------------------------------------------------------------------
1 | module github.com/tomdoestech/go-react-application
2 |
3 | go 1.17
4 |
5 | require (
6 | github.com/andybalholm/brotli v1.0.4 // indirect
7 | github.com/gofiber/fiber/v2 v2.28.0 // indirect
8 | github.com/klauspost/compress v1.15.0 // indirect
9 | github.com/valyala/bytebufferpool v1.0.0 // indirect
10 | github.com/valyala/fasthttp v1.33.0 // indirect
11 | github.com/valyala/tcplisten v1.0.0 // indirect
12 | golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9 // indirect
13 | )
14 |
--------------------------------------------------------------------------------
/server/go.sum:
--------------------------------------------------------------------------------
1 | github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
2 | github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
3 | github.com/gofiber/fiber/v2 v2.28.0 h1:EgoqkUhBad4MPN5mBEBRO9avRqjdNkWq0sApNXdatr8=
4 | github.com/gofiber/fiber/v2 v2.28.0/go.mod h1:0bPXdTu+jRqINrEq1T6mHeVBnE0lQd67PGu35jD3hLk=
5 | github.com/klauspost/compress v1.14.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
6 | github.com/klauspost/compress v1.15.0 h1:xqfchp4whNFxn5A4XFyyYtitiWI8Hy5EW59jEwcyL6U=
7 | github.com/klauspost/compress v1.15.0/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
8 | github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
9 | github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
10 | github.com/valyala/fasthttp v1.33.0 h1:mHBKd98J5NcXuBddgjvim1i3kWzlng1SzLhrnBOU9g8=
11 | github.com/valyala/fasthttp v1.33.0/go.mod h1:KJRK/MXx0J+yd0c5hlR+s1tIHD72sniU8ZJjl97LIw4=
12 | github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8=
13 | github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc=
14 | golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
15 | golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
16 | golang.org/x/net v0.0.0-20220111093109-d55c255bac03/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
17 | golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
18 | golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
19 | golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
20 | golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
21 | golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9 h1:nhht2DYV/Sn3qOayu8lM+cU1ii9sTLUeBQwQQfUHtrs=
22 | golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
23 | golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
24 | golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
25 | golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
26 | golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
27 |
--------------------------------------------------------------------------------
/server/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "fmt"
5 | "log"
6 |
7 | "github.com/gofiber/fiber/v2"
8 | "github.com/gofiber/fiber/v2/middleware/cors"
9 | )
10 |
11 | type Todo struct {
12 | ID int `json:"id"`
13 | Title string `json:"title"`
14 | Done bool `json:"done"`
15 | Body string `json:"body"`
16 | }
17 |
18 | func main() {
19 | fmt.Print("Hello world")
20 |
21 | app := fiber.New()
22 |
23 | app.Use(cors.New(cors.Config{
24 | AllowOrigins: "http://localhost:3000",
25 | AllowHeaders: "Origin, Content-Type, Accept",
26 | }))
27 |
28 | todos := []Todo{}
29 |
30 | app.Get("/healthcheck", func(c *fiber.Ctx) error {
31 | return c.SendString("OK")
32 | })
33 |
34 | app.Post("/api/todos", func(c *fiber.Ctx) error {
35 | todo := &Todo{}
36 |
37 | if err := c.BodyParser(todo); err != nil {
38 | return err
39 | }
40 |
41 | todo.ID = len(todos) + 1
42 |
43 | todos = append(todos, *todo)
44 |
45 | return c.JSON(todos)
46 |
47 | })
48 |
49 | app.Patch("/api/todos/:id/done", func(c *fiber.Ctx) error {
50 | id, err := c.ParamsInt("id")
51 |
52 | if err != nil {
53 | return c.Status(401).SendString("Invalid id")
54 | }
55 |
56 | for i, t := range todos {
57 | if t.ID == id {
58 | todos[i].Done = true
59 | break
60 | }
61 | }
62 |
63 | return c.JSON(todos)
64 | })
65 |
66 | app.Get("/api/todos", func(c *fiber.Ctx) error {
67 | return c.JSON(todos)
68 | })
69 |
70 | log.Fatal(app.Listen(":4000"))
71 |
72 | }
73 |
--------------------------------------------------------------------------------