├── public
├── uploads
│ └── .gitkeep
├── favicon.ico
├── script.js
├── style.css
└── index.html
├── url-rewrite.json
├── config.js
├── .gitignore
├── src
├── socket-io.js
├── graphql.js
└── rest.js
├── utils
├── jwt-authenticate.js
└── graphql-scalar-type.js
├── package.json
├── server.js
├── database.json
├── README.md
└── yarn.lock
/public/uploads/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/url-rewrite.json:
--------------------------------------------------------------------------------
1 | {
2 | "/api/*": "/$1"
3 | }
4 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/robinhuy/fake-api-nodejs/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/config.js:
--------------------------------------------------------------------------------
1 | export const CONFIG = {
2 | accessTokenSecret: 'accessToken',
3 | accessTokenExpiresInMinutes: '15',
4 | refreshTokenSecret: 'refreshToken',
5 | refreshTokenExpiresInMinutes: '10080',
6 | databaseFile: 'database.json',
7 | urlRewriteFile: 'url-rewrite.json',
8 | proxyServer: 'https://huydq.dev',
9 | proxyUrl: '/blog',
10 | defaultPort: 8000,
11 | };
12 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Dependencies
2 | /node_modules
3 |
4 | # IDEs and editors
5 | /.idea
6 | .project
7 | .classpath
8 | .c9/
9 | *.launch
10 | .settings/
11 | *.sublime-workspace
12 |
13 | # IDE - VSCode
14 | .vscode/*
15 | !.vscode/settings.json
16 | !.vscode/tasks.json
17 | !.vscode/launch.json
18 | !.vscode/extensions.json
19 | .history/*
20 |
21 | # System Files
22 | .DS_Store
23 | Thumbs.db
24 |
25 | # Upload files
26 | /public/uploads/*
--------------------------------------------------------------------------------
/src/socket-io.js:
--------------------------------------------------------------------------------
1 | const SocketIOServer = (socket, io) => {
2 | console.log('An user connected');
3 |
4 | socket.on('emit', (msg) => {
5 | socket.emit('emit', msg);
6 | });
7 |
8 | socket.on('broadcast', (msg) => {
9 | socket.broadcast.emit('broadcast', msg);
10 | });
11 |
12 | socket.on('broadcast-all', (msg) => {
13 | io.emit('broadcast-all', msg);
14 | });
15 |
16 | socket.on('join-room', (roomName) => {
17 | socket.join(roomName);
18 | });
19 |
20 | socket.on('emit-in-room', ({ room, event, msg }) => {
21 | socket.to(room).emit(event, msg);
22 | });
23 |
24 | socket.on('disconnect', () => {
25 | console.log('An user disconnected');
26 | });
27 | };
28 |
29 | export default SocketIOServer;
30 |
--------------------------------------------------------------------------------
/utils/jwt-authenticate.js:
--------------------------------------------------------------------------------
1 | import jwt from 'jsonwebtoken';
2 | import { CONFIG } from '../config.js';
3 |
4 | export const generateAccessToken = (user) => {
5 | return jwt.sign(
6 | { sub: user.id, name: user.firstName + ' ' + user.lastName, avatar: user.avatar },
7 | CONFIG.accessTokenSecret,
8 | {
9 | expiresIn: CONFIG.accessTokenExpiresInMinutes + 'm',
10 | }
11 | );
12 | };
13 |
14 | export const generateRefreshToken = (user) => {
15 | return jwt.sign({ sub: user.id }, CONFIG.refreshTokenSecret, {
16 | expiresIn: CONFIG.refreshTokenExpiresInMinutes + 'm',
17 | });
18 | };
19 |
20 | export const decodeRefreshToken = (token) => {
21 | return jwt.verify(token, CONFIG.refreshTokenSecret);
22 | };
23 |
24 | export const isAuthenticated = (req) => {
25 | let token = '';
26 | if (req.headers.authorization && req.headers.authorization.split(' ')[0] === 'Bearer') {
27 | token = req.headers.authorization.split(' ')[1];
28 | }
29 |
30 | try {
31 | jwt.verify(token, CONFIG.accessTokenSecret);
32 | } catch (err) {
33 | return false;
34 | }
35 |
36 | return true;
37 | };
38 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "fake-api-nodejs",
3 | "version": "1.0.0",
4 | "description": "Fake API using NodeJS + JSON Server + Socket.IO + GraphQL",
5 | "type": "module",
6 | "exports": "./server.js",
7 | "scripts": {
8 | "start": "node server.js",
9 | "dev": "nodemon server.js"
10 | },
11 | "repository": {
12 | "type": "git",
13 | "url": "git+https://github.com/robinhuy/fake-rest-api-nodejs.git"
14 | },
15 | "keywords": [
16 | "json-server",
17 | "rest-api"
18 | ],
19 | "author": "Robin Huy",
20 | "license": "MIT",
21 | "bugs": {
22 | "url": "https://github.com/robinhuy/fake-api-nodejs/issues"
23 | },
24 | "homepage": "https://github.com/robinhuy/fake-api-nodejs#readme",
25 | "dependencies": {
26 | "cors": "^2.8.5",
27 | "express-graphql": "^0.12.0",
28 | "formidable": "^2.1.1",
29 | "graphql": "^16.8.0",
30 | "http-proxy-middleware": "^2.0.6",
31 | "json-server": "^0.17.3",
32 | "jsonwebtoken": "^9.0.2",
33 | "lowdb": "^5.1.0",
34 | "socket.io": "^4.7.2"
35 | },
36 | "devDependencies": {
37 | "nodemon": "^2.0.22"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/public/script.js:
--------------------------------------------------------------------------------
1 | function ResourceItem({ name, length }) {
2 | if (name === "protectedResources") return;
3 |
4 | return `
5 |
6 | /${name}
7 | ${length ? `${length}x` : "object"}
8 |
9 | `;
10 | }
11 |
12 | function ResourceList({ db }) {
13 | return `
14 |
15 | ${Object.keys(db)
16 | .map((name) =>
17 | ResourceItem({
18 | name,
19 | length: Array.isArray(db[name]) && db[name].length,
20 | })
21 | )
22 | .join("")}
23 |
24 | `;
25 | }
26 |
27 | function NoResources() {
28 | return `No resources found
`;
29 | }
30 |
31 | function ResourcesBlock({ db }) {
32 | return `
33 |
34 |
Resources
35 | ${Object.keys(db).length ? ResourceList({ db }) : NoResources()}
36 |
37 | `;
38 | }
39 |
40 | window
41 | .fetch("db")
42 | .then((response) => response.json())
43 | .then(
44 | (db) =>
45 | (document.getElementById("resources").innerHTML = ResourcesBlock({ db }))
46 | );
47 |
--------------------------------------------------------------------------------
/public/style.css:
--------------------------------------------------------------------------------
1 | body {
2 | display: flex;
3 | min-height: 100vh;
4 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
5 | Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
6 | flex-direction: column;
7 | padding: 0;
8 | margin: 0;
9 | color: #3b4252;
10 | letter-spacing: 0;
11 | }
12 |
13 | .container {
14 | max-width: 960px;
15 | margin: auto;
16 | padding: 1rem;
17 | }
18 |
19 | header {
20 | border-bottom: 1px solid #eee;
21 | }
22 |
23 | header a {
24 | color: inherit;
25 | text-decoration: none;
26 | }
27 |
28 | header a:hover {
29 | text-decoration: underline;
30 | }
31 |
32 | nav ul {
33 | display: flex;
34 | flex-wrap: nowrap;
35 | justify-content: space-between;
36 | }
37 |
38 | nav li.title {
39 | flex-grow: 5;
40 | text-align: left;
41 | font-weight: bold;
42 | font-size: 1.4rem;
43 | color: #3b4252;
44 | }
45 |
46 | nav li {
47 | flex-grow: 1;
48 | align-self: center;
49 | text-align: right;
50 | color: #4c566a;
51 | }
52 |
53 | .fa-heart {
54 | color: deeppink;
55 | }
56 |
57 | main {
58 | flex: 1;
59 | }
60 |
61 | footer {
62 | margin-top: 4rem;
63 | border-top: 1px solid #eee;
64 | }
65 |
66 | h1 {
67 | margin-top: 4rem;
68 | font-weight: normal;
69 | }
70 |
71 | i {
72 | margin-right: 0.5rem;
73 | }
74 |
75 | a {
76 | color: #5e81ac;
77 | }
78 |
79 | a:hover {
80 | color: #81a1c1;
81 | text-decoration: underline;
82 | }
83 |
84 | table {
85 | margin-left: 0;
86 | }
87 |
88 | td {
89 | border: 0;
90 | padding: 0 1em 0.5em 0;
91 | }
92 |
93 | td:first-child {
94 | width: 1%;
95 | white-space: nowrap;
96 | }
97 |
98 | ul {
99 | list-style-position: inside;
100 | padding-left: 0;
101 | }
102 |
103 | li {
104 | list-style-type: none;
105 | margin-bottom: 0.2rem;
106 | }
107 |
108 | code {
109 | padding: 0.2rem;
110 | margin: 0rem 0.2rem;
111 | border-radius: 0.2rem;
112 | background: #e5e9f0;
113 | }
114 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 | Fake REST API NodeJS
11 |
12 |
13 |
14 |
28 |
29 |
30 |
Congrats!
31 |
32 | You're successfully running API Server
33 |
34 | ✧*。٩(ˊᗜˋ*)و✧*。
35 |
36 |
37 |
38 |
39 |
To access and modify resources, you can use any HTTP method:
40 |
41 | GET
42 | POST
43 | PUT
44 | PATCH
45 | DELETE
46 | OPTIONS
47 |
48 |
49 |
Documentation
50 |
60 |
61 |
62 |
63 |
71 |
72 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/utils/graphql-scalar-type.js:
--------------------------------------------------------------------------------
1 | import { GraphQLScalarType, Kind } from 'graphql';
2 |
3 | function parseLiteral(ast, variables) {
4 | switch (ast.kind) {
5 | case Kind.STRING:
6 | case Kind.BOOLEAN:
7 | return ast.value;
8 | case Kind.INT:
9 | case Kind.FLOAT:
10 | return parseFloat(ast.value);
11 | case Kind.OBJECT:
12 | return parseObject(ast, variables);
13 | case Kind.LIST:
14 | return ast.values.map((n) => parseLiteral(n, variables));
15 | case Kind.NULL:
16 | return null;
17 | case Kind.VARIABLE: {
18 | const name = ast.name.value;
19 | return variables ? variables[name] : undefined;
20 | }
21 | }
22 | }
23 |
24 | function parseObject(ast, variables) {
25 | const value = Object.create(null);
26 | ast.fields.forEach((field) => {
27 | value[field.name.value] = parseLiteral(field.value, variables);
28 | });
29 |
30 | return value;
31 | }
32 |
33 | function ensureObject(value, ast) {
34 | if (typeof value !== 'object' || value === null || Array.isArray(value)) {
35 | throw createGraphQLError(
36 | `JSONObject cannot represent non-object value: ${value}`,
37 | ast
38 | ? {
39 | nodes: ast,
40 | }
41 | : undefined
42 | );
43 | }
44 |
45 | return value;
46 | }
47 |
48 | export const ObjectScalarType = new GraphQLScalarType({
49 | name: 'Object',
50 | description: 'Arbitrary object',
51 | parseValue: (value) => {
52 | return typeof value === 'object' ? value : typeof value === 'string' ? JSON.parse(value) : null;
53 | },
54 | serialize: (value) => {
55 | return typeof value === 'object' ? value : typeof value === 'string' ? JSON.parse(value) : null;
56 | },
57 | parseLiteral: (ast) => {
58 | switch (ast.kind) {
59 | case Kind.STRING:
60 | return JSON.parse(ast.value);
61 | case Kind.OBJECT:
62 | throw new Error(`Not sure what to do with OBJECT for ObjectScalarType`);
63 | default:
64 | return null;
65 | }
66 | },
67 | });
68 |
69 | export const JSONScalarType = new GraphQLScalarType({
70 | name: 'JSON',
71 | description: 'JSON values',
72 | parseValue: ensureObject,
73 | serialize: ensureObject,
74 | parseLiteral: parseObject,
75 | });
76 |
--------------------------------------------------------------------------------
/src/graphql.js:
--------------------------------------------------------------------------------
1 | import { buildSchema } from 'graphql';
2 | import { ObjectScalarType, JSONScalarType } from '../utils/graphql-scalar-type.js';
3 |
4 | export const schema = buildSchema(`
5 | scalar ObjectScalarType
6 | scalar JSONScalarType
7 |
8 | input ObjectValue {
9 | int: Int
10 | float: Float
11 | string: String
12 | boolean: Boolean
13 | }
14 |
15 | type ResponseMessage {
16 | id: ID
17 | code: String
18 | message: String
19 | }
20 |
21 | type Query {
22 | getObjects(objectName: String!): [ObjectScalarType]
23 | getObjectByKey(objectName: String!, objectKey: String!, objectValue: ObjectValue): ObjectScalarType
24 | }
25 |
26 | type Mutation {
27 | createObject(objectName: String!, objectData: JSONScalarType!): ResponseMessage
28 | updateObject(objectName: String!, objectId: ID!, objectData: JSONScalarType!): ResponseMessage
29 | deleteObject(objectName: String!, objectId: ID!): ResponseMessage
30 | }
31 | `);
32 |
33 | export const setupRootValue = (db) => {
34 | return {
35 | getObjects: ({ objectName }) => {
36 | const obj = db.data[objectName];
37 | return obj;
38 | },
39 |
40 | getObjectByKey: ({ objectName, objectKey, objectValue }) => {
41 | const obj = db.get(objectName).find((o) => {
42 | return (
43 | o[objectKey] ===
44 | (objectValue.int ?? objectValue.float ?? objectValue.string ?? objectValue.boolean)
45 | );
46 | });
47 | return obj;
48 | },
49 |
50 | createObject: ({ objectName, objectData }) => {
51 | if (!db.data[objectName]) {
52 | db.data[objectName] = [];
53 | }
54 |
55 | const objects = db.data[objectName];
56 | let maxId = 0;
57 | for (let o of objects) {
58 | if (o.id > maxId) {
59 | maxId = o.id;
60 | }
61 | }
62 | const newObject = { id: maxId + 1, ...objectData };
63 |
64 | objects.push(newObject);
65 | db.write();
66 |
67 | return {
68 | id: newObject.id,
69 | code: 200,
70 | message: 'Create object successfully!',
71 | };
72 | },
73 |
74 | updateObject: ({ objectName, objectId, objectData }) => {
75 | if (!db.data[objectName]) {
76 | return {
77 | code: 404,
78 | message: 'Object type not found!',
79 | };
80 | }
81 |
82 | let object = db.data[objectName].find((o) => o.id == objectId);
83 | if (!object) {
84 | return {
85 | code: 404,
86 | message: 'Object not found!',
87 | };
88 | }
89 |
90 | const { id, ...objectDataWithoutId } = objectData;
91 | for (let key in objectDataWithoutId) {
92 | object[key] = objectDataWithoutId[key];
93 | }
94 | db.write();
95 |
96 | return {
97 | id: objectId,
98 | code: 200,
99 | message: 'Update object successfully!',
100 | };
101 | },
102 |
103 | deleteObject: ({ objectName, objectId }) => {
104 | if (!db.data[objectName]) {
105 | return {
106 | code: 404,
107 | message: 'Object type not found!',
108 | };
109 | }
110 |
111 | const objects = db.data[objectName];
112 | const objectIndex = objects.findIndex((o) => o.id == objectId);
113 | if (objectIndex === -1) {
114 | return {
115 | code: 404,
116 | message: 'Object not found!',
117 | };
118 | }
119 |
120 | objects.splice(objectIndex, 1);
121 | db.write();
122 |
123 | return {
124 | id: objectId,
125 | code: 200,
126 | message: 'Delete object successfully!',
127 | };
128 | },
129 | };
130 | };
131 |
--------------------------------------------------------------------------------
/server.js:
--------------------------------------------------------------------------------
1 | import { graphqlHTTP } from 'express-graphql';
2 | import http from 'http';
3 | import jsonServer from 'json-server';
4 | import { Low } from 'lowdb';
5 | import { JSONFile } from 'lowdb/node';
6 | import { Server } from 'socket.io';
7 | import { createProxyMiddleware } from 'http-proxy-middleware';
8 | import cors from 'cors';
9 |
10 | import { CONFIG } from './config.js';
11 | import { isAuthenticated } from './utils/jwt-authenticate.js';
12 | import { schema, setupRootValue } from './src/graphql.js';
13 | import {
14 | loginHandler,
15 | registerHandler,
16 | refreshTokenHandler,
17 | socketEmit,
18 | testHandler,
19 | uploadFileHandler,
20 | uploadFilesHandler,
21 | } from './src/rest.js';
22 | import socketHandler from './src/socket-io.js';
23 |
24 | const db = new Low(new JSONFile(CONFIG.databaseFile));
25 | await db.read();
26 |
27 | const app = jsonServer.create();
28 | const router = jsonServer.router(CONFIG.databaseFile);
29 | const middlewares = jsonServer.defaults();
30 | const port = process.env.PORT || CONFIG.defaultPort;
31 | const server = http.createServer(app);
32 |
33 | // Init socket io server
34 | const io = new Server(server, {
35 | cors: { origin: '*' },
36 | });
37 | io.on('connection', (socket) => {
38 | socketHandler(socket, io);
39 | });
40 |
41 | // Config proxy middlewares
42 | if (CONFIG.proxyServer) {
43 | app.use(
44 | CONFIG.proxyUrl,
45 | createProxyMiddleware({
46 | target: CONFIG.proxyServer,
47 | changeOrigin: true,
48 | ws: true,
49 | logger: console,
50 | onProxyRes: function (proxyRes, req, res) {
51 | cors()(req, res, () => {});
52 | },
53 | })
54 | );
55 | }
56 |
57 | // Init graphql
58 | app.use('/graphql', graphqlHTTP({ schema, rootValue: setupRootValue(db), graphiql: true }));
59 |
60 | // Set default middlewares (logger, static, cors and no-cache)
61 | app.use(middlewares);
62 |
63 | // Handle POST, PUT and PATCH request
64 | app.use(jsonServer.bodyParser);
65 |
66 | // Save createdAt and updatedAt automatically
67 | app.use((req, res, next) => {
68 | const currentTime = Date.now();
69 |
70 | if (req.method === 'POST') {
71 | req.body.createdAt = currentTime;
72 | req.body.modifiedAt = currentTime;
73 | } else if (['PUT', 'PATCH'].includes(req.method)) {
74 | req.body.modifiedAt = currentTime;
75 | }
76 |
77 | next();
78 | });
79 |
80 | // Test web socket request
81 | app.post('/socket-emit', (req, res) => {
82 | socketEmit(io, req, res);
83 | });
84 |
85 | // Test request (change the response in src/rest.js)
86 | app.get('/test', (req, res) => {
87 | testHandler(db, req, res);
88 | });
89 |
90 | // Register request
91 | app.post('/register', (req, res) => {
92 | registerHandler(db, req, res);
93 | });
94 |
95 | // Login request
96 | app.post('/login', (req, res) => {
97 | loginHandler(db, req, res);
98 | });
99 |
100 | // Renew Token request
101 | app.post('/refresh-token', (req, res) => {
102 | refreshTokenHandler(req, res);
103 | });
104 |
105 | // Upload 1 file
106 | app.post('/upload-file', uploadFileHandler);
107 |
108 | // Upload multiple files
109 | app.post('/upload-files', uploadFilesHandler);
110 |
111 | // Access control
112 | app.use((req, res, next) => {
113 | const protectedResources = db.data.protectedResources;
114 | if (!protectedResources) {
115 | next();
116 | return;
117 | }
118 |
119 | const resource = req.path.slice(1).split('/')[0];
120 | const protectedResource =
121 | protectedResources[resource] && protectedResources[resource].map((item) => item.toUpperCase());
122 | const reqMethod = req.method.toUpperCase();
123 |
124 | if (protectedResource && protectedResource.includes(reqMethod)) {
125 | if (isAuthenticated(req)) {
126 | next();
127 | } else {
128 | res.sendStatus(401);
129 | }
130 | } else {
131 | next();
132 | }
133 | });
134 |
135 | // Rewrite routes
136 | const urlRewriteFile = new JSONFile(CONFIG.urlRewriteFile);
137 | const rewriteRules = await urlRewriteFile.read();
138 | app.use(jsonServer.rewriter(rewriteRules));
139 |
140 | // Setup others routes
141 | app.use(router);
142 |
143 | // Start server
144 | server.listen(port, () => {
145 | console.log('Server is running on port ' + port);
146 | });
147 |
--------------------------------------------------------------------------------
/src/rest.js:
--------------------------------------------------------------------------------
1 | import formidable from 'formidable';
2 | import { copyFile, unlink } from 'fs/promises';
3 | import {
4 | generateAccessToken,
5 | generateRefreshToken,
6 | decodeRefreshToken,
7 | } from '../utils/jwt-authenticate.js';
8 |
9 | const handleUploadFile = async (req, file) => {
10 | const uploadFolder = 'uploads';
11 |
12 | try {
13 | // Copy file from temp folder to uploads folder (not rename to allow cross-device link)
14 | await copyFile(file.filepath, `./public/${uploadFolder}/${file.originalFilename}`);
15 |
16 | // Remove temp file
17 | await unlink(file.filepath);
18 |
19 | // Return new path of uploaded file
20 | file.filepath = `${req.protocol}://${req.get('host')}/${uploadFolder}/${file.originalFilename}`;
21 |
22 | return file;
23 | } catch (err) {
24 | throw err;
25 | }
26 | };
27 |
28 | export const testHandler = (db, req, res) => {
29 | res.jsonp('Hello world!');
30 | };
31 |
32 | export const loginHandler = (db, req, res) => {
33 | const { username, email, password: pwd } = req.body;
34 |
35 | const user = db.data.users?.find(
36 | (u) => (u.username === username || u.email === email) && u.password === pwd
37 | );
38 |
39 | if (user && user.password === pwd) {
40 | const accessToken = generateAccessToken(user);
41 | const refreshToken = generateRefreshToken(user);
42 | const { password, ...userWithoutPassword } = user;
43 |
44 | res.jsonp({
45 | ...userWithoutPassword,
46 | accessToken,
47 | refreshToken,
48 | });
49 | } else {
50 | res.status(400).jsonp({ message: 'Username or password is incorrect!' });
51 | }
52 | };
53 |
54 | export const refreshTokenHandler = (req, res) => {
55 | const { token } = req.body;
56 |
57 | if (token) {
58 | try {
59 | const payload = decodeRefreshToken(token);
60 | const accessToken = generateAccessToken(payload);
61 | const refreshToken = generateRefreshToken(payload);
62 |
63 | res.jsonp({
64 | accessToken,
65 | refreshToken,
66 | });
67 | } catch (error) {
68 | res.status(400).jsonp({ error });
69 | }
70 | } else {
71 | res.status(400).jsonp({ message: 'Refresh Token is invalid!' });
72 | }
73 | };
74 |
75 | export const registerHandler = (db, req, res) => {
76 | const { username, email, password } = req.body;
77 | const users = db.data.users;
78 |
79 | if (!password && (!email || !username)) {
80 | res.status(400).jsonp({ message: 'Please input all required fields!' });
81 | return;
82 | }
83 |
84 | const existUsername = users?.find((user) => username && user.username === username);
85 |
86 | if (existUsername) {
87 | res.status(400).jsonp({
88 | message: 'The username already exists. Please use a different username!',
89 | });
90 | return;
91 | }
92 |
93 | const existEmail = users?.find((user) => email && user.email === email);
94 |
95 | if (existEmail) {
96 | res.status(400).jsonp({
97 | message: 'The email address is already being used! Please use a different email!',
98 | });
99 | return;
100 | }
101 |
102 | let maxId = 0;
103 | for (let u of users) {
104 | if (u.id > maxId) {
105 | maxId = u.id;
106 | }
107 | }
108 | const newUser = { id: maxId + 1, ...req.body };
109 |
110 | users?.push(newUser);
111 | db.write();
112 |
113 | res.jsonp(newUser);
114 | };
115 |
116 | export const uploadFileHandler = (req, res) => {
117 | if (req.headers['content-type'] === 'application/json') {
118 | res.status(400).jsonp({ message: 'Content-Type "application/json" is not allowed.' });
119 | return;
120 | }
121 |
122 | const form = formidable();
123 |
124 | form.parse(req, async (error, fields, files) => {
125 | let file = files.file;
126 |
127 | if (error || !file) {
128 | res.status(400).jsonp({ message: 'Missing "file" field.' });
129 | return;
130 | }
131 |
132 | try {
133 | file = await handleUploadFile(req, file);
134 | res.jsonp(file);
135 | } catch (err) {
136 | console.log(err);
137 | res.status(500).jsonp({ message: 'Cannot upload file.' });
138 | }
139 | });
140 | };
141 |
142 | export const uploadFilesHandler = (req, res) => {
143 | if (req.headers['content-type'] === 'application/json') {
144 | res.status(400).jsonp({ message: 'Content-Type "application/json" is not allowed.' });
145 | return;
146 | }
147 |
148 | const form = formidable({ multiples: true });
149 |
150 | form.parse(req, async (error, fields, files) => {
151 | let filesUploaded = files.files;
152 |
153 | if (error || !filesUploaded) {
154 | res.status(400).jsonp({ message: 'Missing "files" field.' });
155 | return;
156 | }
157 |
158 | // If user upload 1 file, transform data to array
159 | if (!Array.isArray(filesUploaded)) {
160 | filesUploaded = [filesUploaded];
161 | }
162 |
163 | try {
164 | // Handle all uploaded files
165 | filesUploaded = await Promise.all(
166 | filesUploaded.map(async (file) => {
167 | try {
168 | file = await handleUploadFile(req, file);
169 | return file;
170 | } catch (err) {
171 | throw err;
172 | }
173 | })
174 | );
175 |
176 | res.jsonp(filesUploaded);
177 | } catch (err) {
178 | console.log(err);
179 | res.status(500).jsonp({ message: 'Cannot upload files.' });
180 | }
181 | });
182 | };
183 |
184 | export const socketEmit = (io, req, res) => {
185 | io.emit('socket-emit', req.body);
186 | res.jsonp({ msg: 'Message sent over websocket connection' });
187 | };
188 |
--------------------------------------------------------------------------------
/database.json:
--------------------------------------------------------------------------------
1 | {
2 | "protectedResources": {
3 | "users": [
4 | "GET",
5 | "POST",
6 | "PUT",
7 | "PATCH",
8 | "DELETE"
9 | ],
10 | "products": [
11 | "POST",
12 | "PUT",
13 | "PATCH",
14 | "DELETE"
15 | ]
16 | },
17 | "users": [
18 | {
19 | "id": 1,
20 | "firstName": "Administrator",
21 | "lastName": "",
22 | "username": "admin",
23 | "email": "admin@gmail.com",
24 | "password": "admin",
25 | "avatar": "https://robohash.org/eaquequasincidunt.png?size=50x50&set=set1",
26 | "gender": "Genderfluid",
27 | "phone": "933-658-1213",
28 | "birthday": "1994-03-23",
29 | "status": true,
30 | "createdAt": 1609483221000,
31 | "modifiedAt": 1609483221000
32 | },
33 | {
34 | "id": 2,
35 | "firstName": "Alberta",
36 | "lastName": "Farncomb",
37 | "username": "afarncomb1",
38 | "email": "afarncomb1@liveinternet.ru",
39 | "password": "FfshsAlZ",
40 | "avatar": "https://robohash.org/accusantiumminimamagni.png?size=50x50&set=set1",
41 | "gender": "Male",
42 | "phone": "510-449-7332",
43 | "birthday": "2002-03-11",
44 | "status": false,
45 | "createdAt": 1617440961000,
46 | "modifiedAt": 1618301961000
47 | },
48 | {
49 | "id": 3,
50 | "firstName": "Kizzie",
51 | "lastName": "Shama",
52 | "username": "kshama2",
53 | "email": "kshama2@prlog.org",
54 | "password": "kjU6qK1Bm",
55 | "avatar": "https://robohash.org/voluptatemdebitiset.png?size=50x50&set=set1",
56 | "gender": "Male",
57 | "phone": "676-983-4977",
58 | "birthday": "1997-09-29",
59 | "status": false,
60 | "createdAt": 1615745961000,
61 | "modifiedAt": 1615976361000
62 | },
63 | {
64 | "id": 4,
65 | "firstName": "Tremayne",
66 | "lastName": "Americi",
67 | "username": "tamerici3",
68 | "email": "tamerici3@skype.com",
69 | "password": "xbNRPGk",
70 | "avatar": "https://robohash.org/rerumoccaecatiprovident.png?size=50x50&set=set1",
71 | "gender": "Genderfluid",
72 | "phone": "548-721-4661",
73 | "birthday": "2004-10-01",
74 | "status": false,
75 | "createdAt": 1610281342000,
76 | "modifiedAt": 1619283693000
77 | },
78 | {
79 | "id": 5,
80 | "firstName": "Luciana",
81 | "lastName": "Fernihough",
82 | "username": "lfernihough4",
83 | "email": "lfernihough4@oaic.gov.au",
84 | "password": "hDuqo8j5TXTl",
85 | "avatar": "https://robohash.org/nobisplaceataut.png?size=50x50&set=set1",
86 | "gender": "Female",
87 | "phone": "597-670-2841",
88 | "birthday": "1999-01-30",
89 | "status": true,
90 | "createdAt": 1614362898000,
91 | "modifiedAt": 1615410795000
92 | },
93 | {
94 | "id": 6,
95 | "firstName": "Ursuline",
96 | "lastName": "Gorrick",
97 | "username": "ugorrick5",
98 | "email": "ugorrick5@meetup.com",
99 | "password": "GH1yLLmJoq",
100 | "avatar": "https://robohash.org/voluptatemenimerror.png?size=50x50&set=set1",
101 | "gender": "Bigender",
102 | "phone": "686-821-0488",
103 | "birthday": "1996-01-29",
104 | "status": false,
105 | "createdAt": 1621283400000,
106 | "modifiedAt": 1621528590000
107 | },
108 | {
109 | "id": 7,
110 | "firstName": "Carlotta",
111 | "lastName": "Chivers",
112 | "username": "cchivers6",
113 | "email": "cchivers6@ebay.com",
114 | "password": "n5hIT4NKk8Q",
115 | "avatar": "https://robohash.org/voluptatequasiest.png?size=50x50&set=set1",
116 | "gender": "Non-binary",
117 | "phone": "428-749-0095",
118 | "birthday": "1998-05-19",
119 | "status": true,
120 | "createdAt": 1614957930000,
121 | "modifiedAt": 1614957930000
122 | },
123 | {
124 | "id": 8,
125 | "firstName": "Thorpe",
126 | "lastName": "Humblestone",
127 | "username": "thumblestone7",
128 | "email": "thumblestone7@china.com.cn",
129 | "password": "iYlKMYJqIy2T",
130 | "avatar": "https://robohash.org/voluptasetexplicabo.png?size=50x50&set=set1",
131 | "gender": "Bigender",
132 | "phone": "722-376-2905",
133 | "birthday": "2007-09-24",
134 | "status": true,
135 | "createdAt": 1613665586000,
136 | "modifiedAt": 1613665586000
137 | },
138 | {
139 | "id": 9,
140 | "firstName": "Chick",
141 | "lastName": "Kynnd",
142 | "username": "ckynnd8",
143 | "email": "ckynnd8@spotify.com",
144 | "password": "cGdnd1HapM",
145 | "avatar": "https://robohash.org/commodiexplicaboveritatis.png?size=50x50&set=set1",
146 | "gender": "Bigender",
147 | "phone": "825-276-2045",
148 | "birthday": "2007-03-01",
149 | "status": true,
150 | "createdAt": 1612782806000,
151 | "modifiedAt": 1612782806000
152 | },
153 | {
154 | "id": 10,
155 | "firstName": "Alexis",
156 | "lastName": "Loughan",
157 | "username": "aloughan9",
158 | "email": "aloughan9@soundcloud.com",
159 | "password": "BUSPoSABA3s",
160 | "avatar": "https://robohash.org/suntisteaperiam.png?size=50x50&set=set1",
161 | "gender": "Polygender",
162 | "phone": "391-273-2238",
163 | "birthday": "2000-05-04",
164 | "status": true,
165 | "createdAt": 1615245193000,
166 | "modifiedAt": 1616246055000
167 | }
168 | ],
169 | "products": [
170 | {
171 | "id": 1,
172 | "name": "Pork Salted Bellies",
173 | "price": 442,
174 | "quantity": 16,
175 | "thumbnail": "http://dummyimage.com/213x100.png/dddddd/000000",
176 | "status": true,
177 | "createdAt": 1610632995000,
178 | "modifiedAt": 1615620960000
179 | },
180 | {
181 | "id": 2,
182 | "name": "Grapes - Black",
183 | "price": 893,
184 | "quantity": 22,
185 | "thumbnail": "http://dummyimage.com/151x100.png/ff4444/ffffff",
186 | "status": false,
187 | "createdAt": 1615796160000,
188 | "modifiedAt": 1615796160000
189 | },
190 | {
191 | "id": 3,
192 | "name": "Nantucket - 518ml",
193 | "price": 693,
194 | "quantity": 41,
195 | "thumbnail": "http://dummyimage.com/125x100.png/dddddd/000000",
196 | "status": false,
197 | "createdAt": 1614190320000,
198 | "modifiedAt": 1614190320000
199 | },
200 | {
201 | "id": 4,
202 | "name": "Onions - White",
203 | "price": 472,
204 | "quantity": 67,
205 | "thumbnail": "http://dummyimage.com/117x100.png/cc0000/ffffff",
206 | "status": false,
207 | "createdAt": 1609751340000,
208 | "modifiedAt": 1617525900000
209 | },
210 | {
211 | "id": 5,
212 | "name": "Lamb - Whole, Fresh",
213 | "price": 157,
214 | "quantity": 83,
215 | "thumbnail": "http://dummyimage.com/160x100.png/dddddd/000000",
216 | "status": true,
217 | "createdAt": 1620154080000,
218 | "modifiedAt": 1620154080000
219 | },
220 | {
221 | "id": 6,
222 | "name": "Carrots - Purple, Organic",
223 | "price": 816,
224 | "quantity": 37,
225 | "thumbnail": "http://dummyimage.com/241x100.png/5fa2dd/ffffff",
226 | "status": false,
227 | "createdAt": 1619270940000,
228 | "modifiedAt": 1619443380000
229 | },
230 | {
231 | "id": 7,
232 | "name": "Bag - Regular Kraft 20 Lb",
233 | "price": 157,
234 | "quantity": 60,
235 | "thumbnail": "http://dummyimage.com/156x100.png/cc0000/ffffff",
236 | "status": false,
237 | "createdAt": 1614098400000,
238 | "modifiedAt": "2021-04-16"
239 | },
240 | {
241 | "id": 8,
242 | "name": "Flour - Bran, Red",
243 | "price": 970,
244 | "quantity": 40,
245 | "thumbnail": "http://dummyimage.com/157x100.png/5fa2dd/ffffff",
246 | "status": false,
247 | "createdAt": 1617954000000,
248 | "modifiedAt": 1619964420000
249 | },
250 | {
251 | "id": 9,
252 | "name": "Bread - Bistro Sour",
253 | "price": 112,
254 | "quantity": 77,
255 | "thumbnail": "http://dummyimage.com/147x100.png/dddddd/000000",
256 | "status": false,
257 | "createdAt": 1612357500000,
258 | "modifiedAt": 1614956760000
259 | },
260 | {
261 | "id": 10,
262 | "name": "Soup - Campbells Bean Medley",
263 | "price": 353,
264 | "quantity": 40,
265 | "thumbnail": "http://dummyimage.com/203x100.png/ff4444/ffffff",
266 | "status": false,
267 | "createdAt": 1615146960000,
268 | "modifiedAt": 1615146960000
269 | }
270 | ]
271 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Fake API NodeJS
2 |
3 | Get a full fake API as soon as possible. Base on [NodeJS](https://nodejs.org/en/) + [JSON Server](https://github.com/typicode/json-server) + [Socket.IO](https://socket.io/).
4 |
5 | Features:
6 |
7 | - Define your own database using a JSON file, generate REST APIs from that database.
8 |
9 | - Register user with username & password or email & password. Using object `users` in the database.
10 |
11 | - Login with registered users.
12 |
13 | - Protect resources using JWT Bearer authentication.
14 |
15 | - Upload files.
16 |
17 | - Send and receive messages over web socket connection (Socket.IO).
18 |
19 | - Rewrite URL.
20 |
21 | - Proxy Server.
22 |
23 | ## Getting started
24 |
25 | ### 1. Clone this repository
26 |
27 | ```bash
28 | git clone https://github.com/robinhuy/fake-api-nodejs.git
29 | ```
30 |
31 | or fork to your account and clone the forked repo
32 |
33 | ### 2. Install dependencies
34 |
35 | ```bash
36 | cd fake-api-nodejs
37 | npm install
38 | ```
39 |
40 | or if you using yarn
41 |
42 | ```bash
43 | cd fake-api-nodejs
44 | yarn install
45 | ```
46 |
47 | ### 3. Run server
48 |
49 | - Production mode:
50 |
51 | ```bash
52 | npm start
53 | ```
54 |
55 | or
56 |
57 | ```bash
58 | yarn start
59 | ```
60 |
61 | - Development mode (auto reload server when editing using [nodemon](https://github.com/remy/nodemon)):
62 |
63 | ```bash
64 | npm run dev
65 | ```
66 |
67 | or
68 |
69 | ```bash
70 | yarn dev
71 | ```
72 |
73 | - The server will run on `http://localhost:8000`. You can test with public endpoint: `http://localhost:8000/products` (GET method).
74 |
75 | ## Modify your data
76 |
77 | All the data is stored in database.json. Edit it to suit your needs but keep the users object to utilize the authentication feature.
78 |
79 | You can use [https://mockaroo.com/](https://mockaroo.com/) to generate mock data and then deploy your code to [https://heroku.com/](https://heroku.com/) or a similar hosting service to create a public API."
80 |
81 | **Note**:
82 |
83 | - To protect resources, declare the resources and protected methods in `database.json`:
84 |
85 | ```json
86 | "protectedResources": {
87 | "users": ["GET", "POST", "PUT", "PATCH", "DELETE"],
88 | "products": ["POST", "PUT", "PATCH", "DELETE"]
89 | }
90 | ```
91 |
92 | If you don't need to protect any resources, simply delete the object above.
93 |
94 | - To change the default port, database file, JWT secret, or JWT token expiration, ... modify the values in `config.js`.
95 |
96 | ## Access & modify API
97 |
98 | Please view detailed document in [https://github.com/typicode/json-server/blob/master/README.md#table-of-contents](https://github.com/typicode/json-server/blob/master/README.md#table-of-contents)
99 |
100 | If you want to modify the authentication logic or add more custom REST endpoints, please edit the `server.js` and `src/rest.js` files.
101 |
102 | Edit `src/socket-io.js` to add or modify Socket.IO events, `src/graphql.js` to add or modify GraphQL query/mutation (currently, authentication aren't being applied to Socket.IO & GraphQl endpoints).
103 |
104 | To add or modify Socket.IO events, edit the `src/socket-io.js` file. To add or modify GraphQL queries/mutations, edit the `src/graphql.js` file (currently, authentication isn't being applied to Socket.IO & GraphQL endpoints).
105 |
106 | ## Default Endpoints
107 |
108 | To view and modify resources, access the `database.json` file.
109 |
110 | ### Open Endpoints
111 |
112 | Open endpoints do not require Authentication.
113 |
114 | #### User
115 |
116 | Header: `Content-Type: application/json`.
117 |
118 | - **POST /register**: Register a new user.
119 |
120 | ```
121 | {
122 | "firstName": "Administrator",
123 | "lastName": "",
124 | "username": "admin",
125 | "email": "admin@gmail.com",
126 | "password": "admin",
127 | "avatar": "https://robohash.org/eaquequasincidunt.png?size=50x50&set=set1",
128 | "gender": "Genderfluid",
129 | "phone": "933-658-1213",
130 | "birthday": "1994-03-23",
131 | "status": true
132 | }
133 | ```
134 |
135 | - **POST /login**: Login user.
136 |
137 | ```
138 | {
139 | "email": "admin@gmail.com",
140 | "password": "admin"
141 | }
142 | ```
143 |
144 | or
145 |
146 | ```
147 | {
148 | "username": "admin",
149 | "password": "admin"
150 | }
151 | ```
152 |
153 | - **POST /refresh-token**: Get new access token from refresh token.
154 |
155 | ```
156 | {
157 | "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEsImlhdCI6MTY1NjMyNzE4NiwiZXhwIjoxNjU2MzI4MDg2fQ.-si1n7yHpjQ2LEyYqZT6ClIFJOqLOeVXRhwjzyvEZMo"
158 | }
159 | ```
160 |
161 | #### Product
162 |
163 | Header: `Content-Type: application/json`.
164 |
165 | - **GET /products**: Return a list of all products.
166 |
167 | - **GET /products/{id}**: Return information about a specific product.
168 |
169 | #### Media
170 |
171 | Header: `Content-Type: multipart/form-data`.
172 |
173 | - **POST /upload-file**: Upload single file.
174 |
175 | | Parameter | Type | Description |
176 | | --------- | ---- | ------------------------ |
177 | | file | File | The file to be uploaded. |
178 |
179 | - **POST /upload-files**: Upload multiple files.
180 |
181 | | Parameter | Type | Description |
182 | | --------- | -------- | ------------------------- |
183 | | files | FileList | The files to be uploaded. |
184 |
185 | ### Private Endpoints (require Authentication)
186 |
187 | Private endpoints require a valid token to be included in the request header. A token can be acquired from the Login API above.
188 |
189 | Request header: `Content-Type: application/json` and `Authorization: Bearer {token}`
190 |
191 | #### User
192 |
193 | - **GET /users**: Return a list of all users.
194 |
195 | - **GET /users/{id}**: Return information about a specific user.
196 |
197 | - **POST /users**: Create a new user.
198 |
199 | Request is similar to the user registration API.
200 |
201 | - **PUT /users/{id}**: Update the entire information of a specific user.
202 |
203 | Submit the entire user object except for the id field.
204 |
205 | - **PATCH /users/{id}**: Update the partial information of a specific user.
206 |
207 | Submit the partial user object except for the id field.
208 |
209 | #### Product
210 |
211 | - **POST /products**: Create a new product.
212 |
213 | ```
214 | {
215 | "name": "Pork Salted Bellies",
216 | "price": 442,
217 | "quantity": 16,
218 | "thumbnail": "http://dummyimage.com/213x100.png/dddddd/000000",
219 | "status": true
220 | }
221 | ```
222 |
223 | - **PUT /products/{id}**: Update the entire information of a specific product.
224 |
225 | Submit the entire product object except for the id field.
226 |
227 | - **PATCH /products/{id}**: Update the partial information of a specific product.
228 |
229 | Submit the partial product object except for the id field.
230 |
231 | ### Web Socket (Socket.IO)
232 |
233 | - Event `emit`: Echo message to sender
234 |
235 | ```js
236 | socket.emit('emit', 'Hello');
237 | ```
238 |
239 | - Event `broadcast`: Broadcast message to all clients in the current namespace except the sender
240 |
241 | ```js
242 | socket.emit('broadcast', 'Hello');
243 | ```
244 |
245 | - Event `broadcast-all`: Broadcast message to all clients in the current namespace include the sender
246 |
247 | ```js
248 | socket.emit('broadcast-all', 'Hello');
249 | ```
250 |
251 | - Event `join-room`: Join a room
252 |
253 | ```js
254 | socket.emit('join-room', 'game');
255 | ```
256 |
257 | - Event `emit-in-room`: Send message to all clients in the room except the sender
258 |
259 | ```js
260 | socket.emit('join-room', { room: 'game', event: 'chat', msg: 'Hello' });
261 | ```
262 |
263 | ### GraphQL
264 |
265 | - Endpoint: `/graphql`.
266 |
267 | - Get objects by name (objects declared in database.json)
268 |
269 | ```gql
270 | query getData($objectName: String!) {
271 | getObjects(objectName: $objectName)
272 | }
273 | ```
274 |
275 | Query variables:
276 |
277 | ```json
278 | {
279 | "objectName": "products"
280 | }
281 | ```
282 |
283 | - Get an object by name, search by property
284 |
285 | ```gql
286 | query getData($objectName: String!, $objectKey: String!, $objectValue: ObjectValue) {
287 | getObjectByKey(objectName: $objectName, objectKey: $objectKey, objectValue: $objectValue)
288 | }
289 | ```
290 |
291 | ObjectValue must specify the data type:
292 |
293 | ```gql
294 | ObjectValue {
295 | int: Int
296 | float: Float
297 | string: String
298 | boolean: Boolean
299 | }
300 | ```
301 |
302 | Query variable examples:
303 |
304 | ```json
305 | {
306 | "objectName": "products",
307 | "objectKey": "id",
308 | "objectValue": {
309 | "int": 1
310 | }
311 | }
312 | ```
313 |
314 | ```json
315 | {
316 | "objectName": "products",
317 | "objectKey": "name",
318 | "objectValue": {
319 | "string": "Grapes - Black"
320 | }
321 | }
322 | ```
323 |
324 | - Create an object
325 |
326 | ```gql
327 | query CreateObject($objectName: String!, $objectData: JSONScalarType!) {
328 | createObject(objectName: $objectName, objectData: $objectData)
329 | }
330 | ```
331 |
332 | Query variable examples:
333 |
334 | ```json
335 | {
336 | "objectName": "posts",
337 | "objectData": {
338 | "title": "New post"
339 | }
340 | }
341 | ```
342 |
343 | - Update an object
344 |
345 | ```gql
346 | query UpdateObject($objectName: String!, $objectId: ID!, $objectData: JSONScalarType!) {
347 | updateObject(objectName: $objectName, objectId: $objectId, objectData: $objectData)
348 | }
349 | ```
350 |
351 | Query variable examples:
352 |
353 | ```json
354 | {
355 | "objectName": "posts",
356 | "objectId": "1",
357 | "objectData": {
358 | "title": "Update post"
359 | }
360 | }
361 | ```
362 |
363 | - Delete an object
364 |
365 | ```gql
366 | query DeleteObject($objectName: String!, $objectId: ID!) {
367 | deleteObject(objectName: $objectName, objectId: $objectId)
368 | }
369 | ```
370 |
371 | Query variable examples:
372 |
373 | ```json
374 | {
375 | "objectName": "posts",
376 | "objectId": "1"
377 | }
378 | ```
379 |
380 | ...
381 |
382 | ## Rewrite URL
383 |
384 | You can rewrite the URL by modifying the `url-rewrite.json` file.
385 |
386 | For example, you can configure it to access **/api/products** instead of **/products** (default base URL rewrite rule).
387 |
388 | ## Proxy Server
389 |
390 | If you want to create a proxy server to bypass CORS, you just need to set up **proxyServer** and **proxyUrl** in the `config.js` file.
391 |
392 | For example, setting:
393 |
394 | ```
395 | proxyServer: 'http://example.org',
396 | proxyUrl: '/api',
397 | ```
398 |
399 | will create a proxy server to forward API requests from `http://localhost:8000/api/foo/bar` to `http://example.org/api/foo/bar`.
400 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@eslint/eslintrc@^2.0.0":
6 | version "2.0.0"
7 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.0.tgz#943309d8697c52fc82c076e90c1c74fbbe69dbff"
8 | integrity sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==
9 | dependencies:
10 | ajv "^6.12.4"
11 | debug "^4.3.2"
12 | espree "^9.4.0"
13 | globals "^13.19.0"
14 | ignore "^5.2.0"
15 | import-fresh "^3.2.1"
16 | js-yaml "^4.1.0"
17 | minimatch "^3.1.2"
18 | strip-json-comments "^3.1.1"
19 |
20 | "@eslint/js@8.35.0":
21 | version "8.35.0"
22 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.35.0.tgz#b7569632b0b788a0ca0e438235154e45d42813a7"
23 | integrity sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==
24 |
25 | "@humanwhocodes/config-array@^0.11.8":
26 | version "0.11.8"
27 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
28 | integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==
29 | dependencies:
30 | "@humanwhocodes/object-schema" "^1.2.1"
31 | debug "^4.1.1"
32 | minimatch "^3.0.5"
33 |
34 | "@humanwhocodes/module-importer@^1.0.1":
35 | version "1.0.1"
36 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
37 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
38 |
39 | "@humanwhocodes/object-schema@^1.2.1":
40 | version "1.2.1"
41 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
42 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
43 |
44 | "@nodelib/fs.scandir@2.1.5":
45 | version "2.1.5"
46 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
47 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
48 | dependencies:
49 | "@nodelib/fs.stat" "2.0.5"
50 | run-parallel "^1.1.9"
51 |
52 | "@nodelib/fs.stat@2.0.5":
53 | version "2.0.5"
54 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
55 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
56 |
57 | "@nodelib/fs.walk@^1.2.8":
58 | version "1.2.8"
59 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
60 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
61 | dependencies:
62 | "@nodelib/fs.scandir" "2.1.5"
63 | fastq "^1.6.0"
64 |
65 | "@socket.io/component-emitter@~3.1.0":
66 | version "3.1.0"
67 | resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553"
68 | integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==
69 |
70 | "@types/cookie@^0.4.1":
71 | version "0.4.1"
72 | resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d"
73 | integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==
74 |
75 | "@types/cors@^2.8.12":
76 | version "2.8.12"
77 | resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080"
78 | integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==
79 |
80 | "@types/http-proxy@^1.17.8":
81 | version "1.17.10"
82 | resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.10.tgz#e576c8e4a0cc5c6a138819025a88e167ebb38d6c"
83 | integrity sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==
84 | dependencies:
85 | "@types/node" "*"
86 |
87 | "@types/json5@^0.0.29":
88 | version "0.0.29"
89 | resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
90 | integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
91 |
92 | "@types/node@*":
93 | version "18.15.11"
94 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f"
95 | integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==
96 |
97 | "@types/node@>=10.0.0":
98 | version "18.11.9"
99 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4"
100 | integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==
101 |
102 | abbrev@1:
103 | version "1.1.1"
104 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
105 | integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
106 |
107 | accepts@^1.3.7, accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7, accepts@~1.3.8:
108 | version "1.3.8"
109 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
110 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
111 | dependencies:
112 | mime-types "~2.1.34"
113 | negotiator "0.6.3"
114 |
115 | acorn-jsx@^5.3.2:
116 | version "5.3.2"
117 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
118 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
119 |
120 | acorn@^8.8.0:
121 | version "8.8.2"
122 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
123 | integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
124 |
125 | ajv@^6.10.0, ajv@^6.12.4:
126 | version "6.12.6"
127 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
128 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
129 | dependencies:
130 | fast-deep-equal "^3.1.1"
131 | fast-json-stable-stringify "^2.0.0"
132 | json-schema-traverse "^0.4.1"
133 | uri-js "^4.2.2"
134 |
135 | ansi-regex@^5.0.0:
136 | version "5.0.0"
137 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
138 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
139 |
140 | ansi-regex@^5.0.1:
141 | version "5.0.1"
142 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
143 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
144 |
145 | ansi-styles@^4.0.0, ansi-styles@^4.1.0:
146 | version "4.3.0"
147 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
148 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
149 | dependencies:
150 | color-convert "^2.0.1"
151 |
152 | anymatch@~3.1.2:
153 | version "3.1.2"
154 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
155 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
156 | dependencies:
157 | normalize-path "^3.0.0"
158 | picomatch "^2.0.4"
159 |
160 | argparse@^2.0.1:
161 | version "2.0.1"
162 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
163 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
164 |
165 | array-flatten@1.1.1:
166 | version "1.1.1"
167 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
168 | integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
169 |
170 | array-includes@^3.1.5, array-includes@^3.1.6:
171 | version "3.1.6"
172 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f"
173 | integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==
174 | dependencies:
175 | call-bind "^1.0.2"
176 | define-properties "^1.1.4"
177 | es-abstract "^1.20.4"
178 | get-intrinsic "^1.1.3"
179 | is-string "^1.0.7"
180 |
181 | array.prototype.flat@^1.3.1:
182 | version "1.3.1"
183 | resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2"
184 | integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==
185 | dependencies:
186 | call-bind "^1.0.2"
187 | define-properties "^1.1.4"
188 | es-abstract "^1.20.4"
189 | es-shim-unscopables "^1.0.0"
190 |
191 | array.prototype.flatmap@^1.3.1:
192 | version "1.3.1"
193 | resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183"
194 | integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==
195 | dependencies:
196 | call-bind "^1.0.2"
197 | define-properties "^1.1.4"
198 | es-abstract "^1.20.4"
199 | es-shim-unscopables "^1.0.0"
200 |
201 | array.prototype.tosorted@^1.1.1:
202 | version "1.1.1"
203 | resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532"
204 | integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==
205 | dependencies:
206 | call-bind "^1.0.2"
207 | define-properties "^1.1.4"
208 | es-abstract "^1.20.4"
209 | es-shim-unscopables "^1.0.0"
210 | get-intrinsic "^1.1.3"
211 |
212 | asap@^2.0.0:
213 | version "2.0.6"
214 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
215 | integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
216 |
217 | available-typed-arrays@^1.0.5:
218 | version "1.0.5"
219 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
220 | integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
221 |
222 | balanced-match@^1.0.0:
223 | version "1.0.2"
224 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
225 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
226 |
227 | base64id@2.0.0, base64id@~2.0.0:
228 | version "2.0.0"
229 | resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6"
230 | integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==
231 |
232 | basic-auth@~2.0.1:
233 | version "2.0.1"
234 | resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a"
235 | integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==
236 | dependencies:
237 | safe-buffer "5.1.2"
238 |
239 | binary-extensions@^2.0.0:
240 | version "2.2.0"
241 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
242 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
243 |
244 | body-parser@1.20.1, body-parser@^1.19.0:
245 | version "1.20.1"
246 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668"
247 | integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==
248 | dependencies:
249 | bytes "3.1.2"
250 | content-type "~1.0.4"
251 | debug "2.6.9"
252 | depd "2.0.0"
253 | destroy "1.2.0"
254 | http-errors "2.0.0"
255 | iconv-lite "0.4.24"
256 | on-finished "2.4.1"
257 | qs "6.11.0"
258 | raw-body "2.5.1"
259 | type-is "~1.6.18"
260 | unpipe "1.0.0"
261 |
262 | brace-expansion@^1.1.7:
263 | version "1.1.11"
264 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
265 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
266 | dependencies:
267 | balanced-match "^1.0.0"
268 | concat-map "0.0.1"
269 |
270 | braces@^3.0.2, braces@~3.0.2:
271 | version "3.0.2"
272 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
273 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
274 | dependencies:
275 | fill-range "^7.0.1"
276 |
277 | buffer-equal-constant-time@1.0.1:
278 | version "1.0.1"
279 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
280 | integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=
281 |
282 | builtins@^5.0.1:
283 | version "5.0.1"
284 | resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9"
285 | integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==
286 | dependencies:
287 | semver "^7.0.0"
288 |
289 | bytes@3.0.0:
290 | version "3.0.0"
291 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
292 | integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
293 |
294 | bytes@3.1.2:
295 | version "3.1.2"
296 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
297 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
298 |
299 | call-bind@^1.0.0, call-bind@^1.0.2:
300 | version "1.0.2"
301 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
302 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
303 | dependencies:
304 | function-bind "^1.1.1"
305 | get-intrinsic "^1.0.2"
306 |
307 | callsites@^3.0.0:
308 | version "3.1.0"
309 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
310 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
311 |
312 | chalk@^4.0.0, chalk@^4.1.2:
313 | version "4.1.2"
314 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
315 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
316 | dependencies:
317 | ansi-styles "^4.1.0"
318 | supports-color "^7.1.0"
319 |
320 | chokidar@^3.5.2:
321 | version "3.5.3"
322 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
323 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
324 | dependencies:
325 | anymatch "~3.1.2"
326 | braces "~3.0.2"
327 | glob-parent "~5.1.2"
328 | is-binary-path "~2.1.0"
329 | is-glob "~4.0.1"
330 | normalize-path "~3.0.0"
331 | readdirp "~3.6.0"
332 | optionalDependencies:
333 | fsevents "~2.3.2"
334 |
335 | cliui@^8.0.1:
336 | version "8.0.1"
337 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
338 | integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
339 | dependencies:
340 | string-width "^4.2.0"
341 | strip-ansi "^6.0.1"
342 | wrap-ansi "^7.0.0"
343 |
344 | color-convert@^2.0.1:
345 | version "2.0.1"
346 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
347 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
348 | dependencies:
349 | color-name "~1.1.4"
350 |
351 | color-name@~1.1.4:
352 | version "1.1.4"
353 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
354 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
355 |
356 | compressible@~2.0.16:
357 | version "2.0.18"
358 | resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
359 | integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
360 | dependencies:
361 | mime-db ">= 1.43.0 < 2"
362 |
363 | compression@^1.7.4:
364 | version "1.7.4"
365 | resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f"
366 | integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==
367 | dependencies:
368 | accepts "~1.3.5"
369 | bytes "3.0.0"
370 | compressible "~2.0.16"
371 | debug "2.6.9"
372 | on-headers "~1.0.2"
373 | safe-buffer "5.1.2"
374 | vary "~1.1.2"
375 |
376 | concat-map@0.0.1:
377 | version "0.0.1"
378 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
379 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
380 |
381 | connect-pause@^0.1.1:
382 | version "0.1.1"
383 | resolved "https://registry.yarnpkg.com/connect-pause/-/connect-pause-0.1.1.tgz#b269b2bb82ddb1ac3db5099c0fb582aba99fb37a"
384 | integrity sha1-smmyu4Ldsaw9tQmcD7WCq6mfs3o=
385 |
386 | content-disposition@0.5.4:
387 | version "0.5.4"
388 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
389 | integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
390 | dependencies:
391 | safe-buffer "5.2.1"
392 |
393 | content-type@^1.0.4, content-type@~1.0.4:
394 | version "1.0.4"
395 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
396 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
397 |
398 | cookie-signature@1.0.6:
399 | version "1.0.6"
400 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
401 | integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
402 |
403 | cookie@0.5.0:
404 | version "0.5.0"
405 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
406 | integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
407 |
408 | cookie@~0.4.1:
409 | version "0.4.2"
410 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
411 | integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
412 |
413 | cors@^2.8.5, cors@~2.8.5:
414 | version "2.8.5"
415 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
416 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
417 | dependencies:
418 | object-assign "^4"
419 | vary "^1"
420 |
421 | cross-spawn@^7.0.2:
422 | version "7.0.3"
423 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
424 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
425 | dependencies:
426 | path-key "^3.1.0"
427 | shebang-command "^2.0.0"
428 | which "^2.0.1"
429 |
430 | debug@*, debug@^4.1.1, debug@^4.3.2, debug@~4.3.1, debug@~4.3.2:
431 | version "4.3.4"
432 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
433 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
434 | dependencies:
435 | ms "2.1.2"
436 |
437 | debug@2.6.9:
438 | version "2.6.9"
439 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
440 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
441 | dependencies:
442 | ms "2.0.0"
443 |
444 | debug@3.1.0:
445 | version "3.1.0"
446 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
447 | integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
448 | dependencies:
449 | ms "2.0.0"
450 |
451 | debug@^3.2.7:
452 | version "3.2.7"
453 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
454 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
455 | dependencies:
456 | ms "^2.1.1"
457 |
458 | deep-is@^0.1.3:
459 | version "0.1.4"
460 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
461 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
462 |
463 | define-properties@^1.1.3, define-properties@^1.1.4:
464 | version "1.2.0"
465 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5"
466 | integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==
467 | dependencies:
468 | has-property-descriptors "^1.0.0"
469 | object-keys "^1.1.1"
470 |
471 | depd@2.0.0, depd@~2.0.0:
472 | version "2.0.0"
473 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
474 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
475 |
476 | depd@~1.1.2:
477 | version "1.1.2"
478 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
479 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
480 |
481 | destroy@1.2.0:
482 | version "1.2.0"
483 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
484 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
485 |
486 | dezalgo@^1.0.4:
487 | version "1.0.4"
488 | resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81"
489 | integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==
490 | dependencies:
491 | asap "^2.0.0"
492 | wrappy "1"
493 |
494 | doctrine@^2.1.0:
495 | version "2.1.0"
496 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
497 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
498 | dependencies:
499 | esutils "^2.0.2"
500 |
501 | doctrine@^3.0.0:
502 | version "3.0.0"
503 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
504 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
505 | dependencies:
506 | esutils "^2.0.2"
507 |
508 | ecdsa-sig-formatter@1.0.11:
509 | version "1.0.11"
510 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
511 | integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
512 | dependencies:
513 | safe-buffer "^5.0.1"
514 |
515 | ee-first@1.1.1:
516 | version "1.1.1"
517 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
518 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
519 |
520 | emoji-regex@^8.0.0:
521 | version "8.0.0"
522 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
523 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
524 |
525 | encodeurl@~1.0.2:
526 | version "1.0.2"
527 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
528 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
529 |
530 | engine.io-parser@~5.2.1:
531 | version "5.2.1"
532 | resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.1.tgz#9f213c77512ff1a6cc0c7a86108a7ffceb16fcfb"
533 | integrity sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==
534 |
535 | engine.io@~6.5.2:
536 | version "6.5.2"
537 | resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.5.2.tgz#769348ced9d56bd47bd83d308ec1c3375e85937c"
538 | integrity sha512-IXsMcGpw/xRfjra46sVZVHiSWo/nJ/3g1337q9KNXtS6YRzbW5yIzTCb9DjhrBe7r3GZQR0I4+nq+4ODk5g/cA==
539 | dependencies:
540 | "@types/cookie" "^0.4.1"
541 | "@types/cors" "^2.8.12"
542 | "@types/node" ">=10.0.0"
543 | accepts "~1.3.4"
544 | base64id "2.0.0"
545 | cookie "~0.4.1"
546 | cors "~2.8.5"
547 | debug "~4.3.1"
548 | engine.io-parser "~5.2.1"
549 | ws "~8.11.0"
550 |
551 | error-ex@^1.3.1:
552 | version "1.3.2"
553 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
554 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
555 | dependencies:
556 | is-arrayish "^0.2.1"
557 |
558 | errorhandler@^1.5.1:
559 | version "1.5.1"
560 | resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.5.1.tgz#b9ba5d17cf90744cd1e851357a6e75bf806a9a91"
561 | integrity sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==
562 | dependencies:
563 | accepts "~1.3.7"
564 | escape-html "~1.0.3"
565 |
566 | es-abstract@^1.19.0, es-abstract@^1.20.4:
567 | version "1.21.1"
568 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6"
569 | integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==
570 | dependencies:
571 | available-typed-arrays "^1.0.5"
572 | call-bind "^1.0.2"
573 | es-set-tostringtag "^2.0.1"
574 | es-to-primitive "^1.2.1"
575 | function-bind "^1.1.1"
576 | function.prototype.name "^1.1.5"
577 | get-intrinsic "^1.1.3"
578 | get-symbol-description "^1.0.0"
579 | globalthis "^1.0.3"
580 | gopd "^1.0.1"
581 | has "^1.0.3"
582 | has-property-descriptors "^1.0.0"
583 | has-proto "^1.0.1"
584 | has-symbols "^1.0.3"
585 | internal-slot "^1.0.4"
586 | is-array-buffer "^3.0.1"
587 | is-callable "^1.2.7"
588 | is-negative-zero "^2.0.2"
589 | is-regex "^1.1.4"
590 | is-shared-array-buffer "^1.0.2"
591 | is-string "^1.0.7"
592 | is-typed-array "^1.1.10"
593 | is-weakref "^1.0.2"
594 | object-inspect "^1.12.2"
595 | object-keys "^1.1.1"
596 | object.assign "^4.1.4"
597 | regexp.prototype.flags "^1.4.3"
598 | safe-regex-test "^1.0.0"
599 | string.prototype.trimend "^1.0.6"
600 | string.prototype.trimstart "^1.0.6"
601 | typed-array-length "^1.0.4"
602 | unbox-primitive "^1.0.2"
603 | which-typed-array "^1.1.9"
604 |
605 | es-set-tostringtag@^2.0.1:
606 | version "2.0.1"
607 | resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8"
608 | integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==
609 | dependencies:
610 | get-intrinsic "^1.1.3"
611 | has "^1.0.3"
612 | has-tostringtag "^1.0.0"
613 |
614 | es-shim-unscopables@^1.0.0:
615 | version "1.0.0"
616 | resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241"
617 | integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==
618 | dependencies:
619 | has "^1.0.3"
620 |
621 | es-to-primitive@^1.2.1:
622 | version "1.2.1"
623 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
624 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
625 | dependencies:
626 | is-callable "^1.1.4"
627 | is-date-object "^1.0.1"
628 | is-symbol "^1.0.2"
629 |
630 | escalade@^3.1.1:
631 | version "3.1.1"
632 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
633 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
634 |
635 | escape-html@~1.0.3:
636 | version "1.0.3"
637 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
638 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
639 |
640 | escape-string-regexp@^4.0.0:
641 | version "4.0.0"
642 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
643 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
644 |
645 | eslint-config-standard-jsx@^11.0.0:
646 | version "11.0.0"
647 | resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz#70852d395731a96704a592be5b0bfaccfeded239"
648 | integrity sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==
649 |
650 | eslint-config-standard@17.0.0:
651 | version "17.0.0"
652 | resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz#fd5b6cf1dcf6ba8d29f200c461de2e19069888cf"
653 | integrity sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==
654 |
655 | eslint-import-resolver-node@^0.3.7:
656 | version "0.3.7"
657 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7"
658 | integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==
659 | dependencies:
660 | debug "^3.2.7"
661 | is-core-module "^2.11.0"
662 | resolve "^1.22.1"
663 |
664 | eslint-module-utils@^2.7.4:
665 | version "2.7.4"
666 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974"
667 | integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==
668 | dependencies:
669 | debug "^3.2.7"
670 |
671 | eslint-plugin-es@^4.1.0:
672 | version "4.1.0"
673 | resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz#f0822f0c18a535a97c3e714e89f88586a7641ec9"
674 | integrity sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==
675 | dependencies:
676 | eslint-utils "^2.0.0"
677 | regexpp "^3.0.0"
678 |
679 | eslint-plugin-import@^2.26.0:
680 | version "2.27.5"
681 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65"
682 | integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==
683 | dependencies:
684 | array-includes "^3.1.6"
685 | array.prototype.flat "^1.3.1"
686 | array.prototype.flatmap "^1.3.1"
687 | debug "^3.2.7"
688 | doctrine "^2.1.0"
689 | eslint-import-resolver-node "^0.3.7"
690 | eslint-module-utils "^2.7.4"
691 | has "^1.0.3"
692 | is-core-module "^2.11.0"
693 | is-glob "^4.0.3"
694 | minimatch "^3.1.2"
695 | object.values "^1.1.6"
696 | resolve "^1.22.1"
697 | semver "^6.3.0"
698 | tsconfig-paths "^3.14.1"
699 |
700 | eslint-plugin-n@^15.1.0:
701 | version "15.6.1"
702 | resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-15.6.1.tgz#f7e77f24abb92a550115cf11e29695da122c398c"
703 | integrity sha512-R9xw9OtCRxxaxaszTQmQAlPgM+RdGjaL1akWuY/Fv9fRAi8Wj4CUKc6iYVG8QNRjRuo8/BqVYIpfqberJUEacA==
704 | dependencies:
705 | builtins "^5.0.1"
706 | eslint-plugin-es "^4.1.0"
707 | eslint-utils "^3.0.0"
708 | ignore "^5.1.1"
709 | is-core-module "^2.11.0"
710 | minimatch "^3.1.2"
711 | resolve "^1.22.1"
712 | semver "^7.3.8"
713 |
714 | eslint-plugin-promise@^6.0.0:
715 | version "6.1.1"
716 | resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816"
717 | integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==
718 |
719 | eslint-plugin-react@^7.28.0:
720 | version "7.32.2"
721 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10"
722 | integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==
723 | dependencies:
724 | array-includes "^3.1.6"
725 | array.prototype.flatmap "^1.3.1"
726 | array.prototype.tosorted "^1.1.1"
727 | doctrine "^2.1.0"
728 | estraverse "^5.3.0"
729 | jsx-ast-utils "^2.4.1 || ^3.0.0"
730 | minimatch "^3.1.2"
731 | object.entries "^1.1.6"
732 | object.fromentries "^2.0.6"
733 | object.hasown "^1.1.2"
734 | object.values "^1.1.6"
735 | prop-types "^15.8.1"
736 | resolve "^2.0.0-next.4"
737 | semver "^6.3.0"
738 | string.prototype.matchall "^4.0.8"
739 |
740 | eslint-scope@^7.1.1:
741 | version "7.1.1"
742 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
743 | integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==
744 | dependencies:
745 | esrecurse "^4.3.0"
746 | estraverse "^5.2.0"
747 |
748 | eslint-utils@^2.0.0:
749 | version "2.1.0"
750 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
751 | integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
752 | dependencies:
753 | eslint-visitor-keys "^1.1.0"
754 |
755 | eslint-utils@^3.0.0:
756 | version "3.0.0"
757 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
758 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
759 | dependencies:
760 | eslint-visitor-keys "^2.0.0"
761 |
762 | eslint-visitor-keys@^1.1.0:
763 | version "1.3.0"
764 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
765 | integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
766 |
767 | eslint-visitor-keys@^2.0.0:
768 | version "2.1.0"
769 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
770 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
771 |
772 | eslint-visitor-keys@^3.3.0:
773 | version "3.3.0"
774 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
775 | integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
776 |
777 | eslint@^8.13.0:
778 | version "8.35.0"
779 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.35.0.tgz#fffad7c7e326bae606f0e8f436a6158566d42323"
780 | integrity sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==
781 | dependencies:
782 | "@eslint/eslintrc" "^2.0.0"
783 | "@eslint/js" "8.35.0"
784 | "@humanwhocodes/config-array" "^0.11.8"
785 | "@humanwhocodes/module-importer" "^1.0.1"
786 | "@nodelib/fs.walk" "^1.2.8"
787 | ajv "^6.10.0"
788 | chalk "^4.0.0"
789 | cross-spawn "^7.0.2"
790 | debug "^4.3.2"
791 | doctrine "^3.0.0"
792 | escape-string-regexp "^4.0.0"
793 | eslint-scope "^7.1.1"
794 | eslint-utils "^3.0.0"
795 | eslint-visitor-keys "^3.3.0"
796 | espree "^9.4.0"
797 | esquery "^1.4.2"
798 | esutils "^2.0.2"
799 | fast-deep-equal "^3.1.3"
800 | file-entry-cache "^6.0.1"
801 | find-up "^5.0.0"
802 | glob-parent "^6.0.2"
803 | globals "^13.19.0"
804 | grapheme-splitter "^1.0.4"
805 | ignore "^5.2.0"
806 | import-fresh "^3.0.0"
807 | imurmurhash "^0.1.4"
808 | is-glob "^4.0.0"
809 | is-path-inside "^3.0.3"
810 | js-sdsl "^4.1.4"
811 | js-yaml "^4.1.0"
812 | json-stable-stringify-without-jsonify "^1.0.1"
813 | levn "^0.4.1"
814 | lodash.merge "^4.6.2"
815 | minimatch "^3.1.2"
816 | natural-compare "^1.4.0"
817 | optionator "^0.9.1"
818 | regexpp "^3.2.0"
819 | strip-ansi "^6.0.1"
820 | strip-json-comments "^3.1.0"
821 | text-table "^0.2.0"
822 |
823 | espree@^9.4.0:
824 | version "9.4.1"
825 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd"
826 | integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==
827 | dependencies:
828 | acorn "^8.8.0"
829 | acorn-jsx "^5.3.2"
830 | eslint-visitor-keys "^3.3.0"
831 |
832 | esquery@^1.4.2:
833 | version "1.5.0"
834 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
835 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
836 | dependencies:
837 | estraverse "^5.1.0"
838 |
839 | esrecurse@^4.3.0:
840 | version "4.3.0"
841 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
842 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
843 | dependencies:
844 | estraverse "^5.2.0"
845 |
846 | estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
847 | version "5.3.0"
848 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
849 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
850 |
851 | esutils@^2.0.2:
852 | version "2.0.3"
853 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
854 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
855 |
856 | etag@~1.8.1:
857 | version "1.8.1"
858 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
859 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
860 |
861 | eventemitter3@^4.0.0:
862 | version "4.0.7"
863 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
864 | integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
865 |
866 | express-graphql@^0.12.0:
867 | version "0.12.0"
868 | resolved "https://registry.yarnpkg.com/express-graphql/-/express-graphql-0.12.0.tgz#58deabc309909ca2c9fe2f83f5fbe94429aa23df"
869 | integrity sha512-DwYaJQy0amdy3pgNtiTDuGGM2BLdj+YO2SgbKoLliCfuHv3VVTt7vNG/ZqK2hRYjtYHE2t2KB705EU94mE64zg==
870 | dependencies:
871 | accepts "^1.3.7"
872 | content-type "^1.0.4"
873 | http-errors "1.8.0"
874 | raw-body "^2.4.1"
875 |
876 | express-urlrewrite@^1.4.0:
877 | version "1.4.0"
878 | resolved "https://registry.yarnpkg.com/express-urlrewrite/-/express-urlrewrite-1.4.0.tgz#985ee022773bac7ed32126f1cf9ec8ee48e1290a"
879 | integrity sha512-PI5h8JuzoweS26vFizwQl6UTF25CAHSggNv0J25Dn/IKZscJHWZzPrI5z2Y2jgOzIaw2qh8l6+/jUcig23Z2SA==
880 | dependencies:
881 | debug "*"
882 | path-to-regexp "^1.0.3"
883 |
884 | express@^4.17.1:
885 | version "4.18.2"
886 | resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59"
887 | integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==
888 | dependencies:
889 | accepts "~1.3.8"
890 | array-flatten "1.1.1"
891 | body-parser "1.20.1"
892 | content-disposition "0.5.4"
893 | content-type "~1.0.4"
894 | cookie "0.5.0"
895 | cookie-signature "1.0.6"
896 | debug "2.6.9"
897 | depd "2.0.0"
898 | encodeurl "~1.0.2"
899 | escape-html "~1.0.3"
900 | etag "~1.8.1"
901 | finalhandler "1.2.0"
902 | fresh "0.5.2"
903 | http-errors "2.0.0"
904 | merge-descriptors "1.0.1"
905 | methods "~1.1.2"
906 | on-finished "2.4.1"
907 | parseurl "~1.3.3"
908 | path-to-regexp "0.1.7"
909 | proxy-addr "~2.0.7"
910 | qs "6.11.0"
911 | range-parser "~1.2.1"
912 | safe-buffer "5.2.1"
913 | send "0.18.0"
914 | serve-static "1.15.0"
915 | setprototypeof "1.2.0"
916 | statuses "2.0.1"
917 | type-is "~1.6.18"
918 | utils-merge "1.0.1"
919 | vary "~1.1.2"
920 |
921 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
922 | version "3.1.3"
923 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
924 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
925 |
926 | fast-json-stable-stringify@^2.0.0:
927 | version "2.1.0"
928 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
929 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
930 |
931 | fast-levenshtein@^2.0.6:
932 | version "2.0.6"
933 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
934 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
935 |
936 | fastq@^1.6.0:
937 | version "1.15.0"
938 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
939 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
940 | dependencies:
941 | reusify "^1.0.4"
942 |
943 | file-entry-cache@^6.0.1:
944 | version "6.0.1"
945 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
946 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
947 | dependencies:
948 | flat-cache "^3.0.4"
949 |
950 | fill-range@^7.0.1:
951 | version "7.0.1"
952 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
953 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
954 | dependencies:
955 | to-regex-range "^5.0.1"
956 |
957 | finalhandler@1.2.0:
958 | version "1.2.0"
959 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
960 | integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
961 | dependencies:
962 | debug "2.6.9"
963 | encodeurl "~1.0.2"
964 | escape-html "~1.0.3"
965 | on-finished "2.4.1"
966 | parseurl "~1.3.3"
967 | statuses "2.0.1"
968 | unpipe "~1.0.0"
969 |
970 | find-up@^3.0.0:
971 | version "3.0.0"
972 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
973 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
974 | dependencies:
975 | locate-path "^3.0.0"
976 |
977 | find-up@^5.0.0:
978 | version "5.0.0"
979 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
980 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
981 | dependencies:
982 | locate-path "^6.0.0"
983 | path-exists "^4.0.0"
984 |
985 | flat-cache@^3.0.4:
986 | version "3.0.4"
987 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
988 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
989 | dependencies:
990 | flatted "^3.1.0"
991 | rimraf "^3.0.2"
992 |
993 | flatted@^3.1.0:
994 | version "3.2.7"
995 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
996 | integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
997 |
998 | follow-redirects@^1.0.0:
999 | version "1.15.2"
1000 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
1001 | integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
1002 |
1003 | for-each@^0.3.3:
1004 | version "0.3.3"
1005 | resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
1006 | integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
1007 | dependencies:
1008 | is-callable "^1.1.3"
1009 |
1010 | formidable@^2.1.1:
1011 | version "2.1.1"
1012 | resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.1.tgz#81269cbea1a613240049f5f61a9d97731517414f"
1013 | integrity sha512-0EcS9wCFEzLvfiks7omJ+SiYJAiD+TzK4Pcw1UlUoGnhUxDcMKjt0P7x8wEb0u6OHu8Nb98WG3nxtlF5C7bvUQ==
1014 | dependencies:
1015 | dezalgo "^1.0.4"
1016 | hexoid "^1.0.0"
1017 | once "^1.4.0"
1018 | qs "^6.11.0"
1019 |
1020 | forwarded@0.2.0:
1021 | version "0.2.0"
1022 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
1023 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
1024 |
1025 | fresh@0.5.2:
1026 | version "0.5.2"
1027 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
1028 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
1029 |
1030 | fs.realpath@^1.0.0:
1031 | version "1.0.0"
1032 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1033 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
1034 |
1035 | fsevents@~2.3.2:
1036 | version "2.3.2"
1037 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
1038 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
1039 |
1040 | function-bind@^1.1.1:
1041 | version "1.1.1"
1042 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
1043 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
1044 |
1045 | function.prototype.name@^1.1.5:
1046 | version "1.1.5"
1047 | resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621"
1048 | integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==
1049 | dependencies:
1050 | call-bind "^1.0.2"
1051 | define-properties "^1.1.3"
1052 | es-abstract "^1.19.0"
1053 | functions-have-names "^1.2.2"
1054 |
1055 | functions-have-names@^1.2.2:
1056 | version "1.2.3"
1057 | resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
1058 | integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
1059 |
1060 | get-caller-file@^2.0.5:
1061 | version "2.0.5"
1062 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
1063 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
1064 |
1065 | get-intrinsic@^1.0.2:
1066 | version "1.1.3"
1067 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385"
1068 | integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==
1069 | dependencies:
1070 | function-bind "^1.1.1"
1071 | has "^1.0.3"
1072 | has-symbols "^1.0.3"
1073 |
1074 | get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0:
1075 | version "1.2.0"
1076 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f"
1077 | integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==
1078 | dependencies:
1079 | function-bind "^1.1.1"
1080 | has "^1.0.3"
1081 | has-symbols "^1.0.3"
1082 |
1083 | get-stdin@^8.0.0:
1084 | version "8.0.0"
1085 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53"
1086 | integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==
1087 |
1088 | get-symbol-description@^1.0.0:
1089 | version "1.0.0"
1090 | resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
1091 | integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
1092 | dependencies:
1093 | call-bind "^1.0.2"
1094 | get-intrinsic "^1.1.1"
1095 |
1096 | glob-parent@^6.0.2:
1097 | version "6.0.2"
1098 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
1099 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
1100 | dependencies:
1101 | is-glob "^4.0.3"
1102 |
1103 | glob-parent@~5.1.2:
1104 | version "5.1.2"
1105 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
1106 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
1107 | dependencies:
1108 | is-glob "^4.0.1"
1109 |
1110 | glob@^7.1.3:
1111 | version "7.2.3"
1112 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
1113 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
1114 | dependencies:
1115 | fs.realpath "^1.0.0"
1116 | inflight "^1.0.4"
1117 | inherits "2"
1118 | minimatch "^3.1.1"
1119 | once "^1.3.0"
1120 | path-is-absolute "^1.0.0"
1121 |
1122 | globals@^13.19.0:
1123 | version "13.20.0"
1124 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
1125 | integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
1126 | dependencies:
1127 | type-fest "^0.20.2"
1128 |
1129 | globalthis@^1.0.3:
1130 | version "1.0.3"
1131 | resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf"
1132 | integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==
1133 | dependencies:
1134 | define-properties "^1.1.3"
1135 |
1136 | gopd@^1.0.1:
1137 | version "1.0.1"
1138 | resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
1139 | integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
1140 | dependencies:
1141 | get-intrinsic "^1.1.3"
1142 |
1143 | graceful-fs@^4.1.15:
1144 | version "4.2.10"
1145 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
1146 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
1147 |
1148 | graceful-fs@^4.1.3:
1149 | version "4.2.6"
1150 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
1151 | integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
1152 |
1153 | grapheme-splitter@^1.0.4:
1154 | version "1.0.4"
1155 | resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
1156 | integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
1157 |
1158 | graphql@^16.8.0:
1159 | version "16.8.0"
1160 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.0.tgz#374478b7f27b2dc6153c8f42c1b80157f79d79d4"
1161 | integrity sha512-0oKGaR+y3qcS5mCu1vb7KG+a89vjn06C7Ihq/dDl3jA+A8B3TKomvi3CiEcVLJQGalbu8F52LxkOym7U5sSfbg==
1162 |
1163 | has-bigints@^1.0.1, has-bigints@^1.0.2:
1164 | version "1.0.2"
1165 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
1166 | integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
1167 |
1168 | has-flag@^3.0.0:
1169 | version "3.0.0"
1170 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
1171 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
1172 |
1173 | has-flag@^4.0.0:
1174 | version "4.0.0"
1175 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
1176 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
1177 |
1178 | has-property-descriptors@^1.0.0:
1179 | version "1.0.0"
1180 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861"
1181 | integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==
1182 | dependencies:
1183 | get-intrinsic "^1.1.1"
1184 |
1185 | has-proto@^1.0.1:
1186 | version "1.0.1"
1187 | resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0"
1188 | integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
1189 |
1190 | has-symbols@^1.0.2, has-symbols@^1.0.3:
1191 | version "1.0.3"
1192 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
1193 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
1194 |
1195 | has-tostringtag@^1.0.0:
1196 | version "1.0.0"
1197 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
1198 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
1199 | dependencies:
1200 | has-symbols "^1.0.2"
1201 |
1202 | has@^1.0.3:
1203 | version "1.0.3"
1204 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
1205 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
1206 | dependencies:
1207 | function-bind "^1.1.1"
1208 |
1209 | hexoid@^1.0.0:
1210 | version "1.0.0"
1211 | resolved "https://registry.yarnpkg.com/hexoid/-/hexoid-1.0.0.tgz#ad10c6573fb907de23d9ec63a711267d9dc9bc18"
1212 | integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==
1213 |
1214 | http-errors@1.8.0:
1215 | version "1.8.0"
1216 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507"
1217 | integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==
1218 | dependencies:
1219 | depd "~1.1.2"
1220 | inherits "2.0.4"
1221 | setprototypeof "1.2.0"
1222 | statuses ">= 1.5.0 < 2"
1223 | toidentifier "1.0.0"
1224 |
1225 | http-errors@2.0.0:
1226 | version "2.0.0"
1227 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
1228 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
1229 | dependencies:
1230 | depd "2.0.0"
1231 | inherits "2.0.4"
1232 | setprototypeof "1.2.0"
1233 | statuses "2.0.1"
1234 | toidentifier "1.0.1"
1235 |
1236 | http-proxy-middleware@^2.0.6:
1237 | version "2.0.6"
1238 | resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f"
1239 | integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==
1240 | dependencies:
1241 | "@types/http-proxy" "^1.17.8"
1242 | http-proxy "^1.18.1"
1243 | is-glob "^4.0.1"
1244 | is-plain-obj "^3.0.0"
1245 | micromatch "^4.0.2"
1246 |
1247 | http-proxy@^1.18.1:
1248 | version "1.18.1"
1249 | resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
1250 | integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
1251 | dependencies:
1252 | eventemitter3 "^4.0.0"
1253 | follow-redirects "^1.0.0"
1254 | requires-port "^1.0.0"
1255 |
1256 | iconv-lite@0.4.24:
1257 | version "0.4.24"
1258 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
1259 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
1260 | dependencies:
1261 | safer-buffer ">= 2.1.2 < 3"
1262 |
1263 | ignore-by-default@^1.0.1:
1264 | version "1.0.1"
1265 | resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
1266 | integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk=
1267 |
1268 | ignore@^5.1.1, ignore@^5.2.0:
1269 | version "5.2.4"
1270 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
1271 | integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
1272 |
1273 | import-fresh@^3.0.0, import-fresh@^3.2.1:
1274 | version "3.3.0"
1275 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
1276 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
1277 | dependencies:
1278 | parent-module "^1.0.0"
1279 | resolve-from "^4.0.0"
1280 |
1281 | imurmurhash@^0.1.4:
1282 | version "0.1.4"
1283 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
1284 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
1285 |
1286 | inflight@^1.0.4:
1287 | version "1.0.6"
1288 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1289 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
1290 | dependencies:
1291 | once "^1.3.0"
1292 | wrappy "1"
1293 |
1294 | inherits@2, inherits@2.0.4:
1295 | version "2.0.4"
1296 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1297 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1298 |
1299 | internal-slot@^1.0.3, internal-slot@^1.0.4:
1300 | version "1.0.5"
1301 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986"
1302 | integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==
1303 | dependencies:
1304 | get-intrinsic "^1.2.0"
1305 | has "^1.0.3"
1306 | side-channel "^1.0.4"
1307 |
1308 | ipaddr.js@1.9.1:
1309 | version "1.9.1"
1310 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
1311 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
1312 |
1313 | is-array-buffer@^3.0.1:
1314 | version "3.0.2"
1315 | resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe"
1316 | integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==
1317 | dependencies:
1318 | call-bind "^1.0.2"
1319 | get-intrinsic "^1.2.0"
1320 | is-typed-array "^1.1.10"
1321 |
1322 | is-arrayish@^0.2.1:
1323 | version "0.2.1"
1324 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
1325 | integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
1326 |
1327 | is-bigint@^1.0.1:
1328 | version "1.0.4"
1329 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
1330 | integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
1331 | dependencies:
1332 | has-bigints "^1.0.1"
1333 |
1334 | is-binary-path@~2.1.0:
1335 | version "2.1.0"
1336 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
1337 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
1338 | dependencies:
1339 | binary-extensions "^2.0.0"
1340 |
1341 | is-boolean-object@^1.1.0:
1342 | version "1.1.2"
1343 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
1344 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
1345 | dependencies:
1346 | call-bind "^1.0.2"
1347 | has-tostringtag "^1.0.0"
1348 |
1349 | is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
1350 | version "1.2.7"
1351 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
1352 | integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
1353 |
1354 | is-core-module@^2.11.0, is-core-module@^2.9.0:
1355 | version "2.11.0"
1356 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
1357 | integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
1358 | dependencies:
1359 | has "^1.0.3"
1360 |
1361 | is-date-object@^1.0.1:
1362 | version "1.0.5"
1363 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
1364 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
1365 | dependencies:
1366 | has-tostringtag "^1.0.0"
1367 |
1368 | is-extglob@^2.1.1:
1369 | version "2.1.1"
1370 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
1371 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
1372 |
1373 | is-fullwidth-code-point@^3.0.0:
1374 | version "3.0.0"
1375 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
1376 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
1377 |
1378 | is-glob@^4.0.0, is-glob@^4.0.3:
1379 | version "4.0.3"
1380 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
1381 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
1382 | dependencies:
1383 | is-extglob "^2.1.1"
1384 |
1385 | is-glob@^4.0.1, is-glob@~4.0.1:
1386 | version "4.0.1"
1387 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
1388 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
1389 | dependencies:
1390 | is-extglob "^2.1.1"
1391 |
1392 | is-negative-zero@^2.0.2:
1393 | version "2.0.2"
1394 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
1395 | integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
1396 |
1397 | is-number-object@^1.0.4:
1398 | version "1.0.7"
1399 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc"
1400 | integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==
1401 | dependencies:
1402 | has-tostringtag "^1.0.0"
1403 |
1404 | is-number@^7.0.0:
1405 | version "7.0.0"
1406 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
1407 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
1408 |
1409 | is-path-inside@^3.0.3:
1410 | version "3.0.3"
1411 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
1412 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
1413 |
1414 | is-plain-obj@^3.0.0:
1415 | version "3.0.0"
1416 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7"
1417 | integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==
1418 |
1419 | is-promise@^2.1.0:
1420 | version "2.2.2"
1421 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
1422 | integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
1423 |
1424 | is-regex@^1.1.4:
1425 | version "1.1.4"
1426 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
1427 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
1428 | dependencies:
1429 | call-bind "^1.0.2"
1430 | has-tostringtag "^1.0.0"
1431 |
1432 | is-shared-array-buffer@^1.0.2:
1433 | version "1.0.2"
1434 | resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
1435 | integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==
1436 | dependencies:
1437 | call-bind "^1.0.2"
1438 |
1439 | is-string@^1.0.5, is-string@^1.0.7:
1440 | version "1.0.7"
1441 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
1442 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
1443 | dependencies:
1444 | has-tostringtag "^1.0.0"
1445 |
1446 | is-symbol@^1.0.2, is-symbol@^1.0.3:
1447 | version "1.0.4"
1448 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
1449 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
1450 | dependencies:
1451 | has-symbols "^1.0.2"
1452 |
1453 | is-typed-array@^1.1.10, is-typed-array@^1.1.9:
1454 | version "1.1.10"
1455 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f"
1456 | integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==
1457 | dependencies:
1458 | available-typed-arrays "^1.0.5"
1459 | call-bind "^1.0.2"
1460 | for-each "^0.3.3"
1461 | gopd "^1.0.1"
1462 | has-tostringtag "^1.0.0"
1463 |
1464 | is-weakref@^1.0.2:
1465 | version "1.0.2"
1466 | resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
1467 | integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
1468 | dependencies:
1469 | call-bind "^1.0.2"
1470 |
1471 | isarray@0.0.1:
1472 | version "0.0.1"
1473 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
1474 | integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
1475 |
1476 | isexe@^2.0.0:
1477 | version "2.0.0"
1478 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1479 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
1480 |
1481 | jju@^1.1.0:
1482 | version "1.4.0"
1483 | resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a"
1484 | integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo=
1485 |
1486 | js-sdsl@^4.1.4:
1487 | version "4.3.0"
1488 | resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711"
1489 | integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==
1490 |
1491 | "js-tokens@^3.0.0 || ^4.0.0":
1492 | version "4.0.0"
1493 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
1494 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
1495 |
1496 | js-yaml@^4.1.0:
1497 | version "4.1.0"
1498 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
1499 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
1500 | dependencies:
1501 | argparse "^2.0.1"
1502 |
1503 | json-parse-better-errors@^1.0.1:
1504 | version "1.0.2"
1505 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
1506 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
1507 |
1508 | json-parse-helpfulerror@^1.0.3:
1509 | version "1.0.3"
1510 | resolved "https://registry.yarnpkg.com/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz#13f14ce02eed4e981297b64eb9e3b932e2dd13dc"
1511 | integrity sha1-E/FM4C7tTpgSl7ZOueO5MuLdE9w=
1512 | dependencies:
1513 | jju "^1.1.0"
1514 |
1515 | json-schema-traverse@^0.4.1:
1516 | version "0.4.1"
1517 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
1518 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
1519 |
1520 | json-server@^0.17.3:
1521 | version "0.17.3"
1522 | resolved "https://registry.yarnpkg.com/json-server/-/json-server-0.17.3.tgz#c641884189aad59f101f7ad9f519fa3c4c3cff14"
1523 | integrity sha512-LDNOvleTv3rPAcefzXZpXMDZshV0FtSzWo8ZjnTOhKm4OCiUvsYGrGrfz4iHXIFd+UbRgFHm6gcOHI/BSZ/3fw==
1524 | dependencies:
1525 | body-parser "^1.19.0"
1526 | chalk "^4.1.2"
1527 | compression "^1.7.4"
1528 | connect-pause "^0.1.1"
1529 | cors "^2.8.5"
1530 | errorhandler "^1.5.1"
1531 | express "^4.17.1"
1532 | express-urlrewrite "^1.4.0"
1533 | json-parse-helpfulerror "^1.0.3"
1534 | lodash "^4.17.21"
1535 | lodash-id "^0.14.1"
1536 | lowdb "^1.0.0"
1537 | method-override "^3.0.0"
1538 | morgan "^1.10.0"
1539 | nanoid "^3.1.23"
1540 | please-upgrade-node "^3.2.0"
1541 | pluralize "^8.0.0"
1542 | server-destroy "^1.0.1"
1543 | standard "^17.0.0"
1544 | yargs "^17.0.1"
1545 |
1546 | json-stable-stringify-without-jsonify@^1.0.1:
1547 | version "1.0.1"
1548 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
1549 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
1550 |
1551 | json5@^1.0.2:
1552 | version "1.0.2"
1553 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593"
1554 | integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==
1555 | dependencies:
1556 | minimist "^1.2.0"
1557 |
1558 | jsonwebtoken@^9.0.2:
1559 | version "9.0.2"
1560 | resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3"
1561 | integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==
1562 | dependencies:
1563 | jws "^3.2.2"
1564 | lodash.includes "^4.3.0"
1565 | lodash.isboolean "^3.0.3"
1566 | lodash.isinteger "^4.0.4"
1567 | lodash.isnumber "^3.0.3"
1568 | lodash.isplainobject "^4.0.6"
1569 | lodash.isstring "^4.0.1"
1570 | lodash.once "^4.0.0"
1571 | ms "^2.1.1"
1572 | semver "^7.5.4"
1573 |
1574 | "jsx-ast-utils@^2.4.1 || ^3.0.0":
1575 | version "3.3.3"
1576 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea"
1577 | integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==
1578 | dependencies:
1579 | array-includes "^3.1.5"
1580 | object.assign "^4.1.3"
1581 |
1582 | jwa@^1.4.1:
1583 | version "1.4.1"
1584 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
1585 | integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==
1586 | dependencies:
1587 | buffer-equal-constant-time "1.0.1"
1588 | ecdsa-sig-formatter "1.0.11"
1589 | safe-buffer "^5.0.1"
1590 |
1591 | jws@^3.2.2:
1592 | version "3.2.2"
1593 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
1594 | integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==
1595 | dependencies:
1596 | jwa "^1.4.1"
1597 | safe-buffer "^5.0.1"
1598 |
1599 | levn@^0.4.1:
1600 | version "0.4.1"
1601 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
1602 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
1603 | dependencies:
1604 | prelude-ls "^1.2.1"
1605 | type-check "~0.4.0"
1606 |
1607 | load-json-file@^5.2.0:
1608 | version "5.3.0"
1609 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-5.3.0.tgz#4d3c1e01fa1c03ea78a60ac7af932c9ce53403f3"
1610 | integrity sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==
1611 | dependencies:
1612 | graceful-fs "^4.1.15"
1613 | parse-json "^4.0.0"
1614 | pify "^4.0.1"
1615 | strip-bom "^3.0.0"
1616 | type-fest "^0.3.0"
1617 |
1618 | locate-path@^3.0.0:
1619 | version "3.0.0"
1620 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
1621 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
1622 | dependencies:
1623 | p-locate "^3.0.0"
1624 | path-exists "^3.0.0"
1625 |
1626 | locate-path@^6.0.0:
1627 | version "6.0.0"
1628 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
1629 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
1630 | dependencies:
1631 | p-locate "^5.0.0"
1632 |
1633 | lodash-id@^0.14.1:
1634 | version "0.14.1"
1635 | resolved "https://registry.yarnpkg.com/lodash-id/-/lodash-id-0.14.1.tgz#dffa1f1f8b90d1803bb0d70b7d7547e10751e80b"
1636 | integrity sha512-ikQPBTiq/d5m6dfKQlFdIXFzvThPi2Be9/AHxktOnDSfSxE1j9ICbBT5Elk1ke7HSTgM38LHTpmJovo9/klnLg==
1637 |
1638 | lodash.includes@^4.3.0:
1639 | version "4.3.0"
1640 | resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
1641 | integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==
1642 |
1643 | lodash.isboolean@^3.0.3:
1644 | version "3.0.3"
1645 | resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
1646 | integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==
1647 |
1648 | lodash.isinteger@^4.0.4:
1649 | version "4.0.4"
1650 | resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
1651 | integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==
1652 |
1653 | lodash.isnumber@^3.0.3:
1654 | version "3.0.3"
1655 | resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
1656 | integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==
1657 |
1658 | lodash.isplainobject@^4.0.6:
1659 | version "4.0.6"
1660 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
1661 | integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
1662 |
1663 | lodash.isstring@^4.0.1:
1664 | version "4.0.1"
1665 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
1666 | integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==
1667 |
1668 | lodash.merge@^4.6.2:
1669 | version "4.6.2"
1670 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
1671 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
1672 |
1673 | lodash.once@^4.0.0:
1674 | version "4.1.1"
1675 | resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
1676 | integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==
1677 |
1678 | lodash@4, lodash@^4.17.21:
1679 | version "4.17.21"
1680 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
1681 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
1682 |
1683 | loose-envify@^1.4.0:
1684 | version "1.4.0"
1685 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
1686 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
1687 | dependencies:
1688 | js-tokens "^3.0.0 || ^4.0.0"
1689 |
1690 | lowdb@^1.0.0:
1691 | version "1.0.0"
1692 | resolved "https://registry.yarnpkg.com/lowdb/-/lowdb-1.0.0.tgz#5243be6b22786ccce30e50c9a33eac36b20c8064"
1693 | integrity sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==
1694 | dependencies:
1695 | graceful-fs "^4.1.3"
1696 | is-promise "^2.1.0"
1697 | lodash "4"
1698 | pify "^3.0.0"
1699 | steno "^0.4.1"
1700 |
1701 | lowdb@^5.1.0:
1702 | version "5.1.0"
1703 | resolved "https://registry.yarnpkg.com/lowdb/-/lowdb-5.1.0.tgz#3d9f13522ea92e445348a7d455a69ce570c2f51d"
1704 | integrity sha512-OEysJ2S3j05RqehEypEv3h6EgdV4Y7LTq7LngRNqe1IxsInOm66/sa3fzoI6mmqs2CC+zIJW3vfncGNv2IGi3A==
1705 | dependencies:
1706 | steno "^3.0.0"
1707 |
1708 | lru-cache@^6.0.0:
1709 | version "6.0.0"
1710 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
1711 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
1712 | dependencies:
1713 | yallist "^4.0.0"
1714 |
1715 | media-typer@0.3.0:
1716 | version "0.3.0"
1717 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
1718 | integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
1719 |
1720 | merge-descriptors@1.0.1:
1721 | version "1.0.1"
1722 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
1723 | integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
1724 |
1725 | method-override@^3.0.0:
1726 | version "3.0.0"
1727 | resolved "https://registry.yarnpkg.com/method-override/-/method-override-3.0.0.tgz#6ab0d5d574e3208f15b0c9cf45ab52000468d7a2"
1728 | integrity sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==
1729 | dependencies:
1730 | debug "3.1.0"
1731 | methods "~1.1.2"
1732 | parseurl "~1.3.2"
1733 | vary "~1.1.2"
1734 |
1735 | methods@~1.1.2:
1736 | version "1.1.2"
1737 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
1738 | integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
1739 |
1740 | micromatch@^4.0.2:
1741 | version "4.0.5"
1742 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
1743 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
1744 | dependencies:
1745 | braces "^3.0.2"
1746 | picomatch "^2.3.1"
1747 |
1748 | mime-db@1.52.0:
1749 | version "1.52.0"
1750 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
1751 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
1752 |
1753 | "mime-db@>= 1.43.0 < 2":
1754 | version "1.47.0"
1755 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c"
1756 | integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==
1757 |
1758 | mime-types@~2.1.24, mime-types@~2.1.34:
1759 | version "2.1.35"
1760 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
1761 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
1762 | dependencies:
1763 | mime-db "1.52.0"
1764 |
1765 | mime@1.6.0:
1766 | version "1.6.0"
1767 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
1768 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
1769 |
1770 | minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
1771 | version "3.1.2"
1772 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
1773 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
1774 | dependencies:
1775 | brace-expansion "^1.1.7"
1776 |
1777 | minimist@^1.2.0, minimist@^1.2.6:
1778 | version "1.2.8"
1779 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
1780 | integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
1781 |
1782 | morgan@^1.10.0:
1783 | version "1.10.0"
1784 | resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7"
1785 | integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==
1786 | dependencies:
1787 | basic-auth "~2.0.1"
1788 | debug "2.6.9"
1789 | depd "~2.0.0"
1790 | on-finished "~2.3.0"
1791 | on-headers "~1.0.2"
1792 |
1793 | ms@2.0.0:
1794 | version "2.0.0"
1795 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
1796 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
1797 |
1798 | ms@2.1.2:
1799 | version "2.1.2"
1800 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1801 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1802 |
1803 | ms@2.1.3, ms@^2.1.1:
1804 | version "2.1.3"
1805 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
1806 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
1807 |
1808 | nanoid@^3.1.23:
1809 | version "3.3.4"
1810 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
1811 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
1812 |
1813 | natural-compare@^1.4.0:
1814 | version "1.4.0"
1815 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
1816 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
1817 |
1818 | negotiator@0.6.3:
1819 | version "0.6.3"
1820 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
1821 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
1822 |
1823 | nodemon@^2.0.22:
1824 | version "2.0.22"
1825 | resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.22.tgz#182c45c3a78da486f673d6c1702e00728daf5258"
1826 | integrity sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==
1827 | dependencies:
1828 | chokidar "^3.5.2"
1829 | debug "^3.2.7"
1830 | ignore-by-default "^1.0.1"
1831 | minimatch "^3.1.2"
1832 | pstree.remy "^1.1.8"
1833 | semver "^5.7.1"
1834 | simple-update-notifier "^1.0.7"
1835 | supports-color "^5.5.0"
1836 | touch "^3.1.0"
1837 | undefsafe "^2.0.5"
1838 |
1839 | nopt@~1.0.10:
1840 | version "1.0.10"
1841 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
1842 | integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=
1843 | dependencies:
1844 | abbrev "1"
1845 |
1846 | normalize-path@^3.0.0, normalize-path@~3.0.0:
1847 | version "3.0.0"
1848 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
1849 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
1850 |
1851 | object-assign@^4, object-assign@^4.1.1:
1852 | version "4.1.1"
1853 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
1854 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
1855 |
1856 | object-inspect@^1.12.2:
1857 | version "1.12.3"
1858 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
1859 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
1860 |
1861 | object-inspect@^1.9.0:
1862 | version "1.12.2"
1863 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
1864 | integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
1865 |
1866 | object-keys@^1.1.1:
1867 | version "1.1.1"
1868 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
1869 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
1870 |
1871 | object.assign@^4.1.3, object.assign@^4.1.4:
1872 | version "4.1.4"
1873 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
1874 | integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
1875 | dependencies:
1876 | call-bind "^1.0.2"
1877 | define-properties "^1.1.4"
1878 | has-symbols "^1.0.3"
1879 | object-keys "^1.1.1"
1880 |
1881 | object.entries@^1.1.6:
1882 | version "1.1.6"
1883 | resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23"
1884 | integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==
1885 | dependencies:
1886 | call-bind "^1.0.2"
1887 | define-properties "^1.1.4"
1888 | es-abstract "^1.20.4"
1889 |
1890 | object.fromentries@^2.0.6:
1891 | version "2.0.6"
1892 | resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73"
1893 | integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==
1894 | dependencies:
1895 | call-bind "^1.0.2"
1896 | define-properties "^1.1.4"
1897 | es-abstract "^1.20.4"
1898 |
1899 | object.hasown@^1.1.2:
1900 | version "1.1.2"
1901 | resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92"
1902 | integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==
1903 | dependencies:
1904 | define-properties "^1.1.4"
1905 | es-abstract "^1.20.4"
1906 |
1907 | object.values@^1.1.6:
1908 | version "1.1.6"
1909 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d"
1910 | integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==
1911 | dependencies:
1912 | call-bind "^1.0.2"
1913 | define-properties "^1.1.4"
1914 | es-abstract "^1.20.4"
1915 |
1916 | on-finished@2.4.1:
1917 | version "2.4.1"
1918 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
1919 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
1920 | dependencies:
1921 | ee-first "1.1.1"
1922 |
1923 | on-finished@~2.3.0:
1924 | version "2.3.0"
1925 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
1926 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
1927 | dependencies:
1928 | ee-first "1.1.1"
1929 |
1930 | on-headers@~1.0.2:
1931 | version "1.0.2"
1932 | resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
1933 | integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
1934 |
1935 | once@^1.3.0, once@^1.4.0:
1936 | version "1.4.0"
1937 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1938 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
1939 | dependencies:
1940 | wrappy "1"
1941 |
1942 | optionator@^0.9.1:
1943 | version "0.9.1"
1944 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
1945 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
1946 | dependencies:
1947 | deep-is "^0.1.3"
1948 | fast-levenshtein "^2.0.6"
1949 | levn "^0.4.1"
1950 | prelude-ls "^1.2.1"
1951 | type-check "^0.4.0"
1952 | word-wrap "^1.2.3"
1953 |
1954 | p-limit@^2.0.0:
1955 | version "2.3.0"
1956 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
1957 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
1958 | dependencies:
1959 | p-try "^2.0.0"
1960 |
1961 | p-limit@^3.0.2:
1962 | version "3.1.0"
1963 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
1964 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
1965 | dependencies:
1966 | yocto-queue "^0.1.0"
1967 |
1968 | p-locate@^3.0.0:
1969 | version "3.0.0"
1970 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
1971 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
1972 | dependencies:
1973 | p-limit "^2.0.0"
1974 |
1975 | p-locate@^5.0.0:
1976 | version "5.0.0"
1977 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
1978 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
1979 | dependencies:
1980 | p-limit "^3.0.2"
1981 |
1982 | p-try@^2.0.0:
1983 | version "2.2.0"
1984 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
1985 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
1986 |
1987 | parent-module@^1.0.0:
1988 | version "1.0.1"
1989 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
1990 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
1991 | dependencies:
1992 | callsites "^3.0.0"
1993 |
1994 | parse-json@^4.0.0:
1995 | version "4.0.0"
1996 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
1997 | integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==
1998 | dependencies:
1999 | error-ex "^1.3.1"
2000 | json-parse-better-errors "^1.0.1"
2001 |
2002 | parseurl@~1.3.2, parseurl@~1.3.3:
2003 | version "1.3.3"
2004 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
2005 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
2006 |
2007 | path-exists@^3.0.0:
2008 | version "3.0.0"
2009 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
2010 | integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==
2011 |
2012 | path-exists@^4.0.0:
2013 | version "4.0.0"
2014 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
2015 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
2016 |
2017 | path-is-absolute@^1.0.0:
2018 | version "1.0.1"
2019 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
2020 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
2021 |
2022 | path-key@^3.1.0:
2023 | version "3.1.1"
2024 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
2025 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
2026 |
2027 | path-parse@^1.0.7:
2028 | version "1.0.7"
2029 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
2030 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
2031 |
2032 | path-to-regexp@0.1.7:
2033 | version "0.1.7"
2034 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
2035 | integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
2036 |
2037 | path-to-regexp@^1.0.3:
2038 | version "1.8.0"
2039 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a"
2040 | integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==
2041 | dependencies:
2042 | isarray "0.0.1"
2043 |
2044 | picomatch@^2.0.4, picomatch@^2.2.1:
2045 | version "2.2.2"
2046 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
2047 | integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
2048 |
2049 | picomatch@^2.3.1:
2050 | version "2.3.1"
2051 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
2052 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
2053 |
2054 | pify@^3.0.0:
2055 | version "3.0.0"
2056 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
2057 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
2058 |
2059 | pify@^4.0.1:
2060 | version "4.0.1"
2061 | resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
2062 | integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
2063 |
2064 | pkg-conf@^3.1.0:
2065 | version "3.1.0"
2066 | resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-3.1.0.tgz#d9f9c75ea1bae0e77938cde045b276dac7cc69ae"
2067 | integrity sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==
2068 | dependencies:
2069 | find-up "^3.0.0"
2070 | load-json-file "^5.2.0"
2071 |
2072 | please-upgrade-node@^3.2.0:
2073 | version "3.2.0"
2074 | resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
2075 | integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
2076 | dependencies:
2077 | semver-compare "^1.0.0"
2078 |
2079 | pluralize@^8.0.0:
2080 | version "8.0.0"
2081 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1"
2082 | integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==
2083 |
2084 | prelude-ls@^1.2.1:
2085 | version "1.2.1"
2086 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
2087 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
2088 |
2089 | prop-types@^15.8.1:
2090 | version "15.8.1"
2091 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
2092 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
2093 | dependencies:
2094 | loose-envify "^1.4.0"
2095 | object-assign "^4.1.1"
2096 | react-is "^16.13.1"
2097 |
2098 | proxy-addr@~2.0.7:
2099 | version "2.0.7"
2100 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
2101 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
2102 | dependencies:
2103 | forwarded "0.2.0"
2104 | ipaddr.js "1.9.1"
2105 |
2106 | pstree.remy@^1.1.8:
2107 | version "1.1.8"
2108 | resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a"
2109 | integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==
2110 |
2111 | punycode@^2.1.0:
2112 | version "2.3.0"
2113 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
2114 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
2115 |
2116 | qs@6.11.0:
2117 | version "6.11.0"
2118 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
2119 | integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
2120 | dependencies:
2121 | side-channel "^1.0.4"
2122 |
2123 | qs@^6.11.0:
2124 | version "6.11.1"
2125 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.1.tgz#6c29dff97f0c0060765911ba65cbc9764186109f"
2126 | integrity sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==
2127 | dependencies:
2128 | side-channel "^1.0.4"
2129 |
2130 | queue-microtask@^1.2.2:
2131 | version "1.2.3"
2132 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
2133 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
2134 |
2135 | range-parser@~1.2.1:
2136 | version "1.2.1"
2137 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
2138 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
2139 |
2140 | raw-body@2.5.1, raw-body@^2.4.1:
2141 | version "2.5.1"
2142 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
2143 | integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
2144 | dependencies:
2145 | bytes "3.1.2"
2146 | http-errors "2.0.0"
2147 | iconv-lite "0.4.24"
2148 | unpipe "1.0.0"
2149 |
2150 | react-is@^16.13.1:
2151 | version "16.13.1"
2152 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
2153 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
2154 |
2155 | readdirp@~3.6.0:
2156 | version "3.6.0"
2157 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
2158 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
2159 | dependencies:
2160 | picomatch "^2.2.1"
2161 |
2162 | regexp.prototype.flags@^1.4.3:
2163 | version "1.4.3"
2164 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac"
2165 | integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==
2166 | dependencies:
2167 | call-bind "^1.0.2"
2168 | define-properties "^1.1.3"
2169 | functions-have-names "^1.2.2"
2170 |
2171 | regexpp@^3.0.0, regexpp@^3.2.0:
2172 | version "3.2.0"
2173 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
2174 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
2175 |
2176 | require-directory@^2.1.1:
2177 | version "2.1.1"
2178 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
2179 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
2180 |
2181 | requires-port@^1.0.0:
2182 | version "1.0.0"
2183 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
2184 | integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
2185 |
2186 | resolve-from@^4.0.0:
2187 | version "4.0.0"
2188 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
2189 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
2190 |
2191 | resolve@^1.22.1:
2192 | version "1.22.1"
2193 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
2194 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
2195 | dependencies:
2196 | is-core-module "^2.9.0"
2197 | path-parse "^1.0.7"
2198 | supports-preserve-symlinks-flag "^1.0.0"
2199 |
2200 | resolve@^2.0.0-next.4:
2201 | version "2.0.0-next.4"
2202 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660"
2203 | integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==
2204 | dependencies:
2205 | is-core-module "^2.9.0"
2206 | path-parse "^1.0.7"
2207 | supports-preserve-symlinks-flag "^1.0.0"
2208 |
2209 | reusify@^1.0.4:
2210 | version "1.0.4"
2211 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
2212 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
2213 |
2214 | rimraf@^3.0.2:
2215 | version "3.0.2"
2216 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
2217 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
2218 | dependencies:
2219 | glob "^7.1.3"
2220 |
2221 | run-parallel@^1.1.9:
2222 | version "1.2.0"
2223 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
2224 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
2225 | dependencies:
2226 | queue-microtask "^1.2.2"
2227 |
2228 | safe-buffer@5.1.2:
2229 | version "5.1.2"
2230 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
2231 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
2232 |
2233 | safe-buffer@5.2.1, safe-buffer@^5.0.1:
2234 | version "5.2.1"
2235 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
2236 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
2237 |
2238 | safe-regex-test@^1.0.0:
2239 | version "1.0.0"
2240 | resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
2241 | integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==
2242 | dependencies:
2243 | call-bind "^1.0.2"
2244 | get-intrinsic "^1.1.3"
2245 | is-regex "^1.1.4"
2246 |
2247 | "safer-buffer@>= 2.1.2 < 3":
2248 | version "2.1.2"
2249 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
2250 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
2251 |
2252 | semver-compare@^1.0.0:
2253 | version "1.0.0"
2254 | resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
2255 | integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
2256 |
2257 | semver@^5.7.1:
2258 | version "5.7.2"
2259 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
2260 | integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
2261 |
2262 | semver@^6.3.0:
2263 | version "6.3.1"
2264 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
2265 | integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
2266 |
2267 | semver@^7.0.0, semver@^7.3.8:
2268 | version "7.5.4"
2269 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
2270 | integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
2271 | dependencies:
2272 | lru-cache "^6.0.0"
2273 |
2274 | semver@^7.5.4:
2275 | version "7.5.4"
2276 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
2277 | integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
2278 | dependencies:
2279 | lru-cache "^6.0.0"
2280 |
2281 | semver@~7.0.0:
2282 | version "7.0.0"
2283 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
2284 | integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
2285 |
2286 | send@0.18.0:
2287 | version "0.18.0"
2288 | resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
2289 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
2290 | dependencies:
2291 | debug "2.6.9"
2292 | depd "2.0.0"
2293 | destroy "1.2.0"
2294 | encodeurl "~1.0.2"
2295 | escape-html "~1.0.3"
2296 | etag "~1.8.1"
2297 | fresh "0.5.2"
2298 | http-errors "2.0.0"
2299 | mime "1.6.0"
2300 | ms "2.1.3"
2301 | on-finished "2.4.1"
2302 | range-parser "~1.2.1"
2303 | statuses "2.0.1"
2304 |
2305 | serve-static@1.15.0:
2306 | version "1.15.0"
2307 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
2308 | integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
2309 | dependencies:
2310 | encodeurl "~1.0.2"
2311 | escape-html "~1.0.3"
2312 | parseurl "~1.3.3"
2313 | send "0.18.0"
2314 |
2315 | server-destroy@^1.0.1:
2316 | version "1.0.1"
2317 | resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd"
2318 | integrity sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=
2319 |
2320 | setprototypeof@1.2.0:
2321 | version "1.2.0"
2322 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
2323 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
2324 |
2325 | shebang-command@^2.0.0:
2326 | version "2.0.0"
2327 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
2328 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
2329 | dependencies:
2330 | shebang-regex "^3.0.0"
2331 |
2332 | shebang-regex@^3.0.0:
2333 | version "3.0.0"
2334 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
2335 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
2336 |
2337 | side-channel@^1.0.4:
2338 | version "1.0.4"
2339 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
2340 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
2341 | dependencies:
2342 | call-bind "^1.0.0"
2343 | get-intrinsic "^1.0.2"
2344 | object-inspect "^1.9.0"
2345 |
2346 | simple-update-notifier@^1.0.7:
2347 | version "1.1.0"
2348 | resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82"
2349 | integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==
2350 | dependencies:
2351 | semver "~7.0.0"
2352 |
2353 | socket.io-adapter@~2.5.2:
2354 | version "2.5.2"
2355 | resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz#5de9477c9182fdc171cd8c8364b9a8894ec75d12"
2356 | integrity sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==
2357 | dependencies:
2358 | ws "~8.11.0"
2359 |
2360 | socket.io-parser@~4.2.4:
2361 | version "4.2.4"
2362 | resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83"
2363 | integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==
2364 | dependencies:
2365 | "@socket.io/component-emitter" "~3.1.0"
2366 | debug "~4.3.1"
2367 |
2368 | socket.io@^4.7.2:
2369 | version "4.7.2"
2370 | resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.7.2.tgz#22557d76c3f3ca48f82e73d68b7add36a22df002"
2371 | integrity sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==
2372 | dependencies:
2373 | accepts "~1.3.4"
2374 | base64id "~2.0.0"
2375 | cors "~2.8.5"
2376 | debug "~4.3.2"
2377 | engine.io "~6.5.2"
2378 | socket.io-adapter "~2.5.2"
2379 | socket.io-parser "~4.2.4"
2380 |
2381 | standard-engine@^15.0.0:
2382 | version "15.0.0"
2383 | resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-15.0.0.tgz#e37ca2e1a589ef85431043a3e87cb9ce95a4ca4e"
2384 | integrity sha512-4xwUhJNo1g/L2cleysUqUv7/btn7GEbYJvmgKrQ2vd/8pkTmN8cpqAZg+BT8Z1hNeEH787iWUdOpL8fmApLtxA==
2385 | dependencies:
2386 | get-stdin "^8.0.0"
2387 | minimist "^1.2.6"
2388 | pkg-conf "^3.1.0"
2389 | xdg-basedir "^4.0.0"
2390 |
2391 | standard@^17.0.0:
2392 | version "17.0.0"
2393 | resolved "https://registry.yarnpkg.com/standard/-/standard-17.0.0.tgz#85718ecd04dc4133908434660788708cca855aa1"
2394 | integrity sha512-GlCM9nzbLUkr+TYR5I2WQoIah4wHA2lMauqbyPLV/oI5gJxqhHzhjl9EG2N0lr/nRqI3KCbCvm/W3smxvLaChA==
2395 | dependencies:
2396 | eslint "^8.13.0"
2397 | eslint-config-standard "17.0.0"
2398 | eslint-config-standard-jsx "^11.0.0"
2399 | eslint-plugin-import "^2.26.0"
2400 | eslint-plugin-n "^15.1.0"
2401 | eslint-plugin-promise "^6.0.0"
2402 | eslint-plugin-react "^7.28.0"
2403 | standard-engine "^15.0.0"
2404 |
2405 | statuses@2.0.1:
2406 | version "2.0.1"
2407 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
2408 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
2409 |
2410 | "statuses@>= 1.5.0 < 2":
2411 | version "1.5.0"
2412 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
2413 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
2414 |
2415 | steno@^0.4.1:
2416 | version "0.4.4"
2417 | resolved "https://registry.yarnpkg.com/steno/-/steno-0.4.4.tgz#071105bdfc286e6615c0403c27e9d7b5dcb855cb"
2418 | integrity sha1-BxEFvfwobmYVwEA8J+nXtdy4Vcs=
2419 | dependencies:
2420 | graceful-fs "^4.1.3"
2421 |
2422 | steno@^3.0.0:
2423 | version "3.0.0"
2424 | resolved "https://registry.yarnpkg.com/steno/-/steno-3.0.0.tgz#212a11e8ef3646b610efc8953842f556fd0df28f"
2425 | integrity sha512-uZtn7Ht9yXLiYgOsmo8btj4+f7VxyYheMt8g6F1ANjyqByQXEE2Gygjgenp3otHH1TlHsS4JAaRGv5wJ1wvMNw==
2426 |
2427 | string-width@^4.1.0, string-width@^4.2.0:
2428 | version "4.2.2"
2429 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
2430 | integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
2431 | dependencies:
2432 | emoji-regex "^8.0.0"
2433 | is-fullwidth-code-point "^3.0.0"
2434 | strip-ansi "^6.0.0"
2435 |
2436 | string-width@^4.2.3:
2437 | version "4.2.3"
2438 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
2439 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
2440 | dependencies:
2441 | emoji-regex "^8.0.0"
2442 | is-fullwidth-code-point "^3.0.0"
2443 | strip-ansi "^6.0.1"
2444 |
2445 | string.prototype.matchall@^4.0.8:
2446 | version "4.0.8"
2447 | resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3"
2448 | integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==
2449 | dependencies:
2450 | call-bind "^1.0.2"
2451 | define-properties "^1.1.4"
2452 | es-abstract "^1.20.4"
2453 | get-intrinsic "^1.1.3"
2454 | has-symbols "^1.0.3"
2455 | internal-slot "^1.0.3"
2456 | regexp.prototype.flags "^1.4.3"
2457 | side-channel "^1.0.4"
2458 |
2459 | string.prototype.trimend@^1.0.6:
2460 | version "1.0.6"
2461 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533"
2462 | integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==
2463 | dependencies:
2464 | call-bind "^1.0.2"
2465 | define-properties "^1.1.4"
2466 | es-abstract "^1.20.4"
2467 |
2468 | string.prototype.trimstart@^1.0.6:
2469 | version "1.0.6"
2470 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4"
2471 | integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==
2472 | dependencies:
2473 | call-bind "^1.0.2"
2474 | define-properties "^1.1.4"
2475 | es-abstract "^1.20.4"
2476 |
2477 | strip-ansi@^6.0.0:
2478 | version "6.0.0"
2479 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
2480 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
2481 | dependencies:
2482 | ansi-regex "^5.0.0"
2483 |
2484 | strip-ansi@^6.0.1:
2485 | version "6.0.1"
2486 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
2487 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
2488 | dependencies:
2489 | ansi-regex "^5.0.1"
2490 |
2491 | strip-bom@^3.0.0:
2492 | version "3.0.0"
2493 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
2494 | integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
2495 |
2496 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
2497 | version "3.1.1"
2498 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
2499 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
2500 |
2501 | supports-color@^5.5.0:
2502 | version "5.5.0"
2503 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
2504 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
2505 | dependencies:
2506 | has-flag "^3.0.0"
2507 |
2508 | supports-color@^7.1.0:
2509 | version "7.2.0"
2510 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
2511 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
2512 | dependencies:
2513 | has-flag "^4.0.0"
2514 |
2515 | supports-preserve-symlinks-flag@^1.0.0:
2516 | version "1.0.0"
2517 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
2518 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
2519 |
2520 | text-table@^0.2.0:
2521 | version "0.2.0"
2522 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
2523 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
2524 |
2525 | to-regex-range@^5.0.1:
2526 | version "5.0.1"
2527 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
2528 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
2529 | dependencies:
2530 | is-number "^7.0.0"
2531 |
2532 | toidentifier@1.0.0:
2533 | version "1.0.0"
2534 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
2535 | integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
2536 |
2537 | toidentifier@1.0.1:
2538 | version "1.0.1"
2539 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
2540 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
2541 |
2542 | touch@^3.1.0:
2543 | version "3.1.0"
2544 | resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b"
2545 | integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==
2546 | dependencies:
2547 | nopt "~1.0.10"
2548 |
2549 | tsconfig-paths@^3.14.1:
2550 | version "3.14.2"
2551 | resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088"
2552 | integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==
2553 | dependencies:
2554 | "@types/json5" "^0.0.29"
2555 | json5 "^1.0.2"
2556 | minimist "^1.2.6"
2557 | strip-bom "^3.0.0"
2558 |
2559 | type-check@^0.4.0, type-check@~0.4.0:
2560 | version "0.4.0"
2561 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
2562 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
2563 | dependencies:
2564 | prelude-ls "^1.2.1"
2565 |
2566 | type-fest@^0.20.2:
2567 | version "0.20.2"
2568 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
2569 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
2570 |
2571 | type-fest@^0.3.0:
2572 | version "0.3.1"
2573 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1"
2574 | integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==
2575 |
2576 | type-is@~1.6.18:
2577 | version "1.6.18"
2578 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
2579 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
2580 | dependencies:
2581 | media-typer "0.3.0"
2582 | mime-types "~2.1.24"
2583 |
2584 | typed-array-length@^1.0.4:
2585 | version "1.0.4"
2586 | resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
2587 | integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==
2588 | dependencies:
2589 | call-bind "^1.0.2"
2590 | for-each "^0.3.3"
2591 | is-typed-array "^1.1.9"
2592 |
2593 | unbox-primitive@^1.0.2:
2594 | version "1.0.2"
2595 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
2596 | integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==
2597 | dependencies:
2598 | call-bind "^1.0.2"
2599 | has-bigints "^1.0.2"
2600 | has-symbols "^1.0.3"
2601 | which-boxed-primitive "^1.0.2"
2602 |
2603 | undefsafe@^2.0.5:
2604 | version "2.0.5"
2605 | resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c"
2606 | integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==
2607 |
2608 | unpipe@1.0.0, unpipe@~1.0.0:
2609 | version "1.0.0"
2610 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
2611 | integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
2612 |
2613 | uri-js@^4.2.2:
2614 | version "4.4.1"
2615 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
2616 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
2617 | dependencies:
2618 | punycode "^2.1.0"
2619 |
2620 | utils-merge@1.0.1:
2621 | version "1.0.1"
2622 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
2623 | integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
2624 |
2625 | vary@^1, vary@~1.1.2:
2626 | version "1.1.2"
2627 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
2628 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
2629 |
2630 | which-boxed-primitive@^1.0.2:
2631 | version "1.0.2"
2632 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
2633 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
2634 | dependencies:
2635 | is-bigint "^1.0.1"
2636 | is-boolean-object "^1.1.0"
2637 | is-number-object "^1.0.4"
2638 | is-string "^1.0.5"
2639 | is-symbol "^1.0.3"
2640 |
2641 | which-typed-array@^1.1.9:
2642 | version "1.1.9"
2643 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6"
2644 | integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==
2645 | dependencies:
2646 | available-typed-arrays "^1.0.5"
2647 | call-bind "^1.0.2"
2648 | for-each "^0.3.3"
2649 | gopd "^1.0.1"
2650 | has-tostringtag "^1.0.0"
2651 | is-typed-array "^1.1.10"
2652 |
2653 | which@^2.0.1:
2654 | version "2.0.2"
2655 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
2656 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
2657 | dependencies:
2658 | isexe "^2.0.0"
2659 |
2660 | word-wrap@^1.2.3:
2661 | version "1.2.4"
2662 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f"
2663 | integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==
2664 |
2665 | wrap-ansi@^7.0.0:
2666 | version "7.0.0"
2667 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
2668 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
2669 | dependencies:
2670 | ansi-styles "^4.0.0"
2671 | string-width "^4.1.0"
2672 | strip-ansi "^6.0.0"
2673 |
2674 | wrappy@1:
2675 | version "1.0.2"
2676 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
2677 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
2678 |
2679 | ws@~8.11.0:
2680 | version "8.11.0"
2681 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143"
2682 | integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==
2683 |
2684 | xdg-basedir@^4.0.0:
2685 | version "4.0.0"
2686 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"
2687 | integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==
2688 |
2689 | y18n@^5.0.5:
2690 | version "5.0.6"
2691 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.6.tgz#8236b05cfc5af6a409f41326a4847c68989bb04f"
2692 | integrity sha512-PlVX4Y0lDTN6E2V4ES2tEdyvXkeKzxa8c/vo0pxPr/TqbztddTP0yn7zZylIyiAuxerqj0Q5GhpJ1YJCP8LaZQ==
2693 |
2694 | yallist@^4.0.0:
2695 | version "4.0.0"
2696 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
2697 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
2698 |
2699 | yargs-parser@^21.1.1:
2700 | version "21.1.1"
2701 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
2702 | integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
2703 |
2704 | yargs@^17.0.1:
2705 | version "17.6.2"
2706 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541"
2707 | integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==
2708 | dependencies:
2709 | cliui "^8.0.1"
2710 | escalade "^3.1.1"
2711 | get-caller-file "^2.0.5"
2712 | require-directory "^2.1.1"
2713 | string-width "^4.2.3"
2714 | y18n "^5.0.5"
2715 | yargs-parser "^21.1.1"
2716 |
2717 | yocto-queue@^0.1.0:
2718 | version "0.1.0"
2719 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
2720 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
2721 |
--------------------------------------------------------------------------------