├── banckend
├── .gitignore
├── prisma
│ ├── dev.db
│ ├── migrations
│ │ ├── migration_lock.toml
│ │ └── 20220531175305_create_user
│ │ │ └── migration.sql
│ └── schema.prisma
├── src
│ ├── utils
│ │ └── prisma.ts
│ ├── @types
│ │ └── express.d.ts
│ ├── server.ts
│ ├── routes.ts
│ ├── middlewares
│ │ └── auth.ts
│ └── controller
│ │ ├── AuthController.ts
│ │ └── UserController.ts
├── package.json
├── tsconfig.json
└── yarn.lock
└── frontend
├── src
├── services
│ └── api.js
├── index.jsx
├── App.jsx
├── components
│ └── LayoutComponents
│ │ ├── index.jsx
│ │ └── styles.css
├── routes
│ ├── privateRoutes.jsx
│ └── index.jsx
├── pages
│ ├── Home
│ │ └── index.jsx
│ ├── Login
│ │ └── index.jsx
│ └── Register
│ │ └── index.jsx
├── context
│ └── AuthContext.jsx
└── assets
│ ├── global.css
│ └── jp.svg
├── public
└── index.html
├── .gitignore
└── package.json
/banckend/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | # Keep environment variables out of version control
3 | .env
4 |
--------------------------------------------------------------------------------
/banckend/prisma/dev.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Rodrigo322/autentica-o-REACT-NODE/HEAD/banckend/prisma/dev.db
--------------------------------------------------------------------------------
/banckend/src/utils/prisma.ts:
--------------------------------------------------------------------------------
1 | import { PrismaClient } from "@prisma/client";
2 |
3 | export const prisma = new PrismaClient();
4 |
--------------------------------------------------------------------------------
/banckend/src/@types/express.d.ts:
--------------------------------------------------------------------------------
1 | declare namespace Express {
2 | export interface Request {
3 | userId: string;
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/frontend/src/services/api.js:
--------------------------------------------------------------------------------
1 | import axios from "axios";
2 |
3 | export const api = axios.create({
4 | baseURL: "http://localhost:3333",
5 | });
6 |
--------------------------------------------------------------------------------
/banckend/prisma/migrations/migration_lock.toml:
--------------------------------------------------------------------------------
1 | # Please do not edit this file manually
2 | # It should be added in your version-control system (i.e. Git)
3 | provider = "sqlite"
--------------------------------------------------------------------------------
/frontend/src/index.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import { App } from './App';
4 |
5 | ReactDOM.render(
6 |
7 |
8 | ,
9 | document.getElementById('root')
10 | );
--------------------------------------------------------------------------------
/frontend/src/App.jsx:
--------------------------------------------------------------------------------
1 | import { AppRouter } from "./routes";
2 | import "./assets/global.css";
3 | import { AuthProvider } from "./context/AuthContext";
4 |
5 | export const App = () => {
6 | return (
7 |
8 |
9 |
10 | );
11 | };
12 |
--------------------------------------------------------------------------------
/frontend/src/components/LayoutComponents/index.jsx:
--------------------------------------------------------------------------------
1 | import "./styles.css";
2 | export const LayoutComponents = (props) => {
3 | return (
4 |
9 | );
10 | };
11 |
--------------------------------------------------------------------------------
/banckend/src/server.ts:
--------------------------------------------------------------------------------
1 | import express from "express";
2 | import cors from "cors";
3 | import { router } from "./routes";
4 |
5 | const app = express();
6 |
7 | app.use(cors());
8 | app.use(express.json());
9 | app.use(router);
10 |
11 | app.listen(3333, () =>
12 | console.log("Server is running in http://localhost:3333")
13 | );
14 |
--------------------------------------------------------------------------------
/banckend/prisma/schema.prisma:
--------------------------------------------------------------------------------
1 | generator client {
2 | provider = "prisma-client-js"
3 | }
4 |
5 | datasource db {
6 | provider = "sqlite"
7 | url = "file:./dev.db"
8 | }
9 |
10 | model User {
11 | id Int @id @default(autoincrement())
12 | name String
13 | email String @unique
14 | password String
15 | }
16 |
--------------------------------------------------------------------------------
/banckend/prisma/migrations/20220531175305_create_user/migration.sql:
--------------------------------------------------------------------------------
1 | -- CreateTable
2 | CREATE TABLE "User" (
3 | "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
4 | "name" TEXT NOT NULL,
5 | "email" TEXT NOT NULL,
6 | "password" TEXT NOT NULL
7 | );
8 |
9 | -- CreateIndex
10 | CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
11 |
--------------------------------------------------------------------------------
/frontend/src/routes/privateRoutes.jsx:
--------------------------------------------------------------------------------
1 | import { useContext } from "react";
2 | import { Navigate, Outlet } from "react-router-dom";
3 |
4 | import { AuthContext } from "../context/AuthContext";
5 |
6 | export const PrivateRoute = () => {
7 | const { signed } = useContext(AuthContext);
8 | return signed ? : ;
9 | };
10 |
--------------------------------------------------------------------------------
/frontend/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Login
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/frontend/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/banckend/src/routes.ts:
--------------------------------------------------------------------------------
1 | import { Router } from "express";
2 | import { UserController } from "./controller/UserController";
3 | import { AuthController } from "./controller/AuthController";
4 | import { authMiddleware } from "./middlewares/auth";
5 |
6 | const usercontroller = new UserController();
7 | const authcontroller = new AuthController();
8 |
9 | export const router = Router();
10 |
11 | router.post("/auth", authcontroller.authenticate);
12 | router.post("/create", usercontroller.store);
13 | router.get("/users", authMiddleware, usercontroller.index);
14 |
--------------------------------------------------------------------------------
/frontend/src/components/LayoutComponents/styles.css:
--------------------------------------------------------------------------------
1 |
2 | .container {
3 | width: 100%;
4 | margin: 0 auto;
5 | }
6 |
7 | .container-login {
8 | width: 100%;
9 | min-height: 100vh;
10 | display: flex;
11 | flex-wrap: wrap;
12 | align-items: center;
13 | justify-content: center;
14 | padding: 15px;
15 | background-color: #111;
16 | }
17 |
18 | .wrap-login {
19 | width: 390px;
20 | background-color: #333;
21 | border-radius: 10px;
22 | overflow: hidden;
23 | padding: 77px 55px 33px 55px;
24 | box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.2);
25 | }
26 |
--------------------------------------------------------------------------------
/frontend/src/pages/Home/index.jsx:
--------------------------------------------------------------------------------
1 | import { LayoutComponents } from "../../components/LayoutComponents";
2 |
3 | export const Home = () => {
4 | return (
5 |
6 |
7 |
8 |
9 | Jovem Programador
10 |
11 |
12 |
13 |
14 | Aplicativo para auxiliar na organização de tarefas.
15 |
16 |
17 |
18 |
19 | );
20 | };
21 |
--------------------------------------------------------------------------------
/frontend/src/routes/index.jsx:
--------------------------------------------------------------------------------
1 | import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
2 |
3 | import { Login } from "../pages/Login";
4 | import { Register } from "../pages/Register";
5 | import { Home } from "../pages/Home";
6 | import { PrivateRoute } from "./privateRoutes";
7 |
8 | export const AppRouter = () => {
9 | return (
10 |
11 |
12 | } />
13 | } />
14 |
15 | }>
16 | } />
17 |
18 |
19 |
20 | );
21 | };
22 |
--------------------------------------------------------------------------------
/banckend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "backend",
3 | "version": "1.0.0",
4 | "main": "index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "dev": "ts-node-dev --respawn --transpile-only --files src/server.ts"
8 | },
9 | "dependencies": {
10 | "@prisma/client": "^3.14.0",
11 | "bcryptjs": "^2.4.3",
12 | "cors": "^2.8.5",
13 | "express": "^4.18.1",
14 | "jsonwebtoken": "^8.5.1",
15 | "prisma": "^3.14.0"
16 | },
17 | "devDependencies": {
18 | "@types/bcryptjs": "^2.4.2",
19 | "@types/cors": "^2.8.12",
20 | "@types/express": "^4.17.13",
21 | "@types/jsonwebtoken": "^8.5.8",
22 | "ts-node-dev": "^2.0.0",
23 | "typescript": "^4.7.2"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/banckend/src/middlewares/auth.ts:
--------------------------------------------------------------------------------
1 | import { NextFunction, Request, Response } from "express";
2 | import { verify } from "jsonwebtoken";
3 |
4 | type TokenPayload = {
5 | id: string;
6 | iat: number;
7 | exp: number;
8 | };
9 |
10 | export function authMiddleware(
11 | req: Request,
12 | res: Response,
13 | next: NextFunction
14 | ) {
15 | const { authorization } = req.headers;
16 |
17 | if (!authorization) {
18 | return res.status(401).json({ error: "Token not provided" });
19 | }
20 |
21 | const [, token] = authorization.split(" ");
22 |
23 | try {
24 | const decoded = verify(token, "secret");
25 | const { id } = decoded as TokenPayload;
26 |
27 | req.userId = id;
28 | next();
29 | } catch (error) {
30 | return res.status(401).json({ error: "Token invalid" });
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/banckend/src/controller/AuthController.ts:
--------------------------------------------------------------------------------
1 | import { prisma } from "../utils/prisma";
2 | import { compare } from "bcryptjs";
3 | import { Request, Response } from "express";
4 | import { sign } from "jsonwebtoken";
5 |
6 | export class AuthController {
7 | async authenticate(req: Request, res: Response) {
8 | const { email, password } = req.body;
9 |
10 | const user = await prisma.user.findUnique({ where: { email } });
11 |
12 | if (!user) {
13 | return res.json({ error: "user not found" });
14 | }
15 |
16 | const isPasswordValid = await compare(password, user.password);
17 |
18 | if (!isPasswordValid) {
19 | return res.json({ error: "password invalid" });
20 | }
21 |
22 | const token = sign({ id: user.id }, "secret", { expiresIn: "1h" });
23 |
24 | const { id } = user;
25 |
26 | return res.json({ user: { id, email }, token });
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/banckend/src/controller/UserController.ts:
--------------------------------------------------------------------------------
1 | import { prisma } from "../utils/prisma";
2 | import { hash } from "bcryptjs";
3 | import { Request, Response } from "express";
4 |
5 | export class UserController {
6 | async index(req: Request, res: Response) {
7 | const users = await prisma.user.findMany();
8 | return res.json(users);
9 | }
10 | async store(req: Request, res: Response) {
11 | const { name, email, password } = req.body;
12 |
13 | const userExists = await prisma.user.findUnique({ where: { email } });
14 |
15 | if (userExists) {
16 | return res.json({ error: "user exists" });
17 | }
18 |
19 | const hash_password = await hash(password, 8);
20 |
21 | const user = await prisma.user.create({
22 | data: {
23 | name,
24 | email,
25 | password: hash_password,
26 | },
27 | });
28 | user.password = "";
29 | return res.json({ user });
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/frontend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "frontend",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@testing-library/jest-dom": "^5.11.4",
7 | "@testing-library/react": "^11.1.0",
8 | "@testing-library/user-event": "^12.1.10",
9 | "axios": "^0.27.2",
10 | "react": "^17.0.2",
11 | "react-dom": "^17.0.2",
12 | "react-router-dom": "^6.2.1",
13 | "react-scripts": "4.0.3",
14 | "web-vitals": "^1.0.1"
15 | },
16 | "scripts": {
17 | "start": "react-scripts start",
18 | "build": "react-scripts build",
19 | "test": "react-scripts test",
20 | "eject": "react-scripts eject"
21 | },
22 | "eslintConfig": {
23 | "extends": [
24 | "react-app",
25 | "react-app/jest"
26 | ]
27 | },
28 | "browserslist": {
29 | "production": [
30 | ">0.2%",
31 | "not dead",
32 | "not op_mini all"
33 | ],
34 | "development": [
35 | "last 1 chrome version",
36 | "last 1 firefox version",
37 | "last 1 safari version"
38 | ]
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/frontend/src/context/AuthContext.jsx:
--------------------------------------------------------------------------------
1 | import { createContext } from "react";
2 | import { useState } from "react";
3 | import { useEffect } from "react";
4 | import { Navigate } from "react-router-dom";
5 | import { api } from "../services/api";
6 |
7 | export const AuthContext = createContext();
8 |
9 | export const AuthProvider = ({ children }) => {
10 | const [user, setUser] = useState(null);
11 |
12 | useEffect(() => {
13 | const loadingStoreData = () => {
14 | const storageUser = localStorage.getItem("@Auth:user");
15 | const storageToken = localStorage.getItem("@Auth:token");
16 |
17 | if (storageUser && storageToken) {
18 | setUser(storageUser);
19 | }
20 | };
21 | loadingStoreData();
22 | }, []);
23 |
24 | const signIn = async ({ email, password }) => {
25 | try {
26 | const response = await api.post("/auth", { email, password });
27 | if (response.data.error) {
28 | alert(response.data.error);
29 | } else {
30 | setUser(response.data);
31 | api.defaults.headers.common[
32 | "Authorization"
33 | ] = `Bearer ${response.data.token}`;
34 |
35 | localStorage.setItem("@Auth:user", JSON.stringify(response.data.user));
36 | localStorage.setItem("@Auth:token", response.data.token);
37 | }
38 | } catch (error) {
39 | console.log(error);
40 | }
41 | };
42 |
43 | const singOut = () => {
44 | localStorage.clear();
45 | setUser(null);
46 | return ;
47 | };
48 |
49 | return (
50 |
58 | {children}
59 |
60 | );
61 | };
62 |
--------------------------------------------------------------------------------
/frontend/src/pages/Login/index.jsx:
--------------------------------------------------------------------------------
1 | import { Link, Navigate } from "react-router-dom";
2 | import { useState } from "react";
3 |
4 | import jpIMG from "../../assets/jp.svg";
5 | import { LayoutComponents } from "../../components/LayoutComponents";
6 | import { useContext } from "react";
7 | import { AuthContext } from "../../context/AuthContext";
8 |
9 | export const Login = () => {
10 | const [email, setEmail] = useState("");
11 | const [password, setPassword] = useState("");
12 | const { signIn, signed } = useContext(AuthContext);
13 |
14 | const handleSubmit = async (e) => {
15 | e.preventDefault();
16 | const data = {
17 | email,
18 | password,
19 | };
20 | await signIn(data);
21 | };
22 | console.log(signed);
23 | if (!signed) {
24 | return (
25 |
26 |
66 |
67 | );
68 | } else {
69 | return ;
70 | }
71 | };
72 |
--------------------------------------------------------------------------------
/frontend/src/pages/Register/index.jsx:
--------------------------------------------------------------------------------
1 | import { Link } from "react-router-dom";
2 | import { useState } from "react";
3 | import { LayoutComponents } from "../../components/LayoutComponents";
4 |
5 | import jpIMG from "../../assets/jp.svg";
6 | import { api } from "../../services/api";
7 |
8 | export const Register = () => {
9 | const [email, setEmail] = useState("");
10 | const [password, setPassword] = useState("");
11 | const [name, setName] = useState("");
12 |
13 | const handleSubmit = async (e) => {
14 | e.preventDefault();
15 | const data = {
16 | name,
17 | email,
18 | password,
19 | };
20 | await api.post("/create", data);
21 | alert("Usuário criado com sucesso!");
22 | };
23 |
24 | return (
25 |
26 |
76 |
77 | );
78 | };
79 |
--------------------------------------------------------------------------------
/frontend/src/assets/global.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
2 | * {
3 | margin: 0;
4 | padding: 0;
5 | box-sizing: border-box;
6 | }
7 |
8 | body, html {
9 | font-family: 'Roboto', sans-serif;
10 | }
11 |
12 | .login-form {
13 | width: 100%;
14 | }
15 |
16 | .login-form-title {
17 | display: block;
18 | font-size: 30px;
19 | color: azure;
20 | line-height: 1.2;
21 | text-align: center;
22 | }
23 |
24 | .login-form-title img {
25 | width: 90px;
26 | }
27 |
28 | .wrap-input {
29 | width: 100%;
30 | position: relative;
31 | border-bottom: 2px solid #adadad;
32 | margin-bottom: 37px;
33 | }
34 |
35 | .input {
36 | font-size: 15px;
37 | color: #fff;
38 | line-height: 1.2;
39 | border: none;
40 | display: block;
41 | width: 100%;
42 | height: 45px;
43 | background-color: transparent;
44 | padding: 0 5px;
45 | }
46 |
47 | .focus-input {
48 | position: absolute;
49 | display: block;
50 | width: 100%;
51 | height: 100%;
52 | top: 0;
53 | left: 0;
54 | pointer-events: none;
55 | color: #adadad;
56 | }
57 |
58 | .focus-input::before {
59 | content: "";
60 | display: block;
61 | position: absolute;
62 | bottom: -2px;
63 | left: 0;
64 | width: 0;
65 | height: 2px;
66 | -webkit-transition: all 0.4s;
67 | -o-transition: all 0.4s;
68 | -moz-transition: all 0.4s;
69 | transition: all 0.4s;
70 | background: #6a7dfe;
71 | background: -webkit-linear-gradient(to left, #21d4fd, #b721ff);
72 | background: -o-linear-gradient(to left, #21d4fd, #b721ff);
73 | background: -moz-linear-gradient(to left, #21d4fd, #b721ff);
74 | background: linear-gradient(to left, #21d4fd, #b721ff);
75 | }
76 |
77 | .focus-input::after {
78 | font-size: 15px;
79 | color: #999999;
80 | line-height: 1.2;
81 | content: attr(data-placeholder);
82 | display: block;
83 | width: 100%;
84 | position: absolute;
85 | top: 16px;
86 | left: 0px;
87 | padding-left: 5px;
88 | -webkit-transition: all 0.4s;
89 | -o-transition: all 0.4s;
90 | -moz-transition: all 0.4s;
91 | transition: all 0.4s;
92 | }
93 |
94 | .input:focus {
95 | outline: 0;
96 | }
97 |
98 | .input:focus+.focus-input::after {
99 | top: -15px;
100 | }
101 |
102 | .input:focus+.focus-input::before {
103 | width: 100%;
104 | }
105 |
106 | .has-val+.focus-input::after {
107 | top: -15px;
108 | }
109 |
110 | .has-val+.focus-input::before {
111 | width: 100%;
112 | }
113 |
114 | .container-login-form-btn {
115 | display: flex;
116 | flex-wrap: wrap;
117 | justify-content: center;
118 | padding-bottom: 13px;
119 | }
120 |
121 | .login-form-btn {
122 | font-size: 15px;
123 | border: none;
124 | border-radius: 10px;
125 | color: #fff;
126 | line-height: 1.2;
127 | text-transform: uppercase;
128 | display: flex;
129 | justify-content: center;
130 | align-items: center;
131 | width: 100%;
132 | height: 50px;
133 | background: #6a7dfe;
134 | background: -webkit-linear-gradient(to left, #21d4fd, #b721ff);
135 | background: -o-linear-gradient(to left, #21d4fd, #b721ff);
136 | background: -moz-linear-gradient(to left, #21d4fd, #b721ff);
137 | background: linear-gradient(to left, #21d4fd, #b721ff);
138 | }
139 |
140 | .login-form-btn:hover {
141 | cursor: pointer;
142 | }
143 |
144 | .text-center {
145 | display: flex;
146 | justify-content: center;
147 | align-items: center;
148 | margin-top: 50px;
149 | }
150 |
151 | .txt1 {
152 | font-size: 14px;
153 | color: #adadad;
154 | line-height: 1.5;
155 | padding-right: 5px;
156 | }
157 |
158 | .txt2 {
159 | font-size: 14px;
160 | color: #6a7dfe;
161 | line-height: 1.5;
162 | text-decoration: none;
163 | }
--------------------------------------------------------------------------------
/banckend/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | /* Visit https://aka.ms/tsconfig to read more about this file */
4 |
5 | /* Projects */
6 | // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
8 | // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
12 |
13 | /* Language and Environment */
14 | "target": "es2018" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
16 | // "jsx": "preserve", /* Specify what JSX code is generated. */
17 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */
18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
22 | // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
25 | // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
26 |
27 | /* Modules */
28 | "module": "commonjs" /* Specify what module code is generated. */,
29 | // "rootDir": "./", /* Specify the root folder within your source files. */
30 | // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */
31 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
32 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
33 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
34 | // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
35 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */
36 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
37 | // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */
38 | // "resolveJsonModule": true, /* Enable importing .json files. */
39 | // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */
40 |
41 | /* JavaScript Support */
42 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
43 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
44 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */
45 |
46 | /* Emit */
47 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
48 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */
49 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
50 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */
51 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */
52 | // "outDir": "./", /* Specify an output folder for all emitted files. */
53 | // "removeComments": true, /* Disable emitting comments. */
54 | // "noEmit": true, /* Disable emitting files from a compilation. */
55 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
56 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */
57 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
58 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
59 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
60 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
61 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
62 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
63 | // "newLine": "crlf", /* Set the newline character for emitting files. */
64 | // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */
65 | // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */
66 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
67 | // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */
68 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */
69 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */
70 |
71 | /* Interop Constraints */
72 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
73 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
74 | "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */,
75 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
76 | "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
77 |
78 | /* Type Checking */
79 | "strict": true /* Enable all strict type-checking options. */,
80 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */
81 | // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */
82 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
83 | // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */
84 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
85 | // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */
86 | // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */
87 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
88 | // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */
89 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */
90 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
91 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
92 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
93 | // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */
94 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
95 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */
96 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
97 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
98 |
99 | /* Completeness */
100 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
101 | "skipLibCheck": true /* Skip type checking all .d.ts files. */
102 | }
103 | }
104 |
--------------------------------------------------------------------------------
/frontend/src/assets/jp.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/banckend/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@cspotcode/source-map-support@^0.8.0":
6 | version "0.8.1"
7 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
8 | integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
9 | dependencies:
10 | "@jridgewell/trace-mapping" "0.3.9"
11 |
12 | "@jridgewell/resolve-uri@^3.0.3":
13 | version "3.0.7"
14 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe"
15 | integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==
16 |
17 | "@jridgewell/sourcemap-codec@^1.4.10":
18 | version "1.4.13"
19 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c"
20 | integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==
21 |
22 | "@jridgewell/trace-mapping@0.3.9":
23 | version "0.3.9"
24 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
25 | integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
26 | dependencies:
27 | "@jridgewell/resolve-uri" "^3.0.3"
28 | "@jridgewell/sourcemap-codec" "^1.4.10"
29 |
30 | "@prisma/client@^3.14.0":
31 | version "3.14.0"
32 | resolved "https://registry.yarnpkg.com/@prisma/client/-/client-3.14.0.tgz#bb90405c012fcca11f4647d91153ed4c58f3bd48"
33 | integrity sha512-atb41UpgTR1MCst0VIbiHTMw8lmXnwUvE1KyUCAkq08+wJyjRE78Due+nSf+7uwqQn+fBFYVmoojtinhlLOSaA==
34 | dependencies:
35 | "@prisma/engines-version" "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a"
36 |
37 | "@prisma/engines-version@3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a":
38 | version "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a"
39 | resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a.tgz#4edae57cf6527f35e22cebe75e49214fc0e99ac9"
40 | integrity sha512-D+yHzq4a2r2Rrd0ZOW/mTZbgDIkUkD8ofKgusEI1xPiZz60Daks+UM7Me2ty5FzH3p/TgyhBpRrfIHx+ha20RQ==
41 |
42 | "@prisma/engines@3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a":
43 | version "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a"
44 | resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a.tgz#7fa11bc26a51d450185c816cc0ab8cac673fb4bf"
45 | integrity sha512-LwZvI3FY6f43xFjQNRuE10JM5R8vJzFTSmbV9X0Wuhv9kscLkjRlZt0BEoiHmO+2HA3B3xxbMfB5du7ZoSFXGg==
46 |
47 | "@tsconfig/node10@^1.0.7":
48 | version "1.0.8"
49 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9"
50 | integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==
51 |
52 | "@tsconfig/node12@^1.0.7":
53 | version "1.0.9"
54 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c"
55 | integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==
56 |
57 | "@tsconfig/node14@^1.0.0":
58 | version "1.0.1"
59 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2"
60 | integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==
61 |
62 | "@tsconfig/node16@^1.0.2":
63 | version "1.0.2"
64 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e"
65 | integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==
66 |
67 | "@types/bcryptjs@^2.4.2":
68 | version "2.4.2"
69 | resolved "https://registry.yarnpkg.com/@types/bcryptjs/-/bcryptjs-2.4.2.tgz#e3530eac9dd136bfdfb0e43df2c4c5ce1f77dfae"
70 | integrity sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==
71 |
72 | "@types/body-parser@*":
73 | version "1.19.2"
74 | resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0"
75 | integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==
76 | dependencies:
77 | "@types/connect" "*"
78 | "@types/node" "*"
79 |
80 | "@types/connect@*":
81 | version "3.4.35"
82 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1"
83 | integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==
84 | dependencies:
85 | "@types/node" "*"
86 |
87 | "@types/cors@^2.8.12":
88 | version "2.8.12"
89 | resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080"
90 | integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==
91 |
92 | "@types/express-serve-static-core@^4.17.18":
93 | version "4.17.28"
94 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8"
95 | integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==
96 | dependencies:
97 | "@types/node" "*"
98 | "@types/qs" "*"
99 | "@types/range-parser" "*"
100 |
101 | "@types/express@^4.17.13":
102 | version "4.17.13"
103 | resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034"
104 | integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==
105 | dependencies:
106 | "@types/body-parser" "*"
107 | "@types/express-serve-static-core" "^4.17.18"
108 | "@types/qs" "*"
109 | "@types/serve-static" "*"
110 |
111 | "@types/jsonwebtoken@^8.5.8":
112 | version "8.5.8"
113 | resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz#01b39711eb844777b7af1d1f2b4cf22fda1c0c44"
114 | integrity sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==
115 | dependencies:
116 | "@types/node" "*"
117 |
118 | "@types/mime@^1":
119 | version "1.3.2"
120 | resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a"
121 | integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==
122 |
123 | "@types/node@*":
124 | version "17.0.36"
125 | resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.36.tgz#c0d5f2fe76b47b63e0e0efc3d2049a9970d68794"
126 | integrity sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==
127 |
128 | "@types/qs@*":
129 | version "6.9.7"
130 | resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb"
131 | integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==
132 |
133 | "@types/range-parser@*":
134 | version "1.2.4"
135 | resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
136 | integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
137 |
138 | "@types/serve-static@*":
139 | version "1.13.10"
140 | resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9"
141 | integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==
142 | dependencies:
143 | "@types/mime" "^1"
144 | "@types/node" "*"
145 |
146 | "@types/strip-bom@^3.0.0":
147 | version "3.0.0"
148 | resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2"
149 | integrity sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==
150 |
151 | "@types/strip-json-comments@0.0.30":
152 | version "0.0.30"
153 | resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1"
154 | integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==
155 |
156 | accepts@~1.3.8:
157 | version "1.3.8"
158 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
159 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
160 | dependencies:
161 | mime-types "~2.1.34"
162 | negotiator "0.6.3"
163 |
164 | acorn-walk@^8.1.1:
165 | version "8.2.0"
166 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
167 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
168 |
169 | acorn@^8.4.1:
170 | version "8.7.1"
171 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
172 | integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
173 |
174 | anymatch@~3.1.2:
175 | version "3.1.2"
176 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
177 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
178 | dependencies:
179 | normalize-path "^3.0.0"
180 | picomatch "^2.0.4"
181 |
182 | arg@^4.1.0:
183 | version "4.1.3"
184 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
185 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
186 |
187 | array-flatten@1.1.1:
188 | version "1.1.1"
189 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
190 | integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
191 |
192 | balanced-match@^1.0.0:
193 | version "1.0.2"
194 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
195 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
196 |
197 | bcryptjs@^2.4.3:
198 | version "2.4.3"
199 | resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb"
200 | integrity sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==
201 |
202 | binary-extensions@^2.0.0:
203 | version "2.2.0"
204 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
205 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
206 |
207 | body-parser@1.20.0:
208 | version "1.20.0"
209 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5"
210 | integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==
211 | dependencies:
212 | bytes "3.1.2"
213 | content-type "~1.0.4"
214 | debug "2.6.9"
215 | depd "2.0.0"
216 | destroy "1.2.0"
217 | http-errors "2.0.0"
218 | iconv-lite "0.4.24"
219 | on-finished "2.4.1"
220 | qs "6.10.3"
221 | raw-body "2.5.1"
222 | type-is "~1.6.18"
223 | unpipe "1.0.0"
224 |
225 | brace-expansion@^1.1.7:
226 | version "1.1.11"
227 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
228 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
229 | dependencies:
230 | balanced-match "^1.0.0"
231 | concat-map "0.0.1"
232 |
233 | braces@~3.0.2:
234 | version "3.0.2"
235 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
236 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
237 | dependencies:
238 | fill-range "^7.0.1"
239 |
240 | buffer-equal-constant-time@1.0.1:
241 | version "1.0.1"
242 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
243 | integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==
244 |
245 | buffer-from@^1.0.0:
246 | version "1.1.2"
247 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
248 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
249 |
250 | bytes@3.1.2:
251 | version "3.1.2"
252 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
253 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
254 |
255 | call-bind@^1.0.0:
256 | version "1.0.2"
257 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
258 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
259 | dependencies:
260 | function-bind "^1.1.1"
261 | get-intrinsic "^1.0.2"
262 |
263 | chokidar@^3.5.1:
264 | version "3.5.3"
265 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
266 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
267 | dependencies:
268 | anymatch "~3.1.2"
269 | braces "~3.0.2"
270 | glob-parent "~5.1.2"
271 | is-binary-path "~2.1.0"
272 | is-glob "~4.0.1"
273 | normalize-path "~3.0.0"
274 | readdirp "~3.6.0"
275 | optionalDependencies:
276 | fsevents "~2.3.2"
277 |
278 | concat-map@0.0.1:
279 | version "0.0.1"
280 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
281 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
282 |
283 | content-disposition@0.5.4:
284 | version "0.5.4"
285 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
286 | integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
287 | dependencies:
288 | safe-buffer "5.2.1"
289 |
290 | content-type@~1.0.4:
291 | version "1.0.4"
292 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
293 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
294 |
295 | cookie-signature@1.0.6:
296 | version "1.0.6"
297 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
298 | integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
299 |
300 | cookie@0.5.0:
301 | version "0.5.0"
302 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
303 | integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
304 |
305 | cors@^2.8.5:
306 | version "2.8.5"
307 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
308 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
309 | dependencies:
310 | object-assign "^4"
311 | vary "^1"
312 |
313 | create-require@^1.1.0:
314 | version "1.1.1"
315 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
316 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
317 |
318 | debug@2.6.9:
319 | version "2.6.9"
320 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
321 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
322 | dependencies:
323 | ms "2.0.0"
324 |
325 | depd@2.0.0:
326 | version "2.0.0"
327 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
328 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
329 |
330 | destroy@1.2.0:
331 | version "1.2.0"
332 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
333 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
334 |
335 | diff@^4.0.1:
336 | version "4.0.2"
337 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
338 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
339 |
340 | dynamic-dedupe@^0.3.0:
341 | version "0.3.0"
342 | resolved "https://registry.yarnpkg.com/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz#06e44c223f5e4e94d78ef9db23a6515ce2f962a1"
343 | integrity sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==
344 | dependencies:
345 | xtend "^4.0.0"
346 |
347 | ecdsa-sig-formatter@1.0.11:
348 | version "1.0.11"
349 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
350 | integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
351 | dependencies:
352 | safe-buffer "^5.0.1"
353 |
354 | ee-first@1.1.1:
355 | version "1.1.1"
356 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
357 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
358 |
359 | encodeurl@~1.0.2:
360 | version "1.0.2"
361 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
362 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
363 |
364 | escape-html@~1.0.3:
365 | version "1.0.3"
366 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
367 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
368 |
369 | etag@~1.8.1:
370 | version "1.8.1"
371 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
372 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
373 |
374 | express@^4.18.1:
375 | version "4.18.1"
376 | resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf"
377 | integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==
378 | dependencies:
379 | accepts "~1.3.8"
380 | array-flatten "1.1.1"
381 | body-parser "1.20.0"
382 | content-disposition "0.5.4"
383 | content-type "~1.0.4"
384 | cookie "0.5.0"
385 | cookie-signature "1.0.6"
386 | debug "2.6.9"
387 | depd "2.0.0"
388 | encodeurl "~1.0.2"
389 | escape-html "~1.0.3"
390 | etag "~1.8.1"
391 | finalhandler "1.2.0"
392 | fresh "0.5.2"
393 | http-errors "2.0.0"
394 | merge-descriptors "1.0.1"
395 | methods "~1.1.2"
396 | on-finished "2.4.1"
397 | parseurl "~1.3.3"
398 | path-to-regexp "0.1.7"
399 | proxy-addr "~2.0.7"
400 | qs "6.10.3"
401 | range-parser "~1.2.1"
402 | safe-buffer "5.2.1"
403 | send "0.18.0"
404 | serve-static "1.15.0"
405 | setprototypeof "1.2.0"
406 | statuses "2.0.1"
407 | type-is "~1.6.18"
408 | utils-merge "1.0.1"
409 | vary "~1.1.2"
410 |
411 | fill-range@^7.0.1:
412 | version "7.0.1"
413 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
414 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
415 | dependencies:
416 | to-regex-range "^5.0.1"
417 |
418 | finalhandler@1.2.0:
419 | version "1.2.0"
420 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
421 | integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
422 | dependencies:
423 | debug "2.6.9"
424 | encodeurl "~1.0.2"
425 | escape-html "~1.0.3"
426 | on-finished "2.4.1"
427 | parseurl "~1.3.3"
428 | statuses "2.0.1"
429 | unpipe "~1.0.0"
430 |
431 | forwarded@0.2.0:
432 | version "0.2.0"
433 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
434 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
435 |
436 | fresh@0.5.2:
437 | version "0.5.2"
438 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
439 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
440 |
441 | fs.realpath@^1.0.0:
442 | version "1.0.0"
443 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
444 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
445 |
446 | fsevents@~2.3.2:
447 | version "2.3.2"
448 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
449 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
450 |
451 | function-bind@^1.1.1:
452 | version "1.1.1"
453 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
454 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
455 |
456 | get-intrinsic@^1.0.2:
457 | version "1.1.1"
458 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
459 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
460 | dependencies:
461 | function-bind "^1.1.1"
462 | has "^1.0.3"
463 | has-symbols "^1.0.1"
464 |
465 | glob-parent@~5.1.2:
466 | version "5.1.2"
467 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
468 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
469 | dependencies:
470 | is-glob "^4.0.1"
471 |
472 | glob@^7.1.3:
473 | version "7.2.3"
474 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
475 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
476 | dependencies:
477 | fs.realpath "^1.0.0"
478 | inflight "^1.0.4"
479 | inherits "2"
480 | minimatch "^3.1.1"
481 | once "^1.3.0"
482 | path-is-absolute "^1.0.0"
483 |
484 | has-symbols@^1.0.1:
485 | version "1.0.3"
486 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
487 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
488 |
489 | has@^1.0.3:
490 | version "1.0.3"
491 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
492 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
493 | dependencies:
494 | function-bind "^1.1.1"
495 |
496 | http-errors@2.0.0:
497 | version "2.0.0"
498 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
499 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
500 | dependencies:
501 | depd "2.0.0"
502 | inherits "2.0.4"
503 | setprototypeof "1.2.0"
504 | statuses "2.0.1"
505 | toidentifier "1.0.1"
506 |
507 | iconv-lite@0.4.24:
508 | version "0.4.24"
509 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
510 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
511 | dependencies:
512 | safer-buffer ">= 2.1.2 < 3"
513 |
514 | inflight@^1.0.4:
515 | version "1.0.6"
516 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
517 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
518 | dependencies:
519 | once "^1.3.0"
520 | wrappy "1"
521 |
522 | inherits@2, inherits@2.0.4:
523 | version "2.0.4"
524 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
525 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
526 |
527 | ipaddr.js@1.9.1:
528 | version "1.9.1"
529 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
530 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
531 |
532 | is-binary-path@~2.1.0:
533 | version "2.1.0"
534 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
535 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
536 | dependencies:
537 | binary-extensions "^2.0.0"
538 |
539 | is-core-module@^2.8.1:
540 | version "2.9.0"
541 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
542 | integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
543 | dependencies:
544 | has "^1.0.3"
545 |
546 | is-extglob@^2.1.1:
547 | version "2.1.1"
548 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
549 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
550 |
551 | is-glob@^4.0.1, is-glob@~4.0.1:
552 | version "4.0.3"
553 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
554 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
555 | dependencies:
556 | is-extglob "^2.1.1"
557 |
558 | is-number@^7.0.0:
559 | version "7.0.0"
560 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
561 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
562 |
563 | jsonwebtoken@^8.5.1:
564 | version "8.5.1"
565 | resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
566 | integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==
567 | dependencies:
568 | jws "^3.2.2"
569 | lodash.includes "^4.3.0"
570 | lodash.isboolean "^3.0.3"
571 | lodash.isinteger "^4.0.4"
572 | lodash.isnumber "^3.0.3"
573 | lodash.isplainobject "^4.0.6"
574 | lodash.isstring "^4.0.1"
575 | lodash.once "^4.0.0"
576 | ms "^2.1.1"
577 | semver "^5.6.0"
578 |
579 | jwa@^1.4.1:
580 | version "1.4.1"
581 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
582 | integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==
583 | dependencies:
584 | buffer-equal-constant-time "1.0.1"
585 | ecdsa-sig-formatter "1.0.11"
586 | safe-buffer "^5.0.1"
587 |
588 | jws@^3.2.2:
589 | version "3.2.2"
590 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
591 | integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==
592 | dependencies:
593 | jwa "^1.4.1"
594 | safe-buffer "^5.0.1"
595 |
596 | lodash.includes@^4.3.0:
597 | version "4.3.0"
598 | resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
599 | integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==
600 |
601 | lodash.isboolean@^3.0.3:
602 | version "3.0.3"
603 | resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
604 | integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==
605 |
606 | lodash.isinteger@^4.0.4:
607 | version "4.0.4"
608 | resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
609 | integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==
610 |
611 | lodash.isnumber@^3.0.3:
612 | version "3.0.3"
613 | resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
614 | integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==
615 |
616 | lodash.isplainobject@^4.0.6:
617 | version "4.0.6"
618 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
619 | integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
620 |
621 | lodash.isstring@^4.0.1:
622 | version "4.0.1"
623 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
624 | integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==
625 |
626 | lodash.once@^4.0.0:
627 | version "4.1.1"
628 | resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
629 | integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==
630 |
631 | make-error@^1.1.1:
632 | version "1.3.6"
633 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
634 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
635 |
636 | media-typer@0.3.0:
637 | version "0.3.0"
638 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
639 | integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
640 |
641 | merge-descriptors@1.0.1:
642 | version "1.0.1"
643 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
644 | integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
645 |
646 | methods@~1.1.2:
647 | version "1.1.2"
648 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
649 | integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
650 |
651 | mime-db@1.52.0:
652 | version "1.52.0"
653 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
654 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
655 |
656 | mime-types@~2.1.24, mime-types@~2.1.34:
657 | version "2.1.35"
658 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
659 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
660 | dependencies:
661 | mime-db "1.52.0"
662 |
663 | mime@1.6.0:
664 | version "1.6.0"
665 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
666 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
667 |
668 | minimatch@^3.1.1:
669 | version "3.1.2"
670 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
671 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
672 | dependencies:
673 | brace-expansion "^1.1.7"
674 |
675 | minimist@^1.2.6:
676 | version "1.2.6"
677 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
678 | integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
679 |
680 | mkdirp@^1.0.4:
681 | version "1.0.4"
682 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
683 | integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
684 |
685 | ms@2.0.0:
686 | version "2.0.0"
687 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
688 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
689 |
690 | ms@2.1.3, ms@^2.1.1:
691 | version "2.1.3"
692 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
693 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
694 |
695 | negotiator@0.6.3:
696 | version "0.6.3"
697 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
698 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
699 |
700 | normalize-path@^3.0.0, normalize-path@~3.0.0:
701 | version "3.0.0"
702 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
703 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
704 |
705 | object-assign@^4:
706 | version "4.1.1"
707 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
708 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
709 |
710 | object-inspect@^1.9.0:
711 | version "1.12.2"
712 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
713 | integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
714 |
715 | on-finished@2.4.1:
716 | version "2.4.1"
717 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
718 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
719 | dependencies:
720 | ee-first "1.1.1"
721 |
722 | once@^1.3.0:
723 | version "1.4.0"
724 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
725 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
726 | dependencies:
727 | wrappy "1"
728 |
729 | parseurl@~1.3.3:
730 | version "1.3.3"
731 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
732 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
733 |
734 | path-is-absolute@^1.0.0:
735 | version "1.0.1"
736 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
737 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
738 |
739 | path-parse@^1.0.7:
740 | version "1.0.7"
741 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
742 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
743 |
744 | path-to-regexp@0.1.7:
745 | version "0.1.7"
746 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
747 | integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
748 |
749 | picomatch@^2.0.4, picomatch@^2.2.1:
750 | version "2.3.1"
751 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
752 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
753 |
754 | prisma@^3.14.0:
755 | version "3.14.0"
756 | resolved "https://registry.yarnpkg.com/prisma/-/prisma-3.14.0.tgz#dd67ece37d7b5373e9fd9588971de0024b49be81"
757 | integrity sha512-l9MOgNCn/paDE+i1K2fp9NZ+Du4trzPTJsGkaQHVBufTGqzoYHuNk8JfzXuIn0Gte6/ZjyKj652Jq/Lc1tp2yw==
758 | dependencies:
759 | "@prisma/engines" "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a"
760 |
761 | proxy-addr@~2.0.7:
762 | version "2.0.7"
763 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
764 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
765 | dependencies:
766 | forwarded "0.2.0"
767 | ipaddr.js "1.9.1"
768 |
769 | qs@6.10.3:
770 | version "6.10.3"
771 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e"
772 | integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==
773 | dependencies:
774 | side-channel "^1.0.4"
775 |
776 | range-parser@~1.2.1:
777 | version "1.2.1"
778 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
779 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
780 |
781 | raw-body@2.5.1:
782 | version "2.5.1"
783 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
784 | integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
785 | dependencies:
786 | bytes "3.1.2"
787 | http-errors "2.0.0"
788 | iconv-lite "0.4.24"
789 | unpipe "1.0.0"
790 |
791 | readdirp@~3.6.0:
792 | version "3.6.0"
793 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
794 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
795 | dependencies:
796 | picomatch "^2.2.1"
797 |
798 | resolve@^1.0.0:
799 | version "1.22.0"
800 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198"
801 | integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
802 | dependencies:
803 | is-core-module "^2.8.1"
804 | path-parse "^1.0.7"
805 | supports-preserve-symlinks-flag "^1.0.0"
806 |
807 | rimraf@^2.6.1:
808 | version "2.7.1"
809 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
810 | integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
811 | dependencies:
812 | glob "^7.1.3"
813 |
814 | safe-buffer@5.2.1, safe-buffer@^5.0.1:
815 | version "5.2.1"
816 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
817 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
818 |
819 | "safer-buffer@>= 2.1.2 < 3":
820 | version "2.1.2"
821 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
822 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
823 |
824 | semver@^5.6.0:
825 | version "5.7.1"
826 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
827 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
828 |
829 | send@0.18.0:
830 | version "0.18.0"
831 | resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
832 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
833 | dependencies:
834 | debug "2.6.9"
835 | depd "2.0.0"
836 | destroy "1.2.0"
837 | encodeurl "~1.0.2"
838 | escape-html "~1.0.3"
839 | etag "~1.8.1"
840 | fresh "0.5.2"
841 | http-errors "2.0.0"
842 | mime "1.6.0"
843 | ms "2.1.3"
844 | on-finished "2.4.1"
845 | range-parser "~1.2.1"
846 | statuses "2.0.1"
847 |
848 | serve-static@1.15.0:
849 | version "1.15.0"
850 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
851 | integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
852 | dependencies:
853 | encodeurl "~1.0.2"
854 | escape-html "~1.0.3"
855 | parseurl "~1.3.3"
856 | send "0.18.0"
857 |
858 | setprototypeof@1.2.0:
859 | version "1.2.0"
860 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
861 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
862 |
863 | side-channel@^1.0.4:
864 | version "1.0.4"
865 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
866 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
867 | dependencies:
868 | call-bind "^1.0.0"
869 | get-intrinsic "^1.0.2"
870 | object-inspect "^1.9.0"
871 |
872 | source-map-support@^0.5.12:
873 | version "0.5.21"
874 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
875 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
876 | dependencies:
877 | buffer-from "^1.0.0"
878 | source-map "^0.6.0"
879 |
880 | source-map@^0.6.0:
881 | version "0.6.1"
882 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
883 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
884 |
885 | statuses@2.0.1:
886 | version "2.0.1"
887 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
888 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
889 |
890 | strip-bom@^3.0.0:
891 | version "3.0.0"
892 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
893 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
894 |
895 | strip-json-comments@^2.0.0:
896 | version "2.0.1"
897 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
898 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
899 |
900 | supports-preserve-symlinks-flag@^1.0.0:
901 | version "1.0.0"
902 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
903 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
904 |
905 | to-regex-range@^5.0.1:
906 | version "5.0.1"
907 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
908 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
909 | dependencies:
910 | is-number "^7.0.0"
911 |
912 | toidentifier@1.0.1:
913 | version "1.0.1"
914 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
915 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
916 |
917 | tree-kill@^1.2.2:
918 | version "1.2.2"
919 | resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc"
920 | integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==
921 |
922 | ts-node-dev@^2.0.0:
923 | version "2.0.0"
924 | resolved "https://registry.yarnpkg.com/ts-node-dev/-/ts-node-dev-2.0.0.tgz#bdd53e17ab3b5d822ef519928dc6b4a7e0f13065"
925 | integrity sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==
926 | dependencies:
927 | chokidar "^3.5.1"
928 | dynamic-dedupe "^0.3.0"
929 | minimist "^1.2.6"
930 | mkdirp "^1.0.4"
931 | resolve "^1.0.0"
932 | rimraf "^2.6.1"
933 | source-map-support "^0.5.12"
934 | tree-kill "^1.2.2"
935 | ts-node "^10.4.0"
936 | tsconfig "^7.0.0"
937 |
938 | ts-node@^10.4.0:
939 | version "10.8.0"
940 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.0.tgz#3ceb5ac3e67ae8025c1950626aafbdecb55d82ce"
941 | integrity sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==
942 | dependencies:
943 | "@cspotcode/source-map-support" "^0.8.0"
944 | "@tsconfig/node10" "^1.0.7"
945 | "@tsconfig/node12" "^1.0.7"
946 | "@tsconfig/node14" "^1.0.0"
947 | "@tsconfig/node16" "^1.0.2"
948 | acorn "^8.4.1"
949 | acorn-walk "^8.1.1"
950 | arg "^4.1.0"
951 | create-require "^1.1.0"
952 | diff "^4.0.1"
953 | make-error "^1.1.1"
954 | v8-compile-cache-lib "^3.0.1"
955 | yn "3.1.1"
956 |
957 | tsconfig@^7.0.0:
958 | version "7.0.0"
959 | resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7"
960 | integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==
961 | dependencies:
962 | "@types/strip-bom" "^3.0.0"
963 | "@types/strip-json-comments" "0.0.30"
964 | strip-bom "^3.0.0"
965 | strip-json-comments "^2.0.0"
966 |
967 | type-is@~1.6.18:
968 | version "1.6.18"
969 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
970 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
971 | dependencies:
972 | media-typer "0.3.0"
973 | mime-types "~2.1.24"
974 |
975 | typescript@^4.7.2:
976 | version "4.7.2"
977 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4"
978 | integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==
979 |
980 | unpipe@1.0.0, unpipe@~1.0.0:
981 | version "1.0.0"
982 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
983 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
984 |
985 | utils-merge@1.0.1:
986 | version "1.0.1"
987 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
988 | integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
989 |
990 | v8-compile-cache-lib@^3.0.1:
991 | version "3.0.1"
992 | resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
993 | integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
994 |
995 | vary@^1, vary@~1.1.2:
996 | version "1.1.2"
997 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
998 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
999 |
1000 | wrappy@1:
1001 | version "1.0.2"
1002 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1003 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
1004 |
1005 | xtend@^4.0.0:
1006 | version "4.0.2"
1007 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
1008 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
1009 |
1010 | yn@3.1.1:
1011 | version "3.1.1"
1012 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
1013 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
1014 |
--------------------------------------------------------------------------------