From 16d2014bfb238c72587895233983232df199380c Mon Sep 17 00:00:00 2001
From: dicedtomato <35403473+diced@users.noreply.github.com>
Date: Sat, 26 Feb 2022 17:19:02 -0800
Subject: [PATCH] feat(v3.4.0): switch from Material-UI to Mantine! (#127)
---
docker-compose.dev.yml | 46 +
next.config.js | 10 +-
package.json | 30 +-
prisma/schema.prisma | 18 +-
scripts/exts.js | 38 +
server/index.js | 63 +-
server/validateConfig.js | 2 +-
src/components/Alert.tsx | 12 -
src/components/Backdrop.tsx | 12 +-
src/components/Card.tsx | 17 +-
src/components/CenteredBox.tsx | 15 -
src/components/Image.tsx | 103 +-
src/components/ImagesTable.tsx | 159 ++
src/components/Layout.tsx | 640 ++++----
src/components/Link.tsx | 9 +-
src/components/Theming.tsx | 105 +-
src/components/input/Select.tsx | 28 -
src/components/input/TextInput.tsx | 41 -
src/components/pages/Dashboard.tsx | 299 ++--
src/components/pages/Files.tsx | 124 +-
src/components/pages/Manage.tsx | 241 +--
src/components/pages/Stats.tsx | 118 ++
src/components/pages/Upload.tsx | 137 +-
src/components/pages/Urls.tsx | 242 ++-
src/components/pages/Users.tsx | 236 ++-
src/lib/hooks/useLogin.ts | 2 +-
src/lib/middleware/withZipline.ts | 3 -
src/lib/redux/reducers/user.ts | 2 -
src/lib/themes/ayu_dark.ts | 41 +-
src/lib/themes/ayu_light.ts | 29 +-
src/lib/themes/ayu_mirage.ts | 41 +-
src/lib/themes/dark.ts | 41 +-
src/lib/themes/dark_blue.ts | 41 +-
src/lib/themes/dracula.ts | 43 +-
src/lib/themes/index.ts | 55 +-
src/lib/themes/light_blue.ts | 24 +
src/lib/themes/matcha_dark_azul.ts | 41 +-
src/lib/themes/nord.ts | 41 +-
src/lib/themes/polar.ts | 17 -
src/lib/themes/qogir_dark.ts | 42 +-
src/pages/404.tsx | 14 +-
src/pages/[...id].tsx | 32 +-
src/pages/_app.tsx | 20 +-
src/pages/_document.tsx | 8 +-
src/pages/api/auth/login.ts | 3 +-
src/pages/api/user/index.ts | 19 -
src/pages/api/user/recent.ts | 1 +
src/pages/api/users.ts | 1 -
src/pages/api/version.ts | 17 +
src/pages/auth/login.tsx | 128 +-
src/pages/auth/logout.tsx | 13 +-
src/pages/code/[id].tsx | 23 +
src/pages/dashboard/files.tsx | 2 -
src/pages/dashboard/index.tsx | 3 -
src/pages/dashboard/manage.tsx | 2 -
src/pages/dashboard/stats.tsx | 19 +
src/pages/dashboard/upload.tsx | 2 -
src/pages/dashboard/urls.tsx | 2 -
src/pages/dashboard/users.tsx | 2 -
src/pages/index.tsx | 12 -
yarn.lock | 2249 ++++++----------------------
61 files changed, 2317 insertions(+), 3463 deletions(-)
create mode 100644 docker-compose.dev.yml
create mode 100644 scripts/exts.js
delete mode 100644 src/components/Alert.tsx
delete mode 100644 src/components/CenteredBox.tsx
create mode 100644 src/components/ImagesTable.tsx
delete mode 100644 src/components/input/Select.tsx
delete mode 100644 src/components/input/TextInput.tsx
create mode 100644 src/components/pages/Stats.tsx
create mode 100644 src/lib/themes/light_blue.ts
delete mode 100644 src/lib/themes/polar.ts
create mode 100644 src/pages/api/version.ts
create mode 100644 src/pages/code/[id].tsx
create mode 100644 src/pages/dashboard/stats.tsx
delete mode 100644 src/pages/index.tsx
diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml
new file mode 100644
index 0000000..c43b696
--- /dev/null
+++ b/docker-compose.dev.yml
@@ -0,0 +1,46 @@
+version: '3'
+services:
+ postgres:
+ image: postgres
+ environment:
+ - POSTGRES_USER=postgres
+ - POSTGRES_PASSWORD=postgres
+ - POSTGRES_DATABASE=postgres
+ volumes:
+ - pg_data:/var/lib/postgresql/data
+ healthcheck:
+ test: ['CMD-SHELL', 'pg_isready -U postgres']
+ interval: 10s
+ timeout: 5s
+ retries: 5
+
+ zipline:
+ build:
+ context: .
+ dockerfile: Dockerfile
+ ports:
+ - '3000:3000'
+ restart: unless-stopped
+ environment:
+ - SECURE=false
+ - SECRET=changethis
+ - HOST=0.0.0.0
+ - PORT=3000
+ - DATABASE_URL=postgresql://postgres:postgres@postgres/postgres/
+ - UPLOADER_ROUTE=/u
+ - UPLOADER_EMBED_ROUTE=/a
+ - UPLOADER_LENGTH=6
+ - UPLOADER_DIRECTORY=./uploads
+ - UPLOADER_ADMIN_LIMIT=104900000
+ - UPLOADER_USER_LIMIT=104900000
+ - UPLOADER_DISABLED_EXTS=
+ - URLS_ROUTE=/go
+ - URLS_LENGTH=6
+ volumes:
+ - '$PWD/uploads:/zipline/uploads'
+ - '$PWD/public:/zipline/public'
+ depends_on:
+ - 'postgres'
+
+volumes:
+ pg_data:
\ No newline at end of file
diff --git a/next.config.js b/next.config.js
index 5c08827..42911f6 100644
--- a/next.config.js
+++ b/next.config.js
@@ -1,3 +1,11 @@
module.exports = {
- reactStrictMode: true,
+ async redirects() {
+ return [
+ {
+ source: '/',
+ destination: '/dashboard',
+ permanent: true,
+ },
+ ];
+ },
};
\ No newline at end of file
diff --git a/package.json b/package.json
index 62cb5ea..3c547ab 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "zip3",
- "version": "3.3.2",
+ "version": "3.4.0",
"license": "MIT",
"scripts": {
"dev": "NODE_ENV=development node server",
@@ -10,15 +10,21 @@
"migrate:dev": "prisma migrate dev --create-only",
"start": "node server",
"lint": "next lint",
- "seed": "ts-node --compiler-options \"{\\\"module\\\":\\\"commonjs\\\"}\" --transpile-only prisma/seed.ts"
+ "seed": "ts-node --compiler-options \"{\\\"module\\\":\\\"commonjs\\\"}\" --transpile-only prisma/seed.ts",
+ "docker:run": "docker-compose up -d",
+ "docker:down": "docker-compose down",
+ "docker:build-dev": "docker-compose --file docker-compose.dev.yml up --build"
},
"dependencies": {
- "@emotion/react": "^11.4.0",
- "@emotion/styled": "^11.3.0",
"@iarna/toml": "2.2.5",
- "@mui/icons-material": "^5.0.0",
- "@mui/material": "^5.0.2",
- "@mui/styles": "^5.0.1",
+ "@mantine/core": "^3.6.9",
+ "@mantine/dropzone": "^3.6.9",
+ "@mantine/hooks": "^3.6.9",
+ "@mantine/modals": "^3.6.9",
+ "@mantine/next": "^3.6.9",
+ "@mantine/notifications": "^3.6.9",
+ "@mantine/prism": "^3.6.11",
+ "@modulz/radix-icons": "^4.0.0",
"@prisma/client": "^3.9.2",
"@prisma/migrate": "^3.9.2",
"@prisma/sdk": "^3.9.2",
@@ -26,17 +32,14 @@
"argon2": "^0.28.2",
"colorette": "^1.2.2",
"cookie": "^0.4.1",
- "copy-to-clipboard": "^3.3.1",
"fecha": "^4.2.1",
- "formik": "^2.2.9",
"multer": "^1.4.2",
"next": "^12.1.0",
"prisma": "^3.9.2",
- "react": "17.0.2",
- "react-color": "^2.19.3",
- "react-dom": "17.0.2",
- "react-dropzone": "^11.3.2",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
"react-redux": "^7.2.4",
+ "react-table": "^7.7.0",
"redux": "^4.1.0",
"redux-thunk": "^2.3.0",
"uuid": "^8.3.2",
@@ -46,6 +49,7 @@
"@types/cookie": "^0.4.0",
"@types/multer": "^1.4.6",
"@types/node": "^15.12.2",
+ "babel-plugin-import": "^1.13.3",
"eslint": "^7.32.0",
"eslint-config-next": "11.0.0",
"npm-run-all": "^4.1.5",
diff --git a/prisma/schema.prisma b/prisma/schema.prisma
index 2230c46..6a8f59f 100644
--- a/prisma/schema.prisma
+++ b/prisma/schema.prisma
@@ -13,8 +13,7 @@ model User {
password String
token String
administrator Boolean @default(false)
- systemTheme String @default("dark_blue")
- customTheme Theme?
+ systemTheme String @default("system")
embedTitle String?
embedColor String @default("#2f3136")
embedSiteName String? @default("{image.file} • {user.name}")
@@ -23,21 +22,6 @@ model User {
urls Url[]
}
-model Theme {
- id Int @id @default(autoincrement())
- type String
- primary String
- secondary String
- error String
- warning String
- info String
- border String
- mainBackground String
- paperBackground String
- user User @relation(fields: [userId], references: [id])
- userId Int
-}
-
enum ImageFormat {
UUID
DATE
diff --git a/scripts/exts.js b/scripts/exts.js
new file mode 100644
index 0000000..1f0554a
--- /dev/null
+++ b/scripts/exts.js
@@ -0,0 +1,38 @@
+// https://github.com/toptal/haste-server/blob/master/static/application.js#L167-L174
+// Popular extension map
+module.exports = {
+ rb: 'ruby',
+ py: 'python',
+ pl: 'perl',
+ php: 'php',
+ scala: 'scala',
+ go: 'go',
+ xml: 'xml',
+ html: 'xml',
+ htm: 'xml',
+ css: 'css',
+ js: 'javascript',
+ json: 'json',
+ vbs: 'vbscript',
+ lua: 'lua',
+ pas: 'delphi',
+ java: 'java',
+ cpp: 'cpp',
+ cc: 'cpp',
+ m: 'objectivec',
+ vala: 'vala',
+ sql: 'sql',
+ sm: 'smalltalk',
+ lisp: 'lisp',
+ ini: 'ini',
+ diff: 'diff',
+ bash: 'bash',
+ sh: 'bash',
+ tex: 'tex',
+ erl: 'erlang',
+ hs: 'haskell',
+ md: 'markdown',
+ txt: '',
+ coffee: 'coffee',
+ swift: 'swift',
+};
\ No newline at end of file
diff --git a/server/index.js b/server/index.js
index 6b704da..0d3d541 100644
--- a/server/index.js
+++ b/server/index.js
@@ -1,18 +1,16 @@
const next = require('next').default;
-const defaultConfig = require('next/dist/server/config-shared').defaultConfig;
const { createServer } = require('http');
-const { stat, mkdir } = require('fs/promises');
+const { mkdir } = require('fs/promises');
const { extname } = require('path');
const validateConfig = require('./validateConfig');
const Logger = require('../src/lib/logger');
const readConfig = require('../src/lib/readConfig');
const mimes = require('../scripts/mimes');
-const { log, getStats, shouldUseYarn, getFile, migrations } = require('./util');
+const { log, getStats, getFile, migrations } = require('./util');
const { PrismaClient } = require('@prisma/client');
const { version } = require('../package.json');
-const nextConfig = require('../next.config');
+const exts = require('../scripts/exts');
const serverLog = Logger.get('server');
-const webLog = Logger.get('web');
serverLog.info(`starting zipline@${version} server`);
@@ -42,7 +40,6 @@ async function run() {
quiet: !dev,
hostname: config.core.host,
port: config.core.port,
- conf: Object.assign(defaultConfig, nextConfig),
});
await app.prepare();
@@ -51,15 +48,15 @@ async function run() {
const prisma = new PrismaClient();
const srv = createServer(async (req, res) => {
- const parts = req.url.split('/');
- if (!parts[2] || parts[2] === '') return;
-
if (req.url.startsWith('/r')) {
+ const parts = req.url.split('/');
+ if (!parts[2] || parts[2] === '') return;
+
let image = await prisma.image.findFirst({
where: {
OR: [
{ file: parts[2] },
- { invisible: { invis: decodeURI(parts[2]) } },
+ { invisible:{ invis: decodeURI(parts[2]) } },
],
},
select: {
@@ -70,19 +67,17 @@ async function run() {
},
});
- image && await prisma.image.update({
- where: { id: image.id },
- data: { views: { increment: 1 } },
- });
+ if (!image) {
+ const data = await getFile(config.uploader.directory, parts[2]);
+ if (!data) return app.render404(req, res);
- const data = await getFile(config.uploader.directory, parts[2]);
- if (!data) return app.render404(req, res);
-
- if (!image) { // raw image
const mimetype = mimes[extname(parts[2])] ?? 'application/octet-stream';
res.setHeader('Content-Type', mimetype);
res.end(data);
- } else { // raw image & update db
+ } else {
+ const data = await getFile(config.uploader.directory, image.file);
+ if (!data) return app.render404(req, res);
+
await prisma.image.update({
where: { id: image.id },
data: { views: { increment: 1 } },
@@ -91,14 +86,14 @@ async function run() {
res.end(data);
}
} else if (req.url.startsWith(config.uploader.route)) {
- const data = await getFile(config.uploader.directory, parts[2]);
- if (!data) return app.render404(req, res);
-
+ const parts = req.url.split('/');
+ if (!parts[2] || parts[2] === '') return;
+
let image = await prisma.image.findFirst({
where: {
OR: [
{ file: parts[2] },
- { invisible: { invis: decodeURI(parts[2]) } },
+ { invisible:{ invis: decodeURI(parts[2]) } },
],
},
select: {
@@ -110,18 +105,25 @@ async function run() {
},
});
- image && await prisma.image.update({
- where: { id: image.id },
- data: { views: { increment: 1 } },
- });
+ if (!image) {
+ const data = await getFile(config.uploader.directory, parts[2]);
+ if (!data) return app.render404(req, res);
- if (!image) { // raw image
const mimetype = mimes[extname(parts[2])] ?? 'application/octet-stream';
res.setHeader('Content-Type', mimetype);
res.end(data);
- } else if (image.embed) { // embed image
+ } else if (image.embed) {
handle(req, res);
- } else { // raw image fallback
+ } else {
+ const ext = image.file.split('.').pop();
+ if (Object.keys(exts).includes(ext)) return handle(req, res);
+ const data = await getFile(config.uploader.directory, image.file);
+ if (!data) return app.render404(req, res);
+
+ await prisma.image.update({
+ where: { id: image.id },
+ data: { views: { increment: 1 } },
+ });
res.setHeader('Content-Type', image.mimetype);
res.end(data);
}
@@ -137,6 +139,7 @@ async function run() {
process.exit(1);
});
+
srv.on('listening', () => {
serverLog.info(`listening on ${config.core.host}:${config.core.port}`);
});
diff --git a/server/validateConfig.js b/server/validateConfig.js
index 0043e7d..1ae8471 100644
--- a/server/validateConfig.js
+++ b/server/validateConfig.js
@@ -7,7 +7,7 @@ const validator = object({
host: string().default('0.0.0.0'),
port: number().default(3000),
database_url: string().required(),
- logger: boolean().default(true),
+ logger: boolean().default(false),
stats_interval: number().default(1800),
}).required(),
uploader: object({
diff --git a/src/components/Alert.tsx b/src/components/Alert.tsx
deleted file mode 100644
index 4ecacfa..0000000
--- a/src/components/Alert.tsx
+++ /dev/null
@@ -1,12 +0,0 @@
-import React from 'react';
-import { Snackbar, Alert as MuiAlert } from '@mui/material';
-
-export default function Alert({ open, setOpen, severity, message }) {
- return (
- setOpen(false)}>
-
- {message}
-
-
- );
-}
\ No newline at end of file
diff --git a/src/components/Backdrop.tsx b/src/components/Backdrop.tsx
index 472622d..05d886e 100644
--- a/src/components/Backdrop.tsx
+++ b/src/components/Backdrop.tsx
@@ -1,16 +1,8 @@
import React from 'react';
-import {
- Backdrop as MuiBackdrop,
- CircularProgress,
-} from '@mui/material';
+import { LoadingOverlay } from '@mantine/core';
export default function Backdrop({ open }) {
return (
- theme.zIndex.drawer + 1 }}
- open={open}
- >
-
-
+
);
}
\ No newline at end of file
diff --git a/src/components/Card.tsx b/src/components/Card.tsx
index d035d8e..3c13897 100644
--- a/src/components/Card.tsx
+++ b/src/components/Card.tsx
@@ -1,19 +1,16 @@
import React from 'react';
import {
- Card as MuiCard,
- CardContent,
- Typography,
-} from '@mui/material';
+ Card as MCard,
+ Title,
+} from '@mantine/core';
export default function Card(props) {
const { name, children, ...other } = props;
return (
-
-
- {name}
- {children}
-
-
+
+ {name}
+ {children}
+
);
}
\ No newline at end of file
diff --git a/src/components/CenteredBox.tsx b/src/components/CenteredBox.tsx
deleted file mode 100644
index 36378da..0000000
--- a/src/components/CenteredBox.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import React from 'react';
-import { Box } from '@mui/material';
-
-export default function CenteredBox({ children, ...other }) {
- return (
-
- {children}
-
- );
-}
\ No newline at end of file
diff --git a/src/components/Image.tsx b/src/components/Image.tsx
index 0af75f9..0a75c0a 100644
--- a/src/components/Image.tsx
+++ b/src/components/Image.tsx
@@ -1,83 +1,94 @@
import React, { useState } from 'react';
-
-import {
- Card,
- CardMedia,
- CardActionArea,
- Button,
- Dialog,
- DialogTitle,
- DialogActions,
- DialogContent,
-} from '@mui/material';
-import AudioIcon from '@mui/icons-material/Audiotrack';
-import copy from 'copy-to-clipboard';
import useFetch from 'hooks/useFetch';
+import { Button, Card, Group, Image as MImage, Modal, Title } from '@mantine/core';
+import { useNotifications } from '@mantine/notifications';
+import { CopyIcon, Cross1Icon, StarIcon, TrashIcon } from '@modulz/radix-icons';
+import { useClipboard } from '@mantine/hooks';
export default function Image({ image, updateImages }) {
const [open, setOpen] = useState(false);
const [t] = useState(image.mimetype.split('/')[0]);
+ const notif = useNotifications();
+ const clipboard = useClipboard();
const handleDelete = async () => {
const res = await useFetch('/api/user/files', 'DELETE', { id: image.id });
- if (!res.error) updateImages(true);
+ if (!res.error) {
+ updateImages(true);
+ notif.showNotification({
+ title: 'Image Deleted',
+ message: '',
+ color: 'green',
+ icon: ,
+ });
+ } else {
+ notif.showNotification({
+ title: 'Failed to delete image',
+ message: res.error,
+ color: 'red',
+ icon: ,
+ });
+ }
setOpen(false);
};
const handleCopy = () => {
- copy(`${window.location.protocol}//${window.location.host}${image.url}`);
+ clipboard.copy(`${window.location.protocol}//${window.location.host}${image.url}`);
setOpen(false);
+ notif.showNotification({
+ title: 'Copied to clipboard',
+ message: '',
+ icon: ,
+ });
};
const handleFavorite = async () => {
const data = await useFetch('/api/user/files', 'PATCH', { id: image.id, favorite: !image.favorite });
if (!data.error) updateImages(true);
+ notif.showNotification({
+ title: 'Image is now ' + (!image.favorite ? 'favorited' : 'unfavorited'),
+ message: '',
+ icon: ,
+ });
};
const Type = (props) => {
return {
'video': ,
- // eslint-disable-next-line jsx-a11y/alt-text
- 'image': ,
+ 'image': ,
'audio': ,
}[t];
};
return (
<>
-
-
- setOpen(false)}
+ title={{image.file}}
+ >
+
+
+
+
+
+
+
+
+
+ setOpen(true)}
/>
-
+
-
>
);
}
\ No newline at end of file
diff --git a/src/components/ImagesTable.tsx b/src/components/ImagesTable.tsx
new file mode 100644
index 0000000..237ef78
--- /dev/null
+++ b/src/components/ImagesTable.tsx
@@ -0,0 +1,159 @@
+/* eslint-disable react/jsx-key */
+/* eslint-disable react/display-name */
+// Code taken from https://codesandbox.io/s/eojw8 and is modified a bit (the entire src/components/table directory)
+import React from 'react';
+import {
+ usePagination,
+ useTable,
+} from 'react-table';
+import {
+ ActionIcon,
+ Checkbox,
+ createStyles,
+ Divider,
+ Group,
+ Pagination,
+ Select,
+ Table,
+ Text,
+ useMantineTheme,
+} from '@mantine/core';
+import {
+ CopyIcon,
+ EnterIcon,
+ TrashIcon,
+} from '@modulz/radix-icons';
+
+const pageSizeOptions = ['10', '25', '50'];
+
+const useStyles = createStyles((t) => ({
+ root: { height: '100%', display: 'block', marginTop: 10 },
+ tableContainer: {
+ display: 'block',
+ overflow: 'auto',
+ '& > table': {
+ '& > thead': { backgroundColor: t.colorScheme === 'dark' ? t.colors.dark[6] : t.colors.gray[0], zIndex: 1 },
+ '& > thead > tr > th': { padding: t.spacing.md },
+ '& > tbody > tr > td': { padding: t.spacing.md },
+ },
+ borderRadius: 6,
+ },
+ stickHeader: { top: 0, position: 'sticky' },
+ disableSortIcon: { color: t.colors.gray[5] },
+ sortDirectionIcon: { transition: 'transform 200ms ease' },
+}));
+
+export default function ImagesTable({
+ columns,
+ data = [],
+ serverSideDataSource = false,
+ initialPageSize = 10,
+ initialPageIndex = 0,
+ pageCount = 0,
+ total = 0,
+ deleteImage, copyImage, viewImage,
+}) {
+ const { classes } = useStyles();
+ const theme = useMantineTheme();
+
+ const tableOptions = useTable(
+ {
+ data,
+ columns,
+ pageCount,
+ initialState: { pageSize: initialPageSize, pageIndex: initialPageIndex },
+ },
+ usePagination
+ );
+
+ const {
+ getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, page, gotoPage, setPageSize, state: { pageIndex, pageSize },
+ } = tableOptions;
+
+ const getPageRecordInfo = () => {
+ const firstRowNum = pageIndex * pageSize + 1;
+ const totalRows = serverSideDataSource ? total : rows.length;
+
+ const currLastRowNum = (pageIndex + 1) * pageSize;
+ let lastRowNum = currLastRowNum < totalRows ? currLastRowNum : totalRows;
+ return `${firstRowNum} - ${lastRowNum} of ${totalRows}`;
+ };
+
+ const getPageCount = () => {
+ const totalRows = serverSideDataSource ? total : rows.length;
+ return Math.ceil(totalRows / pageSize);
+ };
+
+ const handlePageChange = (pageNum) => gotoPage(pageNum - 1);
+
+ const renderHeader = () => headerGroups.map(hg => (
+
+ {hg.headers.map(column => (
+
+
+ {column.render('Header')}
+
+ |
+ ))}
+ Actions |
+
+ ));
+
+ const renderRow = rows => rows.map(row => {
+ prepareRow(row);
+ return (
+
+ {row.cells.map(cell => (
+
+ {cell.render('Cell')}
+ |
+ ))}
+
+
+ deleteImage(row)}>
+ copyImage(row)}>
+ viewImage(row)}>
+
+ |
+
+ );
+ });
+
+ return (
+
+
+
+
+ {renderHeader()}
+
+
+
+ {renderRow(page)}
+
+
+
+
+
+ Rows per page:
+
+
+ );
+}
diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx
index fbe6d05..9109a41 100644
--- a/src/components/Layout.tsx
+++ b/src/components/Layout.tsx
@@ -1,49 +1,67 @@
import React, { useState } from 'react';
import Link from 'next/link';
-import {
- AppBar,
- Box,
- Divider,
- Drawer,
- IconButton,
- List,
- ListItem,
- ListItemIcon,
- ListItemText,
- Toolbar,
- Typography,
- Button,
- Menu,
- MenuItem,
- Paper,
- Dialog,
- DialogActions,
- DialogContent,
- DialogContentText,
- DialogTitle,
-} from '@mui/material';
-import {
- Menu as MenuIcon,
- Home as HomeIcon,
- AccountCircle as AccountIcon,
- Folder as FolderIcon,
- Upload as UploadIcon,
- ContentCopy as CopyIcon,
- Autorenew as ResetIcon,
- Logout as LogoutIcon,
- PeopleAlt as UsersIcon,
- Brush as BrushIcon,
- Link as URLIcon,
-} from '@mui/icons-material';
-import copy from 'copy-to-clipboard';
-import Backdrop from './Backdrop';
-import { friendlyThemeName, themes } from 'components/Theming';
-import Select from 'components/input/Select';
import { useRouter } from 'next/router';
import { useStoreDispatch } from 'lib/redux/store';
import { updateUser } from 'lib/redux/reducers/user';
import useFetch from 'hooks/useFetch';
+import { CheckIcon, CopyIcon, Cross1Icon, FileIcon, GearIcon, HomeIcon, Link1Icon, ResetIcon, UploadIcon, PinRightIcon, PersonIcon, Pencil1Icon, MixerHorizontalIcon } from '@modulz/radix-icons';
+import { AppShell, Burger, Divider, Group, Header, MediaQuery, Navbar, Paper, Popover, ScrollArea, Select, Text, ThemeIcon, Title, UnstyledButton, useMantineTheme, Box } from '@mantine/core';
+import { useModals } from '@mantine/modals';
+import { useNotifications } from '@mantine/notifications';
+import { useClipboard } from '@mantine/hooks';
+import { friendlyThemeName, themes } from './Theming';
+
+function MenuItemLink(props) {
+ return (
+
+
+
+ );
+}
+
+function MenuItem(props) {
+ return (
+ ({
+ display: 'block',
+ width: '100%',
+ padding: 5,
+ borderRadius: theme.radius.sm,
+ color: props.color
+ ? theme.fn.themeColor(props.color, theme.colorScheme === 'dark' ? 5 : 7)
+ : theme.colorScheme === 'dark'
+ ? theme.colors.dark[0]
+ : theme.black,
+ '&:hover': {
+ backgroundColor: props.color
+ ? theme.fn.rgba(
+ theme.fn.themeColor(props.color, theme.colorScheme === 'dark' ? 9 : 0),
+ theme.colorScheme === 'dark' ? 0.2 : 1
+ )
+ : theme.colorScheme === 'dark'
+ ? theme.fn.rgba(theme.colors.dark[3], 0.35)
+ : theme.colors.gray[0],
+ },
+ })}
+ {...props}
+ >
+
+ ({
+ marginRight: theme.spacing.xs / 4,
+ paddingLeft: theme.spacing.xs / 2,
+
+ '& *': {
+ display: 'block',
+ },
+ })}>
+ {props.icon}
+
+ {props.children}
+
+
+ );
+}
const items = [
{
@@ -52,12 +70,17 @@ const items = [
link: '/dashboard',
},
{
- icon: ,
+ icon: ,
text: 'Files',
link: '/dashboard/files',
},
{
- icon: ,
+ icon: ,
+ text: 'Stats',
+ link: '/dashboard/stats',
+ },
+ {
+ icon: ,
text: 'URLs',
link: '/dashboard/urls',
},
@@ -68,344 +91,239 @@ const items = [
},
];
-const drawerWidth = 240;
-
-function CopyTokenDialog({ open, setOpen, token }) {
- const handleCopyToken = () => {
- copy(token);
- setOpen(false);
- };
-
- return (
-
-
-
- );
-}
-
-function ResetTokenDialog({ open, setOpen, setToken }) {
- const handleResetToken = async () => {
- const a = await useFetch('/api/user/token', 'PATCH');
- if (a.success) setToken(a.success);
- setOpen(false);
- };
-
- return (
-
-
-
- );
-}
-
-export default function Layout({ children, user, loading, noPaper }) {
- const [systemTheme, setSystemTheme] = useState(user.systemTheme || 'dark_blue');
- const [mobileOpen, setMobileOpen] = useState(false);
- const [anchorEl, setAnchorEl] = useState(null);
- const [copyOpen, setCopyOpen] = useState(false);
- const [resetOpen, setResetOpen] = useState(false);
+export default function Layout({ children, user }) {
const [token, setToken] = useState(user?.token);
+ const [systemTheme, setSystemTheme] = useState(user.systemTheme ?? 'system');
+ const [opened, setOpened] = useState(false); // navigation open
+ const [open, setOpen] = useState(false); // manage acc dropdown
const router = useRouter();
const dispatch = useStoreDispatch();
+ const theme = useMantineTheme();
+ const modals = useModals();
+ const notif = useNotifications();
+ const clipboard = useClipboard();
- const open = Boolean(anchorEl);
- const handleClick = e => setAnchorEl(e.currentTarget);
- const handleClose = (cmd: 'copy' | 'reset') => () => {
- switch (cmd) {
- case 'copy':
- setCopyOpen(true);
- break;
- case 'reset':
- setResetOpen(true);
- break;
- }
- setAnchorEl(null);
- };
-
- const handleUpdateTheme = async event => {
+ const handleUpdateTheme = async value => {
const newUser = await useFetch('/api/user', 'PATCH', {
- systemTheme: event.target.value || 'dark_blue',
+ systemTheme: value || 'dark_blue',
});
setSystemTheme(newUser.systemTheme);
dispatch(updateUser(newUser));
-
router.replace(router.pathname);
+
+ notif.showNotification({
+ title: `Theme changed to ${friendlyThemeName[value]}`,
+ message: '',
+ color: 'green',
+ icon: ,
+ });
};
- const drawer = (
-
-
-
-
- t.palette.divider,
- display: { xs: 'none', sm: 'block' },
- }}
- >
-
- setMobileOpen(true)}
- sx={{ mr: 2, display: { sm: 'none' } }}
- >
-
-
-
- Zipline
-
- {user && (
-
-
-
-
- )}
-
-
-
-
-
- {items.map((item, i) => (
-
-
- {item.icon}
-
-
-
- ))}
- {user && user.administrator && (
-
-
-
-
-
-
- )}
-
-
-
- );
+ const openResetToken = () => modals.openConfirmModal({
+ title: 'Reset Token',
+ children: (
+
+ Once you reset your token, you will have to update any uploaders to use this new token.
+
+ ),
+ labels: { confirm: 'Reset', cancel: 'Cancel' },
+ onConfirm: async () => {
+ const a = await useFetch('/api/user/token', 'PATCH');
+ if (!a.success) {
+ setToken(a.success);
+ notif.showNotification({
+ title: 'Token Reset Failed',
+ message: a.error,
+ color: 'red',
+ icon: ,
+ });
+ } else {
+ notif.showNotification({
+ title: 'Token Reset',
+ message: 'Your token has been reset. You will need to update any uploaders to use this new token.',
+ color: 'green',
+ icon: ,
+ });
+ }
- const container = typeof window !== 'undefined' ? window.document.body : undefined;
+ modals.closeAll();
+ },
+ });
+
+ const openCopyToken = () => modals.openConfirmModal({
+ title: 'Copy Token',
+ children: (
+
+ Make sure you don't share this token with anyone as they will be able to upload files on your behalf.
+
+ ),
+ labels: { confirm: 'Copy', cancel: 'Cancel' },
+ onConfirm: async () => {
+ clipboard.copy(token);
+
+ notif.showNotification({
+ title: 'Token Copied',
+ message: 'Your token has been copied to your clipboard.',
+ color: 'green',
+ icon: ,
+ });
+
+ modals.closeAll();
+ },
+ });
return (
-
-
+
+
+ {items.map(({ icon, text, link }) => (
+
+
+
+
+ {icon}
+
-
-
- setMobileOpen(true)}
- sx={{ mr: 2, display: { sm: 'none' } }}
- >
-
-
-
- Zipline
-
- {user && (
-
-
+
+
+ ))}
+ {user.administrator && (
+
+
+
+
+
+
+
+ Users
+
+
+
+ )}
+
+
+ }
+ header={
+
+
+
+ setOpened((o) => !o)}
+ size='sm'
+ color={theme.colors.gray[6]}
+ />
+
+
Zipline
+
+ setOpen(false)}
+ target={
+ setOpen(!open)}
+ sx={{
+ display: 'block',
+ width: '100%',
+ padding: theme.spacing.xs,
+ borderRadius: theme.radius.sm,
+ color: theme.other.color,
+
+ '&:hover': {
+ backgroundColor: theme.other.hover,
+ },
+ }}
+ >
+
+
+
+
+ {user.username}
+
+
+ }
>
-
-
-
+
+
- )}
-
-
-
- setMobileOpen(false)}
- open={mobileOpen}
- elevation={0}
- ModalProps={{
- keepMounted: true,
- }}
- sx={{
- display: { xs: 'block', sm: 'none' },
- '* .MuiDrawer-paper': { boxSizing: 'border-box', width: drawerWidth },
- }}
- >
- {drawer}
-
-
- {drawer}
-
-
-
- {user && noPaper ? children : (
-
- {children}
-
- )}
-
-
+
+
+ }
+ >
+ {children}
+
);
}
diff --git a/src/components/Link.tsx b/src/components/Link.tsx
index 8dbd8d6..352d1d4 100644
--- a/src/components/Link.tsx
+++ b/src/components/Link.tsx
@@ -4,7 +4,7 @@ import React, { forwardRef } from 'react';
import clsx from 'clsx';
import { useRouter } from 'next/router';
import NextLink from 'next/link';
-import MuiLink from '@mui/material/Link';
+import { Text } from '@mantine/core';
export const NextLinkComposed = forwardRef(function NextLinkComposed(props: any, ref) {
const { to, linkAs, href, replace, scroll, passHref, shallow, prefetch, locale, ...other } =
@@ -50,10 +50,10 @@ const Link = forwardRef(function Link(props: any, ref) {
if (isExternal) {
if (noLinkStyle) {
- return ;
+ return ;
}
- return ;
+ return ;
}
if (noLinkStyle) {
@@ -61,8 +61,9 @@ const Link = forwardRef(function Link(props: any, ref) {
}
return (
- colorScheme === 'dark' ? dark_blue : light_blue,
+ dark_blue,
+ light_blue,
+ dark,
+ ayu_dark,
+ ayu_mirage,
+ ayu_light,
+ nord,
+ dracula,
+ matcha_dark_azul,
+ qogir_dark,
};
export const friendlyThemeName = {
+ 'system': 'System Theme',
'dark_blue': 'Dark Blue',
+ 'light_blue': 'Light Blue',
'dark': 'Very Dark',
'ayu_dark': 'Ayu Dark',
'ayu_mirage': 'Ayu Mirage',
'ayu_light': 'Ayu Light',
'nord': 'Nord',
- 'polar': 'Polar',
'dracula': 'Dracula',
'matcha_dark_azul': 'Matcha Dark Azul',
'qogir_dark': 'Qogir Dark',
};
-export default function ZiplineTheming({ Component, pageProps }) {
- let t;
-
+export default function ZiplineTheming({ Component, pageProps, ...props }) {
const user = useStoreSelector(state => state.user);
- if (!user) t = themes.dark_blue;
- else {
- if (user.customTheme) {
- t = createTheme({
- type: 'dark',
- primary: user.customTheme.primary,
- secondary: user.customTheme.secondary,
- error: user.customTheme.error,
- warning: user.customTheme.warning,
- info: user.customTheme.info,
- border: user.customTheme.border,
- background: {
- main: user.customTheme.mainBackground,
- paper: user.customTheme.paperBackground,
- },
- });
- } else {
- t = themes[user.systemTheme] ?? themes.dark_blue;
- }
- }
+ const colorScheme = useColorScheme();
+
+ let theme: MantineThemeOverride;
+
+ if (!user) theme = themes.system(colorScheme);
+ else if (user.systemTheme === 'system') theme = themes.system(colorScheme);
+ else theme = themes[user.systemTheme] ?? themes.system(colorScheme);
+
+ useEffect(() => {
+ document.documentElement.style.setProperty('color-scheme', theme.colorScheme);
+ }, [user, theme]);
return (
-
-
-
-
+ ({
+ root: {
+ backgroundColor: t.other.AppShell_backgroundColor,
+ },
+ }),
+ Popover: {
+ inner: {
+ width: 200,
+ },
+ },
+ Accordion: {
+ itemTitle: {
+ border: 0,
+ },
+ itemOpened: {
+ border: 0,
+ },
+ },
+ }}
+ >
+
+
+ {props.children ? props.children : }
+
+
+
);
}
\ No newline at end of file
diff --git a/src/components/input/Select.tsx b/src/components/input/Select.tsx
deleted file mode 100644
index 71fd764..0000000
--- a/src/components/input/Select.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import React from 'react';
-import { styled, Select as MuiSelect, Input } from '@mui/material';
-import { makeStyles } from '@mui/styles';
-import { useTheme } from '@mui/system';
-
-const CssInput = styled(Input)(({ theme }) => ({
- '& label.Mui-focused': {
- color: 'white',
- },
- '&': {
- color: 'white',
- },
- '&:before': {
- borderBottomColor: '#fff8',
- },
- '&&:hover:before': {
- borderBottomColor: theme.palette.primary.dark,
- },
- '&:after': {
- borderBottomColor: theme.palette.primary.main,
- },
-}));
-
-export default function Select({ ...other }) {
- return (
- } {...other}/>
- );
-}
\ No newline at end of file
diff --git a/src/components/input/TextInput.tsx b/src/components/input/TextInput.tsx
deleted file mode 100644
index fb59f31..0000000
--- a/src/components/input/TextInput.tsx
+++ /dev/null
@@ -1,41 +0,0 @@
-import React from 'react';
-import { styled, TextField, Box } from '@mui/material';
-
-const CssTextField = styled(TextField)(({ theme }) => ({
- '& label.Mui-focused': {
- color: 'white',
- },
- '& input': {
- color: 'white',
- },
- '& .MuiInput-underline:before': {
- borderBottomColor: '#fff8',
- },
- '&& .MuiInput-underline:hover:before': {
- borderBottomColor: theme.palette.primary.dark,
- },
- '& .MuiInput-underline:after': {
- borderBottomColor: theme.palette.primary.main,
- },
-}));
-
-
-export default function TextInput({ id, label, formik, ...other }) {
- return (
-
-
-
- );
-}
\ No newline at end of file
diff --git a/src/components/pages/Dashboard.tsx b/src/components/pages/Dashboard.tsx
index 22bd1fe..1b15713 100644
--- a/src/components/pages/Dashboard.tsx
+++ b/src/components/pages/Dashboard.tsx
@@ -1,32 +1,15 @@
import React, { useEffect, useState } from 'react';
-import {
- Table,
- TableBody,
- TableCell,
- TableContainer,
- TableHead,
- TablePagination,
- TableRow,
- Button,
- ButtonGroup,
- Typography,
- Grid,
- Skeleton,
- CardActionArea,
- CardMedia,
- Card as MuiCard,
-} from '@mui/material';
-import AudioIcon from '@mui/icons-material/Audiotrack';
-import DeleteIcon from '@mui/icons-material/Delete';
-import CopyIcon from '@mui/icons-material/FileCopy';
-import OpenIcon from '@mui/icons-material/OpenInNew';
-import Link from 'components/Link';
import Card from 'components/Card';
-import Alert from 'components/Alert';
-import copy from 'copy-to-clipboard';
+import Image from 'components/Image';
+import ImagesTable from 'components/ImagesTable';
import useFetch from 'lib/hooks/useFetch';
import { useStoreSelector } from 'lib/redux/store';
+import { Box, Text, Table, Skeleton, Title, SimpleGrid } from '@mantine/core';
+import { randomId, useClipboard } from '@mantine/hooks';
+import Link from 'components/Link';
+import { CopyIcon, Cross1Icon, TrashIcon } from '@modulz/radix-icons';
+import { useNotifications } from '@mantine/notifications';
type Aligns = 'inherit' | 'right' | 'left' | 'center' | 'justify';
@@ -44,50 +27,34 @@ export function bytesToRead(bytes: number) {
return `${bytes.toFixed(1)} ${units[num]}`;
}
-const columns = [
- { id: 'file', label: 'Name', minWidth: 170, align: 'inherit' as Aligns },
- { id: 'mimetype', label: 'Type', minWidth: 100, align: 'inherit' as Aligns },
- {
- id: 'created_at',
- label: 'Date',
- minWidth: 170,
- align: 'right' as Aligns,
- format: (value) => new Date(value).toLocaleString(),
- },
-];
-
function StatText({ children }) {
- return {children};
+ return {children};
}
function StatTable({ rows, columns }) {
return (
-
-
-
-
+
+
+
+
{columns.map(col => (
- t.palette.divider }}>{col.name}
+ {col.name} |
))}
-
-
-
+
+
+
{rows.map(row => (
-
+
{columns.map(col => (
- t.palette.divider }}>
+
{col.format ? col.format(row[col.id]) : row[col.id]}
-
+ |
))}
-
+
))}
-
+
-
+
);
}
@@ -96,35 +63,51 @@ export default function Dashboard() {
const [images, setImages] = useState([]);
const [recent, setRecent] = useState([]);
- const [page, setPage] = useState(0);
const [stats, setStats] = useState(null);
- const [rowsPerPage, setRowsPerPage] = useState(10);
-
- const [open, setOpen] = useState(false);
- const [severity, setSeverity] = useState('success');
- const [message, setMessage] = useState('Saved');
+ const clipboard = useClipboard();
+ const notif = useNotifications();
const updateImages = async () => {
const imgs = await useFetch('/api/user/files');
const recent = await useFetch('/api/user/recent?filter=media');
const stts = await useFetch('/api/stats');
- setImages(imgs);
+ setImages(imgs.map(x => ({ ...x, created_at: new Date(x.created_at).toLocaleString() })));
setStats(stts);
setRecent(recent);
};
- const handleChangePage = (event, newPage) => {
- setPage(newPage);
+ const deleteImage = async ({ original }) => {
+ const res = await useFetch('/api/user/files', 'DELETE', { id: original.id });
+ if (!res.error) {
+ updateImages();
+ notif.showNotification({
+ title: 'Image Deleted',
+ message: '',
+ color: 'green',
+ icon: ,
+ });
+ } else {
+ notif.showNotification({
+ title: 'Failed to delete image',
+ message: res.error,
+ color: 'red',
+ icon: ,
+ });
+ }
+
};
- const handleChangeRowsPerPage = event => {
- setRowsPerPage(+event.target.value);
- setPage(0);
+ const copyImage = async ({ original }) => {
+ clipboard.copy(`${window.location.protocol}//${window.location.host}${original.url}`);
+ notif.showNotification({
+ title: 'Copied to clipboard',
+ message: '',
+ icon: ,
+ });
};
- const handleDelete = async image => {
- const res = await useFetch('/api/user/files', 'DELETE', { id: image.id });
- if (!res.error) updateImages();
+ const viewImage = async ({ original }) => {
+ window.open(`${window.location.protocol}//${window.location.host}${original.url}`);
};
useEffect(() => {
@@ -133,117 +116,75 @@ export default function Dashboard() {
return (
<>
-
+ Welcome back {user?.username}
+ You have {images.length ? images.length : '...'} files
- Welcome back {user?.username}
- You have {images.length ? images.length : '...'} files
-
- Recent Files
-
+ Recent Files
+
{recent.length ? recent.map(image => (
-
-
-
-
-
-
-
+ // eslint-disable-next-line jsx-a11y/alt-text
+
)) : [1,2,3,4].map(x => (
-
-
-
+
+
+
))}
-
- Stats
-
-
-
- {stats ? stats.size : }
- Average Size
- {stats ? bytesToRead(stats.size_num / stats.count) : }
-
-
-
-
- {stats ? stats.count : }
- Views
- {stats ? `${stats.views_count} (${isNaN(stats.views_count / stats.count) ? 0 : Math.round(stats.views_count / stats.count)})` : }
-
-
-
-
- {stats ? stats.count_users : }
-
-
-
-
- View Files
-
-
-
-
- {columns.map(column => (
- t.palette.divider }}
- >
- {column.label}
-
- ))}
- t.palette.divider }} align='right'>
- Actions
-
-
-
-
- {images
- .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
- .map(row => {
- return (
-
- {columns.map(column => {
- const value = row[column.id];
- return (
- t.palette.divider }}>
- {column.format ? column.format(value) : value}
-
- );
- })}
- t.palette.divider }}>
-
-
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
+
+
+ Stats
+ View more stats here here.
+
+
+ {stats ? stats.size : }
+ Average Size
+ {stats ? bytesToRead(stats.size_num / stats.count) : }
+
+
+ {stats ? stats.count : }
+ Views
+ {stats ? `${stats.views_count} (${isNaN(stats.views_count / stats.count) ? 0 : Math.round(stats.views_count / stats.count)})` : }
+
+
+ {stats ? stats.count_users : }
+
+
+
+
+
+ {/* Files
+ View previews of your files in the browser.
+
+
-
+
-
+ */}
>
);
}
\ No newline at end of file
diff --git a/src/components/pages/Files.tsx b/src/components/pages/Files.tsx
index 353d8b1..4b7f0dc 100644
--- a/src/components/pages/Files.tsx
+++ b/src/components/pages/Files.tsx
@@ -1,27 +1,24 @@
import React, { useEffect, useState } from 'react';
-import { Grid, Pagination, Box, Typography, Accordion, AccordionSummary, AccordionDetails } from '@mui/material';
-import { ExpandMore } from '@mui/icons-material';
-import Backdrop from 'components/Backdrop';
import ZiplineImage from 'components/Image';
import useFetch from 'hooks/useFetch';
+import { Box, Accordion, Pagination, Title, SimpleGrid, Skeleton, Group, ActionIcon } from '@mantine/core';
+import { PlusIcon } from '@modulz/radix-icons';
+import Link from 'next/link';
export default function Files() {
const [pages, setPages] = useState([]);
const [page, setPage] = useState(1);
const [favoritePages, setFavoritePages] = useState([]);
const [favoritePage, setFavoritePage] = useState(1);
- const [loading, setLoading] = useState(true);
const updatePages = async favorite => {
- setLoading(true);
const pages = await useFetch('/api/user/files?paged=true&filter=media');
if (favorite) {
const fPages = await useFetch('/api/user/files?paged=true&favorite=media');
setFavoritePages(fPages);
}
setPages(pages);
- setLoading(false);
};
useEffect(() => {
@@ -30,59 +27,76 @@ export default function Files() {
return (
<>
-
- {!pages.length ? (
-
- No Files
-
- ) : Files}
- {favoritePages.length ? (
- t.palette.divider }} elevation={0}>
- }>
- Favorite Files
-
-
-
- {favoritePages.length ? favoritePages[(favoritePage - 1) ?? 0].map(image => (
-
- updatePages(true)} />
-
- )) : null}
-
- {favoritePages.length ? (
-
- setFavoritePage(v)}/>
-
- ) : null}
-
-
- ) : null}
-
+
+ Files
+
+
+
+
+ ({
+ marginTop: 2,
+ border: '1px solid',
+ marginBottom: 12,
+ borderColor: t.colorScheme === 'dark' ? t.colors.dark[6] : t.colors.gray[0] ,
+ })}
+ >
+ Favorite Files}>
+
+ {favoritePages.length ? favoritePages[(favoritePage - 1) ?? 0].map(image => (
+
+ updatePages(true)} />
+
+ )) : null}
+
+
+
+
+
+
+
{pages.length ? pages[(page - 1) ?? 0].map(image => (
-
-
-
- )) : null}
-
+
+ updatePages(true)} />
+
+ )) : [1,2,3,4].map(x => (
+
+
+
+ ))}
+
{pages.length ? (
- setPage(v)}/>
+
) : null}
>
diff --git a/src/components/pages/Manage.tsx b/src/components/pages/Manage.tsx
index 469b912..418d9cd 100644
--- a/src/components/pages/Manage.tsx
+++ b/src/components/pages/Manage.tsx
@@ -1,72 +1,21 @@
-import React, { useState } from 'react';
-import { Button, Box, Typography, MenuItem, Tooltip } from '@mui/material';
-import Download from '@mui/icons-material/Download';
+import React from 'react';
-import { useFormik } from 'formik';
-import * as yup from 'yup';
import useFetch from 'hooks/useFetch';
-import Backdrop from 'components/Backdrop';
-import Alert from 'components/Alert';
-import TextInput from 'components/input/TextInput';
-import Select from 'components/input/Select';
import Link from 'components/Link';
import { useStoreDispatch, useStoreSelector } from 'lib/redux/store';
import { updateUser } from 'lib/redux/reducers/user';
-import { useRouter } from 'next/router';
-
-const validationSchema = yup.object({
- username: yup
- .string()
- .required('Username is required'),
-});
-
-const themeValidationSchema = yup.object({
- type: yup
- .string()
- .required('Type (dark, light) is required is required'),
- primary: yup
- .string()
- .required('Primary color is required')
- .matches(/\#[0-9A-Fa-f]{6}/g, { message: 'Not a valid hex color' }),
- secondary: yup
- .string()
- .required('Secondary color is required')
- .matches(/\#[0-9A-Fa-f]{6}/g, { message: 'Not a valid hex color' }),
- error: yup
- .string()
- .required('Error color is required')
- .matches(/\#[0-9A-Fa-f]{6}/g, { message: 'Not a valid hex color' }),
- warning: yup
- .string()
- .required('Warning color is required')
- .matches(/\#[0-9A-Fa-f]{6}/g, { message: 'Not a valid hex color' }),
- info: yup
- .string()
- .required('Info color is required')
- .matches(/\#[0-9A-Fa-f]{6}/g, { message: 'Not a valid hex color' }),
- border: yup
- .string()
- .required('Border color is required')
- .matches(/\#[0-9A-Fa-f]{6}/g, { message: 'Not a valid hex color' }),
- mainBackground: yup
- .string()
- .required('Main Background is required')
- .matches(/\#[0-9A-Fa-f]{6}/g, { message: 'Not a valid hex color' }),
- paperBackground: yup
- .string()
- .required('Paper Background is required')
- .matches(/\#[0-9A-Fa-f]{6}/g, { message: 'Not a valid hex color' }),
-
-});
+import { useForm } from '@mantine/hooks';
+import { Tooltip, TextInput, Button, Text, Title, Group, ColorInput } from '@mantine/core';
+import { DownloadIcon } from '@modulz/radix-icons';
function VarsTooltip({ children }) {
return (
-
- {'{image.file}'} - file name
- {'{image.mimetype}'} - mimetype
- {'{image.id}'} - id of the image
- {'{user.name}'} - your username
+ {'{image.file}'} - file name
+ {'{image.mimetype}'} - mimetype
+ {'{image.id}'} - id of the image
+ {'{user.name}'} - your username
visit the docs for more variables
>
}>
@@ -78,12 +27,6 @@ function VarsTooltip({ children }) {
export default function Manage() {
const user = useStoreSelector(state => state.user);
const dispatch = useStoreDispatch();
- const router = useRouter();
-
- const [loading, setLoading] = useState(false);
- const [open, setOpen] = useState(false);
- const [severity, setSeverity] = useState('success');
- const [message, setMessage] = useState('Saved');
const genShareX = (withEmbed: boolean = false, withZws: boolean = false) => {
const config = {
@@ -111,7 +54,7 @@ export default function Manage() {
pseudoElement.parentNode.removeChild(pseudoElement);
};
- const formik = useFormik({
+ const form = useForm({
initialValues: {
username: user.username,
password: '',
@@ -119,142 +62,58 @@ export default function Manage() {
embedColor: user.embedColor,
embedSiteName: user.embedSiteName ?? '',
},
- validationSchema,
- onSubmit: async values => {
- const cleanUsername = values.username.trim();
- const cleanPassword = values.password.trim();
- const cleanEmbedTitle = values.embedTitle.trim();
- const cleanEmbedColor = values.embedColor.trim();
- const cleanEmbedSiteName = values.embedSiteName.trim();
-
- if (cleanUsername === '') return formik.setFieldError('username', 'Username can\'t be nothing');
-
- setLoading(true);
-
- const data = {
- username: cleanUsername,
- password: cleanPassword === '' ? null : cleanPassword,
- embedTitle: cleanEmbedTitle === '' ? null : cleanEmbedTitle,
- embedColor: cleanEmbedColor === '' ? null : cleanEmbedColor,
- embedSiteName: cleanEmbedSiteName === '' ? null : cleanEmbedSiteName,
- };
-
- const newUser = await useFetch('/api/user', 'PATCH', data);
-
- if (newUser.error) {
- setLoading(false);
- setMessage('An error occured');
- setSeverity('error');
- setOpen(true);
- } else {
- dispatch(updateUser(newUser));
- setLoading(false);
- setMessage('Saved user');
- setSeverity('success');
- setOpen(true);
- }
- },
});
- const customThemeFormik = useFormik({
- initialValues: {
- type: user.customTheme?.type || 'dark',
- primary: user.customTheme?.primary || '',
- secondary: user.customTheme?.secondary || '',
- error: user.customTheme?.error || '',
- warning: user.customTheme?.warning || '',
- info: user.customTheme?.info || '',
- border: user.customTheme?.border || '',
- mainBackground: user.customTheme?.mainBackground || '',
- paperBackground: user.customTheme?.paperBackground || '',
- },
- validationSchema: themeValidationSchema,
- onSubmit: async values => {
- setLoading(true);
- const newUser = await useFetch('/api/user', 'PATCH', { customTheme: values });
+ const onSubmit = async values => {
+ const cleanUsername = values.username.trim();
+ const cleanPassword = values.password.trim();
+ const cleanEmbedTitle = values.embedTitle.trim();
+ const cleanEmbedColor = values.embedColor.trim();
+ const cleanEmbedSiteName = values.embedSiteName.trim();
- if (newUser.error) {
- setLoading(false);
- setMessage('An error occured');
- setSeverity('error');
- setOpen(true);
- } else {
- dispatch(updateUser(newUser));
- router.replace(router.pathname);
- setLoading(false);
- setMessage('Saved theme');
- setSeverity('success');
- setOpen(true);
- }
- },
- });
+ if (cleanUsername === '') return form.setFieldError('username', 'Username can\'t be nothing');
+
+ const data = {
+ username: cleanUsername,
+ password: cleanPassword === '' ? null : cleanPassword,
+ embedTitle: cleanEmbedTitle === '' ? null : cleanEmbedTitle,
+ embedColor: cleanEmbedColor === '' ? null : cleanEmbedColor,
+ embedSiteName: cleanEmbedSiteName === '' ? null : cleanEmbedSiteName,
+ };
+
+ const newUser = await useFetch('/api/user', 'PATCH', data);
+
+ if (newUser.error) {
+ } else {
+ dispatch(updateUser(newUser));
+ }
+ };
return (
<>
-
-
-
- Manage User
+ Manage User
- Want to use variables in embed text? Hover on this or visit the docs for more variables
+ Want to use variables in embed text? Hover on this or visit the docs for more variables
-
- Manage Theme
-
- ShareX Config
-
-
-
+
+ ShareX Config
+
+
+
+
+
>
);
}
diff --git a/src/components/pages/Stats.tsx b/src/components/pages/Stats.tsx
new file mode 100644
index 0000000..3727e95
--- /dev/null
+++ b/src/components/pages/Stats.tsx
@@ -0,0 +1,118 @@
+import React, { useEffect, useState } from 'react';
+
+import Card from 'components/Card';
+import Image from 'components/Image';
+import ImagesTable from 'components/ImagesTable';
+import useFetch from 'lib/hooks/useFetch';
+import { useStoreSelector } from 'lib/redux/store';
+import { Box, Text, Table, Skeleton, Title, SimpleGrid } from '@mantine/core';
+import { randomId, useClipboard } from '@mantine/hooks';
+import Link from 'components/Link';
+import { CopyIcon, Cross1Icon, TrashIcon } from '@modulz/radix-icons';
+import { useNotifications } from '@mantine/notifications';
+
+type Aligns = 'inherit' | 'right' | 'left' | 'center' | 'justify';
+
+export function bytesToRead(bytes: number) {
+ if (isNaN(bytes)) return '0.0 B';
+ if (bytes === Infinity) return '0.0 B';
+ const units = ['B', 'kB', 'MB', 'GB', 'TB', 'PB'];
+ let num = 0;
+
+ while (bytes > 1024) {
+ bytes /= 1024;
+ ++num;
+ }
+
+ return `${bytes.toFixed(1)} ${units[num]}`;
+}
+
+function StatText({ children }) {
+ return {children};
+}
+
+function StatTable({ rows, columns }) {
+ return (
+
+
+
+
+ {columns.map(col => (
+ {col.name} |
+ ))}
+
+
+
+ {rows.map(row => (
+
+ {columns.map(col => (
+
+ {col.format ? col.format(row[col.id]) : row[col.id]}
+ |
+ ))}
+
+ ))}
+
+
+
+ );
+}
+
+export default function Dashboard() {
+ const user = useStoreSelector(state => state.user);
+
+ const [stats, setStats] = useState(null);
+
+ const update = async () => {
+ const stts = await useFetch('/api/stats');
+ setStats(stts);
+ };
+
+ useEffect(() => {
+ update();
+ }, []);
+
+ return (
+ <>
+ Stats
+
+
+ {stats ? stats.size : }
+ Average Size
+ {stats ? bytesToRead(stats.size_num / stats.count) : }
+
+
+ {stats ? stats.count : }
+ Views
+ {stats ? `${stats.views_count} (${isNaN(stats.views_count / stats.count) ? 0 : Math.round(stats.views_count / stats.count)})` : }
+
+
+ {stats ? stats.count_users : }
+
+
+
+
+
+
+
+
+
+ >
+ );
+}
\ No newline at end of file
diff --git a/src/components/pages/Upload.tsx b/src/components/pages/Upload.tsx
index c840473..9d0adbf 100644
--- a/src/components/pages/Upload.tsx
+++ b/src/components/pages/Upload.tsx
@@ -1,39 +1,65 @@
import React, { useEffect, useState } from 'react';
-import { Typography, Button, CardActionArea, Paper, Box } from '@mui/material';
-import { Upload as UploadIcon } from '@mui/icons-material';
-import Dropzone from 'react-dropzone';
-import Backdrop from 'components/Backdrop';
-import Alert from 'components/Alert';
import { useStoreSelector } from 'lib/redux/store';
-import CenteredBox from 'components/CenteredBox';
-import copy from 'copy-to-clipboard';
import Link from 'components/Link';
+import { Button, Group, Text, useMantineTheme } from '@mantine/core';
+import { ImageIcon, UploadIcon, CrossCircledIcon } from '@modulz/radix-icons';
+import { Dropzone } from '@mantine/dropzone';
+import { useNotifications } from '@mantine/notifications';
+import { useClipboard } from '@mantine/hooks';
+
+function ImageUploadIcon({ status, ...props }) {
+ if (status.accepted) {
+ return ;
+ }
+
+ if (status.rejected) {
+ return ;
+ }
+
+ return ;
+}
+
+function getIconColor(status, theme) {
+ return status.accepted
+ ? theme.colors[theme.primaryColor][6]
+ : status.rejected
+ ? theme.colors.red[6]
+ : theme.colorScheme === 'dark'
+ ? theme.colors.dark[0]
+ : theme.black;
+}
export default function Upload({ route }) {
+ const theme = useMantineTheme();
+ const notif = useNotifications();
+ const clipboard = useClipboard();
const user = useStoreSelector(state => state.user);
const [files, setFiles] = useState([]);
- const [loading, setLoading] = useState(false);
- const [open, setOpen] = useState(false);
- const [severity, setSeverity] = useState('success');
- const [message, setMessage] = useState('Saved');
useEffect(() => {
window.addEventListener('paste', (e: ClipboardEvent) => {
const item = Array.from(e.clipboardData.items).find(x => /^image/.test(x.type));
const blob = item.getAsFile();
setFiles([...files, new File([blob], blob.name, { type: blob.type })]);
+ notif.showNotification({
+ title: 'Image Imported',
+ message: '',
+ });
});
});
const handleUpload = async () => {
const body = new FormData();
-
-
for (let i = 0; i !== files.length; ++i) body.append('file', files[i]);
- setLoading(true);
+ const id = notif.showNotification({
+ title: 'Uploading Images...',
+ message: '',
+ loading: true,
+ });
+
const res = await fetch('/api/upload', {
method: 'POST',
headers: {
@@ -43,63 +69,52 @@ export default function Upload({ route }) {
});
const json = await res.json();
if (res.ok && json.error === undefined) {
- setOpen(true);
- setSeverity('success');
-
- //@ts-ignore
- setMessage(<>Copied first image to clipboard!
{json.files.map(x => ({x}
))}>);
- copy(json.url);
+ notif.updateNotification(id, {
+ title: 'Upload Successful',
+ message: <>Copied first image to clipboard!
{json.files.map(x => ({x}
))}>,
+ color: 'green',
+ icon: ,
+ });
+ clipboard.copy(json.url);
setFiles([]);
} else {
- setOpen(true);
- setSeverity('error');
- setMessage('Could not upload file: ' + json.error);
+ notif.updateNotification(id, {
+ title: 'Upload Failed',
+ message: json.error,
+ color: 'red',
+ icon: ,
+ });
}
- setLoading(false);
};
return (
<>
-
-
+ setFiles([...files, ...f])}
+ >
+ {(status) => (
+ <>
+
+
- Upload file
- setFiles([...files, ...acceptedFiles])}>
- {({getRootProps, getInputProps}) => (
-
-
-
-
- Drag an image or click to upload an image.
- {files.map(file => (
- {file.name}
- ))}
-
-
+
+
+ Drag images here or click to select files
+
+
+
+
+ {files.map(file => ({file.name}))}
+
+ >
)}
-
-
-
-
+
+ } mt={12} onClick={handleUpload}>Upload
+
>
);
}
diff --git a/src/components/pages/Urls.tsx b/src/components/pages/Urls.tsx
index 997a901..cc9ba9a 100644
--- a/src/components/pages/Urls.tsx
+++ b/src/components/pages/Urls.tsx
@@ -1,179 +1,161 @@
import React, { useEffect, useState } from 'react';
-import { Grid, Card, CardHeader, Box, Typography, IconButton, Link, Dialog, DialogContent, DialogActions, Button, DialogTitle, TextField } from '@mui/material';
-import { ContentCopy as CopyIcon, DeleteForever as DeleteIcon, Add as AddIcon } from '@mui/icons-material';
-import Backdrop from 'components/Backdrop';
import useFetch from 'hooks/useFetch';
-import Alert from 'components/Alert';
-import copy from 'copy-to-clipboard';
-import { useFormik } from 'formik';
import { useStoreSelector } from 'lib/redux/store';
-import * as yup from 'yup';
-
-function TextInput({ id, label, formik, ...other }) {
- return (
-
- );
-}
+import { useClipboard, useForm } from '@mantine/hooks';
+import { CopyIcon, Cross1Icon, Link1Icon, PlusIcon, TrashIcon } from '@modulz/radix-icons';
+import { useNotifications } from '@mantine/notifications';
+import { Modal, Title, Group, Button, Box, Card, TextInput, ActionIcon, SimpleGrid, Skeleton } from '@mantine/core';
export default function Urls() {
const user = useStoreSelector(state => state.user);
+ const notif = useNotifications();
+ const clipboard = useClipboard();
- const [loading, setLoading] = useState(true);
const [urls, setURLS] = useState([]);
- const [open, setOpen] = useState(false);
const [createOpen, setCreateOpen] = useState(false);
- const [severity, setSeverity] = useState('success');
- const [message, setMessage] = useState('Deleted');
const updateURLs = async () => {
- setLoading(true);
const urls = await useFetch('/api/user/urls');
setURLS(urls);
- setLoading(false);
};
const deleteURL = async u => {
const url = await useFetch('/api/user/urls', 'DELETE', { id: u.id });
if (url.error) {
- setSeverity('error');
- setMessage('Error: ' + url.error);
- setOpen(true);
+ notif.showNotification({
+ title: 'Failed to delete URL',
+ message: url.error,
+ icon: ,
+ color: 'red',
+ });
} else {
- setSeverity('success');
- setMessage(`Deleted ${u.vanity ?? u.id}`);
- setOpen(true);
+ notif.showNotification({
+ title: 'Deleted URL',
+ message: '',
+ icon: ,
+ color: 'green',
+ });
}
updateURLs();
};
const copyURL = u => {
- copy(`${window.location.protocol}//${window.location.host}${u.url}`);
- setSeverity('success');
- setMessage(`Copied URL: ${window.location.protocol}//${window.location.host}${u.url}`);
- setOpen(true);
+ clipboard.copy(`${window.location.protocol}//${window.location.host}${u.url}`);
+ notif.showNotification({
+ title: 'Copied to clipboard',
+ message: '',
+ icon: ,
+ });
};
- const formik = useFormik({
+ const form = useForm({
initialValues: {
url: '',
vanity: '',
},
- validationSchema: yup.object({
-
- }),
- onSubmit: async (values) => {
- const cleanURL = values.url.trim();
- const cleanVanity = values.vanity.trim();
-
- if (cleanURL === '') return formik.setFieldError('username', 'Username can\'t be nothing');
-
- const data = {
- url: cleanURL,
- vanity: cleanVanity === '' ? null : cleanVanity,
- };
-
- setCreateOpen(false);
- setLoading(true);
- const res = await fetch('/api/shorten', {
- method: 'POST',
- headers: {
- 'Authorization': user.token,
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify(data),
- });
- const json = await res.json();
-
- if (json.error) {
- setSeverity('error');
- setMessage('Could\'nt create URL: ' + json.error);
- setOpen(true);
- } else {
- setSeverity('success');
- setMessage('Copied URL: ' + json.url);
- copy(json.url);
- setOpen(true);
- setCreateOpen(false);
- updateURLs();
- }
- setLoading(false);
- },
});
+ const onSubmit = async (values) => {
+ const cleanURL = values.url.trim();
+ const cleanVanity = values.vanity.trim();
+
+ if (cleanURL === '') return form.setFieldError('url', 'URL can\'t be nothing');
+
+ const data = {
+ url: cleanURL,
+ vanity: cleanVanity === '' ? null : cleanVanity,
+ };
+
+ setCreateOpen(false);
+ const res = await fetch('/api/shorten', {
+ method: 'POST',
+ headers: {
+ 'Authorization': user.token,
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify(data),
+ });
+ const json = await res.json();
+
+ if (json.error) {
+ notif.showNotification({
+ title: 'Failed to create URL',
+ message: json.error,
+ color: 'red',
+ icon: ,
+ });
+ } else {
+ notif.showNotification({
+ title: 'URL shortened',
+ message: json.url,
+ color: 'green',
+ icon: ,
+ });
+ }
+
+ updateURLs();
+ };
+
useEffect(() => {
updateURLs();
}, []);
return (
<>
-
-
+ setCreateOpen(false)}
+ title={Shorten URL}
+ >
+
- {!urls.length ? (
-
- No URLs setCreateOpen(true)}>
-
- ) : URLs setCreateOpen(true)}>}
+
+ URLs
+ setCreateOpen(true)}>
+
-
+
{urls.length ? urls.map(url => (
-
-
-
- copyURL(url)}>
-
-
- deleteURL(url)}>
-
-
- >
- }
- title={url.vanity ?? url.id}
- subheader={{url.destination}}
- />
-
-
- )) : null}
-
+
+
+
+ {url.vanity ?? url.id}
+
+
+
+ copyURL(url)}>
+
+
+ deleteURL(url)}>
+
+
+
+
+
+ )) : [1,2,3,4,5,6,7].map(x => (
+
+
+
+ ))}
+
>
);
}
\ No newline at end of file
diff --git a/src/components/pages/Users.tsx b/src/components/pages/Users.tsx
index b1efb19..cafd223 100644
--- a/src/components/pages/Users.tsx
+++ b/src/components/pages/Users.tsx
@@ -1,152 +1,92 @@
import React, { useState, useEffect } from 'react';
-import {
- Typography,
- Card as MuiCard,
- CardHeader,
- Avatar,
- IconButton,
- Grid,
- Dialog,
- DialogTitle,
- DialogContent,
- DialogActions,
- Button,
- TextField,
- Switch,
- FormControlLabel,
-} from '@mui/material';
-import { Delete as DeleteIcon, Add as AddIcon } from '@mui/icons-material';
import { useStoreSelector } from 'lib/redux/store';
-import Backdrop from 'components/Backdrop';
-import Alert from 'components/Alert';
import useFetch from 'hooks/useFetch';
import { useRouter } from 'next/router';
-import { useFormik } from 'formik';
+import { useForm } from '@mantine/hooks';
+import { Avatar, Modal, Title, TextInput, Group, Button, Card, Grid, ActionIcon, SimpleGrid, Switch, Skeleton } from '@mantine/core';
+import { Cross1Icon, PlusIcon, TrashIcon } from '@modulz/radix-icons';
+import { useNotifications } from '@mantine/notifications';
-function Card({ user, handleDelete }) {
- return (
-
- {user.username[0]}}
- action={ handleDelete(user)}>}
- title={{user.username}}
- />
-
- );
-}
-function TextInput({ id, label, formik, ...other }) {
- return (
-
- );
-}
-
-function CreateUserDialog({ open, setOpen, updateUsers, setSeverity, setMessage, setLoading, setAlertOpen }) {
- const formik = useFormik({
+function CreateUserModal({ open, setOpen, updateUsers }) {
+ const form = useForm({
initialValues: {
username: '',
password: '',
administrator: false,
},
- onSubmit: async (values) => {
- const cleanUsername = values.username.trim();
- const cleanPassword = values.password.trim();
- if (cleanUsername === '') return formik.setFieldError('username', 'Username can\'t be nothing');
- if (cleanPassword === '') return formik.setFieldError('password', 'Password can\'t be nothing');
-
- const data = {
- username: cleanUsername,
- password: cleanPassword,
- administrator: values.administrator,
- };
-
- setOpen(false);
- setLoading(true);
- const res = await useFetch('/api/auth/create', 'POST', data);
- if (res.error) {
- setSeverity('error');
- setMessage('Could\'nt create user: ' + res.error);
- setAlertOpen(true);
- } else {
- setSeverity('success');
- setMessage('Created user ' + res.username);
- setAlertOpen(true);
- updateUsers();
- }
- setLoading(false);
- },
});
+ const notif = useNotifications();
+
+ const onSubmit = async (values) => {
+ const cleanUsername = values.username.trim();
+ const cleanPassword = values.password.trim();
+ if (cleanUsername === '') return form.setFieldError('username', 'Username can\'t be nothing');
+ if (cleanPassword === '') return form.setFieldError('password', 'Password can\'t be nothing');
+
+ const data = {
+ username: cleanUsername,
+ password: cleanPassword,
+ administrator: values.administrator,
+ };
+
+ setOpen(false);
+ const res = await useFetch('/api/auth/create', 'POST', data);
+ if (res.error) {
+ notif.showNotification({
+ title: 'Failed to create user',
+ message: res.error,
+ icon: ,
+ color: 'red',
+ });
+ } else {
+ notif.showNotification({
+ title: 'Created user: ' + cleanUsername,
+ message: '',
+ icon: ,
+ color: 'green',
+ });
+ }
+
+ updateUsers();
+ };
return (
-
-
-
+ setOpen(false)}
+ title={Create User}
+ >
+ onSubmit(v))}>
+
+
+
+
+
+
+
+
+
+
);
}
export default function Users() {
const user = useStoreSelector(state => state.user);
const router = useRouter();
+ const notif = useNotifications();
const [users, setUsers] = useState([]);
const [open, setOpen] = useState(false);
- const [createOpen, setCreateOpen] = useState(false);
- const [severity, setSeverity] = useState('success');
- const [message, setMessage] = useState('Saved');
- const [loading, setLoading] = useState(true);
const updateUsers = async () => {
- setLoading(true);
const us = await useFetch('/api/users');
if (!us.error) {
setUsers(us);
} else {
router.push('/dashboard');
};
- setLoading(false);
};
const handleDelete = async (user) => {
@@ -154,15 +94,22 @@ export default function Users() {
id: user.id,
});
if (res.error) {
- setMessage(`Could not delete ${user.username}`);
- setSeverity('error');
- setOpen(true);
+ notif.showNotification({
+ title: 'Failed to delete user',
+ message: res.error,
+ color: 'red',
+ icon: ,
+ });
} else {
- setMessage(`Deleted user ${res.username}`);
- setSeverity('success');
- setOpen(true);
- updateUsers();
+ notif.showNotification({
+ title: 'User deleted',
+ message: '',
+ color: 'green',
+ icon: ,
+ });
}
+
+ updateUsers();
};
useEffect(() => {
@@ -171,17 +118,38 @@ export default function Users() {
return (
<>
-
-
-
- Users setCreateOpen(true)}>
-
- {users.filter(x => x.username !== user.username).map((user, i) => (
-
-
-
+
+
+ Users
+ setOpen(true)}>
+
+
+ {users.length ? users.filter(x => x.username !== user.username).map((user, i) => (
+
+
+
+ {user.username[0]}
+ {user.username}
+
+
+ handleDelete(user)}>
+
+
+
+
+
+ )): [1,2,3,4].map(x => (
+
+
+
))}
-
+
>
);
}
\ No newline at end of file
diff --git a/src/lib/hooks/useLogin.ts b/src/lib/hooks/useLogin.ts
index 1a78d75..0df2605 100644
--- a/src/lib/hooks/useLogin.ts
+++ b/src/lib/hooks/useLogin.ts
@@ -16,7 +16,7 @@ export default function login() {
setLoading(true);
const res = await useFetch('/api/user');
- if (res.error) return router.push('/auth/login');
+ if (res.error) return router.push('/auth/login?url=' + router.route);
dispatch(updateUser(res));
setUser(res);
diff --git a/src/lib/middleware/withZipline.ts b/src/lib/middleware/withZipline.ts
index c7d26a9..112ab26 100644
--- a/src/lib/middleware/withZipline.ts
+++ b/src/lib/middleware/withZipline.ts
@@ -1,6 +1,5 @@
import type { NextApiRequest, NextApiResponse } from 'next';
import type { CookieSerializeOptions } from 'cookie';
-import type { Image, Theme, User } from '@prisma/client';
import { serialize } from 'cookie';
import { sign64, unsign64 } from '../util';
@@ -23,7 +22,6 @@ export type NextApiReq = NextApiRequest & {
embedTitle: string;
embedColor: string;
systemTheme: string;
- customTheme?: Theme;
administrator: boolean;
id: number;
password: string;
@@ -111,7 +109,6 @@ export const withZipline = (handler: (req: NextApiRequest, res: NextApiResponse)
id: true,
password: true,
systemTheme: true,
- customTheme: true,
token: true,
username: true,
},
diff --git a/src/lib/redux/reducers/user.ts b/src/lib/redux/reducers/user.ts
index 4500c12..b51c6d2 100644
--- a/src/lib/redux/reducers/user.ts
+++ b/src/lib/redux/reducers/user.ts
@@ -1,4 +1,3 @@
-import { Theme } from '@prisma/client';
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
export interface User {
@@ -8,7 +7,6 @@ export interface User {
embedColor: string;
embedSiteName: string;
systemTheme: string;
- customTheme?: Theme;
}
const initialState: User = null;
diff --git a/src/lib/themes/ayu_dark.ts b/src/lib/themes/ayu_dark.ts
index b9f8c76..0a0be20 100644
--- a/src/lib/themes/ayu_dark.ts
+++ b/src/lib/themes/ayu_dark.ts
@@ -3,15 +3,36 @@
import createTheme from '.';
export default createTheme({
- type: 'dark',
- primary: '#E6B450',
- secondary: '#FFEE99',
- error: '#F07178',
- warning: '#F29668',
- info: '#95E6CB',
- border: '#191e29',
- background: {
- main: '#0A0E14',
- paper: '#0D1016',
+ colorScheme: 'dark',
+ primaryColor: 'orange',
+ other: {
+ AppShell_backgroundColor: '#0a0e14',
+ hover: '#191e29',
+ },
+ colors: {
+ dark: [
+ '#ffffff',
+ '#47494E',
+ '#6c707a',
+ '#33353B',
+ '#303238',
+ '#2C2E34',
+ '#25272D',
+ '#0d1016',
+ '#11141A',
+ '#0D1016',
+ ],
+ orange: [
+ '#FFFFFF',
+ '#FCF6EA',
+ '#F9EDD4',
+ '#F3DAA8',
+ '#F2D69D',
+ '#F0D192',
+ '#EFCC87',
+ '#EDC77C',
+ '#EABE66',
+ '#E6B450',
+ ],
},
});
\ No newline at end of file
diff --git a/src/lib/themes/ayu_light.ts b/src/lib/themes/ayu_light.ts
index 7cab8da..04106e4 100644
--- a/src/lib/themes/ayu_light.ts
+++ b/src/lib/themes/ayu_light.ts
@@ -3,15 +3,24 @@
import createTheme from '.';
export default createTheme({
- type: 'light',
- primary: '#FF9940',
- secondary: '#E6BA7E',
- error: '#F07171',
- warning: '#ED9366',
- info: '#95E6CB',
- border: '#e3e3e3',
- background: {
- main: '#FAFAFA',
- paper: '#FFFFFF',
+ colorScheme: 'light',
+ primaryColor: 'orange',
+ other: {
+ AppShell_backgroundColor: '#FAFAFA',
+ hover: '#FAFAFA',
+ },
+ colors: {
+ orange: [
+ '#FFFFFF',
+ '#FCF6EA',
+ '#F9EDD4',
+ '#F3DAA8',
+ '#F2D69D',
+ '#F0D192',
+ '#EFCC87',
+ '#EDC77C',
+ '#EABE66',
+ '#E6B450',
+ ],
},
});
\ No newline at end of file
diff --git a/src/lib/themes/ayu_mirage.ts b/src/lib/themes/ayu_mirage.ts
index 50d3cdb..4d3d0db 100644
--- a/src/lib/themes/ayu_mirage.ts
+++ b/src/lib/themes/ayu_mirage.ts
@@ -3,15 +3,36 @@
import createTheme from '.';
export default createTheme({
- type: 'dark',
- primary: '#FFCC66',
- secondary: '#FFD580',
- error: '#F28779',
- warning: '#F29E74',
- info: '#95E6CB',
- border: '#363c4d',
- background: {
- main: '#1F2430',
- paper: '#232834',
+ colorScheme: 'dark',
+ primaryColor: 'orange',
+ other: {
+ AppShell_backgroundColor: '#1F2430',
+ hover: '#2a2f3b',
+ },
+ colors: {
+ dark: [
+ '#ffffff',
+ '#91949A',
+ '#6c707a',
+ '#3F434E',
+ '#313641',
+ '#2A2F3B',
+ '#2e333e',
+ '#232834',
+ '#11141A',
+ '#0D1016',
+ ],
+ orange: [
+ '#FFFFFF',
+ '#FCF6EA',
+ '#F9EDD4',
+ '#F3DAA8',
+ '#F2D69D',
+ '#F0D192',
+ '#EFCC87',
+ '#EDC77C',
+ '#EABE66',
+ '#E6B450',
+ ],
},
});
\ No newline at end of file
diff --git a/src/lib/themes/dark.ts b/src/lib/themes/dark.ts
index 8a7e175..fd70e54 100644
--- a/src/lib/themes/dark.ts
+++ b/src/lib/themes/dark.ts
@@ -1,15 +1,36 @@
import createTheme from '.';
export default createTheme({
- type: 'dark',
- primary: '#2c39a6',
- secondary: '#7344e2',
- error: '#ff4141',
- warning: '#ff9800',
- info: '#2f6fb9',
- border: '#2b2b2b',
- background: {
- main: '#000000',
- paper: '#060606',
+ colorScheme: 'dark',
+ primaryColor: 'blue',
+ other: {
+ AppShell_backgroundColor: '#000000',
+ hover: '#2b2b2b',
+ },
+ colors: {
+ dark: [
+ '#ffffff',
+ '#A7A9AD',
+ '#7B7E84',
+ '#61646A',
+ '#54575D',
+ '#46494F',
+ '#3C3F44',
+ '#060606',
+ '#141517',
+ '#000000',
+ ],
+ blue: [
+ '#FFFFFF',
+ '#7C7DC2',
+ '#7778C0',
+ '#6C6FBC',
+ '#575DB5',
+ '#4D54B2',
+ '#424BAE',
+ '#3742AA',
+ '#323EA8',
+ '#2C39A6',
+ ],
},
});
\ No newline at end of file
diff --git a/src/lib/themes/dark_blue.ts b/src/lib/themes/dark_blue.ts
index d94b8ff..d054505 100644
--- a/src/lib/themes/dark_blue.ts
+++ b/src/lib/themes/dark_blue.ts
@@ -1,15 +1,36 @@
import createTheme from '.';
export default createTheme({
- type: 'dark',
- primary: '#2c39a6',
- secondary: '#7344e2',
- error: '#ff4141',
- warning: '#ff9800',
- info: '#2f6fb9',
- border: '#1b2541',
- background: {
- main: '#05070f',
- paper: '#0c101c',
+ colorScheme: 'dark',
+ primaryColor: 'blue',
+ other: {
+ AppShell_backgroundColor: '#05070f',
+ hover: '#181c28',
+ },
+ colors: {
+ dark: [
+ '#FFFFFF',
+ '#293747',
+ '#6C7A8D',
+ '#232F41',
+ '#41566e',
+ '#171F35',
+ '#181c28',
+ '#0c101c',
+ '#060824',
+ '#00001E',
+ ],
+ blue: [
+ '#FFFFFF',
+ '#7C7DC2',
+ '#7778C0',
+ '#6C6FBC',
+ '#575DB5',
+ '#4D54B2',
+ '#424BAE',
+ '#3742AA',
+ '#323EA8',
+ '#2C39A6',
+ ],
},
});
\ No newline at end of file
diff --git a/src/lib/themes/dracula.ts b/src/lib/themes/dracula.ts
index 4cea3f3..77c517e 100644
--- a/src/lib/themes/dracula.ts
+++ b/src/lib/themes/dracula.ts
@@ -3,15 +3,36 @@
import createTheme from '.';
export default createTheme({
- type: 'dark',
- primary: '#BD93F9',
- secondary: '#6272A4',
- error: '#FF5555',
- warning: '#FFB86C',
- info: '#8BE9FD',
- border: '#7D8096',
- background: {
- main: '#282A36',
- paper: '#44475A',
+ colorScheme: 'dark',
+ primaryColor: 'violet',
+ other: {
+ AppShell_backgroundColor: '#282A36',
+ hover: '#4e5062',
},
-});
+ colors: {
+ dark: [
+ '#FFFFFF',
+ '#CED0D4',
+ '#E8E8EB',
+ '#D1D1D6',
+ '#BABAC2',
+ '#A2A3AD',
+ '#4e5062',
+ '#44475A',
+ '#5C5E6F',
+ '#44475A',
+ ],
+ violet: [
+ '#FFFFFF',
+ '#F7F2FF',
+ '#EFE4FE',
+ '#EBDEFE',
+ '#E7D7FD',
+ '#DEC9FC',
+ '#D6BCFC',
+ '#CEAEFB',
+ '#C6A1FA',
+ '#BD93F9',
+ ],
+ },
+});
\ No newline at end of file
diff --git a/src/lib/themes/index.ts b/src/lib/themes/index.ts
index d336857..18fc09b 100644
--- a/src/lib/themes/index.ts
+++ b/src/lib/themes/index.ts
@@ -1,54 +1,5 @@
-import { createTheme as muiCreateTheme } from '@mui/material/styles';
+import { MantineThemeOverride } from '@mantine/core';
-export interface ThemeOptions {
- type: 'dark' | 'light';
- primary: string;
- secondary: string;
- error: string;
- warning: string;
- info: string;
- border: string;
- background: ThemeOptionsBackground;
-}
-
-export interface ThemeOptionsBackground {
- main: string;
- paper: string;
-}
-
-export default function createTheme(o: ThemeOptions) {
- return muiCreateTheme({
- palette: {
- mode: o.type,
- primary: {
- main: o.primary,
- },
- secondary: {
- main: o.secondary,
- },
- background: {
- default: o.background.main,
- paper: o.background.paper,
- },
- error: {
- main: o.error,
- },
- warning: {
- main: o.warning,
- },
- info: {
- main: o.info,
- },
- divider: o.border,
- },
- components: {
- MuiTableHead: {
- styleOverrides: {
- root: {
- backgroundColor: o.border,
- },
- },
- },
- },
- });
+export default function createTheme(o: MantineThemeOverride) {
+ return o;
}
\ No newline at end of file
diff --git a/src/lib/themes/light_blue.ts b/src/lib/themes/light_blue.ts
new file mode 100644
index 0000000..d7a1a75
--- /dev/null
+++ b/src/lib/themes/light_blue.ts
@@ -0,0 +1,24 @@
+import createTheme from '.';
+
+export default createTheme({
+ colorScheme: 'light',
+ primaryColor: 'blue',
+ other: {
+ AppShell_backgroundColor: '#FAFAFA',
+ hover: '#FAFAFA',
+ },
+ colors: {
+ blue: [
+ '#FFFFFF',
+ '#7C7DC2',
+ '#7778C0',
+ '#6C6FBC',
+ '#575DB5',
+ '#4D54B2',
+ '#424BAE',
+ '#3742AA',
+ '#323EA8',
+ '#2C39A6',
+ ],
+ },
+});
\ No newline at end of file
diff --git a/src/lib/themes/matcha_dark_azul.ts b/src/lib/themes/matcha_dark_azul.ts
index dcbc91e..8e013e4 100644
--- a/src/lib/themes/matcha_dark_azul.ts
+++ b/src/lib/themes/matcha_dark_azul.ts
@@ -1,15 +1,36 @@
import createTheme from '.';
export default createTheme({
- type: 'dark',
- primary: '#3498db',
- secondary: '#7344e2',
- error: '#db5b5b',
- warning: '#ff9800',
- info: '#2f6fb9',
- border: '#14161b',
- background: {
- main: '#1b1d24',
- paper: '#202329',
+ colorScheme: 'dark',
+ primaryColor: 'blue',
+ other: {
+ AppShell_backgroundColor: '#1b1d24',
+ hover: '#3c3f44',
+ },
+ colors: {
+ dark: [
+ '#FFFFFF',
+ '#C8C8CA',
+ '#F5F5F5',
+ '#909194',
+ '#585A5F',
+ '#4A4D52',
+ '#3C3F44',
+ '#202329',
+ '#272A30',
+ '#202329',
+ ],
+ blue: [
+ '#FFFFFF',
+ '#E6F3FB',
+ '#CDE6F6',
+ '#B4D9F2',
+ '#9ACCED',
+ '#8EC6EB',
+ '#81BFE9',
+ '#67B2E4',
+ '#4EA5E0',
+ '#3498DB',
+ ],
},
});
\ No newline at end of file
diff --git a/src/lib/themes/nord.ts b/src/lib/themes/nord.ts
index 3807d8b..c3447f2 100644
--- a/src/lib/themes/nord.ts
+++ b/src/lib/themes/nord.ts
@@ -3,15 +3,36 @@
import createTheme from '.';
export default createTheme({
- type: 'dark',
- primary: '#81A1C1',
- secondary: '#88C0D0',
- error: '#BF616A',
- warning: '#EBCB8B',
- info: '#5E81AC',
- border: '#565e70',
- background: {
- main: '#2E3440',
- paper: '#3B4252',
+ colorScheme: 'dark',
+ primaryColor: 'blue',
+ other: {
+ AppShell_backgroundColor: '#2E3440',
+ hover: '#6c727e',
+ },
+ colors: {
+ dark: [
+ '#FFFFFF',
+ '#CED0D4',
+ '#B6B9BF',
+ '#9DA1A9',
+ '#858A94',
+ '#6C727E',
+ '#606673',
+ '#3B4252',
+ '#484E5D',
+ '#3B4252',
+ ],
+ blue: [
+ '#FFFFFF',
+ '#E0E8F0',
+ '#C0D0E0',
+ '#B9CBDD',
+ '#B1C5D9',
+ '#A1B9D1',
+ '#99B3CD',
+ '#91ADC9',
+ '#89A7C5',
+ '#81A1C1',
+ ],
},
});
\ No newline at end of file
diff --git a/src/lib/themes/polar.ts b/src/lib/themes/polar.ts
deleted file mode 100644
index 0cac1b5..0000000
--- a/src/lib/themes/polar.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-// https://github.com/AlphaNecron/
-// https://github.com/arcticicestudio/nord
-import createTheme from '.';
-
-export default createTheme({
- type: 'light',
- primary: '#81A1C1',
- secondary: '#88C0D0',
- error: '#BF616A',
- warning: '#EBCB8B',
- info: '#5E81AC',
- border: '#989fab',
- background: {
- main: '#D8DEE9',
- paper: '#E5E9F0',
- },
-});
\ No newline at end of file
diff --git a/src/lib/themes/qogir_dark.ts b/src/lib/themes/qogir_dark.ts
index ee375ec..7d7bb9e 100644
--- a/src/lib/themes/qogir_dark.ts
+++ b/src/lib/themes/qogir_dark.ts
@@ -1,15 +1,37 @@
import createTheme from '.';
export default createTheme({
- type: 'dark',
- primary: '#5294e2',
- secondary: '#7344e2',
- error: '##f04a50',
- warning: '#ff9800',
- info: '#2f6fb9',
- border: '#4a4c54',
- background: {
- main: '#32343d',
- paper: '#262830',
+ colorScheme: 'dark',
+ primaryColor: 'blue',
+ other: {
+ AppShell_backgroundColor: '#32343d',
+ hover: '#34363d',
+ },
+ colors: {
+ dark: [
+ '#FFFFFF',
+ '#C9CACC',
+ '#F5F5F5',
+ '#78797E',
+ '#5D5E64',
+ '#42434A',
+ '#34363D',
+ '#262830',
+ '#2A2C34',
+ '#262830',
+ ],
+
+ blue: [
+ '#FFFFFF',
+ '#E6F3FB',
+ '#CDE6F6',
+ '#B4D9F2',
+ '#9ACCED',
+ '#8EC6EB',
+ '#81BFE9',
+ '#67B2E4',
+ '#4EA5E0',
+ '#3498DB',
+ ],
},
});
\ No newline at end of file
diff --git a/src/pages/404.tsx b/src/pages/404.tsx
index 1abb7fe..0cb38b9 100644
--- a/src/pages/404.tsx
+++ b/src/pages/404.tsx
@@ -1,16 +1,18 @@
import React from 'react';
-import { Box, Typography } from '@mui/material';
+import { Box, Text } from '@mantine/core';
export default function FourOhFour() {
return (
<>
- 404 - Not Found
+ 404 - Not Found
>
);
diff --git a/src/pages/[...id].tsx b/src/pages/[...id].tsx
index d4fde6c..de596c7 100644
--- a/src/pages/[...id].tsx
+++ b/src/pages/[...id].tsx
@@ -1,13 +1,16 @@
import React, { useEffect } from 'react';
import Head from 'next/head';
import { GetServerSideProps } from 'next';
-import { Box } from '@mui/material';
+import { Box, useMantineTheme } from '@mantine/core';
import config from 'lib/config';
import prisma from 'lib/prisma';
import { getFile } from '../../server/util';
import { parse } from 'lib/clientUtils';
+import * as exts from '../../scripts/exts';
+import { Prism } from '@mantine/prism';
+import ZiplineTheming from 'components/Theming';
-export default function EmbeddedImage({ image, user, normal }) {
+export default function EmbeddedImage({ image, user }) {
const dataURL = (route: string) => `${route}/${image.file}`;
// reapply date from workaround
@@ -40,10 +43,12 @@ export default function EmbeddedImage({ image, user, normal }) {
{image.file}
@@ -113,20 +118,29 @@ export const getServerSideProps: GetServerSideProps = async (context) => {
//@ts-ignore workaround because next wont allow date
image.created_at = image.created_at.toString();
-
+
+ const prismRender = Object.keys(exts).includes(image.file.split('.').pop());
+ // let prismRenderCode;/
+ // if (prismRender) prismRenderCode = (await getFile(config.uploader.directory, id)).toString();
+ if (prismRender) return {
+ redirect: {
+ destination: `/code/${image.file}`,
+ permanent: true,
+ },
+ };
+
if (!image.mimetype.startsWith('image')) {
const data = await getFile(config.uploader.directory, id);
if (!data) return { notFound: true };
context.res.end(data);
return { props: {} };
- };
+ }
return {
props: {
image,
user,
- normal: config.uploader.route,
},
};
}
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
index 2c175dd..915f861 100644
--- a/src/pages/_app.tsx
+++ b/src/pages/_app.tsx
@@ -1,33 +1,19 @@
import React from 'react';
import { Provider } from 'react-redux';
-import PropTypes from 'prop-types';
import Head from 'next/head';
-import Theming from 'components/Theming';
import { useStore } from 'lib/redux/store';
+import ZiplineTheming from 'components/Theming';
export default function MyApp({ Component, pageProps }) {
const store = useStore();
- React.useEffect(() => {
- const jssStyles = document.querySelector('#jss-server-side');
- if (jssStyles) jssStyles.parentElement.removeChild(jssStyles);
- }, []);
-
return (
{Component.title}
-
+
);
-}
-
-MyApp.propTypes = {
- Component: PropTypes.elementType.isRequired,
- pageProps: PropTypes.object.isRequired,
-};
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx
index a4b4eaf..ad7ef0e 100644
--- a/src/pages/_document.tsx
+++ b/src/pages/_document.tsx
@@ -1,11 +1,11 @@
import React from 'react';
import Document, { Html, Head, Main, NextScript } from 'next/document';
+import { createGetInitialProps } from '@mantine/next';
+
+const getInitialProps = createGetInitialProps();
class MyDocument extends Document {
- static async getInitialProps(ctx) {
- const initialProps = await Document.getInitialProps(ctx);
- return { ...initialProps };
- }
+ static getInitialProps = getInitialProps;
render() {
return (
diff --git a/src/pages/api/auth/login.ts b/src/pages/api/auth/login.ts
index f87aa1c..d9b398b 100644
--- a/src/pages/api/auth/login.ts
+++ b/src/pages/api/auth/login.ts
@@ -32,8 +32,7 @@ async function handler(req: NextApiReq, res: NextApiRes) {
const valid = await checkPassword(password, user.password);
if (!valid) return res.forbid('Wrong password');
- // 604800 seconds is 1 week
- res.setCookie('user', user.id, { sameSite: true, maxAge: 604800, path: '/' });
+ res.setCookie('user', user.id, { sameSite: true, expires: new Date(Date.now() + (6.048e+8 * 2)), path: '/' });
Logger.get('user').info(`User ${user.username} (${user.id}) logged in`);
diff --git a/src/pages/api/user/index.ts b/src/pages/api/user/index.ts
index 9ee0d49..d6013fc 100644
--- a/src/pages/api/user/index.ts
+++ b/src/pages/api/user/index.ts
@@ -51,24 +51,6 @@ async function handler(req: NextApiReq, res: NextApiRes) {
data: { systemTheme: req.body.systemTheme },
});
- if (req.body.customTheme) {
- if (user.customTheme) await prisma.user.update({
- where: { id: user.id },
- data: {
- customTheme: {
- update: {
- ...req.body.customTheme,
- },
- },
- },
- }); else await prisma.theme.create({
- data: {
- userId: user.id,
- ...req.body.customTheme,
- },
- });
- }
-
const newUser = await prisma.user.findFirst({
where: {
id: Number(user.id),
@@ -82,7 +64,6 @@ async function handler(req: NextApiReq, res: NextApiRes) {
images: false,
password: false,
systemTheme: true,
- customTheme: true,
token: true,
username: true,
},
diff --git a/src/pages/api/user/recent.ts b/src/pages/api/user/recent.ts
index 7a09247..cc42f00 100644
--- a/src/pages/api/user/recent.ts
+++ b/src/pages/api/user/recent.ts
@@ -21,6 +21,7 @@ async function handler(req: NextApiReq, res: NextApiRes) {
created_at: true,
file: true,
mimetype: true,
+ id: true,
},
});
diff --git a/src/pages/api/users.ts b/src/pages/api/users.ts
index d535e69..1faa4df 100644
--- a/src/pages/api/users.ts
+++ b/src/pages/api/users.ts
@@ -33,7 +33,6 @@ async function handler(req: NextApiReq, res: NextApiRes) {
token: true,
embedColor: true,
embedTitle: true,
- customTheme: true,
systemTheme: true,
},
});
diff --git a/src/pages/api/version.ts b/src/pages/api/version.ts
new file mode 100644
index 0000000..e8ff981
--- /dev/null
+++ b/src/pages/api/version.ts
@@ -0,0 +1,17 @@
+import { readFile } from 'fs/promises';
+import { NextApiReq, NextApiRes, withZipline } from 'middleware/withZipline';
+
+
+async function handler(req: NextApiReq, res: NextApiRes) {
+ const pkg = JSON.parse(await readFile('package.json', 'utf8'));
+
+ const re = await fetch('https://raw.githubusercontent.com/diced/zipline/trunk/package.json');
+ const upstreamPkg = await re.json();
+
+ return res.json({
+ local: pkg.version,
+ upstream: upstreamPkg.version,
+ });
+}
+
+export default withZipline(handler);
\ No newline at end of file
diff --git a/src/pages/auth/login.tsx b/src/pages/auth/login.tsx
index cd6c73b..33e943a 100644
--- a/src/pages/auth/login.tsx
+++ b/src/pages/auth/login.tsx
@@ -1,82 +1,96 @@
-import React, { useEffect, useState } from 'react';
-import { Typography, Box, TextField, Stack, Button, styled } from '@mui/material';
+import React, { useEffect } from 'react';
import { useRouter } from 'next/router';
-import Alert from 'components/Alert';
-import Backdrop from 'components/Backdrop';
-import TextInput from 'components/input/TextInput';
import useFetch from 'hooks/useFetch';
-import { useFormik } from 'formik';
+import { useForm } from '@mantine/hooks';
+import { TextInput, Button, Center, Title, Box, Badge, Tooltip } from '@mantine/core';
+import { useNotifications } from '@mantine/notifications';
+import { Cross1Icon, DownloadIcon } from '@modulz/radix-icons';
export default function Login() {
- const [open, setOpen] = useState(false);
- const [severity, setSeverity] = useState('success');
- const [message, setMessage] = useState('');
- const [loadingOpen, setLoadingOpen] = useState(false);
const router = useRouter();
+ const notif = useNotifications();
+ const [versions, setVersions] = React.useState<{ upstream: string, local: string }>(null);
- const formik = useFormik({
+ const form = useForm({
initialValues: {
username: '',
password: '',
},
- onSubmit: async values => {
- const username = values.username.trim();
- const password = values.password.trim();
-
- if (username === '') return formik.setFieldError('username', 'Username can\'t be nothing');
-
- setLoadingOpen(true);
- const res = await useFetch('/api/auth/login', 'POST', {
- username, password,
- });
-
- if (res.error) {
- setOpen(true);
- setSeverity('error');
- setMessage(res.error);
- setLoadingOpen(false);
- } else {
- setOpen(true);
- setSeverity('success');
- setMessage('Logged in');
- router.push('/dashboard');
- }
- },
});
+ const onSubmit = async values => {
+ const username = values.username.trim();
+ const password = values.password.trim();
+
+ if (username === '') return form.setFieldError('username', 'Username can\'t be nothing');
+
+ const res = await useFetch('/api/auth/login', 'POST', {
+ username, password,
+ });
+
+ if (res.error) {
+ notif.showNotification({
+ title: 'Login Failed',
+ message: res.error,
+ color: 'red',
+ icon: ,
+ });
+ } else {
+ router.push(router.query.url as string || '/dashboard');
+ }
+ };
+
useEffect(() => {
(async () => {
const a = await fetch('/api/user');
- if (a.ok) router.push('/dashboard');
+ if (a.ok) router.push('/dashboard');
+ else {
+ const v = await useFetch('/api/version');
+ setVersions(v);
+ if (v.local !== v.upstream) {
+ notif.showNotification({
+ title: 'Update available',
+ message: `A new version of Zipline is available. You are running ${v.local} and the latest version is ${v.upstream}.`,
+ icon: ,
+ });
+ }
+ }
})();
}, []);
return (
<>
-
-
-
-
-
- Zipline
-
+
+
+
Zipline
+ onSubmit(v))}>
+
+
-
-
-
-
-
-
+
-
+
+
+
+ {versions && (
+
+ {versions.local}
+
+ )}
>
);
diff --git a/src/pages/auth/logout.tsx b/src/pages/auth/logout.tsx
index bd507e7..c116b89 100644
--- a/src/pages/auth/logout.tsx
+++ b/src/pages/auth/logout.tsx
@@ -1,9 +1,11 @@
-import React, { useEffect } from 'react';
+import React, { useEffect, useState } from 'react';
import { useRouter } from 'next/router';
-import { Backdrop, CircularProgress } from '@mui/material';
+import { LoadingOverlay } from '@mantine/core';
export default function Logout() {
const router = useRouter();
+ const [visible, setVisible] = useState(true);
+
useEffect(() => {
(async () => {
@@ -18,12 +20,7 @@ export default function Logout() {
}, []);
return (
- t.zIndex.drawer + 1 }}
- open
- >
-
-
+
);
}
diff --git a/src/pages/code/[id].tsx b/src/pages/code/[id].tsx
new file mode 100644
index 0000000..1e41bc1
--- /dev/null
+++ b/src/pages/code/[id].tsx
@@ -0,0 +1,23 @@
+import React, { useEffect } from 'react';
+import { useRouter } from 'next/router';
+import exts from '../../../scripts/exts';
+import { Prism } from '@mantine/prism';
+
+export default function Code() {
+ const [prismRenderCode, setPrismRenderCode] = React.useState('');
+ const router = useRouter();
+ const { id } = router.query as { id: string };
+
+ useEffect(() => {
+ (async () => {
+ const res = await fetch('/r/' + id);
+ if (id && !res.ok) router.push('/404');
+ const data = await res.text();
+ if (id) setPrismRenderCode(data);
+ })();
+ }, [id]);
+
+ return id && prismRenderCode ? (
+ ({ height: '100vh', backgroundColor: t.colors.dark[8] })} withLineNumbers language={exts[id.split('.').pop()]}>{prismRenderCode}
+ ) : null;
+}
\ No newline at end of file
diff --git a/src/pages/dashboard/files.tsx b/src/pages/dashboard/files.tsx
index 03b4c22..1fda2eb 100644
--- a/src/pages/dashboard/files.tsx
+++ b/src/pages/dashboard/files.tsx
@@ -11,8 +11,6 @@ export default function FilesPage() {
return (
diff --git a/src/pages/dashboard/index.tsx b/src/pages/dashboard/index.tsx
index dc1df50..bf685c4 100644
--- a/src/pages/dashboard/index.tsx
+++ b/src/pages/dashboard/index.tsx
@@ -5,14 +5,11 @@ import Dashboard from 'components/pages/Dashboard';
export default function DashboardPage() {
const { user, loading } = useLogin();
-
if (loading) return null;
return (
diff --git a/src/pages/dashboard/manage.tsx b/src/pages/dashboard/manage.tsx
index ba1f57f..3153ec1 100644
--- a/src/pages/dashboard/manage.tsx
+++ b/src/pages/dashboard/manage.tsx
@@ -11,8 +11,6 @@ export default function ManagePage() {
return (
diff --git a/src/pages/dashboard/stats.tsx b/src/pages/dashboard/stats.tsx
new file mode 100644
index 0000000..7eb591d
--- /dev/null
+++ b/src/pages/dashboard/stats.tsx
@@ -0,0 +1,19 @@
+import React from 'react';
+import useLogin from 'hooks/useLogin';
+import Layout from 'components/Layout';
+import Stats from 'components/pages/Stats';
+
+export default function StatsPage() {
+ const { user, loading } = useLogin();
+ if (loading) return null;
+
+ return (
+
+
+
+ );
+}
+
+StatsPage.title = 'Zipline - Stats';
\ No newline at end of file
diff --git a/src/pages/dashboard/upload.tsx b/src/pages/dashboard/upload.tsx
index 0ee3f6f..f7689c5 100644
--- a/src/pages/dashboard/upload.tsx
+++ b/src/pages/dashboard/upload.tsx
@@ -13,8 +13,6 @@ export default function UploadPage({ route }) {
return (
diff --git a/src/pages/dashboard/urls.tsx b/src/pages/dashboard/urls.tsx
index f55cc23..db00b36 100644
--- a/src/pages/dashboard/urls.tsx
+++ b/src/pages/dashboard/urls.tsx
@@ -11,8 +11,6 @@ export default function UrlsPage() {
return (
diff --git a/src/pages/dashboard/users.tsx b/src/pages/dashboard/users.tsx
index 90f4a5b..385aaa6 100644
--- a/src/pages/dashboard/users.tsx
+++ b/src/pages/dashboard/users.tsx
@@ -11,8 +11,6 @@ export default function UsersPage() {
return (
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
deleted file mode 100644
index 80d7786..0000000
--- a/src/pages/index.tsx
+++ /dev/null
@@ -1,12 +0,0 @@
-import { useRouter } from 'next/router';
-import { useEffect } from 'react';
-
-export default function Index() {
- const router = useRouter();
-
- useEffect(() => {
- router.push('/dashboard');
- }, [router]);
-
- return null;
-}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 4227c07..4869927 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -192,6 +192,13 @@
dependencies:
"@babel/highlight" "^7.14.5"
+"@babel/helper-module-imports@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
+ integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
"@babel/helper-module-imports@^7.12.13":
version "7.14.5"
resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz"
@@ -209,6 +216,11 @@
resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz"
integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==
+"@babel/helper-validator-identifier@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
+ integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
+
"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5":
version "7.14.5"
resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz"
@@ -233,6 +245,13 @@
core-js-pure "^3.14.0"
regenerator-runtime "^0.13.4"
+"@babel/runtime@^7.0.0":
+ version "7.17.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941"
+ integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
"@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.13.10", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
version "7.15.3"
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz"
@@ -240,13 +259,6 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.15.4", "@babel/runtime@^7.3.1", "@babel/runtime@^7.8.3":
- version "7.15.4"
- resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz"
- integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==
- dependencies:
- regenerator-runtime "^0.13.4"
-
"@babel/types@^7.14.5":
version "7.14.5"
resolved "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz"
@@ -255,147 +267,18 @@
"@babel/helper-validator-identifier" "^7.14.5"
to-fast-properties "^2.0.0"
-"@commitlint/cli@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/cli/-/cli-12.1.4.tgz"
- integrity sha512-ZR1WjXLvqEffYyBPT0XdnSxtt3Ty1TMoujEtseW5o3vPnkA1UNashAMjQVg/oELqfaiAMnDw8SERPMN0e/0kLg==
+"@babel/types@^7.16.7":
+ version "7.17.0"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b"
+ integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==
dependencies:
- "@commitlint/format" "^12.1.4"
- "@commitlint/lint" "^12.1.4"
- "@commitlint/load" "^12.1.4"
- "@commitlint/read" "^12.1.4"
- "@commitlint/types" "^12.1.4"
- lodash "^4.17.19"
- resolve-from "5.0.0"
- resolve-global "1.0.0"
- yargs "^16.2.0"
+ "@babel/helper-validator-identifier" "^7.16.7"
+ to-fast-properties "^2.0.0"
-"@commitlint/config-conventional@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-12.1.4.tgz"
- integrity sha512-ZIdzmdy4o4WyqywMEpprRCrehjCSQrHkaRTVZV411GyLigFQHlEBSJITAihLAWe88Qy/8SyoIe5uKvAsV5vRqQ==
- dependencies:
- conventional-changelog-conventionalcommits "^4.3.1"
-
-"@commitlint/ensure@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/ensure/-/ensure-12.1.4.tgz"
- integrity sha512-MxHIBuAG9M4xl33qUfIeMSasbv3ktK0W+iygldBxZOL4QSYC2Gn66pZAQMnV9o3V+sVFHoAK2XUKqBAYrgbEqw==
- dependencies:
- "@commitlint/types" "^12.1.4"
- lodash "^4.17.19"
-
-"@commitlint/execute-rule@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-12.1.4.tgz"
- integrity sha512-h2S1j8SXyNeABb27q2Ok2vD1WfxJiXvOttKuRA9Or7LN6OQoC/KtT3844CIhhWNteNMu/wE0gkTqGxDVAnJiHg==
-
-"@commitlint/format@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/format/-/format-12.1.4.tgz"
- integrity sha512-h28ucMaoRjVvvgS6Bdf85fa/+ZZ/iu1aeWGCpURnQV7/rrVjkhNSjZwGlCOUd5kDV1EnZ5XdI7L18SUpRjs26g==
- dependencies:
- "@commitlint/types" "^12.1.4"
- chalk "^4.0.0"
-
-"@commitlint/is-ignored@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-12.1.4.tgz"
- integrity sha512-uTu2jQU2SKvtIRVLOzMQo3KxDtO+iJ1p0olmncwrqy4AfPLgwoyCP2CiULq5M7xpR3+dE3hBlZXbZTQbD7ycIw==
- dependencies:
- "@commitlint/types" "^12.1.4"
- semver "7.3.5"
-
-"@commitlint/lint@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/lint/-/lint-12.1.4.tgz"
- integrity sha512-1kZ8YDp4to47oIPFELUFGLiLumtPNKJigPFDuHt2+f3Q3IKdQ0uk53n3CPl4uoyso/Og/EZvb1mXjFR/Yce4cA==
- dependencies:
- "@commitlint/is-ignored" "^12.1.4"
- "@commitlint/parse" "^12.1.4"
- "@commitlint/rules" "^12.1.4"
- "@commitlint/types" "^12.1.4"
-
-"@commitlint/load@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/load/-/load-12.1.4.tgz"
- integrity sha512-Keszi0IOjRzKfxT+qES/n+KZyLrxy79RQz8wWgssCboYjKEp+wC+fLCgbiMCYjI5k31CIzIOq/16J7Ycr0C0EA==
- dependencies:
- "@commitlint/execute-rule" "^12.1.4"
- "@commitlint/resolve-extends" "^12.1.4"
- "@commitlint/types" "^12.1.4"
- chalk "^4.0.0"
- cosmiconfig "^7.0.0"
- lodash "^4.17.19"
- resolve-from "^5.0.0"
-
-"@commitlint/message@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/message/-/message-12.1.4.tgz"
- integrity sha512-6QhalEKsKQ/Y16/cTk5NH4iByz26fqws2ub+AinHPtM7Io0jy4e3rym9iE+TkEqiqWZlUigZnTwbPvRJeSUBaA==
-
-"@commitlint/parse@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/parse/-/parse-12.1.4.tgz"
- integrity sha512-yqKSAsK2V4X/HaLb/yYdrzs6oD/G48Ilt0EJ2Mp6RJeWYxG14w/Out6JrneWnr/cpzemyN5hExOg6+TB19H/Lw==
- dependencies:
- "@commitlint/types" "^12.1.4"
- conventional-changelog-angular "^5.0.11"
- conventional-commits-parser "^3.0.0"
-
-"@commitlint/read@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/read/-/read-12.1.4.tgz"
- integrity sha512-TnPQSJgD8Aod5Xeo9W4SaYKRZmIahukjcCWJ2s5zb3ZYSmj6C85YD9cR5vlRyrZjj78ItLUV/X4FMWWVIS38Jg==
- dependencies:
- "@commitlint/top-level" "^12.1.4"
- "@commitlint/types" "^12.1.4"
- fs-extra "^9.0.0"
- git-raw-commits "^2.0.0"
-
-"@commitlint/resolve-extends@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-12.1.4.tgz"
- integrity sha512-R9CoUtsXLd6KSCfsZly04grsH6JVnWFmVtWgWs1KdDpdV+G3TSs37tColMFqglpkx3dsWu8dsPD56+D9YnJfqg==
- dependencies:
- import-fresh "^3.0.0"
- lodash "^4.17.19"
- resolve-from "^5.0.0"
- resolve-global "^1.0.0"
-
-"@commitlint/rules@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/rules/-/rules-12.1.4.tgz"
- integrity sha512-W8m6ZSjg7RuIsIfzQiFHa48X5mcPXeKT9yjBxVmjHvYfS2FDBf1VxCQ7vO0JTVIdV4ohjZ0eKg/wxxUuZHJAZg==
- dependencies:
- "@commitlint/ensure" "^12.1.4"
- "@commitlint/message" "^12.1.4"
- "@commitlint/to-lines" "^12.1.4"
- "@commitlint/types" "^12.1.4"
-
-"@commitlint/to-lines@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-12.1.4.tgz"
- integrity sha512-TParumvbi8bdx3EdLXz2MaX+e15ZgoCqNUgqHsRLwyqLUTRbqCVkzrfadG1UcMQk8/d5aMbb327ZKG3Q4BRorw==
-
-"@commitlint/top-level@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/top-level/-/top-level-12.1.4.tgz"
- integrity sha512-d4lTJrOT/dXlpY+NIt4CUl77ciEzYeNVc0VFgUQ6VA+b1rqYD2/VWFjBlWVOrklxtSDeKyuEhs36RGrppEFAvg==
- dependencies:
- find-up "^5.0.0"
-
-"@commitlint/types@^12.1.4":
- version "12.1.4"
- resolved "https://registry.npmjs.org/@commitlint/types/-/types-12.1.4.tgz"
- integrity sha512-KRIjdnWNUx6ywz+SJvjmNCbQKcKP6KArhjZhY2l+CWKxak0d77SOjggkMwFTiSgLODOwmuLTbarR2ZfWPiPMlw==
- dependencies:
- chalk "^4.0.0"
-
-"@emotion/babel-plugin@^11.3.0":
- version "11.3.0"
- resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.3.0.tgz"
- integrity sha512-UZKwBV2rADuhRp+ZOGgNWg2eYgbzKzQXfQPtJbu/PLy8onurxlNCLvxMQEvlr1/GudguPI5IU9qIY1+2z1M5bA==
+"@emotion/babel-plugin@^11.7.1":
+ version "11.7.2"
+ resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.7.2.tgz#fec75f38a6ab5b304b0601c74e2a5e77c95e5fa0"
+ integrity sha512-6mGSCWi9UzXut/ZAN6lGFu33wGR3SJisNl3c0tvlmb8XChH1b2SUvxvnOh7hvLpqyRdHHU9AiazV3Cwbk5SXKQ==
dependencies:
"@babel/helper-module-imports" "^7.12.13"
"@babel/plugin-syntax-jsx" "^7.12.13"
@@ -408,46 +291,40 @@
escape-string-regexp "^4.0.0"
find-root "^1.1.0"
source-map "^0.5.7"
- stylis "^4.0.3"
+ stylis "4.0.13"
-"@emotion/cache@^11.4.0":
- version "11.4.0"
- resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.4.0.tgz"
- integrity sha512-Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g==
+"@emotion/cache@^11.7.1":
+ version "11.7.1"
+ resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.7.1.tgz#08d080e396a42e0037848214e8aa7bf879065539"
+ integrity sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A==
dependencies:
"@emotion/memoize" "^0.7.4"
- "@emotion/sheet" "^1.0.0"
+ "@emotion/sheet" "^1.1.0"
"@emotion/utils" "^1.0.0"
"@emotion/weak-memoize" "^0.2.5"
- stylis "^4.0.3"
+ stylis "4.0.13"
"@emotion/hash@^0.8.0":
version "0.8.0"
resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz"
integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
-"@emotion/is-prop-valid@^1.1.0":
- version "1.1.0"
- resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.0.tgz"
- integrity sha512-9RkilvXAufQHsSsjQ3PIzSns+pxuX4EW8EbGeSPjZMHuMx6z/MOzb9LpqNieQX4F3mre3NWS2+X3JNRHTQztUQ==
- dependencies:
- "@emotion/memoize" "^0.7.4"
-
"@emotion/memoize@^0.7.4", "@emotion/memoize@^0.7.5":
version "0.7.5"
resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz"
integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==
-"@emotion/react@^11.4.0":
- version "11.4.0"
- resolved "https://registry.npmjs.org/@emotion/react/-/react-11.4.0.tgz"
- integrity sha512-4XklWsl9BdtatLoJpSjusXhpKv9YVteYKh9hPKP1Sxl+mswEFoUe0WtmtWjxEjkA51DQ2QRMCNOvKcSlCQ7ivg==
+"@emotion/react@^11.7.1":
+ version "11.8.1"
+ resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.8.1.tgz#5358b8c78367063881e26423057c030c57ce52eb"
+ integrity sha512-XGaie4nRxmtP1BZYBXqC5JGqMYF2KRKKI7vjqNvQxyRpekVAZhb6QqrElmZCAYXH1L90lAelADSVZC4PFsrJ8Q==
dependencies:
"@babel/runtime" "^7.13.10"
- "@emotion/cache" "^11.4.0"
+ "@emotion/babel-plugin" "^11.7.1"
+ "@emotion/cache" "^11.7.1"
"@emotion/serialize" "^1.0.2"
- "@emotion/sheet" "^1.0.1"
- "@emotion/utils" "^1.0.0"
+ "@emotion/sheet" "^1.1.0"
+ "@emotion/utils" "^1.1.0"
"@emotion/weak-memoize" "^0.2.5"
hoist-non-react-statics "^3.3.1"
@@ -462,21 +339,20 @@
"@emotion/utils" "^1.0.0"
csstype "^3.0.2"
-"@emotion/sheet@^1.0.0", "@emotion/sheet@^1.0.1":
- version "1.0.1"
- resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.0.1.tgz"
- integrity sha512-GbIvVMe4U+Zc+929N1V7nW6YYJtidj31lidSmdYcWozwoBIObXBnaJkKNDjZrLm9Nc0BR+ZyHNaRZxqNZbof5g==
-
-"@emotion/styled@^11.3.0":
- version "11.3.0"
- resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.3.0.tgz"
- integrity sha512-fUoLcN3BfMiLlRhJ8CuPUMEyKkLEoM+n+UyAbnqGEsCd5IzKQ7VQFLtzpJOaCD2/VR2+1hXQTnSZXVJeiTNltA==
+"@emotion/server@^11.4.0":
+ version "11.4.0"
+ resolved "https://registry.yarnpkg.com/@emotion/server/-/server-11.4.0.tgz#3ae1d74cb31c7d013c3c76e88c0c4439076e9f66"
+ integrity sha512-IHovdWA3V0DokzxLtUNDx4+hQI82zUXqQFcVz/om2t44O0YSc+NHB+qifnyAOoQwt3SXcBTgaSntobwUI9gnfA==
dependencies:
- "@babel/runtime" "^7.13.10"
- "@emotion/babel-plugin" "^11.3.0"
- "@emotion/is-prop-valid" "^1.1.0"
- "@emotion/serialize" "^1.0.2"
"@emotion/utils" "^1.0.0"
+ html-tokenize "^2.0.0"
+ multipipe "^1.0.2"
+ through "^2.3.8"
+
+"@emotion/sheet@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.1.0.tgz#56d99c41f0a1cda2726a05aa6a20afd4c63e58d2"
+ integrity sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==
"@emotion/unitless@^0.7.5":
version "0.7.5"
@@ -488,6 +364,11 @@
resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.0.0.tgz"
integrity sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==
+"@emotion/utils@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.1.0.tgz#86b0b297f3f1a0f2bdb08eeac9a2f49afd40d0cf"
+ integrity sha512-iRLa/Y4Rs5H/f2nimczYmS5kFJEbpiVvgN3XVfZ022IYhuNA1IRSHEizcof88LtCTXtl9S2Cxt32KgaXEu72JQ==
+
"@emotion/weak-memoize@^0.2.5":
version "0.2.5"
resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz"
@@ -527,16 +408,89 @@
resolved "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz"
integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==
-"@icons/material@^0.2.4":
- version "0.2.4"
- resolved "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz"
- integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==
-
"@js-joda/core@^4.0.0":
version "4.3.1"
resolved "https://registry.yarnpkg.com/@js-joda/core/-/core-4.3.1.tgz#1df9f197d060f1eb087a895a5e33adb7f12b58fc"
integrity sha512-oeaetlodcqVsiZDxnEcqsbs+sXBkASxua0mXs5OXuPQXz3/wdPTMlxwfQ4z2HKcOik3S9voW3QJkp/KLWDhvRQ==
+"@mantine/core@^3.6.9":
+ version "3.6.9"
+ resolved "https://registry.yarnpkg.com/@mantine/core/-/core-3.6.9.tgz#7c7852c2c4076f52976f5072631ce37416dda644"
+ integrity sha512-OtRrXWKJm+uh6uPwmj8hEuUZ0tz0UEOJrAVJ8151omuDlmXCSwQ80lRuowUCtYtbWl5Hf0YZeNrJcUY4eXFceQ==
+ dependencies:
+ "@mantine/styles" "3.6.9"
+ "@popperjs/core" "^2.9.3"
+ "@radix-ui/react-scroll-area" "^0.1.1"
+ clsx "^1.1.1"
+ react-popper "^2.2.5"
+ react-textarea-autosize "^8.3.2"
+
+"@mantine/dropzone@^3.6.9":
+ version "3.6.9"
+ resolved "https://registry.yarnpkg.com/@mantine/dropzone/-/dropzone-3.6.9.tgz#45db3a822b69192cb457640544448becc78e0dc1"
+ integrity sha512-JsKmHaGoH9N5RwM5R2CCldKZW8uPcLiG17OgfoP2feXdnH68WCNcS1wuKfZQxvnLYBhgNzxq5DYzyrdulI0q6A==
+ dependencies:
+ react-dropzone "^11.4.2"
+
+"@mantine/hooks@^3.6.9":
+ version "3.6.9"
+ resolved "https://registry.yarnpkg.com/@mantine/hooks/-/hooks-3.6.9.tgz#af0af815b5c0fc91c42cbd76530a2ff4a1d8f87b"
+ integrity sha512-F3nwbph3nOrv6/zigSYqrsSdqavA5SR+8IxatGdoLjNe7w9XJxO7d557mh6/1kr9o69GY8+cUWyDJ5XYIrotYA==
+
+"@mantine/modals@^3.6.9":
+ version "3.6.9"
+ resolved "https://registry.yarnpkg.com/@mantine/modals/-/modals-3.6.9.tgz#df8206bd5f140f8fe0cfe3ebb4cdc54c127fc5e7"
+ integrity sha512-iO0UPKdgpYYIUq6mhYCIPGDja3UBmbH5ziWBONQMZAxVM4woeHRV2TzMep2US8qO8ySRGFv41E1jKLVmo4O7fg==
+
+"@mantine/next@^3.6.9":
+ version "3.6.9"
+ resolved "https://registry.yarnpkg.com/@mantine/next/-/next-3.6.9.tgz#5a59e762b6c10434937f5602585890e74c764d6d"
+ integrity sha512-JXncigqSPHdHGsNsPKfWCLaCimulb+w/r7ua67MzSZwXGRlO1YSyUsAkEzdooREXCDD/YqukLyBUDpCxF9xitQ==
+ dependencies:
+ "@mantine/ssr" "3.6.9"
+
+"@mantine/notifications@^3.6.9":
+ version "3.6.9"
+ resolved "https://registry.yarnpkg.com/@mantine/notifications/-/notifications-3.6.9.tgz#3df883fd27f41562c05f141b25d5bc3e64d5648f"
+ integrity sha512-vW6y3IIn503359q6QSm/XOpDUE+LmKy96zYrT8aNP7rUXkYOeWY2DMlpu8w/uRwSEGvrBc7wxk992HZyq64Ogw==
+ dependencies:
+ clsx "^1.1.1"
+ react-transition-group "^4.4.2"
+
+"@mantine/prism@^3.6.11":
+ version "3.6.11"
+ resolved "https://registry.yarnpkg.com/@mantine/prism/-/prism-3.6.11.tgz#e85441bbd494c02a05e7c9f16c4217b5d0be08fe"
+ integrity sha512-dukX8A8IAORoYkDRxeVD1JKKkG7Va+3CB4KJ3uLOP0pfzzpJ667WH8jDc5PAGl9auHmndQUUJDXRsj+YoE2Vew==
+ dependencies:
+ clsx "^1.1.1"
+ prism-react-renderer "^1.2.1"
+
+"@mantine/ssr@3.6.9":
+ version "3.6.9"
+ resolved "https://registry.yarnpkg.com/@mantine/ssr/-/ssr-3.6.9.tgz#9ae883fc38cb5356ef03171339e7ce494b66ae04"
+ integrity sha512-Bw2PjGqd9LG/y8G6p9vtY//Qtgf5T8yjxYbnhsFSIeXQeuI1yhFzkU5jDHyXBuqfaezbRgObECejtgLF+osaVw==
+ dependencies:
+ "@emotion/cache" "^11.7.1"
+ "@emotion/react" "^11.7.1"
+ "@emotion/serialize" "^1.0.2"
+ "@emotion/server" "^11.4.0"
+ "@emotion/utils" "^1.0.0"
+ "@mantine/styles" "3.6.9"
+ csstype "^3.0.9"
+ html-react-parser "^1.3.0"
+
+"@mantine/styles@3.6.9":
+ version "3.6.9"
+ resolved "https://registry.yarnpkg.com/@mantine/styles/-/styles-3.6.9.tgz#b9d45900de820e40bba1cf4c40e0ff1a7ff849e6"
+ integrity sha512-gvdvEeVHeUqwb2nONWiOZ7+0ml6DPDvLFvrsmvrznjrNk+eofFWX2kCvGK8cYDgIvg8UmyTB49MFByMiL1Hq+A==
+ dependencies:
+ "@emotion/cache" "^11.7.1"
+ "@emotion/react" "^11.7.1"
+ "@emotion/serialize" "^1.0.2"
+ "@emotion/utils" "^1.0.0"
+ clsx "^1.1.1"
+ csstype "^3.0.9"
+
"@mapbox/node-pre-gyp@^1.0.1":
version "1.0.5"
resolved "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz"
@@ -552,114 +506,10 @@
semver "^7.3.4"
tar "^6.1.0"
-"@mui/core@5.0.0-alpha.49":
- version "5.0.0-alpha.49"
- resolved "https://registry.npmjs.org/@mui/core/-/core-5.0.0-alpha.49.tgz"
- integrity sha512-bZ7UgH84AuKf/IT0U+knHEelDxLV0lNVFg7rKkkDfXEwUpTtAZEtZPFJjNngapSB/4MuFjaFsttex+0DGC5Z1Q==
- dependencies:
- "@babel/runtime" "^7.15.4"
- "@emotion/is-prop-valid" "^1.1.0"
- "@mui/utils" "^5.0.1"
- clsx "^1.1.1"
- prop-types "^15.7.2"
- react-is "^17.0.2"
-
-"@mui/icons-material@^5.0.0":
- version "5.0.1"
- resolved "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.0.1.tgz"
- integrity sha512-AZehR/Uvi9VodsNPk9ae1lENKrf1evqx9suiP6VIqu7NxjZOlw/m/yA2gRAMmLEmIGr7EChfi/wcXuq6BpM9vw==
- dependencies:
- "@babel/runtime" "^7.15.4"
-
-"@mui/material@^5.0.2":
- version "5.0.2"
- resolved "https://registry.npmjs.org/@mui/material/-/material-5.0.2.tgz"
- integrity sha512-LD2xHSjTLmbN0UoCuKTu09L/7JjpEzg+Cophf+dVJOTNoK7VI0Eqv3bmpF/9pDIk5dVKmeU9Eh4t2lW1ZifM6A==
- dependencies:
- "@babel/runtime" "^7.15.4"
- "@mui/core" "5.0.0-alpha.49"
- "@mui/system" "^5.0.2"
- "@mui/types" "^7.0.0"
- "@mui/utils" "^5.0.1"
- "@popperjs/core" "^2.4.4"
- "@types/react-transition-group" "^4.4.3"
- clsx "^1.1.1"
- csstype "^3.0.9"
- hoist-non-react-statics "^3.3.2"
- prop-types "^15.7.2"
- react-is "^17.0.2"
- react-transition-group "^4.4.2"
-
-"@mui/private-theming@^5.0.1":
- version "5.0.1"
- resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.0.1.tgz"
- integrity sha512-R8Cf2+32cG1OXFAqTighA5Mx9R5BQ57cN1ZVaNgfgdbI87Yig2fVMdFSPrw3txcjKlnwsvFJF8AdwQMqq1tJ3Q==
- dependencies:
- "@babel/runtime" "^7.15.4"
- "@mui/utils" "^5.0.1"
- prop-types "^15.7.2"
-
-"@mui/styled-engine@^5.0.1":
- version "5.0.1"
- resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.0.1.tgz"
- integrity sha512-j40nCbaKr1HAZYqpX61XvZYsadYskjo3u6+pRFFaewSViAkkD1rjjbubpnh15nqVfYmijtHMZJ9/l1x1hamvfQ==
- dependencies:
- "@babel/runtime" "^7.15.4"
- "@emotion/cache" "^11.4.0"
- prop-types "^15.7.2"
-
-"@mui/styles@^5.0.1":
- version "5.0.1"
- resolved "https://registry.npmjs.org/@mui/styles/-/styles-5.0.1.tgz"
- integrity sha512-hCtR2ZVOkoIhpTan02I4UEShnZxe59WwhKRJqauMs/addXByhAHHCNheTdiV++Irl/fyyFObmzPM0CUD3q6FIA==
- dependencies:
- "@babel/runtime" "^7.15.4"
- "@emotion/hash" "^0.8.0"
- "@mui/private-theming" "^5.0.1"
- "@mui/types" "^7.0.0"
- "@mui/utils" "^5.0.1"
- clsx "^1.1.1"
- csstype "^3.0.9"
- hoist-non-react-statics "^3.3.2"
- jss "^10.8.0"
- jss-plugin-camel-case "^10.8.0"
- jss-plugin-default-unit "^10.8.0"
- jss-plugin-global "^10.8.0"
- jss-plugin-nested "^10.8.0"
- jss-plugin-props-sort "^10.8.0"
- jss-plugin-rule-value-function "^10.8.0"
- jss-plugin-vendor-prefixer "^10.8.0"
- prop-types "^15.7.2"
-
-"@mui/system@^5.0.2":
- version "5.0.2"
- resolved "https://registry.npmjs.org/@mui/system/-/system-5.0.2.tgz"
- integrity sha512-K6wMbiSEYSMeYUw7zmZ2/50JFthqtuTz4OADyKc4ic2RP8ubAf/duH/nkJ4gtsKcewU4RIub0HQHl5F77WVp4Q==
- dependencies:
- "@babel/runtime" "^7.15.4"
- "@mui/private-theming" "^5.0.1"
- "@mui/styled-engine" "^5.0.1"
- "@mui/types" "^7.0.0"
- "@mui/utils" "^5.0.1"
- clsx "^1.1.1"
- csstype "^3.0.9"
- prop-types "^15.7.2"
-
-"@mui/types@^7.0.0":
- version "7.0.0"
- resolved "https://registry.npmjs.org/@mui/types/-/types-7.0.0.tgz"
- integrity sha512-M/tkF2pZ4uoPhZ8pnNhlVnOFtz6F3dnYKIsnj8MuXKT6d26IE2u0UjA8B0275ggN74dR9rlHG5xJt5jgDx/Ung==
-
-"@mui/utils@^5.0.1":
- version "5.0.1"
- resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.0.1.tgz"
- integrity sha512-GWO104N+o9KG5fKiTEYnAg7kONKEg3vLN+VROAU0f3it6lFGLCVPcQYex/1gJ4QAy96u6Ez8/Hmmhi1+3cX0tQ==
- dependencies:
- "@babel/runtime" "^7.15.4"
- "@types/prop-types" "^15.7.4"
- "@types/react-is" "^16.7.1 || ^17.0.0"
- prop-types "^15.7.2"
- react-is "^17.0.2"
+"@modulz/radix-icons@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@modulz/radix-icons/-/radix-icons-4.0.0.tgz#628a7826a4569dd2e3331e266d8d2e26c7d6753c"
+ integrity sha512-d79T4cYvMGMocVC/q1WiMO578FPFfUoxmXIkduc8cUQAPDr7thuEV5HrCHhqqqkoVaYD0QPct180ilcNUyGPrg==
"@next/env@12.1.0":
version "12.1.0"
@@ -747,20 +597,6 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
-"@octokit/rest@15.2.6":
- version "15.2.6"
- resolved "https://registry.npmjs.org/@octokit/rest/-/rest-15.2.6.tgz"
- integrity sha512-KcqG0zjnjzUqn7wczz/fKiueNpTLiAI7erhUG6bXWAsYKJJlqnwYonFSXrMW/nmes5y+qOk4uSyHBh1mdRXdVQ==
- dependencies:
- before-after-hook "^1.1.0"
- btoa-lite "^1.0.0"
- debug "^3.1.0"
- http-proxy-agent "^2.1.0"
- https-proxy-agent "^2.2.0"
- lodash "^4.17.4"
- node-fetch "^2.1.1"
- url-template "^2.0.8"
-
"@opentelemetry/api@^1.0.1":
version "1.0.4"
resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.0.4.tgz#a167e46c10d05a07ab299fc518793b0cff8f6924"
@@ -771,10 +607,10 @@
resolved "https://registry.npmjs.org/@phc/format/-/format-1.0.0.tgz"
integrity sha512-m7X9U6BG2+J+R1lSOdCiITLLrxm+cWlNI3HUFA92oLO77ObGNzaKdh8pMLqdZcshtkKuV84olNNXDfMc4FezBQ==
-"@popperjs/core@^2.4.4":
- version "2.9.2"
- resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.9.2.tgz"
- integrity sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q==
+"@popperjs/core@^2.9.3":
+ version "2.11.2"
+ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.2.tgz#830beaec4b4091a9e9398ac50f865ddea52186b9"
+ integrity sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA==
"@prisma/client@^3.9.2":
version "3.9.2"
@@ -938,6 +774,96 @@
terminal-link "2.1.1"
tmp "0.2.1"
+"@radix-ui/number@0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-0.1.0.tgz#73ad13d5cc5f75fa5e147d72e5d5d5e50d688256"
+ integrity sha512-rpf6QiOWLHAkM4FEMYu9i+5Jr8cKT893+R4mPpcdsy4LD7omr9JfdOqj/h/xPA5+EcVrpMMlU6rrRYpUB5UI8g==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+
+"@radix-ui/primitive@0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-0.1.0.tgz#6206b97d379994f0d1929809db035733b337e543"
+ integrity sha512-tqxZKybwN5Fa3VzZry4G6mXAAb9aAqKmPtnVbZpL0vsBwvOHTBwsjHVPXylocYLwEtBY9SCe665bYnNB515uoA==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+
+"@radix-ui/react-compose-refs@0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz#cff6e780a0f73778b976acff2c2a5b6551caab95"
+ integrity sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+
+"@radix-ui/react-context@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-0.1.1.tgz#06996829ea124d9a1bc1dbe3e51f33588fab0875"
+ integrity sha512-PkyVX1JsLBioeu0jB9WvRpDBBLtLZohVDT3BB5CTSJqActma8S8030P57mWZb4baZifMvN7KKWPAA40UmWKkQg==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+
+"@radix-ui/react-presence@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-0.1.1.tgz#2088dec6f4f8042f83dd2d6bf9e8ef09dadbbc15"
+ integrity sha512-LsL+NcWDpFUAYCmXeH02o4pgqcSLpwxP84UIjCtpIKrsPe2vLuhcp79KC/jZJeXz+of2lUpMAxpM+eCpxFZtlg==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+ "@radix-ui/react-compose-refs" "0.1.0"
+ "@radix-ui/react-use-layout-effect" "0.1.0"
+
+"@radix-ui/react-primitive@0.1.3":
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-0.1.3.tgz#585c35ef2ec06bab0ea9e0fc5c916e556661b881"
+ integrity sha512-fcyADaaAx2jdqEDLsTs6aX50S3L1c9K9CC6XMpJpuXFJCU4n9PGTFDZRtY2gAoXXoRCPIBsklCopSmGb6SsDjQ==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+ "@radix-ui/react-slot" "0.1.2"
+
+"@radix-ui/react-scroll-area@^0.1.1":
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-scroll-area/-/react-scroll-area-0.1.3.tgz#d9ef1625d06346cda7eb71e21947fe726c800144"
+ integrity sha512-wn5FdX5pU8N6ygqIad4clrhyiLo3LWCdscIee2nKe2bu7AijtUs/VAqmLEoDLIi2gpkS5RclxHbiHRkaxVvccw==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+ "@radix-ui/number" "0.1.0"
+ "@radix-ui/primitive" "0.1.0"
+ "@radix-ui/react-compose-refs" "0.1.0"
+ "@radix-ui/react-context" "0.1.1"
+ "@radix-ui/react-presence" "0.1.1"
+ "@radix-ui/react-primitive" "0.1.3"
+ "@radix-ui/react-use-callback-ref" "0.1.0"
+ "@radix-ui/react-use-direction" "0.1.0"
+ "@radix-ui/react-use-layout-effect" "0.1.0"
+
+"@radix-ui/react-slot@0.1.2":
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-0.1.2.tgz#e6f7ad9caa8ce81cc8d532c854c56f9b8b6307c8"
+ integrity sha512-ADkqfL+agEzEguU3yS26jfB50hRrwf7U4VTwAOZEmi/g+ITcBWe12yM46ueS/UCIMI9Py+gFUaAdxgxafFvY2Q==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+ "@radix-ui/react-compose-refs" "0.1.0"
+
+"@radix-ui/react-use-callback-ref@0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.0.tgz#934b6e123330f5b3a6b116460e6662cbc663493f"
+ integrity sha512-Va041McOFFl+aV+sejvl0BS2aeHx86ND9X/rVFmEFQKTXCp6xgUK0NGUAGcgBlIjnJSbMYPGEk1xKSSlVcN2Aw==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+
+"@radix-ui/react-use-direction@0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-use-direction/-/react-use-direction-0.1.0.tgz#97ac1d52e497c974389e7988f809238ed72e7df7"
+ integrity sha512-NajpY/An9TCPSfOVkgWIdXJV+VuWl67PxB6kOKYmtNAFHvObzIoh8o0n9sAuwSAyFCZVq211FEf9gvVDRhOyiA==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+
+"@radix-ui/react-use-layout-effect@0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz#ebf71bd6d2825de8f1fbb984abf2293823f0f223"
+ integrity sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+
"@reduxjs/toolkit@^1.6.0":
version "1.6.0"
resolved "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.6.0.tgz"
@@ -1100,11 +1026,6 @@
resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz"
integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==
-"@types/minimist@^1.2.0":
- version "1.2.1"
- resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz"
- integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==
-
"@types/ms@*":
version "0.7.31"
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
@@ -1150,11 +1071,6 @@
resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz"
integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
-"@types/prop-types@^15.7.4":
- version "15.7.4"
- resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz"
- integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
-
"@types/qs@*":
version "6.9.6"
resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz"
@@ -1165,13 +1081,6 @@
resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz"
integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==
-"@types/react-is@^16.7.1 || ^17.0.0":
- version "17.0.1"
- resolved "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.1.tgz"
- integrity sha512-X6jVqDIibL2sY0Qtth5EzNeUgPyoCWeBZdmE5xKr7hI4zaQDwN0VaQd7pJnlOB0mDGnOVH0cZZVXg9cnWhztQg==
- dependencies:
- "@types/react" "*"
-
"@types/react-redux@^7.1.16":
version "7.1.16"
resolved "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.16.tgz"
@@ -1182,13 +1091,6 @@
hoist-non-react-statics "^3.3.0"
redux "^4.0.0"
-"@types/react-transition-group@^4.4.3":
- version "4.4.3"
- resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.3.tgz"
- integrity sha512-fUx5muOWSYP8Bw2BUQ9M9RK9+W1XBK/7FLJ8PTQpnpTEkn0ccyMffyEQvan4C3h53gHdx7KE5Qrxi/LnUGQtdg==
- dependencies:
- "@types/react" "*"
-
"@types/react@*":
version "17.0.11"
resolved "https://registry.npmjs.org/@types/react/-/react-17.0.11.tgz"
@@ -1267,14 +1169,6 @@
"@typescript-eslint/types" "4.27.0"
eslint-visitor-keys "^2.0.0"
-JSONStream@^1.0.4:
- version "1.3.5"
- resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz"
- integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
- dependencies:
- jsonparse "^1.2.0"
- through ">=2.2.7 <3"
-
abbrev@1:
version "1.1.1"
resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"
@@ -1290,18 +1184,6 @@ acorn@^7.4.0:
resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-after-all-results@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/after-all-results/-/after-all-results-2.0.0.tgz"
- integrity sha1-asL8ICtQD4jaj09VMM+hAPTGotA=
-
-agent-base@4, agent-base@^4.3.0:
- version "4.3.0"
- resolved "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz"
- integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==
- dependencies:
- es6-promisify "^5.0.0"
-
agent-base@6:
version "6.0.2"
resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz"
@@ -1342,11 +1224,6 @@ ansi-colors@^4.1.1:
resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz"
integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
-ansi-escapes@^3.0.0:
- version "3.2.0"
- resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz"
- integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
-
ansi-escapes@^4.2.1, ansi-escapes@^4.3.0:
version "4.3.2"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
@@ -1462,16 +1339,6 @@ argparse@^1.0.7:
dependencies:
sprintf-js "~1.0.2"
-args@4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/args/-/args-4.0.0.tgz"
- integrity sha512-4b7lVF58nlo7sNtq8s2OueroOY/UHn0Nt/NVjsx9zn28u6yDVb9bQ/uy/5jKtHCbUDil4MlMyDLF5+OHEgnTug==
- dependencies:
- camelcase "5.0.0"
- chalk "2.3.2"
- leven "2.1.0"
- mri "1.1.0"
-
aria-query@^4.2.2:
version "4.2.2"
resolved "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz"
@@ -1480,11 +1347,6 @@ aria-query@^4.2.2:
"@babel/runtime" "^7.10.2"
"@babel/runtime-corejs3" "^7.10.2"
-array-ify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz"
- integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=
-
array-includes@^3.1.1, array-includes@^3.1.2, array-includes@^3.1.3:
version "3.1.3"
resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz"
@@ -1520,11 +1382,6 @@ array.prototype.flatmap@^1.2.4:
es-abstract "^1.18.0-next.1"
function-bind "^1.1.1"
-arrify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz"
- integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
-
ast-types-flow@^0.0.7:
version "0.0.7"
resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz"
@@ -1535,13 +1392,6 @@ astral-regex@^2.0.0:
resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz"
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
-async-retry@1.2.1:
- version "1.2.1"
- resolved "https://registry.npmjs.org/async-retry/-/async-retry-1.2.1.tgz"
- integrity sha512-FadV8UDcyZDjzb6eV7MCJj0bfrNjwKw7/X0QHPFCbYP6T20FXgZCYXpJKlQC8RxEQP1E6Xs8pNHdh3bcrZAuAw==
- dependencies:
- retry "0.10.1"
-
async@^3.2.0:
version "3.2.3"
resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9"
@@ -1552,12 +1402,7 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
-at-least-node@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz"
- integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
-
-attr-accept@^2.2.1:
+attr-accept@^2.2.2:
version "2.2.2"
resolved "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz"
integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==
@@ -1579,6 +1424,14 @@ axobject-query@^2.2.0:
resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz"
integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==
+babel-plugin-import@^1.13.3:
+ version "1.13.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-import/-/babel-plugin-import-1.13.3.tgz#9dbbba7d1ac72bd412917a830d445e00941d26d7"
+ integrity sha512-1qCWdljJOrDRH/ybaCZuDgySii4yYrtQ8OJQwrcDqdt0y67N30ng3X3nABg6j7gR7qUJgcMa9OMhc4AGViDwWw==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/runtime" "^7.0.0"
+
babel-plugin-macros@^2.6.1:
version "2.8.0"
resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz"
@@ -1598,11 +1451,6 @@ base64-js@^1.3.1:
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
-before-after-hook@^1.1.0:
- version "1.4.0"
- resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-1.4.0.tgz"
- integrity sha512-l5r9ir56nda3qu14nAXIlyq1MmUSs0meCIaFAh8HwkFwP1F8eToOuS3ah2VAHHcY04jaYD7FpJC5JTXHYRbkzg==
-
bl@^4.0.3:
version "4.1.0"
resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
@@ -1636,11 +1484,6 @@ braces@^3.0.1:
dependencies:
fill-range "^7.0.1"
-btoa-lite@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz"
- integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc=
-
buffer-crc32@^0.2.1, buffer-crc32@^0.2.13:
version "0.2.13"
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
@@ -1656,6 +1499,11 @@ buffer-from@^1.0.0:
resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz"
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
+buffer-from@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-0.1.2.tgz#15f4b9bcef012044df31142c14333caf6e0260d0"
+ integrity sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==
+
buffer-writer@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04"
@@ -1698,53 +1546,11 @@ callsites@^3.0.0:
resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-camelcase-keys@^6.2.2:
- version "6.2.2"
- resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz"
- integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==
- dependencies:
- camelcase "^5.3.1"
- map-obj "^4.0.0"
- quick-lru "^4.0.1"
-
-camelcase@5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz"
- integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==
-
-camelcase@^5.3.1:
- version "5.3.1"
- resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
- integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-
caniuse-lite@^1.0.30001283:
version "1.0.30001311"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001311.tgz#682ef3f4e617f1a177ad943de59775ed3032e511"
integrity sha512-mleTFtFKfykEeW34EyfhGIFjGCqzhh38Y0LhdQ9aWF+HorZTtdgKV/1hEE0NlFkG2ubvisPV6l400tlbPys98A==
-capitalize@1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/capitalize/-/capitalize-1.0.0.tgz"
- integrity sha1-3IAsWAruEBkpAg0soUtMqKCuRL4=
-
-chalk@2.3.2:
- version "2.3.2"
- resolved "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz"
- integrity sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
-chalk@2.4.0:
- version "2.4.0"
- resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz"
- integrity sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
chalk@4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
@@ -1753,7 +1559,7 @@ chalk@4.1.2:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.1, chalk@^2.4.1:
+chalk@^2.0.0, chalk@^2.4.1:
version "2.4.2"
resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -1770,11 +1576,6 @@ chalk@^4.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chardet@^0.4.0:
- version "0.4.2"
- resolved "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz"
- integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=
-
checkpoint-client@1.1.20:
version "1.1.20"
resolved "https://registry.yarnpkg.com/checkpoint-client/-/checkpoint-client-1.1.20.tgz#c869eeba84130ea3e5660b1fd71440981b5df8f5"
@@ -1788,15 +1589,6 @@ checkpoint-client@1.1.20:
node-fetch "2.6.1"
uuid "8.3.2"
-child-process-promise@^2.1.3:
- version "2.2.1"
- resolved "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz"
- integrity sha1-RzChHvYQ+tRQuPIjx50x172tgHQ=
- dependencies:
- cross-spawn "^4.0.2"
- node-version "^1.0.0"
- promise-polyfill "^6.0.1"
-
chownr@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz"
@@ -1817,13 +1609,6 @@ clean-stack@^2.0.0:
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
-cli-cursor@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz"
- integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
- dependencies:
- restore-cursor "^2.0.0"
-
cli-cursor@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
@@ -1831,11 +1616,6 @@ cli-cursor@^3.1.0:
dependencies:
restore-cursor "^3.1.0"
-cli-spinners@^1.1.0:
- version "1.3.1"
- resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz"
- integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==
-
cli-truncate@2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
@@ -1844,25 +1624,6 @@ cli-truncate@2.1.0:
slice-ansi "^3.0.0"
string-width "^4.2.0"
-cli-width@^2.0.0:
- version "2.2.1"
- resolved "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz"
- integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==
-
-cliui@^7.0.2:
- version "7.0.4"
- resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz"
- integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
- dependencies:
- string-width "^4.2.0"
- strip-ansi "^6.0.0"
- wrap-ansi "^7.0.0"
-
-clone@^1.0.2:
- version "1.0.4"
- resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz"
- integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
-
clsx@^1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz"
@@ -1919,14 +1680,6 @@ commondir@^1.0.1:
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
-compare-func@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz"
- integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==
- dependencies:
- array-ify "^1.0.0"
- dot-prop "^5.1.0"
-
compress-commons@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.1.tgz#df2a09a7ed17447642bad10a85cc9a19e5c42a7d"
@@ -1952,53 +1705,11 @@ concat-stream@^1.5.2:
readable-stream "^2.2.2"
typedarray "^0.0.6"
-configstore@3.1.2:
- version "3.1.2"
- resolved "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz"
- integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==
- dependencies:
- dot-prop "^4.1.0"
- graceful-fs "^4.1.2"
- make-dir "^1.0.0"
- unique-string "^1.0.0"
- write-file-atomic "^2.0.0"
- xdg-basedir "^3.0.0"
-
console-control-strings@^1.0.0, console-control-strings@~1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz"
integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
-conventional-changelog-angular@^5.0.11:
- version "5.0.12"
- resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz"
- integrity sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==
- dependencies:
- compare-func "^2.0.0"
- q "^1.5.1"
-
-conventional-changelog-conventionalcommits@^4.3.1:
- version "4.6.0"
- resolved "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.0.tgz"
- integrity sha512-sj9tj3z5cnHaSJCYObA9nISf7eq/YjscLPoq6nmew4SiOjxqL2KRpK20fjnjVbpNDjJ2HR3MoVcWKXwbVvzS0A==
- dependencies:
- compare-func "^2.0.0"
- lodash "^4.17.15"
- q "^1.5.1"
-
-conventional-commits-parser@^3.0.0:
- version "3.2.1"
- resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz"
- integrity sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==
- dependencies:
- JSONStream "^1.0.4"
- is-text-path "^1.0.1"
- lodash "^4.17.15"
- meow "^8.0.0"
- split2 "^3.0.0"
- through2 "^4.0.0"
- trim-off-newlines "^1.0.0"
-
convert-source-map@^1.5.0:
version "1.7.0"
resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz"
@@ -2011,13 +1722,6 @@ cookie@^0.4.1:
resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz"
integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
-copy-to-clipboard@^3.3.1:
- version "3.3.1"
- resolved "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz"
- integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==
- dependencies:
- toggle-selection "^1.0.6"
-
core-js-pure@^3.14.0:
version "3.14.0"
resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.14.0.tgz"
@@ -2039,17 +1743,6 @@ cosmiconfig@^6.0.0:
path-type "^4.0.0"
yaml "^1.7.2"
-cosmiconfig@^7.0.0:
- version "7.0.0"
- resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz"
- integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==
- dependencies:
- "@types/parse-json" "^4.0.0"
- import-fresh "^3.2.1"
- parse-json "^5.0.0"
- path-type "^4.0.0"
- yaml "^1.10.0"
-
crc-32@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.1.tgz#436d2bcaad27bcb6bd073a2587139d3024a16460"
@@ -2080,14 +1773,6 @@ cross-spawn@7.0.3, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
shebang-command "^2.0.0"
which "^2.0.1"
-cross-spawn@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz"
- integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=
- dependencies:
- lru-cache "^4.0.1"
- which "^1.2.9"
-
cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz"
@@ -2099,24 +1784,11 @@ cross-spawn@^6.0.5:
shebang-command "^1.2.0"
which "^1.2.9"
-crypto-random-string@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz"
- integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=
-
crypto-random-string@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
-css-vendor@^2.0.8:
- version "2.0.8"
- resolved "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz"
- integrity sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==
- dependencies:
- "@babel/runtime" "^7.8.3"
- is-in-browser "^1.0.2"
-
csstype@^3.0.2:
version "3.0.8"
resolved "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz"
@@ -2127,30 +1799,11 @@ csstype@^3.0.9:
resolved "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz"
integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==
-cwd@^0.9.1:
- version "0.9.1"
- resolved "https://registry.npmjs.org/cwd/-/cwd-0.9.1.tgz"
- integrity sha1-QeEKfhq4M9xZwuyoOBTH3ne1pP0=
- dependencies:
- find-pkg "^0.1.0"
-
damerau-levenshtein@^1.0.6:
version "1.0.7"
resolved "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz"
integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==
-dargs@^7.0.0:
- version "7.0.0"
- resolved "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz"
- integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==
-
-debug@3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz"
- integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
- dependencies:
- ms "2.0.0"
-
debug@4, debug@^4.0.1, debug@^4.1.1, debug@^4.3.1:
version "4.3.1"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz"
@@ -2165,7 +1818,7 @@ debug@^2.6.9:
dependencies:
ms "2.0.0"
-debug@^3.1.0, debug@^3.2.7:
+debug@^3.2.7:
version "3.2.7"
resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"
integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
@@ -2179,53 +1832,11 @@ debug@^4.3.3:
dependencies:
ms "2.1.2"
-debug@~0.8.1:
- version "0.8.1"
- resolved "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz"
- integrity sha1-IP9NJvXkIstoobrLu2EDmtjBwTA=
-
-decamelize-keys@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz"
- integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=
- dependencies:
- decamelize "^1.1.0"
- map-obj "^1.0.0"
-
-decamelize@^1.1.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"
- integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
-
-decompress-response@^3.2.0:
- version "3.3.0"
- resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz"
- integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
- dependencies:
- mimic-response "^1.0.0"
-
-deep-extend@^0.6.0:
- version "0.6.0"
- resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz"
- integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-
deep-is@^0.1.3:
version "0.1.3"
resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
-deepmerge@^2.1.1:
- version "2.2.1"
- resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz"
- integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==
-
-defaults@^1.0.3:
- version "1.0.3"
- resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz"
- integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
- dependencies:
- clone "^1.0.2"
-
define-lazy-prop@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f"
@@ -2252,11 +1863,6 @@ del@^6.0.0:
rimraf "^3.0.2"
slash "^3.0.0"
-delay@4.3.0:
- version "4.3.0"
- resolved "https://registry.npmjs.org/delay/-/delay-4.3.0.tgz"
- integrity sha512-Lwaf3zVFDMBop1yDuFZ19F9WyGcZcGacsbdlZtWjQmM50tOcMntm1njF/Nb/Vjij3KaSvCF+sEYGKrrjObu2NA==
-
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
@@ -2319,29 +1925,47 @@ dom-helpers@^5.0.1:
"@babel/runtime" "^7.8.7"
csstype "^3.0.2"
-dot-prop@^4.1.0:
- version "4.2.1"
- resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz"
- integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==
+dom-serializer@^1.0.1:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91"
+ integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==
dependencies:
- is-obj "^1.0.0"
+ domelementtype "^2.0.1"
+ domhandler "^4.2.0"
+ entities "^2.0.0"
-dot-prop@^5.1.0:
- version "5.3.0"
- resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz"
- integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
+domelementtype@^2.0.1, domelementtype@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
+ integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
+
+domhandler@4.3.0, domhandler@^4.2.0, domhandler@^4.2.2:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626"
+ integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==
dependencies:
- is-obj "^2.0.0"
+ domelementtype "^2.2.0"
+
+domutils@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
+ integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+ dependencies:
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
dotenv@15.0.0:
version "15.0.0"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-15.0.0.tgz#2a585639429bf2c2c62f387f0fffde9c75aafde0"
integrity sha512-/l1sXXm79ry34KwwS0y4oVZjB468iw/6u9g1W26dtexKcIJAnVL2pMF+hxQwzZ7LutxOwEgtym9eIxvX33CMKg==
-duplexer3@^0.1.4:
+duplexer2@^0.1.2:
version "0.1.4"
- resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz"
- integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
+ resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
+ integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=
+ dependencies:
+ readable-stream "^2.0.2"
ecdsa-sig-formatter@1.0.11:
version "1.0.11"
@@ -2379,6 +2003,16 @@ enquirer@^2.3.5:
dependencies:
ansi-colors "^4.1.1"
+entities@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
+ integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
+entities@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4"
+ integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==
+
env-paths@2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
@@ -2422,28 +2056,6 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
-es6-promise@^4.0.3:
- version "4.2.8"
- resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz"
- integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
-
-es6-promisify@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz"
- integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=
- dependencies:
- es6-promise "^4.0.3"
-
-escalade@^3.1.1:
- version "3.1.1"
- resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz"
- integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
-
-escape-goat@1.3.0:
- version "1.3.0"
- resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-1.3.0.tgz"
- integrity sha512-E2nU1Y39N5UgfLU8qwMlK0vZrZprIwWLeVmDYN8wd/e37hMtGzu2w1DBiREts0XHfgyZEQlj/hYr0H0izF0HDQ==
-
escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
@@ -2689,29 +2301,6 @@ exit-on-epipe@~1.0.1:
resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692"
integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==
-expand-tilde@^1.2.2:
- version "1.2.2"
- resolved "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz"
- integrity sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=
- dependencies:
- os-homedir "^1.0.1"
-
-extend-shallow@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz"
- integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
- dependencies:
- is-extendable "^0.1.0"
-
-external-editor@^2.1.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz"
- integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==
- dependencies:
- chardet "^0.4.0"
- iconv-lite "^0.4.17"
- tmp "^0.0.33"
-
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
@@ -2767,13 +2356,6 @@ fecha@^4.2.1:
resolved "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz"
integrity sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==
-figures@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz"
- integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
- dependencies:
- escape-string-regexp "^1.0.5"
-
file-entry-cache@^6.0.1:
version "6.0.1"
resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz"
@@ -2781,15 +2363,10 @@ file-entry-cache@^6.0.1:
dependencies:
flat-cache "^3.0.4"
-file-name@^0.1.0:
- version "0.1.0"
- resolved "https://registry.npmjs.org/file-name/-/file-name-0.1.0.tgz"
- integrity sha1-ErEi8SD5w028F2wauBpUis7W3vc=
-
-file-selector@^0.2.2:
- version "0.2.4"
- resolved "https://registry.npmjs.org/file-selector/-/file-selector-0.2.4.tgz"
- integrity sha512-ZDsQNbrv6qRi1YTDOEWzf5J2KjZ9KMI1Q2SGeTkCJmNNW25Jg4TW4UMcmoqcg4WrAyKRcpBXdbWRxkfrOzVRbA==
+file-selector@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.4.0.tgz#59ec4f27aa5baf0841e9c6385c8386bef4d18b17"
+ integrity sha512-iACCiXeMYOvZqlF1kTiYINzgepRBymz1wwjiuup9u9nayhb6g4fSwiyJ/6adli+EPwrWtpgQAh2PoS7HukEGEg==
dependencies:
tslib "^2.0.3"
@@ -2809,27 +2386,12 @@ find-cache-dir@3.3.2:
make-dir "^3.0.2"
pkg-dir "^4.1.0"
-find-file-up@^0.1.2:
- version "0.1.3"
- resolved "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz"
- integrity sha1-z2gJG8+fMApA2kEbN9pczlovvqA=
- dependencies:
- fs-exists-sync "^0.1.0"
- resolve-dir "^0.1.0"
-
-find-pkg@^0.1.0:
- version "0.1.2"
- resolved "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz"
- integrity sha1-G9wiwG42NlUy4qJIBGhUuXiNpVc=
- dependencies:
- find-file-up "^0.1.2"
-
find-root@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz"
integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
-find-up@5.0.0, find-up@^5.0.0:
+find-up@5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz"
integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
@@ -2895,48 +2457,11 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
-formik@^2.2.9:
- version "2.2.9"
- resolved "https://registry.npmjs.org/formik/-/formik-2.2.9.tgz"
- integrity sha512-LQLcISMmf1r5at4/gyJigGn0gOwFbeEAlji+N9InZF6LIMXnFNkO42sCI8Jt84YZggpD4cPWObAZaxpEFtSzNA==
- dependencies:
- deepmerge "^2.1.1"
- hoist-non-react-statics "^3.3.0"
- lodash "^4.17.21"
- lodash-es "^4.17.21"
- react-fast-compare "^2.0.1"
- tiny-warning "^1.0.2"
- tslib "^1.10.0"
-
fs-constants@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
-fs-exists-sync@^0.1.0:
- version "0.1.0"
- resolved "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz"
- integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=
-
-fs-extra@5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz"
- integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==
- dependencies:
- graceful-fs "^4.1.2"
- jsonfile "^4.0.0"
- universalify "^0.1.0"
-
-fs-extra@^9.0.0:
- version "9.1.0"
- resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz"
- integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
- dependencies:
- at-least-node "^1.0.0"
- graceful-fs "^4.2.0"
- jsonfile "^6.0.1"
- universalify "^2.0.0"
-
fs-jetpack@4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-4.3.1.tgz#cdfd4b64e6bfdec7c7dc55c76b39efaa7853bb20"
@@ -2981,11 +2506,6 @@ gauge@~2.7.3:
strip-ansi "^3.0.1"
wide-align "^1.1.0"
-get-caller-file@^2.0.5:
- version "2.0.5"
- resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
- integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-
get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz"
@@ -3005,79 +2525,6 @@ get-stream@6.0.1, get-stream@^6.0.0:
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
-get-stream@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz"
- integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
-
-gh-got@^6.0.0:
- version "6.0.0"
- resolved "https://registry.npmjs.org/gh-got/-/gh-got-6.0.0.tgz"
- integrity sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw==
- dependencies:
- got "^7.0.0"
- is-plain-obj "^1.1.0"
-
-git-config-path@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz"
- integrity sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ=
- dependencies:
- extend-shallow "^2.0.1"
- fs-exists-sync "^0.1.0"
- homedir-polyfill "^1.0.0"
-
-git-raw-commits@^2.0.0:
- version "2.0.10"
- resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz"
- integrity sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==
- dependencies:
- dargs "^7.0.0"
- lodash "^4.17.15"
- meow "^8.0.0"
- split2 "^3.0.0"
- through2 "^4.0.0"
-
-git-repo-name@0.6.0:
- version "0.6.0"
- resolved "https://registry.npmjs.org/git-repo-name/-/git-repo-name-0.6.0.tgz"
- integrity sha1-rwmIRlaqU37GJccIcAgXXNYSKP8=
- dependencies:
- cwd "^0.9.1"
- file-name "^0.1.0"
- lazy-cache "^1.0.4"
- remote-origin-url "^0.5.1"
-
-git-spawned-stream@1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/git-spawned-stream/-/git-spawned-stream-1.0.0.tgz"
- integrity sha1-q/+vHasb8qYSkm1f7RyfNe9OMRE=
- dependencies:
- debug "~0.8.1"
- spawn-to-readstream "~0.1.3"
-
-git-state@4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/git-state/-/git-state-4.0.0.tgz"
- integrity sha512-7rW22+ryQP6az93gU2jr+4SVAAoEPLELTwQiZd1ldq+77N+KLinP1FyZ61bkWrbXiZcEc9F9mpam2r30yG68Tw==
- dependencies:
- after-all-results "^2.0.0"
-
-git-username@1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/git-username/-/git-username-1.0.0.tgz"
- integrity sha512-xm45KwBR6Eu1jO4umx/o2M84v9TC7tdOBuzLx8ayhdR9H1FBiiG9azz31uC0esDvaWVBTDINpJ5USomk+ja8OQ==
- dependencies:
- parse-github-url "^1.0.2"
- remote-origin-url "^1.0.0"
-
-github-username@4.1.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/github-username/-/github-username-4.1.0.tgz"
- integrity sha1-y+KABBiDIG2kISrp5LXxacML9Bc=
- dependencies:
- gh-got "^6.0.0"
-
glob-parent@^5.1.0, glob-parent@^5.1.2:
version "5.1.2"
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
@@ -3116,31 +2563,6 @@ global-dirs@3.0.0:
dependencies:
ini "2.0.0"
-global-dirs@^0.1.1:
- version "0.1.1"
- resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz"
- integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=
- dependencies:
- ini "^1.3.4"
-
-global-modules@^0.2.3:
- version "0.2.3"
- resolved "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz"
- integrity sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=
- dependencies:
- global-prefix "^0.1.4"
- is-windows "^0.2.0"
-
-global-prefix@^0.1.4:
- version "0.1.5"
- resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz"
- integrity sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=
- dependencies:
- homedir-polyfill "^1.0.0"
- ini "^1.3.4"
- is-windows "^0.2.0"
- which "^1.2.12"
-
globals@^13.6.0, globals@^13.9.0:
version "13.9.0"
resolved "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz"
@@ -3172,40 +2594,15 @@ globby@^11.0.3:
merge2 "^1.3.0"
slash "^3.0.0"
-got@^7.0.0:
- version "7.1.0"
- resolved "https://registry.npmjs.org/got/-/got-7.1.0.tgz"
- integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==
- dependencies:
- decompress-response "^3.2.0"
- duplexer3 "^0.1.4"
- get-stream "^3.0.0"
- is-plain-obj "^1.1.0"
- is-retry-allowed "^1.0.0"
- is-stream "^1.0.0"
- isurl "^1.0.0-alpha5"
- lowercase-keys "^1.0.0"
- p-cancelable "^0.3.0"
- p-timeout "^1.1.1"
- safe-buffer "^5.0.1"
- timed-out "^4.0.0"
- url-parse-lax "^1.0.0"
- url-to-options "^1.0.1"
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0:
- version "4.2.6"
- resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz"
- integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
-
graceful-fs@^4.1.15, graceful-fs@^4.2.4:
version "4.2.9"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
-hard-rejection@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz"
- integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==
+graceful-fs@^4.1.2, graceful-fs@^4.2.0:
+ version "4.2.6"
+ resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz"
+ integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
has-bigints@^1.0.1:
version "1.0.1"
@@ -3222,23 +2619,11 @@ has-flag@^4.0.0:
resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-has-symbol-support-x@^1.4.1:
- version "1.4.2"
- resolved "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz"
- integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==
-
has-symbols@^1.0.1, has-symbols@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz"
integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
-has-to-string-tag-x@^1.2.0:
- version "1.4.1"
- resolved "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz"
- integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==
- dependencies:
- has-symbol-support-x "^1.4.1"
-
has-unicode@^2.0.0:
version "2.0.1"
resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz"
@@ -3271,24 +2656,49 @@ hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-
dependencies:
react-is "^16.7.0"
-homedir-polyfill@^1.0.0:
- version "1.0.3"
- resolved "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz"
- integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
- dependencies:
- parse-passwd "^1.0.0"
-
hosted-git-info@^2.1.4:
version "2.8.9"
resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz"
integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
-hosted-git-info@^4.0.1:
- version "4.0.2"
- resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz"
- integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==
+html-dom-parser@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/html-dom-parser/-/html-dom-parser-1.1.0.tgz#daf0ff559bb0c4ffe7543d507baeaf1e2ca14e2c"
+ integrity sha512-x3MOz8S8BkihGgggtp2N0U+JAWlD9iGERbjuBJH+gIGF9B1kGQh5x489IQ0YPqi8HyMIWCRLdJY1q3IaQlqG/Q==
dependencies:
- lru-cache "^6.0.0"
+ domhandler "4.3.0"
+ htmlparser2 "7.2.0"
+
+html-react-parser@^1.3.0:
+ version "1.4.8"
+ resolved "https://registry.yarnpkg.com/html-react-parser/-/html-react-parser-1.4.8.tgz#27bc0f9dc294c875daeca8a21a48d5b845a1364e"
+ integrity sha512-5XsBdFVhJLxdtRp7tWwZ6DwqOt6fJ+2lJc0lctwjX1yaxWNB41S5uzqii7vJcSCaabM+CK28U75e5f4wIMqdSg==
+ dependencies:
+ domhandler "4.3.0"
+ html-dom-parser "1.1.0"
+ react-property "2.0.0"
+ style-to-js "1.1.0"
+
+html-tokenize@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/html-tokenize/-/html-tokenize-2.0.1.tgz#c3b2ea6e2837d4f8c06693393e9d2a12c960be5f"
+ integrity sha512-QY6S+hZ0f5m1WT8WffYN+Hg+xm/w5I8XeUcAq/ZYP5wVC8xbKi4Whhru3FtrAebD5EhBW8rmFzkDI6eCAuFe2w==
+ dependencies:
+ buffer-from "~0.1.1"
+ inherits "~2.0.1"
+ minimist "~1.2.5"
+ readable-stream "~1.0.27-1"
+ through2 "~0.4.1"
+
+htmlparser2@7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-7.2.0.tgz#8817cdea38bbc324392a90b1990908e81a65f5a5"
+ integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.2.2"
+ domutils "^2.8.0"
+ entities "^3.0.1"
http-proxy-agent@5.0.0:
version "5.0.0"
@@ -3299,14 +2709,6 @@ http-proxy-agent@5.0.0:
agent-base "6"
debug "4"
-http-proxy-agent@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz"
- integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==
- dependencies:
- agent-base "4"
- debug "3.1.0"
-
http-proxy-agent@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a"
@@ -3324,36 +2726,11 @@ https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
-https-proxy-agent@^2.2.0:
- version "2.2.4"
- resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz"
- integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==
- dependencies:
- agent-base "^4.3.0"
- debug "^3.1.0"
-
human-signals@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
-husky@^6.0.0:
- version "6.0.0"
- resolved "https://registry.npmjs.org/husky/-/husky-6.0.0.tgz"
- integrity sha512-SQS2gDTB7tBN486QSoKPKQItZw97BMOd+Kdb6ghfpBc0yXyzrddI0oDV5MkDAbuB4X2mO3/nj60TRMcYxwzZeQ==
-
-hyphenate-style-name@^1.0.3:
- version "1.0.4"
- resolved "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz"
- integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==
-
-iconv-lite@^0.4.17:
- version "0.4.24"
- resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
- integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
iconv-lite@^0.6.3:
version "0.6.3"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
@@ -3422,29 +2799,10 @@ ini@2.0.0:
resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5"
integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==
-ini@^1.3.4, ini@~1.3.0:
- version "1.3.8"
- resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz"
- integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
-
-inquirer@5.2.0:
- version "5.2.0"
- resolved "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz"
- integrity sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==
- dependencies:
- ansi-escapes "^3.0.0"
- chalk "^2.0.0"
- cli-cursor "^2.1.0"
- cli-width "^2.0.0"
- external-editor "^2.1.0"
- figures "^2.0.0"
- lodash "^4.3.0"
- mute-stream "0.0.7"
- run-async "^2.2.0"
- rxjs "^5.5.2"
- string-width "^2.1.0"
- strip-ansi "^4.0.0"
- through "^2.3.6"
+inline-style-parser@0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1"
+ integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
internal-slot@^1.0.3:
version "1.0.3"
@@ -3508,11 +2866,6 @@ is-docker@^2.0.0, is-docker@^2.1.1:
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
-is-extendable@^0.1.0:
- version "0.1.1"
- resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
- integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
-
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
@@ -3542,11 +2895,6 @@ is-glob@^4.0.0, is-glob@^4.0.1:
dependencies:
is-extglob "^2.1.1"
-is-in-browser@^1.0.2, is-in-browser@^1.1.3:
- version "1.1.3"
- resolved "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz"
- integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=
-
is-negative-zero@^2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz"
@@ -3562,21 +2910,6 @@ is-number@^7.0.0:
resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-is-obj@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz"
- integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
-
-is-obj@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz"
- integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-
-is-object@^1.0.1:
- version "1.0.2"
- resolved "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz"
- integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==
-
is-path-cwd@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
@@ -3587,11 +2920,6 @@ is-path-inside@^3.0.2:
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
-is-plain-obj@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz"
- integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
-
is-regex@^1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz"
@@ -3600,16 +2928,6 @@ is-regex@^1.1.3:
call-bind "^1.0.2"
has-symbols "^1.0.2"
-is-retry-allowed@^1.0.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz"
- integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==
-
-is-stream@^1.0.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"
- integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
-
is-stream@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
@@ -3627,23 +2945,6 @@ is-symbol@^1.0.2, is-symbol@^1.0.3:
dependencies:
has-symbols "^1.0.2"
-is-text-path@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz"
- integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=
- dependencies:
- text-extensions "^1.0.0"
-
-is-windows@^0.2.0:
- version "0.2.0"
- resolved "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz"
- integrity sha1-3hqm1j6indJIc3tp8f+LgALSEIw=
-
-is-wsl@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz"
- integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
-
is-wsl@^2.1.1, is-wsl@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
@@ -3666,14 +2967,6 @@ isexe@^2.0.0:
resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-isurl@^1.0.0-alpha5:
- version "1.0.0"
- resolved "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz"
- integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==
- dependencies:
- has-to-string-tag-x "^1.2.0"
- is-object "^1.0.1"
-
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
@@ -3724,27 +3017,6 @@ json5@^1.0.1:
dependencies:
minimist "^1.2.0"
-jsonfile@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz"
- integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsonfile@^6.0.1:
- version "6.1.0"
- resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz"
- integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
- dependencies:
- universalify "^2.0.0"
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsonparse@^1.2.0:
- version "1.3.1"
- resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz"
- integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=
-
jsonwebtoken@^8.5.1:
version "8.5.1"
resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
@@ -3761,76 +3033,6 @@ jsonwebtoken@^8.5.1:
ms "^2.1.1"
semver "^5.6.0"
-jss-plugin-camel-case@^10.8.0:
- version "10.8.0"
- resolved "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.8.0.tgz"
- integrity sha512-yxlXrXwcCdGw+H4BC187dEu/RFyW8joMcWfj8Rk9UPgWTKu2Xh7Sib4iW3xXjHe/t5phOHF1rBsHleHykWix7g==
- dependencies:
- "@babel/runtime" "^7.3.1"
- hyphenate-style-name "^1.0.3"
- jss "10.8.0"
-
-jss-plugin-default-unit@^10.8.0:
- version "10.8.0"
- resolved "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.8.0.tgz"
- integrity sha512-9XJV546cY9zV9OvIE/v/dOaxSi4062VfYQQfwbplRExcsU2a79Yn+qDz/4ciw6P4LV1Naq90U+OffAGRHfNq/Q==
- dependencies:
- "@babel/runtime" "^7.3.1"
- jss "10.8.0"
-
-jss-plugin-global@^10.8.0:
- version "10.8.0"
- resolved "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.8.0.tgz"
- integrity sha512-H/8h/bHd4e7P0MpZ9zaUG8NQSB2ie9rWo/vcCP6bHVerbKLGzj+dsY22IY3+/FNRS8zDmUyqdZx3rD8k4nmH4w==
- dependencies:
- "@babel/runtime" "^7.3.1"
- jss "10.8.0"
-
-jss-plugin-nested@^10.8.0:
- version "10.8.0"
- resolved "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.8.0.tgz"
- integrity sha512-MhmINZkSxyFILcFBuDoZmP1+wj9fik/b9SsjoaggkGjdvMQCES21mj4K5ZnRGVm448gIXyi9j/eZjtDzhaHUYQ==
- dependencies:
- "@babel/runtime" "^7.3.1"
- jss "10.8.0"
- tiny-warning "^1.0.2"
-
-jss-plugin-props-sort@^10.8.0:
- version "10.8.0"
- resolved "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.8.0.tgz"
- integrity sha512-VY+Wt5WX5GMsXDmd+Ts8+O16fpiCM81svbox++U3LDbJSM/g9FoMx3HPhwUiDfmgHL9jWdqEuvSl/JAk+mh6mQ==
- dependencies:
- "@babel/runtime" "^7.3.1"
- jss "10.8.0"
-
-jss-plugin-rule-value-function@^10.8.0:
- version "10.8.0"
- resolved "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.8.0.tgz"
- integrity sha512-R8N8Ma6Oye1F9HroiUuHhVjpPsVq97uAh+rMI6XwKLqirIu2KFb5x33hPj+vNBMxSHc9jakhf5wG0BbQ7fSDOg==
- dependencies:
- "@babel/runtime" "^7.3.1"
- jss "10.8.0"
- tiny-warning "^1.0.2"
-
-jss-plugin-vendor-prefixer@^10.8.0:
- version "10.8.0"
- resolved "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.8.0.tgz"
- integrity sha512-G1zD0J8dFwKZQ+GaZaay7A/Tg7lhDw0iEkJ/iFFA5UPuvZFpMprCMQttXcTBhLlhhWnyZ8YPn4yqp+amrhQekw==
- dependencies:
- "@babel/runtime" "^7.3.1"
- css-vendor "^2.0.8"
- jss "10.8.0"
-
-jss@10.8.0, jss@^10.8.0:
- version "10.8.0"
- resolved "https://registry.npmjs.org/jss/-/jss-10.8.0.tgz"
- integrity sha512-6fAMLJrVQ8epM5ghghxWqCwRR0ZamP2cKbOAtzPudcCMSNdAqtvmzQvljUZYR8OXJIeb/IpZeOXA1sDXms4R1w==
- dependencies:
- "@babel/runtime" "^7.3.1"
- csstype "^3.0.2"
- is-in-browser "^1.1.3"
- tiny-warning "^1.0.2"
-
"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0:
version "3.2.0"
resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz"
@@ -3873,11 +3075,6 @@ jws@^4.0.0:
jwa "^2.0.0"
safe-buffer "^5.0.1"
-kind-of@^6.0.3:
- version "6.0.3"
- resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz"
- integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
-
kleur@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
@@ -3895,11 +3092,6 @@ language-tags@^1.0.5:
dependencies:
language-subtag-registry "~0.3.2"
-lazy-cache@^1.0.4:
- version "1.0.4"
- resolved "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz"
- integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
-
lazystream@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638"
@@ -3907,11 +3099,6 @@ lazystream@^1.0.0:
dependencies:
readable-stream "^2.0.5"
-leven@2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz"
- integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA=
-
levn@^0.4.1:
version "0.4.1"
resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
@@ -3920,11 +3107,6 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
-limit-spawn@0.0.3:
- version "0.0.3"
- resolved "https://registry.npmjs.org/limit-spawn/-/limit-spawn-0.0.3.tgz"
- integrity sha1-zAnCRGeg8KHtEKUZbbpZfK0/Zdw=
-
lines-and-columns@^1.1.6:
version "1.1.6"
resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz"
@@ -3970,7 +3152,7 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
-lodash-es@^4.17.15, lodash-es@^4.17.21:
+lodash-es@^4.17.15:
version "4.17.21"
resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz"
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
@@ -4050,18 +3232,11 @@ lodash.union@^4.6.0:
resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88"
integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=
-lodash@^4.0.1, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.3.0:
+lodash@^4.17.20:
version "4.17.21"
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-log-symbols@^2.2.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz"
- integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==
- dependencies:
- chalk "^2.0.1"
-
log-update@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
@@ -4077,26 +3252,13 @@ long@^4.0.0:
resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
-loose-envify@^1.1.0, loose-envify@^1.4.0:
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
-lowercase-keys@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz"
- integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
-
-lru-cache@^4.0.1:
- version "4.1.5"
- resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz"
- integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
- dependencies:
- pseudomap "^1.0.2"
- yallist "^2.1.2"
-
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz"
@@ -4111,28 +3273,11 @@ make-dir@3.1.0, make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
dependencies:
semver "^6.0.0"
-make-dir@^1.0.0:
- version "1.3.0"
- resolved "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz"
- integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==
- dependencies:
- pify "^3.0.0"
-
make-error@^1.1.1:
version "1.3.6"
resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
-map-obj@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz"
- integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
-
-map-obj@^4.0.0:
- version "4.2.1"
- resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz"
- integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==
-
mariadb@2.5.5:
version "2.5.5"
resolved "https://registry.yarnpkg.com/mariadb/-/mariadb-2.5.5.tgz#a9aff9f1e57231a415a21254489439beb501c803"
@@ -4146,11 +3291,6 @@ mariadb@2.5.5:
moment-timezone "^0.5.33"
please-upgrade-node "^3.2.0"
-material-colors@^1.2.1:
- version "1.2.6"
- resolved "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz"
- integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==
-
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
@@ -4161,23 +3301,6 @@ memorystream@^0.3.1:
resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz"
integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI=
-meow@^8.0.0:
- version "8.1.2"
- resolved "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz"
- integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==
- dependencies:
- "@types/minimist" "^1.2.0"
- camelcase-keys "^6.2.2"
- decamelize-keys "^1.1.0"
- hard-rejection "^2.1.0"
- minimist-options "4.1.0"
- normalize-package-data "^3.0.0"
- read-pkg-up "^7.0.1"
- redent "^3.0.0"
- trim-newlines "^3.0.0"
- type-fest "^0.18.0"
- yargs-parser "^20.2.3"
-
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -4220,21 +3343,11 @@ mime-types@~2.1.24:
dependencies:
mime-db "1.48.0"
-mimic-fn@^1.0.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz"
- integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
-
mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-mimic-response@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz"
- integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
-
min-indent@^1.0.0:
version "1.0.1"
resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz"
@@ -4254,16 +3367,7 @@ minimatch@^3.0.4:
dependencies:
brace-expansion "^1.1.7"
-minimist-options@4.1.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz"
- integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==
- dependencies:
- arrify "^1.0.1"
- is-plain-obj "^1.1.0"
- kind-of "^6.0.3"
-
-minimist@^1.2.0, minimist@^1.2.5:
+minimist@^1.2.0, minimist@^1.2.5, minimist@~1.2.5:
version "1.2.5"
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
@@ -4307,11 +3411,6 @@ moment-timezone@^0.5.33:
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
-mri@1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/mri/-/mri-1.1.0.tgz"
- integrity sha1-XAo/KcjM/7ux7JQdzsCdcfoy82o=
-
ms@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
@@ -4352,10 +3451,13 @@ multer@^1.4.2:
type-is "^1.6.4"
xtend "^4.0.0"
-mute-stream@0.0.7:
- version "0.0.7"
- resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz"
- integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
+multipipe@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-1.0.2.tgz#cc13efd833c9cda99f224f868461b8e1a3fd939d"
+ integrity sha1-zBPv2DPJzamfIk+GhGG44aP9k50=
+ dependencies:
+ duplexer2 "^0.1.2"
+ object-assign "^4.1.0"
nanoclone@^0.2.1:
version "0.2.1"
@@ -4420,12 +3522,7 @@ node-addon-api@^3.0.2:
resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz"
integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==
-node-fetch@2.6.0:
- version "2.6.0"
- resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz"
- integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
-
-node-fetch@2.6.1, node-fetch@^2.1.1, node-fetch@^2.6.1:
+node-fetch@2.6.1, node-fetch@^2.6.1:
version "2.6.1"
resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz"
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
@@ -4437,16 +3534,6 @@ node-fetch@2.6.7, node-fetch@^2.6.7:
dependencies:
whatwg-url "^5.0.0"
-node-version@1.1.3:
- version "1.1.3"
- resolved "https://registry.npmjs.org/node-version/-/node-version-1.1.3.tgz"
- integrity sha512-rEwE51JWn0yN3Wl5BXeGn5d52OGbSXzWiiXRjAQeuyvcGKyvuSILW2rb3G7Xh+nexzLwhTpek6Ehxd6IjvHePg==
-
-node-version@^1.0.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/node-version/-/node-version-1.2.0.tgz"
- integrity sha512-ma6oU4Sk0qOoKEAymVoTvk8EdXEobdS7m/mAGhDJ8Rouugho48crHBORAmy5BoOcv8wraPM6xumapQp5hl4iIQ==
-
nopt@^5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz"
@@ -4464,16 +3551,6 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
-normalize-package-data@^3.0.0:
- version "3.0.2"
- resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz"
- integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==
- dependencies:
- hosted-git-info "^4.0.1"
- resolve "^1.20.0"
- semver "^7.3.4"
- validate-npm-package-license "^3.0.1"
-
normalize-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
@@ -4533,7 +3610,7 @@ object-keys@^1.0.12, object-keys@^1.1.1:
object-keys@~0.4.0:
version "0.4.0"
- resolved "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336"
integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=
object.assign@^4.1.2:
@@ -4588,13 +3665,6 @@ once@^1.3.0, once@^1.4.0:
dependencies:
wrappy "1"
-onetime@^2.0.0:
- version "2.0.1"
- resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz"
- integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
- dependencies:
- mimic-fn "^1.0.0"
-
onetime@^5.1.0, onetime@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
@@ -4624,13 +3694,6 @@ opencollective-postinstall@^2.0.3:
resolved "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz"
integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
-opn@5.4.0:
- version "5.4.0"
- resolved "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz"
- integrity sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==
- dependencies:
- is-wsl "^1.1.0"
-
optionator@^0.9.1:
version "0.9.1"
resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz"
@@ -4643,33 +3706,6 @@ optionator@^0.9.1:
type-check "^0.4.0"
word-wrap "^1.2.3"
-ora@2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/ora/-/ora-2.0.0.tgz"
- integrity sha512-g+IR0nMUXq1k4nE3gkENbN4wkF0XsVZFyxznTF6CdmwQ9qeTGONGpSR9LM5//1l0TVvJoJF3MkMtJp6slUsWFg==
- dependencies:
- chalk "^2.3.1"
- cli-cursor "^2.1.0"
- cli-spinners "^1.1.0"
- log-symbols "^2.2.0"
- strip-ansi "^4.0.0"
- wcwidth "^1.0.1"
-
-os-homedir@^1.0.1:
- version "1.0.2"
- resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
- integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
-
-os-tmpdir@~1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
- integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-
-p-cancelable@^0.3.0:
- version "0.3.0"
- resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz"
- integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==
-
p-filter@2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c"
@@ -4677,11 +3713,6 @@ p-filter@2.1.0:
dependencies:
p-map "^2.0.0"
-p-finally@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz"
- integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
-
p-limit@^1.1.0:
version "1.3.0"
resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz"
@@ -4751,13 +3782,6 @@ p-retry@4.6.1:
"@types/retry" "^0.12.0"
retry "^0.13.1"
-p-timeout@^1.1.1:
- version "1.2.1"
- resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz"
- integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=
- dependencies:
- p-finally "^1.0.0"
-
p-try@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz"
@@ -4780,21 +3804,6 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
-parse-git-config@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/parse-git-config/-/parse-git-config-1.1.1.tgz"
- integrity sha1-06mYQxcTL1c5hxK7pDjhKVkN34w=
- dependencies:
- extend-shallow "^2.0.1"
- fs-exists-sync "^0.1.0"
- git-config-path "^1.0.1"
- ini "^1.3.4"
-
-parse-github-url@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz"
- integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==
-
parse-json@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz"
@@ -4813,11 +3822,6 @@ parse-json@^5.0.0:
json-parse-even-better-errors "^2.3.0"
lines-and-columns "^1.1.6"
-parse-passwd@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz"
- integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
-
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz"
@@ -5002,11 +4006,6 @@ prelude-ls@^1.2.1:
resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-prepend-http@^1.0.1:
- version "1.0.4"
- resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz"
- integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
-
prettysize@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/prettysize/-/prettysize-2.0.0.tgz#902c02480d865d9cc0813011c9feb4fa02ce6996"
@@ -5017,6 +4016,11 @@ printj@~1.3.1:
resolved "https://registry.yarnpkg.com/printj/-/printj-1.3.1.tgz#9af6b1d55647a1587ac44f4c1654a4b95b8e12cb"
integrity sha512-GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==
+prism-react-renderer@^1.2.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.3.1.tgz#88fc9d0df6bed06ca2b9097421349f8c2f24e30d"
+ integrity sha512-xUeDMEz074d0zc5y6rxiMp/dlC7C+5IDDlaEUlcBOFE2wddz7hz5PNupb087mPwTt7T9BrFmewObfCBuf/LKwQ==
+
prisma@^3.9.2:
version "3.9.2"
resolved "https://registry.yarnpkg.com/prisma/-/prisma-3.9.2.tgz#cc2da4e8db91231dea7465adf9db6e19f11032a9"
@@ -5039,11 +4043,6 @@ progress@2.0.3, progress@^2.0.0:
resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
-promise-polyfill@^6.0.1:
- version "6.1.0"
- resolved "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz"
- integrity sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc=
-
prompts@2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
@@ -5052,7 +4051,7 @@ prompts@2.4.2:
kleur "^3.0.3"
sisteransi "^1.0.5"
-prop-types@^15.5.10, prop-types@^15.6.2, prop-types@^15.7.2:
+prop-types@^15.6.2, prop-types@^15.7.2:
version "15.7.2"
resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz"
integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
@@ -5061,16 +4060,20 @@ prop-types@^15.5.10, prop-types@^15.6.2, prop-types@^15.7.2:
object-assign "^4.1.1"
react-is "^16.8.1"
+prop-types@^15.8.1:
+ version "15.8.1"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
+ integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
+ dependencies:
+ loose-envify "^1.4.0"
+ object-assign "^4.1.1"
+ react-is "^16.13.1"
+
property-expr@^2.0.4:
version "2.0.4"
resolved "https://registry.npmjs.org/property-expr/-/property-expr-2.0.4.tgz"
integrity sha512-sFPkHQjVKheDNnPvotjQmm3KD3uk1fWKUN7CrpdbwmUx3CrG3QiM8QpTSimvig5vTXmTvjz7+TDvXOI9+4rkcg==
-pseudomap@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz"
- integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
-
psl@^1.1.33:
version "1.8.0"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
@@ -5081,81 +4084,51 @@ punycode@^2.1.0, punycode@^2.1.1:
resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-q@^1.5.1:
- version "1.5.1"
- resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz"
- integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
-
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-quick-lru@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz"
- integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
-
-random-string@0.2.0:
- version "0.2.0"
- resolved "https://registry.npmjs.org/random-string/-/random-string-0.2.0.tgz"
- integrity sha1-pG5DdTUr7amg17DRntbTIezR2C0=
-
-rc@^1.0.1, rc@^1.1.6:
- version "1.2.8"
- resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz"
- integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
- dependencies:
- deep-extend "^0.6.0"
- ini "~1.3.0"
- minimist "^1.2.0"
- strip-json-comments "~2.0.1"
-
-react-color@^2.19.3:
- version "2.19.3"
- resolved "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz"
- integrity sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==
- dependencies:
- "@icons/material" "^0.2.4"
- lodash "^4.17.15"
- lodash-es "^4.17.15"
- material-colors "^1.2.1"
- prop-types "^15.5.10"
- reactcss "^1.2.0"
- tinycolor2 "^1.4.1"
-
-react-dom@17.0.2:
+react-dom@^17.0.2:
version "17.0.2"
- resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
scheduler "^0.20.2"
-react-dropzone@^11.3.2:
- version "11.3.2"
- resolved "https://registry.npmjs.org/react-dropzone/-/react-dropzone-11.3.2.tgz"
- integrity sha512-Z0l/YHcrNK1r85o6RT77Z5XgTARmlZZGfEKBl3tqTXL9fZNQDuIdRx/J0QjvR60X+yYu26dnHeaG2pWU+1HHvw==
+react-dropzone@^11.4.2:
+ version "11.7.1"
+ resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-11.7.1.tgz#3851bb75b26af0bf1b17ce1449fd980e643b9356"
+ integrity sha512-zxCMwhfPy1olUEbw3FLNPLhAm/HnaYH5aELIEglRbqabizKAdHs0h+WuyOpmA+v1JXn0++fpQDdNfUagWt5hJQ==
dependencies:
- attr-accept "^2.2.1"
- file-selector "^0.2.2"
- prop-types "^15.7.2"
+ attr-accept "^2.2.2"
+ file-selector "^0.4.0"
+ prop-types "^15.8.1"
-react-fast-compare@^2.0.1:
- version "2.0.4"
- resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz"
- integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==
+react-fast-compare@^3.0.1:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb"
+ integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==
react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.1:
version "16.13.1"
resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-react-is@^17.0.2:
- version "17.0.2"
- resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz"
- integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
+react-popper@^2.2.5:
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.2.5.tgz#1214ef3cec86330a171671a4fbcbeeb65ee58e96"
+ integrity sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw==
+ dependencies:
+ react-fast-compare "^3.0.1"
+ warning "^4.0.2"
+
+react-property@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/react-property/-/react-property-2.0.0.tgz#2156ba9d85fa4741faf1918b38efc1eae3c6a136"
+ integrity sha512-kzmNjIgU32mO4mmH5+iUyrqlpFQhF8K2k7eZ4fdLSOPFrD1XgEuSBv9LDEgxRXTMBqMd8ppT0x6TIzqE5pdGdw==
react-redux@^7.2.4:
version "7.2.4"
@@ -5169,6 +4142,20 @@ react-redux@^7.2.4:
prop-types "^15.7.2"
react-is "^16.13.1"
+react-table@^7.7.0:
+ version "7.7.0"
+ resolved "https://registry.yarnpkg.com/react-table/-/react-table-7.7.0.tgz#e2ce14d7fe3a559f7444e9ecfe8231ea8373f912"
+ integrity sha512-jBlj70iBwOTvvImsU9t01LjFjy4sXEtclBovl3mTiqjz23Reu0DKnRza4zlLtOPACx6j2/7MrQIthIK1Wi+LIA==
+
+react-textarea-autosize@^8.3.2:
+ version "8.3.3"
+ resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.3.3.tgz#f70913945369da453fd554c168f6baacd1fa04d8"
+ integrity sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ==
+ dependencies:
+ "@babel/runtime" "^7.10.2"
+ use-composed-ref "^1.0.0"
+ use-latest "^1.0.0"
+
react-transition-group@^4.4.2:
version "4.4.2"
resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz"
@@ -5179,22 +4166,15 @@ react-transition-group@^4.4.2:
loose-envify "^1.4.0"
prop-types "^15.6.2"
-react@17.0.2:
+react@^17.0.2:
version "17.0.2"
- resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz"
+ resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
-reactcss@^1.2.0:
- version "1.2.3"
- resolved "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz"
- integrity sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==
- dependencies:
- lodash "^4.0.1"
-
-read-pkg-up@7.0.1, read-pkg-up@^7.0.1:
+read-pkg-up@7.0.1:
version "7.0.1"
resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz"
integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==
@@ -5240,16 +4220,7 @@ readable-stream@1.1.x:
isarray "0.0.1"
string_decoder "~0.10.x"
-readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
- version "3.6.0"
- resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"
- integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
- dependencies:
- inherits "^2.0.3"
- string_decoder "^1.1.1"
- util-deprecate "^1.0.1"
-
-readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.2.2:
+readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.2.2:
version "2.3.7"
resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"
integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
@@ -5262,9 +4233,18 @@ readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.0.6, readable
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
-readable-stream@~1.0.17:
+readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"
+ integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+readable-stream@~1.0.17, readable-stream@~1.0.27-1:
version "1.0.34"
- resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=
dependencies:
core-util-is "~1.0.0"
@@ -5279,14 +4259,6 @@ readdir-glob@^1.0.0:
dependencies:
minimatch "^3.0.4"
-redent@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz"
- integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==
- dependencies:
- indent-string "^4.0.0"
- strip-indent "^3.0.0"
-
redux-thunk@^2.3.0:
version "2.3.0"
resolved "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz"
@@ -5317,74 +4289,11 @@ regexpp@^3.1.0:
resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz"
integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
-registry-auth-token@3.3.2:
- version "3.3.2"
- resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz"
- integrity sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==
- dependencies:
- rc "^1.1.6"
- safe-buffer "^5.0.1"
-
-registry-url@3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz"
- integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI=
- dependencies:
- rc "^1.0.1"
-
-release@^6.3.0:
- version "6.3.0"
- resolved "https://registry.npmjs.org/release/-/release-6.3.0.tgz"
- integrity sha512-p2dQcsNzCwI0LMHFb/BAd49NrTbIlt2krjaDVHsjV40tScLIRHVatEtN+4MV4Xx9jKKGiZGoM2gtrSn6vJeM1g==
- dependencies:
- "@octokit/rest" "15.2.6"
- args "4.0.0"
- async-retry "1.2.1"
- capitalize "1.0.0"
- chalk "2.4.0"
- configstore "3.1.2"
- delay "4.3.0"
- escape-goat "1.3.0"
- fs-extra "5.0.0"
- git-repo-name "0.6.0"
- git-spawned-stream "1.0.0"
- git-state "4.0.0"
- git-username "1.0.0"
- github-username "4.1.0"
- inquirer "5.2.0"
- node-fetch "2.6.0"
- node-version "1.1.3"
- opn "5.4.0"
- ora "2.0.0"
- random-string "0.2.0"
- semver "5.5.0"
- tagged-versions "1.3.0"
- update-check "1.3.2"
-
-remote-origin-url@^0.5.1:
- version "0.5.3"
- resolved "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-0.5.3.tgz"
- integrity sha512-crQ7Xk1m/F2IiwBx5oTqk/c0hjoumrEz+a36+ZoVupskQRE/q7pAwHKsTNeiZ31sbSTELvVlVv4h1W0Xo5szKg==
- dependencies:
- parse-git-config "^1.1.1"
-
-remote-origin-url@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/remote-origin-url/-/remote-origin-url-1.0.0.tgz"
- integrity sha512-xHDM6IBqivpiQ1e4WOuFpM/T6rbzA/WBsu+3WLtgPOhHyjA0nYlijV3NprlTb4FcXlQ5+Q+z174sQ1NnUF5FwA==
- dependencies:
- parse-git-config "^1.1.1"
-
replace-string@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/replace-string/-/replace-string-3.1.0.tgz#77a087d88580fbac59851237891aa4b0e283db72"
integrity sha512-yPpxc4ZR2makceA9hy/jHNqc7QVkd4Je/N0WRHm6bs3PtivPuPynxE5ejU/mp5EhnCv8+uZL7vhz8rkluSlx+Q==
-require-directory@^2.1.1:
- version "2.1.1"
- resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"
- integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
-
require-from-string@^2.0.2:
version "2.0.2"
resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz"
@@ -5395,31 +4304,11 @@ reselect@^4.0.0:
resolved "https://registry.npmjs.org/reselect/-/reselect-4.0.0.tgz"
integrity sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA==
-resolve-dir@^0.1.0:
- version "0.1.1"
- resolved "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz"
- integrity sha1-shklmlYC+sXFxJatiUpujMQwJh4=
- dependencies:
- expand-tilde "^1.2.2"
- global-modules "^0.2.3"
-
-resolve-from@5.0.0, resolve-from@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz"
- integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
-
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-resolve-global@1.0.0, resolve-global@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz"
- integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==
- dependencies:
- global-dirs "^0.1.1"
-
resolve@1.22.0:
version "1.22.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198"
@@ -5445,14 +4334,6 @@ resolve@^2.0.0-next.3:
is-core-module "^2.2.0"
path-parse "^1.0.6"
-restore-cursor@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz"
- integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
- dependencies:
- onetime "^2.0.0"
- signal-exit "^3.0.2"
-
restore-cursor@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
@@ -5461,11 +4342,6 @@ restore-cursor@^3.1.0:
onetime "^5.1.0"
signal-exit "^3.0.2"
-retry@0.10.1:
- version "0.10.1"
- resolved "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz"
- integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=
-
retry@^0.13.1:
version "0.13.1"
resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658"
@@ -5495,11 +4371,6 @@ rimraf@^2.6.3:
dependencies:
glob "^7.1.3"
-run-async@^2.2.0:
- version "2.4.1"
- resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz"
- integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
-
run-parallel@^1.1.9:
version "1.2.0"
resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"
@@ -5507,13 +4378,6 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
-rxjs@^5.5.2:
- version "5.5.12"
- resolved "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz"
- integrity sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==
- dependencies:
- symbol-observable "1.0.1"
-
safe-buffer@^5.0.1, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
@@ -5524,7 +4388,7 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1:
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0":
+"safer-buffer@>= 2.1.2 < 3.0.0":
version "2.1.2"
resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
@@ -5547,28 +4411,23 @@ semver-compare@^1.0.0:
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
-"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.6.0:
+"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0:
version "5.7.1"
resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-semver@5.5.0:
- version "5.5.0"
- resolved "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz"
- integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==
-
-semver@7.3.5, semver@^7.2.1, semver@^7.3.4, semver@^7.3.5:
- version "7.3.5"
- resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz"
- integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
- dependencies:
- lru-cache "^6.0.0"
-
semver@^6.0.0:
version "6.3.0"
resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+semver@^7.2.1, semver@^7.3.4, semver@^7.3.5:
+ version "7.3.5"
+ resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz"
+ integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
+ dependencies:
+ lru-cache "^6.0.0"
+
set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
@@ -5678,14 +4537,6 @@ source-map@^0.6.0:
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-spawn-to-readstream@~0.1.3:
- version "0.1.3"
- resolved "https://registry.npmjs.org/spawn-to-readstream/-/spawn-to-readstream-0.1.3.tgz"
- integrity sha1-lnaLcnOaxk/6d8jOLL+YwtIdjb8=
- dependencies:
- limit-spawn "0.0.3"
- through2 "~0.4.1"
-
spdx-correct@^3.0.0:
version "3.1.1"
resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz"
@@ -5712,13 +4563,6 @@ spdx-license-ids@^3.0.0:
resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz"
integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==
-split2@^3.0.0:
- version "3.2.2"
- resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz"
- integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==
- dependencies:
- readable-stream "^3.0.0"
-
split2@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/split2/-/split2-4.1.0.tgz#101907a24370f85bb782f08adaabe4e281ecf809"
@@ -5762,7 +4606,7 @@ string-width@^1.0.1:
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
-"string-width@^1.0.2 || 2", string-width@^2.1.0:
+"string-width@^1.0.2 || 2":
version "2.1.1"
resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz"
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
@@ -5875,7 +4719,7 @@ strip-final-newline@^2.0.0:
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
-strip-indent@3.0.0, strip-indent@^3.0.0:
+strip-indent@3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz"
integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
@@ -5887,20 +4731,29 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-strip-json-comments@~2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"
- integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
+style-to-js@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.0.tgz#631cbb20fce204019b3aa1fcb5b69d951ceac4ac"
+ integrity sha512-1OqefPDxGrlMwcbfpsTVRyzwdhr4W0uxYQzeA2F1CBc8WG04udg2+ybRnvh3XYL4TdHQrCahLtax2jc8xaE6rA==
+ dependencies:
+ style-to-object "0.3.0"
+
+style-to-object@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46"
+ integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==
+ dependencies:
+ inline-style-parser "0.1.1"
styled-jsx@5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0.tgz#816b4b92e07b1786c6b7111821750e0ba4d26e77"
integrity sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA==
-stylis@^4.0.3:
- version "4.0.10"
- resolved "https://registry.npmjs.org/stylis/-/stylis-4.0.10.tgz"
- integrity sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg==
+stylis@4.0.13:
+ version "4.0.13"
+ resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91"
+ integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==
supports-color@^5.3.0:
version "5.5.0"
@@ -5929,11 +4782,6 @@ supports-preserve-symlinks-flag@^1.0.0:
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
-symbol-observable@1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz"
- integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=
-
table@^6.0.9:
version "6.7.1"
resolved "https://registry.npmjs.org/table/-/table-6.7.1.tgz"
@@ -5946,14 +4794,6 @@ table@^6.0.9:
string-width "^4.2.0"
strip-ansi "^6.0.0"
-tagged-versions@1.3.0:
- version "1.3.0"
- resolved "https://registry.npmjs.org/tagged-versions/-/tagged-versions-1.3.0.tgz"
- integrity sha1-/TzKF2hZgXuVsfXTEaEsnAjIvcQ=
- dependencies:
- child-process-promise "^2.1.3"
- semver "^5.3.0"
-
tar-stream@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
@@ -6050,51 +4890,24 @@ terminal-link@2.1.1:
ansi-escapes "^4.2.1"
supports-hyperlinks "^2.0.0"
-text-extensions@^1.0.0:
- version "1.9.0"
- resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz"
- integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==
-
text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
-through2@^4.0.0:
- version "4.0.2"
- resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz"
- integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==
- dependencies:
- readable-stream "3"
-
through2@~0.4.1:
version "0.4.2"
- resolved "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b"
integrity sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=
dependencies:
readable-stream "~1.0.17"
xtend "~2.1.1"
-"through@>=2.2.7 <3", through@^2.3.6:
+through@^2.3.8:
version "2.3.8"
- resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
-timed-out@^4.0.0:
- version "4.0.1"
- resolved "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz"
- integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=
-
-tiny-warning@^1.0.2:
- version "1.0.3"
- resolved "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz"
- integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
-
-tinycolor2@^1.4.1:
- version "1.4.2"
- resolved "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz"
- integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==
-
tmp@0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
@@ -6102,13 +4915,6 @@ tmp@0.2.1:
dependencies:
rimraf "^3.0.0"
-tmp@^0.0.33:
- version "0.0.33"
- resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz"
- integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
- dependencies:
- os-tmpdir "~1.0.2"
-
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz"
@@ -6121,11 +4927,6 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
-toggle-selection@^1.0.6:
- version "1.0.6"
- resolved "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz"
- integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI=
-
toposort@^2.0.2:
version "2.0.2"
resolved "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz"
@@ -6145,16 +4946,6 @@ tr46@~0.0.3:
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
-trim-newlines@^3.0.0:
- version "3.0.1"
- resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz"
- integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
-
-trim-off-newlines@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz"
- integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM=
-
ts-node@^10.0.0:
version "10.0.0"
resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.0.0.tgz"
@@ -6181,7 +4972,7 @@ tsconfig-paths@^3.9.0:
minimist "^1.2.0"
strip-bom "^3.0.0"
-tslib@^1.10.0, tslib@^1.8.1:
+tslib@^1.8.1:
version "1.14.1"
resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
@@ -6220,11 +5011,6 @@ type-fest@^0.16.0:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860"
integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==
-type-fest@^0.18.0:
- version "0.18.1"
- resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz"
- integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==
-
type-fest@^0.20.2:
version "0.20.2"
resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
@@ -6278,13 +5064,6 @@ undici@3.3.6:
resolved "https://registry.yarnpkg.com/undici/-/undici-3.3.6.tgz#06d3b97b7eeff46bce6f8a71079c09f64dd59dc1"
integrity sha512-/j3YTZ5AobMB4ZrTY72mzM54uFUX32v0R/JRW9G2vOyF1uSKYAx+WT8dMsAcRS13TOFISv094TxIyWYk+WEPsA==
-unique-string@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz"
- integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=
- dependencies:
- crypto-random-string "^1.0.0"
-
unique-string@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
@@ -6292,24 +5071,11 @@ unique-string@^2.0.0:
dependencies:
crypto-random-string "^2.0.0"
-universalify@^0.1.0, universalify@^0.1.2:
+universalify@^0.1.2:
version "0.1.2"
resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz"
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
-universalify@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz"
- integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
-
-update-check@1.3.2:
- version "1.3.2"
- resolved "https://registry.npmjs.org/update-check/-/update-check-1.3.2.tgz"
- integrity sha512-0iGt63gXrsU4VTw4tIGVVk14H6KLHI7ExNPuSmdDdwUrUAQTBnh1hQcRpnoBWetb3/Ab4YyXK1iDWXP7D0VHTQ==
- dependencies:
- registry-auth-token "3.3.2"
- registry-url "3.1.0"
-
uri-js@^4.2.2:
version "4.4.1"
resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
@@ -6317,22 +5083,22 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
-url-parse-lax@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz"
- integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=
+use-composed-ref@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.2.1.tgz#9bdcb5ccd894289105da2325e1210079f56bf849"
+ integrity sha512-6+X1FLlIcjvFMAeAD/hcxDT8tmyrWnbSPMU0EnxQuDLIxokuFzWliXBiYZuGIx+mrAMLBw0WFfCkaPw8ebzAhw==
+
+use-isomorphic-layout-effect@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz#7bb6589170cd2987a152042f9084f9effb75c225"
+ integrity sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==
+
+use-latest@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.0.tgz#a44f6572b8288e0972ec411bdd0840ada366f232"
+ integrity sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw==
dependencies:
- prepend-http "^1.0.1"
-
-url-template@^2.0.8:
- version "2.0.8"
- resolved "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz"
- integrity sha1-/FZaPMy/93MMd19WQflVV5FDnyE=
-
-url-to-options@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz"
- integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=
+ use-isomorphic-layout-effect "^1.0.0"
use-subscription@1.5.1:
version "1.5.1"
@@ -6369,12 +5135,12 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
-wcwidth@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz"
- integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=
+warning@^4.0.2:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"
+ integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==
dependencies:
- defaults "^1.0.3"
+ loose-envify "^1.0.0"
webidl-conversions@^3.0.0:
version "3.0.1"
@@ -6400,7 +5166,7 @@ which-boxed-primitive@^1.0.2:
is-string "^1.0.5"
is-symbol "^1.0.3"
-which@^1.2.12, which@^1.2.9:
+which@^1.2.9:
version "1.3.1"
resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
@@ -6435,34 +5201,11 @@ wrap-ansi@^6.2.0:
string-width "^4.1.0"
strip-ansi "^6.0.0"
-wrap-ansi@^7.0.0:
- version "7.0.0"
- resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
- integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
- dependencies:
- ansi-styles "^4.0.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
-
wrappy@1:
version "1.0.2"
resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-write-file-atomic@^2.0.0:
- version "2.4.3"
- resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz"
- integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
- dependencies:
- graceful-fs "^4.1.11"
- imurmurhash "^0.1.4"
- signal-exit "^3.0.2"
-
-xdg-basedir@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz"
- integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=
-
xml2js@^0.4.19:
version "0.4.23"
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
@@ -6483,49 +5226,21 @@ xtend@^4.0.0:
xtend@~2.1.1:
version "2.1.2"
- resolved "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b"
integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os=
dependencies:
object-keys "~0.4.0"
-y18n@^5.0.5:
- version "5.0.8"
- resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz"
- integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
-
-yallist@^2.1.2:
- version "2.1.2"
- resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz"
- integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
-
yallist@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-yaml@^1.10.0, yaml@^1.7.2:
+yaml@^1.7.2:
version "1.10.2"
resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz"
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
-yargs-parser@^20.2.2, yargs-parser@^20.2.3:
- version "20.2.9"
- resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz"
- integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
-
-yargs@^16.2.0:
- version "16.2.0"
- resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz"
- integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
- dependencies:
- cliui "^7.0.2"
- escalade "^3.1.1"
- get-caller-file "^2.0.5"
- require-directory "^2.1.1"
- string-width "^4.2.0"
- y18n "^5.0.5"
- yargs-parser "^20.2.2"
-
yn@3.1.1:
version "3.1.1"
resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz"