From 27cc37dc345fe7237c633a28c6d1e71dd87ba3d5 Mon Sep 17 00:00:00 2001 From: Daniel Sousa <104842894+dsousa12@users.noreply.github.com> Date: Mon, 6 Jun 2022 10:40:58 +0100 Subject: [PATCH] [SUGGESTION]: Use `src/` folder on frontend (#219) * feat: suggestion of src folder structure * fix: update tsconfig * fix: eslint config and require * fix: eslint config and require * fix: jest tests * fix: solve merge conflits * fix: package.json versions --- backend/package-lock.json | 1511 ++++--- backend/package.json | 1 - .../src/modules/users/dto/create.user.dto.ts | 4 +- frontend/.eslintignore | 2 + frontend/.eslintrc.js | 101 + frontend/.eslintrc.json | 54 - frontend/.gitignore | 4 +- frontend/.prettierrc | 40 +- .../CardBoard/CardBody/CardTitle.tsx | 73 - .../partials/TeamTab/styles.tsx | 7 - frontend/components/Primitives/Svg.tsx | 5 - .../Sidebar/partials/Header/styles.tsx | 6 - frontend/jest.config.js | 22 +- frontend/jest.setup.js | 2 +- frontend/package-lock.json | 271 +- frontend/package.json | 183 +- frontend/public/icons/toast/alert.svg | 4 - frontend/{ => src}/__tests__/index.test.tsx | 2 +- frontend/{ => src}/animations/DialogShow.tsx | 2 +- frontend/{ => src}/animations/Slide.tsx | 2 +- frontend/{ => src}/api/authService.tsx | 10 +- frontend/{ => src}/api/boardService.tsx | 27 +- frontend/{ => src}/api/teamService.tsx | 5 +- .../components/Board/AddCardOrComment.tsx | 27 +- .../components/Board/Card/CardBoard.tsx | 17 +- .../components/Board/Card/CardFooter.tsx | 27 +- .../Board/Card/CardItem/CardItem.tsx | 13 +- .../Board/Card/CardItem/CardItemList.tsx | 8 +- .../components/Board/Card/DeleteCard.tsx | 4 +- .../components/Board/Card/PopoverSettings.tsx | 16 +- .../components/Board/Column/CardsList.tsx | 4 +- .../components/Board/Column/Column.tsx | 15 +- .../components/Board/Column/styles.tsx | 5 +- .../components/Board/Comment/Comment.tsx | 12 +- .../components/Board/Comment/Comments.tsx | 12 +- .../Board/Comment/PopoverSettings.tsx | 11 +- .../components/Board/Header/index.tsx | 26 +- .../components/Board/Header/styles.tsx | 2 +- .../Boards/Filters/FilterBoards.tsx | 9 +- .../Boards/Filters/FilterSelect.tsx | 2 +- .../components/Boards/MyBoards/index.tsx | 18 +- .../components/Boards/MyBoards/styles.tsx | 5 +- .../components/Boards/TeamHeader.tsx | 10 +- .../components/CardBoard/CardAvatars.tsx | 15 +- .../CardBoard/CardBody/CardBody.tsx | 17 +- .../components/CardBoard/CardBody/CardEnd.tsx | 12 +- .../CardBoard/CardBody/CardTitle.tsx | 74 + .../CardBoard/CardBody/CenterMainBoard.tsx | 8 +- .../CardBoard/CardBody/CountCards.tsx | 6 +- .../CardBoard/CardBody/LeftArrow.tsx | 4 +- .../CardBoard/CardBody/SubBoards.tsx | 4 +- .../components/CardBoard/CardIcon.tsx | 8 +- .../components/CardBoard/DeleteBoard.tsx | 12 +- .../components/CreateBoard/BoardName.tsx | 6 +- .../Configurations/BoardConfigurations.tsx | 12 +- .../components/CreateBoard/Content.tsx | 19 +- .../components/CreateBoard/SettingsTabs.tsx | 13 +- .../CreateBoard/SubTeamsTab/MainBoardCard.tsx | 32 +- .../SubTeamsTab/QuickEditSubTeams.tsx | 19 +- .../CreateBoard/SubTeamsTab/SubCardBoard.tsx | 31 +- .../TeamSubTeamsConfigurations.tsx | 23 +- .../components/CreateBoard/TipBar.tsx | 9 +- .../fake/FakeSettingsTabs/index.tsx | 4 +- .../partials/CardAvatars/index.tsx | 7 +- .../partials/MainBoardCard/index.tsx | 19 +- .../partials/MainBoardCard/styles.tsx | 7 +- .../partials/TeamTab/index.tsx | 8 +- .../partials/TeamTab/styles.tsx | 8 + .../fake/FakeSettingsTabs/styles.tsx | 7 +- .../Dashboard/Calendar/Calendar.tsx | 11 +- .../Dashboard/Calendar/StyledCalendar.tsx | 2 +- .../Dashboard/RecentRetros/EmptyBoards.tsx | 11 +- .../Dashboard/RecentRetros/ListOfCards.tsx | 13 +- .../Dashboard/RecentRetros/RecentRetros.tsx | 8 +- .../components/Dashboard/Tiles/index.tsx | 6 +- .../components/Dashboard/Tiles/styles.tsx | 5 +- .../components/Errors/QueryError.tsx | 6 +- .../components/HOC/requireAuthentication.tsx | 2 +- .../components/Primitives/AlertBox/index.tsx | 5 +- .../components/Primitives/AlertBox/styles.tsx | 0 .../Primitives/AlertCustomDialog.tsx | 5 +- .../components/Primitives/AlertDialog.tsx | 7 +- .../components/Primitives/Avatar.tsx | 3 +- .../{ => src}/components/Primitives/Box.tsx | 2 +- .../components/Primitives/Button.tsx | 2 +- .../{ => src}/components/Primitives/Card.tsx | 3 +- .../components/Primitives/Checkbox.tsx | 4 +- .../components/Primitives/Dialog.tsx | 7 +- .../components/Primitives/Fieldset.tsx | 3 +- .../{ => src}/components/Primitives/Flex.tsx | 2 +- .../components/Primitives/HoverCard.tsx | 5 +- .../{ => src}/components/Primitives/Image.tsx | 2 +- .../{ => src}/components/Primitives/Input.tsx | 40 +- .../{ => src}/components/Primitives/Label.tsx | 3 +- .../components/Primitives/Popover.tsx | 5 +- .../components/Primitives/Separator.tsx | 2 +- .../{ => src}/components/Primitives/Shape.tsx | 3 +- frontend/src/components/Primitives/Svg.tsx | 5 + .../components/Primitives/Switch.tsx | 3 +- .../{ => src}/components/Primitives/Tab.tsx | 3 +- .../{ => src}/components/Primitives/Text.tsx | 2 +- .../components/Primitives/TextArea.tsx | 7 +- .../{ => src}/components/Primitives/Toast.tsx | 15 +- .../components/Primitives/Tooltip.tsx | 4 +- .../components/Primitives/UnorderedList.tsx | 2 +- .../{ => src}/components/Sidebar/index.tsx | 0 .../Sidebar/partials/Content/index.tsx | 8 +- .../Sidebar/partials/Content/styles.tsx | 29 +- .../Sidebar/partials/Header/index.tsx | 8 +- .../Sidebar/partials/Header/styles.tsx | 7 + .../components/Sidebar/partials/Separator.tsx | 2 +- .../{ => src}/components/Sidebar/styles.tsx | 2 +- .../auth/FieldSet/HoverCardFieldSet.tsx | 9 +- .../auth/ForgotPassword/EmailSent.tsx | 23 +- .../auth/ForgotPassword/ResetPassword.tsx | 27 +- .../auth/ForgotPassword/TroubleLogin.tsx | 25 +- .../components/auth/LoginForm/index.tsx | 38 +- .../components/auth/LoginForm/styles.tsx | 15 +- .../components/auth/SignUp/RegisterForm.tsx | 81 +- .../components/auth/SignUp/SignUpForm.tsx | 31 +- .../auth/SignUp/SignUpOptionsForm.tsx | 23 +- .../auth/SignUp/SignUpTabContent.tsx | 4 +- .../breadcrumb/Breadcrumb/index.tsx | 4 +- .../breadcrumb/Breadcrumb/styles.tsx | 2 +- .../breadcrumb/BreadcrumbItem/index.tsx | 2 +- .../breadcrumb/BreadcrumbItem/styles.tsx | 2 +- .../{ => src}/components/icons/Banner.tsx | 0 .../{ => src}/components/icons/Google.tsx | 0 .../components/icons/HeaderBanner.tsx | 0 .../{ => src}/components/icons/Icon/index.tsx | 5 +- frontend/{ => src}/components/icons/Logo.tsx | 0 .../{ => src}/components/icons/Sprite.tsx | 0 .../components/icons/calendar/Dot.tsx | 0 .../components/icons/calendar/MoreDots.tsx | 0 .../components/icons/calendar/ThreeDots.tsx | 0 .../components/icons/calendar/TwoDots.tsx | 0 .../components/images/EmptyBoards.tsx | 0 .../components/images/NoMeetings.tsx | 0 .../layouts/DashboardLayout/index.tsx | 8 +- .../layouts/DashboardLayout/styles.tsx | 7 +- .../components/layouts/Layout/index.tsx | 10 +- .../components/layouts/Layout/styles.tsx | 2 +- .../components/loadings/DotsLoading/index.tsx | 3 +- .../loadings/DotsLoading/styles.tsx | 2 +- .../components/loadings/Loading/index.tsx | 2 +- .../components/loadings/LoadingPage/index.tsx | 3 +- .../loadings/LoadingPage/styles.tsx | 2 +- frontend/{ => src}/errors/auth-messages.ts | 2 +- frontend/{ => src}/helper/board/comments.ts | 4 +- frontend/{ => src}/helper/board/countCards.ts | 2 +- .../{ => src}/helper/board/transformBoard.tsx | 6 +- frontend/{ => src}/helper/board/votes.ts | 4 +- frontend/{ => src}/hooks/useBoard.tsx | 10 +- frontend/{ => src}/hooks/useBoardUtils.tsx | 7 +- frontend/{ => src}/hooks/useCards.tsx | 8 +- frontend/{ => src}/hooks/useComments.tsx | 1 + frontend/{ => src}/hooks/useCreateBoard.tsx | 0 .../{ => src}/hooks/useOnClickOutside.tsx | 6 +- frontend/{ => src}/hooks/useUser.tsx | 14 +- frontend/{ => src}/hooks/useVotes.tsx | 1 + frontend/{ => src}/pages/404.tsx | 11 +- frontend/{ => src}/pages/500.tsx | 11 +- frontend/{ => src}/pages/_app.tsx | 17 +- frontend/{ => src}/pages/_document.tsx | 8 +- .../pages/api/auth/[...nextauth].tsx | 10 +- frontend/{ => src}/pages/boards/[boardId].tsx | 43 +- frontend/{ => src}/pages/boards/index.tsx | 23 +- frontend/{ => src}/pages/boards/new.tsx | 46 +- frontend/{ => src}/pages/dashboard/index.tsx | 26 +- frontend/{ => src}/pages/index.tsx | 20 +- .../pages/reset-password/[tokenId].tsx | 7 +- .../schema/schemaCreateBoardForm.tsx | 0 frontend/{ => src}/schema/schemaEmail.tsx | 0 frontend/{ => src}/schema/schemaLoginForm.tsx | 0 .../{ => src}/schema/schemaRegisterForm.tsx | 17 +- .../schema/schemaResetPasswordForm.tsx | 0 .../store/board/atoms/board.atom.tsx | 2 +- .../board/selectors/get-board.selector.tsx | 0 .../createBoard/atoms/create-board.atom.tsx | 6 +- .../store/mergeCard/atoms/merge-card.atom.tsx | 2 +- .../{ => src}/store/toast/atom/toast.atom.tsx | 2 +- .../{ => src}/store/user/atoms/user.atom.tsx | 0 .../user/selectors/get-user.selector.tsx | 0 frontend/{ => src}/styles/centerScreen.tsx | 2 +- frontend/{ => src}/styles/globals.tsx | 8 +- .../{ => src}/styles/pages/auth.styles.tsx | 13 +- .../styles/pages/boards/board.styles.tsx | 5 +- .../styles/pages/boards/index.styles.tsx | 7 +- .../styles/pages/boards/new.styles.tsx | 5 +- .../src/styles/pages/dashboard.styles.tsx | 7 + .../{ => src}/styles/pages/error.styles.tsx | 7 +- .../styles/stitches/partials/borderRadius.ts | 14 + .../partials}/colors/box-shadow.colors.ts | 6 +- .../partials}/colors/bubble.colors.ts | 4 +- .../partials}/colors/danger.colors.ts | 2 +- .../partials}/colors/highlight1.colors.ts | 2 +- .../partials}/colors/highlight2.colors.ts | 2 +- .../partials}/colors/highlight3.colors.ts | 2 +- .../partials}/colors/highlight4.colors.ts | 2 +- .../styles/stitches/partials/colors/index.ts | 33 + .../stitches/partials}/colors/info.colors.ts | 2 +- .../partials}/colors/outline.colors.ts | 7 +- .../partials}/colors/primary.colors.ts | 2 +- .../partials}/colors/secondary.colors.ts | 2 +- .../partials}/colors/success.colors.ts | 2 +- .../partials}/colors/warning.colors.ts | 2 +- .../stitches/partials/fonts/fontSizes.ts | 17 + .../stitches/partials/fonts/fontWeights.ts | 9 + .../styles/stitches/partials/fonts/index.ts | 14 + .../stitches/partials/fonts/letterSpacings.ts | 15 + .../stitches/partials/fonts/lineHeights.ts | 19 + .../styles/stitches/partials/mediaQueries.ts | 10 + .../src/styles/stitches/partials/sizes.ts | 39 + .../src/styles/stitches/partials/spaces.ts | 46 + .../src/styles/stitches/partials/utils.ts | 65 + .../src/styles/stitches/stitches.config.ts | 27 + frontend/{ => src}/types/auth/auth.ts | 0 frontend/{ => src}/types/authFieldSet.ts | 0 .../{ => src}/types/board/Breadcrumb.d.ts | 0 frontend/{ => src}/types/board/board.ts | 6 +- frontend/{ => src}/types/board/board.user.ts | 2 +- frontend/{ => src}/types/board/editTitle.ts | 0 .../{ => src}/types/board/mergeCard.dto.ts | 0 frontend/{ => src}/types/board/updateBoard.ts | 0 frontend/{ => src}/types/board/useBoard.ts | 1 + frontend/{ => src}/types/card/addCard.dto.ts | 0 frontend/{ => src}/types/card/card.ts | 0 frontend/{ => src}/types/card/cardItem.ts | 0 .../{ => src}/types/card/deleteCard.dto.ts | 0 frontend/{ => src}/types/card/dragItem.tsx | 0 .../types/card/exchangeCardGroup.dto.ts | 0 .../types/card/removeFromCardGroup.dto.ts | 0 .../{ => src}/types/card/updateCard.dto.ts | 0 .../types/card/updateCardPosition.dto.ts | 0 frontend/{ => src}/types/column.ts | 0 .../{ => src}/types/comment/addComment.dto.ts | 0 frontend/{ => src}/types/comment/comment.ts | 0 .../types/comment/deleteComment.dto.ts | 0 .../types/comment/updateComment.dto.ts | 0 frontend/{ => src}/types/common.ts | 0 .../{ => src}/types/dashboard/header.info.ts | 0 frontend/{ => src}/types/events/blurEvent.ts | 0 frontend/{ => src}/types/events/clickEvent.ts | 0 frontend/{ => src}/types/events/onChange.ts | 0 frontend/{ => src}/types/next-auth.d.ts | 0 frontend/{ => src}/types/serverSideProps.ts | 0 frontend/{ => src}/types/team/team.ts | 0 frontend/{ => src}/types/team/team.user.ts | 2 +- frontend/{ => src}/types/token.ts | 0 .../{ => src}/types/user/create-login.user.ts | 0 frontend/{ => src}/types/user/user.ts | 27 +- frontend/{ => src}/types/vote/vote.dto.ts | 0 frontend/{ => src}/utils/array.ts | 0 frontend/{ => src}/utils/constants.ts | 4 - .../{ => src}/utils/enums/board.user.roles.ts | 2 +- .../{ => src}/utils/enums/team.user.roles.ts | 2 +- frontend/{ => src}/utils/enums/toast-types.ts | 2 +- frontend/{ => src}/utils/errorCodes.ts | 0 frontend/{ => src}/utils/fetchData.tsx | 5 +- frontend/{ => src}/utils/initialNames.ts | 2 +- frontend/{ => src}/utils/isEmpty.ts | 0 frontend/{ => src}/utils/routes.ts | 0 frontend/{ => src}/utils/signUp.enum.ts | 2 +- frontend/stitches.config.ts | 260 -- frontend/tsconfig.json | 57 +- package-lock.json | 3836 +++++++++++++++++ yarn.lock | 30 +- 267 files changed, 6373 insertions(+), 2141 deletions(-) create mode 100644 frontend/.eslintrc.js delete mode 100644 frontend/.eslintrc.json delete mode 100644 frontend/components/CardBoard/CardBody/CardTitle.tsx delete mode 100644 frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/styles.tsx delete mode 100644 frontend/components/Primitives/Svg.tsx delete mode 100644 frontend/components/Sidebar/partials/Header/styles.tsx delete mode 100644 frontend/public/icons/toast/alert.svg rename frontend/{ => src}/__tests__/index.test.tsx (93%) rename frontend/{ => src}/animations/DialogShow.tsx (81%) rename frontend/{ => src}/animations/Slide.tsx (91%) rename frontend/{ => src}/api/authService.tsx (87%) rename frontend/{ => src}/api/boardService.tsx (87%) rename frontend/{ => src}/api/teamService.tsx (70%) rename frontend/{ => src}/components/Board/AddCardOrComment.tsx (87%) rename frontend/{ => src}/components/Board/Card/CardBoard.tsx (93%) rename frontend/{ => src}/components/Board/Card/CardFooter.tsx (87%) rename frontend/{ => src}/components/Board/Card/CardItem/CardItem.tsx (89%) rename frontend/{ => src}/components/Board/Card/CardItem/CardItemList.tsx (88%) rename frontend/{ => src}/components/Board/Card/DeleteCard.tsx (86%) rename frontend/{ => src}/components/Board/Card/PopoverSettings.tsx (88%) rename frontend/{ => src}/components/Board/Column/CardsList.tsx (87%) rename frontend/{ => src}/components/Board/Column/Column.tsx (89%) rename frontend/{ => src}/components/Board/Column/styles.tsx (80%) rename frontend/{ => src}/components/Board/Comment/Comment.tsx (86%) rename frontend/{ => src}/components/Board/Comment/Comments.tsx (88%) rename frontend/{ => src}/components/Board/Comment/PopoverSettings.tsx (89%) rename frontend/{ => src}/components/Board/Header/index.tsx (87%) rename frontend/{ => src}/components/Board/Header/styles.tsx (98%) rename frontend/{ => src}/components/Boards/Filters/FilterBoards.tsx (87%) rename frontend/{ => src}/components/Boards/Filters/FilterSelect.tsx (93%) rename frontend/{ => src}/components/Boards/MyBoards/index.tsx (92%) rename frontend/{ => src}/components/Boards/MyBoards/styles.tsx (60%) rename frontend/{ => src}/components/Boards/TeamHeader.tsx (84%) rename frontend/{ => src}/components/CardBoard/CardAvatars.tsx (89%) rename frontend/{ => src}/components/CardBoard/CardBody/CardBody.tsx (92%) rename frontend/{ => src}/components/CardBoard/CardBody/CardEnd.tsx (90%) create mode 100644 frontend/src/components/CardBoard/CardBody/CardTitle.tsx rename frontend/{ => src}/components/CardBoard/CardBody/CenterMainBoard.tsx (83%) rename frontend/{ => src}/components/CardBoard/CardBody/CountCards.tsx (66%) rename frontend/{ => src}/components/CardBoard/CardBody/LeftArrow.tsx (91%) rename frontend/{ => src}/components/CardBoard/CardBody/SubBoards.tsx (90%) rename frontend/{ => src}/components/CardBoard/CardIcon.tsx (86%) rename frontend/{ => src}/components/CardBoard/DeleteBoard.tsx (72%) rename frontend/{ => src}/components/CreateBoard/BoardName.tsx (79%) rename frontend/{ => src}/components/CreateBoard/Configurations/BoardConfigurations.tsx (92%) rename frontend/{ => src}/components/CreateBoard/Content.tsx (86%) rename frontend/{ => src}/components/CreateBoard/SettingsTabs.tsx (84%) rename frontend/{ => src}/components/CreateBoard/SubTeamsTab/MainBoardCard.tsx (86%) rename frontend/{ => src}/components/CreateBoard/SubTeamsTab/QuickEditSubTeams.tsx (93%) rename frontend/{ => src}/components/CreateBoard/SubTeamsTab/SubCardBoard.tsx (79%) rename frontend/{ => src}/components/CreateBoard/SubTeamsTab/TeamSubTeamsConfigurations.tsx (86%) rename frontend/{ => src}/components/CreateBoard/TipBar.tsx (88%) rename frontend/{ => src}/components/CreateBoard/fake/FakeSettingsTabs/index.tsx (85%) rename frontend/{ => src}/components/CreateBoard/fake/FakeSettingsTabs/partials/CardAvatars/index.tsx (85%) rename frontend/{ => src}/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/index.tsx (91%) rename frontend/{ => src}/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/styles.tsx (59%) rename frontend/{ => src}/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/index.tsx (90%) create mode 100644 frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/styles.tsx rename frontend/{ => src}/components/CreateBoard/fake/FakeSettingsTabs/styles.tsx (69%) rename frontend/{ => src}/components/Dashboard/Calendar/Calendar.tsx (88%) rename frontend/{ => src}/components/Dashboard/Calendar/StyledCalendar.tsx (98%) rename frontend/{ => src}/components/Dashboard/RecentRetros/EmptyBoards.tsx (73%) rename frontend/{ => src}/components/Dashboard/RecentRetros/ListOfCards.tsx (88%) rename frontend/{ => src}/components/Dashboard/RecentRetros/RecentRetros.tsx (82%) rename frontend/{ => src}/components/Dashboard/Tiles/index.tsx (89%) rename frontend/{ => src}/components/Dashboard/Tiles/styles.tsx (84%) rename frontend/{ => src}/components/Errors/QueryError.tsx (82%) rename frontend/{ => src}/components/HOC/requireAuthentication.tsx (89%) rename frontend/{ => src}/components/Primitives/AlertBox/index.tsx (89%) rename frontend/{ => src}/components/Primitives/AlertBox/styles.tsx (100%) rename frontend/{ => src}/components/Primitives/AlertCustomDialog.tsx (95%) rename frontend/{ => src}/components/Primitives/AlertDialog.tsx (93%) rename frontend/{ => src}/components/Primitives/Avatar.tsx (96%) rename frontend/{ => src}/components/Primitives/Box.tsx (91%) rename frontend/{ => src}/components/Primitives/Button.tsx (98%) rename frontend/{ => src}/components/Primitives/Card.tsx (88%) rename frontend/{ => src}/components/Primitives/Checkbox.tsx (98%) rename frontend/{ => src}/components/Primitives/Dialog.tsx (83%) rename frontend/{ => src}/components/Primitives/Fieldset.tsx (72%) rename frontend/{ => src}/components/Primitives/Flex.tsx (96%) rename frontend/{ => src}/components/Primitives/HoverCard.tsx (93%) rename frontend/{ => src}/components/Primitives/Image.tsx (54%) rename frontend/{ => src}/components/Primitives/Input.tsx (90%) rename frontend/{ => src}/components/Primitives/Label.tsx (81%) rename frontend/{ => src}/components/Primitives/Popover.tsx (95%) rename frontend/{ => src}/components/Primitives/Separator.tsx (85%) rename frontend/{ => src}/components/Primitives/Shape.tsx (82%) create mode 100644 frontend/src/components/Primitives/Svg.tsx rename frontend/{ => src}/components/Primitives/Switch.tsx (93%) rename frontend/{ => src}/components/Primitives/Tab.tsx (96%) rename frontend/{ => src}/components/Primitives/Text.tsx (97%) rename frontend/{ => src}/components/Primitives/TextArea.tsx (96%) rename frontend/{ => src}/components/Primitives/Toast.tsx (93%) rename frontend/{ => src}/components/Primitives/Tooltip.tsx (93%) rename frontend/{ => src}/components/Primitives/UnorderedList.tsx (69%) rename frontend/{ => src}/components/Sidebar/index.tsx (100%) rename frontend/{ => src}/components/Sidebar/partials/Content/index.tsx (95%) rename frontend/{ => src}/components/Sidebar/partials/Content/styles.tsx (58%) rename frontend/{ => src}/components/Sidebar/partials/Header/index.tsx (87%) create mode 100644 frontend/src/components/Sidebar/partials/Header/styles.tsx rename frontend/{ => src}/components/Sidebar/partials/Separator.tsx (84%) rename frontend/{ => src}/components/Sidebar/styles.tsx (82%) rename frontend/{ => src}/components/auth/FieldSet/HoverCardFieldSet.tsx (83%) rename frontend/{ => src}/components/auth/ForgotPassword/EmailSent.tsx (81%) rename frontend/{ => src}/components/auth/ForgotPassword/ResetPassword.tsx (80%) rename frontend/{ => src}/components/auth/ForgotPassword/TroubleLogin.tsx (82%) rename frontend/{ => src}/components/auth/LoginForm/index.tsx (85%) rename frontend/{ => src}/components/auth/LoginForm/styles.tsx (73%) rename frontend/{ => src}/components/auth/SignUp/RegisterForm.tsx (68%) rename frontend/{ => src}/components/auth/SignUp/SignUpForm.tsx (79%) rename frontend/{ => src}/components/auth/SignUp/SignUpOptionsForm.tsx (78%) rename frontend/{ => src}/components/auth/SignUp/SignUpTabContent.tsx (91%) rename frontend/{ => src}/components/breadcrumb/Breadcrumb/index.tsx (84%) rename frontend/{ => src}/components/breadcrumb/Breadcrumb/styles.tsx (73%) rename frontend/{ => src}/components/breadcrumb/BreadcrumbItem/index.tsx (85%) rename frontend/{ => src}/components/breadcrumb/BreadcrumbItem/styles.tsx (86%) rename frontend/{ => src}/components/icons/Banner.tsx (100%) rename frontend/{ => src}/components/icons/Google.tsx (100%) rename frontend/{ => src}/components/icons/HeaderBanner.tsx (100%) rename frontend/{ => src}/components/icons/Icon/index.tsx (73%) rename frontend/{ => src}/components/icons/Logo.tsx (100%) rename frontend/{ => src}/components/icons/Sprite.tsx (100%) rename frontend/{ => src}/components/icons/calendar/Dot.tsx (100%) rename frontend/{ => src}/components/icons/calendar/MoreDots.tsx (100%) rename frontend/{ => src}/components/icons/calendar/ThreeDots.tsx (100%) rename frontend/{ => src}/components/icons/calendar/TwoDots.tsx (100%) rename frontend/{ => src}/components/images/EmptyBoards.tsx (100%) rename frontend/{ => src}/components/images/NoMeetings.tsx (100%) rename frontend/{ => src}/components/layouts/DashboardLayout/index.tsx (87%) rename frontend/{ => src}/components/layouts/DashboardLayout/styles.tsx (67%) rename frontend/{ => src}/components/layouts/Layout/index.tsx (84%) rename frontend/{ => src}/components/layouts/Layout/styles.tsx (76%) rename frontend/{ => src}/components/loadings/DotsLoading/index.tsx (87%) rename frontend/{ => src}/components/loadings/DotsLoading/styles.tsx (95%) rename frontend/{ => src}/components/loadings/Loading/index.tsx (92%) rename frontend/{ => src}/components/loadings/LoadingPage/index.tsx (86%) rename frontend/{ => src}/components/loadings/LoadingPage/styles.tsx (83%) rename frontend/{ => src}/errors/auth-messages.ts (96%) rename frontend/{ => src}/helper/board/comments.ts (76%) rename frontend/{ => src}/helper/board/countCards.ts (80%) rename frontend/{ => src}/helper/board/transformBoard.tsx (77%) rename frontend/{ => src}/helper/board/votes.ts (89%) rename frontend/{ => src}/hooks/useBoard.tsx (87%) rename frontend/{ => src}/hooks/useBoardUtils.tsx (90%) rename frontend/{ => src}/hooks/useCards.tsx (93%) rename frontend/{ => src}/hooks/useComments.tsx (99%) rename frontend/{ => src}/hooks/useCreateBoard.tsx (100%) rename frontend/{ => src}/hooks/useOnClickOutside.tsx (85%) rename frontend/{ => src}/hooks/useUser.tsx (86%) rename frontend/{ => src}/hooks/useVotes.tsx (99%) rename frontend/{ => src}/pages/404.tsx (75%) rename frontend/{ => src}/pages/500.tsx (75%) rename frontend/{ => src}/pages/_app.tsx (85%) rename frontend/{ => src}/pages/_document.tsx (72%) rename frontend/{ => src}/pages/api/auth/[...nextauth].tsx (95%) rename frontend/{ => src}/pages/boards/[boardId].tsx (87%) rename frontend/{ => src}/pages/boards/index.tsx (76%) rename frontend/{ => src}/pages/boards/new.tsx (80%) rename frontend/{ => src}/pages/dashboard/index.tsx (66%) rename frontend/{ => src}/pages/index.tsx (75%) rename frontend/{ => src}/pages/reset-password/[tokenId].tsx (80%) rename frontend/{ => src}/schema/schemaCreateBoardForm.tsx (100%) rename frontend/{ => src}/schema/schemaEmail.tsx (100%) rename frontend/{ => src}/schema/schemaLoginForm.tsx (100%) rename frontend/{ => src}/schema/schemaRegisterForm.tsx (52%) rename frontend/{ => src}/schema/schemaResetPasswordForm.tsx (100%) rename frontend/{ => src}/store/board/atoms/board.atom.tsx (76%) rename frontend/{ => src}/store/board/selectors/get-board.selector.tsx (100%) rename frontend/{ => src}/store/createBoard/atoms/create-board.atom.tsx (85%) rename frontend/{ => src}/store/mergeCard/atoms/merge-card.atom.tsx (68%) rename frontend/{ => src}/store/toast/atom/toast.atom.tsx (70%) rename frontend/{ => src}/store/user/atoms/user.atom.tsx (100%) rename frontend/{ => src}/store/user/selectors/get-user.selector.tsx (100%) rename frontend/{ => src}/styles/centerScreen.tsx (77%) rename frontend/{ => src}/styles/globals.tsx (78%) rename frontend/{ => src}/styles/pages/auth.styles.tsx (82%) rename frontend/{ => src}/styles/pages/boards/board.styles.tsx (67%) rename frontend/{ => src}/styles/pages/boards/index.styles.tsx (69%) rename frontend/{ => src}/styles/pages/boards/new.styles.tsx (93%) create mode 100644 frontend/src/styles/pages/dashboard.styles.tsx rename frontend/{ => src}/styles/pages/error.styles.tsx (82%) create mode 100644 frontend/src/styles/stitches/partials/borderRadius.ts rename frontend/{styles => src/styles/stitches/partials}/colors/box-shadow.colors.ts (80%) rename frontend/{styles => src/styles/stitches/partials}/colors/bubble.colors.ts (81%) rename frontend/{styles => src/styles/stitches/partials}/colors/danger.colors.ts (88%) rename frontend/{styles => src/styles/stitches/partials}/colors/highlight1.colors.ts (84%) rename frontend/{styles => src/styles/stitches/partials}/colors/highlight2.colors.ts (86%) rename frontend/{styles => src/styles/stitches/partials}/colors/highlight3.colors.ts (87%) rename frontend/{styles => src/styles/stitches/partials}/colors/highlight4.colors.ts (84%) create mode 100644 frontend/src/styles/stitches/partials/colors/index.ts rename frontend/{styles => src/styles/stitches/partials}/colors/info.colors.ts (84%) rename frontend/{styles => src/styles/stitches/partials}/colors/outline.colors.ts (73%) rename frontend/{styles => src/styles/stitches/partials}/colors/primary.colors.ts (92%) rename frontend/{styles => src/styles/stitches/partials}/colors/secondary.colors.ts (87%) rename frontend/{styles => src/styles/stitches/partials}/colors/success.colors.ts (85%) rename frontend/{styles => src/styles/stitches/partials}/colors/warning.colors.ts (84%) create mode 100644 frontend/src/styles/stitches/partials/fonts/fontSizes.ts create mode 100644 frontend/src/styles/stitches/partials/fonts/fontWeights.ts create mode 100644 frontend/src/styles/stitches/partials/fonts/index.ts create mode 100644 frontend/src/styles/stitches/partials/fonts/letterSpacings.ts create mode 100644 frontend/src/styles/stitches/partials/fonts/lineHeights.ts create mode 100644 frontend/src/styles/stitches/partials/mediaQueries.ts create mode 100644 frontend/src/styles/stitches/partials/sizes.ts create mode 100644 frontend/src/styles/stitches/partials/spaces.ts create mode 100644 frontend/src/styles/stitches/partials/utils.ts create mode 100644 frontend/src/styles/stitches/stitches.config.ts rename frontend/{ => src}/types/auth/auth.ts (100%) rename frontend/{ => src}/types/authFieldSet.ts (100%) rename frontend/{ => src}/types/board/Breadcrumb.d.ts (100%) rename frontend/{ => src}/types/board/board.ts (96%) rename frontend/{ => src}/types/board/board.user.ts (85%) rename frontend/{ => src}/types/board/editTitle.ts (100%) rename frontend/{ => src}/types/board/mergeCard.dto.ts (100%) rename frontend/{ => src}/types/board/updateBoard.ts (100%) rename frontend/{ => src}/types/board/useBoard.ts (99%) rename frontend/{ => src}/types/card/addCard.dto.ts (100%) rename frontend/{ => src}/types/card/card.ts (100%) rename frontend/{ => src}/types/card/cardItem.ts (100%) rename frontend/{ => src}/types/card/deleteCard.dto.ts (100%) rename frontend/{ => src}/types/card/dragItem.tsx (100%) rename frontend/{ => src}/types/card/exchangeCardGroup.dto.ts (100%) rename frontend/{ => src}/types/card/removeFromCardGroup.dto.ts (100%) rename frontend/{ => src}/types/card/updateCard.dto.ts (100%) rename frontend/{ => src}/types/card/updateCardPosition.dto.ts (100%) rename frontend/{ => src}/types/column.ts (100%) rename frontend/{ => src}/types/comment/addComment.dto.ts (100%) rename frontend/{ => src}/types/comment/comment.ts (100%) rename frontend/{ => src}/types/comment/deleteComment.dto.ts (100%) rename frontend/{ => src}/types/comment/updateComment.dto.ts (100%) rename frontend/{ => src}/types/common.ts (100%) rename frontend/{ => src}/types/dashboard/header.info.ts (100%) rename frontend/{ => src}/types/events/blurEvent.ts (100%) rename frontend/{ => src}/types/events/clickEvent.ts (100%) rename frontend/{ => src}/types/events/onChange.ts (100%) rename frontend/{ => src}/types/next-auth.d.ts (100%) rename frontend/{ => src}/types/serverSideProps.ts (100%) rename frontend/{ => src}/types/team/team.ts (100%) rename frontend/{ => src}/types/team/team.user.ts (63%) rename frontend/{ => src}/types/token.ts (100%) rename frontend/{ => src}/types/user/create-login.user.ts (100%) rename frontend/{ => src}/types/user/user.ts (53%) rename frontend/{ => src}/types/vote/vote.dto.ts (100%) rename frontend/{ => src}/utils/array.ts (100%) rename frontend/{ => src}/utils/constants.ts (99%) rename frontend/{ => src}/utils/enums/board.user.roles.ts (76%) rename frontend/{ => src}/utils/enums/team.user.roles.ts (69%) rename frontend/{ => src}/utils/enums/toast-types.ts (87%) rename frontend/{ => src}/utils/errorCodes.ts (100%) rename frontend/{ => src}/utils/fetchData.tsx (95%) rename frontend/{ => src}/utils/initialNames.ts (73%) rename frontend/{ => src}/utils/isEmpty.ts (100%) rename frontend/{ => src}/utils/routes.ts (100%) rename frontend/{ => src}/utils/signUp.enum.ts (83%) delete mode 100644 frontend/stitches.config.ts create mode 100644 package-lock.json diff --git a/backend/package-lock.json b/backend/package-lock.json index e87c46def..7137ed8ee 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -58,7 +58,6 @@ "@nestjs/testing": "^8.4.4", "@types/express": "^4.17.13", "@types/jest": "^27.4.1", - "@types/mongodb": "^4.0.7", "@types/node": "^17.0.23", "@types/supertest": "^2.0.12", "@typescript-eslint/eslint-plugin": "^5.18.0", @@ -256,21 +255,21 @@ } }, "node_modules/@babel/core": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.0.tgz", - "integrity": "sha512-Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.2.tgz", + "integrity": "sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.0", - "@babel/helper-compilation-targets": "^7.17.10", + "@babel/generator": "^7.18.2", + "@babel/helper-compilation-targets": "^7.18.2", "@babel/helper-module-transforms": "^7.18.0", - "@babel/helpers": "^7.18.0", + "@babel/helpers": "^7.18.2", "@babel/parser": "^7.18.0", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.0", - "@babel/types": "^7.18.0", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -295,12 +294,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.0.tgz", - "integrity": "sha512-81YO9gGx6voPXlvYdZBliFXAZU8vZ9AZ6z+CjlmcnaeOcYSFbMTpdeDUO9xD9dh/68Vq03I8ZspfUTPfitcDHg==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.0", + "@babel/types": "^7.18.2", "@jridgewell/gen-mapping": "^0.3.0", "jsesc": "^2.5.1" }, @@ -323,9 +322,9 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz", - "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", + "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", "dev": true, "dependencies": { "@babel/compat-data": "^7.17.10", @@ -350,13 +349,10 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", + "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, "engines": { "node": ">=6.9.0" } @@ -427,12 +423,12 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", - "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", + "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", "dev": true, "dependencies": { - "@babel/types": "^7.17.0" + "@babel/types": "^7.18.2" }, "engines": { "node": ">=6.9.0" @@ -468,14 +464,14 @@ } }, "node_modules/@babel/helpers": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.0.tgz", - "integrity": "sha512-AE+HMYhmlMIbho9nbvicHyxFwhrO+xhKB6AhRxzl8w46Yj0VXTZjEsAoBVC7rB2I0jzX+yWyVybnO08qkfx6kg==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", + "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", "dev": true, "dependencies": { "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.0", - "@babel/types": "^7.18.0" + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" }, "engines": { "node": ">=6.9.0" @@ -533,13 +529,13 @@ "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { "node": ">=0.8.0" @@ -548,7 +544,7 @@ "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { "node": ">=4" @@ -567,9 +563,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.0.tgz", - "integrity": "sha512-AqDccGC+m5O/iUStSJy3DGRIUFu7WbY/CppZYwrEUB4N0tZlnI8CSTsgL7v5fHVFmUbRv2sd+yy27o8Ydt4MGg==", + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz", + "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==", "bin": { "parser": "bin/babel-parser.js" }, @@ -740,9 +736,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.0.tgz", - "integrity": "sha512-YMQvx/6nKEaucl0MY56mwIG483xk8SDNdlUwb2Ts6FUpr7fm85DxEmsY18LXBNhcTz6tO6JwZV8w1W06v8UKeg==", + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", + "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", "peer": true, "dependencies": { "regenerator-runtime": "^0.13.4" @@ -752,9 +748,9 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.0.tgz", - "integrity": "sha512-G5FaGZOWORq9zthDjIrjib5XlcddeqLbIiDO3YQsut6j7aGf76xn0umUC/pA6+nApk3hQJF4JzLzg5PCl6ewJg==", + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.3.tgz", + "integrity": "sha512-l4ddFwrc9rnR+EJsHsh+TJ4A35YqQz/UqcjtlX2ov53hlJYG5CxtQmNZxyajwDVmCxwy++rtvGU5HazCK4W41Q==", "peer": true, "dependencies": { "core-js-pure": "^3.20.2", @@ -779,19 +775,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.0.tgz", - "integrity": "sha512-oNOO4vaoIQoGjDQ84LgtF/IAlxlyqL4TUuoQ7xLkQETFaHkY1F7yazhB4Kt3VcZGL0ZF/jhrEpnXqUb0M7V3sw==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz", + "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==", "dev": true, "dependencies": { "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.0", - "@babel/helper-environment-visitor": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-environment-visitor": "^7.18.2", "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/parser": "^7.18.0", - "@babel/types": "^7.18.0", + "@babel/types": "^7.18.2", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -809,9 +805,9 @@ } }, "node_modules/@babel/types": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.0.tgz", - "integrity": "sha512-vhAmLPAiC8j9K2GnsnLPCIH5wCrPpYIVBCWRBFDCB7Y/BXLqi/O+1RSTTM2bsmg6U/551+FCf9PNPxjABmxHTw==", + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", + "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", "dependencies": { "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" @@ -1446,6 +1442,30 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.13", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", @@ -1545,10 +1565,70 @@ "npm": ">= 6.11.0" } }, + "node_modules/@nestjs/cli/node_modules/typescript": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@nestjs/cli/node_modules/webpack": { + "version": "5.72.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", + "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, "node_modules/@nestjs/common": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-8.4.5.tgz", - "integrity": "sha512-DL30hLtcmosOWGRFrU1YYB59k+7FGX82sbq2QiXLsEXuSig8ZzFm8LR+tD8CX+aKabU9t1GGc18HLjFud/3sww==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-8.4.6.tgz", + "integrity": "sha512-INp1ERDrLiQ4GwRc3zotTwBLZm2sIwcJwnBE2yXqsth17KijmoVmY8UB5Tares0IlwjsqlRFWkCX8uWE5rzbSA==", "dependencies": { "axios": "0.27.2", "iterare": "1.2.1", @@ -1601,9 +1681,9 @@ } }, "node_modules/@nestjs/config": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-2.0.1.tgz", - "integrity": "sha512-N1sV9YrkLCgqI3plVWt9tccUfMJ3jsjGMl1KN/WDnDkr9jQ4XHt9vnHhdBeclegRyZN2/0TBAqCIEAoD4TaVag==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-2.1.0.tgz", + "integrity": "sha512-wUpt1/QJEN7xnJl4pM3c9rHrY1widq2yPOZfjaMD1//XAP9LLHTaW+RxSEG6BSGIm3w4wGtjco+gKNB2WL7yRg==", "dependencies": { "dotenv": "16.0.1", "dotenv-expand": "8.0.3", @@ -1617,9 +1697,9 @@ } }, "node_modules/@nestjs/core": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-8.4.5.tgz", - "integrity": "sha512-mT4MV2pEILu+Xy/deIvhb4JkIWaUU+yxssQqMScj8pWvAQ4+6sN52Sxl5NwLb6FTyZ8t5m8Qgr4yZPTmS+Y1Ig==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-8.4.6.tgz", + "integrity": "sha512-5zHpxTYV7HT3lfF7l/x0EWBfmuyuDOnGRcALf88tzDGs/7Q/VC6l65d6eFwDwI37NLtScqnmEkT9of8E3fT3mA==", "hasInstallScript": true, "dependencies": { "@nuxtjs/opencollective": "0.3.2", @@ -1688,9 +1768,9 @@ } }, "node_modules/@nestjs/platform-express": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.4.5.tgz", - "integrity": "sha512-36yGMrcb2MBhwOq9l0/fip3gWAae5OadsAQxfHJbxgm8D5bDisTdIvvO7KRWYuKFGerGg9kBm53mZ7Rs3fmfPQ==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.4.6.tgz", + "integrity": "sha512-OserZ+RwjMyECFAL0/12Bztf63EnFhlFUEJ4/a502RQ0eZogt4M3ROauaW4bpt2Q3YH4hy0eT+4eqkVOMzjtPQ==", "dependencies": { "body-parser": "1.20.0", "cors": "2.8.5", @@ -1708,11 +1788,11 @@ } }, "node_modules/@nestjs/platform-socket.io": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@nestjs/platform-socket.io/-/platform-socket.io-8.4.5.tgz", - "integrity": "sha512-Uovh0W0d4XmzFrNssc8F3lNgxaj/+UI6iE3mjdnKZRu7ZiPPtVI4mCCBaluVLxScjBWESH+y5waQZSrEBQpnrA==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@nestjs/platform-socket.io/-/platform-socket.io-8.4.6.tgz", + "integrity": "sha512-DVEW4MLg88+LBxruS8bIZ2+MQm5oAqQiJQ4chLeLQ74E/JTiFJ1K+gOkyJ7H3E6gOK0zUSz7r+yrWYUxKW3mTw==", "dependencies": { - "socket.io": "4.5.0", + "socket.io": "4.5.1", "tslib": "2.4.0" }, "funding": { @@ -1725,22 +1805,6 @@ "rxjs": "^7.1.0" } }, - "node_modules/@nestjs/platform-socket.io/node_modules/socket.io": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.0.tgz", - "integrity": "sha512-slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA==", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.2.0", - "socket.io-adapter": "~2.4.0", - "socket.io-parser": "~4.0.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/@nestjs/schedule": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@nestjs/schedule/-/schedule-1.1.0.tgz", @@ -1772,12 +1836,11 @@ } }, "node_modules/@nestjs/testing": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-8.4.5.tgz", - "integrity": "sha512-RWFfkRitor8Aw1yWhZqWim/sAYmFv45Hw7jlVaFCx2PCu6IIHCaK2ENv/20yA0+kffaFUQ6KyFzJvCUYKGFoqg==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-8.4.6.tgz", + "integrity": "sha512-uGRNQ0iWIHqjz5CLxQCTtQ3dB1KyPfkHXnko5mBwKk/iBTiACmll61rVt89Wh8RM+w0bmvCHp9sacNI7IynESg==", "dev": true, "dependencies": { - "optional": "0.1.4", "tslib": "2.4.0" }, "funding": { @@ -1800,9 +1863,9 @@ } }, "node_modules/@nestjs/websockets": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-8.4.5.tgz", - "integrity": "sha512-xKBREaT0N6zYPvL+PKSeElWXdnNYCROmNGsZ/vpnSfnrGAwdSl/QVQ2+HMAgO4xiqmKNQEotvSW+Fs+PvdYx7Q==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-8.4.6.tgz", + "integrity": "sha512-4MQhNv58nz14m8ifyE+jBBsFZoSn7KaaEry7MN2gKYKpWJwn9zW5ghrxb+VoWVvpuLE0CZ1kHN5zlvLqUnFfzA==", "dependencies": { "iterare": "1.2.1", "object-hash": "3.0.0", @@ -2164,9 +2227,9 @@ } }, "node_modules/@types/jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-fUy7YRpT+rHXto1YlL+J9rs0uLGyiqVt3ZOTQR+4ROc47yNl8WLdVLgUloBRhOxP1PZvguHl44T3H0wAWxahYQ==", + "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", "dev": true, "dependencies": { "jest-matcher-utils": "^27.0.0", @@ -2196,20 +2259,10 @@ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" }, - "node_modules/@types/mongodb": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-4.0.7.tgz", - "integrity": "sha512-lPUYPpzA43baXqnd36cZ9xxorprybxXDzteVKCPAdp14ppHtFJHnXYvNpmBvtMUTb5fKXVv6sVbzo1LHkWhJlw==", - "deprecated": "mongodb provides its own types. @types/mongodb is no longer needed.", - "dev": true, - "dependencies": { - "mongodb": "*" - } - }, "node_modules/@types/node": { - "version": "17.0.35", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz", - "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==" + "version": "17.0.40", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.40.tgz", + "integrity": "sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg==" }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -2218,9 +2271,9 @@ "dev": true }, "node_modules/@types/passport": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.7.tgz", - "integrity": "sha512-JtswU8N3kxBYgo+n9of7C97YQBT+AYPP2aBfNGTzABqPAZnK/WOAaKfh3XesUYMZRrXFuoPc2Hv0/G/nQFveHw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.8.tgz", + "integrity": "sha512-Gdcvis7+7G/Mobm+25AeFi+oe5teBhHzpbCOFWeN10Bj8tnoEE1L5lkraQjzmDEKkJQuM7xSJUGIFGl/giyRfQ==", "dependencies": { "@types/express": "*" } @@ -2255,9 +2308,9 @@ } }, "node_modules/@types/prettier": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.1.tgz", - "integrity": "sha512-XFjFHmaLVifrAKaZ+EKghFHtHSUonyw8P2Qmy2/+osBnrKbH9UYtlK10zg8/kCt47MFilll/DEDKy3DHfJ0URw==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", + "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", "dev": true }, "node_modules/@types/pug": { @@ -2340,13 +2393,13 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.25.0.tgz", - "integrity": "sha512-icYrFnUzvm+LhW0QeJNKkezBu6tJs9p/53dpPLFH8zoM9w1tfaKzVurkPotEpAqQ8Vf8uaFyL5jHd0Vs6Z0ZQg==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.27.0.tgz", + "integrity": "sha512-DDrIA7GXtmHXr1VCcx9HivA39eprYBIFxbQEHI6NyraRDxCGpxAFiYQAT/1Y0vh1C+o2vfBiy4IuPoXxtTZCAQ==", "dependencies": { - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/type-utils": "5.25.0", - "@typescript-eslint/utils": "5.25.0", + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/type-utils": "5.27.0", + "@typescript-eslint/utils": "5.27.0", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -2372,13 +2425,13 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.25.0.tgz", - "integrity": "sha512-r3hwrOWYbNKP1nTcIw/aZoH+8bBnh/Lh1iDHoFpyG4DnCpvEdctrSl6LOo19fZbzypjQMHdajolxs6VpYoChgA==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.0.tgz", + "integrity": "sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA==", "dependencies": { - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/typescript-estree": "5.25.0", + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/typescript-estree": "5.27.0", "debug": "^4.3.4" }, "engines": { @@ -2398,12 +2451,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.25.0.tgz", - "integrity": "sha512-p4SKTFWj+2VpreUZ5xMQsBMDdQ9XdRvODKXN4EksyBjFp2YvQdLkyHqOffakYZPuWJUDNu3jVXtHALDyTv3cww==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz", + "integrity": "sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g==", "dependencies": { - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/visitor-keys": "5.25.0" + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2414,11 +2467,11 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.25.0.tgz", - "integrity": "sha512-B6nb3GK3Gv1Rsb2pqalebe/RyQoyG/WDy9yhj8EE0Ikds4Xa8RR28nHz+wlt4tMZk5bnAr0f3oC8TuDAd5CPrw==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.27.0.tgz", + "integrity": "sha512-vpTvRRchaf628Hb/Xzfek+85o//zEUotr1SmexKvTfs7czXfYjXVT/a5yDbpzLBX1rhbqxjDdr1Gyo0x1Fc64g==", "dependencies": { - "@typescript-eslint/utils": "5.25.0", + "@typescript-eslint/utils": "5.27.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -2439,9 +2492,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.25.0.tgz", - "integrity": "sha512-7fWqfxr0KNHj75PFqlGX24gWjdV/FDBABXL5dyvBOWHpACGyveok8Uj4ipPX/1fGU63fBkzSIycEje4XsOxUFA==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.0.tgz", + "integrity": "sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2451,12 +2504,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.25.0.tgz", - "integrity": "sha512-MrPODKDych/oWs/71LCnuO7NyR681HuBly2uLnX3r5i4ME7q/yBqC4hW33kmxtuauLTM0OuBOhhkFaxCCOjEEw==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz", + "integrity": "sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ==", "dependencies": { - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/visitor-keys": "5.25.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2477,14 +2530,14 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.25.0.tgz", - "integrity": "sha512-qNC9bhnz/n9Kba3yI6HQgQdBLuxDoMgdjzdhSInZh6NaDnFpTUlwNGxplUFWfY260Ya0TRPvkg9dd57qxrJI9g==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.27.0.tgz", + "integrity": "sha512-nZvCrkIJppym7cIbP3pOwIkAefXOmfGPnCM0LQfzNaKxJHI6VjI8NC662uoiPlaf5f6ymkTy9C3NQXev2mdXmA==", "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/typescript-estree": "5.25.0", + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/typescript-estree": "5.27.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -2500,11 +2553,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.25.0.tgz", - "integrity": "sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz", + "integrity": "sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA==", "dependencies": { - "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/types": "5.27.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -3286,7 +3339,7 @@ "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/boolbase": { "version": "1.0.0", @@ -3479,9 +3532,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001342", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001342.tgz", - "integrity": "sha512-bn6sOCu7L7jcbBbyNhLg0qzXdJ/PMbybZTH/BA6Roet9wxYRm6Tr9D0s0uhLkOZ6MSG+QU6txUgdpr3MXIVqjA==", + "version": "1.0.30001346", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001346.tgz", + "integrity": "sha512-q6ibZUO2t88QCIPayP/euuDREq+aMAxFE5S70PkrLh0iTDj/zEhgvJRKC2+CvXY6EWc6oQwUR48lL5vCW6jiXQ==", "dev": true, "funding": [ { @@ -3751,7 +3804,7 @@ "node_modules/clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true, "engines": { "node": ">=0.8" @@ -3760,7 +3813,7 @@ "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, "engines": { "iojs": ">= 1.0.0", @@ -3798,9 +3851,9 @@ } }, "node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==" + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz", + "integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g==" }, "node_modules/combined-stream": { "version": "1.0.8", @@ -3830,7 +3883,7 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/concat-stream": { "version": "1.6.2", @@ -3849,7 +3902,7 @@ "node_modules/concat-stream/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/concat-stream/node_modules/readable-stream": { "version": "2.3.7", @@ -3891,7 +3944,7 @@ "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, "node_modules/constantinople": { "version": "4.0.1", @@ -3947,7 +4000,7 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "node_modules/cookiejar": { "version": "2.1.3", @@ -3955,9 +4008,9 @@ "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" }, "node_modules/core-js-pure": { - "version": "3.22.5", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.5.tgz", - "integrity": "sha512-8xo9R00iYD7TcV7OrC98GwxiUEAabVWO3dix+uyWjnYrx9fyASLlIX+f/3p5dW5qByaP2bcZ8X/T47s55et/tA==", + "version": "3.22.8", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.8.tgz", + "integrity": "sha512-bOxbZIy9S5n4OVH63XaLVXZ49QKicjowDx/UELyJ68vxfCRpYsbyh/WNZNfEfAk+ekA8vSjt+gCDpvh672bc3w==", "hasInstallScript": true, "peer": true, "funding": { @@ -4036,7 +4089,7 @@ "node_modules/css-select": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "integrity": "sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==", "dependencies": { "boolbase": "~1.0.0", "css-what": "2.1", @@ -4104,9 +4157,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz", - "integrity": "sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==" + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.3.tgz", + "integrity": "sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==" }, "node_modules/debug": { "version": "4.3.4", @@ -4133,7 +4186,7 @@ "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, "node_modules/deep-is": { @@ -4152,7 +4205,7 @@ "node_modules/defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", "dev": true, "dependencies": { "clone": "^1.0.2" @@ -4219,7 +4272,7 @@ "node_modules/degenerator/node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -4247,7 +4300,7 @@ "node_modules/degenerator/node_modules/prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "engines": { "node": ">= 0.8.0" } @@ -4275,7 +4328,7 @@ "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { "node": ">=0.4.0" } @@ -4283,7 +4336,7 @@ "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" }, "node_modules/denque": { "version": "2.0.1", @@ -4330,7 +4383,7 @@ "node_modules/dezalgo": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "integrity": "sha512-K7i4zNfT2kgQz3GylDw40ot9GAE47sFZ9EXHFSPP6zONLgH6kWXE0KWJchkbQJLBkRazq4APwZ4OwiFFlT95OQ==", "dependencies": { "asap": "^2.0.0", "wrappy": "1" @@ -4339,7 +4392,7 @@ "node_modules/dicer": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", - "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", + "integrity": "sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg==", "dependencies": { "readable-stream": "1.1.x", "streamsearch": "0.1.2" @@ -4396,7 +4449,7 @@ "node_modules/discontinuous-range": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", - "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=" + "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==" }, "node_modules/doctrine": { "version": "3.0.0", @@ -4412,7 +4465,7 @@ "node_modules/doctypes": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", - "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=" + "integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==" }, "node_modules/dom-serializer": { "version": "0.1.1", @@ -4460,7 +4513,7 @@ "node_modules/domutils": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", "dependencies": { "dom-serializer": "0", "domelementtype": "1" @@ -4498,7 +4551,7 @@ "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/ejs": { "version": "3.1.8", @@ -4516,9 +4569,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.137", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz", - "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==", + "version": "1.4.146", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.146.tgz", + "integrity": "sha512-4eWebzDLd+hYLm4csbyMU2EbBnqhwl8Oe9eF/7CBDPWcRxFmqzx4izxvHH+lofQxzieg8UbB8ZuzNTxeukzfTg==", "dev": true }, "node_modules/emittery": { @@ -4541,7 +4594,7 @@ "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "engines": { "node": ">= 0.8" } @@ -4725,7 +4778,7 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "node_modules/escape-string-regexp": { "version": "4.0.0", @@ -4763,7 +4816,7 @@ "node_modules/escodegen/node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "dependencies": { "prelude-ls": "~1.1.2", @@ -4793,7 +4846,7 @@ "node_modules/escodegen/node_modules/prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -4822,9 +4875,9 @@ } }, "node_modules/eslint": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", - "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", + "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", "dependencies": { "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", @@ -5036,7 +5089,7 @@ "node_modules/eslint-plugin-import/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "peer": true }, "node_modules/eslint-plugin-jsx-a11y": { @@ -5337,7 +5390,7 @@ "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { "node": ">= 0.6" } @@ -5376,7 +5429,7 @@ "node_modules/exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -5449,12 +5502,12 @@ "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/express/node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, "node_modules/external-editor": { "version": "3.1.0", @@ -5515,7 +5568,7 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "node_modules/fast-safe-stringify": { "version": "2.1.1", @@ -5557,7 +5610,7 @@ "node_modules/figures/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { "node": ">=0.8.0" @@ -5651,12 +5704,12 @@ "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "peer": true, "dependencies": { "locate-path": "^2.0.0" @@ -5688,9 +5741,9 @@ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" }, "node_modules/follow-redirects": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", "funding": [ { "type": "individual", @@ -5805,7 +5858,7 @@ "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { "node": ">= 0.6" } @@ -5844,7 +5897,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.2", @@ -5863,7 +5916,7 @@ "node_modules/ftp": { "version": "0.3.10", "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", - "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "integrity": "sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==", "dependencies": { "readable-stream": "1.1.x", "xregexp": "2.0.0" @@ -5913,7 +5966,7 @@ "node_modules/functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" }, "node_modules/functions-have-names": { "version": "1.2.3", @@ -6040,7 +6093,7 @@ "node_modules/get-uri/node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -6223,7 +6276,7 @@ "node_modules/has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, "node_modules/he": { "version": "1.2.0", @@ -6499,7 +6552,7 @@ "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "engines": { "node": ">=0.8.19" } @@ -6515,7 +6568,7 @@ "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6639,7 +6692,7 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "node_modules/is-bigint": { @@ -6753,7 +6806,7 @@ "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "engines": { "node": ">=0.10.0" } @@ -6910,7 +6963,7 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, "node_modules/is-unicode-supported": { @@ -6950,12 +7003,12 @@ "node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", @@ -7951,7 +8004,7 @@ "node_modules/js-stringify": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", - "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" + "integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==" }, "node_modules/js-tokens": { "version": "4.0.0", @@ -8048,7 +8101,7 @@ "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, "node_modules/json5": { "version": "2.2.1", @@ -8112,7 +8165,7 @@ "node_modules/jstransformer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", - "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==", "dependencies": { "is-promise": "^2.0.0", "promise": "^7.0.1" @@ -8186,7 +8239,7 @@ "node_modules/language-tags": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", "peer": true, "dependencies": { "language-subtag-registry": "~0.3.2" @@ -8241,19 +8294,19 @@ } }, "node_modules/libphonenumber-js": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.4.tgz", - "integrity": "sha512-9QWxEk4GW5RDnFzt8UtyRENfFpAN8u7Sbf9wf32tcXY9tdtnz1dKHIBwW2Wnfx8ypXJb9zUnTpK9aQJ/B8AlnA==" + "version": "1.10.6", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.6.tgz", + "integrity": "sha512-CIjT100/SmntsUjsLVs2t3ufeN4KdNXUxhD07tH153pdbaCWuAjv0jK/gPuywR3IImB/U/MQM+x9RfhMs5XZiA==" }, "node_modules/libqp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz", - "integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=" + "integrity": "sha512-4Rgfa0hZpG++t1Vi2IiqXG9Ad1ig4QTmtuZF946QJP4bPqOYC78ixUXgz5TW/wE7lNaNKlplSYTxQ+fR2KZ0EA==" }, "node_modules/lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", "engines": { "node": ">=10" } @@ -8273,23 +8326,23 @@ } }, "node_modules/lint-staged": { - "version": "12.4.1", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.4.1.tgz", - "integrity": "sha512-PTXgzpflrQ+pODQTG116QNB+Q6uUTDg5B5HqGvNhoQSGt8Qy+MA/6zSnR8n38+sxP5TapzeQGTvoKni0KRS8Vg==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.5.0.tgz", + "integrity": "sha512-BKLUjWDsKquV/JuIcoQW4MSAI3ggwEImF1+sB4zaKvyVx1wBk3FsG7UK9bpnmBTN1pm7EH2BBcMwINJzCRv12g==", "dependencies": { "cli-truncate": "^3.1.0", "colorette": "^2.0.16", - "commander": "^8.3.0", - "debug": "^4.3.3", + "commander": "^9.3.0", + "debug": "^4.3.4", "execa": "^5.1.1", - "lilconfig": "2.0.4", - "listr2": "^4.0.1", - "micromatch": "^4.0.4", + "lilconfig": "2.0.5", + "listr2": "^4.0.5", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "object-inspect": "^1.12.0", + "object-inspect": "^1.12.2", "pidtree": "^0.5.0", "string-argv": "^0.3.1", - "supports-color": "^9.2.1", + "supports-color": "^9.2.2", "yaml": "^1.10.2" }, "bin": { @@ -8303,11 +8356,11 @@ } }, "node_modules/lint-staged/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.3.0.tgz", + "integrity": "sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==", "engines": { - "node": ">= 12" + "node": "^12.20.0 || >=14" } }, "node_modules/lint-staged/node_modules/supports-color": { @@ -8404,7 +8457,7 @@ "node_modules/locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "peer": true, "dependencies": { "p-locate": "^2.0.0", @@ -8422,72 +8475,72 @@ "node_modules/lodash.assignin": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + "integrity": "sha512-yX/rx6d/UTVh7sSVWVSIMjfnz95evAgDFdb1ZozC35I9mSFCkmzptOzevxjgbQUsc78NR44LVHWjsoMQXy9FDg==" }, "node_modules/lodash.bind": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", - "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" + "integrity": "sha512-lxdsn7xxlCymgLYo1gGvVrfHmkjDiyqVv62FAeF2i5ta72BipE1SLxw8hPEPLhD4/247Ijw07UQH7Hq/chT5LA==" }, "node_modules/lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" }, "node_modules/lodash.filter": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + "integrity": "sha512-pXYUy7PR8BCLwX5mgJ/aNtyOvuJTdZAo9EQFUvMIYugqmJxnrYaANvTbgndOzHSCSR0wnlBBfRXJL5SbWxo3FQ==" }, "node_modules/lodash.flatten": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" }, "node_modules/lodash.foreach": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==" }, "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "node_modules/lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "node_modules/lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "node_modules/lodash.map": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==" }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true }, "node_modules/lodash.merge": { @@ -8498,33 +8551,27 @@ "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "node_modules/lodash.pick": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" }, "node_modules/lodash.reduce": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + "integrity": "sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==" }, "node_modules/lodash.reject": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", - "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" + "integrity": "sha512-qkTuvgEzYdyhiJBx42YPzPo71R1aEr0z79kAv7Ixg8wPFEjgRgJdUsGMG3Hf3OYSF/kHI79XhNlt+5Ar6OzwxQ==" }, "node_modules/lodash.some": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true + "integrity": "sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==" }, "node_modules/log-symbols": { "version": "4.1.0", @@ -8749,7 +8796,7 @@ "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "engines": { "node": ">= 0.6" } @@ -8763,9 +8810,9 @@ } }, "node_modules/memfs": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.3.tgz", - "integrity": "sha512-eivjfi7Ahr6eQTn44nvTnR60e4a1Fs1Via2kCR5lHo/kyNoiMWaXCNJ/GpSd0ilXas2JSOl9B5FTIhflXu0hlg==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.4.tgz", + "integrity": "sha512-W4gHNUE++1oSJVn8Y68jPXi+mkx3fXR5ITE/Ubz6EQ3xRpCN5k2CQ4AUR8094Z7211F876TyoBACGsIveqgiGA==", "dev": true, "dependencies": { "fs-monkey": "1.0.3" @@ -8783,7 +8830,7 @@ "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" }, "node_modules/merge-stream": { "version": "2.0.0", @@ -8801,7 +8848,7 @@ "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "engines": { "node": ">= 0.6" } @@ -8991,9 +9038,9 @@ } }, "node_modules/mongoose": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.3.4.tgz", - "integrity": "sha512-UP0azyGMdY+2YNbJUHeHhnVw5vPzCqs4GQDUwHkilif/rwmSZktUQhQWMp1pUgRNeF2JC30vWGLrInZxD7K/Qw==", + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.3.5.tgz", + "integrity": "sha512-Ho3b/MK3lFyb87NjzyVwrjCqQ5DuLsIPSMFYDuZjaIJNhZfHNPQIcUDR1RLZ0/l+uznwo0VBu3WSwdu8EfAZTA==", "dependencies": { "bson": "^4.6.2", "kareem": "2.3.5", @@ -9084,6 +9131,7 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz", "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==", + "deprecated": "Multer 1.x is affected by CVE-2022-24434. This is fixed in v1.4.4-lts.1 which drops support for versions of Node.js before 6. Please upgrade to at least Node.js 6 and version 1.4.4-lts.1 of Multer. If you need support for older versions of Node.js, we are open to accepting patches that would fix the CVE on the main 1.x release line, whilst maintaining compatibility with Node.js 0.10.", "dependencies": { "append-field": "^1.0.0", "busboy": "^0.2.11", @@ -9107,7 +9155,7 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "node_modules/nearley": { "version": "2.20.1", @@ -9212,13 +9260,13 @@ "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node_modules/node-releases": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", - "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", "dev": true }, "node_modules/nodemailer": { @@ -9290,7 +9338,7 @@ "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "engines": { "node": ">=0.10.0" } @@ -9304,9 +9352,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.1.tgz", - "integrity": "sha512-Y/jF6vnvEtOPGiKD1+q+X0CiUYRQtEHp89MLLUJ7TUivtH8Ugn2+3A7Rynqk7BRsAoqeOQWnFnjpDrKSxDgIGA==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9410,7 +9458,7 @@ "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } @@ -9444,12 +9492,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optional": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz", - "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==", - "dev": true - }, "node_modules/optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -9524,7 +9566,7 @@ "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true, "engines": { "node": ">=0.10.0" @@ -9545,7 +9587,7 @@ "node_modules/p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "peer": true, "dependencies": { "p-limit": "^1.1.0" @@ -9571,7 +9613,7 @@ "node_modules/p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "peer": true, "engines": { "node": ">=4" @@ -9597,13 +9639,13 @@ } }, "node_modules/pac-resolver": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz", - "integrity": "sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.1.tgz", + "integrity": "sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==", "dependencies": { - "degenerator": "^3.0.1", + "degenerator": "^3.0.2", "ip": "^1.1.5", - "netmask": "^2.0.1" + "netmask": "^2.0.2" }, "engines": { "node": ">= 8" @@ -9692,7 +9734,7 @@ "node_modules/passport-local": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz", - "integrity": "sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4=", + "integrity": "sha512-9wCE6qKznvf9mQYYbgJ3sVOHmCWoUNMVFoZzNoznmISbhnNNPhN9xfY3sLmScHMetEJeoY7CXwfhCe7argfQow==", "dependencies": { "passport-strategy": "1.x.x" }, @@ -9703,7 +9745,7 @@ "node_modules/passport-strategy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", - "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=", + "integrity": "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==", "engines": { "node": ">= 0.4.0" } @@ -9711,7 +9753,7 @@ "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "peer": true, "engines": { "node": ">=4" @@ -9720,7 +9762,7 @@ "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" } @@ -9754,7 +9796,7 @@ "node_modules/pause": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" + "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" }, "node_modules/pick-util": { "version": "1.1.5", @@ -10233,7 +10275,7 @@ "node_modules/railroad-diagrams": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", - "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=" + "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==" }, "node_modules/randexp": { "version": "0.4.6", @@ -10684,7 +10726,7 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/send/node_modules/ms": { "version": "2.1.3", @@ -11144,9 +11186,9 @@ } }, "node_modules/superagent": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.3.tgz", - "integrity": "sha512-WA6et4nAvgBCS73lJvv1D0ssI5uk5Gh+TGN/kNe+B608EtcVs/yzfl+OLXTzDs7tOBDIpvgh/WUs1K2OK1zTeQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz", + "integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==", "dependencies": { "component-emitter": "^1.3.0", "cookiejar": "^2.1.3", @@ -11155,7 +11197,7 @@ "form-data": "^4.0.0", "formidable": "^2.0.1", "methods": "^1.1.2", - "mime": "^2.5.0", + "mime": "2.6.0", "qs": "^6.10.3", "readable-stream": "^3.6.0", "semver": "^7.3.7" @@ -11319,14 +11361,14 @@ } }, "node_modules/terser": { - "version": "5.13.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.13.1.tgz", - "integrity": "sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.0.tgz", + "integrity": "sha512-JC6qfIEkPBd9j1SMO3Pfn+A6w2kQV54tv+ABQLgZr7dA3k/DL/OBoYSWxzVpZev3J+bUHXfr55L8Mox7AaNo6g==", "dev": true, "dependencies": { + "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", "commander": "^2.20.0", - "source-map": "~0.8.0-beta.0", "source-map-support": "~0.5.20" }, "bin": { @@ -11337,15 +11379,15 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", + "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", "dev": true, "dependencies": { + "@jridgewell/trace-mapping": "^0.3.7", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", "terser": "^5.7.2" }, "engines": { @@ -11370,59 +11412,12 @@ } } }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "node_modules/terser/node_modules/source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "dev": true, - "dependencies": { - "whatwg-url": "^7.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/terser/node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/terser/node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "node_modules/terser/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -11634,9 +11629,9 @@ } }, "node_modules/ts-node": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", - "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", + "version": "10.8.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.1.tgz", + "integrity": "sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==", "dev": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", @@ -11829,9 +11824,9 @@ } }, "node_modules/typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz", + "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -11846,9 +11841,9 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, "node_modules/uglify-js": { - "version": "3.15.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.5.tgz", - "integrity": "sha512-hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ==", + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.0.tgz", + "integrity": "sha512-FEikl6bR30n0T3amyBh3LoiBdqHRy/f4H80+My34HOesOKyHfOsxAPAxOoqC0JUnC1amnO0IwkYC3sko51caSw==", "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" @@ -12020,9 +12015,9 @@ } }, "node_modules/watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -12051,10 +12046,11 @@ } }, "node_modules/webpack": { - "version": "5.72.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", - "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", + "version": "5.73.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", + "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", "dev": true, + "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -12305,9 +12301,9 @@ } }, "node_modules/ws": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", - "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", + "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", "dev": true, "engines": { "node": ">=8.3.0" @@ -12548,21 +12544,21 @@ "dev": true }, "@babel/core": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.0.tgz", - "integrity": "sha512-Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.2.tgz", + "integrity": "sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==", "dev": true, "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.0", - "@babel/helper-compilation-targets": "^7.17.10", + "@babel/generator": "^7.18.2", + "@babel/helper-compilation-targets": "^7.18.2", "@babel/helper-module-transforms": "^7.18.0", - "@babel/helpers": "^7.18.0", + "@babel/helpers": "^7.18.2", "@babel/parser": "^7.18.0", "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.0", - "@babel/types": "^7.18.0", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -12579,12 +12575,12 @@ } }, "@babel/generator": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.0.tgz", - "integrity": "sha512-81YO9gGx6voPXlvYdZBliFXAZU8vZ9AZ6z+CjlmcnaeOcYSFbMTpdeDUO9xD9dh/68Vq03I8ZspfUTPfitcDHg==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", "dev": true, "requires": { - "@babel/types": "^7.18.0", + "@babel/types": "^7.18.2", "@jridgewell/gen-mapping": "^0.3.0", "jsesc": "^2.5.1" }, @@ -12603,9 +12599,9 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz", - "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", + "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", "dev": true, "requires": { "@babel/compat-data": "^7.17.10", @@ -12623,13 +12619,10 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", + "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", + "dev": true }, "@babel/helper-function-name": { "version": "7.17.9", @@ -12682,12 +12675,12 @@ "dev": true }, "@babel/helper-simple-access": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", - "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", + "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", "dev": true, "requires": { - "@babel/types": "^7.17.0" + "@babel/types": "^7.18.2" } }, "@babel/helper-split-export-declaration": { @@ -12711,14 +12704,14 @@ "dev": true }, "@babel/helpers": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.0.tgz", - "integrity": "sha512-AE+HMYhmlMIbho9nbvicHyxFwhrO+xhKB6AhRxzl8w46Yj0VXTZjEsAoBVC7rB2I0jzX+yWyVybnO08qkfx6kg==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", + "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", "dev": true, "requires": { "@babel/template": "^7.16.7", - "@babel/traverse": "^7.18.0", - "@babel/types": "^7.18.0" + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" } }, "@babel/highlight": { @@ -12764,19 +12757,19 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "supports-color": { @@ -12791,9 +12784,9 @@ } }, "@babel/parser": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.0.tgz", - "integrity": "sha512-AqDccGC+m5O/iUStSJy3DGRIUFu7WbY/CppZYwrEUB4N0tZlnI8CSTsgL7v5fHVFmUbRv2sd+yy27o8Ydt4MGg==" + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz", + "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==" }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", @@ -12913,18 +12906,18 @@ } }, "@babel/runtime": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.0.tgz", - "integrity": "sha512-YMQvx/6nKEaucl0MY56mwIG483xk8SDNdlUwb2Ts6FUpr7fm85DxEmsY18LXBNhcTz6tO6JwZV8w1W06v8UKeg==", + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", + "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", "peer": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/runtime-corejs3": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.0.tgz", - "integrity": "sha512-G5FaGZOWORq9zthDjIrjib5XlcddeqLbIiDO3YQsut6j7aGf76xn0umUC/pA6+nApk3hQJF4JzLzg5PCl6ewJg==", + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.3.tgz", + "integrity": "sha512-l4ddFwrc9rnR+EJsHsh+TJ4A35YqQz/UqcjtlX2ov53hlJYG5CxtQmNZxyajwDVmCxwy++rtvGU5HazCK4W41Q==", "peer": true, "requires": { "core-js-pure": "^3.20.2", @@ -12943,19 +12936,19 @@ } }, "@babel/traverse": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.0.tgz", - "integrity": "sha512-oNOO4vaoIQoGjDQ84LgtF/IAlxlyqL4TUuoQ7xLkQETFaHkY1F7yazhB4Kt3VcZGL0ZF/jhrEpnXqUb0M7V3sw==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz", + "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==", "dev": true, "requires": { "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.0", - "@babel/helper-environment-visitor": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-environment-visitor": "^7.18.2", "@babel/helper-function-name": "^7.17.9", "@babel/helper-hoist-variables": "^7.16.7", "@babel/helper-split-export-declaration": "^7.16.7", "@babel/parser": "^7.18.0", - "@babel/types": "^7.18.0", + "@babel/types": "^7.18.2", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -12969,9 +12962,9 @@ } }, "@babel/types": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.0.tgz", - "integrity": "sha512-vhAmLPAiC8j9K2GnsnLPCIH5wCrPpYIVBCWRBFDCB7Y/BXLqi/O+1RSTTM2bsmg6U/551+FCf9PNPxjABmxHTw==", + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", + "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", "requires": { "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" @@ -13471,6 +13464,29 @@ "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", "dev": true }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, "@jridgewell/sourcemap-codec": { "version": "1.4.13", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", @@ -13546,12 +13562,52 @@ "typescript": "4.6.4", "webpack": "5.72.1", "webpack-node-externals": "3.0.0" + }, + "dependencies": { + "typescript": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "dev": true + }, + "webpack": { + "version": "5.72.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", + "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + } + } } }, "@nestjs/common": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-8.4.5.tgz", - "integrity": "sha512-DL30hLtcmosOWGRFrU1YYB59k+7FGX82sbq2QiXLsEXuSig8ZzFm8LR+tD8CX+aKabU9t1GGc18HLjFud/3sww==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-8.4.6.tgz", + "integrity": "sha512-INp1ERDrLiQ4GwRc3zotTwBLZm2sIwcJwnBE2yXqsth17KijmoVmY8UB5Tares0IlwjsqlRFWkCX8uWE5rzbSA==", "requires": { "axios": "0.27.2", "iterare": "1.2.1", @@ -13581,9 +13637,9 @@ } }, "@nestjs/config": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-2.0.1.tgz", - "integrity": "sha512-N1sV9YrkLCgqI3plVWt9tccUfMJ3jsjGMl1KN/WDnDkr9jQ4XHt9vnHhdBeclegRyZN2/0TBAqCIEAoD4TaVag==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-2.1.0.tgz", + "integrity": "sha512-wUpt1/QJEN7xnJl4pM3c9rHrY1widq2yPOZfjaMD1//XAP9LLHTaW+RxSEG6BSGIm3w4wGtjco+gKNB2WL7yRg==", "requires": { "dotenv": "16.0.1", "dotenv-expand": "8.0.3", @@ -13592,9 +13648,9 @@ } }, "@nestjs/core": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-8.4.5.tgz", - "integrity": "sha512-mT4MV2pEILu+Xy/deIvhb4JkIWaUU+yxssQqMScj8pWvAQ4+6sN52Sxl5NwLb6FTyZ8t5m8Qgr4yZPTmS+Y1Ig==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-8.4.6.tgz", + "integrity": "sha512-5zHpxTYV7HT3lfF7l/x0EWBfmuyuDOnGRcALf88tzDGs/7Q/VC6l65d6eFwDwI37NLtScqnmEkT9of8E3fT3mA==", "requires": { "@nuxtjs/opencollective": "0.3.2", "fast-safe-stringify": "2.1.1", @@ -13627,9 +13683,9 @@ "requires": {} }, "@nestjs/platform-express": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.4.5.tgz", - "integrity": "sha512-36yGMrcb2MBhwOq9l0/fip3gWAae5OadsAQxfHJbxgm8D5bDisTdIvvO7KRWYuKFGerGg9kBm53mZ7Rs3fmfPQ==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.4.6.tgz", + "integrity": "sha512-OserZ+RwjMyECFAL0/12Bztf63EnFhlFUEJ4/a502RQ0eZogt4M3ROauaW4bpt2Q3YH4hy0eT+4eqkVOMzjtPQ==", "requires": { "body-parser": "1.20.0", "cors": "2.8.5", @@ -13639,27 +13695,12 @@ } }, "@nestjs/platform-socket.io": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@nestjs/platform-socket.io/-/platform-socket.io-8.4.5.tgz", - "integrity": "sha512-Uovh0W0d4XmzFrNssc8F3lNgxaj/+UI6iE3mjdnKZRu7ZiPPtVI4mCCBaluVLxScjBWESH+y5waQZSrEBQpnrA==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@nestjs/platform-socket.io/-/platform-socket.io-8.4.6.tgz", + "integrity": "sha512-DVEW4MLg88+LBxruS8bIZ2+MQm5oAqQiJQ4chLeLQ74E/JTiFJ1K+gOkyJ7H3E6gOK0zUSz7r+yrWYUxKW3mTw==", "requires": { - "socket.io": "4.5.0", + "socket.io": "4.5.1", "tslib": "2.4.0" - }, - "dependencies": { - "socket.io": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.0.tgz", - "integrity": "sha512-slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA==", - "requires": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.2.0", - "socket.io-adapter": "~2.4.0", - "socket.io-parser": "~4.0.4" - } - } } }, "@nestjs/schedule": { @@ -13685,19 +13726,18 @@ } }, "@nestjs/testing": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-8.4.5.tgz", - "integrity": "sha512-RWFfkRitor8Aw1yWhZqWim/sAYmFv45Hw7jlVaFCx2PCu6IIHCaK2ENv/20yA0+kffaFUQ6KyFzJvCUYKGFoqg==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-8.4.6.tgz", + "integrity": "sha512-uGRNQ0iWIHqjz5CLxQCTtQ3dB1KyPfkHXnko5mBwKk/iBTiACmll61rVt89Wh8RM+w0bmvCHp9sacNI7IynESg==", "dev": true, "requires": { - "optional": "0.1.4", "tslib": "2.4.0" } }, "@nestjs/websockets": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-8.4.5.tgz", - "integrity": "sha512-xKBREaT0N6zYPvL+PKSeElWXdnNYCROmNGsZ/vpnSfnrGAwdSl/QVQ2+HMAgO4xiqmKNQEotvSW+Fs+PvdYx7Q==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-8.4.6.tgz", + "integrity": "sha512-4MQhNv58nz14m8ifyE+jBBsFZoSn7KaaEry7MN2gKYKpWJwn9zW5ghrxb+VoWVvpuLE0CZ1kHN5zlvLqUnFfzA==", "requires": { "iterare": "1.2.1", "object-hash": "3.0.0", @@ -14011,9 +14051,9 @@ } }, "@types/jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-fUy7YRpT+rHXto1YlL+J9rs0uLGyiqVt3ZOTQR+4ROc47yNl8WLdVLgUloBRhOxP1PZvguHl44T3H0wAWxahYQ==", + "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", "dev": true, "requires": { "jest-matcher-utils": "^27.0.0", @@ -14043,19 +14083,10 @@ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" }, - "@types/mongodb": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-4.0.7.tgz", - "integrity": "sha512-lPUYPpzA43baXqnd36cZ9xxorprybxXDzteVKCPAdp14ppHtFJHnXYvNpmBvtMUTb5fKXVv6sVbzo1LHkWhJlw==", - "dev": true, - "requires": { - "mongodb": "*" - } - }, "@types/node": { - "version": "17.0.35", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz", - "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==" + "version": "17.0.40", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.40.tgz", + "integrity": "sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg==" }, "@types/parse-json": { "version": "4.0.0", @@ -14064,9 +14095,9 @@ "dev": true }, "@types/passport": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.7.tgz", - "integrity": "sha512-JtswU8N3kxBYgo+n9of7C97YQBT+AYPP2aBfNGTzABqPAZnK/WOAaKfh3XesUYMZRrXFuoPc2Hv0/G/nQFveHw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.8.tgz", + "integrity": "sha512-Gdcvis7+7G/Mobm+25AeFi+oe5teBhHzpbCOFWeN10Bj8tnoEE1L5lkraQjzmDEKkJQuM7xSJUGIFGl/giyRfQ==", "requires": { "@types/express": "*" } @@ -14101,9 +14132,9 @@ } }, "@types/prettier": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.1.tgz", - "integrity": "sha512-XFjFHmaLVifrAKaZ+EKghFHtHSUonyw8P2Qmy2/+osBnrKbH9UYtlK10zg8/kCt47MFilll/DEDKy3DHfJ0URw==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", + "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", "dev": true }, "@types/pug": { @@ -14186,13 +14217,13 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.25.0.tgz", - "integrity": "sha512-icYrFnUzvm+LhW0QeJNKkezBu6tJs9p/53dpPLFH8zoM9w1tfaKzVurkPotEpAqQ8Vf8uaFyL5jHd0Vs6Z0ZQg==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.27.0.tgz", + "integrity": "sha512-DDrIA7GXtmHXr1VCcx9HivA39eprYBIFxbQEHI6NyraRDxCGpxAFiYQAT/1Y0vh1C+o2vfBiy4IuPoXxtTZCAQ==", "requires": { - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/type-utils": "5.25.0", - "@typescript-eslint/utils": "5.25.0", + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/type-utils": "5.27.0", + "@typescript-eslint/utils": "5.27.0", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -14202,47 +14233,47 @@ } }, "@typescript-eslint/parser": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.25.0.tgz", - "integrity": "sha512-r3hwrOWYbNKP1nTcIw/aZoH+8bBnh/Lh1iDHoFpyG4DnCpvEdctrSl6LOo19fZbzypjQMHdajolxs6VpYoChgA==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.0.tgz", + "integrity": "sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA==", "requires": { - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/typescript-estree": "5.25.0", + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/typescript-estree": "5.27.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.25.0.tgz", - "integrity": "sha512-p4SKTFWj+2VpreUZ5xMQsBMDdQ9XdRvODKXN4EksyBjFp2YvQdLkyHqOffakYZPuWJUDNu3jVXtHALDyTv3cww==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz", + "integrity": "sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g==", "requires": { - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/visitor-keys": "5.25.0" + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0" } }, "@typescript-eslint/type-utils": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.25.0.tgz", - "integrity": "sha512-B6nb3GK3Gv1Rsb2pqalebe/RyQoyG/WDy9yhj8EE0Ikds4Xa8RR28nHz+wlt4tMZk5bnAr0f3oC8TuDAd5CPrw==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.27.0.tgz", + "integrity": "sha512-vpTvRRchaf628Hb/Xzfek+85o//zEUotr1SmexKvTfs7czXfYjXVT/a5yDbpzLBX1rhbqxjDdr1Gyo0x1Fc64g==", "requires": { - "@typescript-eslint/utils": "5.25.0", + "@typescript-eslint/utils": "5.27.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.25.0.tgz", - "integrity": "sha512-7fWqfxr0KNHj75PFqlGX24gWjdV/FDBABXL5dyvBOWHpACGyveok8Uj4ipPX/1fGU63fBkzSIycEje4XsOxUFA==" + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.0.tgz", + "integrity": "sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A==" }, "@typescript-eslint/typescript-estree": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.25.0.tgz", - "integrity": "sha512-MrPODKDych/oWs/71LCnuO7NyR681HuBly2uLnX3r5i4ME7q/yBqC4hW33kmxtuauLTM0OuBOhhkFaxCCOjEEw==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz", + "integrity": "sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ==", "requires": { - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/visitor-keys": "5.25.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -14251,24 +14282,24 @@ } }, "@typescript-eslint/utils": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.25.0.tgz", - "integrity": "sha512-qNC9bhnz/n9Kba3yI6HQgQdBLuxDoMgdjzdhSInZh6NaDnFpTUlwNGxplUFWfY260Ya0TRPvkg9dd57qxrJI9g==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.27.0.tgz", + "integrity": "sha512-nZvCrkIJppym7cIbP3pOwIkAefXOmfGPnCM0LQfzNaKxJHI6VjI8NC662uoiPlaf5f6ymkTy9C3NQXev2mdXmA==", "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/typescript-estree": "5.25.0", + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/typescript-estree": "5.27.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.25.0.tgz", - "integrity": "sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz", + "integrity": "sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA==", "requires": { - "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/types": "5.27.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -14888,7 +14919,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, @@ -15031,9 +15062,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001342", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001342.tgz", - "integrity": "sha512-bn6sOCu7L7jcbBbyNhLg0qzXdJ/PMbybZTH/BA6Roet9wxYRm6Tr9D0s0uhLkOZ6MSG+QU6txUgdpr3MXIVqjA==", + "version": "1.0.30001346", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001346.tgz", + "integrity": "sha512-q6ibZUO2t88QCIPayP/euuDREq+aMAxFE5S70PkrLh0iTDj/zEhgvJRKC2+CvXY6EWc6oQwUR48lL5vCW6jiXQ==", "dev": true }, "chalk": { @@ -15225,13 +15256,13 @@ "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, "collect-v8-coverage": { @@ -15259,9 +15290,9 @@ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" }, "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==" + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz", + "integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g==" }, "combined-stream": { "version": "1.0.8", @@ -15285,7 +15316,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "concat-stream": { "version": "1.6.2", @@ -15301,7 +15332,7 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "readable-stream": { "version": "2.3.7", @@ -15345,7 +15376,7 @@ "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, "constantinople": { "version": "4.0.1", @@ -15394,7 +15425,7 @@ "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "cookiejar": { "version": "2.1.3", @@ -15402,9 +15433,9 @@ "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" }, "core-js-pure": { - "version": "3.22.5", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.5.tgz", - "integrity": "sha512-8xo9R00iYD7TcV7OrC98GwxiUEAabVWO3dix+uyWjnYrx9fyASLlIX+f/3p5dW5qByaP2bcZ8X/T47s55et/tA==", + "version": "3.22.8", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.8.tgz", + "integrity": "sha512-bOxbZIy9S5n4OVH63XaLVXZ49QKicjowDx/UELyJ68vxfCRpYsbyh/WNZNfEfAk+ekA8vSjt+gCDpvh672bc3w==", "peer": true }, "core-util-is": { @@ -15469,7 +15500,7 @@ "css-select": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "integrity": "sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==", "requires": { "boolbase": "~1.0.0", "css-what": "2.1", @@ -15527,9 +15558,9 @@ } }, "dayjs": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz", - "integrity": "sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==" + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.3.tgz", + "integrity": "sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==" }, "debug": { "version": "4.3.4", @@ -15548,7 +15579,7 @@ "dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, "deep-is": { @@ -15564,7 +15595,7 @@ "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", "dev": true, "requires": { "clone": "^1.0.2" @@ -15610,7 +15641,7 @@ "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "requires": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -15632,7 +15663,7 @@ "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" }, "source-map": { "version": "0.6.1", @@ -15653,12 +15684,12 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" }, "denque": { "version": "2.0.1", @@ -15689,7 +15720,7 @@ "dezalgo": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "integrity": "sha512-K7i4zNfT2kgQz3GylDw40ot9GAE47sFZ9EXHFSPP6zONLgH6kWXE0KWJchkbQJLBkRazq4APwZ4OwiFFlT95OQ==", "requires": { "asap": "^2.0.0", "wrappy": "1" @@ -15698,7 +15729,7 @@ "dicer": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", - "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", + "integrity": "sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg==", "requires": { "readable-stream": "1.1.x", "streamsearch": "0.1.2" @@ -15745,7 +15776,7 @@ "discontinuous-range": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", - "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=" + "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==" }, "doctrine": { "version": "3.0.0", @@ -15758,7 +15789,7 @@ "doctypes": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", - "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=" + "integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==" }, "dom-serializer": { "version": "0.1.1", @@ -15802,7 +15833,7 @@ "domutils": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", "requires": { "dom-serializer": "0", "domelementtype": "1" @@ -15834,7 +15865,7 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "ejs": { "version": "3.1.8", @@ -15846,9 +15877,9 @@ } }, "electron-to-chromium": { - "version": "1.4.137", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz", - "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==", + "version": "1.4.146", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.146.tgz", + "integrity": "sha512-4eWebzDLd+hYLm4csbyMU2EbBnqhwl8Oe9eF/7CBDPWcRxFmqzx4izxvHH+lofQxzieg8UbB8ZuzNTxeukzfTg==", "dev": true }, "emittery": { @@ -15865,7 +15896,7 @@ "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" }, "encoding-japanese": { "version": "2.0.0", @@ -16004,7 +16035,7 @@ "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "escape-string-regexp": { "version": "4.0.0", @@ -16027,7 +16058,7 @@ "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "requires": { "prelude-ls": "~1.1.2", @@ -16051,7 +16082,7 @@ "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true }, "source-map": { @@ -16073,9 +16104,9 @@ } }, "eslint": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", - "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", + "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", "requires": { "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", @@ -16285,7 +16316,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "peer": true } } @@ -16455,7 +16486,7 @@ "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, "events": { "version": "3.3.0", @@ -16482,7 +16513,7 @@ "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true }, "expect": { @@ -16546,12 +16577,12 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" } } }, @@ -16608,7 +16639,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "fast-safe-stringify": { "version": "2.1.1", @@ -16644,7 +16675,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true } } @@ -16724,14 +16755,14 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "peer": true, "requires": { "locate-path": "^2.0.0" @@ -16757,9 +16788,9 @@ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" }, "follow-redirects": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==" + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" }, "fork-ts-checker-webpack-plugin": { "version": "7.2.11", @@ -16829,7 +16860,7 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" }, "fs-extra": { "version": "10.1.0", @@ -16859,7 +16890,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { "version": "2.3.2", @@ -16871,7 +16902,7 @@ "ftp": { "version": "0.3.10", "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", - "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "integrity": "sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==", "requires": { "readable-stream": "1.1.x", "xregexp": "2.0.0" @@ -16914,7 +16945,7 @@ "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" }, "functions-have-names": { "version": "1.2.3", @@ -17005,7 +17036,7 @@ "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "requires": { "graceful-fs": "^4.1.6" } @@ -17133,7 +17164,7 @@ "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, "he": { "version": "1.2.0", @@ -17321,7 +17352,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" }, "indent-string": { "version": "4.0.0", @@ -17331,7 +17362,7 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", "wrappy": "1" @@ -17433,7 +17464,7 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "is-bigint": { @@ -17507,7 +17538,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "is-fullwidth-code-point": { "version": "4.0.0", @@ -17604,7 +17635,7 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, "is-unicode-supported": { @@ -17632,12 +17663,12 @@ "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "istanbul-lib-coverage": { "version": "3.2.0", @@ -18407,7 +18438,7 @@ "js-stringify": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", - "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" + "integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==" }, "js-tokens": { "version": "4.0.0", @@ -18486,7 +18517,7 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, "json5": { "version": "2.2.1", @@ -18537,7 +18568,7 @@ "jstransformer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", - "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==", "requires": { "is-promise": "^2.0.0", "promise": "^7.0.1" @@ -18605,7 +18636,7 @@ "language-tags": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", "peer": true, "requires": { "language-subtag-registry": "~0.3.2" @@ -18653,19 +18684,19 @@ } }, "libphonenumber-js": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.4.tgz", - "integrity": "sha512-9QWxEk4GW5RDnFzt8UtyRENfFpAN8u7Sbf9wf32tcXY9tdtnz1dKHIBwW2Wnfx8ypXJb9zUnTpK9aQJ/B8AlnA==" + "version": "1.10.6", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.6.tgz", + "integrity": "sha512-CIjT100/SmntsUjsLVs2t3ufeN4KdNXUxhD07tH153pdbaCWuAjv0jK/gPuywR3IImB/U/MQM+x9RfhMs5XZiA==" }, "libqp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz", - "integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=" + "integrity": "sha512-4Rgfa0hZpG++t1Vi2IiqXG9Ad1ig4QTmtuZF946QJP4bPqOYC78ixUXgz5TW/wE7lNaNKlplSYTxQ+fR2KZ0EA==" }, "lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==" }, "lines-and-columns": { "version": "1.2.4", @@ -18682,30 +18713,30 @@ } }, "lint-staged": { - "version": "12.4.1", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.4.1.tgz", - "integrity": "sha512-PTXgzpflrQ+pODQTG116QNB+Q6uUTDg5B5HqGvNhoQSGt8Qy+MA/6zSnR8n38+sxP5TapzeQGTvoKni0KRS8Vg==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.5.0.tgz", + "integrity": "sha512-BKLUjWDsKquV/JuIcoQW4MSAI3ggwEImF1+sB4zaKvyVx1wBk3FsG7UK9bpnmBTN1pm7EH2BBcMwINJzCRv12g==", "requires": { "cli-truncate": "^3.1.0", "colorette": "^2.0.16", - "commander": "^8.3.0", - "debug": "^4.3.3", + "commander": "^9.3.0", + "debug": "^4.3.4", "execa": "^5.1.1", - "lilconfig": "2.0.4", - "listr2": "^4.0.1", - "micromatch": "^4.0.4", + "lilconfig": "2.0.5", + "listr2": "^4.0.5", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "object-inspect": "^1.12.0", + "object-inspect": "^1.12.2", "pidtree": "^0.5.0", "string-argv": "^0.3.1", - "supports-color": "^9.2.1", + "supports-color": "^9.2.2", "yaml": "^1.10.2" }, "dependencies": { "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.3.0.tgz", + "integrity": "sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==" }, "supports-color": { "version": "9.2.2", @@ -18773,7 +18804,7 @@ "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "peer": true, "requires": { "p-locate": "^2.0.0", @@ -18788,72 +18819,72 @@ "lodash.assignin": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + "integrity": "sha512-yX/rx6d/UTVh7sSVWVSIMjfnz95evAgDFdb1ZozC35I9mSFCkmzptOzevxjgbQUsc78NR44LVHWjsoMQXy9FDg==" }, "lodash.bind": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", - "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" + "integrity": "sha512-lxdsn7xxlCymgLYo1gGvVrfHmkjDiyqVv62FAeF2i5ta72BipE1SLxw8hPEPLhD4/247Ijw07UQH7Hq/chT5LA==" }, "lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" }, "lodash.filter": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + "integrity": "sha512-pXYUy7PR8BCLwX5mgJ/aNtyOvuJTdZAo9EQFUvMIYugqmJxnrYaANvTbgndOzHSCSR0wnlBBfRXJL5SbWxo3FQ==" }, "lodash.flatten": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" }, "lodash.foreach": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==" }, "lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "lodash.map": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==" }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true }, "lodash.merge": { @@ -18864,33 +18895,27 @@ "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "lodash.pick": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" }, "lodash.reduce": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + "integrity": "sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==" }, "lodash.reject": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", - "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" + "integrity": "sha512-qkTuvgEzYdyhiJBx42YPzPo71R1aEr0z79kAv7Ixg8wPFEjgRgJdUsGMG3Hf3OYSF/kHI79XhNlt+5Ar6OzwxQ==" }, "lodash.some": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true + "integrity": "sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==" }, "log-symbols": { "version": "4.1.0", @@ -19063,7 +19088,7 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" }, "mediaquery-text": { "version": "1.2.0", @@ -19074,9 +19099,9 @@ } }, "memfs": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.3.tgz", - "integrity": "sha512-eivjfi7Ahr6eQTn44nvTnR60e4a1Fs1Via2kCR5lHo/kyNoiMWaXCNJ/GpSd0ilXas2JSOl9B5FTIhflXu0hlg==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.4.tgz", + "integrity": "sha512-W4gHNUE++1oSJVn8Y68jPXi+mkx3fXR5ITE/Ubz6EQ3xRpCN5k2CQ4AUR8094Z7211F876TyoBACGsIveqgiGA==", "dev": true, "requires": { "fs-monkey": "1.0.3" @@ -19091,7 +19116,7 @@ "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" }, "merge-stream": { "version": "2.0.0", @@ -19106,7 +19131,7 @@ "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" }, "micromatch": { "version": "4.0.5", @@ -19243,9 +19268,9 @@ } }, "mongoose": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.3.4.tgz", - "integrity": "sha512-UP0azyGMdY+2YNbJUHeHhnVw5vPzCqs4GQDUwHkilif/rwmSZktUQhQWMp1pUgRNeF2JC30vWGLrInZxD7K/Qw==", + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.3.5.tgz", + "integrity": "sha512-Ho3b/MK3lFyb87NjzyVwrjCqQ5DuLsIPSMFYDuZjaIJNhZfHNPQIcUDR1RLZ0/l+uznwo0VBu3WSwdu8EfAZTA==", "requires": { "bson": "^4.6.2", "kareem": "2.3.5", @@ -19335,7 +19360,7 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "nearley": { "version": "2.20.1", @@ -19417,13 +19442,13 @@ "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node-releases": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", - "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", "dev": true }, "nodemailer": { @@ -19480,7 +19505,7 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, "object-hash": { "version": "3.0.0", @@ -19488,9 +19513,9 @@ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" }, "object-inspect": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.1.tgz", - "integrity": "sha512-Y/jF6vnvEtOPGiKD1+q+X0CiUYRQtEHp89MLLUJ7TUivtH8Ugn2+3A7Rynqk7BRsAoqeOQWnFnjpDrKSxDgIGA==" + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" }, "object-keys": { "version": "1.1.1", @@ -19561,7 +19586,7 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } @@ -19583,12 +19608,6 @@ "is-wsl": "^2.1.1" } }, - "optional": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz", - "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==", - "dev": true - }, "optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -19644,7 +19663,7 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true }, "p-limit": { @@ -19659,7 +19678,7 @@ "p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "peer": true, "requires": { "p-limit": "^1.1.0" @@ -19676,7 +19695,7 @@ "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "peer": true }, "pac-proxy-agent": { @@ -19696,13 +19715,13 @@ } }, "pac-resolver": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz", - "integrity": "sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.1.tgz", + "integrity": "sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==", "requires": { - "degenerator": "^3.0.1", + "degenerator": "^3.0.2", "ip": "^1.1.5", - "netmask": "^2.0.1" + "netmask": "^2.0.2" } }, "parent-module": { @@ -19766,7 +19785,7 @@ "passport-local": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz", - "integrity": "sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4=", + "integrity": "sha512-9wCE6qKznvf9mQYYbgJ3sVOHmCWoUNMVFoZzNoznmISbhnNNPhN9xfY3sLmScHMetEJeoY7CXwfhCe7argfQow==", "requires": { "passport-strategy": "1.x.x" } @@ -19774,18 +19793,18 @@ "passport-strategy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", - "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" + "integrity": "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==" }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "peer": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-key": { "version": "3.1.1", @@ -19810,7 +19829,7 @@ "pause": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" + "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" }, "pick-util": { "version": "1.1.5", @@ -20196,7 +20215,7 @@ "railroad-diagrams": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", - "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=" + "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==" }, "randexp": { "version": "0.4.6", @@ -20519,7 +20538,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, @@ -20881,9 +20900,9 @@ } }, "superagent": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.3.tgz", - "integrity": "sha512-WA6et4nAvgBCS73lJvv1D0ssI5uk5Gh+TGN/kNe+B608EtcVs/yzfl+OLXTzDs7tOBDIpvgh/WUs1K2OK1zTeQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz", + "integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==", "requires": { "component-emitter": "^1.3.0", "cookiejar": "^2.1.3", @@ -20892,7 +20911,7 @@ "form-data": "^4.0.0", "formidable": "^2.0.1", "methods": "^1.1.2", - "mime": "^2.5.0", + "mime": "2.6.0", "qs": "^6.10.3", "readable-stream": "^3.6.0", "semver": "^7.3.7" @@ -21006,14 +21025,14 @@ } }, "terser": { - "version": "5.13.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.13.1.tgz", - "integrity": "sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.0.tgz", + "integrity": "sha512-JC6qfIEkPBd9j1SMO3Pfn+A6w2kQV54tv+ABQLgZr7dA3k/DL/OBoYSWxzVpZev3J+bUHXfr55L8Mox7AaNo6g==", "dev": true, "requires": { + "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", "commander": "^2.20.0", - "source-map": "~0.8.0-beta.0", "source-map-support": "~0.5.20" }, "dependencies": { @@ -21022,63 +21041,20 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true - }, - "source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "dev": true, - "requires": { - "whatwg-url": "^7.0.0" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } } } }, "terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", + "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", "dev": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.7", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", "terser": "^5.7.2" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "test-exclude": { @@ -21226,9 +21202,9 @@ } }, "ts-node": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", - "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", + "version": "10.8.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.1.tgz", + "integrity": "sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==", "dev": true, "requires": { "@cspotcode/source-map-support": "^0.8.0", @@ -21371,9 +21347,9 @@ } }, "typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==" + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz", + "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==" }, "uc.micro": { "version": "1.0.6", @@ -21381,9 +21357,9 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, "uglify-js": { - "version": "3.15.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.5.tgz", - "integrity": "sha512-hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ==", + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.0.tgz", + "integrity": "sha512-FEikl6bR30n0T3amyBh3LoiBdqHRy/f4H80+My34HOesOKyHfOsxAPAxOoqC0JUnC1amnO0IwkYC3sko51caSw==", "optional": true }, "unbox-primitive": { @@ -21512,9 +21488,9 @@ } }, "watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -21537,10 +21513,11 @@ "dev": true }, "webpack": { - "version": "5.72.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", - "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", + "version": "5.73.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", + "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", "dev": true, + "peer": true, "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -21727,9 +21704,9 @@ } }, "ws": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", - "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", + "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", "dev": true, "requires": {} }, diff --git a/backend/package.json b/backend/package.json index 57859307d..6c3cd3526 100644 --- a/backend/package.json +++ b/backend/package.json @@ -72,7 +72,6 @@ "@nestjs/testing": "^8.4.4", "@types/express": "^4.17.13", "@types/jest": "^27.4.1", - "@types/mongodb": "^4.0.7", "@types/node": "^17.0.23", "@types/supertest": "^2.0.12", "@typescript-eslint/eslint-plugin": "^5.18.0", diff --git a/backend/src/modules/users/dto/create.user.dto.ts b/backend/src/modules/users/dto/create.user.dto.ts index 10e8d08a6..e8fb5dc82 100644 --- a/backend/src/modules/users/dto/create.user.dto.ts +++ b/backend/src/modules/users/dto/create.user.dto.ts @@ -15,13 +15,13 @@ export default class CreateUserDto { @IsString() @IsNotEmpty() - @MinLength(2) + @MinLength(3) @Transform(({ value }: TransformFnParams) => value.trim()) firstName!: string; @IsString() @IsNotEmpty() - @MinLength(2) + @MinLength(3) @Transform(({ value }: TransformFnParams) => value.trim()) lastName!: string; diff --git a/frontend/.eslintignore b/frontend/.eslintignore index fe4d905ae..f16459bdc 100644 --- a/frontend/.eslintignore +++ b/frontend/.eslintignore @@ -1,3 +1,5 @@ +# .eslintrc.js + # dependencies /node_modules /.pnp diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.js new file mode 100644 index 000000000..a2cf0e1cf --- /dev/null +++ b/frontend/.eslintrc.js @@ -0,0 +1,101 @@ +// eslint-disable-next-line @typescript-eslint/no-var-requires +const fs = require('fs'); + +const folders = fs + .readdirSync('src', { withFileTypes: true }) + .filter((dirent) => dirent.isDirectory()) + .map((dirent) => !['styles'].includes(dirent.name) && dirent.name); + +module.exports = { + env: { + browser: true, + es2021: true + }, + extends: [ + 'plugin:react/recommended', + 'airbnb', + 'airbnb-typescript', + 'prettier', + 'airbnb-typescript-prettier' + ], + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaFeatures: { + jsx: true + }, + ecmaVersion: 12, + sourceType: 'module', + extraFileExtensions: ['.css'], + project: './tsconfig.json' + }, + plugins: [ + 'react', + '@typescript-eslint', + 'simple-import-sort', + 'import', + 'unused-imports', + 'prettier' + ], + rules: { + 'react/react-in-jsx-scope': 'off', + 'react/jsx-filename-extension': [ + 1, + { + extensions: ['.ts', '.tsx'] + } + ], + 'react/jsx-props-no-spreading': 'off', + 'no-underscore-dangle': 'off', + 'no-param-reassign': 'off', + 'react/function-component-definition': 'off', + '@typescript-eslint/no-empty-interface': 'off', + 'import/prefer-default-export': 'off', + 'import/no-cycle': 'off', + 'no-plusplus': 'off', + 'no-useless-escape': 'off', + 'no-restricted-exports': 'off', + 'jsx-a11y/anchor-is-valid': [ + 'error', + { + components: ['Link'], + specialLink: ['hrefLeft', 'hrefRight'], + aspects: ['invalidHref', 'preferButton'] + } + ], + 'simple-import-sort/imports': 'error', + 'simple-import-sort/exports': 'error', + 'import/first': 'error', + 'import/newline-after-import': 'error', + 'import/no-duplicates': 'error', + 'unused-imports/no-unused-imports': 'error', + 'prettier/prettier': ['error', { usePrettierrc: true }] + }, + settings: { + 'import/resolver': { + node: { + extensions: ['.js', '.jsx', '.ts', '.tsx'], + moduleDirectory: ['node_modules', 'src/'] + } + } + }, + overrides: [ + { + files: ['**/*.ts?(x)'], + rules: { + 'simple-import-sort/imports': [ + 'error', + { + groups: [ + // Packages. `react` related packages come first. + // Things that start with a letter (or digit or underscore), or `@` followed by a letter. + ['^react', '^next', '^recoil', '^@?\\w'], // Absolute imports and Relative imports. + ['^styles'], + [`^(${folders.join('|')})(/.*|$)`, '^\\.'], // for scss imports. + ['^[^.]'] + ] + } + ] + } + } + ] +}; diff --git a/frontend/.eslintrc.json b/frontend/.eslintrc.json deleted file mode 100644 index 1240fbab6..000000000 --- a/frontend/.eslintrc.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "env": { - "browser": true, - "es2021": true - }, - "extends": [ - "plugin:react/recommended", - "airbnb", - "airbnb-typescript", - "prettier", - "airbnb-typescript-prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaFeatures": { - "jsx": true - }, - "ecmaVersion": 12, - "sourceType": "module", - "extraFileExtensions": [".css"], - "project": "./tsconfig.json" - }, - "plugins": ["react", "@typescript-eslint", "simple-import-sort", "unused-imports", "prettier"], - "rules": { - "react/react-in-jsx-scope": "off", - "react/jsx-filename-extension": [ - 1, - { - "extensions": [".ts", ".tsx"] - } - ], - "react/jsx-props-no-spreading": "off", - "no-underscore-dangle": "off", - "no-param-reassign": "off", - "react/function-component-definition": "off", - "@typescript-eslint/no-empty-interface": "off", - "import/prefer-default-export": "off", - "import/no-cycle": "off", - "no-plusplus": "off", - "no-useless-escape": "off", - "no-restricted-exports": "off", - "jsx-a11y/anchor-is-valid": [ - "error", - { - "components": ["Link"], - "specialLink": ["hrefLeft", "hrefRight"], - "aspects": ["invalidHref", "preferButton"] - } - ], - "simple-import-sort/imports": "error", - "simple-import-sort/exports": "error", - "prettier/prettier": ["error", {}, { "usePrettierrc": true }] - } -} diff --git a/frontend/.gitignore b/frontend/.gitignore index a2aef3564..950c33b49 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -37,5 +37,5 @@ yarn-error.log* .vercel #cypress -/cypress/screenshots/ -/cypress/videos/ +/src/cypress/screenshots/ +/src/cypress/videos/ diff --git a/frontend/.prettierrc b/frontend/.prettierrc index bd7c12857..b8611909d 100644 --- a/frontend/.prettierrc +++ b/frontend/.prettierrc @@ -1,22 +1,22 @@ { - "tabWidth": 4, - "useTabs": true, - "singleQuote": true, - "printWidth": 100, - "semi": true, - "trailingComma": "none", - "overrides": [ - { - "files": [ - "*.yml", - "*.yaml", - "**/*.yml", - "**/*.yaml" - ], - "options": { - "tabWidth": 2, - "useTabs": false - } - } - ] + "tabWidth": 4, + "useTabs": true, + "singleQuote": true, + "printWidth": 100, + "semi": true, + "trailingComma": "none", + "overrides": [ + { + "files": [ + "*.yml", + "*.yaml", + "**/*.yml", + "**/*.yaml" + ], + "options": { + "tabWidth": 2, + "useTabs": false + } + } + ] } \ No newline at end of file diff --git a/frontend/components/CardBoard/CardBody/CardTitle.tsx b/frontend/components/CardBoard/CardBody/CardTitle.tsx deleted file mode 100644 index f3678e777..000000000 --- a/frontend/components/CardBoard/CardBody/CardTitle.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import Link from 'next/link'; - -import { styled } from '../../../stitches.config'; -import Flex from '../../Primitives/Flex'; -import Text from '../../Primitives/Text'; -import Tooltip from '../../Primitives/Tooltip'; - -type CardtitleProps = { - userIsParticipating: boolean; - boardId: string; - title: string; - isSubBoard: boolean | undefined; - mainBoardId?: string; -}; - -const StyledBoardTitle = styled(Text, { - fontWeight: '$bold', - fontSize: '$14', - letterSpacing: '$0-17', - "&[data-disabled='true']": { opacity: 0.4 }, - '@hover': { - '&:hover': { - "&[data-disabled='true']": { textDecoration: 'none', cursor: 'default' }, - textDecoration: 'underline', - cursor: 'pointer' - } - } -}); - -const CardTitle: React.FC = ({ - userIsParticipating, - boardId, - title, - isSubBoard, - mainBoardId -}) => { - CardTitle.defaultProps = { - mainBoardId: undefined - }; - if (isSubBoard) { - return ( - - - {userIsParticipating && isSubBoard && ( - - - {title} - - - )} - {!userIsParticipating && isSubBoard && ( - - {title} - - )} - - - ); - } - return ( - - {title} - - ); -}; - -export default CardTitle; diff --git a/frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/styles.tsx b/frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/styles.tsx deleted file mode 100644 index 3e0ed1edc..000000000 --- a/frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/styles.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { styled } from '../../../../../../stitches.config'; -import Box from '../../../../../Primitives/Box'; -import Flex from '../../../../../Primitives/Flex'; - -const StyledBox = styled(Flex, Box, { borderRadius: '$12', backgroundColor: 'white' }); - -export { StyledBox }; diff --git a/frontend/components/Primitives/Svg.tsx b/frontend/components/Primitives/Svg.tsx deleted file mode 100644 index 8347a5070..000000000 --- a/frontend/components/Primitives/Svg.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { styled } from '../../stitches.config'; - -const Svg = styled('svg', {}); - -export default Svg; diff --git a/frontend/components/Sidebar/partials/Header/styles.tsx b/frontend/components/Sidebar/partials/Header/styles.tsx deleted file mode 100644 index 2c8f8f059..000000000 --- a/frontend/components/Sidebar/partials/Header/styles.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import { styled } from '../../../../stitches.config'; -import Flex from '../../../Primitives/Flex'; - -const StyledHeader = styled(Flex, {}); - -export { StyledHeader }; diff --git a/frontend/jest.config.js b/frontend/jest.config.js index f747e8bd4..0ac2d5b79 100644 --- a/frontend/jest.config.js +++ b/frontend/jest.config.js @@ -1,22 +1,22 @@ // jest.config.js // eslint-disable-next-line @typescript-eslint/no-var-requires -const nextJest = require("next/jest"); +const nextJest = require('next/jest'); const createJestConfig = nextJest({ - // Provide the path to your Next.js app to load next.config.js and .env files in your test environment - dir: "./", + // Provide the path to your Next.js app to load next.config.js and .env files in your test environment + dir: './' }); // Add any custom config to be passed to Jest const customJestConfig = { - // Add more setup options before each test is run - setupFilesAfterEnv: ["/jest.setup.js"], - // if using TypeScript with a baseUrl set to the root directory then you need the below for alias' to work - moduleDirectories: ["node_modules", "/"], - testEnvironment: "jest-environment-jsdom", - moduleNameMapper: { - "\\.svg$": "/public/icons/", - }, + // Add more setup options before each test is run + setupFilesAfterEnv: ['/jest.setup.js'], + // if using TypeScript with a baseUrl set to the root directory then you need the below for alias' to work + moduleDirectories: ['node_modules', '/src'], + testEnvironment: 'jest-environment-jsdom', + moduleNameMapper: { + '\\.svg$': '/public/icons/' + } }; // createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async diff --git a/frontend/jest.setup.js b/frontend/jest.setup.js index 6a6940907..666127af3 100644 --- a/frontend/jest.setup.js +++ b/frontend/jest.setup.js @@ -1 +1 @@ -import "@testing-library/jest-dom/extend-expect"; +import '@testing-library/jest-dom/extend-expect'; diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 21efa0aa3..87852bf10 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -54,7 +54,7 @@ "@types/react-calendar": "^3.5.0", "@types/react-dom": "^17.0.15", "@typescript-eslint/eslint-plugin": "^5.19.0", - "@typescript-eslint/parser": "^5.19.0", + "@typescript-eslint/parser": "^5.27.0", "babel-jest": "^27.5.1", "babel-loader": "^8.2.4", "eslint": "^8.13.0", @@ -63,7 +63,8 @@ "eslint-config-airbnb-typescript-prettier": "^5.0.0", "eslint-config-next": "12.1.4", "eslint-config-prettier": "^8.5.0", - "eslint-plugin-import": "2.26.0", + "eslint-import-resolver-typescript": "^2.7.1", + "eslint-plugin-import": "^2.26.0", "eslint-plugin-jsx-a11y": "^6.5.1", "eslint-plugin-react": "^7.29.4", "eslint-plugin-react-hooks": "^4.4.0", @@ -2994,14 +2995,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.25.0.tgz", - "integrity": "sha512-r3hwrOWYbNKP1nTcIw/aZoH+8bBnh/Lh1iDHoFpyG4DnCpvEdctrSl6LOo19fZbzypjQMHdajolxs6VpYoChgA==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.0.tgz", + "integrity": "sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/typescript-estree": "5.25.0", + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/typescript-estree": "5.27.0", "debug": "^4.3.4" }, "engines": { @@ -3020,6 +3021,95 @@ } } }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz", + "integrity": "sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.0.tgz", + "integrity": "sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz", + "integrity": "sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz", + "integrity": "sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.27.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/scope-manager": { "version": "5.25.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.25.0.tgz", @@ -5439,6 +5529,26 @@ "node": ">=0.10.0" } }, + "node_modules/eslint-config-next/node_modules/eslint-import-resolver-typescript": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.4.0.tgz", + "integrity": "sha512-useJKURidCcldRLCNKWemr1fFQL1SzB3G4a0li6lFGvlc5xGe1hY343bvG07cbpCzPuM/lK19FIJB3XGFSkplA==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" + } + }, "node_modules/eslint-config-next/node_modules/eslint-plugin-import": { "version": "2.25.2", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.2.tgz", @@ -5597,16 +5707,16 @@ "dev": true }, "node_modules/eslint-import-resolver-typescript": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.4.0.tgz", - "integrity": "sha512-useJKURidCcldRLCNKWemr1fFQL1SzB3G4a0li6lFGvlc5xGe1hY343bvG07cbpCzPuM/lK19FIJB3XGFSkplA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz", + "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==", "dev": true, "dependencies": { - "debug": "^4.1.1", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" + "debug": "^4.3.4", + "glob": "^7.2.0", + "is-glob": "^4.0.3", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" }, "engines": { "node": ">=4" @@ -5616,6 +5726,26 @@ "eslint-plugin-import": "*" } }, + "node_modules/eslint-import-resolver-typescript/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/eslint-module-utils": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", @@ -15445,15 +15575,67 @@ } }, "@typescript-eslint/parser": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.25.0.tgz", - "integrity": "sha512-r3hwrOWYbNKP1nTcIw/aZoH+8bBnh/Lh1iDHoFpyG4DnCpvEdctrSl6LOo19fZbzypjQMHdajolxs6VpYoChgA==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.0.tgz", + "integrity": "sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/typescript-estree": "5.25.0", + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/typescript-estree": "5.27.0", "debug": "^4.3.4" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz", + "integrity": "sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0" + } + }, + "@typescript-eslint/types": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.0.tgz", + "integrity": "sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz", + "integrity": "sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz", + "integrity": "sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.27.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "@typescript-eslint/scope-manager": { @@ -17337,6 +17519,19 @@ "esutils": "^2.0.2" } }, + "eslint-import-resolver-typescript": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.4.0.tgz", + "integrity": "sha512-useJKURidCcldRLCNKWemr1fFQL1SzB3G4a0li6lFGvlc5xGe1hY343bvG07cbpCzPuM/lK19FIJB3XGFSkplA==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + } + }, "eslint-plugin-import": { "version": "2.25.2", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.2.tgz", @@ -17480,16 +17675,32 @@ } }, "eslint-import-resolver-typescript": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.4.0.tgz", - "integrity": "sha512-useJKURidCcldRLCNKWemr1fFQL1SzB3G4a0li6lFGvlc5xGe1hY343bvG07cbpCzPuM/lK19FIJB3XGFSkplA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz", + "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==", "dev": true, "requires": { - "debug": "^4.1.1", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" + "debug": "^4.3.4", + "glob": "^7.2.0", + "is-glob": "^4.0.3", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "eslint-module-utils": { diff --git a/frontend/package.json b/frontend/package.json index 7ea7b1808..688e774ee 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,92 +1,93 @@ { - "name": "frontend", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint", - "pre-commit": "lint-staged", - "cy:run": "cypress run", - "cy:ci": "start-server-and-test dev http-get://localhost:3000 cy:run", - "jest": "jest" - }, - "dependencies": { - "@hookform/resolvers": "^2.8.8", - "@modulz/radix-icons": "^4.0.0", - "@radix-ui/colors": "^0.1.8", - "@radix-ui/react-alert-dialog": "^0.1.7", - "@radix-ui/react-avatar": "^0.1.4", - "@radix-ui/react-checkbox": "^0.1.5", - "@radix-ui/react-dialog": "^0.1.7", - "@radix-ui/react-dropdown-menu": "^0.1.6", - "@radix-ui/react-hover-card": "^0.1.5", - "@radix-ui/react-label": "^0.1.5", - "@radix-ui/react-popover": "^0.1.6", - "@radix-ui/react-separator": "^0.1.4", - "@radix-ui/react-switch": "^0.1.5", - "@radix-ui/react-tabs": "^0.1.5", - "@radix-ui/react-toast": "^0.1.1", - "@radix-ui/react-tooltip": "^0.1.7", - "@react-forked/dnd": "^14.0.2", - "@stitches/react": "^1.2.7", - "@testing-library/dom": "^8.13.0", - "@testing-library/react": "^12.1.5", - "axios": "^0.26.1", - "cypress": "^9.5.4", - "dotenv": "^16.0.0", - "fast-json-patch": "^3.1.1", - "next": "^12.1.4", - "next-auth": "^4.3.1", - "react": "^17.0.2", - "react-calendar": "^3.7.0", - "react-dom": "^17.0.2", - "react-error-boundary": "^3.1.4", - "react-hook-form": "^7.29.0", - "react-query": "^3.34.19", - "react-select": "^5.3.0", - "recoil": "^0.7.0", - "socket.io-client": "^4.4.1", - "webpack": "^5.71.0", - "zod": "^3.14.4" - }, - "devDependencies": { - "@babel/core": "^7.17.9", - "@testing-library/jest-dom": "^5.16.4", - "@types/jest": "^27.4.1", - "@types/react": "17.0.44", - "@types/react-calendar": "^3.5.0", - "@types/react-dom": "^17.0.15", - "@typescript-eslint/eslint-plugin": "^5.19.0", - "@typescript-eslint/parser": "^5.19.0", - "babel-jest": "^27.5.1", - "babel-loader": "^8.2.4", - "eslint": "^8.13.0", - "eslint-config-airbnb": "^19.0.4", - "eslint-config-airbnb-typescript": "^17.0.0", - "eslint-config-airbnb-typescript-prettier": "^5.0.0", - "eslint-config-next": "12.1.4", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-import": "2.26.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.29.4", - "eslint-plugin-react-hooks": "^4.4.0", - "eslint-plugin-simple-import-sort": "^7.0.0", - "eslint-plugin-unused-imports": "^2.0.0", - "identity-obj-proxy": "^3.0.0", - "lint-staged": "^12.3.7", - "prettier": "^2.6.2", - "start-server-and-test": "^1.14.0", - "ts-jest": "^27.1.4", - "typescript": "^4.6.3" - }, - "lint-staged": { - "*.{js,ts,tsx}": [ - "eslint --fix" - ], - "*.md": [ - "prettier --write" - ] - } -} + "name": "frontend", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint", + "pre-commit": "lint-staged", + "cy:run": "src/cypress run", + "cy:ci": "start-server-and-test dev http-get://localhost:3000 cy:run", + "jest": "jest" + }, + "dependencies": { + "@hookform/resolvers": "^2.8.8", + "@modulz/radix-icons": "^4.0.0", + "@radix-ui/colors": "^0.1.8", + "@radix-ui/react-alert-dialog": "^0.1.7", + "@radix-ui/react-avatar": "^0.1.4", + "@radix-ui/react-checkbox": "^0.1.5", + "@radix-ui/react-dialog": "^0.1.7", + "@radix-ui/react-dropdown-menu": "^0.1.6", + "@radix-ui/react-hover-card": "^0.1.5", + "@radix-ui/react-label": "^0.1.5", + "@radix-ui/react-popover": "^0.1.6", + "@radix-ui/react-separator": "^0.1.4", + "@radix-ui/react-switch": "^0.1.5", + "@radix-ui/react-tabs": "^0.1.5", + "@radix-ui/react-toast": "^0.1.1", + "@radix-ui/react-tooltip": "^0.1.7", + "@react-forked/dnd": "^14.0.2", + "@stitches/react": "^1.2.7", + "@testing-library/dom": "^8.13.0", + "@testing-library/react": "^12.1.5", + "axios": "^0.26.1", + "cypress": "^9.5.4", + "dotenv": "^16.0.0", + "fast-json-patch": "^3.1.1", + "next": "^12.1.4", + "next-auth": "^4.3.1", + "react": "^17.0.2", + "react-calendar": "^3.7.0", + "react-dom": "^17.0.2", + "react-error-boundary": "^3.1.4", + "react-hook-form": "^7.29.0", + "react-query": "^3.34.19", + "react-select": "^5.3.0", + "recoil": "^0.7.0", + "socket.io-client": "^4.4.1", + "webpack": "^5.71.0", + "zod": "^3.14.4" + }, + "devDependencies": { + "@babel/core": "^7.17.9", + "@testing-library/jest-dom": "^5.16.4", + "@types/jest": "^27.4.1", + "@types/react": "17.0.44", + "@types/react-calendar": "^3.5.0", + "@types/react-dom": "^17.0.15", + "@typescript-eslint/eslint-plugin": "^5.19.0", + "@typescript-eslint/parser": "^5.27.0", + "babel-jest": "^27.5.1", + "babel-loader": "^8.2.4", + "eslint": "^8.13.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-airbnb-typescript": "^17.0.0", + "eslint-config-airbnb-typescript-prettier": "^5.0.0", + "eslint-config-next": "12.1.4", + "eslint-config-prettier": "^8.5.0", + "eslint-import-resolver-typescript": "^2.7.1", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.29.4", + "eslint-plugin-react-hooks": "^4.4.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "eslint-plugin-unused-imports": "^2.0.0", + "identity-obj-proxy": "^3.0.0", + "lint-staged": "^12.3.7", + "prettier": "^2.6.2", + "start-server-and-test": "^1.14.0", + "ts-jest": "^27.1.4", + "typescript": "^4.6.3" + }, + "lint-staged": { + "**/src/*.{js,ts,tsx}": [ + "eslint --fix" + ], + "*.md": [ + "prettier --write" + ] + } +} \ No newline at end of file diff --git a/frontend/public/icons/toast/alert.svg b/frontend/public/icons/toast/alert.svg deleted file mode 100644 index d4f24cc79..000000000 --- a/frontend/public/icons/toast/alert.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/frontend/__tests__/index.test.tsx b/frontend/src/__tests__/index.test.tsx similarity index 93% rename from frontend/__tests__/index.test.tsx rename to frontend/src/__tests__/index.test.tsx index aea59ad12..1a657b171 100644 --- a/frontend/__tests__/index.test.tsx +++ b/frontend/src/__tests__/index.test.tsx @@ -2,7 +2,7 @@ import { QueryClient, QueryClientProvider } from 'react-query'; import React from 'react'; import { render } from '@testing-library/react'; -import Home from '../pages/index'; +import Home from '../pages'; const queryClient = new QueryClient(); diff --git a/frontend/animations/DialogShow.tsx b/frontend/src/animations/DialogShow.tsx similarity index 81% rename from frontend/animations/DialogShow.tsx rename to frontend/src/animations/DialogShow.tsx index da6fd8399..2d55f576b 100644 --- a/frontend/animations/DialogShow.tsx +++ b/frontend/src/animations/DialogShow.tsx @@ -1,4 +1,4 @@ -import { keyframes } from '../stitches.config'; +import { keyframes } from 'styles/stitches/stitches.config'; export const overlayShow = keyframes({ '0%': { opacity: 0 }, diff --git a/frontend/animations/Slide.tsx b/frontend/src/animations/Slide.tsx similarity index 91% rename from frontend/animations/Slide.tsx rename to frontend/src/animations/Slide.tsx index c5878daf0..001cd81ab 100644 --- a/frontend/animations/Slide.tsx +++ b/frontend/src/animations/Slide.tsx @@ -1,4 +1,4 @@ -import { keyframes } from '../stitches.config'; +import { keyframes } from 'styles/stitches/stitches.config'; export const slideUpAndFade = keyframes({ '0%': { opacity: 0, transform: 'translateY(2px)' }, diff --git a/frontend/api/authService.tsx b/frontend/src/api/authService.tsx similarity index 87% rename from frontend/api/authService.tsx rename to frontend/src/api/authService.tsx index 92f8a176c..bd2ae7fc4 100644 --- a/frontend/api/authService.tsx +++ b/frontend/src/api/authService.tsx @@ -1,8 +1,8 @@ import { GetServerSidePropsContext } from 'next'; -import { HeaderInfo } from '../types/dashboard/header.info'; -import { Token } from '../types/token'; -import { CreateOrLogin } from '../types/user/create-login.user'; +import { HeaderInfo } from 'types/dashboard/header.info'; +import { Token } from 'types/token'; +import { CreateOrLogin } from 'types/user/create-login.user'; import { EmailUser, LoginUser, @@ -11,8 +11,8 @@ import { ResetPasswordResponse, ResetTokenResponse, User -} from '../types/user/user'; -import fetchData from '../utils/fetchData'; +} from 'types/user/user'; +import fetchData from 'utils/fetchData'; export const getDashboardHeaderInfo = ( context?: GetServerSidePropsContext diff --git a/frontend/api/boardService.tsx b/frontend/src/api/boardService.tsx similarity index 87% rename from frontend/api/boardService.tsx rename to frontend/src/api/boardService.tsx index 03545d1a2..5d1cda24c 100644 --- a/frontend/api/boardService.tsx +++ b/frontend/src/api/boardService.tsx @@ -1,17 +1,18 @@ import { GetServerSidePropsContext } from 'next'; -import fetchData from '../utils/fetchData'; -import BoardType, { CreateBoardDto, GetBoardResponse } from '../types/board/board'; -import UpdateCardPositionDto from '../types/card/updateCardPosition.dto'; -import UpdateBoardDto from '../types/board/updateBoard'; -import AddCardDto from '../types/card/addCard.dto'; -import DeleteCardDto from '../types/card/deleteCard.dto'; -import UpdateCardDto from '../types/card/updateCard.dto'; -import AddCommentDto from '../types/comment/addComment.dto'; -import DeleteCommentDto from '../types/comment/deleteComment.dto'; -import UpdateCommentDto from '../types/comment/updateComment.dto'; -import VoteDto from '../types/vote/vote.dto'; -import MergeCardsDto from '../types/board/mergeCard.dto'; -import RemoveFromCardGroupDto from '../types/card/removeFromCardGroup.dto'; + +import BoardType, { CreateBoardDto, GetBoardResponse } from 'types/board/board'; +import MergeCardsDto from 'types/board/mergeCard.dto'; +import UpdateBoardDto from 'types/board/updateBoard'; +import AddCardDto from 'types/card/addCard.dto'; +import DeleteCardDto from 'types/card/deleteCard.dto'; +import RemoveFromCardGroupDto from 'types/card/removeFromCardGroup.dto'; +import UpdateCardDto from 'types/card/updateCard.dto'; +import UpdateCardPositionDto from 'types/card/updateCardPosition.dto'; +import AddCommentDto from 'types/comment/addComment.dto'; +import DeleteCommentDto from 'types/comment/deleteComment.dto'; +import UpdateCommentDto from 'types/comment/updateComment.dto'; +import VoteDto from 'types/vote/vote.dto'; +import fetchData from 'utils/fetchData'; // #region BOARD diff --git a/frontend/api/teamService.tsx b/frontend/src/api/teamService.tsx similarity index 70% rename from frontend/api/teamService.tsx rename to frontend/src/api/teamService.tsx index 7bc0e2571..2d6fdf88b 100644 --- a/frontend/api/teamService.tsx +++ b/frontend/src/api/teamService.tsx @@ -1,6 +1,7 @@ import { GetServerSidePropsContext } from 'next'; -import { Team } from '../types/team/team'; -import fetchData from '../utils/fetchData'; + +import { Team } from 'types/team/team'; +import fetchData from 'utils/fetchData'; export const getAllTeams = (context?: GetServerSidePropsContext): Promise => { return fetchData(`/teams`, { context, serverSide: !!context }); diff --git a/frontend/components/Board/AddCardOrComment.tsx b/frontend/src/components/Board/AddCardOrComment.tsx similarity index 87% rename from frontend/components/Board/AddCardOrComment.tsx rename to frontend/src/components/Board/AddCardOrComment.tsx index 3fe57f1a7..5da20a48f 100644 --- a/frontend/components/Board/AddCardOrComment.tsx +++ b/frontend/src/components/Board/AddCardOrComment.tsx @@ -1,20 +1,21 @@ -import { zodResolver } from '@hookform/resolvers/zod'; import React, { useState } from 'react'; import { FormProvider, useForm } from 'react-hook-form'; +import { zodResolver } from '@hookform/resolvers/zod'; import * as z from 'zod'; -import useCards from '../../hooks/useCards'; -import useComments from '../../hooks/useComments'; -import { styled } from '../../stitches.config'; -import AddCardDto from '../../types/card/addCard.dto'; -import { CardToAdd } from '../../types/card/card'; -import UpdateCardDto from '../../types/card/updateCard.dto'; -import AddCommentDto from '../../types/comment/addComment.dto'; -import UpdateCommentDto from '../../types/comment/updateComment.dto'; -import Icon from '../icons/Icon'; -import Button from '../Primitives/Button'; -import Flex from '../Primitives/Flex'; -import TextArea from '../Primitives/TextArea'; +import { styled } from 'styles/stitches/stitches.config'; + +import Icon from 'components/icons/Icon'; +import Button from 'components/Primitives/Button'; +import Flex from 'components/Primitives/Flex'; +import TextArea from 'components/Primitives/TextArea'; +import useCards from 'hooks/useCards'; +import useComments from 'hooks/useComments'; +import AddCardDto from 'types/card/addCard.dto'; +import { CardToAdd } from 'types/card/card'; +import UpdateCardDto from 'types/card/updateCard.dto'; +import AddCommentDto from 'types/comment/addComment.dto'; +import UpdateCommentDto from 'types/comment/updateComment.dto'; const ActionButton = styled(Button, { padding: '$10 $14 !important', diff --git a/frontend/components/Board/Card/CardBoard.tsx b/frontend/src/components/Board/Card/CardBoard.tsx similarity index 93% rename from frontend/components/Board/Card/CardBoard.tsx rename to frontend/src/components/Board/Card/CardBoard.tsx index 15f6e2ae2..e08e66592 100644 --- a/frontend/components/Board/Card/CardBoard.tsx +++ b/frontend/src/components/Board/Card/CardBoard.tsx @@ -1,13 +1,14 @@ -import { Draggable } from '@react-forked/dnd'; import React, { useMemo, useState } from 'react'; +import { Draggable } from '@react-forked/dnd'; + +import { styled } from 'styles/stitches/stitches.config'; -import { getCommentsFromCardGroup } from '../../../helper/board/comments'; -import { styled } from '../../../stitches.config'; -import { BoardUser } from '../../../types/board/board.user'; -import CardType from '../../../types/card/card'; -import Icon from '../../icons/Icon'; -import Flex from '../../Primitives/Flex'; -import Text from '../../Primitives/Text'; +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; +import { getCommentsFromCardGroup } from 'helper/board/comments'; +import { BoardUser } from 'types/board/board.user'; +import CardType from 'types/card/card'; import AddCardOrComment from '../AddCardOrComment'; import Comments from '../Comment/Comments'; import CardFooter from './CardFooter'; diff --git a/frontend/components/Board/Card/CardFooter.tsx b/frontend/src/components/Board/Card/CardFooter.tsx similarity index 87% rename from frontend/components/Board/Card/CardFooter.tsx rename to frontend/src/components/Board/Card/CardFooter.tsx index 753a76faa..5db1a6a3a 100644 --- a/frontend/components/Board/Card/CardFooter.tsx +++ b/frontend/src/components/Board/Card/CardFooter.tsx @@ -1,18 +1,19 @@ import React, { useMemo } from 'react'; -import { getCardVotes } from '../../../helper/board/votes'; -import useVotes from '../../../hooks/useVotes'; -import { styled } from '../../../stitches.config'; -import { BoardUser } from '../../../types/board/board.user'; -import CardType from '../../../types/card/card'; -import { CardItemType } from '../../../types/card/cardItem'; -import CommentType from '../../../types/comment/comment'; -import { getRandomColor } from '../../../utils/initialNames'; -import Icon from '../../icons/Icon'; -import Avatar from '../../Primitives/Avatar'; -import Button from '../../Primitives/Button'; -import Flex from '../../Primitives/Flex'; -import Text from '../../Primitives/Text'; +import { styled } from 'styles/stitches/stitches.config'; + +import Icon from 'components/icons/Icon'; +import Avatar from 'components/Primitives/Avatar'; +import Button from 'components/Primitives/Button'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; +import { getCardVotes } from 'helper/board/votes'; +import useVotes from 'hooks/useVotes'; +import { BoardUser } from 'types/board/board.user'; +import CardType from 'types/card/card'; +import { CardItemType } from 'types/card/cardItem'; +import CommentType from 'types/comment/comment'; +import { getRandomColor } from 'utils/initialNames'; interface FooterProps { boardId: string; diff --git a/frontend/components/Board/Card/CardItem/CardItem.tsx b/frontend/src/components/Board/Card/CardItem/CardItem.tsx similarity index 89% rename from frontend/components/Board/Card/CardItem/CardItem.tsx rename to frontend/src/components/Board/Card/CardItem/CardItem.tsx index 961eb7d10..387caec1f 100644 --- a/frontend/components/Board/Card/CardItem/CardItem.tsx +++ b/frontend/src/components/Board/Card/CardItem/CardItem.tsx @@ -1,11 +1,12 @@ import React, { useState } from 'react'; -import { styled } from '../../../../stitches.config'; -import { CardItemType } from '../../../../types/card/cardItem'; -import Icon from '../../../icons/Icon'; -import Flex from '../../../Primitives/Flex'; -import Text from '../../../Primitives/Text'; -import AddCardOrComment from '../../AddCardOrComment'; +import { styled } from 'styles/stitches/stitches.config'; + +import AddCardOrComment from 'components/Board/AddCardOrComment'; +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; +import { CardItemType } from 'types/card/cardItem'; import CardFooter from '../CardFooter'; import DeleteCard from '../DeleteCard'; import PopoverCardSettings from '../PopoverSettings'; diff --git a/frontend/components/Board/Card/CardItem/CardItemList.tsx b/frontend/src/components/Board/Card/CardItem/CardItemList.tsx similarity index 88% rename from frontend/components/Board/Card/CardItem/CardItemList.tsx rename to frontend/src/components/Board/Card/CardItem/CardItemList.tsx index aca80cbf2..4199cb073 100644 --- a/frontend/components/Board/Card/CardItem/CardItemList.tsx +++ b/frontend/src/components/Board/Card/CardItem/CardItemList.tsx @@ -1,7 +1,7 @@ -import { CardItemType } from '../../../../types/card/cardItem'; -import Icon from '../../../icons/Icon'; -import Flex from '../../../Primitives/Flex'; -import Separator from '../../../Primitives/Separator'; +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; +import { CardItemType } from 'types/card/cardItem'; import CardItem from './CardItem'; interface CardItemListProps { diff --git a/frontend/components/Board/Card/DeleteCard.tsx b/frontend/src/components/Board/Card/DeleteCard.tsx similarity index 86% rename from frontend/components/Board/Card/DeleteCard.tsx rename to frontend/src/components/Board/Card/DeleteCard.tsx index a94c7b75e..65544da48 100644 --- a/frontend/components/Board/Card/DeleteCard.tsx +++ b/frontend/src/components/Board/Card/DeleteCard.tsx @@ -1,5 +1,5 @@ -import useCards from '../../../hooks/useCards'; -import AlertCustomDialog from '../../Primitives/AlertCustomDialog'; +import AlertCustomDialog from 'components/Primitives/AlertCustomDialog'; +import useCards from 'hooks/useCards'; interface DeleteProps { cardId: string; diff --git a/frontend/components/Board/Card/PopoverSettings.tsx b/frontend/src/components/Board/Card/PopoverSettings.tsx similarity index 88% rename from frontend/components/Board/Card/PopoverSettings.tsx rename to frontend/src/components/Board/Card/PopoverSettings.tsx index 1b9027127..924e13975 100644 --- a/frontend/components/Board/Card/PopoverSettings.tsx +++ b/frontend/src/components/Board/Card/PopoverSettings.tsx @@ -1,10 +1,16 @@ import React from 'react'; -import useCards from '../../../hooks/useCards'; -import { styled } from '../../../stitches.config'; -import Icon from '../../icons/Icon'; -import { Popover, PopoverContent, PopoverItem, PopoverTrigger } from '../../Primitives/Popover'; -import Text from '../../Primitives/Text'; +import { styled } from 'styles/stitches/stitches.config'; + +import Icon from 'components/icons/Icon'; +import { + Popover, + PopoverContent, + PopoverItem, + PopoverTrigger +} from 'components/Primitives/Popover'; +import Text from 'components/Primitives/Text'; +import useCards from 'hooks/useCards'; interface PopoverSettingsContentProps { isItem: boolean; diff --git a/frontend/components/Board/Column/CardsList.tsx b/frontend/src/components/Board/Column/CardsList.tsx similarity index 87% rename from frontend/components/Board/Column/CardsList.tsx rename to frontend/src/components/Board/Column/CardsList.tsx index 7a48451e9..1b3c57496 100644 --- a/frontend/components/Board/Column/CardsList.tsx +++ b/frontend/src/components/Board/Column/CardsList.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import CardType from '../../../types/card/card'; -import { ColumnInnerList } from '../../../types/column'; +import CardType from 'types/card/card'; +import { ColumnInnerList } from 'types/column'; import CardBoard from '../Card/CardBoard'; const CardsList = React.memo( diff --git a/frontend/components/Board/Column/Column.tsx b/frontend/src/components/Board/Column/Column.tsx similarity index 89% rename from frontend/components/Board/Column/Column.tsx rename to frontend/src/components/Board/Column/Column.tsx index 1280de9af..b380da9b1 100644 --- a/frontend/components/Board/Column/Column.tsx +++ b/frontend/src/components/Board/Column/Column.tsx @@ -1,12 +1,13 @@ -import { Droppable } from '@react-forked/dnd'; import React from 'react'; +import { Droppable } from '@react-forked/dnd'; + +import { styled } from 'styles/stitches/stitches.config'; -import { styled } from '../../../stitches.config'; -import { ColumnBoardType } from '../../../types/column'; -import Box from '../../Primitives/Box'; -import Flex from '../../Primitives/Flex'; -import Text from '../../Primitives/Text'; -import Separator from '../../Sidebar/partials/Separator'; +import Box from 'components/Primitives/Box'; +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; +import Text from 'components/Primitives/Text'; +import { ColumnBoardType } from 'types/column'; import AddCardOrComment from '../AddCardOrComment'; import CardsList from './CardsList'; import { CardsContainer } from './styles'; diff --git a/frontend/components/Board/Column/styles.tsx b/frontend/src/components/Board/Column/styles.tsx similarity index 80% rename from frontend/components/Board/Column/styles.tsx rename to frontend/src/components/Board/Column/styles.tsx index 5673fdc98..d4139f141 100644 --- a/frontend/components/Board/Column/styles.tsx +++ b/frontend/src/components/Board/Column/styles.tsx @@ -1,5 +1,6 @@ -import { styled } from '../../../stitches.config'; -import Flex from '../../Primitives/Flex'; +import { styled } from 'styles/stitches/stitches.config'; + +import Flex from 'components/Primitives/Flex'; const CardsContainer = styled(Flex, { mt: '$20', diff --git a/frontend/components/Board/Comment/Comment.tsx b/frontend/src/components/Board/Comment/Comment.tsx similarity index 86% rename from frontend/components/Board/Comment/Comment.tsx rename to frontend/src/components/Board/Comment/Comment.tsx index 86f538e77..a03fb67af 100644 --- a/frontend/components/Board/Comment/Comment.tsx +++ b/frontend/src/components/Board/Comment/Comment.tsx @@ -1,11 +1,11 @@ import React, { useState } from 'react'; -import useComments from '../../../hooks/useComments'; -import CommentType from '../../../types/comment/comment'; -import DeleteCommentDto from '../../../types/comment/deleteComment.dto'; -import Icon from '../../icons/Icon'; -import Flex from '../../Primitives/Flex'; -import Text from '../../Primitives/Text'; +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; +import useComments from 'hooks/useComments'; +import CommentType from 'types/comment/comment'; +import DeleteCommentDto from 'types/comment/deleteComment.dto'; import AddCardOrComment from '../AddCardOrComment'; import PopoverCommentSettings from './PopoverSettings'; diff --git a/frontend/components/Board/Comment/Comments.tsx b/frontend/src/components/Board/Comment/Comments.tsx similarity index 88% rename from frontend/components/Board/Comment/Comments.tsx rename to frontend/src/components/Board/Comment/Comments.tsx index ea2618b35..bf4a6e227 100644 --- a/frontend/components/Board/Comment/Comments.tsx +++ b/frontend/src/components/Board/Comment/Comments.tsx @@ -1,11 +1,11 @@ import React, { useState } from 'react'; -import { CardItemType } from '../../../types/card/cardItem'; -import CommentType from '../../../types/comment/comment'; -import Icon from '../../icons/Icon'; -import Flex from '../../Primitives/Flex'; -import Separator from '../../Primitives/Separator'; -import Text from '../../Primitives/Text'; +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; +import Text from 'components/Primitives/Text'; +import { CardItemType } from 'types/card/cardItem'; +import CommentType from 'types/comment/comment'; import AddCardOrComment from '../AddCardOrComment'; import Comment from './Comment'; diff --git a/frontend/components/Board/Comment/PopoverSettings.tsx b/frontend/src/components/Board/Comment/PopoverSettings.tsx similarity index 89% rename from frontend/components/Board/Comment/PopoverSettings.tsx rename to frontend/src/components/Board/Comment/PopoverSettings.tsx index f91cdc7dd..cccc82037 100644 --- a/frontend/components/Board/Comment/PopoverSettings.tsx +++ b/frontend/src/components/Board/Comment/PopoverSettings.tsx @@ -1,8 +1,13 @@ import React from 'react'; -import Icon from '../../icons/Icon'; -import { Popover, PopoverContent, PopoverItem, PopoverTrigger } from '../../Primitives/Popover'; -import Text from '../../Primitives/Text'; +import Icon from 'components/icons/Icon'; +import { + Popover, + PopoverContent, + PopoverItem, + PopoverTrigger +} from 'components/Primitives/Popover'; +import Text from 'components/Primitives/Text'; interface PopoverSettingsContentProps { setEditCard: () => void; diff --git a/frontend/components/Board/Header/index.tsx b/frontend/src/components/Board/Header/index.tsx similarity index 87% rename from frontend/components/Board/Header/index.tsx rename to frontend/src/components/Board/Header/index.tsx index edd6668a4..c4fe958c9 100644 --- a/frontend/components/Board/Header/index.tsx +++ b/frontend/src/components/Board/Header/index.tsx @@ -1,20 +1,20 @@ -import { Popover, PopoverTrigger } from '@radix-ui/react-popover'; import Link from 'next/link'; import { useSession } from 'next-auth/react'; import { useRecoilValue } from 'recoil'; +import { Popover, PopoverTrigger } from '@radix-ui/react-popover'; -import { boardInfoState } from '../../../store/board/atoms/board.atom'; -import BoardType from '../../../types/board/board'; -import { BoardUser, BoardUserNoPopulated } from '../../../types/board/board.user'; -import { BreadcrumbType } from '../../../types/board/Breadcrumb'; -import Breadcrumb from '../../breadcrumb/Breadcrumb'; -import CardAvatars from '../../CardBoard/CardAvatars'; -import Icon from '../../icons/Icon'; -import LogoIcon from '../../icons/Logo'; -import Flex from '../../Primitives/Flex'; -import Separator from '../../Primitives/Separator'; -import Text from '../../Primitives/Text'; -import Tooltip from '../../Primitives/Tooltip'; +import Breadcrumb from 'components/breadcrumb/Breadcrumb'; +import CardAvatars from 'components/CardBoard/CardAvatars'; +import Icon from 'components/icons/Icon'; +import LogoIcon from 'components/icons/Logo'; +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; +import Text from 'components/Primitives/Text'; +import Tooltip from 'components/Primitives/Tooltip'; +import { boardInfoState } from 'store/board/atoms/board.atom'; +import BoardType from 'types/board/board'; +import { BoardUser, BoardUserNoPopulated } from 'types/board/board.user'; +import { BreadcrumbType } from 'types/board/Breadcrumb'; import { BoardCounter, MergeIconContainer, diff --git a/frontend/components/Board/Header/styles.tsx b/frontend/src/components/Board/Header/styles.tsx similarity index 98% rename from frontend/components/Board/Header/styles.tsx rename to frontend/src/components/Board/Header/styles.tsx index 5c1beccc0..9f0965199 100644 --- a/frontend/components/Board/Header/styles.tsx +++ b/frontend/src/components/Board/Header/styles.tsx @@ -1,6 +1,6 @@ import * as PopoverPrimitive from '@radix-ui/react-popover'; -import { styled } from '../../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const StyledHeader = styled('div', { width: '100%', diff --git a/frontend/components/Boards/Filters/FilterBoards.tsx b/frontend/src/components/Boards/Filters/FilterBoards.tsx similarity index 87% rename from frontend/components/Boards/Filters/FilterBoards.tsx rename to frontend/src/components/Boards/Filters/FilterBoards.tsx index 25cd34fc0..c7d85a352 100644 --- a/frontend/components/Boards/Filters/FilterBoards.tsx +++ b/frontend/src/components/Boards/Filters/FilterBoards.tsx @@ -1,8 +1,9 @@ import { Dispatch, SetStateAction } from 'react'; -import { styled } from '../../../stitches.config'; -import Button from '../../Primitives/Button'; -import Flex from '../../Primitives/Flex'; +import { styled } from 'styles/stitches/stitches.config'; + +import Button from 'components/Primitives/Button'; +import Flex from 'components/Primitives/Flex'; import FilterSelect from './FilterSelect'; export interface OptionType { @@ -19,7 +20,7 @@ const StyledButton = styled(Button, { fontSize: '$14 !important', lineHeight: '$20 !important', fontWeight: '$medium !important', - "&[data-active='true']": { + '&[data-active="true"]': { borderColor: '$primary800', color: '$primary800 !important' }, diff --git a/frontend/components/Boards/Filters/FilterSelect.tsx b/frontend/src/components/Boards/Filters/FilterSelect.tsx similarity index 93% rename from frontend/components/Boards/Filters/FilterSelect.tsx rename to frontend/src/components/Boards/Filters/FilterSelect.tsx index e03333e9c..05a662f04 100644 --- a/frontend/components/Boards/Filters/FilterSelect.tsx +++ b/frontend/src/components/Boards/Filters/FilterSelect.tsx @@ -1,7 +1,7 @@ import { Dispatch, SetStateAction } from 'react'; import Select from 'react-select'; -import { styled } from '../../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const StyledSelect = styled(Select, {}); diff --git a/frontend/components/Boards/MyBoards/index.tsx b/frontend/src/components/Boards/MyBoards/index.tsx similarity index 92% rename from frontend/components/Boards/MyBoards/index.tsx rename to frontend/src/components/Boards/MyBoards/index.tsx index 47066f2dc..d7d0539cd 100644 --- a/frontend/components/Boards/MyBoards/index.tsx +++ b/frontend/src/components/Boards/MyBoards/index.tsx @@ -2,15 +2,15 @@ import React, { useMemo, useRef } from 'react'; import { useInfiniteQuery } from 'react-query'; import { useSetRecoilState } from 'recoil'; -import { getBoardsRequest } from '../../../api/boardService'; -import { toastState } from '../../../store/toast/atom/toast.atom'; -import BoardType from '../../../types/board/board'; -import { Team } from '../../../types/team/team'; -import { ToastStateEnum } from '../../../utils/enums/toast-types'; -import CardBody from '../../CardBoard/CardBody/CardBody'; -import LoadingPage from '../../loadings/LoadingPage'; -import Flex from '../../Primitives/Flex'; -import Text from '../../Primitives/Text'; +import { getBoardsRequest } from 'api/boardService'; +import CardBody from 'components/CardBoard/CardBody/CardBody'; +import LoadingPage from 'components/loadings/LoadingPage'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; +import { toastState } from 'store/toast/atom/toast.atom'; +import BoardType from 'types/board/board'; +import { Team } from 'types/team/team'; +import { ToastStateEnum } from 'utils/enums/toast-types'; import TeamHeader from '../TeamHeader'; import { ScrollableContent } from './styles'; diff --git a/frontend/components/Boards/MyBoards/styles.tsx b/frontend/src/components/Boards/MyBoards/styles.tsx similarity index 60% rename from frontend/components/Boards/MyBoards/styles.tsx rename to frontend/src/components/Boards/MyBoards/styles.tsx index 60a1808fe..e760ad167 100644 --- a/frontend/components/Boards/MyBoards/styles.tsx +++ b/frontend/src/components/Boards/MyBoards/styles.tsx @@ -1,5 +1,6 @@ -import { styled } from '../../../stitches.config'; -import Flex from '../../Primitives/Flex'; +import { styled } from 'styles/stitches/stitches.config'; + +import Flex from 'components/Primitives/Flex'; const ScrollableContent = styled(Flex, { mt: '$24', diff --git a/frontend/components/Boards/TeamHeader.tsx b/frontend/src/components/Boards/TeamHeader.tsx similarity index 84% rename from frontend/components/Boards/TeamHeader.tsx rename to frontend/src/components/Boards/TeamHeader.tsx index 1ded02e58..a73a86266 100644 --- a/frontend/components/Boards/TeamHeader.tsx +++ b/frontend/src/components/Boards/TeamHeader.tsx @@ -1,9 +1,9 @@ -import { BoardUser } from '../../types/board/board.user'; -import { Team } from '../../types/team/team'; +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; +import Text from 'components/Primitives/Text'; +import { BoardUser } from 'types/board/board.user'; +import { Team } from 'types/team/team'; import CardAvatars from '../CardBoard/CardAvatars'; -import Flex from '../Primitives/Flex'; -import Separator from '../Primitives/Separator'; -import Text from '../Primitives/Text'; interface TeamHeaderProps { team?: Team; diff --git a/frontend/components/CardBoard/CardAvatars.tsx b/frontend/src/components/CardBoard/CardAvatars.tsx similarity index 89% rename from frontend/components/CardBoard/CardAvatars.tsx rename to frontend/src/components/CardBoard/CardAvatars.tsx index 87e28e229..91b842d2f 100644 --- a/frontend/components/CardBoard/CardAvatars.tsx +++ b/frontend/src/components/CardBoard/CardAvatars.tsx @@ -1,12 +1,13 @@ import React, { useCallback, useMemo } from 'react'; -import { bubbleColors } from '../../styles/colors/bubble.colors'; -import { User } from '../../types/user/user'; -import { BoardUserRoles } from '../../utils/enums/board.user.roles'; -import { TeamUserRoles } from '../../utils/enums/team.user.roles'; -import Avatar from '../Primitives/Avatar'; -import Flex from '../Primitives/Flex'; -import Tooltip from '../Primitives/Tooltip'; +import { bubbleColors } from 'styles/stitches/partials/colors/bubble.colors'; + +import Avatar from 'components/Primitives/Avatar'; +import Flex from 'components/Primitives/Flex'; +import Tooltip from 'components/Primitives/Tooltip'; +import { User } from 'types/user/user'; +import { BoardUserRoles } from 'utils/enums/board.user.roles'; +import { TeamUserRoles } from 'utils/enums/team.user.roles'; type ListUsersType = { user: User | string; diff --git a/frontend/components/CardBoard/CardBody/CardBody.tsx b/frontend/src/components/CardBoard/CardBody/CardBody.tsx similarity index 92% rename from frontend/components/CardBoard/CardBody/CardBody.tsx rename to frontend/src/components/CardBoard/CardBody/CardBody.tsx index d4034067e..7d3112e9b 100644 --- a/frontend/components/CardBoard/CardBody/CardBody.tsx +++ b/frontend/src/components/CardBoard/CardBody/CardBody.tsx @@ -1,13 +1,14 @@ import React, { useCallback, useMemo, useState } from 'react'; -import { styled } from '../../../stitches.config'; -import BoardType from '../../../types/board/board'; -import ClickEvent from '../../../types/events/clickEvent'; -import Icon from '../../icons/Icon'; -import Box from '../../Primitives/Box'; -import Flex from '../../Primitives/Flex'; -import Text from '../../Primitives/Text'; -import Tooltip from '../../Primitives/Tooltip'; +import { styled } from 'styles/stitches/stitches.config'; + +import Icon from 'components/icons/Icon'; +import Box from 'components/Primitives/Box'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; +import Tooltip from 'components/Primitives/Tooltip'; +import BoardType from 'types/board/board'; +import ClickEvent from 'types/events/clickEvent'; import CardAvatars from '../CardAvatars'; import CardIcon from '../CardIcon'; import CardEnd from './CardEnd'; diff --git a/frontend/components/CardBoard/CardBody/CardEnd.tsx b/frontend/src/components/CardBoard/CardBody/CardEnd.tsx similarity index 90% rename from frontend/components/CardBoard/CardBody/CardEnd.tsx rename to frontend/src/components/CardBoard/CardBody/CardEnd.tsx index 89520656a..00b0e0027 100644 --- a/frontend/components/CardBoard/CardBody/CardEnd.tsx +++ b/frontend/src/components/CardBoard/CardBody/CardEnd.tsx @@ -1,11 +1,11 @@ import React, { useMemo } from 'react'; -import BoardType from '../../../types/board/board'; -import Icon from '../../icons/Icon'; -import Flex from '../../Primitives/Flex'; -import Separator from '../../Primitives/Separator'; -import Text from '../../Primitives/Text'; -import Tooltip from '../../Primitives/Tooltip'; +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; +import Text from 'components/Primitives/Text'; +import Tooltip from 'components/Primitives/Tooltip'; +import BoardType from 'types/board/board'; import CardAvatars from '../CardAvatars'; import DeleteBoard from '../DeleteBoard'; import CountCards from './CountCards'; diff --git a/frontend/src/components/CardBoard/CardBody/CardTitle.tsx b/frontend/src/components/CardBoard/CardBody/CardTitle.tsx new file mode 100644 index 000000000..ac0b01389 --- /dev/null +++ b/frontend/src/components/CardBoard/CardBody/CardTitle.tsx @@ -0,0 +1,74 @@ +import Link from 'next/link'; + +import { styled } from 'styles/stitches/stitches.config'; + +import Text from 'components/Primitives/Text'; +import Tooltip from 'components/Primitives/Tooltip'; + +type CardTitleProps = { + userIsParticipating: boolean; + boardId: string; + title: string; + isSubBoard: boolean | undefined; + mainBoardId?: string; +}; + +const StyledBoardTitle = styled(Text, { + fontWeight: '$bold', + fontSize: '$14', + letterSpacing: '$0-17', + '&[data-disabled="true"]': { opacity: 0.4 }, + '@hover': { + '&:hover': { + '&[data-disabled="true"]': { + textDecoration: 'none', + cursor: 'default' + }, + textDecoration: 'underline', + cursor: 'pointer' + } + } +}); + +const CardTitle: React.FC = ({ + userIsParticipating, + boardId, + title, + isSubBoard, + mainBoardId +}) => { + const getTitle = () => { + if (userIsParticipating) { + return ( + + + {title} + + + ); + } + + return {title}; + }; + + if (isSubBoard) { + return ( + + {getTitle()} + + ); + } + return getTitle(); +}; + +CardTitle.defaultProps = { + mainBoardId: undefined +}; + +export default CardTitle; diff --git a/frontend/components/CardBoard/CardBody/CenterMainBoard.tsx b/frontend/src/components/CardBoard/CardBody/CenterMainBoard.tsx similarity index 83% rename from frontend/components/CardBoard/CardBody/CenterMainBoard.tsx rename to frontend/src/components/CardBoard/CardBody/CenterMainBoard.tsx index ba2e65196..17da739b7 100644 --- a/frontend/components/CardBoard/CardBody/CenterMainBoard.tsx +++ b/frontend/src/components/CardBoard/CardBody/CenterMainBoard.tsx @@ -1,7 +1,7 @@ -import Icon from '../../icons/Icon'; -import Flex from '../../Primitives/Flex'; -import Separator from '../../Primitives/Separator'; -import Text from '../../Primitives/Text'; +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; +import Text from 'components/Primitives/Text'; type CenterMainBoardProps = { countDividedBoards: number; diff --git a/frontend/components/CardBoard/CardBody/CountCards.tsx b/frontend/src/components/CardBoard/CardBody/CountCards.tsx similarity index 66% rename from frontend/components/CardBoard/CardBody/CountCards.tsx rename to frontend/src/components/CardBoard/CardBody/CountCards.tsx index b9a6650e7..0bcbe9c91 100644 --- a/frontend/components/CardBoard/CardBody/CountCards.tsx +++ b/frontend/src/components/CardBoard/CardBody/CountCards.tsx @@ -1,6 +1,6 @@ -import { countBoardCards } from '../../../helper/board/countCards'; -import ColumnType from '../../../types/column'; -import Text from '../../Primitives/Text'; +import Text from 'components/Primitives/Text'; +import { countBoardCards } from 'helper/board/countCards'; +import ColumnType from 'types/column'; type CounCardsProps = { columns: ColumnType[]; diff --git a/frontend/components/CardBoard/CardBody/LeftArrow.tsx b/frontend/src/components/CardBoard/CardBody/LeftArrow.tsx similarity index 91% rename from frontend/components/CardBoard/CardBody/LeftArrow.tsx rename to frontend/src/components/CardBoard/CardBody/LeftArrow.tsx index 63b02053f..c55eb0fb0 100644 --- a/frontend/components/CardBoard/CardBody/LeftArrow.tsx +++ b/frontend/src/components/CardBoard/CardBody/LeftArrow.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import Icon from '../../icons/Icon'; -import Flex from '../../Primitives/Flex'; +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; type LeftArrowProps = { isDashboard: boolean; diff --git a/frontend/components/CardBoard/CardBody/SubBoards.tsx b/frontend/src/components/CardBoard/CardBody/SubBoards.tsx similarity index 90% rename from frontend/components/CardBoard/CardBody/SubBoards.tsx rename to frontend/src/components/CardBoard/CardBody/SubBoards.tsx index 3c25109ae..a8cf37c33 100644 --- a/frontend/components/CardBoard/CardBody/SubBoards.tsx +++ b/frontend/src/components/CardBoard/CardBody/SubBoards.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import BoardType from '../../../types/board/board'; -import Flex from '../../Primitives/Flex'; +import Flex from 'components/Primitives/Flex'; +import BoardType from 'types/board/board'; type SubBoardsProps = { isDashboard: boolean; diff --git a/frontend/components/CardBoard/CardIcon.tsx b/frontend/src/components/CardBoard/CardIcon.tsx similarity index 86% rename from frontend/components/CardBoard/CardIcon.tsx rename to frontend/src/components/CardBoard/CardIcon.tsx index 6d1bdf181..f8bad1f38 100644 --- a/frontend/components/CardBoard/CardIcon.tsx +++ b/frontend/src/components/CardBoard/CardIcon.tsx @@ -1,7 +1,7 @@ -import BoardType from '../../types/board/board'; -import isEmpty from '../../utils/isEmpty'; -import Icon from '../icons/Icon'; -import Tooltip from '../Primitives/Tooltip'; +import Icon from 'components/icons/Icon'; +import Tooltip from 'components/Primitives/Tooltip'; +import BoardType from 'types/board/board'; +import isEmpty from 'utils/isEmpty'; type CardIconProps = { board: BoardType; toAdd: boolean; isParticipating: boolean }; diff --git a/frontend/components/CardBoard/DeleteBoard.tsx b/frontend/src/components/CardBoard/DeleteBoard.tsx similarity index 72% rename from frontend/components/CardBoard/DeleteBoard.tsx rename to frontend/src/components/CardBoard/DeleteBoard.tsx index 7b51df8e0..2313529d1 100644 --- a/frontend/components/CardBoard/DeleteBoard.tsx +++ b/frontend/src/components/CardBoard/DeleteBoard.tsx @@ -1,9 +1,9 @@ -import useBoard from '../../hooks/useBoard'; -import Icon from '../icons/Icon'; -import AlertCustomDialog from '../Primitives/AlertCustomDialog'; -import { AlertDialogTrigger } from '../Primitives/AlertDialog'; -import Flex from '../Primitives/Flex'; -import Tooltip from '../Primitives/Tooltip'; +import Icon from 'components/icons/Icon'; +import AlertCustomDialog from 'components/Primitives/AlertCustomDialog'; +import { AlertDialogTrigger } from 'components/Primitives/AlertDialog'; +import Flex from 'components/Primitives/Flex'; +import Tooltip from 'components/Primitives/Tooltip'; +import useBoard from 'hooks/useBoard'; type DeleteBoardProps = { boardId: string; boardName: string }; diff --git a/frontend/components/CreateBoard/BoardName.tsx b/frontend/src/components/CreateBoard/BoardName.tsx similarity index 79% rename from frontend/components/CreateBoard/BoardName.tsx rename to frontend/src/components/CreateBoard/BoardName.tsx index a4cb9ec95..3ff21b9e0 100644 --- a/frontend/components/CreateBoard/BoardName.tsx +++ b/frontend/src/components/CreateBoard/BoardName.tsx @@ -1,9 +1,9 @@ import React from 'react'; import { useRecoilValue } from 'recoil'; -import { createBoardError } from '../../store/createBoard/atoms/create-board.atom'; -import Input from '../Primitives/Input'; -import Text from '../Primitives/Text'; +import Input from 'components/Primitives/Input'; +import Text from 'components/Primitives/Text'; +import { createBoardError } from 'store/createBoard/atoms/create-board.atom'; type Props = { mainBoardName: string }; diff --git a/frontend/components/CreateBoard/Configurations/BoardConfigurations.tsx b/frontend/src/components/CreateBoard/Configurations/BoardConfigurations.tsx similarity index 92% rename from frontend/components/CreateBoard/Configurations/BoardConfigurations.tsx rename to frontend/src/components/CreateBoard/Configurations/BoardConfigurations.tsx index d3d1998e7..641d29634 100644 --- a/frontend/components/CreateBoard/Configurations/BoardConfigurations.tsx +++ b/frontend/src/components/CreateBoard/Configurations/BoardConfigurations.tsx @@ -1,12 +1,12 @@ import { useFormContext } from 'react-hook-form'; import { useRecoilState } from 'recoil'; -import { createBoardDataState } from '../../../store/createBoard/atoms/create-board.atom'; -import Icon from '../../icons/Icon'; -import Flex from '../../Primitives/Flex'; -import Input from '../../Primitives/Input'; -import { Switch, SwitchThumb } from '../../Primitives/Switch'; -import Text from '../../Primitives/Text'; +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; +import Input from 'components/Primitives/Input'; +import { Switch, SwitchThumb } from 'components/Primitives/Switch'; +import Text from 'components/Primitives/Text'; +import { createBoardDataState } from 'store/createBoard/atoms/create-board.atom'; const DEFAULT_MAX_VOTES = '6'; diff --git a/frontend/components/CreateBoard/Content.tsx b/frontend/src/components/CreateBoard/Content.tsx similarity index 86% rename from frontend/components/CreateBoard/Content.tsx rename to frontend/src/components/CreateBoard/Content.tsx index f61a49bd6..89abc0a64 100644 --- a/frontend/components/CreateBoard/Content.tsx +++ b/frontend/src/components/CreateBoard/Content.tsx @@ -1,16 +1,17 @@ -import { zodResolver } from '@hookform/resolvers/zod'; import { useEffect } from 'react'; import { FormProvider, useForm, useWatch } from 'react-hook-form'; import { useRecoilValue, useResetRecoilState } from 'recoil'; +import { zodResolver } from '@hookform/resolvers/zod'; + +import { styled } from 'styles/stitches/stitches.config'; -import useBoard from '../../hooks/useBoard'; -import SchemaCreateBoard from '../../schema/schemaCreateBoardForm'; -import { styled } from '../../stitches.config'; -import { createBoardDataState } from '../../store/createBoard/atoms/create-board.atom'; -import { CreateBoardDto } from '../../types/board/board'; -import ClickEvent from '../../types/events/clickEvent'; -import Button from '../Primitives/Button'; -import Flex from '../Primitives/Flex'; +import Button from 'components/Primitives/Button'; +import Flex from 'components/Primitives/Flex'; +import useBoard from 'hooks/useBoard'; +import SchemaCreateBoard from 'schema/schemaCreateBoardForm'; +import { createBoardDataState } from 'store/createBoard/atoms/create-board.atom'; +import { CreateBoardDto } from 'types/board/board'; +import ClickEvent from 'types/events/clickEvent'; import BoardName from './BoardName'; import SettingsTabs from './SettingsTabs'; diff --git a/frontend/components/CreateBoard/SettingsTabs.tsx b/frontend/src/components/CreateBoard/SettingsTabs.tsx similarity index 84% rename from frontend/components/CreateBoard/SettingsTabs.tsx rename to frontend/src/components/CreateBoard/SettingsTabs.tsx index b76b00a46..843908ebd 100644 --- a/frontend/components/CreateBoard/SettingsTabs.tsx +++ b/frontend/src/components/CreateBoard/SettingsTabs.tsx @@ -2,11 +2,12 @@ import React, { useEffect, useState } from 'react'; import { useFormContext } from 'react-hook-form'; import { useRecoilValue } from 'recoil'; -import { styled } from '../../stitches.config'; -import { createBoardError } from '../../store/createBoard/atoms/create-board.atom'; -import Flex from '../Primitives/Flex'; -import Separator from '../Primitives/Separator'; -import Text from '../Primitives/Text'; +import { styled } from 'styles/stitches/stitches.config'; + +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; +import Text from 'components/Primitives/Text'; +import { createBoardError } from 'store/createBoard/atoms/create-board.atom'; import BoardConfigurations from './Configurations/BoardConfigurations'; import TeamSubTeamsConfigurations from './SubTeamsTab/TeamSubTeamsConfigurations'; @@ -16,7 +17,7 @@ const StyledTextTab = styled(Text, { '&:hover': { cursor: 'pointer' }, - "&[data-activetab='true']": { + '&[data-activetab="true"]': { boxSizing: 'border-box', borderBottom: '2px solid $colors$primary800', fontWeight: '$bold', diff --git a/frontend/components/CreateBoard/SubTeamsTab/MainBoardCard.tsx b/frontend/src/components/CreateBoard/SubTeamsTab/MainBoardCard.tsx similarity index 86% rename from frontend/components/CreateBoard/SubTeamsTab/MainBoardCard.tsx rename to frontend/src/components/CreateBoard/SubTeamsTab/MainBoardCard.tsx index 69af42b60..b6e4e9e48 100644 --- a/frontend/components/CreateBoard/SubTeamsTab/MainBoardCard.tsx +++ b/frontend/src/components/CreateBoard/SubTeamsTab/MainBoardCard.tsx @@ -1,23 +1,21 @@ import React, { useEffect } from 'react'; import { SetterOrUpdater, useRecoilValue } from 'recoil'; -import useCreateBoard from '../../../hooks/useCreateBoard'; -import { styled } from '../../../stitches.config'; -import { - CreateBoardData, - createBoardError -} from '../../../store/createBoard/atoms/create-board.atom'; -import { BoardToAdd } from '../../../types/board/board'; -import { Team } from '../../../types/team/team'; -import { BoardUserRoles } from '../../../utils/enums/board.user.roles'; -import CardAvatars from '../../CardBoard/CardAvatars'; -import Icon from '../../icons/Icon'; -import Box from '../../Primitives/Box'; -import Checkbox from '../../Primitives/Checkbox'; -import Flex from '../../Primitives/Flex'; -import Separator from '../../Primitives/Separator'; -import Text from '../../Primitives/Text'; -import Tooltip from '../../Primitives/Tooltip'; +import { styled } from 'styles/stitches/stitches.config'; + +import CardAvatars from 'components/CardBoard/CardAvatars'; +import Icon from 'components/icons/Icon'; +import Box from 'components/Primitives/Box'; +import Checkbox from 'components/Primitives/Checkbox'; +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; +import Text from 'components/Primitives/Text'; +import Tooltip from 'components/Primitives/Tooltip'; +import useCreateBoard from 'hooks/useCreateBoard'; +import { CreateBoardData, createBoardError } from 'store/createBoard/atoms/create-board.atom'; +import { BoardToAdd } from 'types/board/board'; +import { Team } from 'types/team/team'; +import { BoardUserRoles } from 'utils/enums/board.user.roles'; import SubCardBoard from './SubCardBoard'; const MainContainer = styled(Flex, Box, { diff --git a/frontend/components/CreateBoard/SubTeamsTab/QuickEditSubTeams.tsx b/frontend/src/components/CreateBoard/SubTeamsTab/QuickEditSubTeams.tsx similarity index 93% rename from frontend/components/CreateBoard/SubTeamsTab/QuickEditSubTeams.tsx rename to frontend/src/components/CreateBoard/SubTeamsTab/QuickEditSubTeams.tsx index 4665db29c..10d9fffcf 100644 --- a/frontend/components/CreateBoard/SubTeamsTab/QuickEditSubTeams.tsx +++ b/frontend/src/components/CreateBoard/SubTeamsTab/QuickEditSubTeams.tsx @@ -1,20 +1,21 @@ import { ChangeEvent, useEffect, useState } from 'react'; -import useCreateBoard from '../../../hooks/useCreateBoard'; -import { styled } from '../../../stitches.config'; -import { Team } from '../../../types/team/team'; -import isEmpty from '../../../utils/isEmpty'; -import Icon from '../../icons/Icon'; +import { styled } from 'styles/stitches/stitches.config'; + +import Icon from 'components/icons/Icon'; import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogTrigger -} from '../../Primitives/AlertDialog'; -import Flex from '../../Primitives/Flex'; -import Separator from '../../Primitives/Separator'; -import Text from '../../Primitives/Text'; +} from 'components/Primitives/AlertDialog'; +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; +import Text from 'components/Primitives/Text'; +import useCreateBoard from 'hooks/useCreateBoard'; +import { Team } from 'types/team/team'; +import isEmpty from 'utils/isEmpty'; interface QuickEditSubTeamsProps { team: Team; diff --git a/frontend/components/CreateBoard/SubTeamsTab/SubCardBoard.tsx b/frontend/src/components/CreateBoard/SubTeamsTab/SubCardBoard.tsx similarity index 79% rename from frontend/components/CreateBoard/SubTeamsTab/SubCardBoard.tsx rename to frontend/src/components/CreateBoard/SubTeamsTab/SubCardBoard.tsx index feab81a55..81df03b3a 100644 --- a/frontend/components/CreateBoard/SubTeamsTab/SubCardBoard.tsx +++ b/frontend/src/components/CreateBoard/SubTeamsTab/SubCardBoard.tsx @@ -1,21 +1,22 @@ -import { deepClone } from 'fast-json-patch'; import React from 'react'; import { SetterOrUpdater } from 'recoil'; +import { deepClone } from 'fast-json-patch'; + +import { highlight2Colors } from 'styles/stitches/partials/colors/highlight2.colors'; +import { styled } from 'styles/stitches/stitches.config'; -import { styled } from '../../../stitches.config'; -import { CreateBoardData } from '../../../store/createBoard/atoms/create-board.atom'; -import highlight2Colors from '../../../styles/colors/highlight2.colors'; -import { BoardToAdd } from '../../../types/board/board'; -import { BoardUserToAdd } from '../../../types/board/board.user'; -import { BoardUserRoles } from '../../../utils/enums/board.user.roles'; -import CardAvatars from '../../CardBoard/CardAvatars'; -import LeftArrow from '../../CardBoard/CardBody/LeftArrow'; -import Icon from '../../icons/Icon'; -import Avatar from '../../Primitives/Avatar'; -import Box from '../../Primitives/Box'; -import Flex from '../../Primitives/Flex'; -import Separator from '../../Primitives/Separator'; -import Text from '../../Primitives/Text'; +import CardAvatars from 'components/CardBoard/CardAvatars'; +import LeftArrow from 'components/CardBoard/CardBody/LeftArrow'; +import Icon from 'components/icons/Icon'; +import Avatar from 'components/Primitives/Avatar'; +import Box from 'components/Primitives/Box'; +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; +import Text from 'components/Primitives/Text'; +import { CreateBoardData } from 'store/createBoard/atoms/create-board.atom'; +import { BoardToAdd } from 'types/board/board'; +import { BoardUserToAdd } from 'types/board/board.user'; +import { BoardUserRoles } from 'utils/enums/board.user.roles'; interface SubCardBoardProps { index: number; diff --git a/frontend/components/CreateBoard/SubTeamsTab/TeamSubTeamsConfigurations.tsx b/frontend/src/components/CreateBoard/SubTeamsTab/TeamSubTeamsConfigurations.tsx similarity index 86% rename from frontend/components/CreateBoard/SubTeamsTab/TeamSubTeamsConfigurations.tsx rename to frontend/src/components/CreateBoard/SubTeamsTab/TeamSubTeamsConfigurations.tsx index 5397d6997..b4d8624c4 100644 --- a/frontend/components/CreateBoard/SubTeamsTab/TeamSubTeamsConfigurations.tsx +++ b/frontend/src/components/CreateBoard/SubTeamsTab/TeamSubTeamsConfigurations.tsx @@ -2,21 +2,22 @@ import React, { useEffect, useState } from 'react'; import { useQuery } from 'react-query'; import { useRecoilState, useSetRecoilState } from 'recoil'; -import { getStakeholders } from '../../../api/boardService'; -import { getAllTeams } from '../../../api/teamService'; -import { styled } from '../../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; + +import { getStakeholders } from 'api/boardService'; +import { getAllTeams } from 'api/teamService'; +import Icon from 'components/icons/Icon'; +import Box from 'components/Primitives/Box'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; +import Tooltip from 'components/Primitives/Tooltip'; import { CreateBoardData, createBoardDataState, createBoardError -} from '../../../store/createBoard/atoms/create-board.atom'; -import { toastState } from '../../../store/toast/atom/toast.atom'; -import { Team } from '../../../types/team/team'; -import Icon from '../../icons/Icon'; -import Box from '../../Primitives/Box'; -import Flex from '../../Primitives/Flex'; -import Text from '../../Primitives/Text'; -import Tooltip from '../../Primitives/Tooltip'; +} from 'store/createBoard/atoms/create-board.atom'; +import { toastState } from 'store/toast/atom/toast.atom'; +import { Team } from 'types/team/team'; import MainBoardCard from './MainBoardCard'; import QuickEditSubTeams from './QuickEditSubTeams'; diff --git a/frontend/components/CreateBoard/TipBar.tsx b/frontend/src/components/CreateBoard/TipBar.tsx similarity index 88% rename from frontend/components/CreateBoard/TipBar.tsx rename to frontend/src/components/CreateBoard/TipBar.tsx index 4f0504b50..3eb8cc1df 100644 --- a/frontend/components/CreateBoard/TipBar.tsx +++ b/frontend/src/components/CreateBoard/TipBar.tsx @@ -1,7 +1,8 @@ -import { styled } from '../../stitches.config'; -import Icon from '../icons/Icon'; -import Flex from '../Primitives/Flex'; -import Text from '../Primitives/Text'; +import { styled } from 'styles/stitches/stitches.config'; + +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; const TextWhite = styled(Text, { color: 'white', mt: '$24' }); const LiWhite = styled('li', Text, { color: '$primary100', fontSize: '$14', lineHeight: '$20' }); diff --git a/frontend/components/CreateBoard/fake/FakeSettingsTabs/index.tsx b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/index.tsx similarity index 85% rename from frontend/components/CreateBoard/fake/FakeSettingsTabs/index.tsx rename to frontend/src/components/CreateBoard/fake/FakeSettingsTabs/index.tsx index 440b35156..4b560e017 100644 --- a/frontend/components/CreateBoard/fake/FakeSettingsTabs/index.tsx +++ b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/index.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import Flex from '../../../Primitives/Flex'; -import Separator from '../../../Primitives/Separator'; +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; import FakeTeamTab from './partials/TeamTab'; import { StyledTextTab } from './styles'; diff --git a/frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/CardAvatars/index.tsx b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/CardAvatars/index.tsx similarity index 85% rename from frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/CardAvatars/index.tsx rename to frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/CardAvatars/index.tsx index b45570ba1..887819a6c 100644 --- a/frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/CardAvatars/index.tsx +++ b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/CardAvatars/index.tsx @@ -1,8 +1,9 @@ import { useCallback, useMemo } from 'react'; -import { bubbleColors } from '../../../../../../styles/colors/bubble.colors'; -import Avatar from '../../../../../Primitives/Avatar'; -import Flex from '../../../../../Primitives/Flex'; +import { bubbleColors } from 'styles/stitches/partials/colors/bubble.colors'; + +import Avatar from 'components/Primitives/Avatar'; +import Flex from 'components/Primitives/Flex'; const FakeCardAvatars = () => { const getRandomColor = useCallback(() => { diff --git a/frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/index.tsx b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/index.tsx similarity index 91% rename from frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/index.tsx rename to frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/index.tsx index 625cd136e..8788def79 100644 --- a/frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/index.tsx +++ b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/index.tsx @@ -1,14 +1,15 @@ import React from 'react'; -import highlight2Colors from '../../../../../../styles/colors/highlight2.colors'; -import LeftArrow from '../../../../../CardBoard/CardBody/LeftArrow'; -import Icon from '../../../../../icons/Icon'; -import Avatar from '../../../../../Primitives/Avatar'; -import Checkbox from '../../../../../Primitives/Checkbox'; -import Flex from '../../../../../Primitives/Flex'; -import Separator from '../../../../../Primitives/Separator'; -import Text from '../../../../../Primitives/Text'; -import Tooltip from '../../../../../Primitives/Tooltip'; +import { highlight2Colors } from 'styles/stitches/partials/colors/highlight2.colors'; + +import LeftArrow from 'components/CardBoard/CardBody/LeftArrow'; +import Icon from 'components/icons/Icon'; +import Avatar from 'components/Primitives/Avatar'; +import Checkbox from 'components/Primitives/Checkbox'; +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; +import Text from 'components/Primitives/Text'; +import Tooltip from 'components/Primitives/Tooltip'; import FakeCardAvatars from '../CardAvatars'; import { Container, MainContainer } from './styles'; diff --git a/frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/styles.tsx b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/styles.tsx similarity index 59% rename from frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/styles.tsx rename to frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/styles.tsx index 7171a00e0..4ec896073 100644 --- a/frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/styles.tsx +++ b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/MainBoardCard/styles.tsx @@ -1,6 +1,7 @@ -import { styled } from '../../../../../../stitches.config'; -import Box from '../../../../../Primitives/Box'; -import Flex from '../../../../../Primitives/Flex'; +import { styled } from 'styles/stitches/stitches.config'; + +import Box from 'components/Primitives/Box'; +import Flex from 'components/Primitives/Flex'; const MainContainer = styled(Flex, Box, { backgroundColor: 'white', diff --git a/frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/index.tsx b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/index.tsx similarity index 90% rename from frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/index.tsx rename to frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/index.tsx index f69c31593..c0aa77d7f 100644 --- a/frontend/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/index.tsx +++ b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/index.tsx @@ -1,9 +1,9 @@ import React from 'react'; -import Icon from '../../../../../icons/Icon'; -import Flex from '../../../../../Primitives/Flex'; -import Text from '../../../../../Primitives/Text'; -import Tooltip from '../../../../../Primitives/Tooltip'; +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; +import Tooltip from 'components/Primitives/Tooltip'; import FakeMainBoardCard from '../MainBoardCard'; import { StyledBox } from './styles'; diff --git a/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/styles.tsx b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/styles.tsx new file mode 100644 index 000000000..52935d920 --- /dev/null +++ b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/partials/TeamTab/styles.tsx @@ -0,0 +1,8 @@ +import { styled } from 'styles/stitches/stitches.config'; + +import Box from 'components/Primitives/Box'; +import Flex from 'components/Primitives/Flex'; + +const StyledBox = styled(Flex, Box, { borderRadius: '$12', backgroundColor: 'white' }); + +export { StyledBox }; diff --git a/frontend/components/CreateBoard/fake/FakeSettingsTabs/styles.tsx b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/styles.tsx similarity index 69% rename from frontend/components/CreateBoard/fake/FakeSettingsTabs/styles.tsx rename to frontend/src/components/CreateBoard/fake/FakeSettingsTabs/styles.tsx index 596c74ac7..8b8932b75 100644 --- a/frontend/components/CreateBoard/fake/FakeSettingsTabs/styles.tsx +++ b/frontend/src/components/CreateBoard/fake/FakeSettingsTabs/styles.tsx @@ -1,5 +1,6 @@ -import { styled } from '../../../../stitches.config'; -import Text from '../../../Primitives/Text'; +import { styled } from 'styles/stitches/stitches.config'; + +import Text from 'components/Primitives/Text'; const StyledTextTab = styled(Text, { pb: '$12 !important', @@ -7,7 +8,7 @@ const StyledTextTab = styled(Text, { '&:hover': { cursor: 'pointer' }, - "&[data-activetab='true']": { + '&[data-activetab="true"]': { boxSizing: 'border-box', borderBottom: '2px solid $colors$primary800', fontWeight: '$bold', diff --git a/frontend/components/Dashboard/Calendar/Calendar.tsx b/frontend/src/components/Dashboard/Calendar/Calendar.tsx similarity index 88% rename from frontend/components/Dashboard/Calendar/Calendar.tsx rename to frontend/src/components/Dashboard/Calendar/Calendar.tsx index 7f2d848f9..f034c44a2 100644 --- a/frontend/components/Dashboard/Calendar/Calendar.tsx +++ b/frontend/src/components/Dashboard/Calendar/Calendar.tsx @@ -2,11 +2,12 @@ import { useState } from 'react'; import { CalendarTileProperties } from 'react-calendar'; -import { styled } from '../../../stitches.config'; -import Icon from '../../icons/Icon'; -import NoMeetingsImage from '../../images/NoMeetings'; -import Flex from '../../Primitives/Flex'; -import Text from '../../Primitives/Text'; +import { styled } from 'styles/stitches/stitches.config'; + +import Icon from 'components/icons/Icon'; +import NoMeetingsImage from 'components/images/NoMeetings'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; import StyledCalendar from './StyledCalendar'; const StyledContainer = styled(Flex, { diff --git a/frontend/components/Dashboard/Calendar/StyledCalendar.tsx b/frontend/src/components/Dashboard/Calendar/StyledCalendar.tsx similarity index 98% rename from frontend/components/Dashboard/Calendar/StyledCalendar.tsx rename to frontend/src/components/Dashboard/Calendar/StyledCalendar.tsx index 56cf7ae7f..1e7dee49e 100644 --- a/frontend/components/Dashboard/Calendar/StyledCalendar.tsx +++ b/frontend/src/components/Dashboard/Calendar/StyledCalendar.tsx @@ -1,6 +1,6 @@ import Calendar from 'react-calendar'; -import { styled } from '../../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const StyledCalendar = styled(Calendar, { '.react-calendar': { diff --git a/frontend/components/Dashboard/RecentRetros/EmptyBoards.tsx b/frontend/src/components/Dashboard/RecentRetros/EmptyBoards.tsx similarity index 73% rename from frontend/components/Dashboard/RecentRetros/EmptyBoards.tsx rename to frontend/src/components/Dashboard/RecentRetros/EmptyBoards.tsx index 7a51fde95..147a1ad35 100644 --- a/frontend/components/Dashboard/RecentRetros/EmptyBoards.tsx +++ b/frontend/src/components/Dashboard/RecentRetros/EmptyBoards.tsx @@ -1,8 +1,9 @@ -import { styled } from '../../../stitches.config'; -import EmptyBoardsImage from '../../images/EmptyBoards'; -import Box from '../../Primitives/Box'; -import Flex from '../../Primitives/Flex'; -import Text from '../../Primitives/Text'; +import { styled } from 'styles/stitches/stitches.config'; + +import EmptyBoardsImage from 'components/images/EmptyBoards'; +import Box from 'components/Primitives/Box'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; const StyledImage = styled(EmptyBoardsImage, Flex, Box, { '& svg': { zIndex: '-1' } }); const StyledBox = styled(Flex, Box, { diff --git a/frontend/components/Dashboard/RecentRetros/ListOfCards.tsx b/frontend/src/components/Dashboard/RecentRetros/ListOfCards.tsx similarity index 88% rename from frontend/components/Dashboard/RecentRetros/ListOfCards.tsx rename to frontend/src/components/Dashboard/RecentRetros/ListOfCards.tsx index f2b5e94fb..8f1b1f08f 100644 --- a/frontend/components/Dashboard/RecentRetros/ListOfCards.tsx +++ b/frontend/src/components/Dashboard/RecentRetros/ListOfCards.tsx @@ -1,12 +1,13 @@ import React, { useMemo, useRef } from 'react'; import { InfiniteData, UseInfiniteQueryResult } from 'react-query'; -import { styled } from '../../../stitches.config'; -import BoardType from '../../../types/board/board'; -import CardBody from '../../CardBoard/CardBody/CardBody'; -import LoadingPage from '../../loadings/LoadingPage'; -import Flex from '../../Primitives/Flex'; -import Text from '../../Primitives/Text'; +import { styled } from 'styles/stitches/stitches.config'; + +import CardBody from 'components/CardBoard/CardBody/CardBody'; +import LoadingPage from 'components/loadings/LoadingPage'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; +import BoardType from 'types/board/board'; const LastUpdatedText = styled(Text, { position: 'sticky', diff --git a/frontend/components/Dashboard/RecentRetros/RecentRetros.tsx b/frontend/src/components/Dashboard/RecentRetros/RecentRetros.tsx similarity index 82% rename from frontend/components/Dashboard/RecentRetros/RecentRetros.tsx rename to frontend/src/components/Dashboard/RecentRetros/RecentRetros.tsx index 574022f83..b17acfc66 100644 --- a/frontend/components/Dashboard/RecentRetros/RecentRetros.tsx +++ b/frontend/src/components/Dashboard/RecentRetros/RecentRetros.tsx @@ -2,10 +2,10 @@ import React from 'react'; import { useInfiniteQuery } from 'react-query'; import { useSetRecoilState } from 'recoil'; -import { getDashboardBoardsRequest } from '../../../api/boardService'; -import { toastState } from '../../../store/toast/atom/toast.atom'; -import { ToastStateEnum } from '../../../utils/enums/toast-types'; -import isEmpty from '../../../utils/isEmpty'; +import { getDashboardBoardsRequest } from 'api/boardService'; +import { toastState } from 'store/toast/atom/toast.atom'; +import { ToastStateEnum } from 'utils/enums/toast-types'; +import isEmpty from 'utils/isEmpty'; import EmptyBoards from './EmptyBoards'; import ListOfCards from './ListOfCards'; diff --git a/frontend/components/Dashboard/Tiles/index.tsx b/frontend/src/components/Dashboard/Tiles/index.tsx similarity index 89% rename from frontend/components/Dashboard/Tiles/index.tsx rename to frontend/src/components/Dashboard/Tiles/index.tsx index f80b70478..f239b023b 100644 --- a/frontend/components/Dashboard/Tiles/index.tsx +++ b/frontend/src/components/Dashboard/Tiles/index.tsx @@ -1,6 +1,6 @@ -import { HeaderInfo } from '../../../types/dashboard/header.info'; -import Icon from '../../icons/Icon'; -import Text from '../../Primitives/Text'; +import Icon from 'components/icons/Icon'; +import Text from 'components/Primitives/Text'; +import { HeaderInfo } from 'types/dashboard/header.info'; import { GridContainer, StyledTile, TileArrow } from './styles'; type TilesProps = { diff --git a/frontend/components/Dashboard/Tiles/styles.tsx b/frontend/src/components/Dashboard/Tiles/styles.tsx similarity index 84% rename from frontend/components/Dashboard/Tiles/styles.tsx rename to frontend/src/components/Dashboard/Tiles/styles.tsx index 56ec91d92..864b509a5 100644 --- a/frontend/components/Dashboard/Tiles/styles.tsx +++ b/frontend/src/components/Dashboard/Tiles/styles.tsx @@ -1,5 +1,6 @@ -import { styled } from '../../../stitches.config'; -import Icon from '../../icons/Icon'; +import { styled } from 'styles/stitches/stitches.config'; + +import Icon from 'components/icons/Icon'; const GridContainer = styled('section', { display: 'grid', diff --git a/frontend/components/Errors/QueryError.tsx b/frontend/src/components/Errors/QueryError.tsx similarity index 82% rename from frontend/components/Errors/QueryError.tsx rename to frontend/src/components/Errors/QueryError.tsx index d950b1348..16a175085 100644 --- a/frontend/components/Errors/QueryError.tsx +++ b/frontend/src/components/Errors/QueryError.tsx @@ -2,9 +2,9 @@ import { ErrorBoundary } from 'react-error-boundary'; import { QueryErrorResetBoundary } from 'react-query'; -import Button from '../Primitives/Button'; -import Flex from '../Primitives/Flex'; -import Text from '../Primitives/Text'; +import Button from 'components/Primitives/Button'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; const QueryError: React.FC = ({ children }) => { return ( diff --git a/frontend/components/HOC/requireAuthentication.tsx b/frontend/src/components/HOC/requireAuthentication.tsx similarity index 89% rename from frontend/components/HOC/requireAuthentication.tsx rename to frontend/src/components/HOC/requireAuthentication.tsx index c87f44a1f..bf7fe454f 100644 --- a/frontend/components/HOC/requireAuthentication.tsx +++ b/frontend/src/components/HOC/requireAuthentication.tsx @@ -1,7 +1,7 @@ import { GetServerSideProps, GetServerSidePropsContext } from 'next'; import { getSession } from 'next-auth/react'; -import { START_PAGE_ROUTE } from '../../utils/routes'; +import { START_PAGE_ROUTE } from 'utils/routes'; function requireAuthentication(gssp: GetServerSideProps) { return async (ctx: GetServerSidePropsContext) => { diff --git a/frontend/components/Primitives/AlertBox/index.tsx b/frontend/src/components/Primitives/AlertBox/index.tsx similarity index 89% rename from frontend/components/Primitives/AlertBox/index.tsx rename to frontend/src/components/Primitives/AlertBox/index.tsx index e42f04902..80015b836 100644 --- a/frontend/components/Primitives/AlertBox/index.tsx +++ b/frontend/src/components/Primitives/AlertBox/index.tsx @@ -1,7 +1,8 @@ import { FC } from 'react'; -import { CSSProps } from '../../../stitches.config'; -import Icon from '../../icons/Icon'; +import { CSSProps } from 'styles/stitches/stitches.config'; + +import Icon from 'components/icons/Icon'; import Flex from '../Flex'; import Text from '../Text'; import { AlertIconStyle, AlertStyle, AlertText } from './styles'; diff --git a/frontend/components/Primitives/AlertBox/styles.tsx b/frontend/src/components/Primitives/AlertBox/styles.tsx similarity index 100% rename from frontend/components/Primitives/AlertBox/styles.tsx rename to frontend/src/components/Primitives/AlertBox/styles.tsx diff --git a/frontend/components/Primitives/AlertCustomDialog.tsx b/frontend/src/components/Primitives/AlertCustomDialog.tsx similarity index 95% rename from frontend/components/Primitives/AlertCustomDialog.tsx rename to frontend/src/components/Primitives/AlertCustomDialog.tsx index 1f414cf2c..4e7712e72 100644 --- a/frontend/components/Primitives/AlertCustomDialog.tsx +++ b/frontend/src/components/Primitives/AlertCustomDialog.tsx @@ -1,7 +1,8 @@ import { AlertDialogDescription } from '@radix-ui/react-alert-dialog'; -import { CSS } from '../../stitches.config'; -import Icon from '../icons/Icon'; +import { CSS } from 'styles/stitches/stitches.config'; + +import Icon from 'components/icons/Icon'; import { AlertDialog, AlertDialogAction, diff --git a/frontend/components/Primitives/AlertDialog.tsx b/frontend/src/components/Primitives/AlertDialog.tsx similarity index 93% rename from frontend/components/Primitives/AlertDialog.tsx rename to frontend/src/components/Primitives/AlertDialog.tsx index 32763992c..e55504230 100644 --- a/frontend/components/Primitives/AlertDialog.tsx +++ b/frontend/src/components/Primitives/AlertDialog.tsx @@ -1,8 +1,9 @@ -import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog'; import { ReactNode } from 'react'; +import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog'; + +import { CSS, styled } from 'styles/stitches/stitches.config'; -import { overlayShow } from '../../animations/DialogShow'; -import { CSS, styled } from '../../stitches.config'; +import { overlayShow } from 'animations/DialogShow'; import Box from './Box'; import Button from './Button'; import Flex from './Flex'; diff --git a/frontend/components/Primitives/Avatar.tsx b/frontend/src/components/Primitives/Avatar.tsx similarity index 96% rename from frontend/components/Primitives/Avatar.tsx rename to frontend/src/components/Primitives/Avatar.tsx index 614dfbb96..ef3e5ef26 100644 --- a/frontend/components/Primitives/Avatar.tsx +++ b/frontend/src/components/Primitives/Avatar.tsx @@ -1,6 +1,7 @@ import * as AvatarPrimitive from '@radix-ui/react-avatar'; -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; + import Flex from './Flex'; const AvatarRoot = styled(AvatarPrimitive.Root, Flex, { diff --git a/frontend/components/Primitives/Box.tsx b/frontend/src/components/Primitives/Box.tsx similarity index 91% rename from frontend/components/Primitives/Box.tsx rename to frontend/src/components/Primitives/Box.tsx index 97bc62e01..c7baf09c6 100644 --- a/frontend/components/Primitives/Box.tsx +++ b/frontend/src/components/Primitives/Box.tsx @@ -1,4 +1,4 @@ -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const Box = styled('div', { background: '$background', diff --git a/frontend/components/Primitives/Button.tsx b/frontend/src/components/Primitives/Button.tsx similarity index 98% rename from frontend/components/Primitives/Button.tsx rename to frontend/src/components/Primitives/Button.tsx index c03a15bec..f971a92ce 100644 --- a/frontend/components/Primitives/Button.tsx +++ b/frontend/src/components/Primitives/Button.tsx @@ -1,4 +1,4 @@ -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const Button = styled('button', { fontFamily: '$body', diff --git a/frontend/components/Primitives/Card.tsx b/frontend/src/components/Primitives/Card.tsx similarity index 88% rename from frontend/components/Primitives/Card.tsx rename to frontend/src/components/Primitives/Card.tsx index 479aa5448..1182d5eff 100644 --- a/frontend/components/Primitives/Card.tsx +++ b/frontend/src/components/Primitives/Card.tsx @@ -1,4 +1,5 @@ -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; + import Flex from './Flex'; const Card = styled(Flex, { diff --git a/frontend/components/Primitives/Checkbox.tsx b/frontend/src/components/Primitives/Checkbox.tsx similarity index 98% rename from frontend/components/Primitives/Checkbox.tsx rename to frontend/src/components/Primitives/Checkbox.tsx index 00796db9d..88cadf612 100644 --- a/frontend/components/Primitives/Checkbox.tsx +++ b/frontend/src/components/Primitives/Checkbox.tsx @@ -1,8 +1,8 @@ +import React, { Dispatch, useState } from 'react'; import * as CheckboxPrimitive from '@radix-ui/react-checkbox'; import { styled } from '@stitches/react'; -import React, { Dispatch, useState } from 'react'; -import Icon from '../icons/Icon'; +import Icon from 'components/icons/Icon'; import Flex from './Flex'; import Text from './Text'; diff --git a/frontend/components/Primitives/Dialog.tsx b/frontend/src/components/Primitives/Dialog.tsx similarity index 83% rename from frontend/components/Primitives/Dialog.tsx rename to frontend/src/components/Primitives/Dialog.tsx index 1f9fa0eaa..b2184ac8d 100644 --- a/frontend/components/Primitives/Dialog.tsx +++ b/frontend/src/components/Primitives/Dialog.tsx @@ -1,8 +1,9 @@ import { Close, Content, DialogTitle, Overlay, Root, Trigger } from '@radix-ui/react-dialog'; -import { contentShow, overlayShow } from '../../animations/DialogShow'; -import { styled } from '../../stitches.config'; -import centerScreen from '../../styles/centerScreen'; +import centerScreen from 'styles/centerScreen'; +import { styled } from 'styles/stitches/stitches.config'; + +import { contentShow, overlayShow } from 'animations/DialogShow'; import Card from './Card'; import Flex from './Flex'; diff --git a/frontend/components/Primitives/Fieldset.tsx b/frontend/src/components/Primitives/Fieldset.tsx similarity index 72% rename from frontend/components/Primitives/Fieldset.tsx rename to frontend/src/components/Primitives/Fieldset.tsx index c0533a6de..06aa274e0 100644 --- a/frontend/components/Primitives/Fieldset.tsx +++ b/frontend/src/components/Primitives/Fieldset.tsx @@ -1,4 +1,5 @@ -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; + import Flex from './Flex'; const Fieldset = styled('fieldset', Flex, { diff --git a/frontend/components/Primitives/Flex.tsx b/frontend/src/components/Primitives/Flex.tsx similarity index 96% rename from frontend/components/Primitives/Flex.tsx rename to frontend/src/components/Primitives/Flex.tsx index 7519d2a8b..8e9bf8e47 100644 --- a/frontend/components/Primitives/Flex.tsx +++ b/frontend/src/components/Primitives/Flex.tsx @@ -1,4 +1,4 @@ -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const Flex = styled('div', { display: 'flex', diff --git a/frontend/components/Primitives/HoverCard.tsx b/frontend/src/components/Primitives/HoverCard.tsx similarity index 93% rename from frontend/components/Primitives/HoverCard.tsx rename to frontend/src/components/Primitives/HoverCard.tsx index a0346bec8..c6798e917 100644 --- a/frontend/components/Primitives/HoverCard.tsx +++ b/frontend/src/components/Primitives/HoverCard.tsx @@ -1,12 +1,13 @@ import * as HoverCardPrimitive from '@radix-ui/react-hover-card'; +import { styled } from 'styles/stitches/stitches.config'; + import { slideDownAndFade, slideLeftAndFade, slideRightAndFade, slideUpAndFade -} from '../../animations/Slide'; -import { styled } from '../../stitches.config'; +} from 'animations/Slide'; const StyledContent = styled(HoverCardPrimitive.Content, { borderRadius: 6, diff --git a/frontend/components/Primitives/Image.tsx b/frontend/src/components/Primitives/Image.tsx similarity index 54% rename from frontend/components/Primitives/Image.tsx rename to frontend/src/components/Primitives/Image.tsx index 7e48794fb..087ad81bb 100644 --- a/frontend/components/Primitives/Image.tsx +++ b/frontend/src/components/Primitives/Image.tsx @@ -1,4 +1,4 @@ -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const StyledImage = styled('img', {}); diff --git a/frontend/components/Primitives/Input.tsx b/frontend/src/components/Primitives/Input.tsx similarity index 90% rename from frontend/components/Primitives/Input.tsx rename to frontend/src/components/Primitives/Input.tsx index 391518057..d531d6940 100644 --- a/frontend/components/Primitives/Input.tsx +++ b/frontend/src/components/Primitives/Input.tsx @@ -1,9 +1,10 @@ import React, { useMemo, useRef, useState } from 'react'; import { useFormContext } from 'react-hook-form'; -import { styled } from '../../stitches.config'; -import isEmpty from '../../utils/isEmpty'; -import Icon from '../icons/Icon'; +import { styled } from 'styles/stitches/stitches.config'; + +import Icon from 'components/icons/Icon'; +import isEmpty from 'utils/isEmpty'; import Flex from './Flex'; import Text from './Text'; @@ -14,10 +15,10 @@ const PlaceholderText = styled(Text, { transformOrigin: '0 0', transition: 'all .2s ease-in-out', p: '$16', - "&[data-iconposition='left']": { + '&[data-iconposition="left"]': { pl: '$57' }, - "&[data-iconposition='right']": { + '&[data-iconposition="right"]': { pl: '$17' } }); @@ -28,13 +29,13 @@ const IconWrapper = styled(Flex, { left: 'none', right: 'none', cursor: 'default', - "&[data-iconposition='left']": { + '&[data-iconposition="left"]': { left: '$16' }, - "&[data-iconposition='right']": { + '&[data-iconposition="right"]': { right: '$16' }, - "&[data-type='password']": { + '&[data-type="password"]': { '&:hover': { cursor: 'pointer' } @@ -43,14 +44,10 @@ const IconWrapper = styled(Flex, { const HelperTextWrapper = styled(Flex, { '& svg': { - flex: '0 0 16px', - // transform: 'transformY(100%)', - // mt: '0px', - height: '$16 ', - width: '$16 ', + height: '$16 !important', + width: '$16 !important', color: '$dangerBase' - }, - '& *:not(svg)': { flex: '1 1 auto' } + } }); const StyledInput = styled('input', { @@ -157,7 +154,7 @@ const StyledInput = styled('input', { transform: `scale(0.875) translateX(0.2rem) translateY(-0.5rem)` }, - "&[data-iconposition='left']": { + '&[data-iconposition="left"]': { pl: '$56', '&:not(:placeholder-shown) ~ label': { transform: `scale(0.875) translateX(0.5rem) translateY(-0.5rem)` @@ -167,7 +164,7 @@ const StyledInput = styled('input', { } }, - "&[data-iconposition='right']": { + '&[data-iconposition="right"]': { pr: '$56' } }); @@ -229,12 +226,11 @@ const Input: React.FC = ({ const message = errors[id]?.message; const value = getValues()[id]; const isValueEmpty = isEmpty(value); + const autoState = useMemo(() => { - // console.log('!message=', !message); if (message) return 'error'; if (isValueEmpty) return 'default'; - if (!message && !isValueEmpty) return 'valid'; - return undefined; + return 'valid'; }, [message, isValueEmpty]); const currentState = useMemo(() => { @@ -261,7 +257,7 @@ const Input: React.FC = ({ css={{ position: 'relative', width: '100%', mb: '$16', height: 'auto', ...css }} onBlur={() => { if (isValueEmpty) { - clearErrors(id); + clearErrors(); } }} > @@ -305,7 +301,7 @@ const Input: React.FC = ({ {!isHelperEmpty && ( - + {currentState === 'error' && ( )} diff --git a/frontend/components/Primitives/Label.tsx b/frontend/src/components/Primitives/Label.tsx similarity index 81% rename from frontend/components/Primitives/Label.tsx rename to frontend/src/components/Primitives/Label.tsx index c934999d4..84f879ad7 100644 --- a/frontend/components/Primitives/Label.tsx +++ b/frontend/src/components/Primitives/Label.tsx @@ -1,6 +1,7 @@ import * as LabelPrimitive from '@radix-ui/react-label'; -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; + import Text from './Text'; const Label = styled(LabelPrimitive.Root, Text, { diff --git a/frontend/components/Primitives/Popover.tsx b/frontend/src/components/Primitives/Popover.tsx similarity index 95% rename from frontend/components/Primitives/Popover.tsx rename to frontend/src/components/Primitives/Popover.tsx index 38a5d6346..3289f2654 100644 --- a/frontend/components/Primitives/Popover.tsx +++ b/frontend/src/components/Primitives/Popover.tsx @@ -1,12 +1,13 @@ import * as PopoverPrimitive from '@radix-ui/react-popover'; +import { styled } from 'styles/stitches/stitches.config'; + import { slideDownAndFade, slideLeftAndFade, slideRightAndFade, slideUpAndFade -} from '../../animations/Slide'; -import { styled } from '../../stitches.config'; +} from 'animations/Slide'; import Flex from './Flex'; const StyledContent = styled(PopoverPrimitive.Content, { diff --git a/frontend/components/Primitives/Separator.tsx b/frontend/src/components/Primitives/Separator.tsx similarity index 85% rename from frontend/components/Primitives/Separator.tsx rename to frontend/src/components/Primitives/Separator.tsx index 4e650426d..42b1d8c96 100644 --- a/frontend/components/Primitives/Separator.tsx +++ b/frontend/src/components/Primitives/Separator.tsx @@ -1,6 +1,6 @@ import * as SeparatorPrimitive from '@radix-ui/react-separator'; -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const StyledSeparator = styled(SeparatorPrimitive.Root, { backgroundColor: '$primary100', diff --git a/frontend/components/Primitives/Shape.tsx b/frontend/src/components/Primitives/Shape.tsx similarity index 82% rename from frontend/components/Primitives/Shape.tsx rename to frontend/src/components/Primitives/Shape.tsx index d3684cff4..7f944604e 100644 --- a/frontend/components/Primitives/Shape.tsx +++ b/frontend/src/components/Primitives/Shape.tsx @@ -1,4 +1,5 @@ -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; + import Flex from './Flex'; const Shape = styled('div', Flex, { diff --git a/frontend/src/components/Primitives/Svg.tsx b/frontend/src/components/Primitives/Svg.tsx new file mode 100644 index 000000000..8be901d29 --- /dev/null +++ b/frontend/src/components/Primitives/Svg.tsx @@ -0,0 +1,5 @@ +import { styled } from 'styles/stitches/stitches.config'; + +const Svg = styled('svg', {}); + +export default Svg; diff --git a/frontend/components/Primitives/Switch.tsx b/frontend/src/components/Primitives/Switch.tsx similarity index 93% rename from frontend/components/Primitives/Switch.tsx rename to frontend/src/components/Primitives/Switch.tsx index ab9e807a9..7e2fb3158 100644 --- a/frontend/components/Primitives/Switch.tsx +++ b/frontend/src/components/Primitives/Switch.tsx @@ -1,6 +1,7 @@ import * as SwitchPrimitive from '@radix-ui/react-switch'; -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; + import Flex from './Flex'; const StyledSwitch = styled(SwitchPrimitive.Root, { diff --git a/frontend/components/Primitives/Tab.tsx b/frontend/src/components/Primitives/Tab.tsx similarity index 96% rename from frontend/components/Primitives/Tab.tsx rename to frontend/src/components/Primitives/Tab.tsx index 5fa3410c1..1940ddf47 100644 --- a/frontend/components/Primitives/Tab.tsx +++ b/frontend/src/components/Primitives/Tab.tsx @@ -1,6 +1,7 @@ import * as TabsPrimitive from '@radix-ui/react-tabs'; -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; + import Flex from './Flex'; const StyledTabs = styled(TabsPrimitive.Root, { diff --git a/frontend/components/Primitives/Text.tsx b/frontend/src/components/Primitives/Text.tsx similarity index 97% rename from frontend/components/Primitives/Text.tsx rename to frontend/src/components/Primitives/Text.tsx index dab16e0e1..bc9e6ae5d 100644 --- a/frontend/components/Primitives/Text.tsx +++ b/frontend/src/components/Primitives/Text.tsx @@ -1,4 +1,4 @@ -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const Text = styled('span', { fontWeight: '$regular', diff --git a/frontend/components/Primitives/TextArea.tsx b/frontend/src/components/Primitives/TextArea.tsx similarity index 96% rename from frontend/components/Primitives/TextArea.tsx rename to frontend/src/components/Primitives/TextArea.tsx index c7d1874c3..01ff3c74e 100644 --- a/frontend/components/Primitives/TextArea.tsx +++ b/frontend/src/components/Primitives/TextArea.tsx @@ -1,9 +1,10 @@ import { useMemo, useRef } from 'react'; import { useFormContext } from 'react-hook-form'; -import { styled } from '../../stitches.config'; -import isEmpty from '../../utils/isEmpty'; -import Icon from '../icons/Icon'; +import { styled } from 'styles/stitches/stitches.config'; + +import Icon from 'components/icons/Icon'; +import isEmpty from 'utils/isEmpty'; import Flex from './Flex'; import Text from './Text'; diff --git a/frontend/components/Primitives/Toast.tsx b/frontend/src/components/Primitives/Toast.tsx similarity index 93% rename from frontend/components/Primitives/Toast.tsx rename to frontend/src/components/Primitives/Toast.tsx index 1f579c364..3df0d4063 100644 --- a/frontend/components/Primitives/Toast.tsx +++ b/frontend/src/components/Primitives/Toast.tsx @@ -1,13 +1,14 @@ -import * as ToastPrimitive from '@radix-ui/react-toast'; -import { useRouter } from 'next/router'; import * as React from 'react'; +import { useRouter } from 'next/router'; import { useRecoilState } from 'recoil'; +import * as ToastPrimitive from '@radix-ui/react-toast'; + +import { keyframes, styled } from 'styles/stitches/stitches.config'; -import { keyframes, styled } from '../../stitches.config'; -import { toastState } from '../../store/toast/atom/toast.atom'; -import { ToastStateEnum } from '../../utils/enums/toast-types'; -import { ROUTES } from '../../utils/routes'; -import Icon from '../icons/Icon'; +import Icon from 'components/icons/Icon'; +import { toastState } from 'store/toast/atom/toast.atom'; +import { ToastStateEnum } from 'utils/enums/toast-types'; +import { ROUTES } from 'utils/routes'; import Text from './Text'; const hide = keyframes({ diff --git a/frontend/components/Primitives/Tooltip.tsx b/frontend/src/components/Primitives/Tooltip.tsx similarity index 93% rename from frontend/components/Primitives/Tooltip.tsx rename to frontend/src/components/Primitives/Tooltip.tsx index 04ea1a2e3..c7f4f2f1e 100644 --- a/frontend/components/Primitives/Tooltip.tsx +++ b/frontend/src/components/Primitives/Tooltip.tsx @@ -1,7 +1,7 @@ -import * as TooltipPrimitive from '@radix-ui/react-tooltip'; import React, { ReactNode } from 'react'; +import * as TooltipPrimitive from '@radix-ui/react-tooltip'; -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const StyledContent = styled(TooltipPrimitive.Content, { backgroundColor: '$primary800', diff --git a/frontend/components/Primitives/UnorderedList.tsx b/frontend/src/components/Primitives/UnorderedList.tsx similarity index 69% rename from frontend/components/Primitives/UnorderedList.tsx rename to frontend/src/components/Primitives/UnorderedList.tsx index 55c87faec..cca9666df 100644 --- a/frontend/components/Primitives/UnorderedList.tsx +++ b/frontend/src/components/Primitives/UnorderedList.tsx @@ -1,4 +1,4 @@ -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const UnorderedList = styled('ul', { variants: { diff --git a/frontend/components/Sidebar/index.tsx b/frontend/src/components/Sidebar/index.tsx similarity index 100% rename from frontend/components/Sidebar/index.tsx rename to frontend/src/components/Sidebar/index.tsx diff --git a/frontend/components/Sidebar/partials/Content/index.tsx b/frontend/src/components/Sidebar/partials/Content/index.tsx similarity index 95% rename from frontend/components/Sidebar/partials/Content/index.tsx rename to frontend/src/components/Sidebar/partials/Content/index.tsx index d583bd960..804b6ab9f 100644 --- a/frontend/components/Sidebar/partials/Content/index.tsx +++ b/frontend/src/components/Sidebar/partials/Content/index.tsx @@ -1,8 +1,10 @@ +import { useEffect, useState } from 'react'; import Link from 'next/link'; import { useRouter } from 'next/router'; import { signOut } from 'next-auth/react'; -import { useEffect, useState } from 'react'; +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; import { ACCOUNT_ROUTE, BOARDS_ROUTE, @@ -11,9 +13,7 @@ import { START_PAGE_ROUTE, TEAMS_ROUTE, USERS_ROUTE -} from '../../../../utils/routes'; -import Icon from '../../../icons/Icon'; -import Flex from '../../../Primitives/Flex'; +} from 'utils/routes'; import { StyledMenuItem, StyledSeparator, StyledText } from './styles'; interface SidebarContentProps { diff --git a/frontend/components/Sidebar/partials/Content/styles.tsx b/frontend/src/components/Sidebar/partials/Content/styles.tsx similarity index 58% rename from frontend/components/Sidebar/partials/Content/styles.tsx rename to frontend/src/components/Sidebar/partials/Content/styles.tsx index c9b283339..47236ea17 100644 --- a/frontend/components/Sidebar/partials/Content/styles.tsx +++ b/frontend/src/components/Sidebar/partials/Content/styles.tsx @@ -1,6 +1,7 @@ -import { styled } from '../../../../stitches.config'; -import Flex from '../../../Primitives/Flex'; -import Text from '../../../Primitives/Text'; +import { styled } from 'styles/stitches/stitches.config'; + +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; import Separator from '../Separator'; const StyledMenuItem = styled(Flex, { @@ -13,20 +14,30 @@ const StyledMenuItem = styled(Flex, { '& svg': { color: '$primary300', width: '$24', height: '$24' }, - "&[data-active='true']": { - '& svg': { color: '$white' }, - '& span': { color: '$white', fontWeight: '$medium' }, + '&[data-active="true"]': { + '& svg': { + color: '$white' + }, + '& span': { + color: '$white', + fontWeight: '$medium' + }, backgroundColor: '$primary600' }, '&:hover': { cursor: 'pointer', - "&:not(&[data-active='true'])": { + '&:not(&[data-active="true"])': { backgroundColor: '$primary700', - '& svg': { color: '$primary200' }, - '& span': { color: '$primary200', fontWeight: '$medium' } + '& svg': { + color: '$primary200' + }, + '& span': { + color: '$primary200', + fontWeight: '$medium' + } } } }); diff --git a/frontend/components/Sidebar/partials/Header/index.tsx b/frontend/src/components/Sidebar/partials/Header/index.tsx similarity index 87% rename from frontend/components/Sidebar/partials/Header/index.tsx rename to frontend/src/components/Sidebar/partials/Header/index.tsx index 55c8a341b..347112967 100644 --- a/frontend/components/Sidebar/partials/Header/index.tsx +++ b/frontend/src/components/Sidebar/partials/Header/index.tsx @@ -1,7 +1,7 @@ -import HeaderBannerIcon from '../../../icons/HeaderBanner'; -import Icon from '../../../icons/Icon'; -import Flex from '../../../Primitives/Flex'; -import Text from '../../../Primitives/Text'; +import HeaderBannerIcon from 'components/icons/HeaderBanner'; +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; import Separator from '../Separator'; import { StyledHeader } from './styles'; diff --git a/frontend/src/components/Sidebar/partials/Header/styles.tsx b/frontend/src/components/Sidebar/partials/Header/styles.tsx new file mode 100644 index 000000000..7cfde3983 --- /dev/null +++ b/frontend/src/components/Sidebar/partials/Header/styles.tsx @@ -0,0 +1,7 @@ +import { styled } from 'styles/stitches/stitches.config'; + +import Flex from 'components/Primitives/Flex'; + +const StyledHeader = styled(Flex, {}); + +export { StyledHeader }; diff --git a/frontend/components/Sidebar/partials/Separator.tsx b/frontend/src/components/Sidebar/partials/Separator.tsx similarity index 84% rename from frontend/components/Sidebar/partials/Separator.tsx rename to frontend/src/components/Sidebar/partials/Separator.tsx index 12ee022ae..92573a6d0 100644 --- a/frontend/components/Sidebar/partials/Separator.tsx +++ b/frontend/src/components/Sidebar/partials/Separator.tsx @@ -1,6 +1,6 @@ import { ComponentProps } from 'react'; -import { styled } from '../../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const StyledSeparator = styled('div', { height: '1px', backgroundColor: '$primary600' }); diff --git a/frontend/components/Sidebar/styles.tsx b/frontend/src/components/Sidebar/styles.tsx similarity index 82% rename from frontend/components/Sidebar/styles.tsx rename to frontend/src/components/Sidebar/styles.tsx index fae369fdf..1bc28a831 100644 --- a/frontend/components/Sidebar/styles.tsx +++ b/frontend/src/components/Sidebar/styles.tsx @@ -1,4 +1,4 @@ -import { styled } from '../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const StyledSidebar = styled('aside', { width: '256px', diff --git a/frontend/components/auth/FieldSet/HoverCardFieldSet.tsx b/frontend/src/components/auth/FieldSet/HoverCardFieldSet.tsx similarity index 83% rename from frontend/components/auth/FieldSet/HoverCardFieldSet.tsx rename to frontend/src/components/auth/FieldSet/HoverCardFieldSet.tsx index ec0aa9d02..c797367b0 100644 --- a/frontend/components/auth/FieldSet/HoverCardFieldSet.tsx +++ b/frontend/src/components/auth/FieldSet/HoverCardFieldSet.tsx @@ -1,14 +1,15 @@ import { QuestionMarkCircledIcon } from '@modulz/radix-icons'; -import { styled } from '../../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; + import { HoverCardArrow, HoverCardContent, HoverCardRoot, HoverCardTrigger -} from '../../Primitives/HoverCard'; -import Text from '../../Primitives/Text'; -import UnorderedList from '../../Primitives/UnorderedList'; +} from 'components/Primitives/HoverCard'; +import Text from 'components/Primitives/Text'; +import UnorderedList from 'components/Primitives/UnorderedList'; const ListItem = styled('li', Text, { fontSize: '$8' }); const StyledHoverCardContent = styled(HoverCardContent, { diff --git a/frontend/components/auth/ForgotPassword/EmailSent.tsx b/frontend/src/components/auth/ForgotPassword/EmailSent.tsx similarity index 81% rename from frontend/components/auth/ForgotPassword/EmailSent.tsx rename to frontend/src/components/auth/ForgotPassword/EmailSent.tsx index 30af4f5b7..167408210 100644 --- a/frontend/components/auth/ForgotPassword/EmailSent.tsx +++ b/frontend/src/components/auth/ForgotPassword/EmailSent.tsx @@ -1,15 +1,16 @@ -import { useState } from 'react'; +import { FC, useState } from 'react'; import { useSetRecoilState } from 'recoil'; -import useUser from '../../../hooks/useUser'; -import { styled } from '../../../stitches.config'; -import { toastState } from '../../../store/toast/atom/toast.atom'; -import { ToastStateEnum } from '../../../utils/enums/toast-types'; -import Icon from '../../icons/Icon'; -import Button from '../../Primitives/Button'; -import Flex from '../../Primitives/Flex'; -import Separator from '../../Primitives/Separator'; -import Text from '../../Primitives/Text'; +import { styled } from 'styles/stitches/stitches.config'; + +import Icon from 'components/icons/Icon'; +import Button from 'components/Primitives/Button'; +import Flex from 'components/Primitives/Flex'; +import Separator from 'components/Primitives/Separator'; +import Text from 'components/Primitives/Text'; +import useUser from 'hooks/useUser'; +import { toastState } from 'store/toast/atom/toast.atom'; +import { ToastStateEnum } from 'utils/enums/toast-types'; const MainContainer = styled('form', Flex, { width: '$500', @@ -24,7 +25,7 @@ interface EmailSentProps { userEmail: string; } -const EmailSent: React.FC = ({ userEmail }) => { +const EmailSent: FC = ({ userEmail }) => { const { resetToken } = useUser(); const [currentEmail, setCurrentEmail] = useState(''); const [showEmailSent, setShowEmailSent] = useState(false); diff --git a/frontend/components/auth/ForgotPassword/ResetPassword.tsx b/frontend/src/components/auth/ForgotPassword/ResetPassword.tsx similarity index 80% rename from frontend/components/auth/ForgotPassword/ResetPassword.tsx rename to frontend/src/components/auth/ForgotPassword/ResetPassword.tsx index 24d317ee1..6f78371f0 100644 --- a/frontend/components/auth/ForgotPassword/ResetPassword.tsx +++ b/frontend/src/components/auth/ForgotPassword/ResetPassword.tsx @@ -1,19 +1,20 @@ -import { zodResolver } from '@hookform/resolvers/zod'; -import { useRouter } from 'next/router'; import { FormProvider, useForm } from 'react-hook-form'; +import { useRouter } from 'next/router'; import { useSetRecoilState } from 'recoil'; +import { zodResolver } from '@hookform/resolvers/zod'; + +import { styled } from 'styles/stitches/stitches.config'; -import useUser from '../../../hooks/useUser'; -import SchemaResetPasswordForm from '../../../schema/schemaResetPasswordForm'; -import { styled } from '../../../stitches.config'; -import { toastState } from '../../../store/toast/atom/toast.atom'; -import { NewPassword } from '../../../types/user/user'; -import { ToastStateEnum } from '../../../utils/enums/toast-types'; -import LogoIcon from '../../icons/Logo'; -import Button from '../../Primitives/Button'; -import Flex from '../../Primitives/Flex'; -import Input from '../../Primitives/Input'; -import Text from '../../Primitives/Text'; +import LogoIcon from 'components/icons/Logo'; +import Button from 'components/Primitives/Button'; +import Flex from 'components/Primitives/Flex'; +import Input from 'components/Primitives/Input'; +import Text from 'components/Primitives/Text'; +import useUser from 'hooks/useUser'; +import SchemaResetPasswordForm from 'schema/schemaResetPasswordForm'; +import { toastState } from 'store/toast/atom/toast.atom'; +import { NewPassword } from 'types/user/user'; +import { ToastStateEnum } from 'utils/enums/toast-types'; const MainContainer = styled('form', Flex, { width: '$500', diff --git a/frontend/components/auth/ForgotPassword/TroubleLogin.tsx b/frontend/src/components/auth/ForgotPassword/TroubleLogin.tsx similarity index 82% rename from frontend/components/auth/ForgotPassword/TroubleLogin.tsx rename to frontend/src/components/auth/ForgotPassword/TroubleLogin.tsx index c3608bcbb..a79b263c5 100644 --- a/frontend/components/auth/ForgotPassword/TroubleLogin.tsx +++ b/frontend/src/components/auth/ForgotPassword/TroubleLogin.tsx @@ -1,19 +1,20 @@ -import { zodResolver } from '@hookform/resolvers/zod'; import { Dispatch, SetStateAction, useState } from 'react'; import { FormProvider, useForm } from 'react-hook-form'; import { useSetRecoilState } from 'recoil'; +import { zodResolver } from '@hookform/resolvers/zod'; + +import { styled } from 'styles/stitches/stitches.config'; -import useUser from '../../../hooks/useUser'; -import SchemaEmail from '../../../schema/schemaEmail'; -import { styled } from '../../../stitches.config'; -import { toastState } from '../../../store/toast/atom/toast.atom'; -import { EmailUser } from '../../../types/user/user'; -import { ToastStateEnum } from '../../../utils/enums/toast-types'; -import Icon from '../../icons/Icon'; -import Button from '../../Primitives/Button'; -import Flex from '../../Primitives/Flex'; -import Input from '../../Primitives/Input'; -import Text from '../../Primitives/Text'; +import Icon from 'components/icons/Icon'; +import Button from 'components/Primitives/Button'; +import Flex from 'components/Primitives/Flex'; +import Input from 'components/Primitives/Input'; +import Text from 'components/Primitives/Text'; +import useUser from 'hooks/useUser'; +import SchemaEmail from 'schema/schemaEmail'; +import { toastState } from 'store/toast/atom/toast.atom'; +import { EmailUser } from 'types/user/user'; +import { ToastStateEnum } from 'utils/enums/toast-types'; import EmailSent from './EmailSent'; const MainContainer = styled('form', Flex, { diff --git a/frontend/components/auth/LoginForm/index.tsx b/frontend/src/components/auth/LoginForm/index.tsx similarity index 85% rename from frontend/components/auth/LoginForm/index.tsx rename to frontend/src/components/auth/LoginForm/index.tsx index 0c87dbfc3..f4d9b5a04 100644 --- a/frontend/components/auth/LoginForm/index.tsx +++ b/frontend/src/components/auth/LoginForm/index.tsx @@ -1,32 +1,32 @@ -import { zodResolver } from '@hookform/resolvers/zod'; +import { Dispatch, SetStateAction, useEffect, useState } from 'react'; +import { FormProvider, useForm } from 'react-hook-form'; import router from 'next/router'; import { RedirectableProviderType } from 'next-auth/providers'; import { signIn } from 'next-auth/react'; -import { Dispatch, SetStateAction, useEffect, useState } from 'react'; -import { FormProvider, useForm } from 'react-hook-form'; import { useSetRecoilState } from 'recoil'; +import { zodResolver } from '@hookform/resolvers/zod'; -import { getAuthError } from '../../../errors/auth-messages'; -import useUser from '../../../hooks/useUser'; -import SchemaLoginForm from '../../../schema/schemaLoginForm'; -import { toastState } from '../../../store/toast/atom/toast.atom'; -import { LoginUser } from '../../../types/user/user'; +import Icon from 'components/icons/Icon'; +import LogoIcon from 'components/icons/Logo'; +import { DotsLoading } from 'components/loadings/DotsLoading'; +import Flex from 'components/Primitives/Flex'; +import Input from 'components/Primitives/Input'; +import { TabsContent } from 'components/Primitives/Tab'; +import Text from 'components/Primitives/Text'; +import { getAuthError } from 'errors/auth-messages'; +import useUser from 'hooks/useUser'; +import SchemaLoginForm from 'schema/schemaLoginForm'; +import { toastState } from 'store/toast/atom/toast.atom'; +import { LoginUser } from 'types/user/user'; import { AUTH_SSO, NEXT_PUBLIC_ENABLE_AZURE, NEXT_PUBLIC_ENABLE_GIT, NEXT_PUBLIC_ENABLE_GOOGLE -} from '../../../utils/constants'; -import { ToastStateEnum } from '../../../utils/enums/toast-types'; -import { transformLoginErrorCodes } from '../../../utils/errorCodes'; -import { DASHBOARD_ROUTE } from '../../../utils/routes'; -import Icon from '../../icons/Icon'; -import LogoIcon from '../../icons/Logo'; -import { DotsLoading } from '../../loadings/DotsLoading'; -import Flex from '../../Primitives/Flex'; -import Input from '../../Primitives/Input'; -import { TabsContent } from '../../Primitives/Tab'; -import Text from '../../Primitives/Text'; +} from 'utils/constants'; +import { ToastStateEnum } from 'utils/enums/toast-types'; +import { transformLoginErrorCodes } from 'utils/errorCodes'; +import { DASHBOARD_ROUTE } from 'utils/routes'; import { LoginButton, OrSeparator, StyledForm, StyledHoverIconFlex } from './styles'; interface LoginFormProps { diff --git a/frontend/components/auth/LoginForm/styles.tsx b/frontend/src/components/auth/LoginForm/styles.tsx similarity index 73% rename from frontend/components/auth/LoginForm/styles.tsx rename to frontend/src/components/auth/LoginForm/styles.tsx index 4d9f45216..d91c634cc 100644 --- a/frontend/components/auth/LoginForm/styles.tsx +++ b/frontend/src/components/auth/LoginForm/styles.tsx @@ -1,6 +1,7 @@ -import { styled } from '../../../stitches.config'; -import Button from '../../Primitives/Button'; -import Flex from '../../Primitives/Flex'; +import { styled } from 'styles/stitches/stitches.config'; + +import Button from 'components/Primitives/Button'; +import Flex from 'components/Primitives/Flex'; const StyledForm = styled('form', Flex, { width: '100%' }); @@ -14,10 +15,10 @@ const LoginButton = styled(Button, { const StyledHoverIconFlex = styled('div', Flex, { '&:hover': { - "&[data-loading='true']": { + '&[data-loading="true"]': { cursor: 'default' }, - "&[data-loading='false']": { + '&[data-loading="false"]': { cursor: 'pointer' } } @@ -29,8 +30,8 @@ const OrSeparator = styled('div', { width: '100%', - mt: '$26', - mb: '$34', + mt: '$24', + mb: '$32', hr: { flexGrow: 1, diff --git a/frontend/components/auth/SignUp/RegisterForm.tsx b/frontend/src/components/auth/SignUp/RegisterForm.tsx similarity index 68% rename from frontend/components/auth/SignUp/RegisterForm.tsx rename to frontend/src/components/auth/SignUp/RegisterForm.tsx index 0bfd07dce..54980fe65 100644 --- a/frontend/components/auth/SignUp/RegisterForm.tsx +++ b/frontend/src/components/auth/SignUp/RegisterForm.tsx @@ -1,27 +1,25 @@ -import { zodResolver } from '@hookform/resolvers/zod'; -import { AxiosError } from 'axios'; -import router from 'next/router'; -import { RedirectableProviderType } from 'next-auth/providers'; -import { signIn } from 'next-auth/react'; -import React, { Dispatch } from 'react'; +import React, { Dispatch, useState } from 'react'; import { FormProvider, useForm } from 'react-hook-form'; import { useMutation } from 'react-query'; import { useSetRecoilState } from 'recoil'; +import { zodResolver } from '@hookform/resolvers/zod'; +import { AxiosError } from 'axios'; -import { registerNewUser } from '../../../api/authService'; -import SchemaRegisterForm from '../../../schema/schemaRegisterForm'; -import { styled } from '../../../stitches.config'; -import { toastState } from '../../../store/toast/atom/toast.atom'; -import { RegisterUser, User } from '../../../types/user/user'; -import { ToastStateEnum } from '../../../utils/enums/toast-types'; -import { DASHBOARD_ROUTE } from '../../../utils/routes'; -import { SignUpEnum } from '../../../utils/signUp.enum'; -import Icon from '../../icons/Icon'; -import LogoIcon from '../../icons/Logo'; -import Button from '../../Primitives/Button'; -import Flex from '../../Primitives/Flex'; -import Input from '../../Primitives/Input'; -import Text from '../../Primitives/Text'; +import { styled } from 'styles/stitches/stitches.config'; + +import { registerNewUser } from 'api/authService'; +import Icon from 'components/icons/Icon'; +import LogoIcon from 'components/icons/Logo'; +import Button from 'components/Primitives/Button'; +import CheckBox from 'components/Primitives/Checkbox'; +import Flex from 'components/Primitives/Flex'; +import Input from 'components/Primitives/Input'; +import Text from 'components/Primitives/Text'; +import SchemaRegisterForm from 'schema/schemaRegisterForm'; +import { toastState } from 'store/toast/atom/toast.atom'; +import { RegisterUser, User } from 'types/user/user'; +import { ToastStateEnum } from 'utils/enums/toast-types'; +import { SignUpEnum } from 'utils/signUp.enum'; const StyledForm = styled('form', Flex, { width: '100%' }); @@ -41,11 +39,17 @@ interface RegisterFormProps { setEmailName: Dispatch>; } -const RegisterForm: React.FC = ({ setShowSignUp, emailName, setEmailName }) => { +const RegisterForm: React.FC = ({ + setShowSignUp, + emailName, + setCurrentTab, + setEmailName +}) => { const setToastState = useSetRecoilState(toastState); + const [checkedTerms, setCheckedTerms] = useState(false); const methods = useForm({ - mode: 'onBlur', - reValidateMode: 'onBlur', + mode: 'onChange', + reValidateMode: 'onChange', defaultValues: { email: '', firstName: '', @@ -64,16 +68,6 @@ const RegisterForm: React.FC = ({ setShowSignUp, emailName, s clearErrors(); setShowSignUp(SignUpEnum.SIGN_UP); }; - const handleLogin = async () => { - const result = await signIn('credentials', { - ...methods.getValues(), - callbackUrl: DASHBOARD_ROUTE, - redirect: false - }); - if (!result?.error) { - router.push(DASHBOARD_ROUTE); - } - }; const createUser = useMutation( (user: RegisterUser) => registerNewUser(user), @@ -87,13 +81,13 @@ const RegisterForm: React.FC = ({ setShowSignUp, emailName, s }); }, onSuccess: () => { - handleLogin(); + setShowSignUp(SignUpEnum.SIGN_UP); + setCurrentTab('login'); } } ); const handleRegister = async (user: RegisterUser) => { - user.email = user.email.toLowerCase(); createUser.mutate(user); }; @@ -104,6 +98,14 @@ const RegisterForm: React.FC = ({ setShowSignUp, emailName, s direction="column" style={{ width: '100%' }} onSubmit={methods.handleSubmit((credentials: RegisterUser) => { + if (!checkedTerms) { + setToastState({ + open: true, + type: ToastStateEnum.ERROR, + content: 'Confirm Terms of Service and Privacy Policy' + }); + return; + } handleRegister(credentials); })} > @@ -132,7 +134,6 @@ const RegisterForm: React.FC = ({ setShowSignUp, emailName, s type="password" icon="eye" iconPosition="right" - helperText="Use at least 8 characters, upper and lower case letters, numbers and symbols like !”?$%^&)." /> = ({ setShowSignUp, emailName, s icon="eye" iconPosition="right" /> + + + - +
or @@ -68,6 +72,7 @@ const SignUpOptionsForm: React.FC = ({ underline="true" css={{ alignSelf: 'center', + mt: '$22', '&:hover': { textDecorationLine: 'underline', cursor: 'pointer' diff --git a/frontend/components/auth/SignUp/SignUpTabContent.tsx b/frontend/src/components/auth/SignUp/SignUpTabContent.tsx similarity index 91% rename from frontend/components/auth/SignUp/SignUpTabContent.tsx rename to frontend/src/components/auth/SignUp/SignUpTabContent.tsx index 83f699bea..c33bf28cb 100644 --- a/frontend/components/auth/SignUp/SignUpTabContent.tsx +++ b/frontend/src/components/auth/SignUp/SignUpTabContent.tsx @@ -1,7 +1,7 @@ import React, { Dispatch, useState } from 'react'; -import { SignUpEnum } from '../../../utils/signUp.enum'; -import { TabsContent } from '../../Primitives/Tab'; +import { TabsContent } from 'components/Primitives/Tab'; +import { SignUpEnum } from 'utils/signUp.enum'; import RegisterForm from './RegisterForm'; import SignUpForm from './SignUpForm'; import SignUpOptionsForm from './SignUpOptionsForm'; diff --git a/frontend/components/breadcrumb/Breadcrumb/index.tsx b/frontend/src/components/breadcrumb/Breadcrumb/index.tsx similarity index 84% rename from frontend/components/breadcrumb/Breadcrumb/index.tsx rename to frontend/src/components/breadcrumb/Breadcrumb/index.tsx index d482d7dd3..7078db410 100644 --- a/frontend/components/breadcrumb/Breadcrumb/index.tsx +++ b/frontend/src/components/breadcrumb/Breadcrumb/index.tsx @@ -1,7 +1,7 @@ import React, { Fragment } from 'react'; -import { BreadcrumbItemType, BreadcrumbType } from '../../../types/board/Breadcrumb'; -import Icon from '../../icons/Icon'; +import Icon from 'components/icons/Icon'; +import { BreadcrumbItemType, BreadcrumbType } from 'types/board/Breadcrumb'; import BreadcrumbItem from '../BreadcrumbItem'; import { StyledList } from './styles'; diff --git a/frontend/components/breadcrumb/Breadcrumb/styles.tsx b/frontend/src/components/breadcrumb/Breadcrumb/styles.tsx similarity index 73% rename from frontend/components/breadcrumb/Breadcrumb/styles.tsx rename to frontend/src/components/breadcrumb/Breadcrumb/styles.tsx index 150380469..d1bae41a4 100644 --- a/frontend/components/breadcrumb/Breadcrumb/styles.tsx +++ b/frontend/src/components/breadcrumb/Breadcrumb/styles.tsx @@ -1,4 +1,4 @@ -import { styled } from '../../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const StyledList = styled('ul', { display: 'flex', diff --git a/frontend/components/breadcrumb/BreadcrumbItem/index.tsx b/frontend/src/components/breadcrumb/BreadcrumbItem/index.tsx similarity index 85% rename from frontend/components/breadcrumb/BreadcrumbItem/index.tsx rename to frontend/src/components/breadcrumb/BreadcrumbItem/index.tsx index c3875a99c..22114c1c2 100644 --- a/frontend/components/breadcrumb/BreadcrumbItem/index.tsx +++ b/frontend/src/components/breadcrumb/BreadcrumbItem/index.tsx @@ -1,6 +1,6 @@ import Link from 'next/link'; -import { BreadcrumbItemType } from '../../../types/board/Breadcrumb'; +import { BreadcrumbItemType } from 'types/board/Breadcrumb'; import { StyledBreadcrumbItem } from './styles'; type Props = { diff --git a/frontend/components/breadcrumb/BreadcrumbItem/styles.tsx b/frontend/src/components/breadcrumb/BreadcrumbItem/styles.tsx similarity index 86% rename from frontend/components/breadcrumb/BreadcrumbItem/styles.tsx rename to frontend/src/components/breadcrumb/BreadcrumbItem/styles.tsx index 06b185e12..4301ea014 100644 --- a/frontend/components/breadcrumb/BreadcrumbItem/styles.tsx +++ b/frontend/src/components/breadcrumb/BreadcrumbItem/styles.tsx @@ -1,4 +1,4 @@ -import { styled } from '../../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const StyledBreadcrumbItem = styled('li', { variants: { diff --git a/frontend/components/icons/Banner.tsx b/frontend/src/components/icons/Banner.tsx similarity index 100% rename from frontend/components/icons/Banner.tsx rename to frontend/src/components/icons/Banner.tsx diff --git a/frontend/components/icons/Google.tsx b/frontend/src/components/icons/Google.tsx similarity index 100% rename from frontend/components/icons/Google.tsx rename to frontend/src/components/icons/Google.tsx diff --git a/frontend/components/icons/HeaderBanner.tsx b/frontend/src/components/icons/HeaderBanner.tsx similarity index 100% rename from frontend/components/icons/HeaderBanner.tsx rename to frontend/src/components/icons/HeaderBanner.tsx diff --git a/frontend/components/icons/Icon/index.tsx b/frontend/src/components/icons/Icon/index.tsx similarity index 73% rename from frontend/components/icons/Icon/index.tsx rename to frontend/src/components/icons/Icon/index.tsx index c1942f82b..5358d5719 100644 --- a/frontend/components/icons/Icon/index.tsx +++ b/frontend/src/components/icons/Icon/index.tsx @@ -1,7 +1,8 @@ import React from 'react'; -import { CSSProps } from '../../../stitches.config'; -import Svg from '../../Primitives/Svg'; +import { CSSProps } from 'styles/stitches/stitches.config'; + +import Svg from 'components/Primitives/Svg'; type Props = CSSProps & { name: string; diff --git a/frontend/components/icons/Logo.tsx b/frontend/src/components/icons/Logo.tsx similarity index 100% rename from frontend/components/icons/Logo.tsx rename to frontend/src/components/icons/Logo.tsx diff --git a/frontend/components/icons/Sprite.tsx b/frontend/src/components/icons/Sprite.tsx similarity index 100% rename from frontend/components/icons/Sprite.tsx rename to frontend/src/components/icons/Sprite.tsx diff --git a/frontend/components/icons/calendar/Dot.tsx b/frontend/src/components/icons/calendar/Dot.tsx similarity index 100% rename from frontend/components/icons/calendar/Dot.tsx rename to frontend/src/components/icons/calendar/Dot.tsx diff --git a/frontend/components/icons/calendar/MoreDots.tsx b/frontend/src/components/icons/calendar/MoreDots.tsx similarity index 100% rename from frontend/components/icons/calendar/MoreDots.tsx rename to frontend/src/components/icons/calendar/MoreDots.tsx diff --git a/frontend/components/icons/calendar/ThreeDots.tsx b/frontend/src/components/icons/calendar/ThreeDots.tsx similarity index 100% rename from frontend/components/icons/calendar/ThreeDots.tsx rename to frontend/src/components/icons/calendar/ThreeDots.tsx diff --git a/frontend/components/icons/calendar/TwoDots.tsx b/frontend/src/components/icons/calendar/TwoDots.tsx similarity index 100% rename from frontend/components/icons/calendar/TwoDots.tsx rename to frontend/src/components/icons/calendar/TwoDots.tsx diff --git a/frontend/components/images/EmptyBoards.tsx b/frontend/src/components/images/EmptyBoards.tsx similarity index 100% rename from frontend/components/images/EmptyBoards.tsx rename to frontend/src/components/images/EmptyBoards.tsx diff --git a/frontend/components/images/NoMeetings.tsx b/frontend/src/components/images/NoMeetings.tsx similarity index 100% rename from frontend/components/images/NoMeetings.tsx rename to frontend/src/components/images/NoMeetings.tsx diff --git a/frontend/components/layouts/DashboardLayout/index.tsx b/frontend/src/components/layouts/DashboardLayout/index.tsx similarity index 87% rename from frontend/components/layouts/DashboardLayout/index.tsx rename to frontend/src/components/layouts/DashboardLayout/index.tsx index 1ae5c3114..522965d2c 100644 --- a/frontend/components/layouts/DashboardLayout/index.tsx +++ b/frontend/src/components/layouts/DashboardLayout/index.tsx @@ -1,9 +1,9 @@ -import Link from 'next/link'; import { ReactNode } from 'react'; +import Link from 'next/link'; -import Icon from '../../icons/Icon'; -import Flex from '../../Primitives/Flex'; -import Text from '../../Primitives/Text'; +import Icon from 'components/icons/Icon'; +import Flex from 'components/Primitives/Flex'; +import Text from 'components/Primitives/Text'; import { AddNewBoardButton, ContentSection } from './styles'; type DashboardLayoutProps = { diff --git a/frontend/components/layouts/DashboardLayout/styles.tsx b/frontend/src/components/layouts/DashboardLayout/styles.tsx similarity index 67% rename from frontend/components/layouts/DashboardLayout/styles.tsx rename to frontend/src/components/layouts/DashboardLayout/styles.tsx index 7e8bbea1e..7e1ce77c9 100644 --- a/frontend/components/layouts/DashboardLayout/styles.tsx +++ b/frontend/src/components/layouts/DashboardLayout/styles.tsx @@ -1,6 +1,7 @@ -import { styled } from '../../../stitches.config'; -import Button from '../../Primitives/Button'; -import Flex from '../../Primitives/Flex'; +import { styled } from 'styles/stitches/stitches.config'; + +import Button from 'components/Primitives/Button'; +import Flex from 'components/Primitives/Flex'; const ContentSection = styled('section', Flex, { width: '100%', diff --git a/frontend/components/layouts/Layout/index.tsx b/frontend/src/components/layouts/Layout/index.tsx similarity index 84% rename from frontend/components/layouts/Layout/index.tsx rename to frontend/src/components/layouts/Layout/index.tsx index 5dab36493..96e7e746e 100644 --- a/frontend/components/layouts/Layout/index.tsx +++ b/frontend/src/components/layouts/Layout/index.tsx @@ -1,11 +1,11 @@ +import React, { ReactNode, useMemo } from 'react'; import { useRouter } from 'next/router'; import { signOut, useSession } from 'next-auth/react'; -import React, { ReactNode, useMemo } from 'react'; -import { REFRESH_TOKEN_ERROR } from '../../../utils/constants'; -import { BOARDS_ROUTE, DASHBOARD_ROUTE } from '../../../utils/routes'; -import LoadingPage from '../../loadings/LoadingPage'; -import { Sidebar } from '../../Sidebar'; +import LoadingPage from 'components/loadings/LoadingPage'; +import { Sidebar } from 'components/Sidebar'; +import { REFRESH_TOKEN_ERROR } from 'utils/constants'; +import { BOARDS_ROUTE, DASHBOARD_ROUTE } from 'utils/routes'; import DashboardLayout from '../DashboardLayout'; import { Container } from './styles'; diff --git a/frontend/components/layouts/Layout/styles.tsx b/frontend/src/components/layouts/Layout/styles.tsx similarity index 76% rename from frontend/components/layouts/Layout/styles.tsx rename to frontend/src/components/layouts/Layout/styles.tsx index 0aa88db45..783288afa 100644 --- a/frontend/components/layouts/Layout/styles.tsx +++ b/frontend/src/components/layouts/Layout/styles.tsx @@ -1,4 +1,4 @@ -import { styled } from '../../../stitches.config'; +import { styled } from 'styles/stitches/stitches.config'; const Container = styled('main', { width: 'calc(100vw - 256px)', diff --git a/frontend/components/loadings/DotsLoading/index.tsx b/frontend/src/components/loadings/DotsLoading/index.tsx similarity index 87% rename from frontend/components/loadings/DotsLoading/index.tsx rename to frontend/src/components/loadings/DotsLoading/index.tsx index f00824c49..468b005a7 100644 --- a/frontend/components/loadings/DotsLoading/index.tsx +++ b/frontend/src/components/loadings/DotsLoading/index.tsx @@ -1,4 +1,5 @@ -import { CSSProps } from '../../../stitches.config'; +import { CSSProps } from 'styles/stitches/stitches.config'; + import { Dots } from './styles'; type Props = CSSProps & { diff --git a/frontend/components/loadings/DotsLoading/styles.tsx b/frontend/src/components/loadings/DotsLoading/styles.tsx similarity index 95% rename from frontend/components/loadings/DotsLoading/styles.tsx rename to frontend/src/components/loadings/DotsLoading/styles.tsx index 30be4443e..2a259f895 100644 --- a/frontend/components/loadings/DotsLoading/styles.tsx +++ b/frontend/src/components/loadings/DotsLoading/styles.tsx @@ -1,4 +1,4 @@ -import { keyframes, styled } from '../../../stitches.config'; +import { keyframes, styled } from 'styles/stitches/stitches.config'; const scale = keyframes({ '0%': { diff --git a/frontend/components/loadings/Loading/index.tsx b/frontend/src/components/loadings/Loading/index.tsx similarity index 92% rename from frontend/components/loadings/Loading/index.tsx rename to frontend/src/components/loadings/Loading/index.tsx index 9fe99068d..db9865a9c 100644 --- a/frontend/components/loadings/Loading/index.tsx +++ b/frontend/src/components/loadings/Loading/index.tsx @@ -1,4 +1,4 @@ -import { keyframes, styled } from '../../../stitches.config'; +import { keyframes, styled } from 'styles/stitches/stitches.config'; const spinner = keyframes({ '0%': { diff --git a/frontend/components/loadings/LoadingPage/index.tsx b/frontend/src/components/loadings/LoadingPage/index.tsx similarity index 86% rename from frontend/components/loadings/LoadingPage/index.tsx rename to frontend/src/components/loadings/LoadingPage/index.tsx index 9b6c80348..1258f7d37 100644 --- a/frontend/components/loadings/LoadingPage/index.tsx +++ b/frontend/src/components/loadings/LoadingPage/index.tsx @@ -1,4 +1,5 @@ -import { CSSProps } from '../../../stitches.config'; +import { CSSProps } from 'styles/stitches/stitches.config'; + import { Loading } from '../Loading'; import { Overlay } from './styles'; diff --git a/frontend/components/loadings/LoadingPage/styles.tsx b/frontend/src/components/loadings/LoadingPage/styles.tsx similarity index 83% rename from frontend/components/loadings/LoadingPage/styles.tsx rename to frontend/src/components/loadings/LoadingPage/styles.tsx index 0c43886ef..61568d6e0 100644 --- a/frontend/components/loadings/LoadingPage/styles.tsx +++ b/frontend/src/components/loadings/LoadingPage/styles.tsx @@ -1,6 +1,6 @@ import { styled } from '@stitches/react'; -import Flex from '../../Primitives/Flex'; +import Flex from 'components/Primitives/Flex'; const Overlay = styled('div', Flex, { position: 'absolute', diff --git a/frontend/errors/auth-messages.ts b/frontend/src/errors/auth-messages.ts similarity index 96% rename from frontend/errors/auth-messages.ts rename to frontend/src/errors/auth-messages.ts index 0316e1e1c..b05909042 100644 --- a/frontend/errors/auth-messages.ts +++ b/frontend/src/errors/auth-messages.ts @@ -1,7 +1,7 @@ enum AuthErrorEnumMessages { DEFAULT = 'There was a connection error, please try again.', EMAIL_EXISTS = 'This email already exists.', - INVALID_CREDENTIALS = 'The username or password you have entered is invalid.', + INVALID_CREDENTIALS = 'The username or password you have entered is invalid.' } export const getAuthError = (code: number) => { diff --git a/frontend/helper/board/comments.ts b/frontend/src/helper/board/comments.ts similarity index 76% rename from frontend/helper/board/comments.ts rename to frontend/src/helper/board/comments.ts index 7e2b889b2..644965248 100644 --- a/frontend/helper/board/comments.ts +++ b/frontend/src/helper/board/comments.ts @@ -1,5 +1,5 @@ -import CardType from '../../types/card/card'; -import CommentType from '../../types/comment/comment'; +import CardType from 'types/card/card'; +import CommentType from 'types/comment/comment'; export const getCommentsFromCardGroup = (card: CardType) => { const comments: CommentType[] = []; diff --git a/frontend/helper/board/countCards.ts b/frontend/src/helper/board/countCards.ts similarity index 80% rename from frontend/helper/board/countCards.ts rename to frontend/src/helper/board/countCards.ts index 9f820dc52..550a586cd 100644 --- a/frontend/helper/board/countCards.ts +++ b/frontend/src/helper/board/countCards.ts @@ -1,4 +1,4 @@ -import ColumnType from '../../types/column'; +import ColumnType from 'types/column'; export const countBoardCards = (columns: ColumnType[]) => columns.reduce((acc, column) => { diff --git a/frontend/helper/board/transformBoard.tsx b/frontend/src/helper/board/transformBoard.tsx similarity index 77% rename from frontend/helper/board/transformBoard.tsx rename to frontend/src/helper/board/transformBoard.tsx index 211f24db3..3d3a8b9a9 100644 --- a/frontend/helper/board/transformBoard.tsx +++ b/frontend/src/helper/board/transformBoard.tsx @@ -1,6 +1,6 @@ -import BoardType from '../../types/board/board'; -import UpdateCardPositionDto from '../../types/card/updateCardPosition.dto'; -import { addElementAtIndex, removeElementAtIndex } from '../../utils/array'; +import BoardType from 'types/board/board'; +import UpdateCardPositionDto from 'types/card/updateCardPosition.dto'; +import { addElementAtIndex, removeElementAtIndex } from 'utils/array'; export const handleUpdateCardPosition = (board: BoardType, changes: UpdateCardPositionDto) => { // avoid read only error diff --git a/frontend/helper/board/votes.ts b/frontend/src/helper/board/votes.ts similarity index 89% rename from frontend/helper/board/votes.ts rename to frontend/src/helper/board/votes.ts index a68885950..1ea22a75b 100644 --- a/frontend/helper/board/votes.ts +++ b/frontend/src/helper/board/votes.ts @@ -1,5 +1,5 @@ -import BoardType from '../../types/board/board'; -import CardType from '../../types/card/card'; +import BoardType from 'types/board/board'; +import CardType from 'types/card/card'; const countVotes = (board: BoardType, userId: string) => { if (!userId || !board) return 0; diff --git a/frontend/hooks/useBoard.tsx b/frontend/src/hooks/useBoard.tsx similarity index 87% rename from frontend/hooks/useBoard.tsx rename to frontend/src/hooks/useBoard.tsx index d14e3a1c4..f4ed12840 100644 --- a/frontend/hooks/useBoard.tsx +++ b/frontend/src/hooks/useBoard.tsx @@ -6,11 +6,11 @@ import { deleteBoardRequest, getBoardRequest, updateBoardRequest -} from '../api/boardService'; -import { boardState } from '../store/board/atoms/board.atom'; -import BoardType from '../types/board/board'; -import UseBoardType from '../types/board/useBoard'; -import { ToastStateEnum } from '../utils/enums/toast-types'; +} from 'api/boardService'; +import { boardState } from 'store/board/atoms/board.atom'; +import BoardType from 'types/board/board'; +import UseBoardType from 'types/board/useBoard'; +import { ToastStateEnum } from 'utils/enums/toast-types'; import useBoardUtils from './useBoardUtils'; interface AutoFetchProps { diff --git a/frontend/hooks/useBoardUtils.tsx b/frontend/src/hooks/useBoardUtils.tsx similarity index 90% rename from frontend/hooks/useBoardUtils.tsx rename to frontend/src/hooks/useBoardUtils.tsx index aaf5913ea..96bff41ae 100644 --- a/frontend/hooks/useBoardUtils.tsx +++ b/frontend/src/hooks/useBoardUtils.tsx @@ -1,8 +1,9 @@ -import { useSession } from 'next-auth/react'; -import { useRouter } from 'next/router'; import { useQueryClient } from 'react-query'; +import { useRouter } from 'next/router'; +import { useSession } from 'next-auth/react'; import { useSetRecoilState } from 'recoil'; -import { toastState } from '../store/toast/atom/toast.atom'; + +import { toastState } from 'store/toast/atom/toast.atom'; const useBoardUtils = () => { const router = useRouter(); diff --git a/frontend/hooks/useCards.tsx b/frontend/src/hooks/useCards.tsx similarity index 93% rename from frontend/hooks/useCards.tsx rename to frontend/src/hooks/useCards.tsx index 304cb22ed..851f818c0 100644 --- a/frontend/hooks/useCards.tsx +++ b/frontend/src/hooks/useCards.tsx @@ -1,6 +1,10 @@ import { useMutation } from 'react-query'; import { useSetRecoilState } from 'recoil'; +import { handleUpdateCardPosition } from 'helper/board/transformBoard'; +import { mergeCardState } from 'store/mergeCard/atoms/merge-card.atom'; +import BoardType from 'types/board/board'; +import { ToastStateEnum } from 'utils/enums/toast-types'; import { addCardRequest, deleteCardRequest, @@ -10,10 +14,6 @@ import { updateCardPositionRequest, updateCardRequest } from '../api/boardService'; -import { handleUpdateCardPosition } from '../helper/board/transformBoard'; -import { mergeCardState } from '../store/mergeCard/atoms/merge-card.atom'; -import BoardType from '../types/board/board'; -import { ToastStateEnum } from '../utils/enums/toast-types'; import useBoardUtils from './useBoardUtils'; const useCards = () => { diff --git a/frontend/hooks/useComments.tsx b/frontend/src/hooks/useComments.tsx similarity index 99% rename from frontend/hooks/useComments.tsx rename to frontend/src/hooks/useComments.tsx index 0bb133d0d..c2676fb79 100644 --- a/frontend/hooks/useComments.tsx +++ b/frontend/src/hooks/useComments.tsx @@ -1,4 +1,5 @@ import { useMutation } from 'react-query'; + import { addCommentRequest, deleteCommentRequest, updateCommentRequest } from '../api/boardService'; import { ToastStateEnum } from '../utils/enums/toast-types'; import useBoardUtils from './useBoardUtils'; diff --git a/frontend/hooks/useCreateBoard.tsx b/frontend/src/hooks/useCreateBoard.tsx similarity index 100% rename from frontend/hooks/useCreateBoard.tsx rename to frontend/src/hooks/useCreateBoard.tsx diff --git a/frontend/hooks/useOnClickOutside.tsx b/frontend/src/hooks/useOnClickOutside.tsx similarity index 85% rename from frontend/hooks/useOnClickOutside.tsx rename to frontend/src/hooks/useOnClickOutside.tsx index 7abff1327..34391a6ca 100644 --- a/frontend/hooks/useOnClickOutside.tsx +++ b/frontend/src/hooks/useOnClickOutside.tsx @@ -7,7 +7,11 @@ const useOnClickOutside = ( useEffect(() => { const listener = (event: MouseEvent | TouchEvent) => { const eventTarget = event.target as Node; - if (!ref.current || ref.current.contains(eventTarget) || eventTarget.textContent === 'Yes') { + if ( + !ref.current || + ref.current.contains(eventTarget) || + eventTarget.textContent === 'Yes' + ) { return; } handler(true); diff --git a/frontend/hooks/useUser.tsx b/frontend/src/hooks/useUser.tsx similarity index 86% rename from frontend/hooks/useUser.tsx rename to frontend/src/hooks/useUser.tsx index 70c77dac2..4a94169be 100644 --- a/frontend/hooks/useUser.tsx +++ b/frontend/src/hooks/useUser.tsx @@ -1,20 +1,20 @@ -import { AxiosError } from 'axios'; +import { Dispatch, SetStateAction } from 'react'; +import { useMutation } from 'react-query'; import { useRouter } from 'next/router'; import { RedirectableProviderType } from 'next-auth/providers'; import { signIn } from 'next-auth/react'; -import { Dispatch, SetStateAction } from 'react'; -import { useMutation } from 'react-query'; +import { AxiosError } from 'axios'; -import { resetTokenEmail, resetUserPassword } from '../api/authService'; +import { resetTokenEmail, resetUserPassword } from 'api/authService'; import { EmailUser, NewPassword, ResetPasswordResponse, ResetTokenResponse, UseUserType -} from '../types/user/user'; -import { transformLoginErrorCodes } from '../utils/errorCodes'; -import { DASHBOARD_ROUTE } from '../utils/routes'; +} from 'types/user/user'; +import { transformLoginErrorCodes } from 'utils/errorCodes'; +import { DASHBOARD_ROUTE } from 'utils/routes'; const useUser = (setErrorCode?: Dispatch>): UseUserType => { const router = useRouter(); diff --git a/frontend/hooks/useVotes.tsx b/frontend/src/hooks/useVotes.tsx similarity index 99% rename from frontend/hooks/useVotes.tsx rename to frontend/src/hooks/useVotes.tsx index d0ff443d9..2cddbf7f1 100644 --- a/frontend/hooks/useVotes.tsx +++ b/frontend/src/hooks/useVotes.tsx @@ -1,4 +1,5 @@ import { useMutation } from 'react-query'; + import { addVoteRequest, deleteVoteRequest } from '../api/boardService'; import { ToastStateEnum } from '../utils/enums/toast-types'; import useBoardUtils from './useBoardUtils'; diff --git a/frontend/pages/404.tsx b/frontend/src/pages/404.tsx similarity index 75% rename from frontend/pages/404.tsx rename to frontend/src/pages/404.tsx index 722e87dec..0c77e3e06 100644 --- a/frontend/pages/404.tsx +++ b/frontend/src/pages/404.tsx @@ -1,14 +1,15 @@ import Link from 'next/link'; -import Banner from '../components/icons/Banner'; -import LogoIcon from '../components/icons/Logo'; -import Text from '../components/Primitives/Text'; import { BannerContainer, ContainerSection, GoBackButton, ImageBackground -} from '../styles/pages/error.styles'; +} from 'styles/pages/error.styles'; + +import Banner from 'components/icons/Banner'; +import LogoIcon from 'components/icons/Logo'; +import Text from 'components/Primitives/Text'; export default function Custom404() { return ( @@ -31,7 +32,7 @@ export default function Custom404() { The page you are looking for might have been removed or is temporarily unavailable - + { return ( @@ -30,7 +31,7 @@ const Custom500 = () => { Try to refresh this page or feel free to contact us if the problem persists. - + ReactNode; diff --git a/frontend/pages/_document.tsx b/frontend/src/pages/_document.tsx similarity index 72% rename from frontend/pages/_document.tsx rename to frontend/src/pages/_document.tsx index 6c6b907a0..3cc193ab1 100644 --- a/frontend/pages/_document.tsx +++ b/frontend/src/pages/_document.tsx @@ -1,6 +1,6 @@ import { Head, Html, Main, NextScript } from 'next/document'; -import { getCssText } from '../stitches.config'; +import { getCssText } from 'styles/stitches/stitches.config'; export default function Document() { return ( @@ -13,7 +13,11 @@ export default function Document() { rel="stylesheet" crossOrigin="true" /> - +