diff --git a/next.config.js b/next.config.js
index 1201cd68..32676401 100755
--- a/next.config.js
+++ b/next.config.js
@@ -12,7 +12,10 @@ module.exports = {
appId: process.env.APP_ID,
measurementId: process.env.MEASUREMENT_ID,
},
- transpilePackages: ['@mui/system', '@mui/material', '@mui/icons-material'],
+ compiler:{
+ removeConsole: true,
+ },
+ transpilePackages: ['@mui/system', '@mui/material', '@mui/icons-material','@mui/styles'],
modularizeImports: {
'@mui/material/?(((\\w*)?/?)*)': {
transform: '@mui/material/{{ matches.[1] }}/{{member}}',
@@ -20,6 +23,9 @@ module.exports = {
'@mui/icons-material/?(((\\w*)?/?)*)': {
transform: '@mui/icons-material/{{ matches.[1] }}/{{member}}',
},
+ '@mui/styles/?(((\\w*)?/?)*)':{
+ transform: '@mui/styles/{{ matches.[1] }}/{{member}}'
+ },
async headers() {
return [
{
diff --git a/package.json b/package.json
index 76cba203..0d8869c0 100644
--- a/package.json
+++ b/package.json
@@ -55,6 +55,7 @@
"devDependencies": {
"@commitlint/cli": "^17.6.7",
"@commitlint/config-conventional": "^17.4.2",
+ "@next/bundle-analyzer": "^13.4.19",
"@storybook/addon-actions": "^7.0.18",
"@storybook/addon-essentials": "^7.0.18",
"@storybook/addon-interactions": "^7.0.18",
@@ -68,7 +69,9 @@
"@types/node": "^20.2.5",
"@types/react": "^18.0.26",
"babel-loader": "^9.1.2",
+ "babel-plugin-import": "^1.13.8",
"commitizen": "^4.3.0",
+ "cross-env": "^7.0.3",
"cz-conventional-changelog": "3.3.0",
"eslint": "8.42.0",
"eslint-config-next": "^13.1.3",
diff --git a/pages/_document.tsx b/pages/_document.tsx
index ce1eac64..0be25e19 100755
--- a/pages/_document.tsx
+++ b/pages/_document.tsx
@@ -63,9 +63,9 @@ MyDocument.getInitialProps = async (ctx) => {
ctx.renderPage = () =>
originalRenderPage({
enhanceApp: (App: any) =>
- function EnhanceApp(props) {
+ (function EnhanceApp(props) {
return ;
- },
+ }),
});
const initialProps = await Document.getInitialProps(ctx);
diff --git a/pages/about.tsx b/pages/about.tsx
index bac50fbc..4eaa9151 100755
--- a/pages/about.tsx
+++ b/pages/about.tsx
@@ -1,9 +1,8 @@
-import Box from '@mui/material/Box';
-import Container from '@mui/material/Container';
-import Typography from '@mui/material/Typography';
import Link from '@src/Link';
import type { NextPage } from 'next';
+import { Box, Container, Typography } from '@mui/material';
+
const About: NextPage = () => (
{
const [loading, setLoading] = useState(true);
diff --git a/src/Copyright.tsx b/src/Copyright.tsx
index 6945f88c..5353a329 100755
--- a/src/Copyright.tsx
+++ b/src/Copyright.tsx
@@ -1,5 +1,5 @@
import * as React from 'react';
-import Typography from '@mui/material/Typography';
+import { Typography } from '@mui/material';
const Copyright = () => (
(
diff --git a/src/assets/GoogleIcon.tsx b/src/assets/GoogleIcon.tsx
index aaa617fc..6ef79226 100644
--- a/src/assets/GoogleIcon.tsx
+++ b/src/assets/GoogleIcon.tsx
@@ -1,5 +1,5 @@
-import SvgIcon from '@mui/material/SvgIcon';
import { TKeyMap } from '@globals/types';
+import { SvgIcon } from '@mui/material';
type TGoogleIconProps = TKeyMap;
diff --git a/src/components/AlertBar.tsx b/src/components/AlertBar.tsx
index 5082d382..39862577 100644
--- a/src/components/AlertBar.tsx
+++ b/src/components/AlertBar.tsx
@@ -1,6 +1,5 @@
import { useAlert } from '@context/AlertContext';
-import Alert from '@mui/material/Alert';
-import Box from '@mui/material/Box';
+import { Alert, Box } from '@mui/material';
export const AlertBar = () => {
const { alert, setAlert } = useAlert();
diff --git a/src/components/ClassCard.tsx b/src/components/ClassCard.tsx
index 6954f517..901eaa08 100755
--- a/src/components/ClassCard.tsx
+++ b/src/components/ClassCard.tsx
@@ -1,15 +1,18 @@
-import * as React from 'react';
+import {
+ Box,
+ Card,
+ CardActionArea,
+ CardActions,
+ CardContent,
+ CardMedia,
+ Chip,
+ Rating,
+ Tooltip,
+ Typography,
+} from '@mui/material';
import { useRouter } from 'next/router';
-import Card from '@mui/material/Card';
-import CardContent from '@mui/material/CardContent';
-import CardMedia from '@mui/material/CardMedia';
-import Box from '@mui/material/Box';
-import Chip from '@mui/material/Chip';
-import Tooltip from '@mui/material/Tooltip';
-import Rating from '@mui/material/Rating';
-import { CardActionArea, CardActions } from '@mui/material';
+
import { grey } from '@mui/material/colors';
-import Typography from '@mui/material/Typography';
interface ClassCardProps {
title: string;
diff --git a/src/components/LoginContent.tsx b/src/components/LoginContent.tsx
index acfa0a89..8a01bbde 100644
--- a/src/components/LoginContent.tsx
+++ b/src/components/LoginContent.tsx
@@ -2,10 +2,7 @@ import { useAuth } from '@context/AuthContext';
import { useMenu } from '@context/MenuContext';
import { TSignInAction } from '@context/types';
import { TProviderName } from '@globals/types';
-import { Grid } from '@mui/material';
-import Stack from '@mui/material/Stack';
-import TextField from '@mui/material/TextField';
-import Typography from '@mui/material/Typography';
+import { Grid, Stack, TextField, Typography } from '@mui/material';
import type { NextPage } from 'next';
import { useState } from 'react';
import SocialButton from '@components/SocialButton';
diff --git a/src/components/NavBar.tsx b/src/components/NavBar.tsx
index 3f78a1a5..2cbd540d 100755
--- a/src/components/NavBar.tsx
+++ b/src/components/NavBar.tsx
@@ -5,14 +5,10 @@ import { useAuth } from '@context/AuthContext';
import { useMenu } from '@context/MenuContext';
import { FirebaseAuthUser } from '@context/types';
import GitHubIcon from '@mui/icons-material/GitHub';
-import { Tooltip } from '@mui/material';
-import AppBar from '@mui/material/AppBar';
-import Box from '@mui/material/Box';
-import Button from '@mui/material/Button';
+import { AppBar, Box, Button, Dialog, Toolbar, Tooltip, Typography } from '@mui/material';
+
import { grey } from '@mui/material/colors';
-import Dialog from '@mui/material/Dialog';
-import Toolbar from '@mui/material/Toolbar';
-import Typography from '@mui/material/Typography';
+
import Link from '@src/Link';
interface NavBarProps {}
diff --git a/src/components/ProfileMenu.tsx b/src/components/ProfileMenu.tsx
index db8f37c9..d6f72fa3 100644
--- a/src/components/ProfileMenu.tsx
+++ b/src/components/ProfileMenu.tsx
@@ -3,10 +3,7 @@ import { useMenu } from '@context/MenuContext';
import { FirebaseAuthUser } from '@context/types';
import Link from '@src/Link';
-import { Avatar, Container } from '@mui/material';
-import Menu from '@mui/material/Menu';
-import MenuItem from '@mui/material/MenuItem';
-import Tooltip from '@mui/material/Tooltip';
+import { Avatar, Container, Menu, MenuItem, Tooltip } from '@mui/material';
export interface MenuLinksProps {
[key: string]: any;
diff --git a/src/components/ReviewCard.tsx b/src/components/ReviewCard.tsx
index fd70aafb..b330297d 100755
--- a/src/components/ReviewCard.tsx
+++ b/src/components/ReviewCard.tsx
@@ -6,20 +6,27 @@ import { getCourseDataStatic } from '@globals/utilities';
import DeleteIcon from '@mui/icons-material/Delete';
import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';
import PhotoCameraIcon from '@mui/icons-material/PhotoCamera';
-import { Button, IconButton, Snackbar, Tooltip } from '@mui/material';
-import Box from '@mui/material/Box';
-import Card from '@mui/material/Card';
-import CardContent from '@mui/material/CardContent';
-import Chip from '@mui/material/Chip';
-import CircularProgress from '@mui/material/CircularProgress';
+import {
+ Box,
+ Button,
+ Card,
+ CardContent,
+ Chip,
+ CircularProgress,
+ Dialog,
+ DialogActions,
+ DialogContent,
+ DialogContentText,
+ DialogTitle,
+ Grid,
+ IconButton,
+ Snackbar,
+ Tooltip,
+ Typography,
+} from '@mui/material';
+
import { grey } from '@mui/material/colors';
-import Dialog from '@mui/material/Dialog';
-import DialogActions from '@mui/material/DialogActions';
-import DialogContent from '@mui/material/DialogContent';
-import DialogContentText from '@mui/material/DialogContentText';
-import DialogTitle from '@mui/material/DialogTitle';
-import Grid from '@mui/material/Grid';
-import Typography from '@mui/material/Typography';
+
import { techGold } from '@src/colorPalette';
import {
mapDifficulty,
diff --git a/src/components/ReviewForm.tsx b/src/components/ReviewForm.tsx
index 40ca117a..bb3589a1 100644
--- a/src/components/ReviewForm.tsx
+++ b/src/components/ReviewForm.tsx
@@ -5,8 +5,6 @@ import { useAuth } from '@context/AuthContext';
import { FirebaseAuthUser } from '@context/types';
import { SEMESTER_ID } from '@globals/constants';
-import CircularProgress from '@mui/material/CircularProgress';
-
import {
Course,
TCourseId,
@@ -17,15 +15,19 @@ import {
TUserReviews,
} from '@globals/types';
import { isGTEmail } from '@globals/utilities';
-import { Button, TextField } from '@mui/material';
-import Alert from '@mui/material/Alert';
-import Grid from '@mui/material/Grid';
-import InputAdornment from '@mui/material/InputAdornment';
-import InputLabel from '@mui/material/InputLabel';
-import MenuItem from '@mui/material/MenuItem';
-import Rating from '@mui/material/Rating';
-import Select from '@mui/material/Select';
-import Typography from '@mui/material/Typography';
+import {
+ Button,
+ TextField,
+ CircularProgress,
+ Alert,
+ Grid,
+ InputAdornment,
+ InputLabel,
+ MenuItem,
+ Rating,
+ Select,
+ Typography,
+} from '@mui/material';
import { mapSemesterIdToName, mapSemsterIdToTerm } from '@src/utilities';
import dynamic from 'next/dynamic';
import { useRouter } from 'next/router';
diff --git a/src/components/SocialButton.tsx b/src/components/SocialButton.tsx
index 56a2e004..526dad6f 100644
--- a/src/components/SocialButton.tsx
+++ b/src/components/SocialButton.tsx
@@ -1,10 +1,10 @@
-import Button from '@mui/material/Button';
import GoogleIcon from '@src/assets/GoogleIcon';
import FacebookIcon from '@mui/icons-material/Facebook';
import GitHubIcon from '@mui/icons-material/GitHub';
import AppleIcon from '@mui/icons-material/Apple';
import { TKeyMap, TProviderName } from '@globals/types';
import { EmotionJSX } from '@emotion/react/types/jsx-namespace';
+import { Button } from '@mui/material';
interface SocialButtonProps {
key?: number;
diff --git a/src/stories/ClassCard.stories.tsx b/src/stories/ClassCard.stories.tsx
index 2e134074..e3d5f9ed 100755
--- a/src/stories/ClassCard.stories.tsx
+++ b/src/stories/ClassCard.stories.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import { ComponentMeta, ComponentStory } from '@storybook/react';
-import Grid from '@mui/material/Grid';
import ClassCard from '@components/ClassCard';
+import { Grid } from '@mui/material';
export default {
title: 'General/ClassCard',
diff --git a/src/theme.ts b/src/theme.ts
index 5ae1bc09..49285bf0 100755
--- a/src/theme.ts
+++ b/src/theme.ts
@@ -1,6 +1,8 @@
+import { navyBlue, techGold } from '@src/colorPalette';
+
import { createTheme } from '@mui/material/styles';
+
import { red } from '@mui/material/colors';
-import { navyBlue, techGold } from '@src/colorPalette';
// Create a theme instance.
const theme = createTheme({
diff --git a/yarn.lock b/yarn.lock
index 15d6be2d..6370d83d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -157,7 +157,7 @@
dependencies:
"@babel/types" "^7.22.5"
-"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.5":
+"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c"
integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==
@@ -2466,6 +2466,13 @@
pump "^3.0.0"
tar-fs "^2.1.1"
+"@next/bundle-analyzer@^13.4.19":
+ version "13.4.19"
+ resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-13.4.19.tgz#aaa423b029a4c7af04c7da9ba5980b267946a5fb"
+ integrity sha512-nXKHz63dM0Kn3XPFOKrv2wK+hP9rdBg2iR1PsxuXLHVBoZhMyS1/ldRcX80YFsm2VUws9zM4a0E/1HlLI+P92g==
+ dependencies:
+ webpack-bundle-analyzer "4.7.0"
+
"@next/env@13.4.12", "@next/env@^13.4.3":
version "13.4.12"
resolved "https://registry.yarnpkg.com/@next/env/-/env-13.4.12.tgz#0b88115ab817f178bf9dc0c5e7b367277595b58d"
@@ -2576,6 +2583,11 @@
schema-utils "^3.0.0"
source-map "^0.7.3"
+"@polka/url@^1.0.0-next.20":
+ version "1.0.0-next.21"
+ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1"
+ integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==
+
"@popperjs/core@^2.11.8":
version "2.11.8"
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
@@ -4577,7 +4589,7 @@ acorn-walk@^7.2.0:
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
-acorn-walk@^8.0.2, acorn-walk@^8.1.1:
+acorn-walk@^8.0.0, acorn-walk@^8.0.2, acorn-walk@^8.1.1:
version "8.2.0"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
@@ -4587,7 +4599,7 @@ acorn@^7.4.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-acorn@^8.1.0, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0:
+acorn@^8.0.4, acorn@^8.1.0, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0:
version "8.10.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
@@ -4973,6 +4985,13 @@ babel-plugin-add-react-displayname@^0.0.5:
resolved "https://registry.yarnpkg.com/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz#339d4cddb7b65fd62d1df9db9fe04de134122bd5"
integrity sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==
+babel-plugin-import@^1.13.8:
+ version "1.13.8"
+ resolved "https://registry.yarnpkg.com/babel-plugin-import/-/babel-plugin-import-1.13.8.tgz#782c517f6bbf2de3b1f75aaafd6d20a491c4878c"
+ integrity sha512-36babpjra5m3gca44V6tSTomeBlPA7cHUynrE2WiQIm3rEGD9xy28MKsx5IdO45EbnpJY7Jrgd00C6Dwt/l/2Q==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+
babel-plugin-istanbul@^6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73"
@@ -5673,6 +5692,11 @@ commander@^6.2.1:
resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
+commander@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
+ integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+
commander@^8.3.0:
version "8.3.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
@@ -5906,6 +5930,13 @@ create-require@^1.1.0:
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
+cross-env@^7.0.3:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf"
+ integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==
+ dependencies:
+ cross-spawn "^7.0.1"
+
cross-fetch@^3.0.4:
version "3.1.8"
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82"
@@ -5913,7 +5944,7 @@ cross-fetch@^3.0.4:
dependencies:
node-fetch "^2.6.12"
-cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
+cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -6419,6 +6450,11 @@ duplexer2@^0.1.2:
dependencies:
readable-stream "^2.0.2"
+duplexer@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
+ integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+
duplexify@^3.5.0, duplexify@^3.6.0:
version "3.7.1"
resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
@@ -7744,6 +7780,13 @@ gunzip-maybe@^1.4.2:
pumpify "^1.3.3"
through2 "^2.0.3"
+gzip-size@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462"
+ integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==
+ dependencies:
+ duplexer "^0.1.2"
+
handlebars@^4.7.7:
version "4.7.8"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9"
@@ -10177,6 +10220,11 @@ mri@^1.1.0, mri@^1.2.0:
resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b"
integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
+mrmime@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27"
+ integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==
+
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -10535,6 +10583,11 @@ open@^9.1.0:
is-inside-container "^1.0.0"
is-wsl "^2.2.0"
+opener@^1.5.2:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
+ integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
+
optionator@^0.9.1:
version "0.9.3"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
@@ -12073,6 +12126,15 @@ simple-update-notifier@^2.0.0:
dependencies:
semver "^7.5.3"
+sirv@^1.0.7:
+ version "1.0.19"
+ resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49"
+ integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==
+ dependencies:
+ "@polka/url" "^1.0.0-next.20"
+ mrmime "^1.0.0"
+ totalist "^1.0.0"
+
sisteransi@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
@@ -12675,6 +12737,11 @@ toidentifier@1.0.1:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
+totalist@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df"
+ integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==
+
tough-cookie@^4.1.2:
version "4.1.3"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf"
@@ -13261,6 +13328,21 @@ webidl-conversions@^7.0.0:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
+webpack-bundle-analyzer@4.7.0:
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz#33c1c485a7fcae8627c547b5c3328b46de733c66"
+ integrity sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==
+ dependencies:
+ acorn "^8.0.4"
+ acorn-walk "^8.0.0"
+ chalk "^4.1.0"
+ commander "^7.2.0"
+ gzip-size "^6.0.0"
+ lodash "^4.17.20"
+ opener "^1.5.2"
+ sirv "^1.0.7"
+ ws "^7.3.1"
+
webpack-dev-middleware@^6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz#6bbc257ec83ae15522de7a62f995630efde7cc3d"
@@ -13483,6 +13565,11 @@ ws@^6.1.0:
dependencies:
async-limiter "~1.0.0"
+ws@^7.3.1:
+ version "7.5.9"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
+ integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
+
ws@^8.11.0, ws@^8.13.0, ws@^8.2.3:
version "8.13.0"
resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"