From 8de3ae090f42b75e353ba1c94a03fc03c6387b9d Mon Sep 17 00:00:00 2001 From: Jaemin Choi <1dotolee@gmail.com> Date: Wed, 6 Mar 2024 03:03:16 +0900 Subject: [PATCH] feat: move sources into apps folder (#1503) * feat: remove old frontend sources * feat: move sources into apps folder * chore: remove vue things * fix: update pnpm filter * chore: move caddyfile into infra folder --- .devcontainer/devcontainer.json | 3 +- .github/workflows/cd-dev.yml | 8 +- .github/workflows/cd-prod.yml | 4 +- .github/workflows/ci.yml | 46 +- .gitpod.yml | 1 - .vscode/launch.json | 17 +- apollo.config.js | 2 +- {backend => apps/backend}/.dockerignore | 0 {backend => apps/backend}/.mocharc.json | 0 {backend => apps/backend}/.swcrc | 0 {backend => apps/backend}/Dockerfile | 4 +- .../apps/admin/src/admin.controller.spec.ts | 0 .../apps/admin/src/admin.controller.ts | 0 .../backend}/apps/admin/src/admin.module.ts | 0 .../backend}/apps/admin/src/admin.service.ts | 0 .../src/announcement/announcement.module.ts | 0 .../src/announcement/announcement.resolver.ts | 0 .../src/announcement/announcement.service.ts | 0 .../dto/create-announcement.input.ts | 0 .../dto/update-announcement.input.ts | 0 .../apps/admin/src/contest/contest.module.ts | 0 .../admin/src/contest/contest.resolver.ts | 0 .../admin/src/contest/contest.service.spec.ts | 0 .../apps/admin/src/contest/contest.service.ts | 0 .../model/contest-with-participants.model.ts | 0 .../admin/src/contest/model/contest.input.ts | 0 .../model/publicizing-request.model.ts | 0 .../model/publicizing-response.output.ts | 0 .../apps/admin/src/group/group.module.ts | 0 .../admin/src/group/group.resolver.spec.ts | 0 .../apps/admin/src/group/group.resolver.ts | 0 .../admin/src/group/group.service.spec.ts | 0 .../apps/admin/src/group/group.service.ts | 0 .../apps/admin/src/group/model/group.input.ts | 0 .../admin/src/group/model/group.output.ts | 0 .../backend}/apps/admin/src/main.ts | 0 .../admin/src/notice/model/notice.input.ts | 0 .../apps/admin/src/notice/notice.module.ts | 0 .../apps/admin/src/notice/notice.resolver.ts | 0 .../admin/src/notice/notice.service.spec.ts | 0 .../apps/admin/src/notice/notice.service.ts | 0 .../admin/src/problem/dto/file-upload.dto.ts | 0 .../apps/admin/src/problem/mock/mock.ts | 0 .../apps/admin/src/problem/mock/testdata.xlsx | Bin .../src/problem/model/problem.constants.ts | 0 .../admin/src/problem/model/problem.input.ts | 0 .../admin/src/problem/model/template.input.ts | 0 .../admin/src/problem/model/testcase.input.ts | 0 .../admin/src/problem/problem-tag.resolver.ts | 0 .../apps/admin/src/problem/problem.module.ts | 0 .../src/problem/problem.resolver.spec.ts | 0 .../admin/src/problem/problem.resolver.ts | 0 .../admin/src/problem/problem.service.spec.ts | 0 .../apps/admin/src/problem/problem.service.ts | 0 .../apps/admin/src/storage/content.type.ts | 0 .../apps/admin/src/storage/s3.provider.ts | 0 .../apps/admin/src/storage/storage.module.ts | 0 .../admin/src/storage/storage.service.spec.ts | 0 .../apps/admin/src/storage/storage.service.ts | 0 .../admin/src/user/model/groupMember.model.ts | 0 .../apps/admin/src/user/user.module.ts | 0 .../apps/admin/src/user/user.resolver.spec.ts | 0 .../apps/admin/src/user/user.resolver.ts | 0 .../apps/admin/src/user/user.service.spec.ts | 0 .../apps/admin/src/user/user.service.ts | 0 .../backend}/apps/admin/tsconfig.app.json | 0 .../announcement.controller.spec.ts | 0 .../announcement/announcement.controller.ts | 0 .../src/announcement/announcement.module.ts | 0 .../announcement/announcement.service.spec.ts | 0 .../src/announcement/announcement.service.ts | 0 .../apps/client/src/app.controller.spec.ts | 0 .../apps/client/src/app.controller.ts | 0 .../backend}/apps/client/src/app.module.ts | 0 .../backend}/apps/client/src/app.service.ts | 0 .../client/src/auth/auth.controller.spec.ts | 0 .../apps/client/src/auth/auth.controller.ts | 0 .../apps/client/src/auth/auth.module.ts | 0 .../apps/client/src/auth/auth.service.spec.ts | 0 .../apps/client/src/auth/auth.service.ts | 0 .../client/src/auth/dto/login-user.dto.ts | 0 .../auth/interface/social-user.interface.ts | 0 .../src/contest/contest.controller.spec.ts | 0 .../client/src/contest/contest.controller.ts | 0 .../apps/client/src/contest/contest.module.ts | 0 .../src/contest/contest.service.spec.ts | 0 .../client/src/contest/contest.service.ts | 0 .../apps/client/src/email/email.module.ts | 0 .../client/src/email/email.service.spec.ts | 0 .../apps/client/src/email/email.service.ts | 0 .../client/src/email/mailerConfig.service.ts | 0 .../client/src/email/templates/email-auth.hbs | 0 .../apps/client/src/email/templates/logo.png | Bin .../client/src/group/group.controller.spec.ts | 0 .../apps/client/src/group/group.controller.ts | 0 .../apps/client/src/group/group.module.ts | 0 .../client/src/group/group.service.spec.ts | 0 .../apps/client/src/group/group.service.ts | 0 .../interface/user-group-data.interface.ts | 0 .../apps/client/src/group/mock/group.mock.ts | 0 .../backend}/apps/client/src/main.ts | 0 .../src/notice/notice.controller.spec.ts | 0 .../client/src/notice/notice.controller.ts | 0 .../apps/client/src/notice/notice.module.ts | 0 .../client/src/notice/notice.service.spec.ts | 0 .../apps/client/src/notice/notice.service.ts | 0 .../src/problem/code-draft.controller.ts | 0 .../problem/dto/code-draft.response.dto.ts | 0 .../src/problem/dto/create-code-draft.dto.ts | 0 .../src/problem/dto/problem.response.dto.ts | 0 .../src/problem/dto/problems.response.dto.ts | 0 .../dto/related-problem.response.dto.ts | 0 .../dto/related-problems.response.dto.ts | 0 .../src/problem/enum/problem-order.enum.ts | 0 .../client/src/problem/mock/problem.mock.ts | 0 .../src/problem/problem.controller.spec.ts | 0 .../client/src/problem/problem.controller.ts | 0 .../apps/client/src/problem/problem.module.ts | 0 .../client/src/problem/problem.repository.ts | 0 .../src/problem/problem.service.spec.ts | 0 .../client/src/problem/problem.service.ts | 0 .../submission/dto/create-submission.dto.ts | 0 .../src/submission/dto/judge-request.class.ts | 0 .../src/submission/dto/judger-response.dto.ts | 0 .../src/submission/mock/problem.mock.ts | 0 .../src/submission/mock/submission.mock.ts | 0 .../submission/mock/submissionResult.mock.ts | 0 .../submission/submission.controller.spec.ts | 0 .../src/submission/submission.controller.ts | 0 .../src/submission/submission.module.ts | 0 .../src/submission/submission.service.spec.ts | 0 .../src/submission/submission.service.ts | 0 .../client/src/user/dto/deleteUser.dto.ts | 0 .../client/src/user/dto/email-auth-pin.dto.ts | 0 .../client/src/user/dto/newPassword.dto.ts | 0 .../apps/client/src/user/dto/signup.dto.ts | 0 .../client/src/user/dto/social-signup.dto.ts | 0 .../src/user/dto/update-user-email.dto.ts | 0 .../src/user/dto/update-userprofile.dto.ts | 0 .../apps/client/src/user/dto/userEmail.dto.ts | 0 .../apps/client/src/user/dto/username.dto.ts | 0 .../interface/create-userprofile.interface.ts | 0 .../src/user/interface/jwt.interface.ts | 0 .../client/src/user/user.controller.spec.ts | 0 .../apps/client/src/user/user.controller.ts | 0 .../apps/client/src/user/user.module.ts | 0 .../apps/client/src/user/user.service.spec.ts | 0 .../apps/client/src/user/user.service.ts | 0 .../src/workbook/workbook.controller.spec.ts | 0 .../src/workbook/workbook.controller.ts | 0 .../client/src/workbook/workbook.module.ts | 0 .../src/workbook/workbook.service.spec.ts | 0 .../client/src/workbook/workbook.service.ts | 0 .../backend}/apps/client/tsconfig.app.json | 0 {backend => apps/backend}/entrypoint.sh | 0 .../src/authenticated-request.interface.ts | 0 .../libs/auth/src/authenticated-user.class.ts | 0 .../libs/auth/src/github/github.strategy.ts | 0 .../backend}/libs/auth/src/guard.decorator.ts | 0 .../backend}/libs/auth/src/index.ts | 0 .../libs/auth/src/jwt/jwt-auth.guard.ts | 0 .../libs/auth/src/jwt/jwt-auth.module.ts | 0 .../auth/src/jwt/jwt-auth.service.spec.ts | 0 .../libs/auth/src/jwt/jwt-auth.service.ts | 0 .../libs/auth/src/jwt/jwt.interface.ts | 0 .../libs/auth/src/jwt/jwt.strategy.ts | 0 .../libs/auth/src/kakao/kakao.strategy.ts | 0 .../libs/auth/src/roles/group-leader.guard.ts | 0 .../libs/auth/src/roles/group-member.guard.ts | 0 .../libs/auth/src/roles/roles.decorator.ts | 0 .../libs/auth/src/roles/roles.guard.ts | 0 .../libs/auth/src/roles/roles.module.ts | 0 .../libs/auth/src/roles/roles.service.spec.ts | 0 .../libs/auth/src/roles/roles.service.ts | 0 .../backend}/libs/auth/tsconfig.lib.json | 0 .../libs/cache/src/cache-config.service.ts | 0 .../backend}/libs/cache/src/index.ts | 0 .../backend}/libs/cache/src/keys.ts | 0 .../backend}/libs/cache/tsconfig.lib.json | 0 .../backend}/libs/constants/src/index.ts | 0 .../libs/constants/src/oauth.constants.ts | 0 .../libs/constants/src/rabbitmq.constants.ts | 0 .../constants/src/submission.constants.ts | 0 .../libs/constants/src/time.constants.ts | 0 .../backend}/libs/constants/tsconfig.lib.json | 0 .../exception/src/apollo-error-formatter.ts | 0 .../libs/exception/src/business.exception.ts | 0 .../backend}/libs/exception/src/filter.ts | 0 .../libs/exception/src/graphql-error-code.ts | 0 .../backend}/libs/exception/src/index.ts | 0 .../backend}/libs/exception/tsconfig.lib.json | 0 .../libs/logger/src/apollo-plugin.logger.ts | 0 .../backend}/libs/logger/src/index.ts | 0 .../libs/logger/src/pino-option.logger.ts | 0 .../backend}/libs/logger/tsconfig.lib.json | 0 .../libs/pipe/src/cursor-validation.pipe.ts | 0 .../backend}/libs/pipe/src/group-id.pipe.ts | 0 .../libs/pipe/src/id-validation.pipe.ts | 0 .../backend}/libs/pipe/src/index.ts | 0 .../libs/pipe/src/problem-order.pipe.ts | 0 .../libs/pipe/src/required-int.pipe.ts | 0 .../backend}/libs/pipe/tsconfig.lib.json | 0 .../backend}/libs/prisma/src/index.ts | 0 .../backend}/libs/prisma/src/prisma.module.ts | 0 .../libs/prisma/src/prisma.service.spec.ts | 0 .../libs/prisma/src/prisma.service.ts | 0 .../backend}/libs/prisma/tsconfig.lib.json | 0 .../libs/types/src/group-join-request.type.ts | 0 .../backend}/libs/types/src/index.ts | 0 .../backend}/libs/types/tsconfig.lib.json | 0 {backend => apps/backend}/mocha-fixture.ts | 0 {backend => apps/backend}/nest-cli.json | 0 {backend => apps/backend}/package.json | 4 +- .../problem/1-description-eng.html | 0 .../__fixtures__/problem/1-description.html | 0 .../__fixtures__/problem/1-input-eng.html | 0 .../prisma/__fixtures__/problem/1-input.html | 0 .../__fixtures__/problem/1-output-eng.html | 0 .../prisma/__fixtures__/problem/1-output.html | 0 .../__fixtures__/problem/2-description.html | 0 .../prisma/__fixtures__/problem/2-input.html | 0 .../prisma/__fixtures__/problem/2-output.html | 0 .../__fixtures__/problem/3-description.html | 0 .../prisma/__fixtures__/problem/3-input.html | 0 .../prisma/__fixtures__/problem/3-output.html | 0 .../__fixtures__/problem/4-description.html | 0 .../prisma/__fixtures__/problem/4-hint.html | 0 .../prisma/__fixtures__/problem/4-input.html | 0 .../prisma/__fixtures__/problem/4-output.html | 0 .../__fixtures__/problem/5-description.html | 0 .../prisma/__fixtures__/problem/5-input.html | 0 .../prisma/__fixtures__/problem/5-output.html | 0 .../__fixtures__/problem/6-description.html | 0 .../prisma/__fixtures__/problem/6-hint.html | 0 .../prisma/__fixtures__/problem/6-input.html | 0 .../prisma/__fixtures__/problem/6-output.html | 0 .../__fixtures__/problem/7-description.html | 0 .../prisma/__fixtures__/problem/7-input.html | 0 .../prisma/__fixtures__/problem/7-output.html | 0 .../__fixtures__/problem/8-description.html | 0 .../prisma/__fixtures__/problem/8-hint.html | 0 .../prisma/__fixtures__/problem/8-input.html | 0 .../prisma/__fixtures__/problem/8-output.html | 0 .../20220413125002_init/migration.sql | 0 .../20220620162501_basic_plan/migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../20220706072821_contest_type/migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migrations/20221117125726_/migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migrations/20231218063830_/migration.sql | 0 .../migrations/20231221012339_/migration.sql | 0 .../migrations/20231221044026_/migration.sql | 0 .../migration.sql | 0 .../20231228083547_add_ac_rate/migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../20240107173556_code_draft/migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 .../prisma/migrations/migration_lock.toml | 0 .../backend}/prisma/schema.prisma | 0 {backend => apps/backend}/prisma/seed.ts | 0 {backend => apps/backend}/tsconfig.build.json | 0 {backend => apps/backend}/tsconfig.json | 0 .../frontend}/.eslintrc.js | 0 {frontend-client => apps/frontend}/.gitignore | 0 .../app/(main)/_components/Badge.tsx | 0 .../app/(main)/_components/Carousel.tsx | 0 .../app/(main)/_components/ContestCard.tsx | 0 .../app/(main)/_components/ContestCards.tsx | 0 .../app/(main)/_components/Footer.tsx | 0 .../app/(main)/_components/Header.tsx | 0 .../app/(main)/_components/NavLink.tsx | 0 .../app/(main)/_components/ProblemCard.tsx | 0 .../app/(main)/_components/ProblemCards.tsx | 0 .../app/(main)/_components/TimeDiff.tsx | 0 .../@tabs/_components/ParticipateButton.tsx | 0 .../announcement/_components/Columns.tsx | 0 .../@tabs/announcement/_components/styles.css | 0 .../[contestId]/@tabs/announcement/page.tsx | 0 .../(main)/contest/[contestId]/@tabs/page.tsx | 0 .../@tabs/problem/_components/Columns.tsx | 0 .../[contestId]/@tabs/problem/page.tsx | 0 .../[contestId]/@tabs/standings/page.tsx | 0 .../app/(main)/contest/[contestId]/layout.tsx | 0 .../app/(main)/contest/[contestId]/page.tsx | 0 .../(main)/contest/_components/Columns.tsx | 0 .../contest/_components/ContestCardList.tsx | 0 .../contest/_components/ContestTable.tsx | 0 .../contest/_components/ContestTabs.tsx | 0 .../_components/FinishedContestTable.tsx | 0 .../frontend}/app/(main)/contest/layout.tsx | 0 .../frontend}/app/(main)/contest/page.tsx | 0 .../frontend}/app/(main)/error.tsx | 0 .../frontend}/app/(main)/group/page.tsx | 0 .../frontend}/app/(main)/layout.tsx | 0 .../frontend}/app/(main)/notice/[id]/page.tsx | 0 .../app/(main)/notice/_components/Columns.tsx | 0 .../(main)/notice/_components/NoticeTable.tsx | 0 .../frontend}/app/(main)/notice/layout.tsx | 0 .../frontend}/app/(main)/notice/page.tsx | 0 .../frontend}/app/(main)/page.tsx | 0 .../(main)/problem/_components/Columns.tsx | 0 .../problem/_components/ProblemTable.tsx | 0 .../frontend}/app/(main)/problem/layout.tsx | 0 .../frontend}/app/(main)/problem/page.tsx | 0 .../frontend}/app/PretendardVariable.woff2 | Bin .../app/admin/_components/ApolloProvider.tsx | 0 .../app/admin/_components/GroupSelect.tsx | 0 .../app/admin/_components/SideBar.tsx | 0 .../app/admin/contest/_components/Columns.tsx | 0 .../frontend}/app/admin/contest/page.tsx | 0 .../frontend}/app/admin/layout.tsx | 0 .../frontend}/app/admin/notice/page.tsx | 0 .../frontend}/app/admin/page.tsx | 0 .../frontend}/app/admin/problem/[id]/page.tsx | 0 .../app/admin/problem/_components/Columns.tsx | 0 .../problem/_components/ExampleTextarea.tsx | 0 .../app/admin/problem/_components/Lable.tsx | 0 .../problem/_components/UploadDialog.tsx | 0 .../app/admin/problem/create/page.tsx | 0 .../frontend}/app/admin/problem/page.tsx | 0 .../frontend}/app/admin/problem/utils.ts | 0 .../frontend}/app/admin/user/page.tsx | 0 .../frontend}/app/apple-icon.png | Bin .../problem/[problemId]/layout.tsx | 0 .../[contestId]/problem/[problemId]/page.tsx | 0 .../problem/[problemOrder]/layout.tsx | 0 .../frontend}/app/favicon.ico | Bin .../frontend}/app/global-error.tsx | 0 .../frontend}/app/globals.css | 0 .../frontend}/app/icon.png | Bin .../frontend}/app/layout.tsx | 0 .../frontend}/app/manifest.webmanifest | 0 .../next-auth/api/auth/[...nextauth]/route.ts | 0 .../frontend}/app/opengraph-image.png | Bin .../app/problem/[problemId]/layout.tsx | 0 .../app/problem/[problemId]/loading.tsx | 0 .../app/problem/[problemId]/page.tsx | 0 .../submission/[submissionId]/page.tsx | 0 .../submission/_components/Columns.tsx | 0 .../submission/_components/DataTable.tsx | 0 .../_components/SubmissionDetail.tsx | 0 .../submission/_components/dataIfError.ts | 0 .../[problemId]/submission/loading.tsx | 0 .../problem/[problemId]/submission/page.tsx | 0 .../app/sentry-example-page/page.tsx | 0 {frontend-client => apps/frontend}/codegen.ts | 0 .../frontend}/components.json | 0 .../frontend}/components/CheckboxSelect.tsx | 0 .../frontend}/components/CodeEditor.tsx | 0 .../frontend}/components/Cover.tsx | 0 .../frontend}/components/DataTable.tsx | 0 .../frontend}/components/DataTableAdmin.tsx | 0 .../components/DataTableColumnHeader.tsx | 0 .../components/DataTableLangFilter.tsx | 0 .../components/DataTablePagination.tsx | 0 .../components/DataTableTagsFilter.tsx | 0 .../components/EditorDescription.tsx | 0 .../frontend}/components/EditorHeader.tsx | 0 .../frontend}/components/EditorLayout.tsx | 0 .../components/EditorResizablePanel.tsx | 0 .../frontend}/components/OptionSelect.tsx | 0 .../frontend}/components/Paginator.tsx | 0 .../frontend}/components/SearchBar.tsx | 0 .../frontend}/components/SortButton.tsx | 0 .../frontend}/components/StandingsTable.tsx | 0 .../frontend}/components/TagsSelect.tsx | 0 .../frontend}/components/TextEditor.tsx | 0 .../frontend}/components/auth/AuthModal.tsx | 0 .../components/auth/HeaderAuthPanel.tsx | 0 .../frontend}/components/auth/SignIn.tsx | 0 .../frontend}/components/auth/SignUp.tsx | 0 .../components/auth/SignUpEmailVerify.tsx | 0 .../components/auth/SignUpRegister.tsx | 0 .../components/auth/SignUpWelcome.tsx | 0 .../frontend}/components/ui/accordion.tsx | 0 .../frontend}/components/ui/alert-dialog.tsx | 0 .../frontend}/components/ui/badge.tsx | 0 .../frontend}/components/ui/button.tsx | 0 .../frontend}/components/ui/card.tsx | 0 .../frontend}/components/ui/carousel.tsx | 0 .../frontend}/components/ui/checkbox.tsx | 0 .../frontend}/components/ui/command.tsx | 0 .../frontend}/components/ui/dialog.tsx | 0 .../frontend}/components/ui/dropdown-menu.tsx | 0 .../frontend}/components/ui/form.tsx | 0 .../frontend}/components/ui/input.tsx | 0 .../frontend}/components/ui/label.tsx | 0 .../frontend}/components/ui/pagination.tsx | 0 .../frontend}/components/ui/popover.tsx | 0 .../frontend}/components/ui/resizable.tsx | 0 .../frontend}/components/ui/scroll-area.tsx | 0 .../frontend}/components/ui/select.tsx | 0 .../frontend}/components/ui/separator.tsx | 0 .../frontend}/components/ui/skeleton.tsx | 0 .../frontend}/components/ui/sonner.tsx | 0 .../frontend}/components/ui/switch.tsx | 0 .../frontend}/components/ui/table.tsx | 0 .../frontend}/components/ui/tabs.tsx | 0 .../frontend}/components/ui/textarea.tsx | 0 .../frontend}/components/ui/toggle.tsx | 0 .../frontend}/components/ui/tooltip.tsx | 0 .../frontend}/lib/auth.ts | 0 .../frontend}/lib/constants.ts | 0 .../frontend}/lib/pagination.ts | 0 .../frontend}/lib/storage.ts | 0 .../frontend}/lib/utils.ts | 0 .../frontend}/middleware.ts | 0 .../frontend}/next.config.js | 0 .../frontend}/package.json | 2 +- .../frontend}/postcss.config.js | 0 .../public/android-chrome-192x192.png | Bin .../public/android-chrome-512x512.png | Bin .../frontend}/public/codedang-editor.svg | 0 .../frontend}/public/codedang.svg | 0 .../frontend}/public/dummy.png | Bin .../frontend}/public/error.webp | Bin .../frontend}/public/github.svg | 0 .../frontend}/public/kakaotalk.svg | 0 .../frontend}/public/sample.xlsx | Bin .../frontend}/public/skkudingLogo.png | Bin .../frontend}/sentry.client.config.ts | 0 .../frontend}/sentry.edge.config.ts | 0 .../frontend}/sentry.server.config.ts | 0 .../frontend}/stores/authModal.ts | 0 .../frontend}/stores/editor.ts | 0 .../frontend}/stores/signUpModal.ts | 0 .../frontend}/tailwind.config.ts | 0 .../frontend}/tsconfig.json | 0 .../frontend}/types/next-auth.d.ts | 0 .../frontend}/types/type.ts | 0 .../promtail/promtail-config.yml | 0 .../infra}/deploy/.terraform.lock.hcl | 0 {infra => apps/infra}/deploy/main.tf | 0 {infra => apps/infra}/deploy/provider.tf | 0 {infra => apps/infra}/deploy/variable.tf | 0 .../infra}/local/.terraform.lock.hcl | 0 {infra => apps/infra}/local/main.tf | 0 {infra => apps/infra}/local/provider.tf | 0 {infra => apps/infra}/local/variable.tf | 0 .../codedang-infra/.terraform.lock.hcl | 0 .../backend/admin-task-definition.tftpl | 0 .../backend/client-task-definition.tftpl | 0 .../modules/codedang-infra/cloudfront.tf | 0 .../infra}/modules/codedang-infra/db.tf | 0 .../modules/codedang-infra/ecs-api-admin.tf | 0 .../modules/codedang-infra/ecs-api-asg.tf | 0 .../modules/codedang-infra/ecs-api-client.tf | 0 .../modules/codedang-infra/ecs-iris-asg.tf | 0 .../codedang-infra/ecs-iris-service-asg.tf | 0 .../infra}/modules/codedang-infra/ecs-iris.tf | 0 .../infra}/modules/codedang-infra/ecs.tf | 0 .../codedang-infra/iris/task-definition.tftpl | 0 .../infra}/modules/codedang-infra/main.tf | 0 .../infra}/modules/codedang-infra/mime.json | 0 .../infra}/modules/codedang-infra/network.tf | 0 .../infra}/modules/codedang-infra/rabbitmq.tf | 0 .../infra}/modules/codedang-infra/redis.tf | 0 .../infra}/modules/codedang-infra/route53.tf | 0 .../infra}/modules/codedang-infra/s3-media.tf | 0 .../modules/codedang-infra/s3-testcase.tf | 0 .../infra}/modules/codedang-infra/secrets.tf | 0 .../modules/codedang-infra/security-group.tf | 0 apps/infra/modules/codedang-infra/testcase.tf | 87 + .../modules/codedang-infra/user-data.sh | 0 .../modules/codedang-infra/variables.tf | 0 .../modules/codedang-tf-backend/backend.tf | 0 Caddyfile => apps/infra/stage/Caddyfile | 0 {iris => apps/iris}/Dockerfile | 0 {iris => apps/iris}/LICENSE | 0 {iris => apps/iris}/go.mod | 2 +- {iris => apps/iris}/go.sum | 0 {iris => apps/iris}/lib/judger/LICENSE | 0 {iris => apps/iris}/lib/judger/README.md | 0 .../iris}/lib/judger/policy/java_policy | 0 {iris => apps/iris}/main.go | 22 +- .../iris}/src/common/constants/constants.go | 0 .../iris}/src/common/result/chResult.go | 0 {iris => apps/iris}/src/connector/factory.go | 6 +- .../iris}/src/connector/interface.go | 0 .../iris}/src/connector/rabbitmq/client.go | 0 .../iris}/src/connector/rabbitmq/connector.go | 4 +- .../iris}/src/connector/rabbitmq/consumer.go | 2 +- .../iris}/src/connector/rabbitmq/producer.go | 2 +- {iris => apps/iris}/src/handler/errors.go | 2 +- {iris => apps/iris}/src/handler/interface.go | 4 +- .../iris}/src/handler/judge-handler.go | 16 +- .../iris}/src/loader/cache/interface.go | 2 +- .../iris}/src/loader/cache/source.go | 0 {iris => apps/iris}/src/loader/interfaces.go | 0 .../iris}/src/loader/s3/interface.go | 2 +- {iris => apps/iris}/src/loader/s3/source.go | 0 {iris => apps/iris}/src/router/response.go | 2 +- {iris => apps/iris}/src/router/router.go | 4 +- .../iris}/src/service/file/manager.go | 2 +- .../iris}/src/service/grader/grader.go | 0 .../iris}/src/service/logger/logger.go | 2 +- .../iris}/src/service/sandbox/compiler.go | 6 +- .../iris}/src/service/sandbox/langConfig.go | 4 +- .../iris}/src/service/sandbox/runner.go | 4 +- .../iris}/src/service/sandbox/sandbox.go | 2 +- .../iris}/src/service/sandbox/sandboxArgs.go | 0 .../iris}/src/service/sandbox/statusCode.go | 0 .../iris}/src/service/testcase/data.go | 0 .../iris}/src/service/testcase/manager.go | 4 +- {iris => apps/iris}/src/utils/get_env.go | 0 {iris => apps/iris}/src/utils/rand_string.go | 0 .../iris}/tests/data/submission/1_answer.json | 0 .../data/submission/1_compile_error.json | 0 .../data/submission/1_partial_answer.json | 0 .../iris}/tests/data/submission/1_wrong.json | 0 .../iris}/tests/data/testcase/1.json | 0 .../iris}/tests/data/testcase/2.json | 0 .../iris}/tests/data/testcase/3.json | 0 .../iris}/tests/data/testcase/4.json | 0 .../iris}/tests/data/testcase/5.json | 0 .../iris}/tests/data/testcase/6.json | 0 .../iris}/tests/data/testcase/7.json | 0 .../iris}/tests/data/testcase/8.json | 0 frontend/.eslintrc.cjs | 46 - frontend/env.d.ts | 5 - frontend/histoire.config.ts | 11 - frontend/index.html | 35 - frontend/package.json | 79 - frontend/postcss.config.js | 6 - frontend/public/android-chrome-192x192.png | Bin 4911 -> 0 bytes frontend/public/android-chrome-512x512.png | Bin 10942 -> 0 bytes frontend/public/apple-touch-icon.png | Bin 4340 -> 0 bytes frontend/public/favicon-16x16.png | Bin 393 -> 0 bytes frontend/public/favicon-32x32.png | Bin 705 -> 0 bytes frontend/public/favicon.ico | Bin 15406 -> 0 bytes frontend/public/open-graph.png | Bin 7500 -> 0 bytes frontend/public/site.webmanifest | 17 - frontend/src/App.vue | 33 - .../admin/components/CreateNoticeModal.vue | 62 - .../admin/components/ImportProblemModal.vue | 249 -- .../[groupId]/contest/CreateContestModal.vue | 65 - .../pages/[groupId]/contest/[id]/edit.vue | 7 - .../pages/[groupId]/contest/[id]/index.vue | 274 -- .../admin/pages/[groupId]/contest/index.vue | 340 -- .../src/admin/pages/[groupId]/home/index.vue | 7 - frontend/src/admin/pages/[groupId]/index.vue | 223 -- .../admin/pages/[groupId]/member/index.vue | 207 -- .../pages/[groupId]/notice/[id]/edit.vue | 7 - .../admin/pages/[groupId]/notice/create.vue | 7 - .../admin/pages/[groupId]/notice/index.vue | 148 - .../admin/pages/[groupId]/pool/[id]/edit.vue | 7 - .../src/admin/pages/[groupId]/pool/create.vue | 7 - .../src/admin/pages/[groupId]/pool/index.vue | 7 - .../pages/[groupId]/problem/[id]/edit.vue | 7 - .../admin/pages/[groupId]/problem/create.vue | 415 --- .../admin/pages/[groupId]/problem/index.vue | 186 - .../submission/SubmissionDetailModal.vue | 114 - .../pages/[groupId]/submission/index.vue | 173 - .../pages/[groupId]/workbook/[id]/edit.vue | 7 - .../pages/[groupId]/workbook/[id]/index.vue | 158 - .../admin/pages/[groupId]/workbook/index.vue | 151 - frontend/src/admin/pages/contest.vue | 126 - frontend/src/admin/pages/index.vue | 258 -- frontend/src/admin/pages/notice.vue | 117 - frontend/src/admin/pages/pool.vue | 164 - frontend/src/admin/pages/problem.vue | 143 - frontend/src/admin/pages/workbook.vue | 110 - frontend/src/common/assets/codedang.svg | 1 - frontend/src/common/assets/dummy.png | Bin 97057 -> 0 bytes frontend/src/common/assets/github.svg | 1 - frontend/src/common/assets/logo.png | Bin 10933 -> 0 bytes frontend/src/common/assets/skkudingLogo.png | Bin 27397 -> 0 bytes .../common/components/Atom/BoxTitle.story.vue | 27 - .../src/common/components/Atom/BoxTitle.vue | 12 - .../common/components/Atom/Button.story.vue | 42 - .../src/common/components/Atom/Button.vue | 75 - .../components/Atom/InputItem.story.vue | 63 - .../src/common/components/Atom/InputItem.vue | 46 - .../common/components/Atom/ListItem.story.vue | 22 - .../src/common/components/Atom/ListItem.vue | 19 - .../components/Atom/PageSubtitle.story.vue | 9 - .../common/components/Atom/PageSubtitle.vue | 9 - .../components/Atom/PageTitle.story.vue | 9 - .../src/common/components/Atom/PageTitle.vue | 9 - .../common/components/Atom/Spinner.story.vue | 18 - .../src/common/components/Atom/Spinner.vue | 51 - .../components/Atom/SymbolLogo.story.vue | 14 - .../src/common/components/Atom/SymbolLogo.vue | 19 - .../components/Atom/TextEditorButton.vue | 13 - .../common/components/Atom/Toast.story.vue | 55 - frontend/src/common/components/Atom/Toast.vue | 64 - .../components/Molecule/Badge.story.vue | 17 - .../src/common/components/Molecule/Badge.vue | 22 - .../common/components/Molecule/Card.story.vue | 73 - .../src/common/components/Molecule/Card.vue | 41 - .../components/Molecule/CardItem.story.vue | 27 - .../common/components/Molecule/CardItem.vue | 50 - .../components/Molecule/Dialog.story.vue | 50 - .../src/common/components/Molecule/Dialog.vue | 61 - .../components/Molecule/Dropdown.story.vue | 42 - .../common/components/Molecule/Dropdown.vue | 40 - .../components/Molecule/Modal.story.vue | 22 - .../src/common/components/Molecule/Modal.vue | 45 - .../common/components/Molecule/NewCard.vue | 16 - .../components/Molecule/Pagination.story.vue | 33 - .../common/components/Molecule/Pagination.vue | 100 - .../Molecule/ProgressCard.story.vue | 28 - .../components/Molecule/ProgressCard.vue | 43 - .../components/Molecule/RadioButton.story.vue | 15 - .../components/Molecule/RadioButton.vue | 27 - .../components/Molecule/SearchBar.story.vue | 9 - .../common/components/Molecule/SearchBar.vue | 34 - .../components/Molecule/Switch.story.vue | 19 - .../src/common/components/Molecule/Switch.vue | 37 - .../common/components/Molecule/Tab.story.vue | 26 - .../src/common/components/Molecule/Tab.vue | 43 - .../common/components/Organism/AuthModal.vue | 59 - .../components/Organism/CodeEditor.story.vue | 36 - .../common/components/Organism/CodeEditor.vue | 115 - .../components/Organism/Footer.story.vue | 11 - .../src/common/components/Organism/Footer.vue | 51 - .../components/Organism/Header.story.vue | 9 - .../src/common/components/Organism/Header.vue | 189 - .../src/common/components/Organism/Login.vue | 60 - .../Organism/PaginationTable.story.vue | 257 -- .../components/Organism/PaginationTable.vue | 196 - .../components/Organism/PasswordReset.vue | 65 - .../components/Organism/Sidebar.story.vue | 14 - .../common/components/Organism/Sidebar.vue | 68 - .../src/common/components/Organism/Signup.vue | 239 -- .../components/Organism/TextEditor.story.vue | 14 - .../common/components/Organism/TextEditor.vue | 117 - frontend/src/common/composables/api.ts | 105 - frontend/src/common/composables/dialog.ts | 37 - frontend/src/common/composables/graphql.ts | 112 - frontend/src/common/composables/toast.ts | 17 - frontend/src/common/layouts/admin.vue | 12 - frontend/src/common/layouts/default.vue | 35 - frontend/src/common/layouts/empty.vue | 1 - frontend/src/common/store/auth.ts | 53 - frontend/src/common/store/user.ts | 19 - frontend/src/common/styles/style.css | 32 - frontend/src/histoire.css | 6 - frontend/src/histoire.setup.ts | 5 - frontend/src/main.ts | 99 - .../src/user/contest/components/Notice.vue | 50 - .../src/user/contest/components/Problem.vue | 30 - .../src/user/contest/components/Ranking.vue | 83 - frontend/src/user/contest/components/Top.vue | 9 - frontend/src/user/contest/pages/[id].vue | 58 - frontend/src/user/contest/pages/index.vue | 125 - .../src/user/group/components/Contest.vue | 159 - .../group/components/GroupListSection.vue | 273 -- frontend/src/user/group/components/Member.vue | 73 - .../src/user/group/components/NameList.vue | 25 - frontend/src/user/group/components/Notice.vue | 50 - .../src/user/group/components/Problem.vue | 52 - .../src/user/group/components/Profile.vue | 36 - .../src/user/group/components/Workbook.vue | 76 - frontend/src/user/group/pages/[id].vue | 71 - frontend/src/user/group/pages/index.vue | 74 - .../user/home/components/Carousel.story.vue | 41 - .../src/user/home/components/Carousel.vue | 110 - .../src/user/home/components/ContestItem.vue | 67 - frontend/src/user/home/pages/404.webp | Bin 18624 -> 0 bytes frontend/src/user/home/pages/[...all].vue | 14 - frontend/src/user/home/pages/index.vue | 130 - .../src/user/notice/composables/notice.ts | 92 - frontend/src/user/notice/pages/[id].vue | 88 - frontend/src/user/notice/pages/index.vue | 37 - .../components/Clarification.story.vue | 7 - .../user/problem/components/Clarification.vue | 131 - .../src/user/problem/components/Header.vue | 79 - .../src/user/problem/components/Navigator.vue | 223 -- .../problem/components/SubmissionDetail.vue | 159 - .../problem/components/SubmissionList.vue | 159 - frontend/src/user/problem/pages/[id].vue | 19 - .../src/user/problem/pages/[id]/index.vue | 180 - .../src/user/problem/pages/[id]/standings.vue | 3 - .../user/problem/pages/[id]/submissions.vue | 27 - frontend/src/user/problem/pages/index.vue | 144 - frontend/src/user/problem/store/problem.ts | 54 - frontend/src/user/problem/types.ts | 2 - .../workbook/components/WorkbookTitle.vue | 37 - .../src/user/workbook/composables/workbook.ts | 53 - frontend/src/user/workbook/pages/[id].vue | 76 - frontend/tailwind.config.ts | 89 - frontend/tsconfig.json | 19 - frontend/tsconfig.node.json | 9 - frontend/vite.config.ts | 56 - knip.ts | 47 +- lefthook.yml | 4 +- package.json | 5 +- pnpm-lock.yaml | 3188 +++-------------- pnpm-workspace.yaml | 4 +- scripts/deploy.sh | 7 +- scripts/init-testcase.ts | 2 +- scripts/post-checkout.sh | 6 +- scripts/setup.sh | 22 +- skkuding.code-workspace | 20 - 745 files changed, 705 insertions(+), 13730 deletions(-) rename {backend => apps/backend}/.dockerignore (100%) rename {backend => apps/backend}/.mocharc.json (100%) rename {backend => apps/backend}/.swcrc (100%) rename {backend => apps/backend}/Dockerfile (82%) rename {backend => apps/backend}/apps/admin/src/admin.controller.spec.ts (100%) rename {backend => apps/backend}/apps/admin/src/admin.controller.ts (100%) rename {backend => apps/backend}/apps/admin/src/admin.module.ts (100%) rename {backend => apps/backend}/apps/admin/src/admin.service.ts (100%) rename {backend => apps/backend}/apps/admin/src/announcement/announcement.module.ts (100%) rename {backend => apps/backend}/apps/admin/src/announcement/announcement.resolver.ts (100%) rename {backend => apps/backend}/apps/admin/src/announcement/announcement.service.ts (100%) rename {backend => apps/backend}/apps/admin/src/announcement/dto/create-announcement.input.ts (100%) rename {backend => apps/backend}/apps/admin/src/announcement/dto/update-announcement.input.ts (100%) rename {backend => apps/backend}/apps/admin/src/contest/contest.module.ts (100%) rename {backend => apps/backend}/apps/admin/src/contest/contest.resolver.ts (100%) rename {backend => apps/backend}/apps/admin/src/contest/contest.service.spec.ts (100%) rename {backend => apps/backend}/apps/admin/src/contest/contest.service.ts (100%) rename {backend => apps/backend}/apps/admin/src/contest/model/contest-with-participants.model.ts (100%) rename {backend => apps/backend}/apps/admin/src/contest/model/contest.input.ts (100%) rename {backend => apps/backend}/apps/admin/src/contest/model/publicizing-request.model.ts (100%) rename {backend => apps/backend}/apps/admin/src/contest/model/publicizing-response.output.ts (100%) rename {backend => apps/backend}/apps/admin/src/group/group.module.ts (100%) rename {backend => apps/backend}/apps/admin/src/group/group.resolver.spec.ts (100%) rename {backend => apps/backend}/apps/admin/src/group/group.resolver.ts (100%) rename {backend => apps/backend}/apps/admin/src/group/group.service.spec.ts (100%) rename {backend => apps/backend}/apps/admin/src/group/group.service.ts (100%) rename {backend => apps/backend}/apps/admin/src/group/model/group.input.ts (100%) rename {backend => apps/backend}/apps/admin/src/group/model/group.output.ts (100%) rename {backend => apps/backend}/apps/admin/src/main.ts (100%) rename {backend => apps/backend}/apps/admin/src/notice/model/notice.input.ts (100%) rename {backend => apps/backend}/apps/admin/src/notice/notice.module.ts (100%) rename {backend => apps/backend}/apps/admin/src/notice/notice.resolver.ts (100%) rename {backend => apps/backend}/apps/admin/src/notice/notice.service.spec.ts (100%) rename {backend => apps/backend}/apps/admin/src/notice/notice.service.ts (100%) rename {backend => apps/backend}/apps/admin/src/problem/dto/file-upload.dto.ts (100%) rename {backend => apps/backend}/apps/admin/src/problem/mock/mock.ts (100%) rename {backend => apps/backend}/apps/admin/src/problem/mock/testdata.xlsx (100%) rename {backend => apps/backend}/apps/admin/src/problem/model/problem.constants.ts (100%) rename {backend => apps/backend}/apps/admin/src/problem/model/problem.input.ts (100%) rename {backend => apps/backend}/apps/admin/src/problem/model/template.input.ts (100%) rename {backend => apps/backend}/apps/admin/src/problem/model/testcase.input.ts (100%) rename {backend => apps/backend}/apps/admin/src/problem/problem-tag.resolver.ts (100%) rename {backend => apps/backend}/apps/admin/src/problem/problem.module.ts (100%) rename {backend => apps/backend}/apps/admin/src/problem/problem.resolver.spec.ts (100%) rename {backend => apps/backend}/apps/admin/src/problem/problem.resolver.ts (100%) rename {backend => apps/backend}/apps/admin/src/problem/problem.service.spec.ts (100%) rename {backend => apps/backend}/apps/admin/src/problem/problem.service.ts (100%) rename {backend => apps/backend}/apps/admin/src/storage/content.type.ts (100%) rename {backend => apps/backend}/apps/admin/src/storage/s3.provider.ts (100%) rename {backend => apps/backend}/apps/admin/src/storage/storage.module.ts (100%) rename {backend => apps/backend}/apps/admin/src/storage/storage.service.spec.ts (100%) rename {backend => apps/backend}/apps/admin/src/storage/storage.service.ts (100%) rename {backend => apps/backend}/apps/admin/src/user/model/groupMember.model.ts (100%) rename {backend => apps/backend}/apps/admin/src/user/user.module.ts (100%) rename {backend => apps/backend}/apps/admin/src/user/user.resolver.spec.ts (100%) rename {backend => apps/backend}/apps/admin/src/user/user.resolver.ts (100%) rename {backend => apps/backend}/apps/admin/src/user/user.service.spec.ts (100%) rename {backend => apps/backend}/apps/admin/src/user/user.service.ts (100%) rename {backend => apps/backend}/apps/admin/tsconfig.app.json (100%) rename {backend => apps/backend}/apps/client/src/announcement/announcement.controller.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/announcement/announcement.controller.ts (100%) rename {backend => apps/backend}/apps/client/src/announcement/announcement.module.ts (100%) rename {backend => apps/backend}/apps/client/src/announcement/announcement.service.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/announcement/announcement.service.ts (100%) rename {backend => apps/backend}/apps/client/src/app.controller.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/app.controller.ts (100%) rename {backend => apps/backend}/apps/client/src/app.module.ts (100%) rename {backend => apps/backend}/apps/client/src/app.service.ts (100%) rename {backend => apps/backend}/apps/client/src/auth/auth.controller.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/auth/auth.controller.ts (100%) rename {backend => apps/backend}/apps/client/src/auth/auth.module.ts (100%) rename {backend => apps/backend}/apps/client/src/auth/auth.service.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/auth/auth.service.ts (100%) rename {backend => apps/backend}/apps/client/src/auth/dto/login-user.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/auth/interface/social-user.interface.ts (100%) rename {backend => apps/backend}/apps/client/src/contest/contest.controller.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/contest/contest.controller.ts (100%) rename {backend => apps/backend}/apps/client/src/contest/contest.module.ts (100%) rename {backend => apps/backend}/apps/client/src/contest/contest.service.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/contest/contest.service.ts (100%) rename {backend => apps/backend}/apps/client/src/email/email.module.ts (100%) rename {backend => apps/backend}/apps/client/src/email/email.service.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/email/email.service.ts (100%) rename {backend => apps/backend}/apps/client/src/email/mailerConfig.service.ts (100%) rename {backend => apps/backend}/apps/client/src/email/templates/email-auth.hbs (100%) rename {backend => apps/backend}/apps/client/src/email/templates/logo.png (100%) rename {backend => apps/backend}/apps/client/src/group/group.controller.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/group/group.controller.ts (100%) rename {backend => apps/backend}/apps/client/src/group/group.module.ts (100%) rename {backend => apps/backend}/apps/client/src/group/group.service.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/group/group.service.ts (100%) rename {backend => apps/backend}/apps/client/src/group/interface/user-group-data.interface.ts (100%) rename {backend => apps/backend}/apps/client/src/group/mock/group.mock.ts (100%) rename {backend => apps/backend}/apps/client/src/main.ts (100%) rename {backend => apps/backend}/apps/client/src/notice/notice.controller.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/notice/notice.controller.ts (100%) rename {backend => apps/backend}/apps/client/src/notice/notice.module.ts (100%) rename {backend => apps/backend}/apps/client/src/notice/notice.service.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/notice/notice.service.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/code-draft.controller.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/dto/code-draft.response.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/dto/create-code-draft.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/dto/problem.response.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/dto/problems.response.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/dto/related-problem.response.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/dto/related-problems.response.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/enum/problem-order.enum.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/mock/problem.mock.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/problem.controller.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/problem.controller.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/problem.module.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/problem.repository.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/problem.service.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/problem/problem.service.ts (100%) rename {backend => apps/backend}/apps/client/src/submission/dto/create-submission.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/submission/dto/judge-request.class.ts (100%) rename {backend => apps/backend}/apps/client/src/submission/dto/judger-response.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/submission/mock/problem.mock.ts (100%) rename {backend => apps/backend}/apps/client/src/submission/mock/submission.mock.ts (100%) rename {backend => apps/backend}/apps/client/src/submission/mock/submissionResult.mock.ts (100%) rename {backend => apps/backend}/apps/client/src/submission/submission.controller.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/submission/submission.controller.ts (100%) rename {backend => apps/backend}/apps/client/src/submission/submission.module.ts (100%) rename {backend => apps/backend}/apps/client/src/submission/submission.service.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/submission/submission.service.ts (100%) rename {backend => apps/backend}/apps/client/src/user/dto/deleteUser.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/user/dto/email-auth-pin.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/user/dto/newPassword.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/user/dto/signup.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/user/dto/social-signup.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/user/dto/update-user-email.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/user/dto/update-userprofile.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/user/dto/userEmail.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/user/dto/username.dto.ts (100%) rename {backend => apps/backend}/apps/client/src/user/interface/create-userprofile.interface.ts (100%) rename {backend => apps/backend}/apps/client/src/user/interface/jwt.interface.ts (100%) rename {backend => apps/backend}/apps/client/src/user/user.controller.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/user/user.controller.ts (100%) rename {backend => apps/backend}/apps/client/src/user/user.module.ts (100%) rename {backend => apps/backend}/apps/client/src/user/user.service.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/user/user.service.ts (100%) rename {backend => apps/backend}/apps/client/src/workbook/workbook.controller.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/workbook/workbook.controller.ts (100%) rename {backend => apps/backend}/apps/client/src/workbook/workbook.module.ts (100%) rename {backend => apps/backend}/apps/client/src/workbook/workbook.service.spec.ts (100%) rename {backend => apps/backend}/apps/client/src/workbook/workbook.service.ts (100%) rename {backend => apps/backend}/apps/client/tsconfig.app.json (100%) rename {backend => apps/backend}/entrypoint.sh (100%) rename {backend => apps/backend}/libs/auth/src/authenticated-request.interface.ts (100%) rename {backend => apps/backend}/libs/auth/src/authenticated-user.class.ts (100%) rename {backend => apps/backend}/libs/auth/src/github/github.strategy.ts (100%) rename {backend => apps/backend}/libs/auth/src/guard.decorator.ts (100%) rename {backend => apps/backend}/libs/auth/src/index.ts (100%) rename {backend => apps/backend}/libs/auth/src/jwt/jwt-auth.guard.ts (100%) rename {backend => apps/backend}/libs/auth/src/jwt/jwt-auth.module.ts (100%) rename {backend => apps/backend}/libs/auth/src/jwt/jwt-auth.service.spec.ts (100%) rename {backend => apps/backend}/libs/auth/src/jwt/jwt-auth.service.ts (100%) rename {backend => apps/backend}/libs/auth/src/jwt/jwt.interface.ts (100%) rename {backend => apps/backend}/libs/auth/src/jwt/jwt.strategy.ts (100%) rename {backend => apps/backend}/libs/auth/src/kakao/kakao.strategy.ts (100%) rename {backend => apps/backend}/libs/auth/src/roles/group-leader.guard.ts (100%) rename {backend => apps/backend}/libs/auth/src/roles/group-member.guard.ts (100%) rename {backend => apps/backend}/libs/auth/src/roles/roles.decorator.ts (100%) rename {backend => apps/backend}/libs/auth/src/roles/roles.guard.ts (100%) rename {backend => apps/backend}/libs/auth/src/roles/roles.module.ts (100%) rename {backend => apps/backend}/libs/auth/src/roles/roles.service.spec.ts (100%) rename {backend => apps/backend}/libs/auth/src/roles/roles.service.ts (100%) rename {backend => apps/backend}/libs/auth/tsconfig.lib.json (100%) rename {backend => apps/backend}/libs/cache/src/cache-config.service.ts (100%) rename {backend => apps/backend}/libs/cache/src/index.ts (100%) rename {backend => apps/backend}/libs/cache/src/keys.ts (100%) rename {backend => apps/backend}/libs/cache/tsconfig.lib.json (100%) rename {backend => apps/backend}/libs/constants/src/index.ts (100%) rename {backend => apps/backend}/libs/constants/src/oauth.constants.ts (100%) rename {backend => apps/backend}/libs/constants/src/rabbitmq.constants.ts (100%) rename {backend => apps/backend}/libs/constants/src/submission.constants.ts (100%) rename {backend => apps/backend}/libs/constants/src/time.constants.ts (100%) rename {backend => apps/backend}/libs/constants/tsconfig.lib.json (100%) rename {backend => apps/backend}/libs/exception/src/apollo-error-formatter.ts (100%) rename {backend => apps/backend}/libs/exception/src/business.exception.ts (100%) rename {backend => apps/backend}/libs/exception/src/filter.ts (100%) rename {backend => apps/backend}/libs/exception/src/graphql-error-code.ts (100%) rename {backend => apps/backend}/libs/exception/src/index.ts (100%) rename {backend => apps/backend}/libs/exception/tsconfig.lib.json (100%) rename {backend => apps/backend}/libs/logger/src/apollo-plugin.logger.ts (100%) rename {backend => apps/backend}/libs/logger/src/index.ts (100%) rename {backend => apps/backend}/libs/logger/src/pino-option.logger.ts (100%) rename {backend => apps/backend}/libs/logger/tsconfig.lib.json (100%) rename {backend => apps/backend}/libs/pipe/src/cursor-validation.pipe.ts (100%) rename {backend => apps/backend}/libs/pipe/src/group-id.pipe.ts (100%) rename {backend => apps/backend}/libs/pipe/src/id-validation.pipe.ts (100%) rename {backend => apps/backend}/libs/pipe/src/index.ts (100%) rename {backend => apps/backend}/libs/pipe/src/problem-order.pipe.ts (100%) rename {backend => apps/backend}/libs/pipe/src/required-int.pipe.ts (100%) rename {backend => apps/backend}/libs/pipe/tsconfig.lib.json (100%) rename {backend => apps/backend}/libs/prisma/src/index.ts (100%) rename {backend => apps/backend}/libs/prisma/src/prisma.module.ts (100%) rename {backend => apps/backend}/libs/prisma/src/prisma.service.spec.ts (100%) rename {backend => apps/backend}/libs/prisma/src/prisma.service.ts (100%) rename {backend => apps/backend}/libs/prisma/tsconfig.lib.json (100%) rename {backend => apps/backend}/libs/types/src/group-join-request.type.ts (100%) rename {backend => apps/backend}/libs/types/src/index.ts (100%) rename {backend => apps/backend}/libs/types/tsconfig.lib.json (100%) rename {backend => apps/backend}/mocha-fixture.ts (100%) rename {backend => apps/backend}/nest-cli.json (100%) rename {backend => apps/backend}/package.json (95%) rename {backend => apps/backend}/prisma/__fixtures__/problem/1-description-eng.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/1-description.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/1-input-eng.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/1-input.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/1-output-eng.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/1-output.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/2-description.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/2-input.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/2-output.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/3-description.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/3-input.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/3-output.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/4-description.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/4-hint.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/4-input.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/4-output.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/5-description.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/5-input.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/5-output.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/6-description.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/6-hint.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/6-input.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/6-output.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/7-description.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/7-input.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/7-output.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/8-description.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/8-hint.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/8-input.html (100%) rename {backend => apps/backend}/prisma/__fixtures__/problem/8-output.html (100%) rename {backend => apps/backend}/prisma/migrations/20220413125002_init/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20220620162501_basic_plan/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20220705080930_add_default_user_role/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20220705121234_delete_group_notice/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20220706072821_contest_type/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20220710121359_add_description_summary_to_contest/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20220712082423_use_enum_for_user_role/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20220721140056_delete_user_profile_major/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20220725091416_delete_has_email_authenticated_of_user/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20220812060317_add_allow_partial_score_to_workbook/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20220820175807_add_contest_to_public_request_table/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20220827082307_add_is_public_to_contest_table/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20220925061759_unique_group_name/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20220930064123_refactor_user_role/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20221117125726_/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20221222120916_prevent_deleting_reference/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20221223103636_change_name_of_contest_public_request/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230118082429_refer_problem_in_contest_notice/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230118084103_drop_time_in_workbook/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230118084501_drop_type_of_tag/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230118084806_delete_allow_partial_score_field_in_workbook_model/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230126123416_add_group_config/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230127120354_revise_schema_to_follow_new_plan/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230127122258_modify_config_to_be_required/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230203104712_make_composite_pk_of_user_group/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230210080345_set_composite_ids_for_contest_and_workbook_problem/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230215042218_change_last_login_optional/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230215140607_cascade_user_profile_and_user_group/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230509150046_set_language_as_enum_type/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230518113105_add_languages_on_language_enum/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230518113231_add_result_status_on_result_status_enum/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230624044048_set_problem_testcase_cascade_on_delete/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230624045459_rename_contest_notice_with_clarification/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230624050255_add_on_delete_options/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230624052239_set_problem_tag_cascade_on_delete/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230629103918_delete_is_deleted_field_from_group/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230706094306_add_result_field_to_submission_table/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230706140246_modify_problem_tag_on_delete/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230713114754_set_code_to_be_list_of_snippets/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230713151909_add_levels_to_level_enum/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230713192623_set_combinational_pk_in_contest_record_table/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230713192646_add_cpu_and_memory_usage_to_submission_result_table/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230713192746_add_expose_time_to_problem_table/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230812053949_add_announcement_model/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230812061117_modify_problem_and_contest_announcement_model/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230813072158_modify_conestworkbook_problem_schema/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20230925075957_add_user_oauth_model/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20231102152425_make_email_not_null/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20231109131322_enable_user_deletion/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20231218063830_/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20231221012339_/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20231221044026_/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20231221081427_referential_action_modification/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20231228083547_add_ac_rate/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20240104063238_change_submission_id_type/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20240104072555_change_submission_result_table_name/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20240107173556_code_draft/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20240118071939_change_user_oauth_id_to_string/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20240124143020_add_score_field_in_contest_record/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20240201082532_add_codesize_to_submission/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20240207142636_connect_announcement_to_contest/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20240213051227_add_is_visible_to_problem_model/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20240213065504_add_exaple_io_model/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/20240215062711_add_english_information_to_problem_model/migration.sql (100%) rename {backend => apps/backend}/prisma/migrations/migration_lock.toml (100%) rename {backend => apps/backend}/prisma/schema.prisma (100%) rename {backend => apps/backend}/prisma/seed.ts (100%) rename {backend => apps/backend}/tsconfig.build.json (100%) rename {backend => apps/backend}/tsconfig.json (100%) rename {frontend-client => apps/frontend}/.eslintrc.js (100%) rename {frontend-client => apps/frontend}/.gitignore (100%) rename {frontend-client => apps/frontend}/app/(main)/_components/Badge.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/_components/Carousel.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/_components/ContestCard.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/_components/ContestCards.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/_components/Footer.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/_components/Header.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/_components/NavLink.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/_components/ProblemCard.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/_components/ProblemCards.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/_components/TimeDiff.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/[contestId]/@tabs/_components/ParticipateButton.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/[contestId]/@tabs/announcement/_components/Columns.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/[contestId]/@tabs/announcement/_components/styles.css (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/[contestId]/@tabs/announcement/page.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/[contestId]/@tabs/page.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/[contestId]/@tabs/problem/_components/Columns.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/[contestId]/@tabs/problem/page.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/[contestId]/@tabs/standings/page.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/[contestId]/layout.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/[contestId]/page.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/_components/Columns.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/_components/ContestCardList.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/_components/ContestTable.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/_components/ContestTabs.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/_components/FinishedContestTable.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/layout.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/contest/page.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/error.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/group/page.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/layout.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/notice/[id]/page.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/notice/_components/Columns.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/notice/_components/NoticeTable.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/notice/layout.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/notice/page.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/page.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/problem/_components/Columns.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/problem/_components/ProblemTable.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/problem/layout.tsx (100%) rename {frontend-client => apps/frontend}/app/(main)/problem/page.tsx (100%) rename {frontend-client => apps/frontend}/app/PretendardVariable.woff2 (100%) rename {frontend-client => apps/frontend}/app/admin/_components/ApolloProvider.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/_components/GroupSelect.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/_components/SideBar.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/contest/_components/Columns.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/contest/page.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/layout.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/notice/page.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/page.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/problem/[id]/page.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/problem/_components/Columns.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/problem/_components/ExampleTextarea.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/problem/_components/Lable.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/problem/_components/UploadDialog.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/problem/create/page.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/problem/page.tsx (100%) rename {frontend-client => apps/frontend}/app/admin/problem/utils.ts (100%) rename {frontend-client => apps/frontend}/app/admin/user/page.tsx (100%) rename {frontend-client => apps/frontend}/app/apple-icon.png (100%) rename {frontend-client => apps/frontend}/app/contest/[contestId]/problem/[problemId]/layout.tsx (100%) rename {frontend-client => apps/frontend}/app/contest/[contestId]/problem/[problemId]/page.tsx (100%) rename {frontend-client => apps/frontend}/app/contest/[contestId]/problem/[problemOrder]/layout.tsx (100%) rename {frontend-client => apps/frontend}/app/favicon.ico (100%) rename {frontend-client => apps/frontend}/app/global-error.tsx (100%) rename {frontend-client => apps/frontend}/app/globals.css (100%) rename {frontend-client => apps/frontend}/app/icon.png (100%) rename {frontend-client => apps/frontend}/app/layout.tsx (100%) rename {frontend-client => apps/frontend}/app/manifest.webmanifest (100%) rename {frontend-client => apps/frontend}/app/next-auth/api/auth/[...nextauth]/route.ts (100%) rename {frontend-client => apps/frontend}/app/opengraph-image.png (100%) rename {frontend-client => apps/frontend}/app/problem/[problemId]/layout.tsx (100%) rename {frontend-client => apps/frontend}/app/problem/[problemId]/loading.tsx (100%) rename {frontend-client => apps/frontend}/app/problem/[problemId]/page.tsx (100%) rename {frontend-client => apps/frontend}/app/problem/[problemId]/submission/[submissionId]/page.tsx (100%) rename {frontend-client => apps/frontend}/app/problem/[problemId]/submission/_components/Columns.tsx (100%) rename {frontend-client => apps/frontend}/app/problem/[problemId]/submission/_components/DataTable.tsx (100%) rename {frontend-client => apps/frontend}/app/problem/[problemId]/submission/_components/SubmissionDetail.tsx (100%) rename {frontend-client => apps/frontend}/app/problem/[problemId]/submission/_components/dataIfError.ts (100%) rename {frontend-client => apps/frontend}/app/problem/[problemId]/submission/loading.tsx (100%) rename {frontend-client => apps/frontend}/app/problem/[problemId]/submission/page.tsx (100%) rename {frontend-client => apps/frontend}/app/sentry-example-page/page.tsx (100%) rename {frontend-client => apps/frontend}/codegen.ts (100%) rename {frontend-client => apps/frontend}/components.json (100%) rename {frontend-client => apps/frontend}/components/CheckboxSelect.tsx (100%) rename {frontend-client => apps/frontend}/components/CodeEditor.tsx (100%) rename {frontend-client => apps/frontend}/components/Cover.tsx (100%) rename {frontend-client => apps/frontend}/components/DataTable.tsx (100%) rename {frontend-client => apps/frontend}/components/DataTableAdmin.tsx (100%) rename {frontend-client => apps/frontend}/components/DataTableColumnHeader.tsx (100%) rename {frontend-client => apps/frontend}/components/DataTableLangFilter.tsx (100%) rename {frontend-client => apps/frontend}/components/DataTablePagination.tsx (100%) rename {frontend-client => apps/frontend}/components/DataTableTagsFilter.tsx (100%) rename {frontend-client => apps/frontend}/components/EditorDescription.tsx (100%) rename {frontend-client => apps/frontend}/components/EditorHeader.tsx (100%) rename {frontend-client => apps/frontend}/components/EditorLayout.tsx (100%) rename {frontend-client => apps/frontend}/components/EditorResizablePanel.tsx (100%) rename {frontend-client => apps/frontend}/components/OptionSelect.tsx (100%) rename {frontend-client => apps/frontend}/components/Paginator.tsx (100%) rename {frontend-client => apps/frontend}/components/SearchBar.tsx (100%) rename {frontend-client => apps/frontend}/components/SortButton.tsx (100%) rename {frontend-client => apps/frontend}/components/StandingsTable.tsx (100%) rename {frontend-client => apps/frontend}/components/TagsSelect.tsx (100%) rename {frontend-client => apps/frontend}/components/TextEditor.tsx (100%) rename {frontend-client => apps/frontend}/components/auth/AuthModal.tsx (100%) rename {frontend-client => apps/frontend}/components/auth/HeaderAuthPanel.tsx (100%) rename {frontend-client => apps/frontend}/components/auth/SignIn.tsx (100%) rename {frontend-client => apps/frontend}/components/auth/SignUp.tsx (100%) rename {frontend-client => apps/frontend}/components/auth/SignUpEmailVerify.tsx (100%) rename {frontend-client => apps/frontend}/components/auth/SignUpRegister.tsx (100%) rename {frontend-client => apps/frontend}/components/auth/SignUpWelcome.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/accordion.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/alert-dialog.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/badge.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/button.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/card.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/carousel.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/checkbox.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/command.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/dialog.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/dropdown-menu.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/form.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/input.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/label.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/pagination.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/popover.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/resizable.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/scroll-area.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/select.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/separator.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/skeleton.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/sonner.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/switch.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/table.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/tabs.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/textarea.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/toggle.tsx (100%) rename {frontend-client => apps/frontend}/components/ui/tooltip.tsx (100%) rename {frontend-client => apps/frontend}/lib/auth.ts (100%) rename {frontend-client => apps/frontend}/lib/constants.ts (100%) rename {frontend-client => apps/frontend}/lib/pagination.ts (100%) rename {frontend-client => apps/frontend}/lib/storage.ts (100%) rename {frontend-client => apps/frontend}/lib/utils.ts (100%) rename {frontend-client => apps/frontend}/middleware.ts (100%) rename {frontend-client => apps/frontend}/next.config.js (100%) rename {frontend-client => apps/frontend}/package.json (99%) rename {frontend-client => apps/frontend}/postcss.config.js (100%) rename {frontend-client => apps/frontend}/public/android-chrome-192x192.png (100%) rename {frontend-client => apps/frontend}/public/android-chrome-512x512.png (100%) rename {frontend-client => apps/frontend}/public/codedang-editor.svg (100%) rename {frontend-client => apps/frontend}/public/codedang.svg (100%) rename {frontend-client => apps/frontend}/public/dummy.png (100%) rename {frontend-client => apps/frontend}/public/error.webp (100%) rename {frontend-client => apps/frontend}/public/github.svg (100%) rename {frontend-client => apps/frontend}/public/kakaotalk.svg (100%) rename {frontend-client => apps/frontend}/public/sample.xlsx (100%) rename {frontend-client => apps/frontend}/public/skkudingLogo.png (100%) rename {frontend-client => apps/frontend}/sentry.client.config.ts (100%) rename {frontend-client => apps/frontend}/sentry.edge.config.ts (100%) rename {frontend-client => apps/frontend}/sentry.server.config.ts (100%) rename {frontend-client => apps/frontend}/stores/authModal.ts (100%) rename {frontend-client => apps/frontend}/stores/editor.ts (100%) rename {frontend-client => apps/frontend}/stores/signUpModal.ts (100%) rename {frontend-client => apps/frontend}/tailwind.config.ts (100%) rename {frontend-client => apps/frontend}/tsconfig.json (100%) rename {frontend-client => apps/frontend}/types/next-auth.d.ts (100%) rename {frontend-client => apps/frontend}/types/type.ts (100%) rename {grafana-logs => apps/grafana-logs}/promtail/promtail-config.yml (100%) rename {infra => apps/infra}/deploy/.terraform.lock.hcl (100%) rename {infra => apps/infra}/deploy/main.tf (100%) rename {infra => apps/infra}/deploy/provider.tf (100%) rename {infra => apps/infra}/deploy/variable.tf (100%) rename {infra => apps/infra}/local/.terraform.lock.hcl (100%) rename {infra => apps/infra}/local/main.tf (100%) rename {infra => apps/infra}/local/provider.tf (100%) rename {infra => apps/infra}/local/variable.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/.terraform.lock.hcl (100%) rename {infra => apps/infra}/modules/codedang-infra/backend/admin-task-definition.tftpl (100%) rename {infra => apps/infra}/modules/codedang-infra/backend/client-task-definition.tftpl (100%) rename {infra => apps/infra}/modules/codedang-infra/cloudfront.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/db.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/ecs-api-admin.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/ecs-api-asg.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/ecs-api-client.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/ecs-iris-asg.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/ecs-iris-service-asg.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/ecs-iris.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/ecs.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/iris/task-definition.tftpl (100%) rename {infra => apps/infra}/modules/codedang-infra/main.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/mime.json (100%) rename {infra => apps/infra}/modules/codedang-infra/network.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/rabbitmq.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/redis.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/route53.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/s3-media.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/s3-testcase.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/secrets.tf (100%) rename {infra => apps/infra}/modules/codedang-infra/security-group.tf (100%) create mode 100644 apps/infra/modules/codedang-infra/testcase.tf rename {infra => apps/infra}/modules/codedang-infra/user-data.sh (100%) rename {infra => apps/infra}/modules/codedang-infra/variables.tf (100%) rename {infra => apps/infra}/modules/codedang-tf-backend/backend.tf (100%) rename Caddyfile => apps/infra/stage/Caddyfile (100%) rename {iris => apps/iris}/Dockerfile (100%) rename {iris => apps/iris}/LICENSE (100%) rename {iris => apps/iris}/go.mod (95%) rename {iris => apps/iris}/go.sum (100%) rename {iris => apps/iris}/lib/judger/LICENSE (100%) rename {iris => apps/iris}/lib/judger/README.md (100%) rename {iris => apps/iris}/lib/judger/policy/java_policy (100%) rename {iris => apps/iris}/main.go (79%) rename {iris => apps/iris}/src/common/constants/constants.go (100%) rename {iris => apps/iris}/src/common/result/chResult.go (100%) rename {iris => apps/iris}/src/connector/factory.go (85%) rename {iris => apps/iris}/src/connector/interface.go (100%) rename {iris => apps/iris}/src/connector/rabbitmq/client.go (100%) rename {iris => apps/iris}/src/connector/rabbitmq/connector.go (94%) rename {iris => apps/iris}/src/connector/rabbitmq/consumer.go (97%) rename {iris => apps/iris}/src/connector/rabbitmq/producer.go (98%) rename {iris => apps/iris}/src/handler/errors.go (95%) rename {iris => apps/iris}/src/handler/interface.go (92%) rename {iris => apps/iris}/src/handler/judge-handler.go (94%) rename {iris => apps/iris}/src/loader/cache/interface.go (61%) rename {iris => apps/iris}/src/loader/cache/source.go (100%) rename {iris => apps/iris}/src/loader/interfaces.go (100%) rename {iris => apps/iris}/src/loader/s3/interface.go (52%) rename {iris => apps/iris}/src/loader/s3/source.go (100%) rename {iris => apps/iris}/src/router/response.go (97%) rename {iris => apps/iris}/src/router/router.go (90%) rename {iris => apps/iris}/src/service/file/manager.go (96%) rename {iris => apps/iris}/src/service/grader/grader.go (100%) rename {iris => apps/iris}/src/service/logger/logger.go (96%) rename {iris => apps/iris}/src/service/sandbox/compiler.go (91%) rename {iris => apps/iris}/src/service/sandbox/langConfig.go (98%) rename {iris => apps/iris}/src/service/sandbox/runner.go (94%) rename {iris => apps/iris}/src/service/sandbox/sandbox.go (98%) rename {iris => apps/iris}/src/service/sandbox/sandboxArgs.go (100%) rename {iris => apps/iris}/src/service/sandbox/statusCode.go (100%) rename {iris => apps/iris}/src/service/testcase/data.go (100%) rename {iris => apps/iris}/src/service/testcase/manager.go (92%) rename {iris => apps/iris}/src/utils/get_env.go (100%) rename {iris => apps/iris}/src/utils/rand_string.go (100%) rename {iris => apps/iris}/tests/data/submission/1_answer.json (100%) rename {iris => apps/iris}/tests/data/submission/1_compile_error.json (100%) rename {iris => apps/iris}/tests/data/submission/1_partial_answer.json (100%) rename {iris => apps/iris}/tests/data/submission/1_wrong.json (100%) rename {iris => apps/iris}/tests/data/testcase/1.json (100%) rename {iris => apps/iris}/tests/data/testcase/2.json (100%) rename {iris => apps/iris}/tests/data/testcase/3.json (100%) rename {iris => apps/iris}/tests/data/testcase/4.json (100%) rename {iris => apps/iris}/tests/data/testcase/5.json (100%) rename {iris => apps/iris}/tests/data/testcase/6.json (100%) rename {iris => apps/iris}/tests/data/testcase/7.json (100%) rename {iris => apps/iris}/tests/data/testcase/8.json (100%) delete mode 100644 frontend/.eslintrc.cjs delete mode 100644 frontend/env.d.ts delete mode 100644 frontend/histoire.config.ts delete mode 100644 frontend/index.html delete mode 100644 frontend/package.json delete mode 100644 frontend/postcss.config.js delete mode 100644 frontend/public/android-chrome-192x192.png delete mode 100644 frontend/public/android-chrome-512x512.png delete mode 100644 frontend/public/apple-touch-icon.png delete mode 100644 frontend/public/favicon-16x16.png delete mode 100644 frontend/public/favicon-32x32.png delete mode 100644 frontend/public/favicon.ico delete mode 100644 frontend/public/open-graph.png delete mode 100644 frontend/public/site.webmanifest delete mode 100644 frontend/src/App.vue delete mode 100644 frontend/src/admin/components/CreateNoticeModal.vue delete mode 100644 frontend/src/admin/components/ImportProblemModal.vue delete mode 100644 frontend/src/admin/pages/[groupId]/contest/CreateContestModal.vue delete mode 100644 frontend/src/admin/pages/[groupId]/contest/[id]/edit.vue delete mode 100644 frontend/src/admin/pages/[groupId]/contest/[id]/index.vue delete mode 100644 frontend/src/admin/pages/[groupId]/contest/index.vue delete mode 100644 frontend/src/admin/pages/[groupId]/home/index.vue delete mode 100644 frontend/src/admin/pages/[groupId]/index.vue delete mode 100644 frontend/src/admin/pages/[groupId]/member/index.vue delete mode 100644 frontend/src/admin/pages/[groupId]/notice/[id]/edit.vue delete mode 100644 frontend/src/admin/pages/[groupId]/notice/create.vue delete mode 100644 frontend/src/admin/pages/[groupId]/notice/index.vue delete mode 100644 frontend/src/admin/pages/[groupId]/pool/[id]/edit.vue delete mode 100644 frontend/src/admin/pages/[groupId]/pool/create.vue delete mode 100644 frontend/src/admin/pages/[groupId]/pool/index.vue delete mode 100644 frontend/src/admin/pages/[groupId]/problem/[id]/edit.vue delete mode 100644 frontend/src/admin/pages/[groupId]/problem/create.vue delete mode 100644 frontend/src/admin/pages/[groupId]/problem/index.vue delete mode 100644 frontend/src/admin/pages/[groupId]/submission/SubmissionDetailModal.vue delete mode 100644 frontend/src/admin/pages/[groupId]/submission/index.vue delete mode 100644 frontend/src/admin/pages/[groupId]/workbook/[id]/edit.vue delete mode 100644 frontend/src/admin/pages/[groupId]/workbook/[id]/index.vue delete mode 100644 frontend/src/admin/pages/[groupId]/workbook/index.vue delete mode 100644 frontend/src/admin/pages/contest.vue delete mode 100644 frontend/src/admin/pages/index.vue delete mode 100644 frontend/src/admin/pages/notice.vue delete mode 100644 frontend/src/admin/pages/pool.vue delete mode 100644 frontend/src/admin/pages/problem.vue delete mode 100644 frontend/src/admin/pages/workbook.vue delete mode 100644 frontend/src/common/assets/codedang.svg delete mode 100644 frontend/src/common/assets/dummy.png delete mode 100644 frontend/src/common/assets/github.svg delete mode 100644 frontend/src/common/assets/logo.png delete mode 100644 frontend/src/common/assets/skkudingLogo.png delete mode 100644 frontend/src/common/components/Atom/BoxTitle.story.vue delete mode 100644 frontend/src/common/components/Atom/BoxTitle.vue delete mode 100644 frontend/src/common/components/Atom/Button.story.vue delete mode 100644 frontend/src/common/components/Atom/Button.vue delete mode 100644 frontend/src/common/components/Atom/InputItem.story.vue delete mode 100644 frontend/src/common/components/Atom/InputItem.vue delete mode 100644 frontend/src/common/components/Atom/ListItem.story.vue delete mode 100644 frontend/src/common/components/Atom/ListItem.vue delete mode 100644 frontend/src/common/components/Atom/PageSubtitle.story.vue delete mode 100644 frontend/src/common/components/Atom/PageSubtitle.vue delete mode 100644 frontend/src/common/components/Atom/PageTitle.story.vue delete mode 100644 frontend/src/common/components/Atom/PageTitle.vue delete mode 100644 frontend/src/common/components/Atom/Spinner.story.vue delete mode 100644 frontend/src/common/components/Atom/Spinner.vue delete mode 100644 frontend/src/common/components/Atom/SymbolLogo.story.vue delete mode 100644 frontend/src/common/components/Atom/SymbolLogo.vue delete mode 100644 frontend/src/common/components/Atom/TextEditorButton.vue delete mode 100644 frontend/src/common/components/Atom/Toast.story.vue delete mode 100644 frontend/src/common/components/Atom/Toast.vue delete mode 100644 frontend/src/common/components/Molecule/Badge.story.vue delete mode 100644 frontend/src/common/components/Molecule/Badge.vue delete mode 100644 frontend/src/common/components/Molecule/Card.story.vue delete mode 100644 frontend/src/common/components/Molecule/Card.vue delete mode 100644 frontend/src/common/components/Molecule/CardItem.story.vue delete mode 100644 frontend/src/common/components/Molecule/CardItem.vue delete mode 100644 frontend/src/common/components/Molecule/Dialog.story.vue delete mode 100644 frontend/src/common/components/Molecule/Dialog.vue delete mode 100644 frontend/src/common/components/Molecule/Dropdown.story.vue delete mode 100644 frontend/src/common/components/Molecule/Dropdown.vue delete mode 100644 frontend/src/common/components/Molecule/Modal.story.vue delete mode 100644 frontend/src/common/components/Molecule/Modal.vue delete mode 100644 frontend/src/common/components/Molecule/NewCard.vue delete mode 100644 frontend/src/common/components/Molecule/Pagination.story.vue delete mode 100644 frontend/src/common/components/Molecule/Pagination.vue delete mode 100644 frontend/src/common/components/Molecule/ProgressCard.story.vue delete mode 100644 frontend/src/common/components/Molecule/ProgressCard.vue delete mode 100644 frontend/src/common/components/Molecule/RadioButton.story.vue delete mode 100644 frontend/src/common/components/Molecule/RadioButton.vue delete mode 100644 frontend/src/common/components/Molecule/SearchBar.story.vue delete mode 100644 frontend/src/common/components/Molecule/SearchBar.vue delete mode 100644 frontend/src/common/components/Molecule/Switch.story.vue delete mode 100644 frontend/src/common/components/Molecule/Switch.vue delete mode 100644 frontend/src/common/components/Molecule/Tab.story.vue delete mode 100644 frontend/src/common/components/Molecule/Tab.vue delete mode 100644 frontend/src/common/components/Organism/AuthModal.vue delete mode 100644 frontend/src/common/components/Organism/CodeEditor.story.vue delete mode 100644 frontend/src/common/components/Organism/CodeEditor.vue delete mode 100644 frontend/src/common/components/Organism/Footer.story.vue delete mode 100644 frontend/src/common/components/Organism/Footer.vue delete mode 100644 frontend/src/common/components/Organism/Header.story.vue delete mode 100644 frontend/src/common/components/Organism/Header.vue delete mode 100644 frontend/src/common/components/Organism/Login.vue delete mode 100644 frontend/src/common/components/Organism/PaginationTable.story.vue delete mode 100644 frontend/src/common/components/Organism/PaginationTable.vue delete mode 100644 frontend/src/common/components/Organism/PasswordReset.vue delete mode 100644 frontend/src/common/components/Organism/Sidebar.story.vue delete mode 100644 frontend/src/common/components/Organism/Sidebar.vue delete mode 100644 frontend/src/common/components/Organism/Signup.vue delete mode 100644 frontend/src/common/components/Organism/TextEditor.story.vue delete mode 100644 frontend/src/common/components/Organism/TextEditor.vue delete mode 100644 frontend/src/common/composables/api.ts delete mode 100644 frontend/src/common/composables/dialog.ts delete mode 100644 frontend/src/common/composables/graphql.ts delete mode 100644 frontend/src/common/composables/toast.ts delete mode 100644 frontend/src/common/layouts/admin.vue delete mode 100644 frontend/src/common/layouts/default.vue delete mode 100644 frontend/src/common/layouts/empty.vue delete mode 100644 frontend/src/common/store/auth.ts delete mode 100644 frontend/src/common/store/user.ts delete mode 100644 frontend/src/common/styles/style.css delete mode 100644 frontend/src/histoire.css delete mode 100644 frontend/src/histoire.setup.ts delete mode 100644 frontend/src/main.ts delete mode 100644 frontend/src/user/contest/components/Notice.vue delete mode 100644 frontend/src/user/contest/components/Problem.vue delete mode 100644 frontend/src/user/contest/components/Ranking.vue delete mode 100644 frontend/src/user/contest/components/Top.vue delete mode 100644 frontend/src/user/contest/pages/[id].vue delete mode 100644 frontend/src/user/contest/pages/index.vue delete mode 100644 frontend/src/user/group/components/Contest.vue delete mode 100644 frontend/src/user/group/components/GroupListSection.vue delete mode 100644 frontend/src/user/group/components/Member.vue delete mode 100644 frontend/src/user/group/components/NameList.vue delete mode 100644 frontend/src/user/group/components/Notice.vue delete mode 100644 frontend/src/user/group/components/Problem.vue delete mode 100644 frontend/src/user/group/components/Profile.vue delete mode 100644 frontend/src/user/group/components/Workbook.vue delete mode 100644 frontend/src/user/group/pages/[id].vue delete mode 100644 frontend/src/user/group/pages/index.vue delete mode 100644 frontend/src/user/home/components/Carousel.story.vue delete mode 100644 frontend/src/user/home/components/Carousel.vue delete mode 100644 frontend/src/user/home/components/ContestItem.vue delete mode 100644 frontend/src/user/home/pages/404.webp delete mode 100644 frontend/src/user/home/pages/[...all].vue delete mode 100644 frontend/src/user/home/pages/index.vue delete mode 100644 frontend/src/user/notice/composables/notice.ts delete mode 100644 frontend/src/user/notice/pages/[id].vue delete mode 100644 frontend/src/user/notice/pages/index.vue delete mode 100644 frontend/src/user/problem/components/Clarification.story.vue delete mode 100644 frontend/src/user/problem/components/Clarification.vue delete mode 100644 frontend/src/user/problem/components/Header.vue delete mode 100644 frontend/src/user/problem/components/Navigator.vue delete mode 100644 frontend/src/user/problem/components/SubmissionDetail.vue delete mode 100644 frontend/src/user/problem/components/SubmissionList.vue delete mode 100644 frontend/src/user/problem/pages/[id].vue delete mode 100644 frontend/src/user/problem/pages/[id]/index.vue delete mode 100644 frontend/src/user/problem/pages/[id]/standings.vue delete mode 100644 frontend/src/user/problem/pages/[id]/submissions.vue delete mode 100644 frontend/src/user/problem/pages/index.vue delete mode 100644 frontend/src/user/problem/store/problem.ts delete mode 100644 frontend/src/user/problem/types.ts delete mode 100644 frontend/src/user/workbook/components/WorkbookTitle.vue delete mode 100644 frontend/src/user/workbook/composables/workbook.ts delete mode 100644 frontend/src/user/workbook/pages/[id].vue delete mode 100644 frontend/tailwind.config.ts delete mode 100644 frontend/tsconfig.json delete mode 100644 frontend/tsconfig.node.json delete mode 100644 frontend/vite.config.ts delete mode 100644 skkuding.code-workspace diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index b85bbfa094..2c1392f506 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -26,8 +26,7 @@ "golang.go", "hashicorp.terraform", "ms-azuretools.vscode-docker", - "prisma.prisma", - "Vue.volar" + "prisma.prisma" ] } }, diff --git a/.github/workflows/cd-dev.yml b/.github/workflows/cd-dev.yml index e14093174a..e7353d052e 100644 --- a/.github/workflows/cd-dev.yml +++ b/.github/workflows/cd-dev.yml @@ -27,7 +27,7 @@ jobs: - name: Build and push image uses: docker/build-push-action@v5 with: - file: ./backend/Dockerfile + file: ./apps/backend/Dockerfile push: true build-args: 'target=client' tags: ghcr.io/${{ github.repository_owner }}/codedang-client-api:latest @@ -49,7 +49,7 @@ jobs: - name: Build and push image uses: docker/build-push-action@v5 with: - file: ./backend/Dockerfile + file: ./apps/backend/Dockerfile push: true build-args: 'target=admin' tags: ghcr.io/${{ github.repository_owner }}/codedang-admin-api:latest @@ -88,7 +88,7 @@ jobs: docker-compose.yml scripts/deploy.sh .env.development - Caddyfile + apps/infra/stage/Caddyfile grafana-logs/promtail/promtail-config.yml - name: Load dotenv from secret @@ -120,7 +120,7 @@ jobs: docker compose --profile deploy up promtail -d --no-deps - name: Copy Caddyfile into Caddy Container - run: docker cp ./Caddyfile caddy:/etc/caddy/Caddyfile + run: docker cp ./apps/infra/stage/Caddyfile caddy:/etc/caddy/Caddyfile - name: Graceful reload Caddy run: docker exec -w /etc/caddy caddy caddy reload diff --git a/.github/workflows/cd-prod.yml b/.github/workflows/cd-prod.yml index 948f657ea2..2ef84ab155 100644 --- a/.github/workflows/cd-prod.yml +++ b/.github/workflows/cd-prod.yml @@ -33,7 +33,7 @@ jobs: - name: Build and push image uses: docker/build-push-action@v5 with: - file: ./backend/Dockerfile + file: ./apps/backend/Dockerfile push: true build-args: 'target=client' tags: ${{ steps.login-ecr.outputs.registry }}/codedang-client-api:latest @@ -57,7 +57,7 @@ jobs: - name: Build and push image uses: docker/build-push-action@v5 with: - file: ./backend/Dockerfile + file: ./apps/backend/Dockerfile push: true build-args: 'target=admin' tags: ${{ steps.login-ecr.outputs.registry }}/codedang-admin-api:latest diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 152f4569a0..ac2d2d6a06 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,7 +13,7 @@ jobs: strategy: matrix: - target: [frontend, frontend-client, backend, backend-admin] + target: [frontend, backend, backend-admin] steps: - uses: actions/checkout@v4 @@ -21,32 +21,30 @@ jobs: - name: Generate Prisma Client if: ${{ matrix.target == 'backend' || matrix.target == 'backend-admin' }} - run: pnpm --filter backend exec prisma generate + run: pnpm --filter="@codedang/backend" exec prisma generate - name: Setup Next.js build cache - if: ${{ matrix.target == 'frontend-client' }} + if: ${{ matrix.target == 'frontend' }} uses: actions/cache@v4 with: - path: frontend-client/.next/cache + path: apps/frontend/.next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }} restore-keys: | ${{ runner.os }}-nextjs-${{ hashFiles('pnpm-lock.yaml') }}- - name: Load Next.js environment - if: ${{ matrix.target == 'frontend-client' }} + if: ${{ matrix.target == 'frontend' }} run: | - echo "NEXT_PUBLIC_BASEURL=https://dev-aws.codedang.com/api" >> frontend-client/.env - echo "NEXT_PUBLIC_GQL_BASEURL=https://dev-aws.codedang.com/graphql" >> frontend-client/.env - echo "NEXT_URL=https://dev.codedang.com" >> frontend-client/.env + echo "NEXT_PUBLIC_BASEURL=https://dev-aws.codedang.com/api" >> apps/frontend/.env + echo "NEXT_PUBLIC_GQL_BASEURL=https://dev-aws.codedang.com/graphql" >> apps/frontend/.env + echo "NEXT_URL=https://dev.codedang.com" >> apps/frontend/.env - # If target is backend-admin, run `pnpm --filter backend build admin` - # For other targets, run `pnpm --filter build` - name: Build (backend admin) if: ${{ matrix.target == 'backend-admin' }} - run: pnpm --filter backend build admin + run: pnpm --filter="@codedang/backend" build admin - name: Build if: ${{ matrix.target != 'backend-admin' }} - run: pnpm --filter ${{ matrix.target }} build + run: pnpm --filter="apps/${{ matrix.target }}" build typecheck: name: Typecheck @@ -57,15 +55,12 @@ jobs: - uses: ./.github/actions/setup-pnpm - name: Generate Prisma Client - run: pnpm --filter backend exec prisma generate + run: pnpm --filter="@codedang/backend" exec prisma generate - - name: Check types (backend) - run: pnpm --filter backend exec tsc --noEmit + - name: Check types (backend) # For spec files + run: pnpm --filter="@codedang/backend" exec tsc --noEmit - - name: Check types (frontend) - run: pnpm --filter frontend exec vue-tsc --noEmit - - # Typecheck is not performed for frontend-client intentionally. + # Typecheck is not performed for frontend intentionally. # Check: https://github.com/vercel/next.js/issues/53959 # Unlike backend, we don't have spec file to check types. # So typechecking performed in the build step is enough. @@ -81,8 +76,8 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version-file: iris/go.mod - cache-dependency-path: iris/go.sum + go-version-file: apps/iris/go.mod + cache-dependency-path: apps/iris/go.sum - name: Lint pull request title if: ${{ github.event_name == 'pull_request' }} @@ -98,7 +93,7 @@ jobs: echo " go fmt ./..." exit 1 fi - working-directory: ./iris + working-directory: ./apps/iris - name: Lint (Node.js) run: pnpm lint @@ -127,7 +122,7 @@ jobs: - name: Check Prisma Migration run: | - pnpm --filter backend exec prisma migrate diff \ + pnpm --filter="@codedang/backend" exec prisma migrate diff \ --from-migrations ./prisma/migrations \ --to-schema-datamodel ./prisma/schema.prisma \ --shadow-database-url ${{ env.DATABASE_URL }} \ @@ -136,10 +131,7 @@ jobs: "Please run 'pnpm prisma migrate dev' locally and commit the changes." && exit 1) - name: Migrate Prisma - run: pnpm --filter backend exec prisma migrate reset --force - - - name: Check types in Typescript - run: pnpm --filter backend exec tsc --noEmit + run: pnpm --filter="@codedang/backend" exec prisma migrate reset --force - name: Test run: pnpm -r test diff --git a/.gitpod.yml b/.gitpod.yml index 8eda1381be..51c1ca3a13 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -49,4 +49,3 @@ vscode: - hashicorp.terraform - ms-azuretools.vscode-docker - prisma.prisma - - Vue.volar diff --git a/.vscode/launch.json b/.vscode/launch.json index c9de6a336f..618267db30 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,7 +10,7 @@ "name": "Backend Client", "runtimeExecutable": "pnpm", "runtimeArgs": ["run", "start:debug"], - "cwd": "${workspaceFolder}/backend", + "cwd": "${workspaceFolder}/apps/backend", "console": "integratedTerminal" }, { @@ -19,7 +19,7 @@ "name": "Backend Admin", "runtimeExecutable": "pnpm", "runtimeArgs": ["run", "start:debug", "admin"], - "cwd": "${workspaceFolder}/backend", + "cwd": "${workspaceFolder}/apps/backend", "console": "integratedTerminal" }, { @@ -28,22 +28,15 @@ "name": "Backend Test 🧪", "runtimeExecutable": "pnpm", "runtimeArgs": ["run", "test:debug"], - "cwd": "${workspaceFolder}/backend", + "cwd": "${workspaceFolder}/apps/backend", "console": "integratedTerminal" }, - { - "type": "chrome", - "request": "launch", - "name": "Frontend (Vue.js)", - "url": "http://localhost:5173", - "webRoot": "${workspaceFolder}/frontend/src" - }, { "type": "go", "request": "launch", "name": "Iris 🐶", - "cwd": "${workspaceFolder}/iris", - "program": "${workspaceFolder}/iris/main.go", + "cwd": "${workspaceFolder}/apps/iris", + "program": "${workspaceFolder}/apps/iris/main.go", "console": "integratedTerminal", "asRoot": true, "envFile": "${workspaceFolder}/.env" diff --git a/apollo.config.js b/apollo.config.js index 6b67e7fb18..b1ffc715a4 100644 --- a/apollo.config.js +++ b/apollo.config.js @@ -1,6 +1,6 @@ module.exports = { client: { - includes: ['./frontend-client/**/*.ts', './frontend-client/**/*.tsx'], + includes: ['./apps/frontend/**/*.ts', './apps/frontend/**/*.tsx'], excludes: ['**/__generated__/**'], service: { name: 'codedang-graphql-app', diff --git a/backend/.dockerignore b/apps/backend/.dockerignore similarity index 100% rename from backend/.dockerignore rename to apps/backend/.dockerignore diff --git a/backend/.mocharc.json b/apps/backend/.mocharc.json similarity index 100% rename from backend/.mocharc.json rename to apps/backend/.mocharc.json diff --git a/backend/.swcrc b/apps/backend/.swcrc similarity index 100% rename from backend/.swcrc rename to apps/backend/.swcrc diff --git a/backend/Dockerfile b/apps/backend/Dockerfile similarity index 82% rename from backend/Dockerfile rename to apps/backend/Dockerfile index 6037c2d44c..9509316183 100644 --- a/backend/Dockerfile +++ b/apps/backend/Dockerfile @@ -1,5 +1,5 @@ # [NOTE] Build image from the root directory of this repository. -# ex) `docker build -f backend/Dockerfile .` +# ex) `docker build -f apps/backend/Dockerfile .` ### BUILDER ### ARG target=client @@ -11,7 +11,7 @@ COPY . /build WORKDIR /build RUN corepack enable -RUN pnpm --filter=backend deploy out +RUN pnpm --filter="@codedang/backend" deploy out WORKDIR /build/out RUN npx prisma generate diff --git a/backend/apps/admin/src/admin.controller.spec.ts b/apps/backend/apps/admin/src/admin.controller.spec.ts similarity index 100% rename from backend/apps/admin/src/admin.controller.spec.ts rename to apps/backend/apps/admin/src/admin.controller.spec.ts diff --git a/backend/apps/admin/src/admin.controller.ts b/apps/backend/apps/admin/src/admin.controller.ts similarity index 100% rename from backend/apps/admin/src/admin.controller.ts rename to apps/backend/apps/admin/src/admin.controller.ts diff --git a/backend/apps/admin/src/admin.module.ts b/apps/backend/apps/admin/src/admin.module.ts similarity index 100% rename from backend/apps/admin/src/admin.module.ts rename to apps/backend/apps/admin/src/admin.module.ts diff --git a/backend/apps/admin/src/admin.service.ts b/apps/backend/apps/admin/src/admin.service.ts similarity index 100% rename from backend/apps/admin/src/admin.service.ts rename to apps/backend/apps/admin/src/admin.service.ts diff --git a/backend/apps/admin/src/announcement/announcement.module.ts b/apps/backend/apps/admin/src/announcement/announcement.module.ts similarity index 100% rename from backend/apps/admin/src/announcement/announcement.module.ts rename to apps/backend/apps/admin/src/announcement/announcement.module.ts diff --git a/backend/apps/admin/src/announcement/announcement.resolver.ts b/apps/backend/apps/admin/src/announcement/announcement.resolver.ts similarity index 100% rename from backend/apps/admin/src/announcement/announcement.resolver.ts rename to apps/backend/apps/admin/src/announcement/announcement.resolver.ts diff --git a/backend/apps/admin/src/announcement/announcement.service.ts b/apps/backend/apps/admin/src/announcement/announcement.service.ts similarity index 100% rename from backend/apps/admin/src/announcement/announcement.service.ts rename to apps/backend/apps/admin/src/announcement/announcement.service.ts diff --git a/backend/apps/admin/src/announcement/dto/create-announcement.input.ts b/apps/backend/apps/admin/src/announcement/dto/create-announcement.input.ts similarity index 100% rename from backend/apps/admin/src/announcement/dto/create-announcement.input.ts rename to apps/backend/apps/admin/src/announcement/dto/create-announcement.input.ts diff --git a/backend/apps/admin/src/announcement/dto/update-announcement.input.ts b/apps/backend/apps/admin/src/announcement/dto/update-announcement.input.ts similarity index 100% rename from backend/apps/admin/src/announcement/dto/update-announcement.input.ts rename to apps/backend/apps/admin/src/announcement/dto/update-announcement.input.ts diff --git a/backend/apps/admin/src/contest/contest.module.ts b/apps/backend/apps/admin/src/contest/contest.module.ts similarity index 100% rename from backend/apps/admin/src/contest/contest.module.ts rename to apps/backend/apps/admin/src/contest/contest.module.ts diff --git a/backend/apps/admin/src/contest/contest.resolver.ts b/apps/backend/apps/admin/src/contest/contest.resolver.ts similarity index 100% rename from backend/apps/admin/src/contest/contest.resolver.ts rename to apps/backend/apps/admin/src/contest/contest.resolver.ts diff --git a/backend/apps/admin/src/contest/contest.service.spec.ts b/apps/backend/apps/admin/src/contest/contest.service.spec.ts similarity index 100% rename from backend/apps/admin/src/contest/contest.service.spec.ts rename to apps/backend/apps/admin/src/contest/contest.service.spec.ts diff --git a/backend/apps/admin/src/contest/contest.service.ts b/apps/backend/apps/admin/src/contest/contest.service.ts similarity index 100% rename from backend/apps/admin/src/contest/contest.service.ts rename to apps/backend/apps/admin/src/contest/contest.service.ts diff --git a/backend/apps/admin/src/contest/model/contest-with-participants.model.ts b/apps/backend/apps/admin/src/contest/model/contest-with-participants.model.ts similarity index 100% rename from backend/apps/admin/src/contest/model/contest-with-participants.model.ts rename to apps/backend/apps/admin/src/contest/model/contest-with-participants.model.ts diff --git a/backend/apps/admin/src/contest/model/contest.input.ts b/apps/backend/apps/admin/src/contest/model/contest.input.ts similarity index 100% rename from backend/apps/admin/src/contest/model/contest.input.ts rename to apps/backend/apps/admin/src/contest/model/contest.input.ts diff --git a/backend/apps/admin/src/contest/model/publicizing-request.model.ts b/apps/backend/apps/admin/src/contest/model/publicizing-request.model.ts similarity index 100% rename from backend/apps/admin/src/contest/model/publicizing-request.model.ts rename to apps/backend/apps/admin/src/contest/model/publicizing-request.model.ts diff --git a/backend/apps/admin/src/contest/model/publicizing-response.output.ts b/apps/backend/apps/admin/src/contest/model/publicizing-response.output.ts similarity index 100% rename from backend/apps/admin/src/contest/model/publicizing-response.output.ts rename to apps/backend/apps/admin/src/contest/model/publicizing-response.output.ts diff --git a/backend/apps/admin/src/group/group.module.ts b/apps/backend/apps/admin/src/group/group.module.ts similarity index 100% rename from backend/apps/admin/src/group/group.module.ts rename to apps/backend/apps/admin/src/group/group.module.ts diff --git a/backend/apps/admin/src/group/group.resolver.spec.ts b/apps/backend/apps/admin/src/group/group.resolver.spec.ts similarity index 100% rename from backend/apps/admin/src/group/group.resolver.spec.ts rename to apps/backend/apps/admin/src/group/group.resolver.spec.ts diff --git a/backend/apps/admin/src/group/group.resolver.ts b/apps/backend/apps/admin/src/group/group.resolver.ts similarity index 100% rename from backend/apps/admin/src/group/group.resolver.ts rename to apps/backend/apps/admin/src/group/group.resolver.ts diff --git a/backend/apps/admin/src/group/group.service.spec.ts b/apps/backend/apps/admin/src/group/group.service.spec.ts similarity index 100% rename from backend/apps/admin/src/group/group.service.spec.ts rename to apps/backend/apps/admin/src/group/group.service.spec.ts diff --git a/backend/apps/admin/src/group/group.service.ts b/apps/backend/apps/admin/src/group/group.service.ts similarity index 100% rename from backend/apps/admin/src/group/group.service.ts rename to apps/backend/apps/admin/src/group/group.service.ts diff --git a/backend/apps/admin/src/group/model/group.input.ts b/apps/backend/apps/admin/src/group/model/group.input.ts similarity index 100% rename from backend/apps/admin/src/group/model/group.input.ts rename to apps/backend/apps/admin/src/group/model/group.input.ts diff --git a/backend/apps/admin/src/group/model/group.output.ts b/apps/backend/apps/admin/src/group/model/group.output.ts similarity index 100% rename from backend/apps/admin/src/group/model/group.output.ts rename to apps/backend/apps/admin/src/group/model/group.output.ts diff --git a/backend/apps/admin/src/main.ts b/apps/backend/apps/admin/src/main.ts similarity index 100% rename from backend/apps/admin/src/main.ts rename to apps/backend/apps/admin/src/main.ts diff --git a/backend/apps/admin/src/notice/model/notice.input.ts b/apps/backend/apps/admin/src/notice/model/notice.input.ts similarity index 100% rename from backend/apps/admin/src/notice/model/notice.input.ts rename to apps/backend/apps/admin/src/notice/model/notice.input.ts diff --git a/backend/apps/admin/src/notice/notice.module.ts b/apps/backend/apps/admin/src/notice/notice.module.ts similarity index 100% rename from backend/apps/admin/src/notice/notice.module.ts rename to apps/backend/apps/admin/src/notice/notice.module.ts diff --git a/backend/apps/admin/src/notice/notice.resolver.ts b/apps/backend/apps/admin/src/notice/notice.resolver.ts similarity index 100% rename from backend/apps/admin/src/notice/notice.resolver.ts rename to apps/backend/apps/admin/src/notice/notice.resolver.ts diff --git a/backend/apps/admin/src/notice/notice.service.spec.ts b/apps/backend/apps/admin/src/notice/notice.service.spec.ts similarity index 100% rename from backend/apps/admin/src/notice/notice.service.spec.ts rename to apps/backend/apps/admin/src/notice/notice.service.spec.ts diff --git a/backend/apps/admin/src/notice/notice.service.ts b/apps/backend/apps/admin/src/notice/notice.service.ts similarity index 100% rename from backend/apps/admin/src/notice/notice.service.ts rename to apps/backend/apps/admin/src/notice/notice.service.ts diff --git a/backend/apps/admin/src/problem/dto/file-upload.dto.ts b/apps/backend/apps/admin/src/problem/dto/file-upload.dto.ts similarity index 100% rename from backend/apps/admin/src/problem/dto/file-upload.dto.ts rename to apps/backend/apps/admin/src/problem/dto/file-upload.dto.ts diff --git a/backend/apps/admin/src/problem/mock/mock.ts b/apps/backend/apps/admin/src/problem/mock/mock.ts similarity index 100% rename from backend/apps/admin/src/problem/mock/mock.ts rename to apps/backend/apps/admin/src/problem/mock/mock.ts diff --git a/backend/apps/admin/src/problem/mock/testdata.xlsx b/apps/backend/apps/admin/src/problem/mock/testdata.xlsx similarity index 100% rename from backend/apps/admin/src/problem/mock/testdata.xlsx rename to apps/backend/apps/admin/src/problem/mock/testdata.xlsx diff --git a/backend/apps/admin/src/problem/model/problem.constants.ts b/apps/backend/apps/admin/src/problem/model/problem.constants.ts similarity index 100% rename from backend/apps/admin/src/problem/model/problem.constants.ts rename to apps/backend/apps/admin/src/problem/model/problem.constants.ts diff --git a/backend/apps/admin/src/problem/model/problem.input.ts b/apps/backend/apps/admin/src/problem/model/problem.input.ts similarity index 100% rename from backend/apps/admin/src/problem/model/problem.input.ts rename to apps/backend/apps/admin/src/problem/model/problem.input.ts diff --git a/backend/apps/admin/src/problem/model/template.input.ts b/apps/backend/apps/admin/src/problem/model/template.input.ts similarity index 100% rename from backend/apps/admin/src/problem/model/template.input.ts rename to apps/backend/apps/admin/src/problem/model/template.input.ts diff --git a/backend/apps/admin/src/problem/model/testcase.input.ts b/apps/backend/apps/admin/src/problem/model/testcase.input.ts similarity index 100% rename from backend/apps/admin/src/problem/model/testcase.input.ts rename to apps/backend/apps/admin/src/problem/model/testcase.input.ts diff --git a/backend/apps/admin/src/problem/problem-tag.resolver.ts b/apps/backend/apps/admin/src/problem/problem-tag.resolver.ts similarity index 100% rename from backend/apps/admin/src/problem/problem-tag.resolver.ts rename to apps/backend/apps/admin/src/problem/problem-tag.resolver.ts diff --git a/backend/apps/admin/src/problem/problem.module.ts b/apps/backend/apps/admin/src/problem/problem.module.ts similarity index 100% rename from backend/apps/admin/src/problem/problem.module.ts rename to apps/backend/apps/admin/src/problem/problem.module.ts diff --git a/backend/apps/admin/src/problem/problem.resolver.spec.ts b/apps/backend/apps/admin/src/problem/problem.resolver.spec.ts similarity index 100% rename from backend/apps/admin/src/problem/problem.resolver.spec.ts rename to apps/backend/apps/admin/src/problem/problem.resolver.spec.ts diff --git a/backend/apps/admin/src/problem/problem.resolver.ts b/apps/backend/apps/admin/src/problem/problem.resolver.ts similarity index 100% rename from backend/apps/admin/src/problem/problem.resolver.ts rename to apps/backend/apps/admin/src/problem/problem.resolver.ts diff --git a/backend/apps/admin/src/problem/problem.service.spec.ts b/apps/backend/apps/admin/src/problem/problem.service.spec.ts similarity index 100% rename from backend/apps/admin/src/problem/problem.service.spec.ts rename to apps/backend/apps/admin/src/problem/problem.service.spec.ts diff --git a/backend/apps/admin/src/problem/problem.service.ts b/apps/backend/apps/admin/src/problem/problem.service.ts similarity index 100% rename from backend/apps/admin/src/problem/problem.service.ts rename to apps/backend/apps/admin/src/problem/problem.service.ts diff --git a/backend/apps/admin/src/storage/content.type.ts b/apps/backend/apps/admin/src/storage/content.type.ts similarity index 100% rename from backend/apps/admin/src/storage/content.type.ts rename to apps/backend/apps/admin/src/storage/content.type.ts diff --git a/backend/apps/admin/src/storage/s3.provider.ts b/apps/backend/apps/admin/src/storage/s3.provider.ts similarity index 100% rename from backend/apps/admin/src/storage/s3.provider.ts rename to apps/backend/apps/admin/src/storage/s3.provider.ts diff --git a/backend/apps/admin/src/storage/storage.module.ts b/apps/backend/apps/admin/src/storage/storage.module.ts similarity index 100% rename from backend/apps/admin/src/storage/storage.module.ts rename to apps/backend/apps/admin/src/storage/storage.module.ts diff --git a/backend/apps/admin/src/storage/storage.service.spec.ts b/apps/backend/apps/admin/src/storage/storage.service.spec.ts similarity index 100% rename from backend/apps/admin/src/storage/storage.service.spec.ts rename to apps/backend/apps/admin/src/storage/storage.service.spec.ts diff --git a/backend/apps/admin/src/storage/storage.service.ts b/apps/backend/apps/admin/src/storage/storage.service.ts similarity index 100% rename from backend/apps/admin/src/storage/storage.service.ts rename to apps/backend/apps/admin/src/storage/storage.service.ts diff --git a/backend/apps/admin/src/user/model/groupMember.model.ts b/apps/backend/apps/admin/src/user/model/groupMember.model.ts similarity index 100% rename from backend/apps/admin/src/user/model/groupMember.model.ts rename to apps/backend/apps/admin/src/user/model/groupMember.model.ts diff --git a/backend/apps/admin/src/user/user.module.ts b/apps/backend/apps/admin/src/user/user.module.ts similarity index 100% rename from backend/apps/admin/src/user/user.module.ts rename to apps/backend/apps/admin/src/user/user.module.ts diff --git a/backend/apps/admin/src/user/user.resolver.spec.ts b/apps/backend/apps/admin/src/user/user.resolver.spec.ts similarity index 100% rename from backend/apps/admin/src/user/user.resolver.spec.ts rename to apps/backend/apps/admin/src/user/user.resolver.spec.ts diff --git a/backend/apps/admin/src/user/user.resolver.ts b/apps/backend/apps/admin/src/user/user.resolver.ts similarity index 100% rename from backend/apps/admin/src/user/user.resolver.ts rename to apps/backend/apps/admin/src/user/user.resolver.ts diff --git a/backend/apps/admin/src/user/user.service.spec.ts b/apps/backend/apps/admin/src/user/user.service.spec.ts similarity index 100% rename from backend/apps/admin/src/user/user.service.spec.ts rename to apps/backend/apps/admin/src/user/user.service.spec.ts diff --git a/backend/apps/admin/src/user/user.service.ts b/apps/backend/apps/admin/src/user/user.service.ts similarity index 100% rename from backend/apps/admin/src/user/user.service.ts rename to apps/backend/apps/admin/src/user/user.service.ts diff --git a/backend/apps/admin/tsconfig.app.json b/apps/backend/apps/admin/tsconfig.app.json similarity index 100% rename from backend/apps/admin/tsconfig.app.json rename to apps/backend/apps/admin/tsconfig.app.json diff --git a/backend/apps/client/src/announcement/announcement.controller.spec.ts b/apps/backend/apps/client/src/announcement/announcement.controller.spec.ts similarity index 100% rename from backend/apps/client/src/announcement/announcement.controller.spec.ts rename to apps/backend/apps/client/src/announcement/announcement.controller.spec.ts diff --git a/backend/apps/client/src/announcement/announcement.controller.ts b/apps/backend/apps/client/src/announcement/announcement.controller.ts similarity index 100% rename from backend/apps/client/src/announcement/announcement.controller.ts rename to apps/backend/apps/client/src/announcement/announcement.controller.ts diff --git a/backend/apps/client/src/announcement/announcement.module.ts b/apps/backend/apps/client/src/announcement/announcement.module.ts similarity index 100% rename from backend/apps/client/src/announcement/announcement.module.ts rename to apps/backend/apps/client/src/announcement/announcement.module.ts diff --git a/backend/apps/client/src/announcement/announcement.service.spec.ts b/apps/backend/apps/client/src/announcement/announcement.service.spec.ts similarity index 100% rename from backend/apps/client/src/announcement/announcement.service.spec.ts rename to apps/backend/apps/client/src/announcement/announcement.service.spec.ts diff --git a/backend/apps/client/src/announcement/announcement.service.ts b/apps/backend/apps/client/src/announcement/announcement.service.ts similarity index 100% rename from backend/apps/client/src/announcement/announcement.service.ts rename to apps/backend/apps/client/src/announcement/announcement.service.ts diff --git a/backend/apps/client/src/app.controller.spec.ts b/apps/backend/apps/client/src/app.controller.spec.ts similarity index 100% rename from backend/apps/client/src/app.controller.spec.ts rename to apps/backend/apps/client/src/app.controller.spec.ts diff --git a/backend/apps/client/src/app.controller.ts b/apps/backend/apps/client/src/app.controller.ts similarity index 100% rename from backend/apps/client/src/app.controller.ts rename to apps/backend/apps/client/src/app.controller.ts diff --git a/backend/apps/client/src/app.module.ts b/apps/backend/apps/client/src/app.module.ts similarity index 100% rename from backend/apps/client/src/app.module.ts rename to apps/backend/apps/client/src/app.module.ts diff --git a/backend/apps/client/src/app.service.ts b/apps/backend/apps/client/src/app.service.ts similarity index 100% rename from backend/apps/client/src/app.service.ts rename to apps/backend/apps/client/src/app.service.ts diff --git a/backend/apps/client/src/auth/auth.controller.spec.ts b/apps/backend/apps/client/src/auth/auth.controller.spec.ts similarity index 100% rename from backend/apps/client/src/auth/auth.controller.spec.ts rename to apps/backend/apps/client/src/auth/auth.controller.spec.ts diff --git a/backend/apps/client/src/auth/auth.controller.ts b/apps/backend/apps/client/src/auth/auth.controller.ts similarity index 100% rename from backend/apps/client/src/auth/auth.controller.ts rename to apps/backend/apps/client/src/auth/auth.controller.ts diff --git a/backend/apps/client/src/auth/auth.module.ts b/apps/backend/apps/client/src/auth/auth.module.ts similarity index 100% rename from backend/apps/client/src/auth/auth.module.ts rename to apps/backend/apps/client/src/auth/auth.module.ts diff --git a/backend/apps/client/src/auth/auth.service.spec.ts b/apps/backend/apps/client/src/auth/auth.service.spec.ts similarity index 100% rename from backend/apps/client/src/auth/auth.service.spec.ts rename to apps/backend/apps/client/src/auth/auth.service.spec.ts diff --git a/backend/apps/client/src/auth/auth.service.ts b/apps/backend/apps/client/src/auth/auth.service.ts similarity index 100% rename from backend/apps/client/src/auth/auth.service.ts rename to apps/backend/apps/client/src/auth/auth.service.ts diff --git a/backend/apps/client/src/auth/dto/login-user.dto.ts b/apps/backend/apps/client/src/auth/dto/login-user.dto.ts similarity index 100% rename from backend/apps/client/src/auth/dto/login-user.dto.ts rename to apps/backend/apps/client/src/auth/dto/login-user.dto.ts diff --git a/backend/apps/client/src/auth/interface/social-user.interface.ts b/apps/backend/apps/client/src/auth/interface/social-user.interface.ts similarity index 100% rename from backend/apps/client/src/auth/interface/social-user.interface.ts rename to apps/backend/apps/client/src/auth/interface/social-user.interface.ts diff --git a/backend/apps/client/src/contest/contest.controller.spec.ts b/apps/backend/apps/client/src/contest/contest.controller.spec.ts similarity index 100% rename from backend/apps/client/src/contest/contest.controller.spec.ts rename to apps/backend/apps/client/src/contest/contest.controller.spec.ts diff --git a/backend/apps/client/src/contest/contest.controller.ts b/apps/backend/apps/client/src/contest/contest.controller.ts similarity index 100% rename from backend/apps/client/src/contest/contest.controller.ts rename to apps/backend/apps/client/src/contest/contest.controller.ts diff --git a/backend/apps/client/src/contest/contest.module.ts b/apps/backend/apps/client/src/contest/contest.module.ts similarity index 100% rename from backend/apps/client/src/contest/contest.module.ts rename to apps/backend/apps/client/src/contest/contest.module.ts diff --git a/backend/apps/client/src/contest/contest.service.spec.ts b/apps/backend/apps/client/src/contest/contest.service.spec.ts similarity index 100% rename from backend/apps/client/src/contest/contest.service.spec.ts rename to apps/backend/apps/client/src/contest/contest.service.spec.ts diff --git a/backend/apps/client/src/contest/contest.service.ts b/apps/backend/apps/client/src/contest/contest.service.ts similarity index 100% rename from backend/apps/client/src/contest/contest.service.ts rename to apps/backend/apps/client/src/contest/contest.service.ts diff --git a/backend/apps/client/src/email/email.module.ts b/apps/backend/apps/client/src/email/email.module.ts similarity index 100% rename from backend/apps/client/src/email/email.module.ts rename to apps/backend/apps/client/src/email/email.module.ts diff --git a/backend/apps/client/src/email/email.service.spec.ts b/apps/backend/apps/client/src/email/email.service.spec.ts similarity index 100% rename from backend/apps/client/src/email/email.service.spec.ts rename to apps/backend/apps/client/src/email/email.service.spec.ts diff --git a/backend/apps/client/src/email/email.service.ts b/apps/backend/apps/client/src/email/email.service.ts similarity index 100% rename from backend/apps/client/src/email/email.service.ts rename to apps/backend/apps/client/src/email/email.service.ts diff --git a/backend/apps/client/src/email/mailerConfig.service.ts b/apps/backend/apps/client/src/email/mailerConfig.service.ts similarity index 100% rename from backend/apps/client/src/email/mailerConfig.service.ts rename to apps/backend/apps/client/src/email/mailerConfig.service.ts diff --git a/backend/apps/client/src/email/templates/email-auth.hbs b/apps/backend/apps/client/src/email/templates/email-auth.hbs similarity index 100% rename from backend/apps/client/src/email/templates/email-auth.hbs rename to apps/backend/apps/client/src/email/templates/email-auth.hbs diff --git a/backend/apps/client/src/email/templates/logo.png b/apps/backend/apps/client/src/email/templates/logo.png similarity index 100% rename from backend/apps/client/src/email/templates/logo.png rename to apps/backend/apps/client/src/email/templates/logo.png diff --git a/backend/apps/client/src/group/group.controller.spec.ts b/apps/backend/apps/client/src/group/group.controller.spec.ts similarity index 100% rename from backend/apps/client/src/group/group.controller.spec.ts rename to apps/backend/apps/client/src/group/group.controller.spec.ts diff --git a/backend/apps/client/src/group/group.controller.ts b/apps/backend/apps/client/src/group/group.controller.ts similarity index 100% rename from backend/apps/client/src/group/group.controller.ts rename to apps/backend/apps/client/src/group/group.controller.ts diff --git a/backend/apps/client/src/group/group.module.ts b/apps/backend/apps/client/src/group/group.module.ts similarity index 100% rename from backend/apps/client/src/group/group.module.ts rename to apps/backend/apps/client/src/group/group.module.ts diff --git a/backend/apps/client/src/group/group.service.spec.ts b/apps/backend/apps/client/src/group/group.service.spec.ts similarity index 100% rename from backend/apps/client/src/group/group.service.spec.ts rename to apps/backend/apps/client/src/group/group.service.spec.ts diff --git a/backend/apps/client/src/group/group.service.ts b/apps/backend/apps/client/src/group/group.service.ts similarity index 100% rename from backend/apps/client/src/group/group.service.ts rename to apps/backend/apps/client/src/group/group.service.ts diff --git a/backend/apps/client/src/group/interface/user-group-data.interface.ts b/apps/backend/apps/client/src/group/interface/user-group-data.interface.ts similarity index 100% rename from backend/apps/client/src/group/interface/user-group-data.interface.ts rename to apps/backend/apps/client/src/group/interface/user-group-data.interface.ts diff --git a/backend/apps/client/src/group/mock/group.mock.ts b/apps/backend/apps/client/src/group/mock/group.mock.ts similarity index 100% rename from backend/apps/client/src/group/mock/group.mock.ts rename to apps/backend/apps/client/src/group/mock/group.mock.ts diff --git a/backend/apps/client/src/main.ts b/apps/backend/apps/client/src/main.ts similarity index 100% rename from backend/apps/client/src/main.ts rename to apps/backend/apps/client/src/main.ts diff --git a/backend/apps/client/src/notice/notice.controller.spec.ts b/apps/backend/apps/client/src/notice/notice.controller.spec.ts similarity index 100% rename from backend/apps/client/src/notice/notice.controller.spec.ts rename to apps/backend/apps/client/src/notice/notice.controller.spec.ts diff --git a/backend/apps/client/src/notice/notice.controller.ts b/apps/backend/apps/client/src/notice/notice.controller.ts similarity index 100% rename from backend/apps/client/src/notice/notice.controller.ts rename to apps/backend/apps/client/src/notice/notice.controller.ts diff --git a/backend/apps/client/src/notice/notice.module.ts b/apps/backend/apps/client/src/notice/notice.module.ts similarity index 100% rename from backend/apps/client/src/notice/notice.module.ts rename to apps/backend/apps/client/src/notice/notice.module.ts diff --git a/backend/apps/client/src/notice/notice.service.spec.ts b/apps/backend/apps/client/src/notice/notice.service.spec.ts similarity index 100% rename from backend/apps/client/src/notice/notice.service.spec.ts rename to apps/backend/apps/client/src/notice/notice.service.spec.ts diff --git a/backend/apps/client/src/notice/notice.service.ts b/apps/backend/apps/client/src/notice/notice.service.ts similarity index 100% rename from backend/apps/client/src/notice/notice.service.ts rename to apps/backend/apps/client/src/notice/notice.service.ts diff --git a/backend/apps/client/src/problem/code-draft.controller.ts b/apps/backend/apps/client/src/problem/code-draft.controller.ts similarity index 100% rename from backend/apps/client/src/problem/code-draft.controller.ts rename to apps/backend/apps/client/src/problem/code-draft.controller.ts diff --git a/backend/apps/client/src/problem/dto/code-draft.response.dto.ts b/apps/backend/apps/client/src/problem/dto/code-draft.response.dto.ts similarity index 100% rename from backend/apps/client/src/problem/dto/code-draft.response.dto.ts rename to apps/backend/apps/client/src/problem/dto/code-draft.response.dto.ts diff --git a/backend/apps/client/src/problem/dto/create-code-draft.dto.ts b/apps/backend/apps/client/src/problem/dto/create-code-draft.dto.ts similarity index 100% rename from backend/apps/client/src/problem/dto/create-code-draft.dto.ts rename to apps/backend/apps/client/src/problem/dto/create-code-draft.dto.ts diff --git a/backend/apps/client/src/problem/dto/problem.response.dto.ts b/apps/backend/apps/client/src/problem/dto/problem.response.dto.ts similarity index 100% rename from backend/apps/client/src/problem/dto/problem.response.dto.ts rename to apps/backend/apps/client/src/problem/dto/problem.response.dto.ts diff --git a/backend/apps/client/src/problem/dto/problems.response.dto.ts b/apps/backend/apps/client/src/problem/dto/problems.response.dto.ts similarity index 100% rename from backend/apps/client/src/problem/dto/problems.response.dto.ts rename to apps/backend/apps/client/src/problem/dto/problems.response.dto.ts diff --git a/backend/apps/client/src/problem/dto/related-problem.response.dto.ts b/apps/backend/apps/client/src/problem/dto/related-problem.response.dto.ts similarity index 100% rename from backend/apps/client/src/problem/dto/related-problem.response.dto.ts rename to apps/backend/apps/client/src/problem/dto/related-problem.response.dto.ts diff --git a/backend/apps/client/src/problem/dto/related-problems.response.dto.ts b/apps/backend/apps/client/src/problem/dto/related-problems.response.dto.ts similarity index 100% rename from backend/apps/client/src/problem/dto/related-problems.response.dto.ts rename to apps/backend/apps/client/src/problem/dto/related-problems.response.dto.ts diff --git a/backend/apps/client/src/problem/enum/problem-order.enum.ts b/apps/backend/apps/client/src/problem/enum/problem-order.enum.ts similarity index 100% rename from backend/apps/client/src/problem/enum/problem-order.enum.ts rename to apps/backend/apps/client/src/problem/enum/problem-order.enum.ts diff --git a/backend/apps/client/src/problem/mock/problem.mock.ts b/apps/backend/apps/client/src/problem/mock/problem.mock.ts similarity index 100% rename from backend/apps/client/src/problem/mock/problem.mock.ts rename to apps/backend/apps/client/src/problem/mock/problem.mock.ts diff --git a/backend/apps/client/src/problem/problem.controller.spec.ts b/apps/backend/apps/client/src/problem/problem.controller.spec.ts similarity index 100% rename from backend/apps/client/src/problem/problem.controller.spec.ts rename to apps/backend/apps/client/src/problem/problem.controller.spec.ts diff --git a/backend/apps/client/src/problem/problem.controller.ts b/apps/backend/apps/client/src/problem/problem.controller.ts similarity index 100% rename from backend/apps/client/src/problem/problem.controller.ts rename to apps/backend/apps/client/src/problem/problem.controller.ts diff --git a/backend/apps/client/src/problem/problem.module.ts b/apps/backend/apps/client/src/problem/problem.module.ts similarity index 100% rename from backend/apps/client/src/problem/problem.module.ts rename to apps/backend/apps/client/src/problem/problem.module.ts diff --git a/backend/apps/client/src/problem/problem.repository.ts b/apps/backend/apps/client/src/problem/problem.repository.ts similarity index 100% rename from backend/apps/client/src/problem/problem.repository.ts rename to apps/backend/apps/client/src/problem/problem.repository.ts diff --git a/backend/apps/client/src/problem/problem.service.spec.ts b/apps/backend/apps/client/src/problem/problem.service.spec.ts similarity index 100% rename from backend/apps/client/src/problem/problem.service.spec.ts rename to apps/backend/apps/client/src/problem/problem.service.spec.ts diff --git a/backend/apps/client/src/problem/problem.service.ts b/apps/backend/apps/client/src/problem/problem.service.ts similarity index 100% rename from backend/apps/client/src/problem/problem.service.ts rename to apps/backend/apps/client/src/problem/problem.service.ts diff --git a/backend/apps/client/src/submission/dto/create-submission.dto.ts b/apps/backend/apps/client/src/submission/dto/create-submission.dto.ts similarity index 100% rename from backend/apps/client/src/submission/dto/create-submission.dto.ts rename to apps/backend/apps/client/src/submission/dto/create-submission.dto.ts diff --git a/backend/apps/client/src/submission/dto/judge-request.class.ts b/apps/backend/apps/client/src/submission/dto/judge-request.class.ts similarity index 100% rename from backend/apps/client/src/submission/dto/judge-request.class.ts rename to apps/backend/apps/client/src/submission/dto/judge-request.class.ts diff --git a/backend/apps/client/src/submission/dto/judger-response.dto.ts b/apps/backend/apps/client/src/submission/dto/judger-response.dto.ts similarity index 100% rename from backend/apps/client/src/submission/dto/judger-response.dto.ts rename to apps/backend/apps/client/src/submission/dto/judger-response.dto.ts diff --git a/backend/apps/client/src/submission/mock/problem.mock.ts b/apps/backend/apps/client/src/submission/mock/problem.mock.ts similarity index 100% rename from backend/apps/client/src/submission/mock/problem.mock.ts rename to apps/backend/apps/client/src/submission/mock/problem.mock.ts diff --git a/backend/apps/client/src/submission/mock/submission.mock.ts b/apps/backend/apps/client/src/submission/mock/submission.mock.ts similarity index 100% rename from backend/apps/client/src/submission/mock/submission.mock.ts rename to apps/backend/apps/client/src/submission/mock/submission.mock.ts diff --git a/backend/apps/client/src/submission/mock/submissionResult.mock.ts b/apps/backend/apps/client/src/submission/mock/submissionResult.mock.ts similarity index 100% rename from backend/apps/client/src/submission/mock/submissionResult.mock.ts rename to apps/backend/apps/client/src/submission/mock/submissionResult.mock.ts diff --git a/backend/apps/client/src/submission/submission.controller.spec.ts b/apps/backend/apps/client/src/submission/submission.controller.spec.ts similarity index 100% rename from backend/apps/client/src/submission/submission.controller.spec.ts rename to apps/backend/apps/client/src/submission/submission.controller.spec.ts diff --git a/backend/apps/client/src/submission/submission.controller.ts b/apps/backend/apps/client/src/submission/submission.controller.ts similarity index 100% rename from backend/apps/client/src/submission/submission.controller.ts rename to apps/backend/apps/client/src/submission/submission.controller.ts diff --git a/backend/apps/client/src/submission/submission.module.ts b/apps/backend/apps/client/src/submission/submission.module.ts similarity index 100% rename from backend/apps/client/src/submission/submission.module.ts rename to apps/backend/apps/client/src/submission/submission.module.ts diff --git a/backend/apps/client/src/submission/submission.service.spec.ts b/apps/backend/apps/client/src/submission/submission.service.spec.ts similarity index 100% rename from backend/apps/client/src/submission/submission.service.spec.ts rename to apps/backend/apps/client/src/submission/submission.service.spec.ts diff --git a/backend/apps/client/src/submission/submission.service.ts b/apps/backend/apps/client/src/submission/submission.service.ts similarity index 100% rename from backend/apps/client/src/submission/submission.service.ts rename to apps/backend/apps/client/src/submission/submission.service.ts diff --git a/backend/apps/client/src/user/dto/deleteUser.dto.ts b/apps/backend/apps/client/src/user/dto/deleteUser.dto.ts similarity index 100% rename from backend/apps/client/src/user/dto/deleteUser.dto.ts rename to apps/backend/apps/client/src/user/dto/deleteUser.dto.ts diff --git a/backend/apps/client/src/user/dto/email-auth-pin.dto.ts b/apps/backend/apps/client/src/user/dto/email-auth-pin.dto.ts similarity index 100% rename from backend/apps/client/src/user/dto/email-auth-pin.dto.ts rename to apps/backend/apps/client/src/user/dto/email-auth-pin.dto.ts diff --git a/backend/apps/client/src/user/dto/newPassword.dto.ts b/apps/backend/apps/client/src/user/dto/newPassword.dto.ts similarity index 100% rename from backend/apps/client/src/user/dto/newPassword.dto.ts rename to apps/backend/apps/client/src/user/dto/newPassword.dto.ts diff --git a/backend/apps/client/src/user/dto/signup.dto.ts b/apps/backend/apps/client/src/user/dto/signup.dto.ts similarity index 100% rename from backend/apps/client/src/user/dto/signup.dto.ts rename to apps/backend/apps/client/src/user/dto/signup.dto.ts diff --git a/backend/apps/client/src/user/dto/social-signup.dto.ts b/apps/backend/apps/client/src/user/dto/social-signup.dto.ts similarity index 100% rename from backend/apps/client/src/user/dto/social-signup.dto.ts rename to apps/backend/apps/client/src/user/dto/social-signup.dto.ts diff --git a/backend/apps/client/src/user/dto/update-user-email.dto.ts b/apps/backend/apps/client/src/user/dto/update-user-email.dto.ts similarity index 100% rename from backend/apps/client/src/user/dto/update-user-email.dto.ts rename to apps/backend/apps/client/src/user/dto/update-user-email.dto.ts diff --git a/backend/apps/client/src/user/dto/update-userprofile.dto.ts b/apps/backend/apps/client/src/user/dto/update-userprofile.dto.ts similarity index 100% rename from backend/apps/client/src/user/dto/update-userprofile.dto.ts rename to apps/backend/apps/client/src/user/dto/update-userprofile.dto.ts diff --git a/backend/apps/client/src/user/dto/userEmail.dto.ts b/apps/backend/apps/client/src/user/dto/userEmail.dto.ts similarity index 100% rename from backend/apps/client/src/user/dto/userEmail.dto.ts rename to apps/backend/apps/client/src/user/dto/userEmail.dto.ts diff --git a/backend/apps/client/src/user/dto/username.dto.ts b/apps/backend/apps/client/src/user/dto/username.dto.ts similarity index 100% rename from backend/apps/client/src/user/dto/username.dto.ts rename to apps/backend/apps/client/src/user/dto/username.dto.ts diff --git a/backend/apps/client/src/user/interface/create-userprofile.interface.ts b/apps/backend/apps/client/src/user/interface/create-userprofile.interface.ts similarity index 100% rename from backend/apps/client/src/user/interface/create-userprofile.interface.ts rename to apps/backend/apps/client/src/user/interface/create-userprofile.interface.ts diff --git a/backend/apps/client/src/user/interface/jwt.interface.ts b/apps/backend/apps/client/src/user/interface/jwt.interface.ts similarity index 100% rename from backend/apps/client/src/user/interface/jwt.interface.ts rename to apps/backend/apps/client/src/user/interface/jwt.interface.ts diff --git a/backend/apps/client/src/user/user.controller.spec.ts b/apps/backend/apps/client/src/user/user.controller.spec.ts similarity index 100% rename from backend/apps/client/src/user/user.controller.spec.ts rename to apps/backend/apps/client/src/user/user.controller.spec.ts diff --git a/backend/apps/client/src/user/user.controller.ts b/apps/backend/apps/client/src/user/user.controller.ts similarity index 100% rename from backend/apps/client/src/user/user.controller.ts rename to apps/backend/apps/client/src/user/user.controller.ts diff --git a/backend/apps/client/src/user/user.module.ts b/apps/backend/apps/client/src/user/user.module.ts similarity index 100% rename from backend/apps/client/src/user/user.module.ts rename to apps/backend/apps/client/src/user/user.module.ts diff --git a/backend/apps/client/src/user/user.service.spec.ts b/apps/backend/apps/client/src/user/user.service.spec.ts similarity index 100% rename from backend/apps/client/src/user/user.service.spec.ts rename to apps/backend/apps/client/src/user/user.service.spec.ts diff --git a/backend/apps/client/src/user/user.service.ts b/apps/backend/apps/client/src/user/user.service.ts similarity index 100% rename from backend/apps/client/src/user/user.service.ts rename to apps/backend/apps/client/src/user/user.service.ts diff --git a/backend/apps/client/src/workbook/workbook.controller.spec.ts b/apps/backend/apps/client/src/workbook/workbook.controller.spec.ts similarity index 100% rename from backend/apps/client/src/workbook/workbook.controller.spec.ts rename to apps/backend/apps/client/src/workbook/workbook.controller.spec.ts diff --git a/backend/apps/client/src/workbook/workbook.controller.ts b/apps/backend/apps/client/src/workbook/workbook.controller.ts similarity index 100% rename from backend/apps/client/src/workbook/workbook.controller.ts rename to apps/backend/apps/client/src/workbook/workbook.controller.ts diff --git a/backend/apps/client/src/workbook/workbook.module.ts b/apps/backend/apps/client/src/workbook/workbook.module.ts similarity index 100% rename from backend/apps/client/src/workbook/workbook.module.ts rename to apps/backend/apps/client/src/workbook/workbook.module.ts diff --git a/backend/apps/client/src/workbook/workbook.service.spec.ts b/apps/backend/apps/client/src/workbook/workbook.service.spec.ts similarity index 100% rename from backend/apps/client/src/workbook/workbook.service.spec.ts rename to apps/backend/apps/client/src/workbook/workbook.service.spec.ts diff --git a/backend/apps/client/src/workbook/workbook.service.ts b/apps/backend/apps/client/src/workbook/workbook.service.ts similarity index 100% rename from backend/apps/client/src/workbook/workbook.service.ts rename to apps/backend/apps/client/src/workbook/workbook.service.ts diff --git a/backend/apps/client/tsconfig.app.json b/apps/backend/apps/client/tsconfig.app.json similarity index 100% rename from backend/apps/client/tsconfig.app.json rename to apps/backend/apps/client/tsconfig.app.json diff --git a/backend/entrypoint.sh b/apps/backend/entrypoint.sh similarity index 100% rename from backend/entrypoint.sh rename to apps/backend/entrypoint.sh diff --git a/backend/libs/auth/src/authenticated-request.interface.ts b/apps/backend/libs/auth/src/authenticated-request.interface.ts similarity index 100% rename from backend/libs/auth/src/authenticated-request.interface.ts rename to apps/backend/libs/auth/src/authenticated-request.interface.ts diff --git a/backend/libs/auth/src/authenticated-user.class.ts b/apps/backend/libs/auth/src/authenticated-user.class.ts similarity index 100% rename from backend/libs/auth/src/authenticated-user.class.ts rename to apps/backend/libs/auth/src/authenticated-user.class.ts diff --git a/backend/libs/auth/src/github/github.strategy.ts b/apps/backend/libs/auth/src/github/github.strategy.ts similarity index 100% rename from backend/libs/auth/src/github/github.strategy.ts rename to apps/backend/libs/auth/src/github/github.strategy.ts diff --git a/backend/libs/auth/src/guard.decorator.ts b/apps/backend/libs/auth/src/guard.decorator.ts similarity index 100% rename from backend/libs/auth/src/guard.decorator.ts rename to apps/backend/libs/auth/src/guard.decorator.ts diff --git a/backend/libs/auth/src/index.ts b/apps/backend/libs/auth/src/index.ts similarity index 100% rename from backend/libs/auth/src/index.ts rename to apps/backend/libs/auth/src/index.ts diff --git a/backend/libs/auth/src/jwt/jwt-auth.guard.ts b/apps/backend/libs/auth/src/jwt/jwt-auth.guard.ts similarity index 100% rename from backend/libs/auth/src/jwt/jwt-auth.guard.ts rename to apps/backend/libs/auth/src/jwt/jwt-auth.guard.ts diff --git a/backend/libs/auth/src/jwt/jwt-auth.module.ts b/apps/backend/libs/auth/src/jwt/jwt-auth.module.ts similarity index 100% rename from backend/libs/auth/src/jwt/jwt-auth.module.ts rename to apps/backend/libs/auth/src/jwt/jwt-auth.module.ts diff --git a/backend/libs/auth/src/jwt/jwt-auth.service.spec.ts b/apps/backend/libs/auth/src/jwt/jwt-auth.service.spec.ts similarity index 100% rename from backend/libs/auth/src/jwt/jwt-auth.service.spec.ts rename to apps/backend/libs/auth/src/jwt/jwt-auth.service.spec.ts diff --git a/backend/libs/auth/src/jwt/jwt-auth.service.ts b/apps/backend/libs/auth/src/jwt/jwt-auth.service.ts similarity index 100% rename from backend/libs/auth/src/jwt/jwt-auth.service.ts rename to apps/backend/libs/auth/src/jwt/jwt-auth.service.ts diff --git a/backend/libs/auth/src/jwt/jwt.interface.ts b/apps/backend/libs/auth/src/jwt/jwt.interface.ts similarity index 100% rename from backend/libs/auth/src/jwt/jwt.interface.ts rename to apps/backend/libs/auth/src/jwt/jwt.interface.ts diff --git a/backend/libs/auth/src/jwt/jwt.strategy.ts b/apps/backend/libs/auth/src/jwt/jwt.strategy.ts similarity index 100% rename from backend/libs/auth/src/jwt/jwt.strategy.ts rename to apps/backend/libs/auth/src/jwt/jwt.strategy.ts diff --git a/backend/libs/auth/src/kakao/kakao.strategy.ts b/apps/backend/libs/auth/src/kakao/kakao.strategy.ts similarity index 100% rename from backend/libs/auth/src/kakao/kakao.strategy.ts rename to apps/backend/libs/auth/src/kakao/kakao.strategy.ts diff --git a/backend/libs/auth/src/roles/group-leader.guard.ts b/apps/backend/libs/auth/src/roles/group-leader.guard.ts similarity index 100% rename from backend/libs/auth/src/roles/group-leader.guard.ts rename to apps/backend/libs/auth/src/roles/group-leader.guard.ts diff --git a/backend/libs/auth/src/roles/group-member.guard.ts b/apps/backend/libs/auth/src/roles/group-member.guard.ts similarity index 100% rename from backend/libs/auth/src/roles/group-member.guard.ts rename to apps/backend/libs/auth/src/roles/group-member.guard.ts diff --git a/backend/libs/auth/src/roles/roles.decorator.ts b/apps/backend/libs/auth/src/roles/roles.decorator.ts similarity index 100% rename from backend/libs/auth/src/roles/roles.decorator.ts rename to apps/backend/libs/auth/src/roles/roles.decorator.ts diff --git a/backend/libs/auth/src/roles/roles.guard.ts b/apps/backend/libs/auth/src/roles/roles.guard.ts similarity index 100% rename from backend/libs/auth/src/roles/roles.guard.ts rename to apps/backend/libs/auth/src/roles/roles.guard.ts diff --git a/backend/libs/auth/src/roles/roles.module.ts b/apps/backend/libs/auth/src/roles/roles.module.ts similarity index 100% rename from backend/libs/auth/src/roles/roles.module.ts rename to apps/backend/libs/auth/src/roles/roles.module.ts diff --git a/backend/libs/auth/src/roles/roles.service.spec.ts b/apps/backend/libs/auth/src/roles/roles.service.spec.ts similarity index 100% rename from backend/libs/auth/src/roles/roles.service.spec.ts rename to apps/backend/libs/auth/src/roles/roles.service.spec.ts diff --git a/backend/libs/auth/src/roles/roles.service.ts b/apps/backend/libs/auth/src/roles/roles.service.ts similarity index 100% rename from backend/libs/auth/src/roles/roles.service.ts rename to apps/backend/libs/auth/src/roles/roles.service.ts diff --git a/backend/libs/auth/tsconfig.lib.json b/apps/backend/libs/auth/tsconfig.lib.json similarity index 100% rename from backend/libs/auth/tsconfig.lib.json rename to apps/backend/libs/auth/tsconfig.lib.json diff --git a/backend/libs/cache/src/cache-config.service.ts b/apps/backend/libs/cache/src/cache-config.service.ts similarity index 100% rename from backend/libs/cache/src/cache-config.service.ts rename to apps/backend/libs/cache/src/cache-config.service.ts diff --git a/backend/libs/cache/src/index.ts b/apps/backend/libs/cache/src/index.ts similarity index 100% rename from backend/libs/cache/src/index.ts rename to apps/backend/libs/cache/src/index.ts diff --git a/backend/libs/cache/src/keys.ts b/apps/backend/libs/cache/src/keys.ts similarity index 100% rename from backend/libs/cache/src/keys.ts rename to apps/backend/libs/cache/src/keys.ts diff --git a/backend/libs/cache/tsconfig.lib.json b/apps/backend/libs/cache/tsconfig.lib.json similarity index 100% rename from backend/libs/cache/tsconfig.lib.json rename to apps/backend/libs/cache/tsconfig.lib.json diff --git a/backend/libs/constants/src/index.ts b/apps/backend/libs/constants/src/index.ts similarity index 100% rename from backend/libs/constants/src/index.ts rename to apps/backend/libs/constants/src/index.ts diff --git a/backend/libs/constants/src/oauth.constants.ts b/apps/backend/libs/constants/src/oauth.constants.ts similarity index 100% rename from backend/libs/constants/src/oauth.constants.ts rename to apps/backend/libs/constants/src/oauth.constants.ts diff --git a/backend/libs/constants/src/rabbitmq.constants.ts b/apps/backend/libs/constants/src/rabbitmq.constants.ts similarity index 100% rename from backend/libs/constants/src/rabbitmq.constants.ts rename to apps/backend/libs/constants/src/rabbitmq.constants.ts diff --git a/backend/libs/constants/src/submission.constants.ts b/apps/backend/libs/constants/src/submission.constants.ts similarity index 100% rename from backend/libs/constants/src/submission.constants.ts rename to apps/backend/libs/constants/src/submission.constants.ts diff --git a/backend/libs/constants/src/time.constants.ts b/apps/backend/libs/constants/src/time.constants.ts similarity index 100% rename from backend/libs/constants/src/time.constants.ts rename to apps/backend/libs/constants/src/time.constants.ts diff --git a/backend/libs/constants/tsconfig.lib.json b/apps/backend/libs/constants/tsconfig.lib.json similarity index 100% rename from backend/libs/constants/tsconfig.lib.json rename to apps/backend/libs/constants/tsconfig.lib.json diff --git a/backend/libs/exception/src/apollo-error-formatter.ts b/apps/backend/libs/exception/src/apollo-error-formatter.ts similarity index 100% rename from backend/libs/exception/src/apollo-error-formatter.ts rename to apps/backend/libs/exception/src/apollo-error-formatter.ts diff --git a/backend/libs/exception/src/business.exception.ts b/apps/backend/libs/exception/src/business.exception.ts similarity index 100% rename from backend/libs/exception/src/business.exception.ts rename to apps/backend/libs/exception/src/business.exception.ts diff --git a/backend/libs/exception/src/filter.ts b/apps/backend/libs/exception/src/filter.ts similarity index 100% rename from backend/libs/exception/src/filter.ts rename to apps/backend/libs/exception/src/filter.ts diff --git a/backend/libs/exception/src/graphql-error-code.ts b/apps/backend/libs/exception/src/graphql-error-code.ts similarity index 100% rename from backend/libs/exception/src/graphql-error-code.ts rename to apps/backend/libs/exception/src/graphql-error-code.ts diff --git a/backend/libs/exception/src/index.ts b/apps/backend/libs/exception/src/index.ts similarity index 100% rename from backend/libs/exception/src/index.ts rename to apps/backend/libs/exception/src/index.ts diff --git a/backend/libs/exception/tsconfig.lib.json b/apps/backend/libs/exception/tsconfig.lib.json similarity index 100% rename from backend/libs/exception/tsconfig.lib.json rename to apps/backend/libs/exception/tsconfig.lib.json diff --git a/backend/libs/logger/src/apollo-plugin.logger.ts b/apps/backend/libs/logger/src/apollo-plugin.logger.ts similarity index 100% rename from backend/libs/logger/src/apollo-plugin.logger.ts rename to apps/backend/libs/logger/src/apollo-plugin.logger.ts diff --git a/backend/libs/logger/src/index.ts b/apps/backend/libs/logger/src/index.ts similarity index 100% rename from backend/libs/logger/src/index.ts rename to apps/backend/libs/logger/src/index.ts diff --git a/backend/libs/logger/src/pino-option.logger.ts b/apps/backend/libs/logger/src/pino-option.logger.ts similarity index 100% rename from backend/libs/logger/src/pino-option.logger.ts rename to apps/backend/libs/logger/src/pino-option.logger.ts diff --git a/backend/libs/logger/tsconfig.lib.json b/apps/backend/libs/logger/tsconfig.lib.json similarity index 100% rename from backend/libs/logger/tsconfig.lib.json rename to apps/backend/libs/logger/tsconfig.lib.json diff --git a/backend/libs/pipe/src/cursor-validation.pipe.ts b/apps/backend/libs/pipe/src/cursor-validation.pipe.ts similarity index 100% rename from backend/libs/pipe/src/cursor-validation.pipe.ts rename to apps/backend/libs/pipe/src/cursor-validation.pipe.ts diff --git a/backend/libs/pipe/src/group-id.pipe.ts b/apps/backend/libs/pipe/src/group-id.pipe.ts similarity index 100% rename from backend/libs/pipe/src/group-id.pipe.ts rename to apps/backend/libs/pipe/src/group-id.pipe.ts diff --git a/backend/libs/pipe/src/id-validation.pipe.ts b/apps/backend/libs/pipe/src/id-validation.pipe.ts similarity index 100% rename from backend/libs/pipe/src/id-validation.pipe.ts rename to apps/backend/libs/pipe/src/id-validation.pipe.ts diff --git a/backend/libs/pipe/src/index.ts b/apps/backend/libs/pipe/src/index.ts similarity index 100% rename from backend/libs/pipe/src/index.ts rename to apps/backend/libs/pipe/src/index.ts diff --git a/backend/libs/pipe/src/problem-order.pipe.ts b/apps/backend/libs/pipe/src/problem-order.pipe.ts similarity index 100% rename from backend/libs/pipe/src/problem-order.pipe.ts rename to apps/backend/libs/pipe/src/problem-order.pipe.ts diff --git a/backend/libs/pipe/src/required-int.pipe.ts b/apps/backend/libs/pipe/src/required-int.pipe.ts similarity index 100% rename from backend/libs/pipe/src/required-int.pipe.ts rename to apps/backend/libs/pipe/src/required-int.pipe.ts diff --git a/backend/libs/pipe/tsconfig.lib.json b/apps/backend/libs/pipe/tsconfig.lib.json similarity index 100% rename from backend/libs/pipe/tsconfig.lib.json rename to apps/backend/libs/pipe/tsconfig.lib.json diff --git a/backend/libs/prisma/src/index.ts b/apps/backend/libs/prisma/src/index.ts similarity index 100% rename from backend/libs/prisma/src/index.ts rename to apps/backend/libs/prisma/src/index.ts diff --git a/backend/libs/prisma/src/prisma.module.ts b/apps/backend/libs/prisma/src/prisma.module.ts similarity index 100% rename from backend/libs/prisma/src/prisma.module.ts rename to apps/backend/libs/prisma/src/prisma.module.ts diff --git a/backend/libs/prisma/src/prisma.service.spec.ts b/apps/backend/libs/prisma/src/prisma.service.spec.ts similarity index 100% rename from backend/libs/prisma/src/prisma.service.spec.ts rename to apps/backend/libs/prisma/src/prisma.service.spec.ts diff --git a/backend/libs/prisma/src/prisma.service.ts b/apps/backend/libs/prisma/src/prisma.service.ts similarity index 100% rename from backend/libs/prisma/src/prisma.service.ts rename to apps/backend/libs/prisma/src/prisma.service.ts diff --git a/backend/libs/prisma/tsconfig.lib.json b/apps/backend/libs/prisma/tsconfig.lib.json similarity index 100% rename from backend/libs/prisma/tsconfig.lib.json rename to apps/backend/libs/prisma/tsconfig.lib.json diff --git a/backend/libs/types/src/group-join-request.type.ts b/apps/backend/libs/types/src/group-join-request.type.ts similarity index 100% rename from backend/libs/types/src/group-join-request.type.ts rename to apps/backend/libs/types/src/group-join-request.type.ts diff --git a/backend/libs/types/src/index.ts b/apps/backend/libs/types/src/index.ts similarity index 100% rename from backend/libs/types/src/index.ts rename to apps/backend/libs/types/src/index.ts diff --git a/backend/libs/types/tsconfig.lib.json b/apps/backend/libs/types/tsconfig.lib.json similarity index 100% rename from backend/libs/types/tsconfig.lib.json rename to apps/backend/libs/types/tsconfig.lib.json diff --git a/backend/mocha-fixture.ts b/apps/backend/mocha-fixture.ts similarity index 100% rename from backend/mocha-fixture.ts rename to apps/backend/mocha-fixture.ts diff --git a/backend/nest-cli.json b/apps/backend/nest-cli.json similarity index 100% rename from backend/nest-cli.json rename to apps/backend/nest-cli.json diff --git a/backend/package.json b/apps/backend/package.json similarity index 95% rename from backend/package.json rename to apps/backend/package.json index 1c851d0597..62600600c4 100644 --- a/backend/package.json +++ b/apps/backend/package.json @@ -1,5 +1,5 @@ { - "name": "backend", + "name": "@codedang/backend", "private": true, "scripts": { "build": "nest build", @@ -9,7 +9,7 @@ "start:prod": "node dist/apps/backend/main", "start:testdb": "cross-env DATABASE_URL=$TEST_DATABASE_URL nest start", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", - "pretest": "echo \"y\" | cross-env DATABASE_URL=$TEST_DATABASE_URL pnpm --filter backend exec prisma migrate reset --force", + "pretest": "cross-env DATABASE_URL=$TEST_DATABASE_URL prisma migrate reset --force", "test": "pnpm run pretest && cross-env DATABASE_URL=$TEST_DATABASE_URL mocha \"*/**/*.spec.ts\"", "test:watch": "pnpm run pretest && cross-env DATABASE_URL=$TEST_DATABASE_URL mocha --watch \"*/**/*.spec.ts\"", "test:debug": "pnpm run pretest && cross-env DATABASE_URL=$TEST_DATABASE_URL mocha --inspect \"*/**/*.spec.ts\"", diff --git a/backend/prisma/__fixtures__/problem/1-description-eng.html b/apps/backend/prisma/__fixtures__/problem/1-description-eng.html similarity index 100% rename from backend/prisma/__fixtures__/problem/1-description-eng.html rename to apps/backend/prisma/__fixtures__/problem/1-description-eng.html diff --git a/backend/prisma/__fixtures__/problem/1-description.html b/apps/backend/prisma/__fixtures__/problem/1-description.html similarity index 100% rename from backend/prisma/__fixtures__/problem/1-description.html rename to apps/backend/prisma/__fixtures__/problem/1-description.html diff --git a/backend/prisma/__fixtures__/problem/1-input-eng.html b/apps/backend/prisma/__fixtures__/problem/1-input-eng.html similarity index 100% rename from backend/prisma/__fixtures__/problem/1-input-eng.html rename to apps/backend/prisma/__fixtures__/problem/1-input-eng.html diff --git a/backend/prisma/__fixtures__/problem/1-input.html b/apps/backend/prisma/__fixtures__/problem/1-input.html similarity index 100% rename from backend/prisma/__fixtures__/problem/1-input.html rename to apps/backend/prisma/__fixtures__/problem/1-input.html diff --git a/backend/prisma/__fixtures__/problem/1-output-eng.html b/apps/backend/prisma/__fixtures__/problem/1-output-eng.html similarity index 100% rename from backend/prisma/__fixtures__/problem/1-output-eng.html rename to apps/backend/prisma/__fixtures__/problem/1-output-eng.html diff --git a/backend/prisma/__fixtures__/problem/1-output.html b/apps/backend/prisma/__fixtures__/problem/1-output.html similarity index 100% rename from backend/prisma/__fixtures__/problem/1-output.html rename to apps/backend/prisma/__fixtures__/problem/1-output.html diff --git a/backend/prisma/__fixtures__/problem/2-description.html b/apps/backend/prisma/__fixtures__/problem/2-description.html similarity index 100% rename from backend/prisma/__fixtures__/problem/2-description.html rename to apps/backend/prisma/__fixtures__/problem/2-description.html diff --git a/backend/prisma/__fixtures__/problem/2-input.html b/apps/backend/prisma/__fixtures__/problem/2-input.html similarity index 100% rename from backend/prisma/__fixtures__/problem/2-input.html rename to apps/backend/prisma/__fixtures__/problem/2-input.html diff --git a/backend/prisma/__fixtures__/problem/2-output.html b/apps/backend/prisma/__fixtures__/problem/2-output.html similarity index 100% rename from backend/prisma/__fixtures__/problem/2-output.html rename to apps/backend/prisma/__fixtures__/problem/2-output.html diff --git a/backend/prisma/__fixtures__/problem/3-description.html b/apps/backend/prisma/__fixtures__/problem/3-description.html similarity index 100% rename from backend/prisma/__fixtures__/problem/3-description.html rename to apps/backend/prisma/__fixtures__/problem/3-description.html diff --git a/backend/prisma/__fixtures__/problem/3-input.html b/apps/backend/prisma/__fixtures__/problem/3-input.html similarity index 100% rename from backend/prisma/__fixtures__/problem/3-input.html rename to apps/backend/prisma/__fixtures__/problem/3-input.html diff --git a/backend/prisma/__fixtures__/problem/3-output.html b/apps/backend/prisma/__fixtures__/problem/3-output.html similarity index 100% rename from backend/prisma/__fixtures__/problem/3-output.html rename to apps/backend/prisma/__fixtures__/problem/3-output.html diff --git a/backend/prisma/__fixtures__/problem/4-description.html b/apps/backend/prisma/__fixtures__/problem/4-description.html similarity index 100% rename from backend/prisma/__fixtures__/problem/4-description.html rename to apps/backend/prisma/__fixtures__/problem/4-description.html diff --git a/backend/prisma/__fixtures__/problem/4-hint.html b/apps/backend/prisma/__fixtures__/problem/4-hint.html similarity index 100% rename from backend/prisma/__fixtures__/problem/4-hint.html rename to apps/backend/prisma/__fixtures__/problem/4-hint.html diff --git a/backend/prisma/__fixtures__/problem/4-input.html b/apps/backend/prisma/__fixtures__/problem/4-input.html similarity index 100% rename from backend/prisma/__fixtures__/problem/4-input.html rename to apps/backend/prisma/__fixtures__/problem/4-input.html diff --git a/backend/prisma/__fixtures__/problem/4-output.html b/apps/backend/prisma/__fixtures__/problem/4-output.html similarity index 100% rename from backend/prisma/__fixtures__/problem/4-output.html rename to apps/backend/prisma/__fixtures__/problem/4-output.html diff --git a/backend/prisma/__fixtures__/problem/5-description.html b/apps/backend/prisma/__fixtures__/problem/5-description.html similarity index 100% rename from backend/prisma/__fixtures__/problem/5-description.html rename to apps/backend/prisma/__fixtures__/problem/5-description.html diff --git a/backend/prisma/__fixtures__/problem/5-input.html b/apps/backend/prisma/__fixtures__/problem/5-input.html similarity index 100% rename from backend/prisma/__fixtures__/problem/5-input.html rename to apps/backend/prisma/__fixtures__/problem/5-input.html diff --git a/backend/prisma/__fixtures__/problem/5-output.html b/apps/backend/prisma/__fixtures__/problem/5-output.html similarity index 100% rename from backend/prisma/__fixtures__/problem/5-output.html rename to apps/backend/prisma/__fixtures__/problem/5-output.html diff --git a/backend/prisma/__fixtures__/problem/6-description.html b/apps/backend/prisma/__fixtures__/problem/6-description.html similarity index 100% rename from backend/prisma/__fixtures__/problem/6-description.html rename to apps/backend/prisma/__fixtures__/problem/6-description.html diff --git a/backend/prisma/__fixtures__/problem/6-hint.html b/apps/backend/prisma/__fixtures__/problem/6-hint.html similarity index 100% rename from backend/prisma/__fixtures__/problem/6-hint.html rename to apps/backend/prisma/__fixtures__/problem/6-hint.html diff --git a/backend/prisma/__fixtures__/problem/6-input.html b/apps/backend/prisma/__fixtures__/problem/6-input.html similarity index 100% rename from backend/prisma/__fixtures__/problem/6-input.html rename to apps/backend/prisma/__fixtures__/problem/6-input.html diff --git a/backend/prisma/__fixtures__/problem/6-output.html b/apps/backend/prisma/__fixtures__/problem/6-output.html similarity index 100% rename from backend/prisma/__fixtures__/problem/6-output.html rename to apps/backend/prisma/__fixtures__/problem/6-output.html diff --git a/backend/prisma/__fixtures__/problem/7-description.html b/apps/backend/prisma/__fixtures__/problem/7-description.html similarity index 100% rename from backend/prisma/__fixtures__/problem/7-description.html rename to apps/backend/prisma/__fixtures__/problem/7-description.html diff --git a/backend/prisma/__fixtures__/problem/7-input.html b/apps/backend/prisma/__fixtures__/problem/7-input.html similarity index 100% rename from backend/prisma/__fixtures__/problem/7-input.html rename to apps/backend/prisma/__fixtures__/problem/7-input.html diff --git a/backend/prisma/__fixtures__/problem/7-output.html b/apps/backend/prisma/__fixtures__/problem/7-output.html similarity index 100% rename from backend/prisma/__fixtures__/problem/7-output.html rename to apps/backend/prisma/__fixtures__/problem/7-output.html diff --git a/backend/prisma/__fixtures__/problem/8-description.html b/apps/backend/prisma/__fixtures__/problem/8-description.html similarity index 100% rename from backend/prisma/__fixtures__/problem/8-description.html rename to apps/backend/prisma/__fixtures__/problem/8-description.html diff --git a/backend/prisma/__fixtures__/problem/8-hint.html b/apps/backend/prisma/__fixtures__/problem/8-hint.html similarity index 100% rename from backend/prisma/__fixtures__/problem/8-hint.html rename to apps/backend/prisma/__fixtures__/problem/8-hint.html diff --git a/backend/prisma/__fixtures__/problem/8-input.html b/apps/backend/prisma/__fixtures__/problem/8-input.html similarity index 100% rename from backend/prisma/__fixtures__/problem/8-input.html rename to apps/backend/prisma/__fixtures__/problem/8-input.html diff --git a/backend/prisma/__fixtures__/problem/8-output.html b/apps/backend/prisma/__fixtures__/problem/8-output.html similarity index 100% rename from backend/prisma/__fixtures__/problem/8-output.html rename to apps/backend/prisma/__fixtures__/problem/8-output.html diff --git a/backend/prisma/migrations/20220413125002_init/migration.sql b/apps/backend/prisma/migrations/20220413125002_init/migration.sql similarity index 100% rename from backend/prisma/migrations/20220413125002_init/migration.sql rename to apps/backend/prisma/migrations/20220413125002_init/migration.sql diff --git a/backend/prisma/migrations/20220620162501_basic_plan/migration.sql b/apps/backend/prisma/migrations/20220620162501_basic_plan/migration.sql similarity index 100% rename from backend/prisma/migrations/20220620162501_basic_plan/migration.sql rename to apps/backend/prisma/migrations/20220620162501_basic_plan/migration.sql diff --git a/backend/prisma/migrations/20220705080930_add_default_user_role/migration.sql b/apps/backend/prisma/migrations/20220705080930_add_default_user_role/migration.sql similarity index 100% rename from backend/prisma/migrations/20220705080930_add_default_user_role/migration.sql rename to apps/backend/prisma/migrations/20220705080930_add_default_user_role/migration.sql diff --git a/backend/prisma/migrations/20220705121234_delete_group_notice/migration.sql b/apps/backend/prisma/migrations/20220705121234_delete_group_notice/migration.sql similarity index 100% rename from backend/prisma/migrations/20220705121234_delete_group_notice/migration.sql rename to apps/backend/prisma/migrations/20220705121234_delete_group_notice/migration.sql diff --git a/backend/prisma/migrations/20220706072821_contest_type/migration.sql b/apps/backend/prisma/migrations/20220706072821_contest_type/migration.sql similarity index 100% rename from backend/prisma/migrations/20220706072821_contest_type/migration.sql rename to apps/backend/prisma/migrations/20220706072821_contest_type/migration.sql diff --git a/backend/prisma/migrations/20220710121359_add_description_summary_to_contest/migration.sql b/apps/backend/prisma/migrations/20220710121359_add_description_summary_to_contest/migration.sql similarity index 100% rename from backend/prisma/migrations/20220710121359_add_description_summary_to_contest/migration.sql rename to apps/backend/prisma/migrations/20220710121359_add_description_summary_to_contest/migration.sql diff --git a/backend/prisma/migrations/20220712082423_use_enum_for_user_role/migration.sql b/apps/backend/prisma/migrations/20220712082423_use_enum_for_user_role/migration.sql similarity index 100% rename from backend/prisma/migrations/20220712082423_use_enum_for_user_role/migration.sql rename to apps/backend/prisma/migrations/20220712082423_use_enum_for_user_role/migration.sql diff --git a/backend/prisma/migrations/20220721140056_delete_user_profile_major/migration.sql b/apps/backend/prisma/migrations/20220721140056_delete_user_profile_major/migration.sql similarity index 100% rename from backend/prisma/migrations/20220721140056_delete_user_profile_major/migration.sql rename to apps/backend/prisma/migrations/20220721140056_delete_user_profile_major/migration.sql diff --git a/backend/prisma/migrations/20220725091416_delete_has_email_authenticated_of_user/migration.sql b/apps/backend/prisma/migrations/20220725091416_delete_has_email_authenticated_of_user/migration.sql similarity index 100% rename from backend/prisma/migrations/20220725091416_delete_has_email_authenticated_of_user/migration.sql rename to apps/backend/prisma/migrations/20220725091416_delete_has_email_authenticated_of_user/migration.sql diff --git a/backend/prisma/migrations/20220812060317_add_allow_partial_score_to_workbook/migration.sql b/apps/backend/prisma/migrations/20220812060317_add_allow_partial_score_to_workbook/migration.sql similarity index 100% rename from backend/prisma/migrations/20220812060317_add_allow_partial_score_to_workbook/migration.sql rename to apps/backend/prisma/migrations/20220812060317_add_allow_partial_score_to_workbook/migration.sql diff --git a/backend/prisma/migrations/20220820175807_add_contest_to_public_request_table/migration.sql b/apps/backend/prisma/migrations/20220820175807_add_contest_to_public_request_table/migration.sql similarity index 100% rename from backend/prisma/migrations/20220820175807_add_contest_to_public_request_table/migration.sql rename to apps/backend/prisma/migrations/20220820175807_add_contest_to_public_request_table/migration.sql diff --git a/backend/prisma/migrations/20220827082307_add_is_public_to_contest_table/migration.sql b/apps/backend/prisma/migrations/20220827082307_add_is_public_to_contest_table/migration.sql similarity index 100% rename from backend/prisma/migrations/20220827082307_add_is_public_to_contest_table/migration.sql rename to apps/backend/prisma/migrations/20220827082307_add_is_public_to_contest_table/migration.sql diff --git a/backend/prisma/migrations/20220925061759_unique_group_name/migration.sql b/apps/backend/prisma/migrations/20220925061759_unique_group_name/migration.sql similarity index 100% rename from backend/prisma/migrations/20220925061759_unique_group_name/migration.sql rename to apps/backend/prisma/migrations/20220925061759_unique_group_name/migration.sql diff --git a/backend/prisma/migrations/20220930064123_refactor_user_role/migration.sql b/apps/backend/prisma/migrations/20220930064123_refactor_user_role/migration.sql similarity index 100% rename from backend/prisma/migrations/20220930064123_refactor_user_role/migration.sql rename to apps/backend/prisma/migrations/20220930064123_refactor_user_role/migration.sql diff --git a/backend/prisma/migrations/20221117125726_/migration.sql b/apps/backend/prisma/migrations/20221117125726_/migration.sql similarity index 100% rename from backend/prisma/migrations/20221117125726_/migration.sql rename to apps/backend/prisma/migrations/20221117125726_/migration.sql diff --git a/backend/prisma/migrations/20221222120916_prevent_deleting_reference/migration.sql b/apps/backend/prisma/migrations/20221222120916_prevent_deleting_reference/migration.sql similarity index 100% rename from backend/prisma/migrations/20221222120916_prevent_deleting_reference/migration.sql rename to apps/backend/prisma/migrations/20221222120916_prevent_deleting_reference/migration.sql diff --git a/backend/prisma/migrations/20221223103636_change_name_of_contest_public_request/migration.sql b/apps/backend/prisma/migrations/20221223103636_change_name_of_contest_public_request/migration.sql similarity index 100% rename from backend/prisma/migrations/20221223103636_change_name_of_contest_public_request/migration.sql rename to apps/backend/prisma/migrations/20221223103636_change_name_of_contest_public_request/migration.sql diff --git a/backend/prisma/migrations/20230118082429_refer_problem_in_contest_notice/migration.sql b/apps/backend/prisma/migrations/20230118082429_refer_problem_in_contest_notice/migration.sql similarity index 100% rename from backend/prisma/migrations/20230118082429_refer_problem_in_contest_notice/migration.sql rename to apps/backend/prisma/migrations/20230118082429_refer_problem_in_contest_notice/migration.sql diff --git a/backend/prisma/migrations/20230118084103_drop_time_in_workbook/migration.sql b/apps/backend/prisma/migrations/20230118084103_drop_time_in_workbook/migration.sql similarity index 100% rename from backend/prisma/migrations/20230118084103_drop_time_in_workbook/migration.sql rename to apps/backend/prisma/migrations/20230118084103_drop_time_in_workbook/migration.sql diff --git a/backend/prisma/migrations/20230118084501_drop_type_of_tag/migration.sql b/apps/backend/prisma/migrations/20230118084501_drop_type_of_tag/migration.sql similarity index 100% rename from backend/prisma/migrations/20230118084501_drop_type_of_tag/migration.sql rename to apps/backend/prisma/migrations/20230118084501_drop_type_of_tag/migration.sql diff --git a/backend/prisma/migrations/20230118084806_delete_allow_partial_score_field_in_workbook_model/migration.sql b/apps/backend/prisma/migrations/20230118084806_delete_allow_partial_score_field_in_workbook_model/migration.sql similarity index 100% rename from backend/prisma/migrations/20230118084806_delete_allow_partial_score_field_in_workbook_model/migration.sql rename to apps/backend/prisma/migrations/20230118084806_delete_allow_partial_score_field_in_workbook_model/migration.sql diff --git a/backend/prisma/migrations/20230126123416_add_group_config/migration.sql b/apps/backend/prisma/migrations/20230126123416_add_group_config/migration.sql similarity index 100% rename from backend/prisma/migrations/20230126123416_add_group_config/migration.sql rename to apps/backend/prisma/migrations/20230126123416_add_group_config/migration.sql diff --git a/backend/prisma/migrations/20230127120354_revise_schema_to_follow_new_plan/migration.sql b/apps/backend/prisma/migrations/20230127120354_revise_schema_to_follow_new_plan/migration.sql similarity index 100% rename from backend/prisma/migrations/20230127120354_revise_schema_to_follow_new_plan/migration.sql rename to apps/backend/prisma/migrations/20230127120354_revise_schema_to_follow_new_plan/migration.sql diff --git a/backend/prisma/migrations/20230127122258_modify_config_to_be_required/migration.sql b/apps/backend/prisma/migrations/20230127122258_modify_config_to_be_required/migration.sql similarity index 100% rename from backend/prisma/migrations/20230127122258_modify_config_to_be_required/migration.sql rename to apps/backend/prisma/migrations/20230127122258_modify_config_to_be_required/migration.sql diff --git a/backend/prisma/migrations/20230203104712_make_composite_pk_of_user_group/migration.sql b/apps/backend/prisma/migrations/20230203104712_make_composite_pk_of_user_group/migration.sql similarity index 100% rename from backend/prisma/migrations/20230203104712_make_composite_pk_of_user_group/migration.sql rename to apps/backend/prisma/migrations/20230203104712_make_composite_pk_of_user_group/migration.sql diff --git a/backend/prisma/migrations/20230210080345_set_composite_ids_for_contest_and_workbook_problem/migration.sql b/apps/backend/prisma/migrations/20230210080345_set_composite_ids_for_contest_and_workbook_problem/migration.sql similarity index 100% rename from backend/prisma/migrations/20230210080345_set_composite_ids_for_contest_and_workbook_problem/migration.sql rename to apps/backend/prisma/migrations/20230210080345_set_composite_ids_for_contest_and_workbook_problem/migration.sql diff --git a/backend/prisma/migrations/20230215042218_change_last_login_optional/migration.sql b/apps/backend/prisma/migrations/20230215042218_change_last_login_optional/migration.sql similarity index 100% rename from backend/prisma/migrations/20230215042218_change_last_login_optional/migration.sql rename to apps/backend/prisma/migrations/20230215042218_change_last_login_optional/migration.sql diff --git a/backend/prisma/migrations/20230215140607_cascade_user_profile_and_user_group/migration.sql b/apps/backend/prisma/migrations/20230215140607_cascade_user_profile_and_user_group/migration.sql similarity index 100% rename from backend/prisma/migrations/20230215140607_cascade_user_profile_and_user_group/migration.sql rename to apps/backend/prisma/migrations/20230215140607_cascade_user_profile_and_user_group/migration.sql diff --git a/backend/prisma/migrations/20230509150046_set_language_as_enum_type/migration.sql b/apps/backend/prisma/migrations/20230509150046_set_language_as_enum_type/migration.sql similarity index 100% rename from backend/prisma/migrations/20230509150046_set_language_as_enum_type/migration.sql rename to apps/backend/prisma/migrations/20230509150046_set_language_as_enum_type/migration.sql diff --git a/backend/prisma/migrations/20230518113105_add_languages_on_language_enum/migration.sql b/apps/backend/prisma/migrations/20230518113105_add_languages_on_language_enum/migration.sql similarity index 100% rename from backend/prisma/migrations/20230518113105_add_languages_on_language_enum/migration.sql rename to apps/backend/prisma/migrations/20230518113105_add_languages_on_language_enum/migration.sql diff --git a/backend/prisma/migrations/20230518113231_add_result_status_on_result_status_enum/migration.sql b/apps/backend/prisma/migrations/20230518113231_add_result_status_on_result_status_enum/migration.sql similarity index 100% rename from backend/prisma/migrations/20230518113231_add_result_status_on_result_status_enum/migration.sql rename to apps/backend/prisma/migrations/20230518113231_add_result_status_on_result_status_enum/migration.sql diff --git a/backend/prisma/migrations/20230624044048_set_problem_testcase_cascade_on_delete/migration.sql b/apps/backend/prisma/migrations/20230624044048_set_problem_testcase_cascade_on_delete/migration.sql similarity index 100% rename from backend/prisma/migrations/20230624044048_set_problem_testcase_cascade_on_delete/migration.sql rename to apps/backend/prisma/migrations/20230624044048_set_problem_testcase_cascade_on_delete/migration.sql diff --git a/backend/prisma/migrations/20230624045459_rename_contest_notice_with_clarification/migration.sql b/apps/backend/prisma/migrations/20230624045459_rename_contest_notice_with_clarification/migration.sql similarity index 100% rename from backend/prisma/migrations/20230624045459_rename_contest_notice_with_clarification/migration.sql rename to apps/backend/prisma/migrations/20230624045459_rename_contest_notice_with_clarification/migration.sql diff --git a/backend/prisma/migrations/20230624050255_add_on_delete_options/migration.sql b/apps/backend/prisma/migrations/20230624050255_add_on_delete_options/migration.sql similarity index 100% rename from backend/prisma/migrations/20230624050255_add_on_delete_options/migration.sql rename to apps/backend/prisma/migrations/20230624050255_add_on_delete_options/migration.sql diff --git a/backend/prisma/migrations/20230624052239_set_problem_tag_cascade_on_delete/migration.sql b/apps/backend/prisma/migrations/20230624052239_set_problem_tag_cascade_on_delete/migration.sql similarity index 100% rename from backend/prisma/migrations/20230624052239_set_problem_tag_cascade_on_delete/migration.sql rename to apps/backend/prisma/migrations/20230624052239_set_problem_tag_cascade_on_delete/migration.sql diff --git a/backend/prisma/migrations/20230629103918_delete_is_deleted_field_from_group/migration.sql b/apps/backend/prisma/migrations/20230629103918_delete_is_deleted_field_from_group/migration.sql similarity index 100% rename from backend/prisma/migrations/20230629103918_delete_is_deleted_field_from_group/migration.sql rename to apps/backend/prisma/migrations/20230629103918_delete_is_deleted_field_from_group/migration.sql diff --git a/backend/prisma/migrations/20230706094306_add_result_field_to_submission_table/migration.sql b/apps/backend/prisma/migrations/20230706094306_add_result_field_to_submission_table/migration.sql similarity index 100% rename from backend/prisma/migrations/20230706094306_add_result_field_to_submission_table/migration.sql rename to apps/backend/prisma/migrations/20230706094306_add_result_field_to_submission_table/migration.sql diff --git a/backend/prisma/migrations/20230706140246_modify_problem_tag_on_delete/migration.sql b/apps/backend/prisma/migrations/20230706140246_modify_problem_tag_on_delete/migration.sql similarity index 100% rename from backend/prisma/migrations/20230706140246_modify_problem_tag_on_delete/migration.sql rename to apps/backend/prisma/migrations/20230706140246_modify_problem_tag_on_delete/migration.sql diff --git a/backend/prisma/migrations/20230713114754_set_code_to_be_list_of_snippets/migration.sql b/apps/backend/prisma/migrations/20230713114754_set_code_to_be_list_of_snippets/migration.sql similarity index 100% rename from backend/prisma/migrations/20230713114754_set_code_to_be_list_of_snippets/migration.sql rename to apps/backend/prisma/migrations/20230713114754_set_code_to_be_list_of_snippets/migration.sql diff --git a/backend/prisma/migrations/20230713151909_add_levels_to_level_enum/migration.sql b/apps/backend/prisma/migrations/20230713151909_add_levels_to_level_enum/migration.sql similarity index 100% rename from backend/prisma/migrations/20230713151909_add_levels_to_level_enum/migration.sql rename to apps/backend/prisma/migrations/20230713151909_add_levels_to_level_enum/migration.sql diff --git a/backend/prisma/migrations/20230713192623_set_combinational_pk_in_contest_record_table/migration.sql b/apps/backend/prisma/migrations/20230713192623_set_combinational_pk_in_contest_record_table/migration.sql similarity index 100% rename from backend/prisma/migrations/20230713192623_set_combinational_pk_in_contest_record_table/migration.sql rename to apps/backend/prisma/migrations/20230713192623_set_combinational_pk_in_contest_record_table/migration.sql diff --git a/backend/prisma/migrations/20230713192646_add_cpu_and_memory_usage_to_submission_result_table/migration.sql b/apps/backend/prisma/migrations/20230713192646_add_cpu_and_memory_usage_to_submission_result_table/migration.sql similarity index 100% rename from backend/prisma/migrations/20230713192646_add_cpu_and_memory_usage_to_submission_result_table/migration.sql rename to apps/backend/prisma/migrations/20230713192646_add_cpu_and_memory_usage_to_submission_result_table/migration.sql diff --git a/backend/prisma/migrations/20230713192746_add_expose_time_to_problem_table/migration.sql b/apps/backend/prisma/migrations/20230713192746_add_expose_time_to_problem_table/migration.sql similarity index 100% rename from backend/prisma/migrations/20230713192746_add_expose_time_to_problem_table/migration.sql rename to apps/backend/prisma/migrations/20230713192746_add_expose_time_to_problem_table/migration.sql diff --git a/backend/prisma/migrations/20230812053949_add_announcement_model/migration.sql b/apps/backend/prisma/migrations/20230812053949_add_announcement_model/migration.sql similarity index 100% rename from backend/prisma/migrations/20230812053949_add_announcement_model/migration.sql rename to apps/backend/prisma/migrations/20230812053949_add_announcement_model/migration.sql diff --git a/backend/prisma/migrations/20230812061117_modify_problem_and_contest_announcement_model/migration.sql b/apps/backend/prisma/migrations/20230812061117_modify_problem_and_contest_announcement_model/migration.sql similarity index 100% rename from backend/prisma/migrations/20230812061117_modify_problem_and_contest_announcement_model/migration.sql rename to apps/backend/prisma/migrations/20230812061117_modify_problem_and_contest_announcement_model/migration.sql diff --git a/backend/prisma/migrations/20230813072158_modify_conestworkbook_problem_schema/migration.sql b/apps/backend/prisma/migrations/20230813072158_modify_conestworkbook_problem_schema/migration.sql similarity index 100% rename from backend/prisma/migrations/20230813072158_modify_conestworkbook_problem_schema/migration.sql rename to apps/backend/prisma/migrations/20230813072158_modify_conestworkbook_problem_schema/migration.sql diff --git a/backend/prisma/migrations/20230925075957_add_user_oauth_model/migration.sql b/apps/backend/prisma/migrations/20230925075957_add_user_oauth_model/migration.sql similarity index 100% rename from backend/prisma/migrations/20230925075957_add_user_oauth_model/migration.sql rename to apps/backend/prisma/migrations/20230925075957_add_user_oauth_model/migration.sql diff --git a/backend/prisma/migrations/20231102152425_make_email_not_null/migration.sql b/apps/backend/prisma/migrations/20231102152425_make_email_not_null/migration.sql similarity index 100% rename from backend/prisma/migrations/20231102152425_make_email_not_null/migration.sql rename to apps/backend/prisma/migrations/20231102152425_make_email_not_null/migration.sql diff --git a/backend/prisma/migrations/20231109131322_enable_user_deletion/migration.sql b/apps/backend/prisma/migrations/20231109131322_enable_user_deletion/migration.sql similarity index 100% rename from backend/prisma/migrations/20231109131322_enable_user_deletion/migration.sql rename to apps/backend/prisma/migrations/20231109131322_enable_user_deletion/migration.sql diff --git a/backend/prisma/migrations/20231218063830_/migration.sql b/apps/backend/prisma/migrations/20231218063830_/migration.sql similarity index 100% rename from backend/prisma/migrations/20231218063830_/migration.sql rename to apps/backend/prisma/migrations/20231218063830_/migration.sql diff --git a/backend/prisma/migrations/20231221012339_/migration.sql b/apps/backend/prisma/migrations/20231221012339_/migration.sql similarity index 100% rename from backend/prisma/migrations/20231221012339_/migration.sql rename to apps/backend/prisma/migrations/20231221012339_/migration.sql diff --git a/backend/prisma/migrations/20231221044026_/migration.sql b/apps/backend/prisma/migrations/20231221044026_/migration.sql similarity index 100% rename from backend/prisma/migrations/20231221044026_/migration.sql rename to apps/backend/prisma/migrations/20231221044026_/migration.sql diff --git a/backend/prisma/migrations/20231221081427_referential_action_modification/migration.sql b/apps/backend/prisma/migrations/20231221081427_referential_action_modification/migration.sql similarity index 100% rename from backend/prisma/migrations/20231221081427_referential_action_modification/migration.sql rename to apps/backend/prisma/migrations/20231221081427_referential_action_modification/migration.sql diff --git a/backend/prisma/migrations/20231228083547_add_ac_rate/migration.sql b/apps/backend/prisma/migrations/20231228083547_add_ac_rate/migration.sql similarity index 100% rename from backend/prisma/migrations/20231228083547_add_ac_rate/migration.sql rename to apps/backend/prisma/migrations/20231228083547_add_ac_rate/migration.sql diff --git a/backend/prisma/migrations/20240104063238_change_submission_id_type/migration.sql b/apps/backend/prisma/migrations/20240104063238_change_submission_id_type/migration.sql similarity index 100% rename from backend/prisma/migrations/20240104063238_change_submission_id_type/migration.sql rename to apps/backend/prisma/migrations/20240104063238_change_submission_id_type/migration.sql diff --git a/backend/prisma/migrations/20240104072555_change_submission_result_table_name/migration.sql b/apps/backend/prisma/migrations/20240104072555_change_submission_result_table_name/migration.sql similarity index 100% rename from backend/prisma/migrations/20240104072555_change_submission_result_table_name/migration.sql rename to apps/backend/prisma/migrations/20240104072555_change_submission_result_table_name/migration.sql diff --git a/backend/prisma/migrations/20240107173556_code_draft/migration.sql b/apps/backend/prisma/migrations/20240107173556_code_draft/migration.sql similarity index 100% rename from backend/prisma/migrations/20240107173556_code_draft/migration.sql rename to apps/backend/prisma/migrations/20240107173556_code_draft/migration.sql diff --git a/backend/prisma/migrations/20240118071939_change_user_oauth_id_to_string/migration.sql b/apps/backend/prisma/migrations/20240118071939_change_user_oauth_id_to_string/migration.sql similarity index 100% rename from backend/prisma/migrations/20240118071939_change_user_oauth_id_to_string/migration.sql rename to apps/backend/prisma/migrations/20240118071939_change_user_oauth_id_to_string/migration.sql diff --git a/backend/prisma/migrations/20240124143020_add_score_field_in_contest_record/migration.sql b/apps/backend/prisma/migrations/20240124143020_add_score_field_in_contest_record/migration.sql similarity index 100% rename from backend/prisma/migrations/20240124143020_add_score_field_in_contest_record/migration.sql rename to apps/backend/prisma/migrations/20240124143020_add_score_field_in_contest_record/migration.sql diff --git a/backend/prisma/migrations/20240201082532_add_codesize_to_submission/migration.sql b/apps/backend/prisma/migrations/20240201082532_add_codesize_to_submission/migration.sql similarity index 100% rename from backend/prisma/migrations/20240201082532_add_codesize_to_submission/migration.sql rename to apps/backend/prisma/migrations/20240201082532_add_codesize_to_submission/migration.sql diff --git a/backend/prisma/migrations/20240207142636_connect_announcement_to_contest/migration.sql b/apps/backend/prisma/migrations/20240207142636_connect_announcement_to_contest/migration.sql similarity index 100% rename from backend/prisma/migrations/20240207142636_connect_announcement_to_contest/migration.sql rename to apps/backend/prisma/migrations/20240207142636_connect_announcement_to_contest/migration.sql diff --git a/backend/prisma/migrations/20240213051227_add_is_visible_to_problem_model/migration.sql b/apps/backend/prisma/migrations/20240213051227_add_is_visible_to_problem_model/migration.sql similarity index 100% rename from backend/prisma/migrations/20240213051227_add_is_visible_to_problem_model/migration.sql rename to apps/backend/prisma/migrations/20240213051227_add_is_visible_to_problem_model/migration.sql diff --git a/backend/prisma/migrations/20240213065504_add_exaple_io_model/migration.sql b/apps/backend/prisma/migrations/20240213065504_add_exaple_io_model/migration.sql similarity index 100% rename from backend/prisma/migrations/20240213065504_add_exaple_io_model/migration.sql rename to apps/backend/prisma/migrations/20240213065504_add_exaple_io_model/migration.sql diff --git a/backend/prisma/migrations/20240215062711_add_english_information_to_problem_model/migration.sql b/apps/backend/prisma/migrations/20240215062711_add_english_information_to_problem_model/migration.sql similarity index 100% rename from backend/prisma/migrations/20240215062711_add_english_information_to_problem_model/migration.sql rename to apps/backend/prisma/migrations/20240215062711_add_english_information_to_problem_model/migration.sql diff --git a/backend/prisma/migrations/migration_lock.toml b/apps/backend/prisma/migrations/migration_lock.toml similarity index 100% rename from backend/prisma/migrations/migration_lock.toml rename to apps/backend/prisma/migrations/migration_lock.toml diff --git a/backend/prisma/schema.prisma b/apps/backend/prisma/schema.prisma similarity index 100% rename from backend/prisma/schema.prisma rename to apps/backend/prisma/schema.prisma diff --git a/backend/prisma/seed.ts b/apps/backend/prisma/seed.ts similarity index 100% rename from backend/prisma/seed.ts rename to apps/backend/prisma/seed.ts diff --git a/backend/tsconfig.build.json b/apps/backend/tsconfig.build.json similarity index 100% rename from backend/tsconfig.build.json rename to apps/backend/tsconfig.build.json diff --git a/backend/tsconfig.json b/apps/backend/tsconfig.json similarity index 100% rename from backend/tsconfig.json rename to apps/backend/tsconfig.json diff --git a/frontend-client/.eslintrc.js b/apps/frontend/.eslintrc.js similarity index 100% rename from frontend-client/.eslintrc.js rename to apps/frontend/.eslintrc.js diff --git a/frontend-client/.gitignore b/apps/frontend/.gitignore similarity index 100% rename from frontend-client/.gitignore rename to apps/frontend/.gitignore diff --git a/frontend-client/app/(main)/_components/Badge.tsx b/apps/frontend/app/(main)/_components/Badge.tsx similarity index 100% rename from frontend-client/app/(main)/_components/Badge.tsx rename to apps/frontend/app/(main)/_components/Badge.tsx diff --git a/frontend-client/app/(main)/_components/Carousel.tsx b/apps/frontend/app/(main)/_components/Carousel.tsx similarity index 100% rename from frontend-client/app/(main)/_components/Carousel.tsx rename to apps/frontend/app/(main)/_components/Carousel.tsx diff --git a/frontend-client/app/(main)/_components/ContestCard.tsx b/apps/frontend/app/(main)/_components/ContestCard.tsx similarity index 100% rename from frontend-client/app/(main)/_components/ContestCard.tsx rename to apps/frontend/app/(main)/_components/ContestCard.tsx diff --git a/frontend-client/app/(main)/_components/ContestCards.tsx b/apps/frontend/app/(main)/_components/ContestCards.tsx similarity index 100% rename from frontend-client/app/(main)/_components/ContestCards.tsx rename to apps/frontend/app/(main)/_components/ContestCards.tsx diff --git a/frontend-client/app/(main)/_components/Footer.tsx b/apps/frontend/app/(main)/_components/Footer.tsx similarity index 100% rename from frontend-client/app/(main)/_components/Footer.tsx rename to apps/frontend/app/(main)/_components/Footer.tsx diff --git a/frontend-client/app/(main)/_components/Header.tsx b/apps/frontend/app/(main)/_components/Header.tsx similarity index 100% rename from frontend-client/app/(main)/_components/Header.tsx rename to apps/frontend/app/(main)/_components/Header.tsx diff --git a/frontend-client/app/(main)/_components/NavLink.tsx b/apps/frontend/app/(main)/_components/NavLink.tsx similarity index 100% rename from frontend-client/app/(main)/_components/NavLink.tsx rename to apps/frontend/app/(main)/_components/NavLink.tsx diff --git a/frontend-client/app/(main)/_components/ProblemCard.tsx b/apps/frontend/app/(main)/_components/ProblemCard.tsx similarity index 100% rename from frontend-client/app/(main)/_components/ProblemCard.tsx rename to apps/frontend/app/(main)/_components/ProblemCard.tsx diff --git a/frontend-client/app/(main)/_components/ProblemCards.tsx b/apps/frontend/app/(main)/_components/ProblemCards.tsx similarity index 100% rename from frontend-client/app/(main)/_components/ProblemCards.tsx rename to apps/frontend/app/(main)/_components/ProblemCards.tsx diff --git a/frontend-client/app/(main)/_components/TimeDiff.tsx b/apps/frontend/app/(main)/_components/TimeDiff.tsx similarity index 100% rename from frontend-client/app/(main)/_components/TimeDiff.tsx rename to apps/frontend/app/(main)/_components/TimeDiff.tsx diff --git a/frontend-client/app/(main)/contest/[contestId]/@tabs/_components/ParticipateButton.tsx b/apps/frontend/app/(main)/contest/[contestId]/@tabs/_components/ParticipateButton.tsx similarity index 100% rename from frontend-client/app/(main)/contest/[contestId]/@tabs/_components/ParticipateButton.tsx rename to apps/frontend/app/(main)/contest/[contestId]/@tabs/_components/ParticipateButton.tsx diff --git a/frontend-client/app/(main)/contest/[contestId]/@tabs/announcement/_components/Columns.tsx b/apps/frontend/app/(main)/contest/[contestId]/@tabs/announcement/_components/Columns.tsx similarity index 100% rename from frontend-client/app/(main)/contest/[contestId]/@tabs/announcement/_components/Columns.tsx rename to apps/frontend/app/(main)/contest/[contestId]/@tabs/announcement/_components/Columns.tsx diff --git a/frontend-client/app/(main)/contest/[contestId]/@tabs/announcement/_components/styles.css b/apps/frontend/app/(main)/contest/[contestId]/@tabs/announcement/_components/styles.css similarity index 100% rename from frontend-client/app/(main)/contest/[contestId]/@tabs/announcement/_components/styles.css rename to apps/frontend/app/(main)/contest/[contestId]/@tabs/announcement/_components/styles.css diff --git a/frontend-client/app/(main)/contest/[contestId]/@tabs/announcement/page.tsx b/apps/frontend/app/(main)/contest/[contestId]/@tabs/announcement/page.tsx similarity index 100% rename from frontend-client/app/(main)/contest/[contestId]/@tabs/announcement/page.tsx rename to apps/frontend/app/(main)/contest/[contestId]/@tabs/announcement/page.tsx diff --git a/frontend-client/app/(main)/contest/[contestId]/@tabs/page.tsx b/apps/frontend/app/(main)/contest/[contestId]/@tabs/page.tsx similarity index 100% rename from frontend-client/app/(main)/contest/[contestId]/@tabs/page.tsx rename to apps/frontend/app/(main)/contest/[contestId]/@tabs/page.tsx diff --git a/frontend-client/app/(main)/contest/[contestId]/@tabs/problem/_components/Columns.tsx b/apps/frontend/app/(main)/contest/[contestId]/@tabs/problem/_components/Columns.tsx similarity index 100% rename from frontend-client/app/(main)/contest/[contestId]/@tabs/problem/_components/Columns.tsx rename to apps/frontend/app/(main)/contest/[contestId]/@tabs/problem/_components/Columns.tsx diff --git a/frontend-client/app/(main)/contest/[contestId]/@tabs/problem/page.tsx b/apps/frontend/app/(main)/contest/[contestId]/@tabs/problem/page.tsx similarity index 100% rename from frontend-client/app/(main)/contest/[contestId]/@tabs/problem/page.tsx rename to apps/frontend/app/(main)/contest/[contestId]/@tabs/problem/page.tsx diff --git a/frontend-client/app/(main)/contest/[contestId]/@tabs/standings/page.tsx b/apps/frontend/app/(main)/contest/[contestId]/@tabs/standings/page.tsx similarity index 100% rename from frontend-client/app/(main)/contest/[contestId]/@tabs/standings/page.tsx rename to apps/frontend/app/(main)/contest/[contestId]/@tabs/standings/page.tsx diff --git a/frontend-client/app/(main)/contest/[contestId]/layout.tsx b/apps/frontend/app/(main)/contest/[contestId]/layout.tsx similarity index 100% rename from frontend-client/app/(main)/contest/[contestId]/layout.tsx rename to apps/frontend/app/(main)/contest/[contestId]/layout.tsx diff --git a/frontend-client/app/(main)/contest/[contestId]/page.tsx b/apps/frontend/app/(main)/contest/[contestId]/page.tsx similarity index 100% rename from frontend-client/app/(main)/contest/[contestId]/page.tsx rename to apps/frontend/app/(main)/contest/[contestId]/page.tsx diff --git a/frontend-client/app/(main)/contest/_components/Columns.tsx b/apps/frontend/app/(main)/contest/_components/Columns.tsx similarity index 100% rename from frontend-client/app/(main)/contest/_components/Columns.tsx rename to apps/frontend/app/(main)/contest/_components/Columns.tsx diff --git a/frontend-client/app/(main)/contest/_components/ContestCardList.tsx b/apps/frontend/app/(main)/contest/_components/ContestCardList.tsx similarity index 100% rename from frontend-client/app/(main)/contest/_components/ContestCardList.tsx rename to apps/frontend/app/(main)/contest/_components/ContestCardList.tsx diff --git a/frontend-client/app/(main)/contest/_components/ContestTable.tsx b/apps/frontend/app/(main)/contest/_components/ContestTable.tsx similarity index 100% rename from frontend-client/app/(main)/contest/_components/ContestTable.tsx rename to apps/frontend/app/(main)/contest/_components/ContestTable.tsx diff --git a/frontend-client/app/(main)/contest/_components/ContestTabs.tsx b/apps/frontend/app/(main)/contest/_components/ContestTabs.tsx similarity index 100% rename from frontend-client/app/(main)/contest/_components/ContestTabs.tsx rename to apps/frontend/app/(main)/contest/_components/ContestTabs.tsx diff --git a/frontend-client/app/(main)/contest/_components/FinishedContestTable.tsx b/apps/frontend/app/(main)/contest/_components/FinishedContestTable.tsx similarity index 100% rename from frontend-client/app/(main)/contest/_components/FinishedContestTable.tsx rename to apps/frontend/app/(main)/contest/_components/FinishedContestTable.tsx diff --git a/frontend-client/app/(main)/contest/layout.tsx b/apps/frontend/app/(main)/contest/layout.tsx similarity index 100% rename from frontend-client/app/(main)/contest/layout.tsx rename to apps/frontend/app/(main)/contest/layout.tsx diff --git a/frontend-client/app/(main)/contest/page.tsx b/apps/frontend/app/(main)/contest/page.tsx similarity index 100% rename from frontend-client/app/(main)/contest/page.tsx rename to apps/frontend/app/(main)/contest/page.tsx diff --git a/frontend-client/app/(main)/error.tsx b/apps/frontend/app/(main)/error.tsx similarity index 100% rename from frontend-client/app/(main)/error.tsx rename to apps/frontend/app/(main)/error.tsx diff --git a/frontend-client/app/(main)/group/page.tsx b/apps/frontend/app/(main)/group/page.tsx similarity index 100% rename from frontend-client/app/(main)/group/page.tsx rename to apps/frontend/app/(main)/group/page.tsx diff --git a/frontend-client/app/(main)/layout.tsx b/apps/frontend/app/(main)/layout.tsx similarity index 100% rename from frontend-client/app/(main)/layout.tsx rename to apps/frontend/app/(main)/layout.tsx diff --git a/frontend-client/app/(main)/notice/[id]/page.tsx b/apps/frontend/app/(main)/notice/[id]/page.tsx similarity index 100% rename from frontend-client/app/(main)/notice/[id]/page.tsx rename to apps/frontend/app/(main)/notice/[id]/page.tsx diff --git a/frontend-client/app/(main)/notice/_components/Columns.tsx b/apps/frontend/app/(main)/notice/_components/Columns.tsx similarity index 100% rename from frontend-client/app/(main)/notice/_components/Columns.tsx rename to apps/frontend/app/(main)/notice/_components/Columns.tsx diff --git a/frontend-client/app/(main)/notice/_components/NoticeTable.tsx b/apps/frontend/app/(main)/notice/_components/NoticeTable.tsx similarity index 100% rename from frontend-client/app/(main)/notice/_components/NoticeTable.tsx rename to apps/frontend/app/(main)/notice/_components/NoticeTable.tsx diff --git a/frontend-client/app/(main)/notice/layout.tsx b/apps/frontend/app/(main)/notice/layout.tsx similarity index 100% rename from frontend-client/app/(main)/notice/layout.tsx rename to apps/frontend/app/(main)/notice/layout.tsx diff --git a/frontend-client/app/(main)/notice/page.tsx b/apps/frontend/app/(main)/notice/page.tsx similarity index 100% rename from frontend-client/app/(main)/notice/page.tsx rename to apps/frontend/app/(main)/notice/page.tsx diff --git a/frontend-client/app/(main)/page.tsx b/apps/frontend/app/(main)/page.tsx similarity index 100% rename from frontend-client/app/(main)/page.tsx rename to apps/frontend/app/(main)/page.tsx diff --git a/frontend-client/app/(main)/problem/_components/Columns.tsx b/apps/frontend/app/(main)/problem/_components/Columns.tsx similarity index 100% rename from frontend-client/app/(main)/problem/_components/Columns.tsx rename to apps/frontend/app/(main)/problem/_components/Columns.tsx diff --git a/frontend-client/app/(main)/problem/_components/ProblemTable.tsx b/apps/frontend/app/(main)/problem/_components/ProblemTable.tsx similarity index 100% rename from frontend-client/app/(main)/problem/_components/ProblemTable.tsx rename to apps/frontend/app/(main)/problem/_components/ProblemTable.tsx diff --git a/frontend-client/app/(main)/problem/layout.tsx b/apps/frontend/app/(main)/problem/layout.tsx similarity index 100% rename from frontend-client/app/(main)/problem/layout.tsx rename to apps/frontend/app/(main)/problem/layout.tsx diff --git a/frontend-client/app/(main)/problem/page.tsx b/apps/frontend/app/(main)/problem/page.tsx similarity index 100% rename from frontend-client/app/(main)/problem/page.tsx rename to apps/frontend/app/(main)/problem/page.tsx diff --git a/frontend-client/app/PretendardVariable.woff2 b/apps/frontend/app/PretendardVariable.woff2 similarity index 100% rename from frontend-client/app/PretendardVariable.woff2 rename to apps/frontend/app/PretendardVariable.woff2 diff --git a/frontend-client/app/admin/_components/ApolloProvider.tsx b/apps/frontend/app/admin/_components/ApolloProvider.tsx similarity index 100% rename from frontend-client/app/admin/_components/ApolloProvider.tsx rename to apps/frontend/app/admin/_components/ApolloProvider.tsx diff --git a/frontend-client/app/admin/_components/GroupSelect.tsx b/apps/frontend/app/admin/_components/GroupSelect.tsx similarity index 100% rename from frontend-client/app/admin/_components/GroupSelect.tsx rename to apps/frontend/app/admin/_components/GroupSelect.tsx diff --git a/frontend-client/app/admin/_components/SideBar.tsx b/apps/frontend/app/admin/_components/SideBar.tsx similarity index 100% rename from frontend-client/app/admin/_components/SideBar.tsx rename to apps/frontend/app/admin/_components/SideBar.tsx diff --git a/frontend-client/app/admin/contest/_components/Columns.tsx b/apps/frontend/app/admin/contest/_components/Columns.tsx similarity index 100% rename from frontend-client/app/admin/contest/_components/Columns.tsx rename to apps/frontend/app/admin/contest/_components/Columns.tsx diff --git a/frontend-client/app/admin/contest/page.tsx b/apps/frontend/app/admin/contest/page.tsx similarity index 100% rename from frontend-client/app/admin/contest/page.tsx rename to apps/frontend/app/admin/contest/page.tsx diff --git a/frontend-client/app/admin/layout.tsx b/apps/frontend/app/admin/layout.tsx similarity index 100% rename from frontend-client/app/admin/layout.tsx rename to apps/frontend/app/admin/layout.tsx diff --git a/frontend-client/app/admin/notice/page.tsx b/apps/frontend/app/admin/notice/page.tsx similarity index 100% rename from frontend-client/app/admin/notice/page.tsx rename to apps/frontend/app/admin/notice/page.tsx diff --git a/frontend-client/app/admin/page.tsx b/apps/frontend/app/admin/page.tsx similarity index 100% rename from frontend-client/app/admin/page.tsx rename to apps/frontend/app/admin/page.tsx diff --git a/frontend-client/app/admin/problem/[id]/page.tsx b/apps/frontend/app/admin/problem/[id]/page.tsx similarity index 100% rename from frontend-client/app/admin/problem/[id]/page.tsx rename to apps/frontend/app/admin/problem/[id]/page.tsx diff --git a/frontend-client/app/admin/problem/_components/Columns.tsx b/apps/frontend/app/admin/problem/_components/Columns.tsx similarity index 100% rename from frontend-client/app/admin/problem/_components/Columns.tsx rename to apps/frontend/app/admin/problem/_components/Columns.tsx diff --git a/frontend-client/app/admin/problem/_components/ExampleTextarea.tsx b/apps/frontend/app/admin/problem/_components/ExampleTextarea.tsx similarity index 100% rename from frontend-client/app/admin/problem/_components/ExampleTextarea.tsx rename to apps/frontend/app/admin/problem/_components/ExampleTextarea.tsx diff --git a/frontend-client/app/admin/problem/_components/Lable.tsx b/apps/frontend/app/admin/problem/_components/Lable.tsx similarity index 100% rename from frontend-client/app/admin/problem/_components/Lable.tsx rename to apps/frontend/app/admin/problem/_components/Lable.tsx diff --git a/frontend-client/app/admin/problem/_components/UploadDialog.tsx b/apps/frontend/app/admin/problem/_components/UploadDialog.tsx similarity index 100% rename from frontend-client/app/admin/problem/_components/UploadDialog.tsx rename to apps/frontend/app/admin/problem/_components/UploadDialog.tsx diff --git a/frontend-client/app/admin/problem/create/page.tsx b/apps/frontend/app/admin/problem/create/page.tsx similarity index 100% rename from frontend-client/app/admin/problem/create/page.tsx rename to apps/frontend/app/admin/problem/create/page.tsx diff --git a/frontend-client/app/admin/problem/page.tsx b/apps/frontend/app/admin/problem/page.tsx similarity index 100% rename from frontend-client/app/admin/problem/page.tsx rename to apps/frontend/app/admin/problem/page.tsx diff --git a/frontend-client/app/admin/problem/utils.ts b/apps/frontend/app/admin/problem/utils.ts similarity index 100% rename from frontend-client/app/admin/problem/utils.ts rename to apps/frontend/app/admin/problem/utils.ts diff --git a/frontend-client/app/admin/user/page.tsx b/apps/frontend/app/admin/user/page.tsx similarity index 100% rename from frontend-client/app/admin/user/page.tsx rename to apps/frontend/app/admin/user/page.tsx diff --git a/frontend-client/app/apple-icon.png b/apps/frontend/app/apple-icon.png similarity index 100% rename from frontend-client/app/apple-icon.png rename to apps/frontend/app/apple-icon.png diff --git a/frontend-client/app/contest/[contestId]/problem/[problemId]/layout.tsx b/apps/frontend/app/contest/[contestId]/problem/[problemId]/layout.tsx similarity index 100% rename from frontend-client/app/contest/[contestId]/problem/[problemId]/layout.tsx rename to apps/frontend/app/contest/[contestId]/problem/[problemId]/layout.tsx diff --git a/frontend-client/app/contest/[contestId]/problem/[problemId]/page.tsx b/apps/frontend/app/contest/[contestId]/problem/[problemId]/page.tsx similarity index 100% rename from frontend-client/app/contest/[contestId]/problem/[problemId]/page.tsx rename to apps/frontend/app/contest/[contestId]/problem/[problemId]/page.tsx diff --git a/frontend-client/app/contest/[contestId]/problem/[problemOrder]/layout.tsx b/apps/frontend/app/contest/[contestId]/problem/[problemOrder]/layout.tsx similarity index 100% rename from frontend-client/app/contest/[contestId]/problem/[problemOrder]/layout.tsx rename to apps/frontend/app/contest/[contestId]/problem/[problemOrder]/layout.tsx diff --git a/frontend-client/app/favicon.ico b/apps/frontend/app/favicon.ico similarity index 100% rename from frontend-client/app/favicon.ico rename to apps/frontend/app/favicon.ico diff --git a/frontend-client/app/global-error.tsx b/apps/frontend/app/global-error.tsx similarity index 100% rename from frontend-client/app/global-error.tsx rename to apps/frontend/app/global-error.tsx diff --git a/frontend-client/app/globals.css b/apps/frontend/app/globals.css similarity index 100% rename from frontend-client/app/globals.css rename to apps/frontend/app/globals.css diff --git a/frontend-client/app/icon.png b/apps/frontend/app/icon.png similarity index 100% rename from frontend-client/app/icon.png rename to apps/frontend/app/icon.png diff --git a/frontend-client/app/layout.tsx b/apps/frontend/app/layout.tsx similarity index 100% rename from frontend-client/app/layout.tsx rename to apps/frontend/app/layout.tsx diff --git a/frontend-client/app/manifest.webmanifest b/apps/frontend/app/manifest.webmanifest similarity index 100% rename from frontend-client/app/manifest.webmanifest rename to apps/frontend/app/manifest.webmanifest diff --git a/frontend-client/app/next-auth/api/auth/[...nextauth]/route.ts b/apps/frontend/app/next-auth/api/auth/[...nextauth]/route.ts similarity index 100% rename from frontend-client/app/next-auth/api/auth/[...nextauth]/route.ts rename to apps/frontend/app/next-auth/api/auth/[...nextauth]/route.ts diff --git a/frontend-client/app/opengraph-image.png b/apps/frontend/app/opengraph-image.png similarity index 100% rename from frontend-client/app/opengraph-image.png rename to apps/frontend/app/opengraph-image.png diff --git a/frontend-client/app/problem/[problemId]/layout.tsx b/apps/frontend/app/problem/[problemId]/layout.tsx similarity index 100% rename from frontend-client/app/problem/[problemId]/layout.tsx rename to apps/frontend/app/problem/[problemId]/layout.tsx diff --git a/frontend-client/app/problem/[problemId]/loading.tsx b/apps/frontend/app/problem/[problemId]/loading.tsx similarity index 100% rename from frontend-client/app/problem/[problemId]/loading.tsx rename to apps/frontend/app/problem/[problemId]/loading.tsx diff --git a/frontend-client/app/problem/[problemId]/page.tsx b/apps/frontend/app/problem/[problemId]/page.tsx similarity index 100% rename from frontend-client/app/problem/[problemId]/page.tsx rename to apps/frontend/app/problem/[problemId]/page.tsx diff --git a/frontend-client/app/problem/[problemId]/submission/[submissionId]/page.tsx b/apps/frontend/app/problem/[problemId]/submission/[submissionId]/page.tsx similarity index 100% rename from frontend-client/app/problem/[problemId]/submission/[submissionId]/page.tsx rename to apps/frontend/app/problem/[problemId]/submission/[submissionId]/page.tsx diff --git a/frontend-client/app/problem/[problemId]/submission/_components/Columns.tsx b/apps/frontend/app/problem/[problemId]/submission/_components/Columns.tsx similarity index 100% rename from frontend-client/app/problem/[problemId]/submission/_components/Columns.tsx rename to apps/frontend/app/problem/[problemId]/submission/_components/Columns.tsx diff --git a/frontend-client/app/problem/[problemId]/submission/_components/DataTable.tsx b/apps/frontend/app/problem/[problemId]/submission/_components/DataTable.tsx similarity index 100% rename from frontend-client/app/problem/[problemId]/submission/_components/DataTable.tsx rename to apps/frontend/app/problem/[problemId]/submission/_components/DataTable.tsx diff --git a/frontend-client/app/problem/[problemId]/submission/_components/SubmissionDetail.tsx b/apps/frontend/app/problem/[problemId]/submission/_components/SubmissionDetail.tsx similarity index 100% rename from frontend-client/app/problem/[problemId]/submission/_components/SubmissionDetail.tsx rename to apps/frontend/app/problem/[problemId]/submission/_components/SubmissionDetail.tsx diff --git a/frontend-client/app/problem/[problemId]/submission/_components/dataIfError.ts b/apps/frontend/app/problem/[problemId]/submission/_components/dataIfError.ts similarity index 100% rename from frontend-client/app/problem/[problemId]/submission/_components/dataIfError.ts rename to apps/frontend/app/problem/[problemId]/submission/_components/dataIfError.ts diff --git a/frontend-client/app/problem/[problemId]/submission/loading.tsx b/apps/frontend/app/problem/[problemId]/submission/loading.tsx similarity index 100% rename from frontend-client/app/problem/[problemId]/submission/loading.tsx rename to apps/frontend/app/problem/[problemId]/submission/loading.tsx diff --git a/frontend-client/app/problem/[problemId]/submission/page.tsx b/apps/frontend/app/problem/[problemId]/submission/page.tsx similarity index 100% rename from frontend-client/app/problem/[problemId]/submission/page.tsx rename to apps/frontend/app/problem/[problemId]/submission/page.tsx diff --git a/frontend-client/app/sentry-example-page/page.tsx b/apps/frontend/app/sentry-example-page/page.tsx similarity index 100% rename from frontend-client/app/sentry-example-page/page.tsx rename to apps/frontend/app/sentry-example-page/page.tsx diff --git a/frontend-client/codegen.ts b/apps/frontend/codegen.ts similarity index 100% rename from frontend-client/codegen.ts rename to apps/frontend/codegen.ts diff --git a/frontend-client/components.json b/apps/frontend/components.json similarity index 100% rename from frontend-client/components.json rename to apps/frontend/components.json diff --git a/frontend-client/components/CheckboxSelect.tsx b/apps/frontend/components/CheckboxSelect.tsx similarity index 100% rename from frontend-client/components/CheckboxSelect.tsx rename to apps/frontend/components/CheckboxSelect.tsx diff --git a/frontend-client/components/CodeEditor.tsx b/apps/frontend/components/CodeEditor.tsx similarity index 100% rename from frontend-client/components/CodeEditor.tsx rename to apps/frontend/components/CodeEditor.tsx diff --git a/frontend-client/components/Cover.tsx b/apps/frontend/components/Cover.tsx similarity index 100% rename from frontend-client/components/Cover.tsx rename to apps/frontend/components/Cover.tsx diff --git a/frontend-client/components/DataTable.tsx b/apps/frontend/components/DataTable.tsx similarity index 100% rename from frontend-client/components/DataTable.tsx rename to apps/frontend/components/DataTable.tsx diff --git a/frontend-client/components/DataTableAdmin.tsx b/apps/frontend/components/DataTableAdmin.tsx similarity index 100% rename from frontend-client/components/DataTableAdmin.tsx rename to apps/frontend/components/DataTableAdmin.tsx diff --git a/frontend-client/components/DataTableColumnHeader.tsx b/apps/frontend/components/DataTableColumnHeader.tsx similarity index 100% rename from frontend-client/components/DataTableColumnHeader.tsx rename to apps/frontend/components/DataTableColumnHeader.tsx diff --git a/frontend-client/components/DataTableLangFilter.tsx b/apps/frontend/components/DataTableLangFilter.tsx similarity index 100% rename from frontend-client/components/DataTableLangFilter.tsx rename to apps/frontend/components/DataTableLangFilter.tsx diff --git a/frontend-client/components/DataTablePagination.tsx b/apps/frontend/components/DataTablePagination.tsx similarity index 100% rename from frontend-client/components/DataTablePagination.tsx rename to apps/frontend/components/DataTablePagination.tsx diff --git a/frontend-client/components/DataTableTagsFilter.tsx b/apps/frontend/components/DataTableTagsFilter.tsx similarity index 100% rename from frontend-client/components/DataTableTagsFilter.tsx rename to apps/frontend/components/DataTableTagsFilter.tsx diff --git a/frontend-client/components/EditorDescription.tsx b/apps/frontend/components/EditorDescription.tsx similarity index 100% rename from frontend-client/components/EditorDescription.tsx rename to apps/frontend/components/EditorDescription.tsx diff --git a/frontend-client/components/EditorHeader.tsx b/apps/frontend/components/EditorHeader.tsx similarity index 100% rename from frontend-client/components/EditorHeader.tsx rename to apps/frontend/components/EditorHeader.tsx diff --git a/frontend-client/components/EditorLayout.tsx b/apps/frontend/components/EditorLayout.tsx similarity index 100% rename from frontend-client/components/EditorLayout.tsx rename to apps/frontend/components/EditorLayout.tsx diff --git a/frontend-client/components/EditorResizablePanel.tsx b/apps/frontend/components/EditorResizablePanel.tsx similarity index 100% rename from frontend-client/components/EditorResizablePanel.tsx rename to apps/frontend/components/EditorResizablePanel.tsx diff --git a/frontend-client/components/OptionSelect.tsx b/apps/frontend/components/OptionSelect.tsx similarity index 100% rename from frontend-client/components/OptionSelect.tsx rename to apps/frontend/components/OptionSelect.tsx diff --git a/frontend-client/components/Paginator.tsx b/apps/frontend/components/Paginator.tsx similarity index 100% rename from frontend-client/components/Paginator.tsx rename to apps/frontend/components/Paginator.tsx diff --git a/frontend-client/components/SearchBar.tsx b/apps/frontend/components/SearchBar.tsx similarity index 100% rename from frontend-client/components/SearchBar.tsx rename to apps/frontend/components/SearchBar.tsx diff --git a/frontend-client/components/SortButton.tsx b/apps/frontend/components/SortButton.tsx similarity index 100% rename from frontend-client/components/SortButton.tsx rename to apps/frontend/components/SortButton.tsx diff --git a/frontend-client/components/StandingsTable.tsx b/apps/frontend/components/StandingsTable.tsx similarity index 100% rename from frontend-client/components/StandingsTable.tsx rename to apps/frontend/components/StandingsTable.tsx diff --git a/frontend-client/components/TagsSelect.tsx b/apps/frontend/components/TagsSelect.tsx similarity index 100% rename from frontend-client/components/TagsSelect.tsx rename to apps/frontend/components/TagsSelect.tsx diff --git a/frontend-client/components/TextEditor.tsx b/apps/frontend/components/TextEditor.tsx similarity index 100% rename from frontend-client/components/TextEditor.tsx rename to apps/frontend/components/TextEditor.tsx diff --git a/frontend-client/components/auth/AuthModal.tsx b/apps/frontend/components/auth/AuthModal.tsx similarity index 100% rename from frontend-client/components/auth/AuthModal.tsx rename to apps/frontend/components/auth/AuthModal.tsx diff --git a/frontend-client/components/auth/HeaderAuthPanel.tsx b/apps/frontend/components/auth/HeaderAuthPanel.tsx similarity index 100% rename from frontend-client/components/auth/HeaderAuthPanel.tsx rename to apps/frontend/components/auth/HeaderAuthPanel.tsx diff --git a/frontend-client/components/auth/SignIn.tsx b/apps/frontend/components/auth/SignIn.tsx similarity index 100% rename from frontend-client/components/auth/SignIn.tsx rename to apps/frontend/components/auth/SignIn.tsx diff --git a/frontend-client/components/auth/SignUp.tsx b/apps/frontend/components/auth/SignUp.tsx similarity index 100% rename from frontend-client/components/auth/SignUp.tsx rename to apps/frontend/components/auth/SignUp.tsx diff --git a/frontend-client/components/auth/SignUpEmailVerify.tsx b/apps/frontend/components/auth/SignUpEmailVerify.tsx similarity index 100% rename from frontend-client/components/auth/SignUpEmailVerify.tsx rename to apps/frontend/components/auth/SignUpEmailVerify.tsx diff --git a/frontend-client/components/auth/SignUpRegister.tsx b/apps/frontend/components/auth/SignUpRegister.tsx similarity index 100% rename from frontend-client/components/auth/SignUpRegister.tsx rename to apps/frontend/components/auth/SignUpRegister.tsx diff --git a/frontend-client/components/auth/SignUpWelcome.tsx b/apps/frontend/components/auth/SignUpWelcome.tsx similarity index 100% rename from frontend-client/components/auth/SignUpWelcome.tsx rename to apps/frontend/components/auth/SignUpWelcome.tsx diff --git a/frontend-client/components/ui/accordion.tsx b/apps/frontend/components/ui/accordion.tsx similarity index 100% rename from frontend-client/components/ui/accordion.tsx rename to apps/frontend/components/ui/accordion.tsx diff --git a/frontend-client/components/ui/alert-dialog.tsx b/apps/frontend/components/ui/alert-dialog.tsx similarity index 100% rename from frontend-client/components/ui/alert-dialog.tsx rename to apps/frontend/components/ui/alert-dialog.tsx diff --git a/frontend-client/components/ui/badge.tsx b/apps/frontend/components/ui/badge.tsx similarity index 100% rename from frontend-client/components/ui/badge.tsx rename to apps/frontend/components/ui/badge.tsx diff --git a/frontend-client/components/ui/button.tsx b/apps/frontend/components/ui/button.tsx similarity index 100% rename from frontend-client/components/ui/button.tsx rename to apps/frontend/components/ui/button.tsx diff --git a/frontend-client/components/ui/card.tsx b/apps/frontend/components/ui/card.tsx similarity index 100% rename from frontend-client/components/ui/card.tsx rename to apps/frontend/components/ui/card.tsx diff --git a/frontend-client/components/ui/carousel.tsx b/apps/frontend/components/ui/carousel.tsx similarity index 100% rename from frontend-client/components/ui/carousel.tsx rename to apps/frontend/components/ui/carousel.tsx diff --git a/frontend-client/components/ui/checkbox.tsx b/apps/frontend/components/ui/checkbox.tsx similarity index 100% rename from frontend-client/components/ui/checkbox.tsx rename to apps/frontend/components/ui/checkbox.tsx diff --git a/frontend-client/components/ui/command.tsx b/apps/frontend/components/ui/command.tsx similarity index 100% rename from frontend-client/components/ui/command.tsx rename to apps/frontend/components/ui/command.tsx diff --git a/frontend-client/components/ui/dialog.tsx b/apps/frontend/components/ui/dialog.tsx similarity index 100% rename from frontend-client/components/ui/dialog.tsx rename to apps/frontend/components/ui/dialog.tsx diff --git a/frontend-client/components/ui/dropdown-menu.tsx b/apps/frontend/components/ui/dropdown-menu.tsx similarity index 100% rename from frontend-client/components/ui/dropdown-menu.tsx rename to apps/frontend/components/ui/dropdown-menu.tsx diff --git a/frontend-client/components/ui/form.tsx b/apps/frontend/components/ui/form.tsx similarity index 100% rename from frontend-client/components/ui/form.tsx rename to apps/frontend/components/ui/form.tsx diff --git a/frontend-client/components/ui/input.tsx b/apps/frontend/components/ui/input.tsx similarity index 100% rename from frontend-client/components/ui/input.tsx rename to apps/frontend/components/ui/input.tsx diff --git a/frontend-client/components/ui/label.tsx b/apps/frontend/components/ui/label.tsx similarity index 100% rename from frontend-client/components/ui/label.tsx rename to apps/frontend/components/ui/label.tsx diff --git a/frontend-client/components/ui/pagination.tsx b/apps/frontend/components/ui/pagination.tsx similarity index 100% rename from frontend-client/components/ui/pagination.tsx rename to apps/frontend/components/ui/pagination.tsx diff --git a/frontend-client/components/ui/popover.tsx b/apps/frontend/components/ui/popover.tsx similarity index 100% rename from frontend-client/components/ui/popover.tsx rename to apps/frontend/components/ui/popover.tsx diff --git a/frontend-client/components/ui/resizable.tsx b/apps/frontend/components/ui/resizable.tsx similarity index 100% rename from frontend-client/components/ui/resizable.tsx rename to apps/frontend/components/ui/resizable.tsx diff --git a/frontend-client/components/ui/scroll-area.tsx b/apps/frontend/components/ui/scroll-area.tsx similarity index 100% rename from frontend-client/components/ui/scroll-area.tsx rename to apps/frontend/components/ui/scroll-area.tsx diff --git a/frontend-client/components/ui/select.tsx b/apps/frontend/components/ui/select.tsx similarity index 100% rename from frontend-client/components/ui/select.tsx rename to apps/frontend/components/ui/select.tsx diff --git a/frontend-client/components/ui/separator.tsx b/apps/frontend/components/ui/separator.tsx similarity index 100% rename from frontend-client/components/ui/separator.tsx rename to apps/frontend/components/ui/separator.tsx diff --git a/frontend-client/components/ui/skeleton.tsx b/apps/frontend/components/ui/skeleton.tsx similarity index 100% rename from frontend-client/components/ui/skeleton.tsx rename to apps/frontend/components/ui/skeleton.tsx diff --git a/frontend-client/components/ui/sonner.tsx b/apps/frontend/components/ui/sonner.tsx similarity index 100% rename from frontend-client/components/ui/sonner.tsx rename to apps/frontend/components/ui/sonner.tsx diff --git a/frontend-client/components/ui/switch.tsx b/apps/frontend/components/ui/switch.tsx similarity index 100% rename from frontend-client/components/ui/switch.tsx rename to apps/frontend/components/ui/switch.tsx diff --git a/frontend-client/components/ui/table.tsx b/apps/frontend/components/ui/table.tsx similarity index 100% rename from frontend-client/components/ui/table.tsx rename to apps/frontend/components/ui/table.tsx diff --git a/frontend-client/components/ui/tabs.tsx b/apps/frontend/components/ui/tabs.tsx similarity index 100% rename from frontend-client/components/ui/tabs.tsx rename to apps/frontend/components/ui/tabs.tsx diff --git a/frontend-client/components/ui/textarea.tsx b/apps/frontend/components/ui/textarea.tsx similarity index 100% rename from frontend-client/components/ui/textarea.tsx rename to apps/frontend/components/ui/textarea.tsx diff --git a/frontend-client/components/ui/toggle.tsx b/apps/frontend/components/ui/toggle.tsx similarity index 100% rename from frontend-client/components/ui/toggle.tsx rename to apps/frontend/components/ui/toggle.tsx diff --git a/frontend-client/components/ui/tooltip.tsx b/apps/frontend/components/ui/tooltip.tsx similarity index 100% rename from frontend-client/components/ui/tooltip.tsx rename to apps/frontend/components/ui/tooltip.tsx diff --git a/frontend-client/lib/auth.ts b/apps/frontend/lib/auth.ts similarity index 100% rename from frontend-client/lib/auth.ts rename to apps/frontend/lib/auth.ts diff --git a/frontend-client/lib/constants.ts b/apps/frontend/lib/constants.ts similarity index 100% rename from frontend-client/lib/constants.ts rename to apps/frontend/lib/constants.ts diff --git a/frontend-client/lib/pagination.ts b/apps/frontend/lib/pagination.ts similarity index 100% rename from frontend-client/lib/pagination.ts rename to apps/frontend/lib/pagination.ts diff --git a/frontend-client/lib/storage.ts b/apps/frontend/lib/storage.ts similarity index 100% rename from frontend-client/lib/storage.ts rename to apps/frontend/lib/storage.ts diff --git a/frontend-client/lib/utils.ts b/apps/frontend/lib/utils.ts similarity index 100% rename from frontend-client/lib/utils.ts rename to apps/frontend/lib/utils.ts diff --git a/frontend-client/middleware.ts b/apps/frontend/middleware.ts similarity index 100% rename from frontend-client/middleware.ts rename to apps/frontend/middleware.ts diff --git a/frontend-client/next.config.js b/apps/frontend/next.config.js similarity index 100% rename from frontend-client/next.config.js rename to apps/frontend/next.config.js diff --git a/frontend-client/package.json b/apps/frontend/package.json similarity index 99% rename from frontend-client/package.json rename to apps/frontend/package.json index 784e85f9ec..d5d95cf197 100644 --- a/frontend-client/package.json +++ b/apps/frontend/package.json @@ -1,5 +1,5 @@ { - "name": "frontend-client", + "name": "@codedang/frontend", "version": "0.1.0", "private": true, "scripts": { diff --git a/frontend-client/postcss.config.js b/apps/frontend/postcss.config.js similarity index 100% rename from frontend-client/postcss.config.js rename to apps/frontend/postcss.config.js diff --git a/frontend-client/public/android-chrome-192x192.png b/apps/frontend/public/android-chrome-192x192.png similarity index 100% rename from frontend-client/public/android-chrome-192x192.png rename to apps/frontend/public/android-chrome-192x192.png diff --git a/frontend-client/public/android-chrome-512x512.png b/apps/frontend/public/android-chrome-512x512.png similarity index 100% rename from frontend-client/public/android-chrome-512x512.png rename to apps/frontend/public/android-chrome-512x512.png diff --git a/frontend-client/public/codedang-editor.svg b/apps/frontend/public/codedang-editor.svg similarity index 100% rename from frontend-client/public/codedang-editor.svg rename to apps/frontend/public/codedang-editor.svg diff --git a/frontend-client/public/codedang.svg b/apps/frontend/public/codedang.svg similarity index 100% rename from frontend-client/public/codedang.svg rename to apps/frontend/public/codedang.svg diff --git a/frontend-client/public/dummy.png b/apps/frontend/public/dummy.png similarity index 100% rename from frontend-client/public/dummy.png rename to apps/frontend/public/dummy.png diff --git a/frontend-client/public/error.webp b/apps/frontend/public/error.webp similarity index 100% rename from frontend-client/public/error.webp rename to apps/frontend/public/error.webp diff --git a/frontend-client/public/github.svg b/apps/frontend/public/github.svg similarity index 100% rename from frontend-client/public/github.svg rename to apps/frontend/public/github.svg diff --git a/frontend-client/public/kakaotalk.svg b/apps/frontend/public/kakaotalk.svg similarity index 100% rename from frontend-client/public/kakaotalk.svg rename to apps/frontend/public/kakaotalk.svg diff --git a/frontend-client/public/sample.xlsx b/apps/frontend/public/sample.xlsx similarity index 100% rename from frontend-client/public/sample.xlsx rename to apps/frontend/public/sample.xlsx diff --git a/frontend-client/public/skkudingLogo.png b/apps/frontend/public/skkudingLogo.png similarity index 100% rename from frontend-client/public/skkudingLogo.png rename to apps/frontend/public/skkudingLogo.png diff --git a/frontend-client/sentry.client.config.ts b/apps/frontend/sentry.client.config.ts similarity index 100% rename from frontend-client/sentry.client.config.ts rename to apps/frontend/sentry.client.config.ts diff --git a/frontend-client/sentry.edge.config.ts b/apps/frontend/sentry.edge.config.ts similarity index 100% rename from frontend-client/sentry.edge.config.ts rename to apps/frontend/sentry.edge.config.ts diff --git a/frontend-client/sentry.server.config.ts b/apps/frontend/sentry.server.config.ts similarity index 100% rename from frontend-client/sentry.server.config.ts rename to apps/frontend/sentry.server.config.ts diff --git a/frontend-client/stores/authModal.ts b/apps/frontend/stores/authModal.ts similarity index 100% rename from frontend-client/stores/authModal.ts rename to apps/frontend/stores/authModal.ts diff --git a/frontend-client/stores/editor.ts b/apps/frontend/stores/editor.ts similarity index 100% rename from frontend-client/stores/editor.ts rename to apps/frontend/stores/editor.ts diff --git a/frontend-client/stores/signUpModal.ts b/apps/frontend/stores/signUpModal.ts similarity index 100% rename from frontend-client/stores/signUpModal.ts rename to apps/frontend/stores/signUpModal.ts diff --git a/frontend-client/tailwind.config.ts b/apps/frontend/tailwind.config.ts similarity index 100% rename from frontend-client/tailwind.config.ts rename to apps/frontend/tailwind.config.ts diff --git a/frontend-client/tsconfig.json b/apps/frontend/tsconfig.json similarity index 100% rename from frontend-client/tsconfig.json rename to apps/frontend/tsconfig.json diff --git a/frontend-client/types/next-auth.d.ts b/apps/frontend/types/next-auth.d.ts similarity index 100% rename from frontend-client/types/next-auth.d.ts rename to apps/frontend/types/next-auth.d.ts diff --git a/frontend-client/types/type.ts b/apps/frontend/types/type.ts similarity index 100% rename from frontend-client/types/type.ts rename to apps/frontend/types/type.ts diff --git a/grafana-logs/promtail/promtail-config.yml b/apps/grafana-logs/promtail/promtail-config.yml similarity index 100% rename from grafana-logs/promtail/promtail-config.yml rename to apps/grafana-logs/promtail/promtail-config.yml diff --git a/infra/deploy/.terraform.lock.hcl b/apps/infra/deploy/.terraform.lock.hcl similarity index 100% rename from infra/deploy/.terraform.lock.hcl rename to apps/infra/deploy/.terraform.lock.hcl diff --git a/infra/deploy/main.tf b/apps/infra/deploy/main.tf similarity index 100% rename from infra/deploy/main.tf rename to apps/infra/deploy/main.tf diff --git a/infra/deploy/provider.tf b/apps/infra/deploy/provider.tf similarity index 100% rename from infra/deploy/provider.tf rename to apps/infra/deploy/provider.tf diff --git a/infra/deploy/variable.tf b/apps/infra/deploy/variable.tf similarity index 100% rename from infra/deploy/variable.tf rename to apps/infra/deploy/variable.tf diff --git a/infra/local/.terraform.lock.hcl b/apps/infra/local/.terraform.lock.hcl similarity index 100% rename from infra/local/.terraform.lock.hcl rename to apps/infra/local/.terraform.lock.hcl diff --git a/infra/local/main.tf b/apps/infra/local/main.tf similarity index 100% rename from infra/local/main.tf rename to apps/infra/local/main.tf diff --git a/infra/local/provider.tf b/apps/infra/local/provider.tf similarity index 100% rename from infra/local/provider.tf rename to apps/infra/local/provider.tf diff --git a/infra/local/variable.tf b/apps/infra/local/variable.tf similarity index 100% rename from infra/local/variable.tf rename to apps/infra/local/variable.tf diff --git a/infra/modules/codedang-infra/.terraform.lock.hcl b/apps/infra/modules/codedang-infra/.terraform.lock.hcl similarity index 100% rename from infra/modules/codedang-infra/.terraform.lock.hcl rename to apps/infra/modules/codedang-infra/.terraform.lock.hcl diff --git a/infra/modules/codedang-infra/backend/admin-task-definition.tftpl b/apps/infra/modules/codedang-infra/backend/admin-task-definition.tftpl similarity index 100% rename from infra/modules/codedang-infra/backend/admin-task-definition.tftpl rename to apps/infra/modules/codedang-infra/backend/admin-task-definition.tftpl diff --git a/infra/modules/codedang-infra/backend/client-task-definition.tftpl b/apps/infra/modules/codedang-infra/backend/client-task-definition.tftpl similarity index 100% rename from infra/modules/codedang-infra/backend/client-task-definition.tftpl rename to apps/infra/modules/codedang-infra/backend/client-task-definition.tftpl diff --git a/infra/modules/codedang-infra/cloudfront.tf b/apps/infra/modules/codedang-infra/cloudfront.tf similarity index 100% rename from infra/modules/codedang-infra/cloudfront.tf rename to apps/infra/modules/codedang-infra/cloudfront.tf diff --git a/infra/modules/codedang-infra/db.tf b/apps/infra/modules/codedang-infra/db.tf similarity index 100% rename from infra/modules/codedang-infra/db.tf rename to apps/infra/modules/codedang-infra/db.tf diff --git a/infra/modules/codedang-infra/ecs-api-admin.tf b/apps/infra/modules/codedang-infra/ecs-api-admin.tf similarity index 100% rename from infra/modules/codedang-infra/ecs-api-admin.tf rename to apps/infra/modules/codedang-infra/ecs-api-admin.tf diff --git a/infra/modules/codedang-infra/ecs-api-asg.tf b/apps/infra/modules/codedang-infra/ecs-api-asg.tf similarity index 100% rename from infra/modules/codedang-infra/ecs-api-asg.tf rename to apps/infra/modules/codedang-infra/ecs-api-asg.tf diff --git a/infra/modules/codedang-infra/ecs-api-client.tf b/apps/infra/modules/codedang-infra/ecs-api-client.tf similarity index 100% rename from infra/modules/codedang-infra/ecs-api-client.tf rename to apps/infra/modules/codedang-infra/ecs-api-client.tf diff --git a/infra/modules/codedang-infra/ecs-iris-asg.tf b/apps/infra/modules/codedang-infra/ecs-iris-asg.tf similarity index 100% rename from infra/modules/codedang-infra/ecs-iris-asg.tf rename to apps/infra/modules/codedang-infra/ecs-iris-asg.tf diff --git a/infra/modules/codedang-infra/ecs-iris-service-asg.tf b/apps/infra/modules/codedang-infra/ecs-iris-service-asg.tf similarity index 100% rename from infra/modules/codedang-infra/ecs-iris-service-asg.tf rename to apps/infra/modules/codedang-infra/ecs-iris-service-asg.tf diff --git a/infra/modules/codedang-infra/ecs-iris.tf b/apps/infra/modules/codedang-infra/ecs-iris.tf similarity index 100% rename from infra/modules/codedang-infra/ecs-iris.tf rename to apps/infra/modules/codedang-infra/ecs-iris.tf diff --git a/infra/modules/codedang-infra/ecs.tf b/apps/infra/modules/codedang-infra/ecs.tf similarity index 100% rename from infra/modules/codedang-infra/ecs.tf rename to apps/infra/modules/codedang-infra/ecs.tf diff --git a/infra/modules/codedang-infra/iris/task-definition.tftpl b/apps/infra/modules/codedang-infra/iris/task-definition.tftpl similarity index 100% rename from infra/modules/codedang-infra/iris/task-definition.tftpl rename to apps/infra/modules/codedang-infra/iris/task-definition.tftpl diff --git a/infra/modules/codedang-infra/main.tf b/apps/infra/modules/codedang-infra/main.tf similarity index 100% rename from infra/modules/codedang-infra/main.tf rename to apps/infra/modules/codedang-infra/main.tf diff --git a/infra/modules/codedang-infra/mime.json b/apps/infra/modules/codedang-infra/mime.json similarity index 100% rename from infra/modules/codedang-infra/mime.json rename to apps/infra/modules/codedang-infra/mime.json diff --git a/infra/modules/codedang-infra/network.tf b/apps/infra/modules/codedang-infra/network.tf similarity index 100% rename from infra/modules/codedang-infra/network.tf rename to apps/infra/modules/codedang-infra/network.tf diff --git a/infra/modules/codedang-infra/rabbitmq.tf b/apps/infra/modules/codedang-infra/rabbitmq.tf similarity index 100% rename from infra/modules/codedang-infra/rabbitmq.tf rename to apps/infra/modules/codedang-infra/rabbitmq.tf diff --git a/infra/modules/codedang-infra/redis.tf b/apps/infra/modules/codedang-infra/redis.tf similarity index 100% rename from infra/modules/codedang-infra/redis.tf rename to apps/infra/modules/codedang-infra/redis.tf diff --git a/infra/modules/codedang-infra/route53.tf b/apps/infra/modules/codedang-infra/route53.tf similarity index 100% rename from infra/modules/codedang-infra/route53.tf rename to apps/infra/modules/codedang-infra/route53.tf diff --git a/infra/modules/codedang-infra/s3-media.tf b/apps/infra/modules/codedang-infra/s3-media.tf similarity index 100% rename from infra/modules/codedang-infra/s3-media.tf rename to apps/infra/modules/codedang-infra/s3-media.tf diff --git a/infra/modules/codedang-infra/s3-testcase.tf b/apps/infra/modules/codedang-infra/s3-testcase.tf similarity index 100% rename from infra/modules/codedang-infra/s3-testcase.tf rename to apps/infra/modules/codedang-infra/s3-testcase.tf diff --git a/infra/modules/codedang-infra/secrets.tf b/apps/infra/modules/codedang-infra/secrets.tf similarity index 100% rename from infra/modules/codedang-infra/secrets.tf rename to apps/infra/modules/codedang-infra/secrets.tf diff --git a/infra/modules/codedang-infra/security-group.tf b/apps/infra/modules/codedang-infra/security-group.tf similarity index 100% rename from infra/modules/codedang-infra/security-group.tf rename to apps/infra/modules/codedang-infra/security-group.tf diff --git a/apps/infra/modules/codedang-infra/testcase.tf b/apps/infra/modules/codedang-infra/testcase.tf new file mode 100644 index 0000000000..aff4b8790b --- /dev/null +++ b/apps/infra/modules/codedang-infra/testcase.tf @@ -0,0 +1,87 @@ +resource "aws_s3_bucket" "testcase" { + bucket = "codedang-testcase" + + tags = { + Name = "Codedang-Testcase" + } +} + +data "aws_iam_policy_document" "testcase_permissions" { + statement { + actions = ["s3:ListBucket", "s3:GetObject"] + resources = ["${aws_s3_bucket.testcase.arn}", "${aws_s3_bucket.testcase.arn}/*"] + + principals { + type = "*" + identifiers = ["*"] + } + + condition { + test = "IpAddress" + variable = "AWS:SourceIp" + values = [aws_eip.nat_eip.public_ip] + } + } +} + +resource "aws_s3_bucket_policy" "testcase" { + bucket = aws_s3_bucket.testcase.id + policy = data.aws_iam_policy_document.testcase_permissions.json +} + +# user +# TODO: do not create IAM user, use EC2 instance profile instead +resource "aws_iam_user" "testcase" { + name = "user-codedang-testcase" +} + +data "aws_iam_policy_document" "testcase_s3" { + statement { + actions = ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"] + resources = ["${aws_s3_bucket.testcase.arn}/*"] + } +} + +resource "aws_iam_user_policy" "testcase_s3" { + name = "codedang-testcase-s3" + user = aws_iam_user.testcase.name + policy = data.aws_iam_policy_document.testcase_s3.json +} + +resource "aws_iam_access_key" "testcase" { + user = aws_iam_user.testcase.name +} + +# Iris ECS Task Execution Role +resource "aws_iam_role" "ecs_iris_task_execution_role" { + name = "Codedang-Iris-Task-Execution-Role" + assume_role_policy = data.aws_iam_policy_document.ecs_task_execution_role.json +} + +resource "aws_iam_role_policy_attachment" "ecs_iris_task_execution_role" { + role = aws_iam_role.ecs_iris_task_execution_role.name + policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy" +} + +# Iris ECS Task Role +resource "aws_iam_role" "ecs_iris_task_role" { + name = "Codedang-Iris-Task-Role" + assume_role_policy = data.aws_iam_policy_document.ecs_task_role.json +} + +data "aws_iam_policy_document" "iris_testcase_access" { + statement { + actions = ["s3:GetObject"] + resources = ["${aws_s3_bucket.testcase.arn}/*"] + } +} + +resource "aws_iam_policy" "iris_testcase_access" { + name = "Codedang-Iris-Testcase-Access" + policy = data.aws_iam_policy_document.iris_testcase_access.json +} + +resource "aws_iam_role_policy_attachment" "iris_testcase_access" { + role = aws_iam_role.ecs_iris_task_role.name + policy_arn = aws_iam_policy.iris_testcase_access.arn +} diff --git a/infra/modules/codedang-infra/user-data.sh b/apps/infra/modules/codedang-infra/user-data.sh similarity index 100% rename from infra/modules/codedang-infra/user-data.sh rename to apps/infra/modules/codedang-infra/user-data.sh diff --git a/infra/modules/codedang-infra/variables.tf b/apps/infra/modules/codedang-infra/variables.tf similarity index 100% rename from infra/modules/codedang-infra/variables.tf rename to apps/infra/modules/codedang-infra/variables.tf diff --git a/infra/modules/codedang-tf-backend/backend.tf b/apps/infra/modules/codedang-tf-backend/backend.tf similarity index 100% rename from infra/modules/codedang-tf-backend/backend.tf rename to apps/infra/modules/codedang-tf-backend/backend.tf diff --git a/Caddyfile b/apps/infra/stage/Caddyfile similarity index 100% rename from Caddyfile rename to apps/infra/stage/Caddyfile diff --git a/iris/Dockerfile b/apps/iris/Dockerfile similarity index 100% rename from iris/Dockerfile rename to apps/iris/Dockerfile diff --git a/iris/LICENSE b/apps/iris/LICENSE similarity index 100% rename from iris/LICENSE rename to apps/iris/LICENSE diff --git a/iris/go.mod b/apps/iris/go.mod similarity index 95% rename from iris/go.mod rename to apps/iris/go.mod index f8427cd719..81deabb2f4 100644 --- a/iris/go.mod +++ b/apps/iris/go.mod @@ -1,4 +1,4 @@ -module github.com/skkuding/codedang/iris +module github.com/skkuding/codedang/apps/iris go 1.21 diff --git a/iris/go.sum b/apps/iris/go.sum similarity index 100% rename from iris/go.sum rename to apps/iris/go.sum diff --git a/iris/lib/judger/LICENSE b/apps/iris/lib/judger/LICENSE similarity index 100% rename from iris/lib/judger/LICENSE rename to apps/iris/lib/judger/LICENSE diff --git a/iris/lib/judger/README.md b/apps/iris/lib/judger/README.md similarity index 100% rename from iris/lib/judger/README.md rename to apps/iris/lib/judger/README.md diff --git a/iris/lib/judger/policy/java_policy b/apps/iris/lib/judger/policy/java_policy similarity index 100% rename from iris/lib/judger/policy/java_policy rename to apps/iris/lib/judger/policy/java_policy diff --git a/iris/main.go b/apps/iris/main.go similarity index 79% rename from iris/main.go rename to apps/iris/main.go index 66be44b40b..9cdd50ed86 100644 --- a/iris/main.go +++ b/apps/iris/main.go @@ -4,17 +4,17 @@ import ( "context" "os" - "github.com/skkuding/codedang/iris/src/connector" - "github.com/skkuding/codedang/iris/src/connector/rabbitmq" - "github.com/skkuding/codedang/iris/src/handler" - "github.com/skkuding/codedang/iris/src/loader/cache" - "github.com/skkuding/codedang/iris/src/loader/s3" - "github.com/skkuding/codedang/iris/src/router" - "github.com/skkuding/codedang/iris/src/service/file" - "github.com/skkuding/codedang/iris/src/service/logger" - "github.com/skkuding/codedang/iris/src/service/sandbox" - "github.com/skkuding/codedang/iris/src/service/testcase" - "github.com/skkuding/codedang/iris/src/utils" + "github.com/skkuding/codedang/apps/iris/src/connector" + "github.com/skkuding/codedang/apps/iris/src/connector/rabbitmq" + "github.com/skkuding/codedang/apps/iris/src/handler" + "github.com/skkuding/codedang/apps/iris/src/loader/cache" + "github.com/skkuding/codedang/apps/iris/src/loader/s3" + "github.com/skkuding/codedang/apps/iris/src/router" + "github.com/skkuding/codedang/apps/iris/src/service/file" + "github.com/skkuding/codedang/apps/iris/src/service/logger" + "github.com/skkuding/codedang/apps/iris/src/service/sandbox" + "github.com/skkuding/codedang/apps/iris/src/service/testcase" + "github.com/skkuding/codedang/apps/iris/src/utils" ) type Env string diff --git a/iris/src/common/constants/constants.go b/apps/iris/src/common/constants/constants.go similarity index 100% rename from iris/src/common/constants/constants.go rename to apps/iris/src/common/constants/constants.go diff --git a/iris/src/common/result/chResult.go b/apps/iris/src/common/result/chResult.go similarity index 100% rename from iris/src/common/result/chResult.go rename to apps/iris/src/common/result/chResult.go diff --git a/iris/src/connector/factory.go b/apps/iris/src/connector/factory.go similarity index 85% rename from iris/src/connector/factory.go rename to apps/iris/src/connector/factory.go index b6a2bd5c0f..cc345200b2 100644 --- a/iris/src/connector/factory.go +++ b/apps/iris/src/connector/factory.go @@ -3,9 +3,9 @@ package connector import ( "fmt" - "github.com/skkuding/codedang/iris/src/connector/rabbitmq" - "github.com/skkuding/codedang/iris/src/router" - "github.com/skkuding/codedang/iris/src/service/logger" + "github.com/skkuding/codedang/apps/iris/src/connector/rabbitmq" + "github.com/skkuding/codedang/apps/iris/src/router" + "github.com/skkuding/codedang/apps/iris/src/service/logger" ) type Providers struct { diff --git a/iris/src/connector/interface.go b/apps/iris/src/connector/interface.go similarity index 100% rename from iris/src/connector/interface.go rename to apps/iris/src/connector/interface.go diff --git a/iris/src/connector/rabbitmq/client.go b/apps/iris/src/connector/rabbitmq/client.go similarity index 100% rename from iris/src/connector/rabbitmq/client.go rename to apps/iris/src/connector/rabbitmq/client.go diff --git a/iris/src/connector/rabbitmq/connector.go b/apps/iris/src/connector/rabbitmq/connector.go similarity index 94% rename from iris/src/connector/rabbitmq/connector.go rename to apps/iris/src/connector/rabbitmq/connector.go index 2a132c4ca1..786d5fed70 100644 --- a/iris/src/connector/rabbitmq/connector.go +++ b/apps/iris/src/connector/rabbitmq/connector.go @@ -6,8 +6,8 @@ import ( "time" amqp "github.com/rabbitmq/amqp091-go" - "github.com/skkuding/codedang/iris/src/router" - "github.com/skkuding/codedang/iris/src/service/logger" + "github.com/skkuding/codedang/apps/iris/src/router" + "github.com/skkuding/codedang/apps/iris/src/service/logger" ) type connector struct { diff --git a/iris/src/connector/rabbitmq/consumer.go b/apps/iris/src/connector/rabbitmq/consumer.go similarity index 97% rename from iris/src/connector/rabbitmq/consumer.go rename to apps/iris/src/connector/rabbitmq/consumer.go index aba57e83e5..b675635f32 100644 --- a/iris/src/connector/rabbitmq/consumer.go +++ b/apps/iris/src/connector/rabbitmq/consumer.go @@ -4,7 +4,7 @@ import ( "fmt" amqp "github.com/rabbitmq/amqp091-go" - "github.com/skkuding/codedang/iris/src/service/logger" + "github.com/skkuding/codedang/apps/iris/src/service/logger" ) type Consumer interface { diff --git a/iris/src/connector/rabbitmq/producer.go b/apps/iris/src/connector/rabbitmq/producer.go similarity index 98% rename from iris/src/connector/rabbitmq/producer.go rename to apps/iris/src/connector/rabbitmq/producer.go index 5770a1628a..b01b6f0c0a 100644 --- a/iris/src/connector/rabbitmq/producer.go +++ b/apps/iris/src/connector/rabbitmq/producer.go @@ -5,7 +5,7 @@ import ( "fmt" amqp "github.com/rabbitmq/amqp091-go" - "github.com/skkuding/codedang/iris/src/service/logger" + "github.com/skkuding/codedang/apps/iris/src/service/logger" ) type Producer interface { diff --git a/iris/src/handler/errors.go b/apps/iris/src/handler/errors.go similarity index 95% rename from iris/src/handler/errors.go rename to apps/iris/src/handler/errors.go index d8f113f7fc..932daf483e 100644 --- a/iris/src/handler/errors.go +++ b/apps/iris/src/handler/errors.go @@ -4,7 +4,7 @@ import ( "errors" "fmt" - "github.com/skkuding/codedang/iris/src/service/logger" + "github.com/skkuding/codedang/apps/iris/src/service/logger" ) type HandlerError struct { diff --git a/iris/src/handler/interface.go b/apps/iris/src/handler/interface.go similarity index 92% rename from iris/src/handler/interface.go rename to apps/iris/src/handler/interface.go index d82ff7e3e8..7a50aa386b 100644 --- a/iris/src/handler/interface.go +++ b/apps/iris/src/handler/interface.go @@ -3,8 +3,8 @@ package handler import ( "encoding/json" - "github.com/skkuding/codedang/iris/src/service/logger" - "github.com/skkuding/codedang/iris/src/service/sandbox" + "github.com/skkuding/codedang/apps/iris/src/service/logger" + "github.com/skkuding/codedang/apps/iris/src/service/sandbox" ) type Handler interface { diff --git a/iris/src/handler/judge-handler.go b/apps/iris/src/handler/judge-handler.go similarity index 94% rename from iris/src/handler/judge-handler.go rename to apps/iris/src/handler/judge-handler.go index 40bee68718..3e424b882a 100644 --- a/iris/src/handler/judge-handler.go +++ b/apps/iris/src/handler/judge-handler.go @@ -6,14 +6,14 @@ import ( "strconv" "time" - "github.com/skkuding/codedang/iris/src/common/constants" - "github.com/skkuding/codedang/iris/src/common/result" - "github.com/skkuding/codedang/iris/src/service/file" - "github.com/skkuding/codedang/iris/src/service/grader" - "github.com/skkuding/codedang/iris/src/service/logger" - "github.com/skkuding/codedang/iris/src/service/sandbox" - "github.com/skkuding/codedang/iris/src/service/testcase" - "github.com/skkuding/codedang/iris/src/utils" + "github.com/skkuding/codedang/apps/iris/src/common/constants" + "github.com/skkuding/codedang/apps/iris/src/common/result" + "github.com/skkuding/codedang/apps/iris/src/service/file" + "github.com/skkuding/codedang/apps/iris/src/service/grader" + "github.com/skkuding/codedang/apps/iris/src/service/logger" + "github.com/skkuding/codedang/apps/iris/src/service/sandbox" + "github.com/skkuding/codedang/apps/iris/src/service/testcase" + "github.com/skkuding/codedang/apps/iris/src/utils" ) type Request struct { diff --git a/iris/src/loader/cache/interface.go b/apps/iris/src/loader/cache/interface.go similarity index 61% rename from iris/src/loader/cache/interface.go rename to apps/iris/src/loader/cache/interface.go index 09759191b7..81c8abc6bb 100644 --- a/iris/src/loader/cache/interface.go +++ b/apps/iris/src/loader/cache/interface.go @@ -1,6 +1,6 @@ package cache -import "github.com/skkuding/codedang/iris/src/loader" +import "github.com/skkuding/codedang/apps/iris/src/loader" type Cache interface { loader.ReadWrite diff --git a/iris/src/loader/cache/source.go b/apps/iris/src/loader/cache/source.go similarity index 100% rename from iris/src/loader/cache/source.go rename to apps/iris/src/loader/cache/source.go diff --git a/iris/src/loader/interfaces.go b/apps/iris/src/loader/interfaces.go similarity index 100% rename from iris/src/loader/interfaces.go rename to apps/iris/src/loader/interfaces.go diff --git a/iris/src/loader/s3/interface.go b/apps/iris/src/loader/s3/interface.go similarity index 52% rename from iris/src/loader/s3/interface.go rename to apps/iris/src/loader/s3/interface.go index 68d5638314..4d50e6f081 100644 --- a/iris/src/loader/s3/interface.go +++ b/apps/iris/src/loader/s3/interface.go @@ -1,6 +1,6 @@ package s3 -import "github.com/skkuding/codedang/iris/src/loader" +import "github.com/skkuding/codedang/apps/iris/src/loader" type HttpServerDataSource interface { loader.Read diff --git a/iris/src/loader/s3/source.go b/apps/iris/src/loader/s3/source.go similarity index 100% rename from iris/src/loader/s3/source.go rename to apps/iris/src/loader/s3/source.go diff --git a/iris/src/router/response.go b/apps/iris/src/router/response.go similarity index 97% rename from iris/src/router/response.go rename to apps/iris/src/router/response.go index 196c3b2485..a42e27e1f7 100644 --- a/iris/src/router/response.go +++ b/apps/iris/src/router/response.go @@ -5,7 +5,7 @@ import ( "encoding/json" "errors" - "github.com/skkuding/codedang/iris/src/handler" + "github.com/skkuding/codedang/apps/iris/src/handler" ) type ResultCode int8 diff --git a/iris/src/router/router.go b/apps/iris/src/router/router.go similarity index 90% rename from iris/src/router/router.go rename to apps/iris/src/router/router.go index aa4c1d26a2..ab8d53f1ae 100644 --- a/iris/src/router/router.go +++ b/apps/iris/src/router/router.go @@ -4,8 +4,8 @@ import ( "encoding/json" "fmt" - "github.com/skkuding/codedang/iris/src/handler" - "github.com/skkuding/codedang/iris/src/service/logger" + "github.com/skkuding/codedang/apps/iris/src/handler" + "github.com/skkuding/codedang/apps/iris/src/service/logger" ) const ( diff --git a/iris/src/service/file/manager.go b/apps/iris/src/service/file/manager.go similarity index 96% rename from iris/src/service/file/manager.go rename to apps/iris/src/service/file/manager.go index da05c39efe..f6471122c9 100644 --- a/iris/src/service/file/manager.go +++ b/apps/iris/src/service/file/manager.go @@ -5,7 +5,7 @@ import ( "fmt" "os" - "github.com/skkuding/codedang/iris/src/common/constants" + "github.com/skkuding/codedang/apps/iris/src/common/constants" ) type FileManager interface { diff --git a/iris/src/service/grader/grader.go b/apps/iris/src/service/grader/grader.go similarity index 100% rename from iris/src/service/grader/grader.go rename to apps/iris/src/service/grader/grader.go diff --git a/iris/src/service/logger/logger.go b/apps/iris/src/service/logger/logger.go similarity index 96% rename from iris/src/service/logger/logger.go rename to apps/iris/src/service/logger/logger.go index 1e081dd466..d13bcd5822 100644 --- a/iris/src/service/logger/logger.go +++ b/apps/iris/src/service/logger/logger.go @@ -3,7 +3,7 @@ package logger import ( "log" - "github.com/skkuding/codedang/iris/src/common/constants" + "github.com/skkuding/codedang/apps/iris/src/common/constants" "go.uber.org/zap" "go.uber.org/zap/zapcore" ) diff --git a/iris/src/service/sandbox/compiler.go b/apps/iris/src/service/sandbox/compiler.go similarity index 91% rename from iris/src/service/sandbox/compiler.go rename to apps/iris/src/service/sandbox/compiler.go index ac53d665b2..745839712f 100644 --- a/iris/src/service/sandbox/compiler.go +++ b/apps/iris/src/service/sandbox/compiler.go @@ -3,9 +3,9 @@ package sandbox import ( "fmt" - "github.com/skkuding/codedang/iris/src/common/constants" - "github.com/skkuding/codedang/iris/src/service/file" - "github.com/skkuding/codedang/iris/src/service/logger" + "github.com/skkuding/codedang/apps/iris/src/common/constants" + "github.com/skkuding/codedang/apps/iris/src/service/file" + "github.com/skkuding/codedang/apps/iris/src/service/logger" ) type CompileResult struct { diff --git a/iris/src/service/sandbox/langConfig.go b/apps/iris/src/service/sandbox/langConfig.go similarity index 98% rename from iris/src/service/sandbox/langConfig.go rename to apps/iris/src/service/sandbox/langConfig.go index 5d70f4aeb0..cdbf129699 100644 --- a/iris/src/service/sandbox/langConfig.go +++ b/apps/iris/src/service/sandbox/langConfig.go @@ -5,8 +5,8 @@ import ( "strconv" "strings" - "github.com/skkuding/codedang/iris/src/common/constants" - "github.com/skkuding/codedang/iris/src/service/file" + "github.com/skkuding/codedang/apps/iris/src/common/constants" + "github.com/skkuding/codedang/apps/iris/src/service/file" ) type Language string diff --git a/iris/src/service/sandbox/runner.go b/apps/iris/src/service/sandbox/runner.go similarity index 94% rename from iris/src/service/sandbox/runner.go rename to apps/iris/src/service/sandbox/runner.go index 0800f065b6..8bc7309142 100644 --- a/iris/src/service/sandbox/runner.go +++ b/apps/iris/src/service/sandbox/runner.go @@ -4,8 +4,8 @@ import ( "fmt" "strconv" - "github.com/skkuding/codedang/iris/src/service/file" - "github.com/skkuding/codedang/iris/src/service/logger" + "github.com/skkuding/codedang/apps/iris/src/service/file" + "github.com/skkuding/codedang/apps/iris/src/service/logger" ) type RunResult struct { diff --git a/iris/src/service/sandbox/sandbox.go b/apps/iris/src/service/sandbox/sandbox.go similarity index 98% rename from iris/src/service/sandbox/sandbox.go rename to apps/iris/src/service/sandbox/sandbox.go index c81a8eacd9..fcfb60031c 100644 --- a/iris/src/service/sandbox/sandbox.go +++ b/apps/iris/src/service/sandbox/sandbox.go @@ -8,7 +8,7 @@ import ( "os/exec" "strconv" - "github.com/skkuding/codedang/iris/src/service/logger" + "github.com/skkuding/codedang/apps/iris/src/service/logger" ) type Sandbox interface { diff --git a/iris/src/service/sandbox/sandboxArgs.go b/apps/iris/src/service/sandbox/sandboxArgs.go similarity index 100% rename from iris/src/service/sandbox/sandboxArgs.go rename to apps/iris/src/service/sandbox/sandboxArgs.go diff --git a/iris/src/service/sandbox/statusCode.go b/apps/iris/src/service/sandbox/statusCode.go similarity index 100% rename from iris/src/service/sandbox/statusCode.go rename to apps/iris/src/service/sandbox/statusCode.go diff --git a/iris/src/service/testcase/data.go b/apps/iris/src/service/testcase/data.go similarity index 100% rename from iris/src/service/testcase/data.go rename to apps/iris/src/service/testcase/data.go diff --git a/iris/src/service/testcase/manager.go b/apps/iris/src/service/testcase/manager.go similarity index 92% rename from iris/src/service/testcase/manager.go rename to apps/iris/src/service/testcase/manager.go index f8c500afe8..a948738d19 100644 --- a/iris/src/service/testcase/manager.go +++ b/apps/iris/src/service/testcase/manager.go @@ -4,8 +4,8 @@ import ( "encoding/json" "fmt" - "github.com/skkuding/codedang/iris/src/loader" - "github.com/skkuding/codedang/iris/src/loader/cache" + "github.com/skkuding/codedang/apps/iris/src/loader" + "github.com/skkuding/codedang/apps/iris/src/loader/cache" ) type TestcaseManager interface { diff --git a/iris/src/utils/get_env.go b/apps/iris/src/utils/get_env.go similarity index 100% rename from iris/src/utils/get_env.go rename to apps/iris/src/utils/get_env.go diff --git a/iris/src/utils/rand_string.go b/apps/iris/src/utils/rand_string.go similarity index 100% rename from iris/src/utils/rand_string.go rename to apps/iris/src/utils/rand_string.go diff --git a/iris/tests/data/submission/1_answer.json b/apps/iris/tests/data/submission/1_answer.json similarity index 100% rename from iris/tests/data/submission/1_answer.json rename to apps/iris/tests/data/submission/1_answer.json diff --git a/iris/tests/data/submission/1_compile_error.json b/apps/iris/tests/data/submission/1_compile_error.json similarity index 100% rename from iris/tests/data/submission/1_compile_error.json rename to apps/iris/tests/data/submission/1_compile_error.json diff --git a/iris/tests/data/submission/1_partial_answer.json b/apps/iris/tests/data/submission/1_partial_answer.json similarity index 100% rename from iris/tests/data/submission/1_partial_answer.json rename to apps/iris/tests/data/submission/1_partial_answer.json diff --git a/iris/tests/data/submission/1_wrong.json b/apps/iris/tests/data/submission/1_wrong.json similarity index 100% rename from iris/tests/data/submission/1_wrong.json rename to apps/iris/tests/data/submission/1_wrong.json diff --git a/iris/tests/data/testcase/1.json b/apps/iris/tests/data/testcase/1.json similarity index 100% rename from iris/tests/data/testcase/1.json rename to apps/iris/tests/data/testcase/1.json diff --git a/iris/tests/data/testcase/2.json b/apps/iris/tests/data/testcase/2.json similarity index 100% rename from iris/tests/data/testcase/2.json rename to apps/iris/tests/data/testcase/2.json diff --git a/iris/tests/data/testcase/3.json b/apps/iris/tests/data/testcase/3.json similarity index 100% rename from iris/tests/data/testcase/3.json rename to apps/iris/tests/data/testcase/3.json diff --git a/iris/tests/data/testcase/4.json b/apps/iris/tests/data/testcase/4.json similarity index 100% rename from iris/tests/data/testcase/4.json rename to apps/iris/tests/data/testcase/4.json diff --git a/iris/tests/data/testcase/5.json b/apps/iris/tests/data/testcase/5.json similarity index 100% rename from iris/tests/data/testcase/5.json rename to apps/iris/tests/data/testcase/5.json diff --git a/iris/tests/data/testcase/6.json b/apps/iris/tests/data/testcase/6.json similarity index 100% rename from iris/tests/data/testcase/6.json rename to apps/iris/tests/data/testcase/6.json diff --git a/iris/tests/data/testcase/7.json b/apps/iris/tests/data/testcase/7.json similarity index 100% rename from iris/tests/data/testcase/7.json rename to apps/iris/tests/data/testcase/7.json diff --git a/iris/tests/data/testcase/8.json b/apps/iris/tests/data/testcase/8.json similarity index 100% rename from iris/tests/data/testcase/8.json rename to apps/iris/tests/data/testcase/8.json diff --git a/frontend/.eslintrc.cjs b/frontend/.eslintrc.cjs deleted file mode 100644 index 1f150327fb..0000000000 --- a/frontend/.eslintrc.cjs +++ /dev/null @@ -1,46 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -module.exports = { - env: { - browser: true, - 'vue/setup-compiler-macros': true - }, - parser: 'vue-eslint-parser', - parserOptions: { - ecmaVersion: 'latest', - parser: '@typescript-eslint/parser', - sourceType: 'module' - }, - extends: ['plugin:vue/vue3-recommended', 'plugin:prettier/recommended'], - rules: { - 'vue/component-api-style': ['error', ['script-setup']], - 'vue/component-name-in-template-casing': [ - 'error', - 'PascalCase', - { ignores: ['/^n-/'] } - ], - 'vue/define-props-declaration': 'error', - 'vue/html-self-closing': ['error', { html: { void: 'always' } }], // compatibility with prettier - 'vue/no-empty-component-block': 'error', - 'vue/no-undef-components': [ - 'error', - { - ignorePatterns: [ - 'Transition', - 'TransitionGroup', - 'KeepAlive', - 'Teleport', - 'Suspense', - 'Story', - 'Variant', - 'RouterView', - 'RouterLink' - ] - } - ], - 'vue/padding-line-between-blocks': 'warn', - 'vue/prefer-true-attribute-shorthand': 'warn', - 'vue/require-emit-validator': 'error', - 'vue/multi-word-component-names': 'off', - 'vue/custom-event-name-casing': ['error', 'camelCase'] - } -} diff --git a/frontend/env.d.ts b/frontend/env.d.ts deleted file mode 100644 index 9a89c2f44b..0000000000 --- a/frontend/env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// -/// -/// -/// diff --git a/frontend/histoire.config.ts b/frontend/histoire.config.ts deleted file mode 100644 index 9b9f92281f..0000000000 --- a/frontend/histoire.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { HstVue } from '@histoire/plugin-vue' -import { defineConfig } from 'histoire' - -export default defineConfig({ - plugins: [HstVue()], - setupFile: '/src/histoire.setup.ts', - theme: { - title: 'SKKUding Histoire' - }, - viteIgnorePlugins: ['vite-plugin-checker'] -}) diff --git a/frontend/index.html b/frontend/index.html deleted file mode 100644 index 42a88d0ce0..0000000000 --- a/frontend/index.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - Codedang 코드당 - - - - - - - - - - - - - - - - - - - -
- - - diff --git a/frontend/package.json b/frontend/package.json deleted file mode 100644 index ed1899c163..0000000000 --- a/frontend/package.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "name": "frontend", - "private": true, - "scripts": { - "dev": "vite", - "build": "vue-tsc --noEmit && vite build", - "preview": "vite preview --port 5050", - "typecheck": "vue-tsc --noEmit", - "story": "histoire dev --port 3030", - "story:build": "histoire build" - }, - "dependencies": { - "@apollo/client": "^3.9.5", - "@codemirror/autocomplete": "^6.13.0", - "@codemirror/commands": "^6.3.3", - "@codemirror/lang-cpp": "^6.0.2", - "@codemirror/lang-java": "^6.0.1", - "@codemirror/lang-python": "^6.1.4", - "@codemirror/language": "^6.10.1", - "@codemirror/state": "^6.4.1", - "@codemirror/theme-one-dark": "^6.1.2", - "@codemirror/view": "^6.25.0", - "@tiptap/pm": "^2.2.4", - "@tiptap/starter-kit": "^2.2.4", - "@tiptap/vue-3": "^2.2.4", - "@vee-validate/zod": "^4.12.5", - "@vue/apollo-composable": "4.0.1", - "@vueuse/components": "^10.9.0", - "@vueuse/core": "^10.9.0", - "@vueuse/integrations": "^10.9.0", - "@vueuse/math": "^10.9.0", - "@vueuse/router": "^10.9.0", - "axios": "^1.6.7", - "axios-retry": "^4.0.0", - "graphql": "^16.8.1", - "graphql-tag": "^2.12.6", - "naive-ui": "^2.38.1", - "nprogress": "0.2.0", - "pinia": "^2.1.7", - "sortablejs": "^1.15.2", - "vee-validate": "^4.12.5", - "vue": "^3.4.21", - "vue-dompurify-html": "^5.0.1", - "vue-query": "^1.26.0", - "vue-router": "^4.3.0", - "zod": "^3.22.4" - }, - "devDependencies": { - "@histoire/plugin-vue": "^0.17.12", - "@iconify-json/ant-design": "^1.1.15", - "@iconify-json/bi": "^1.1.23", - "@iconify-json/fa": "^1.1.8", - "@iconify-json/fa6-brands": "^1.1.18", - "@iconify-json/fa6-regular": "^1.1.18", - "@iconify-json/fa6-solid": "^1.1.20", - "@iconify-json/fluent": "^1.1.49", - "@iconify-json/iconoir": "^1.1.42", - "@iconify-json/material-symbols": "^1.1.74", - "@iconify-json/ri": "^1.1.20", - "@tailwindcss/forms": "^0.5.7", - "@tailwindcss/typography": "^0.5.10", - "@types/node": "^20.11.24", - "@types/nprogress": "^0.2.3", - "@vitejs/plugin-vue": "^5.0.4", - "@vue/tsconfig": "^0.5.1", - "autoprefixer": "^10.4.18", - "histoire": "^0.17.9", - "postcss": "^8.4.35", - "tailwindcss": "^3.4.1", - "typescript": "^5.3.3", - "unplugin-icons": "^0.18.5", - "vite": "^5.1.5", - "vite-plugin-checker": "^0.6.4", - "vite-plugin-pages": "^0.32.0", - "vite-plugin-vue-layouts": "^0.11.0", - "vue-tsc": "^1.8.27" - }, - "type": "module" -} diff --git a/frontend/postcss.config.js b/frontend/postcss.config.js deleted file mode 100644 index 2b75bd8a7e..0000000000 --- a/frontend/postcss.config.js +++ /dev/null @@ -1,6 +0,0 @@ -export default { - plugins: { - tailwindcss: {}, - autoprefixer: {} - } -} diff --git a/frontend/public/android-chrome-192x192.png b/frontend/public/android-chrome-192x192.png deleted file mode 100644 index 054dbdf86f01764fdc38e9bf4c54cea63681f33f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4911 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 diff --git a/frontend/public/apple-touch-icon.png b/frontend/public/apple-touch-icon.png deleted file mode 100644 index e2f3f1982243b42f09309aeb1883493a8e7c6daa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4340 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 nv?Lywa41XA#inmWL00000NkvXXu0mjfo#IFd diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico deleted file mode 100644 index 6693900200d2105a1af7e6aabbabd1487332ab7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15406 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 diff --git a/frontend/public/site.webmanifest b/frontend/public/site.webmanifest deleted file mode 100644 index ce762f9525..0000000000 --- a/frontend/public/site.webmanifest +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "Codedang", - "short_name": "Codedang", - "icons": [ - { - "src": "/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "display": "standalone" -} diff --git a/frontend/src/App.vue b/frontend/src/App.vue deleted file mode 100644 index c7e4741f8c..0000000000 --- a/frontend/src/App.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - diff --git a/frontend/src/admin/components/CreateNoticeModal.vue b/frontend/src/admin/components/CreateNoticeModal.vue deleted file mode 100644 index a96df56dd5..0000000000 --- a/frontend/src/admin/components/CreateNoticeModal.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - diff --git a/frontend/src/admin/components/ImportProblemModal.vue b/frontend/src/admin/components/ImportProblemModal.vue deleted file mode 100644 index c97245a9e6..0000000000 --- a/frontend/src/admin/components/ImportProblemModal.vue +++ /dev/null @@ -1,249 +0,0 @@ - - - diff --git a/frontend/src/admin/pages/[groupId]/contest/CreateContestModal.vue b/frontend/src/admin/pages/[groupId]/contest/CreateContestModal.vue deleted file mode 100644 index 6264f72dbd..0000000000 --- a/frontend/src/admin/pages/[groupId]/contest/CreateContestModal.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - diff --git a/frontend/src/admin/pages/[groupId]/contest/[id]/edit.vue b/frontend/src/admin/pages/[groupId]/contest/[id]/edit.vue deleted file mode 100644 index 346013b5df..0000000000 --- a/frontend/src/admin/pages/[groupId]/contest/[id]/edit.vue +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/frontend/src/admin/pages/[groupId]/contest/[id]/index.vue b/frontend/src/admin/pages/[groupId]/contest/[id]/index.vue deleted file mode 100644 index f169681b0c..0000000000 --- a/frontend/src/admin/pages/[groupId]/contest/[id]/index.vue +++ /dev/null @@ -1,274 +0,0 @@ - - - - - -meta: - layout: admin - diff --git a/frontend/src/admin/pages/[groupId]/contest/index.vue b/frontend/src/admin/pages/[groupId]/contest/index.vue deleted file mode 100644 index 3a684e4da4..0000000000 --- a/frontend/src/admin/pages/[groupId]/contest/index.vue +++ /dev/null @@ -1,340 +0,0 @@ - - - - - -meta: - layout: admin - diff --git a/frontend/src/admin/pages/[groupId]/home/index.vue b/frontend/src/admin/pages/[groupId]/home/index.vue deleted file mode 100644 index 346013b5df..0000000000 --- a/frontend/src/admin/pages/[groupId]/home/index.vue +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/frontend/src/admin/pages/[groupId]/index.vue b/frontend/src/admin/pages/[groupId]/index.vue deleted file mode 100644 index 0df852fc1d..0000000000 --- a/frontend/src/admin/pages/[groupId]/index.vue +++ /dev/null @@ -1,223 +0,0 @@ - - - - - -meta: - layout: admin - diff --git a/frontend/src/admin/pages/[groupId]/member/index.vue b/frontend/src/admin/pages/[groupId]/member/index.vue deleted file mode 100644 index 1baa0eb13f..0000000000 --- a/frontend/src/admin/pages/[groupId]/member/index.vue +++ /dev/null @@ -1,207 +0,0 @@ - - - - - -meta: - layout: admin - diff --git a/frontend/src/admin/pages/[groupId]/notice/[id]/edit.vue b/frontend/src/admin/pages/[groupId]/notice/[id]/edit.vue deleted file mode 100644 index 346013b5df..0000000000 --- a/frontend/src/admin/pages/[groupId]/notice/[id]/edit.vue +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/frontend/src/admin/pages/[groupId]/notice/create.vue b/frontend/src/admin/pages/[groupId]/notice/create.vue deleted file mode 100644 index 346013b5df..0000000000 --- a/frontend/src/admin/pages/[groupId]/notice/create.vue +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/frontend/src/admin/pages/[groupId]/notice/index.vue b/frontend/src/admin/pages/[groupId]/notice/index.vue deleted file mode 100644 index f8da0ecbe5..0000000000 --- a/frontend/src/admin/pages/[groupId]/notice/index.vue +++ /dev/null @@ -1,148 +0,0 @@ - - - - - -meta: - layout: admin - diff --git a/frontend/src/admin/pages/[groupId]/pool/[id]/edit.vue b/frontend/src/admin/pages/[groupId]/pool/[id]/edit.vue deleted file mode 100644 index 346013b5df..0000000000 --- a/frontend/src/admin/pages/[groupId]/pool/[id]/edit.vue +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/frontend/src/admin/pages/[groupId]/pool/create.vue b/frontend/src/admin/pages/[groupId]/pool/create.vue deleted file mode 100644 index 346013b5df..0000000000 --- a/frontend/src/admin/pages/[groupId]/pool/create.vue +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/frontend/src/admin/pages/[groupId]/pool/index.vue b/frontend/src/admin/pages/[groupId]/pool/index.vue deleted file mode 100644 index 346013b5df..0000000000 --- a/frontend/src/admin/pages/[groupId]/pool/index.vue +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/frontend/src/admin/pages/[groupId]/problem/[id]/edit.vue b/frontend/src/admin/pages/[groupId]/problem/[id]/edit.vue deleted file mode 100644 index 346013b5df..0000000000 --- a/frontend/src/admin/pages/[groupId]/problem/[id]/edit.vue +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/frontend/src/admin/pages/[groupId]/problem/create.vue b/frontend/src/admin/pages/[groupId]/problem/create.vue deleted file mode 100644 index dfb3ffce22..0000000000 --- a/frontend/src/admin/pages/[groupId]/problem/create.vue +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/frontend/src/common/components/Atom/InputItem.vue b/frontend/src/common/components/Atom/InputItem.vue deleted file mode 100644 index b6503de264..0000000000 --- a/frontend/src/common/components/Atom/InputItem.vue +++ /dev/null @@ -1,46 +0,0 @@ - - - diff --git a/frontend/src/common/components/Atom/ListItem.story.vue b/frontend/src/common/components/Atom/ListItem.story.vue deleted file mode 100644 index 6ba5e8ad3e..0000000000 --- a/frontend/src/common/components/Atom/ListItem.story.vue +++ /dev/null @@ -1,22 +0,0 @@ - - - diff --git a/frontend/src/common/components/Atom/ListItem.vue b/frontend/src/common/components/Atom/ListItem.vue deleted file mode 100644 index 0d722633be..0000000000 --- a/frontend/src/common/components/Atom/ListItem.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/frontend/src/common/components/Atom/PageSubtitle.story.vue b/frontend/src/common/components/Atom/PageSubtitle.story.vue deleted file mode 100644 index 4d4aea0f2e..0000000000 --- a/frontend/src/common/components/Atom/PageSubtitle.story.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/frontend/src/common/components/Atom/PageSubtitle.vue b/frontend/src/common/components/Atom/PageSubtitle.vue deleted file mode 100644 index 46b1c2d4ab..0000000000 --- a/frontend/src/common/components/Atom/PageSubtitle.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/frontend/src/common/components/Atom/PageTitle.story.vue b/frontend/src/common/components/Atom/PageTitle.story.vue deleted file mode 100644 index 876dd819f0..0000000000 --- a/frontend/src/common/components/Atom/PageTitle.story.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/frontend/src/common/components/Atom/PageTitle.vue b/frontend/src/common/components/Atom/PageTitle.vue deleted file mode 100644 index 14b0ac755c..0000000000 --- a/frontend/src/common/components/Atom/PageTitle.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/frontend/src/common/components/Atom/Spinner.story.vue b/frontend/src/common/components/Atom/Spinner.story.vue deleted file mode 100644 index 5ac91705fb..0000000000 --- a/frontend/src/common/components/Atom/Spinner.story.vue +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/frontend/src/common/components/Atom/Spinner.vue b/frontend/src/common/components/Atom/Spinner.vue deleted file mode 100644 index 63c7d4acb3..0000000000 --- a/frontend/src/common/components/Atom/Spinner.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - - - diff --git a/frontend/src/common/components/Atom/SymbolLogo.story.vue b/frontend/src/common/components/Atom/SymbolLogo.story.vue deleted file mode 100644 index 89e7137ee4..0000000000 --- a/frontend/src/common/components/Atom/SymbolLogo.story.vue +++ /dev/null @@ -1,14 +0,0 @@ - - - diff --git a/frontend/src/common/components/Atom/SymbolLogo.vue b/frontend/src/common/components/Atom/SymbolLogo.vue deleted file mode 100644 index d548989333..0000000000 --- a/frontend/src/common/components/Atom/SymbolLogo.vue +++ /dev/null @@ -1,19 +0,0 @@ - diff --git a/frontend/src/common/components/Atom/TextEditorButton.vue b/frontend/src/common/components/Atom/TextEditorButton.vue deleted file mode 100644 index 82b89cbeec..0000000000 --- a/frontend/src/common/components/Atom/TextEditorButton.vue +++ /dev/null @@ -1,13 +0,0 @@ - - - diff --git a/frontend/src/common/components/Atom/Toast.story.vue b/frontend/src/common/components/Atom/Toast.story.vue deleted file mode 100644 index 53ca431ecb..0000000000 --- a/frontend/src/common/components/Atom/Toast.story.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - diff --git a/frontend/src/common/components/Atom/Toast.vue b/frontend/src/common/components/Atom/Toast.vue deleted file mode 100644 index 8c1ea05ce4..0000000000 --- a/frontend/src/common/components/Atom/Toast.vue +++ /dev/null @@ -1,64 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Badge.story.vue b/frontend/src/common/components/Molecule/Badge.story.vue deleted file mode 100644 index 98b517a2ff..0000000000 --- a/frontend/src/common/components/Molecule/Badge.story.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Badge.vue b/frontend/src/common/components/Molecule/Badge.vue deleted file mode 100644 index 178bd95f22..0000000000 --- a/frontend/src/common/components/Molecule/Badge.vue +++ /dev/null @@ -1,22 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Card.story.vue b/frontend/src/common/components/Molecule/Card.story.vue deleted file mode 100644 index bbfcc86fb5..0000000000 --- a/frontend/src/common/components/Molecule/Card.story.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Card.vue b/frontend/src/common/components/Molecule/Card.vue deleted file mode 100644 index b1dfe0ce50..0000000000 --- a/frontend/src/common/components/Molecule/Card.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/CardItem.story.vue b/frontend/src/common/components/Molecule/CardItem.story.vue deleted file mode 100644 index b4e2cba246..0000000000 --- a/frontend/src/common/components/Molecule/CardItem.story.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/CardItem.vue b/frontend/src/common/components/Molecule/CardItem.vue deleted file mode 100644 index 4797186967..0000000000 --- a/frontend/src/common/components/Molecule/CardItem.vue +++ /dev/null @@ -1,50 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Dialog.story.vue b/frontend/src/common/components/Molecule/Dialog.story.vue deleted file mode 100644 index 05530eb686..0000000000 --- a/frontend/src/common/components/Molecule/Dialog.story.vue +++ /dev/null @@ -1,50 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Dialog.vue b/frontend/src/common/components/Molecule/Dialog.vue deleted file mode 100644 index 00942bee39..0000000000 --- a/frontend/src/common/components/Molecule/Dialog.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Dropdown.story.vue b/frontend/src/common/components/Molecule/Dropdown.story.vue deleted file mode 100644 index 49f9807912..0000000000 --- a/frontend/src/common/components/Molecule/Dropdown.story.vue +++ /dev/null @@ -1,42 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Dropdown.vue b/frontend/src/common/components/Molecule/Dropdown.vue deleted file mode 100644 index dbb79c66e6..0000000000 --- a/frontend/src/common/components/Molecule/Dropdown.vue +++ /dev/null @@ -1,40 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Modal.story.vue b/frontend/src/common/components/Molecule/Modal.story.vue deleted file mode 100644 index 34dc9a6210..0000000000 --- a/frontend/src/common/components/Molecule/Modal.story.vue +++ /dev/null @@ -1,22 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Modal.vue b/frontend/src/common/components/Molecule/Modal.vue deleted file mode 100644 index 2b6ac2acfd..0000000000 --- a/frontend/src/common/components/Molecule/Modal.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/NewCard.vue b/frontend/src/common/components/Molecule/NewCard.vue deleted file mode 100644 index 98ee5f8a5b..0000000000 --- a/frontend/src/common/components/Molecule/NewCard.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Pagination.story.vue b/frontend/src/common/components/Molecule/Pagination.story.vue deleted file mode 100644 index 31fbcd7679..0000000000 --- a/frontend/src/common/components/Molecule/Pagination.story.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Pagination.vue b/frontend/src/common/components/Molecule/Pagination.vue deleted file mode 100644 index 00bb896224..0000000000 --- a/frontend/src/common/components/Molecule/Pagination.vue +++ /dev/null @@ -1,100 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/ProgressCard.story.vue b/frontend/src/common/components/Molecule/ProgressCard.story.vue deleted file mode 100644 index 84630e1ce8..0000000000 --- a/frontend/src/common/components/Molecule/ProgressCard.story.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/ProgressCard.vue b/frontend/src/common/components/Molecule/ProgressCard.vue deleted file mode 100644 index c00513dfa5..0000000000 --- a/frontend/src/common/components/Molecule/ProgressCard.vue +++ /dev/null @@ -1,43 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/RadioButton.story.vue b/frontend/src/common/components/Molecule/RadioButton.story.vue deleted file mode 100644 index cbf12555c8..0000000000 --- a/frontend/src/common/components/Molecule/RadioButton.story.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/RadioButton.vue b/frontend/src/common/components/Molecule/RadioButton.vue deleted file mode 100644 index 99b8d1303b..0000000000 --- a/frontend/src/common/components/Molecule/RadioButton.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/SearchBar.story.vue b/frontend/src/common/components/Molecule/SearchBar.story.vue deleted file mode 100644 index c36d32fc15..0000000000 --- a/frontend/src/common/components/Molecule/SearchBar.story.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/SearchBar.vue b/frontend/src/common/components/Molecule/SearchBar.vue deleted file mode 100644 index 04f4c4a662..0000000000 --- a/frontend/src/common/components/Molecule/SearchBar.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Switch.story.vue b/frontend/src/common/components/Molecule/Switch.story.vue deleted file mode 100644 index 2812350693..0000000000 --- a/frontend/src/common/components/Molecule/Switch.story.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Switch.vue b/frontend/src/common/components/Molecule/Switch.vue deleted file mode 100644 index 5422b9da09..0000000000 --- a/frontend/src/common/components/Molecule/Switch.vue +++ /dev/null @@ -1,37 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Tab.story.vue b/frontend/src/common/components/Molecule/Tab.story.vue deleted file mode 100644 index 55a22a3163..0000000000 --- a/frontend/src/common/components/Molecule/Tab.story.vue +++ /dev/null @@ -1,26 +0,0 @@ - - - diff --git a/frontend/src/common/components/Molecule/Tab.vue b/frontend/src/common/components/Molecule/Tab.vue deleted file mode 100644 index b90d3d6d05..0000000000 --- a/frontend/src/common/components/Molecule/Tab.vue +++ /dev/null @@ -1,43 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/AuthModal.vue b/frontend/src/common/components/Organism/AuthModal.vue deleted file mode 100644 index c5146528cf..0000000000 --- a/frontend/src/common/components/Organism/AuthModal.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/CodeEditor.story.vue b/frontend/src/common/components/Organism/CodeEditor.story.vue deleted file mode 100644 index 111ed6a569..0000000000 --- a/frontend/src/common/components/Organism/CodeEditor.story.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/CodeEditor.vue b/frontend/src/common/components/Organism/CodeEditor.vue deleted file mode 100644 index e364b79755..0000000000 --- a/frontend/src/common/components/Organism/CodeEditor.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/Footer.story.vue b/frontend/src/common/components/Organism/Footer.story.vue deleted file mode 100644 index a957da8a59..0000000000 --- a/frontend/src/common/components/Organism/Footer.story.vue +++ /dev/null @@ -1,11 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/Footer.vue b/frontend/src/common/components/Organism/Footer.vue deleted file mode 100644 index f5cdacdd3a..0000000000 --- a/frontend/src/common/components/Organism/Footer.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/Header.story.vue b/frontend/src/common/components/Organism/Header.story.vue deleted file mode 100644 index 1219999e15..0000000000 --- a/frontend/src/common/components/Organism/Header.story.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/Header.vue b/frontend/src/common/components/Organism/Header.vue deleted file mode 100644 index 81fd2e2ad9..0000000000 --- a/frontend/src/common/components/Organism/Header.vue +++ /dev/null @@ -1,189 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/Login.vue b/frontend/src/common/components/Organism/Login.vue deleted file mode 100644 index 20ab4429ec..0000000000 --- a/frontend/src/common/components/Organism/Login.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/PaginationTable.story.vue b/frontend/src/common/components/Organism/PaginationTable.story.vue deleted file mode 100644 index 295def8d05..0000000000 --- a/frontend/src/common/components/Organism/PaginationTable.story.vue +++ /dev/null @@ -1,257 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/PaginationTable.vue b/frontend/src/common/components/Organism/PaginationTable.vue deleted file mode 100644 index ed6bb616d6..0000000000 --- a/frontend/src/common/components/Organism/PaginationTable.vue +++ /dev/null @@ -1,196 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/PasswordReset.vue b/frontend/src/common/components/Organism/PasswordReset.vue deleted file mode 100644 index 0ec4d66cd8..0000000000 --- a/frontend/src/common/components/Organism/PasswordReset.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/Sidebar.story.vue b/frontend/src/common/components/Organism/Sidebar.story.vue deleted file mode 100644 index 5fc231102e..0000000000 --- a/frontend/src/common/components/Organism/Sidebar.story.vue +++ /dev/null @@ -1,14 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/Sidebar.vue b/frontend/src/common/components/Organism/Sidebar.vue deleted file mode 100644 index 8d10c9db19..0000000000 --- a/frontend/src/common/components/Organism/Sidebar.vue +++ /dev/null @@ -1,68 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/Signup.vue b/frontend/src/common/components/Organism/Signup.vue deleted file mode 100644 index c9a7a8ebf0..0000000000 --- a/frontend/src/common/components/Organism/Signup.vue +++ /dev/null @@ -1,239 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/TextEditor.story.vue b/frontend/src/common/components/Organism/TextEditor.story.vue deleted file mode 100644 index eaf0dde0d9..0000000000 --- a/frontend/src/common/components/Organism/TextEditor.story.vue +++ /dev/null @@ -1,14 +0,0 @@ - - - diff --git a/frontend/src/common/components/Organism/TextEditor.vue b/frontend/src/common/components/Organism/TextEditor.vue deleted file mode 100644 index 5853966c25..0000000000 --- a/frontend/src/common/components/Organism/TextEditor.vue +++ /dev/null @@ -1,117 +0,0 @@ - - - diff --git a/frontend/src/common/composables/api.ts b/frontend/src/common/composables/api.ts deleted file mode 100644 index 07b1518378..0000000000 --- a/frontend/src/common/composables/api.ts +++ /dev/null @@ -1,105 +0,0 @@ -import axios from 'axios' -import { ref, computed, type ComputedRef, toValue } from 'vue' - -/** - * Single item of the list - * @param id: unique identifier of the item - */ -interface Item { - id: unknown -} - -/** - * Utility to get cursor-pagination API data. - * `slot` means a group of pages in pagination component. - * For example, if there are 3 pages per slot, [1, 2, 3] is slot 1, [4, 5, 6] is slot 2, and so on. - * - * @param path: url path to call (ex: 'user', () => `group/${id}/user`) - * @param take: number of items to take per page - * @param pagesPerSlot: number of pages per slot - */ -export const useListAPI = ( - path: string | ComputedRef, - take = 20, - pagesPerSlot = 5 -) => { - const currentPage = ref(1) - /** Total number of pages (increase if there are more data than slots) */ - const totalPages = ref(1) - /** Group of pages in current pagination - * (ex: = ) */ - const currentSlot = computed(() => - Math.ceil(currentPage.value / pagesPerSlot) - ) - /** Items of current page */ - const items = ref([]) - /** Items of current slot */ - const slotItems = ref([]) - /** Last item of current slot */ - const cursor = ref() - /** Cursors of previous slots. (work as stack) */ - const previousCursors = ref([]) - /** Data is being loaded */ - const loading = ref(false) - - /** - * Call list API from server. - * Get (all data of current slot + 1), to verify if there are more data to load in next slot. - * For example, if number of items per page is 20 and pages per slot is 5, take 101 items. - * If 101 items are returned, next slot exists. If not, current slot is the last. - */ - const getList = async () => { - loading.value = true - const { data } = await axios.get(`/api/${toValue(path)}`, { - params: { - take: take * pagesPerSlot + 1, - cursor: cursor.value - } - }) - // When current slot is not the last, - if (data.length > take * pagesPerSlot) { - totalPages.value = currentSlot.value * pagesPerSlot + 1 - slotItems.value = data.slice(0, take * pagesPerSlot) - } - // When current slot is the last, - else { - totalPages.value = - (currentSlot.value - 1) * pagesPerSlot + Math.ceil(data.length / take) - slotItems.value = data - } - loading.value = false - } - - const changePage = async (page: number) => { - const oldSlot = currentSlot.value - currentPage.value = page // updates currentSlot automatically (computed) - if (currentSlot.value > oldSlot) { - previousCursors.value.push(cursor.value) - cursor.value = slotItems.value.at(-1)?.id - await getList() - } else if (currentSlot.value < oldSlot) { - cursor.value = previousCursors.value.pop() - await getList() - } - items.value = slotItems.value.slice( - ((currentPage.value - 1) % pagesPerSlot) * take, - ((currentPage.value - 1) % pagesPerSlot) * take + take - ) - } - - // Load initial data - // Do not use await here, because it will block the UI (top-level await) - getList().then(() => { - items.value = slotItems.value.slice( - (currentPage.value - 1) % pagesPerSlot, - ((currentPage.value - 1) % pagesPerSlot) + take - ) - }) - - return { - items, - totalPages, - changePage, - loading - } -} diff --git a/frontend/src/common/composables/dialog.ts b/frontend/src/common/composables/dialog.ts deleted file mode 100644 index 313ed68c5e..0000000000 --- a/frontend/src/common/composables/dialog.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { ref } from 'vue' - -interface DialogOption { - title: string - content: string - - /* 동의 버튼에 보여질 문구 */ - yes?: string - - /* 거절 버튼에 보여질 문구 */ - no?: string -} - -interface DialogInfo extends DialogOption { - type: 'confirm' | 'success' | 'error' -} - -export const dialogInfo = ref() - -export const open = ref(false) - -export const useDialog = () => { - return { - confirm(option: DialogOption) { - dialogInfo.value = { ...option, type: 'confirm' } - open.value = true - }, - success(option: DialogOption) { - dialogInfo.value = { ...option, type: 'success' } - open.value = true - }, - error(option: DialogOption) { - dialogInfo.value = { ...option, type: 'error' } - open.value = true - } - } -} diff --git a/frontend/src/common/composables/graphql.ts b/frontend/src/common/composables/graphql.ts deleted file mode 100644 index fae3a7fe8b..0000000000 --- a/frontend/src/common/composables/graphql.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { DocumentNode } from '@apollo/client' -import { useQuery } from '@vue/apollo-composable' -import type { MaybeRef } from 'vue' -import { ref, computed, type Ref } from 'vue' -import { useToast } from './toast' - -/** - * Single item of the list - * @param id: unique identifier of the item - */ -interface Item { - id: unknown -} - -interface Response { - [key: string]: T[] -} - -/** - * @param query GraphQL query - * @param variable GraphQL variables - * @param option Custom options { take: number; pagesPerSlot: number } - */ -export const useListGraphQL = ( - query: DocumentNode, - variable: { [key: string]: MaybeRef }, - option?: { take?: number; pagesPerSlot?: number } -) => { - const take = option?.take ?? 20 - const pagesPerSlot = option?.pagesPerSlot ?? 5 - - const currentPage = ref(1) - /** Total number of pages (increase if there are more data than slots) */ - const totalPages = ref(1) - /** Group of pages in current pagination - * (ex: = ) */ - const currentSlot = computed(() => - Math.ceil(currentPage.value / pagesPerSlot) - ) - /** Items of current page */ - const items = ref([]) as Ref - /** Items of current slot */ - const slotItems = ref([]) as Ref - /** Last item of current slot */ - const cursor = ref(0) - /** Cursors of previous slots. (work as stack) */ - const previousCursors = ref([]) - - const { loading, refetch, onResult } = useQuery>( - query, - { ...variable, take: take * pagesPerSlot + 1 }, - { errorPolicy: 'all', notifyOnNetworkStatusChange: true } - ) - - // When data is fetched, - onResult((res) => { - if (res.errors) { - const toast = useToast() - for (const error of res.errors) { - toast({ type: 'error', message: error.message }) - } - return - } - - for (const key in res.data) { - const data = res.data[key] - - // When current slot is not the last, - if (data.length > take * pagesPerSlot) { - totalPages.value = currentSlot.value * pagesPerSlot + 1 - slotItems.value = data.slice(0, take * pagesPerSlot) - } - // When current slot is the last, - else { - totalPages.value = - (currentSlot.value - 1) * pagesPerSlot + Math.ceil(data.length / take) - slotItems.value = data - } - } - - // Update items of current page - items.value = slotItems.value.slice( - ((currentPage.value - 1) % pagesPerSlot) * take, - ((currentPage.value - 1) % pagesPerSlot) * take + take - ) - }) - - const changePage = async (page: number) => { - const oldSlot = currentSlot.value - currentPage.value = page // updates currentSlot automatically (computed) - if (currentSlot.value > oldSlot) { - previousCursors.value.push(cursor.value) - cursor.value = Number(slotItems.value.at(-1)?.id) - await refetch({ cursor: cursor.value || null }) - } else if (currentSlot.value < oldSlot) { - cursor.value = Number(previousCursors.value.pop()) - await refetch({ cursor: cursor.value || null }) - } else { - items.value = slotItems.value.slice( - ((currentPage.value - 1) % pagesPerSlot) * take, - ((currentPage.value - 1) % pagesPerSlot) * take + take - ) - } - } - - return { - items, - totalPages, - changePage, - loading - } -} diff --git a/frontend/src/common/composables/toast.ts b/frontend/src/common/composables/toast.ts deleted file mode 100644 index 04dd5cb7ea..0000000000 --- a/frontend/src/common/composables/toast.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { createEventHook } from '@vueuse/core' - -export interface ToastOption { - message: string - type?: 'info' | 'success' | 'warn' | 'error' - duration?: number -} - -const { trigger, on } = createEventHook() - -export const onTrigger = on - -export const useToast = () => { - return (option: ToastOption) => { - trigger(option) - } -} diff --git a/frontend/src/common/layouts/admin.vue b/frontend/src/common/layouts/admin.vue deleted file mode 100644 index 82d16eb40d..0000000000 --- a/frontend/src/common/layouts/admin.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - diff --git a/frontend/src/common/layouts/default.vue b/frontend/src/common/layouts/default.vue deleted file mode 100644 index ce413199cc..0000000000 --- a/frontend/src/common/layouts/default.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - diff --git a/frontend/src/common/layouts/empty.vue b/frontend/src/common/layouts/empty.vue deleted file mode 100644 index f21a49f94e..0000000000 --- a/frontend/src/common/layouts/empty.vue +++ /dev/null @@ -1 +0,0 @@ - diff --git a/frontend/src/common/store/auth.ts b/frontend/src/common/store/auth.ts deleted file mode 100644 index 61bbaf97eb..0000000000 --- a/frontend/src/common/store/auth.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { useToast } from '@/common/composables/toast' -import { useStorage } from '@vueuse/core' -import axios from 'axios' -import { defineStore } from 'pinia' - -const openToast = useToast() - -export const useAuthStore = defineStore('auth', { - state: () => ({ - isLoggedIn: useStorage('isLoggedIn', false) - }), - actions: { - async login(username: string, password: string) { - try { - const res = await axios.post( - '/api/auth/login', - { username, password }, - { withCredentials: true } // for local development - ) - axios.defaults.headers.common.authorization = res.headers.authorization - this.isLoggedIn = true - openToast({ message: 'Login succeed!', type: 'success' }) - } catch (e) { - openToast({ message: 'Login failed!', type: 'error' }) - throw new Error('Login failed') - } - }, - - async logout() { - try { - await axios.post('/api/auth/logout') - delete axios.defaults.headers.common.authorization - this.isLoggedIn = false - } catch (e) { - openToast({ message: 'Logout failed!', type: 'error' }) - throw new Error('Logout failed') - } - }, - - async reissue() { - try { - const res = await axios.get('/api/auth/reissue', { - // Send cross-site cookie in development mode - withCredentials: import.meta.env.DEV - }) - axios.defaults.headers.common.authorization = res.headers.authorization - this.isLoggedIn = true - } catch (e) { - this.isLoggedIn = false - } - } - } -}) diff --git a/frontend/src/common/store/user.ts b/frontend/src/common/store/user.ts deleted file mode 100644 index 9a4f107570..0000000000 --- a/frontend/src/common/store/user.ts +++ /dev/null @@ -1,19 +0,0 @@ -import axios from 'axios' -import { useQuery } from 'vue-query' - -type Role = 'User' | 'Manager' | 'Admin' | 'SuperAdmin' - -interface User { - username: string - role: Role - email: string - lastLogin: string - updateTime: string - userProfile: unknown -} - -export const useUserQuery = () => { - return useQuery('user', async () => - axios.get('/api/user').then((res) => res.data) - ) -} diff --git a/frontend/src/common/styles/style.css b/frontend/src/common/styles/style.css deleted file mode 100644 index eed8706fcf..0000000000 --- a/frontend/src/common/styles/style.css +++ /dev/null @@ -1,32 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -@layer base { - html { - @apply text-text; - } - - html, - body { - @apply h-full; - } - - body { - font-size: inherit; - font-family: inherit; - line-height: inherit; - } - - #app { - @apply flex h-full flex-col; - } -} - -#nprogress { - @apply pointer-events-none; -} - -#nprogress .bar { - @apply bg-blue fixed left-0 top-0 h-[2px] w-full; -} diff --git a/frontend/src/histoire.css b/frontend/src/histoire.css deleted file mode 100644 index 3143827eea..0000000000 --- a/frontend/src/histoire.css +++ /dev/null @@ -1,6 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono&family=Manrope:wght@400;700&family=Noto+Sans+KR:wght@400;700&display=swap'); - -/* sidebar source */ -.__histoire-code code { - font-family: 'JetBrains Mono', monospace; -} diff --git a/frontend/src/histoire.setup.ts b/frontend/src/histoire.setup.ts deleted file mode 100644 index 023be5d36d..0000000000 --- a/frontend/src/histoire.setup.ts +++ /dev/null @@ -1,5 +0,0 @@ -import './common/styles/style.css' -import './histoire.css' - -/* trigger script */ -console.log('Histoire theme loaded.') diff --git a/frontend/src/main.ts b/frontend/src/main.ts deleted file mode 100644 index 525138b63a..0000000000 --- a/frontend/src/main.ts +++ /dev/null @@ -1,99 +0,0 @@ -import { useAuthStore } from '@/common/store/auth' -import { - ApolloClient, - ApolloLink, - from, - HttpLink, - InMemoryCache -} from '@apollo/client/core' -import { onError } from '@apollo/client/link/error' -import { ApolloClients } from '@vue/apollo-composable' -import axios from 'axios' -import axiosRetry from 'axios-retry' -import NProgress from 'nprogress' -import 'nprogress/nprogress.css' -import { createPinia } from 'pinia' -import { setupLayouts } from 'virtual:generated-layouts' -import generatedRoutes from 'virtual:generated-pages' -import { createApp, provide, h } from 'vue' -import VueDOMPurifyHTML from 'vue-dompurify-html' -import { VueQueryPlugin } from 'vue-query' -import { createRouter, createWebHistory } from 'vue-router' -import App from './App.vue' -import './common/styles/style.css' - -// Retry 401 failed request to reissue access token -// since access token expiresin short time. -// Refresh token is stored in cookie, which expires after long time. -axiosRetry(axios, { - retries: 1, - retryCondition: (error) => - error.response?.status === 401 && error.config?.url !== '/api/auth/reissue', - onRetry: async () => { - await useAuthStore().reissue() - } -}) - -// Retry 401 failed request to reissue access token -// just like axiosRetry, but using ApolloLink for GraphQL -const errorLink = onError(({ graphQLErrors, operation, forward }) => { - if (graphQLErrors) - graphQLErrors.forEach(({ message }) => { - if (message.includes('Unauthorized')) { - useAuthStore() - .reissue() - .then(() => { - operation.setContext(({ headers }: { headers: object }) => ({ - headers: { - ...headers, - authorization: axios.defaults.headers.common.authorization - } - })) - forward(operation) - }) - } - }) - // TODO: if retry fails, redirect to login page -}) - -const authLink = new ApolloLink((operation, forward) => { - operation.setContext(({ headers }: { headers: object }) => ({ - headers: { - ...headers, - authorization: axios.defaults.headers.common.authorization - } - })) - return forward(operation) -}) - -const link = from([errorLink, authLink, new HttpLink({ uri: '/graphql' })]) -const cache = new InMemoryCache() -const apolloClient = new ApolloClient({ link, cache }) - -const app = createApp({ - setup() { - provide(ApolloClients, { - default: apolloClient - }) - }, - render: () => h(App) -}) - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: setupLayouts(generatedRoutes) -}) - -NProgress.configure({ showSpinner: false }) -router.beforeEach(() => { - NProgress.start() -}) -router.afterEach(() => { - NProgress.done() -}) - -app.use(router) -app.use(createPinia()) -app.use(VueDOMPurifyHTML) -app.use(VueQueryPlugin) -app.mount('#app') diff --git a/frontend/src/user/contest/components/Notice.vue b/frontend/src/user/contest/components/Notice.vue deleted file mode 100644 index 64e14e881b..0000000000 --- a/frontend/src/user/contest/components/Notice.vue +++ /dev/null @@ -1,50 +0,0 @@ - - - diff --git a/frontend/src/user/contest/components/Problem.vue b/frontend/src/user/contest/components/Problem.vue deleted file mode 100644 index 65df17ad34..0000000000 --- a/frontend/src/user/contest/components/Problem.vue +++ /dev/null @@ -1,30 +0,0 @@ - - - diff --git a/frontend/src/user/contest/components/Ranking.vue b/frontend/src/user/contest/components/Ranking.vue deleted file mode 100644 index 84f8ac28ba..0000000000 --- a/frontend/src/user/contest/components/Ranking.vue +++ /dev/null @@ -1,83 +0,0 @@ - - - diff --git a/frontend/src/user/contest/components/Top.vue b/frontend/src/user/contest/components/Top.vue deleted file mode 100644 index 63dd258dc0..0000000000 --- a/frontend/src/user/contest/components/Top.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/frontend/src/user/contest/pages/[id].vue b/frontend/src/user/contest/pages/[id].vue deleted file mode 100644 index c904fb0faf..0000000000 --- a/frontend/src/user/contest/pages/[id].vue +++ /dev/null @@ -1,58 +0,0 @@ - - - diff --git a/frontend/src/user/contest/pages/index.vue b/frontend/src/user/contest/pages/index.vue deleted file mode 100644 index e19bd235d5..0000000000 --- a/frontend/src/user/contest/pages/index.vue +++ /dev/null @@ -1,125 +0,0 @@ - - - - - -meta: - title: 🏆 SKKU Coding Platform - coloredTitle: Contests - subtitle: Compete with schoolmates & win the prizes! - diff --git a/frontend/src/user/group/components/Contest.vue b/frontend/src/user/group/components/Contest.vue deleted file mode 100644 index ae0b6b9ee5..0000000000 --- a/frontend/src/user/group/components/Contest.vue +++ /dev/null @@ -1,159 +0,0 @@ - - - diff --git a/frontend/src/user/group/components/GroupListSection.vue b/frontend/src/user/group/components/GroupListSection.vue deleted file mode 100644 index 1736864d19..0000000000 --- a/frontend/src/user/group/components/GroupListSection.vue +++ /dev/null @@ -1,273 +0,0 @@ - - - diff --git a/frontend/src/user/group/components/Member.vue b/frontend/src/user/group/components/Member.vue deleted file mode 100644 index df3c256184..0000000000 --- a/frontend/src/user/group/components/Member.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - diff --git a/frontend/src/user/group/components/NameList.vue b/frontend/src/user/group/components/NameList.vue deleted file mode 100644 index fb6d5a04bd..0000000000 --- a/frontend/src/user/group/components/NameList.vue +++ /dev/null @@ -1,25 +0,0 @@ - - - diff --git a/frontend/src/user/group/components/Notice.vue b/frontend/src/user/group/components/Notice.vue deleted file mode 100644 index 9a306e31f5..0000000000 --- a/frontend/src/user/group/components/Notice.vue +++ /dev/null @@ -1,50 +0,0 @@ - - - diff --git a/frontend/src/user/group/components/Problem.vue b/frontend/src/user/group/components/Problem.vue deleted file mode 100644 index fc6647b0af..0000000000 --- a/frontend/src/user/group/components/Problem.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - diff --git a/frontend/src/user/group/components/Profile.vue b/frontend/src/user/group/components/Profile.vue deleted file mode 100644 index ae661382df..0000000000 --- a/frontend/src/user/group/components/Profile.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - diff --git a/frontend/src/user/group/components/Workbook.vue b/frontend/src/user/group/components/Workbook.vue deleted file mode 100644 index cc079a9fbc..0000000000 --- a/frontend/src/user/group/components/Workbook.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - diff --git a/frontend/src/user/group/pages/[id].vue b/frontend/src/user/group/pages/[id].vue deleted file mode 100644 index 21b25965cd..0000000000 --- a/frontend/src/user/group/pages/[id].vue +++ /dev/null @@ -1,71 +0,0 @@ - - - diff --git a/frontend/src/user/group/pages/index.vue b/frontend/src/user/group/pages/index.vue deleted file mode 100644 index bfd7e2a73a..0000000000 --- a/frontend/src/user/group/pages/index.vue +++ /dev/null @@ -1,74 +0,0 @@ - - - diff --git a/frontend/src/user/home/components/Carousel.story.vue b/frontend/src/user/home/components/Carousel.story.vue deleted file mode 100644 index 4d1d4f5463..0000000000 --- a/frontend/src/user/home/components/Carousel.story.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - diff --git a/frontend/src/user/home/components/Carousel.vue b/frontend/src/user/home/components/Carousel.vue deleted file mode 100644 index 0ac4f772c2..0000000000 --- a/frontend/src/user/home/components/Carousel.vue +++ /dev/null @@ -1,110 +0,0 @@ - - - diff --git a/frontend/src/user/home/components/ContestItem.vue b/frontend/src/user/home/components/ContestItem.vue deleted file mode 100644 index 26d574e238..0000000000 --- a/frontend/src/user/home/components/ContestItem.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - diff --git a/frontend/src/user/home/pages/404.webp b/frontend/src/user/home/pages/404.webp deleted file mode 100644 index 18a97ec72e8a71b939adc9498ff3363cf5d4ce3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18624 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 XhKkxKM(nU8tk -import img from './404.webp' - - - diff --git a/frontend/src/user/home/pages/index.vue b/frontend/src/user/home/pages/index.vue deleted file mode 100644 index abdac64fb8..0000000000 --- a/frontend/src/user/home/pages/index.vue +++ /dev/null @@ -1,130 +0,0 @@ - - - - - -meta: - home: true - diff --git a/frontend/src/user/notice/composables/notice.ts b/frontend/src/user/notice/composables/notice.ts deleted file mode 100644 index 51331986b1..0000000000 --- a/frontend/src/user/notice/composables/notice.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { useDateFormat } from '@vueuse/core' -import axios from 'axios' -import { ref, markRaw, type Component } from 'vue' -import { useRouter } from 'vue-router' -import IconAngleDown from '~icons/fa6-solid/angle-down' -import IconAngleUp from '~icons/fa6-solid/angle-up' - -export interface Field { - key: string - width?: string - label?: string -} - -export interface NoticeItem { - icon?: Component - name?: 'prev' | 'next' - id: number - title: string - createTime?: string - updateTime?: string - content?: string - createdBy?: string -} - -export const useNotice = () => { - const notices = ref([]) - const getNoticeList = async (numberOfPages: number) => { - const res = await axios.get('/api/notice', { - params: - numberOfPages == 1 - ? { take: 10 } - : { take: 10, cursor: 10 * (numberOfPages - 1) } - }) - notices.value = res.data - notices.value.map((notice) => { - notice.createTime = useDateFormat(notice.createTime, 'YYYY-MM-DD').value - }) - } - // TODO: number of pages api로 받아오기 - const numberOfPages = 2 - const currentNotice = ref() - const previousNotice = ref() - const nextNotice = ref() - const adjacentNotices = ref([]) - - const router = useRouter() - - const goDetail = async ({ id }: NoticeItem) => { - await router.push({ - name: 'notice-id', - params: { id } - }) - } - - const getNotice = async (id: number) => { - const res = await axios.get('/api/notice/' + id) - - res.data.current.createTime = useDateFormat( - res.data.current.createTime, - 'YYYY-MM-DD' - ).value - res.data.current.updateTime = useDateFormat( - res.data.current.updateTime, - 'YYYY-MM-DD' - ).value - currentNotice.value = res.data.current - previousNotice.value = res.data.prev - nextNotice.value = res.data.next - adjacentNotices.value = [] - - if (previousNotice.value) { - previousNotice.value.icon = markRaw(IconAngleUp) - previousNotice.value.name = 'prev' - adjacentNotices.value.push(markRaw(previousNotice.value)) - } - if (nextNotice.value) { - nextNotice.value.icon = markRaw(IconAngleDown) - nextNotice.value.name = 'next' - adjacentNotices.value.push(markRaw(nextNotice.value)) - } - } - - return { - notices, - numberOfPages, - currentNotice, - adjacentNotices, - getNoticeList, - goDetail, - getNotice - } -} diff --git a/frontend/src/user/notice/pages/[id].vue b/frontend/src/user/notice/pages/[id].vue deleted file mode 100644 index d1009eb305..0000000000 --- a/frontend/src/user/notice/pages/[id].vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/frontend/src/user/notice/pages/index.vue b/frontend/src/user/notice/pages/index.vue deleted file mode 100644 index 939717a4a1..0000000000 --- a/frontend/src/user/notice/pages/index.vue +++ /dev/null @@ -1,37 +0,0 @@ - - - diff --git a/frontend/src/user/problem/components/Clarification.story.vue b/frontend/src/user/problem/components/Clarification.story.vue deleted file mode 100644 index a5e7e3305f..0000000000 --- a/frontend/src/user/problem/components/Clarification.story.vue +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/frontend/src/user/problem/components/Clarification.vue b/frontend/src/user/problem/components/Clarification.vue deleted file mode 100644 index 1df28cca95..0000000000 --- a/frontend/src/user/problem/components/Clarification.vue +++ /dev/null @@ -1,131 +0,0 @@ - - - diff --git a/frontend/src/user/problem/components/Header.vue b/frontend/src/user/problem/components/Header.vue deleted file mode 100644 index 6a84cd9240..0000000000 --- a/frontend/src/user/problem/components/Header.vue +++ /dev/null @@ -1,79 +0,0 @@ - - - diff --git a/frontend/src/user/problem/components/Navigator.vue b/frontend/src/user/problem/components/Navigator.vue deleted file mode 100644 index d390997b9c..0000000000 --- a/frontend/src/user/problem/components/Navigator.vue +++ /dev/null @@ -1,223 +0,0 @@ - - - diff --git a/frontend/src/user/problem/components/SubmissionDetail.vue b/frontend/src/user/problem/components/SubmissionDetail.vue deleted file mode 100644 index 2917f9c243..0000000000 --- a/frontend/src/user/problem/components/SubmissionDetail.vue +++ /dev/null @@ -1,159 +0,0 @@ - - - diff --git a/frontend/src/user/problem/components/SubmissionList.vue b/frontend/src/user/problem/components/SubmissionList.vue deleted file mode 100644 index bc93825035..0000000000 --- a/frontend/src/user/problem/components/SubmissionList.vue +++ /dev/null @@ -1,159 +0,0 @@ - - - diff --git a/frontend/src/user/problem/pages/[id].vue b/frontend/src/user/problem/pages/[id].vue deleted file mode 100644 index 6d7f363d2a..0000000000 --- a/frontend/src/user/problem/pages/[id].vue +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -meta: - layout: empty - diff --git a/frontend/src/user/problem/pages/[id]/index.vue b/frontend/src/user/problem/pages/[id]/index.vue deleted file mode 100644 index b043c4c7dc..0000000000 --- a/frontend/src/user/problem/pages/[id]/index.vue +++ /dev/null @@ -1,180 +0,0 @@ - - - diff --git a/frontend/src/user/problem/pages/[id]/standings.vue b/frontend/src/user/problem/pages/[id]/standings.vue deleted file mode 100644 index 9969900d54..0000000000 --- a/frontend/src/user/problem/pages/[id]/standings.vue +++ /dev/null @@ -1,3 +0,0 @@ - diff --git a/frontend/src/user/problem/pages/[id]/submissions.vue b/frontend/src/user/problem/pages/[id]/submissions.vue deleted file mode 100644 index a18540f6c8..0000000000 --- a/frontend/src/user/problem/pages/[id]/submissions.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - diff --git a/frontend/src/user/problem/pages/index.vue b/frontend/src/user/problem/pages/index.vue deleted file mode 100644 index 2221af70b8..0000000000 --- a/frontend/src/user/problem/pages/index.vue +++ /dev/null @@ -1,144 +0,0 @@ - - - - - -meta: - title: Problem - subtitle: Find problems with problem set and filters, and solve it! - diff --git a/frontend/src/user/problem/store/problem.ts b/frontend/src/user/problem/store/problem.ts deleted file mode 100644 index 36543b68c5..0000000000 --- a/frontend/src/user/problem/store/problem.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { defineStore } from 'pinia' -import { ref } from 'vue' -import type { Language } from '../types' - -export interface Problem { - id: string - title: string - description: string - inputDescription: string - outputDescription: string - hint: string - languages: Language[] - timeLimit: number - memoryLimit: number - difficulty: string - source: string - inputExamples: string[] - outputExamples: string[] -} - -type ProblemType = 'problem' | 'contest' | 'workbook' - -export const useProblemStore = defineStore('problem', () => { - const language = ref() - const code = ref('') - const type = ref() - const problem = ref({ - id: '', - title: '', - description: '', - inputDescription: '', - outputDescription: '', - hint: '', - languages: [], - timeLimit: 0, - memoryLimit: 0, - difficulty: '', - source: '', - inputExamples: [], - outputExamples: [] - }) - - const reset = () => { - code.value = '' - } - - return { - code, - language, - type, - problem, - reset - } -}) diff --git a/frontend/src/user/problem/types.ts b/frontend/src/user/problem/types.ts deleted file mode 100644 index 97f594a82e..0000000000 --- a/frontend/src/user/problem/types.ts +++ /dev/null @@ -1,2 +0,0 @@ -export type Language = 'C' | 'Cpp' | 'Java' | 'Python3' -export type Level = 'Level1' | 'Level2' | 'Level3' | 'Level4' | 'Level5' diff --git a/frontend/src/user/workbook/components/WorkbookTitle.vue b/frontend/src/user/workbook/components/WorkbookTitle.vue deleted file mode 100644 index 70b9b1e805..0000000000 --- a/frontend/src/user/workbook/components/WorkbookTitle.vue +++ /dev/null @@ -1,37 +0,0 @@ - - - diff --git a/frontend/src/user/workbook/composables/workbook.ts b/frontend/src/user/workbook/composables/workbook.ts deleted file mode 100644 index 75383a50ed..0000000000 --- a/frontend/src/user/workbook/composables/workbook.ts +++ /dev/null @@ -1,53 +0,0 @@ -import axios from 'axios' -import { ref } from 'vue' - -export interface Workbook { - id: number - title: string - description: string - updateTime: string - problems: { - id: string - title: string - tags: string[] - result: string - }[] -} - -export const useWorkbook = () => { - // TODO: workbookList에서 마지막 item 있는지 판별하기 - const containLastItem = ref(false) - const workbookList = ref([]) - const workbook = ref() - - const getWorkbooks = async () => { - const res = await axios.get('/api/workbook', { params: { take: 4 } }) - if (res.data.length < 4) containLastItem.value = true - workbookList.value = res.data - } - - const getMoreWorkbooks = async (take: number) => { - const res = await axios.get('/api/workbook', { - params: { - cursor: workbookList.value[workbookList.value.length - 1].id, - take - } - }) - if (res.data.length < take) containLastItem.value = true - workbookList.value.push(...res.data) - } - - const getWorkbook = async (id: number) => { - const res = await axios.get('/api/workbook/' + id) - workbook.value = res.data - } - - return { - containLastItem, - workbook, - workbookList, - getWorkbooks, - getMoreWorkbooks, - getWorkbook - } -} diff --git a/frontend/src/user/workbook/pages/[id].vue b/frontend/src/user/workbook/pages/[id].vue deleted file mode 100644 index f0163f9653..0000000000 --- a/frontend/src/user/workbook/pages/[id].vue +++ /dev/null @@ -1,76 +0,0 @@ - - - diff --git a/frontend/tailwind.config.ts b/frontend/tailwind.config.ts deleted file mode 100644 index f66c92a93a..0000000000 --- a/frontend/tailwind.config.ts +++ /dev/null @@ -1,89 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -import forms from '@tailwindcss/forms' -import typography from '@tailwindcss/typography' -import type { Config } from 'tailwindcss' -import colors from 'tailwindcss/colors' -import defaultTheme from 'tailwindcss/defaultTheme' - -export default { - content: ['./index.html', './src/**/*.{vue,js,ts,jsx,tsx}'], - theme: { - colors: { - white: colors.white, - black: colors.black, - transparent: colors.transparent, - current: colors.current, - default: '#212529', - yellow: '#f3ec53', - green: { - DEFAULT: '#8dc63f', - dark: '#2d4e00' - }, - gray: { - light: '#f1f3f6', - DEFAULT: '#cdcdcd', - dark: '#7c7a7b' - }, - blue: { - DEFAULT: '#2279fd', - dark: '#002d71' - }, - red: '#ff6663', - text: { - title: '#7c7a7b', - subtitle: '#173747', - DEFAULT: '#212529' - }, - slate: { - 50: '#eceff0', - 100: '#dadfe2', - 200: '#b5bfc4', - 300: '#8f9fa7', - 400: '#6a7f89', - 500: '#455f6c', - 600: '#2e4b59', - 700: '#173747', // Basis (Problem.vue) - 800: '#122c39', - 900: '#0e212b' - }, - level: { - 1: '#CC99C9', - 2: '#9EC1CF', - 3: '#A1F2C2', - 4: '#B8FF81', - 5: '#F3EC53', - 6: '#FEB144', - 7: '#FF6663' - } - }, - extend: { - fontFamily: { - sans: ['Manrope', 'Noto Sans KR', ...defaultTheme.fontFamily.sans], - mono: ['JetBrains Mono', ...defaultTheme.fontFamily.mono] - }, - spacing: { - page: '156px', - 'page-sm': '80px' - }, - typography: { - DEFAULT: { - css: { - 'code::before': { - content: '' - }, - 'code::after': { - content: '' - }, - 'blockquote p:last-of-type::after': { - content: '' - }, - 'blockquote p:first-of-type::before': { - content: '' - } - } - } - } - } - }, - plugins: [forms, typography] -} satisfies Config diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json deleted file mode 100644 index 3bb6ea9886..0000000000 --- a/frontend/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "compilerOptions": { - // Replace moduleResolution "bundler" with "node" - // since some libraries don't support it yet (have to explicilty export types) - "moduleResolution": "node", - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - }, - - "references": [ - { - "path": "./tsconfig.node.json" - } - ] -} diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json deleted file mode 100644 index 739951fd68..0000000000 --- a/frontend/tsconfig.node.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "include": ["vite.config.ts"], - "compilerOptions": { - "composite": true, - "skipLibCheck": true, - "module": "ESNext", - "moduleResolution": "Bundler" - } -} diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts deleted file mode 100644 index 4e16ebafdc..0000000000 --- a/frontend/vite.config.ts +++ /dev/null @@ -1,56 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -import vue from '@vitejs/plugin-vue' -import icons from 'unplugin-icons/vite' -import { fileURLToPath, URL } from 'url' -import { defineConfig } from 'vite' -import checker from 'vite-plugin-checker' -import pages from 'vite-plugin-pages' -import layouts from 'vite-plugin-vue-layouts' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - icons({ autoInstall: true }), - pages({ - pagesDir: [ - { dir: 'src/user/home/pages', baseRoute: '' }, - { dir: 'src/user/notice/pages', baseRoute: 'notice' }, - { dir: 'src/user/problem/pages', baseRoute: 'problem' }, - { dir: 'src/user/contest/pages', baseRoute: 'contest' }, - { dir: 'src/user/group/pages', baseRoute: 'group' }, - { dir: 'src/user/workbook/pages', baseRoute: 'workbook' }, - { dir: 'src/admin/pages', baseRoute: 'admin' } - ] - }), - layouts({ - layoutsDirs: 'src/common/layouts' - }), - checker({ - eslint: { lintCommand: 'eslint "./src/**/*.{ts,vue}"' }, - vueTsc: true, - enableBuild: false - }) - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - }, - server: { - host: true, - proxy: { - '/api': { - target: 'https://dev.codedang.com', - changeOrigin: true - }, - '/graphql': { - target: 'https://dev.codedang.com', - changeOrigin: true - } - } - }, - optimizeDeps: { - exclude: ['@codemirror/state'] - } -}) diff --git a/knip.ts b/knip.ts index 34166f7fe0..4b34c9d789 100644 --- a/knip.ts +++ b/knip.ts @@ -6,7 +6,7 @@ const config: KnipConfig = { '.': { entry: ['scripts/*.ts'] }, - backend: { + 'apps/backend': { entry: [ 'apps/{admin,client}/**/{main.ts,app.module.ts}', 'prisma/seed.ts' @@ -34,41 +34,7 @@ const config: KnipConfig = { entry: ['{apps,libs}/**/*.spec.ts'] } }, - frontend: { - entry: [ - 'src/main.ts', - 'src/common/layouts/*.vue', - 'src/user/home/pages/**/*.vue', - 'src/user/notice/pages/**/*.vue', - 'src/user/problem/pages/**/*.vue', - 'src/user/contest/pages/**/*.vue', - 'src/user/group/pages/**/*.vue', - 'src/user/workbook/pages/**/*.vue', - 'src/admin/pages/**/*.vue', - 'histoire.config.ts', - 'src/histoire.setup.ts' - ], - project: ['**/*.{vue,ts}'], - ignore: ['**/*.story.vue'], - ignoreDependencies: [ - 'virtual:generated-layouts', - 'virtual:generated-pages', - '@iconify-json/ant-design', - '@iconify-json/bi', - '@iconify-json/fa', - '@iconify-json/fa6-brands', - '@iconify-json/fa6-regular', - '@iconify-json/fa6-solid', - '@iconify-json/fluent', - '@iconify-json/iconoir', - '@iconify-json/material-symbols', - '@iconify-json/ri' - ], // TODO: handle icon packages - paths: { - '@/*': ['src/*'] - } - }, - 'frontend-client': { + 'apps/frontend': { ignoreDependencies: [ 'eslint-config-next', // used by ESLint 'sharp' // used by next/image @@ -85,15 +51,6 @@ const config: KnipConfig = { ignoreExportsUsedInFile: { interface: true, type: true - }, - compilers: { - vue: (text) => { - const vueCompiler = /]*>([\s\S]*?)<\/script>/gm - const scripts: string[] = [] - let match - while ((match = vueCompiler.exec(text))) scripts.push(match[1]) - return scripts.join(';') - } } } diff --git a/lefthook.yml b/lefthook.yml index deef7a4de6..9d0fb67ae3 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -2,10 +2,10 @@ pre-commit: parallel: true commands: eslint: - glob: '*.{js,ts,vue,jsx,tsx}' + glob: '*.{js,ts,jsx,tsx}' run: pnpm eslint {staged_files} prettier: - glob: '*.{js,ts,vue,css,yaml,yml,jsx,tsx}' + glob: '*.{js,ts,css,yaml,yml,jsx,tsx}' run: pnpm prettier --check {staged_files} gofmt: glob: '*.go' diff --git a/package.json b/package.json index 91cd57de7a..b6143ac41e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "codedang", "scripts": { - "lint": "eslint . --ext .js,.ts,.vue,.tsx,.jsx", + "lint": "eslint . --ext .js,.ts,.tsx,.jsx", "format": "prettier --write .", "format:check": "prettier --check .", "init:testcases": "ts-node scripts/init-testcase.ts", @@ -24,8 +24,7 @@ "prettier": "^3.2.5", "prettier-plugin-tailwindcss": "^0.5.11", "ts-node": "^10.9.2", - "typescript": "^5.3.3", - "vue-eslint-parser": "^9.4.2" + "typescript": "^5.3.3" }, "packageManager": "pnpm@8.15.4" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 37e88bf515..400888044e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,11 +59,8 @@ importers: typescript: specifier: ^5.3.3 version: 5.3.3 - vue-eslint-parser: - specifier: ^9.4.2 - version: 9.4.2(eslint@8.57.0) - backend: + apps/backend: dependencies: '@apollo/server': specifier: ^4.10.0 @@ -283,197 +280,7 @@ importers: specifier: ^5.3.3 version: 5.3.3 - frontend: - dependencies: - '@apollo/client': - specifier: ^3.9.5 - version: 3.9.5(@types/react@18.2.63)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0) - '@codemirror/autocomplete': - specifier: ^6.13.0 - version: 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) - '@codemirror/commands': - specifier: ^6.3.3 - version: 6.3.3 - '@codemirror/lang-cpp': - specifier: ^6.0.2 - version: 6.0.2 - '@codemirror/lang-java': - specifier: ^6.0.1 - version: 6.0.1 - '@codemirror/lang-python': - specifier: ^6.1.4 - version: 6.1.4(@codemirror/view@6.25.0) - '@codemirror/language': - specifier: ^6.10.1 - version: 6.10.1 - '@codemirror/state': - specifier: ^6.4.1 - version: 6.4.1 - '@codemirror/theme-one-dark': - specifier: ^6.1.2 - version: 6.1.2 - '@codemirror/view': - specifier: ^6.25.0 - version: 6.25.0 - '@tiptap/pm': - specifier: ^2.2.4 - version: 2.2.4 - '@tiptap/starter-kit': - specifier: ^2.2.4 - version: 2.2.4(@tiptap/pm@2.2.4) - '@tiptap/vue-3': - specifier: ^2.2.4 - version: 2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4)(vue@3.4.21) - '@vee-validate/zod': - specifier: ^4.12.5 - version: 4.12.5(vue@3.4.21) - '@vue/apollo-composable': - specifier: 4.0.1 - version: 4.0.1(@apollo/client@3.9.5)(graphql@16.8.1)(typescript@5.3.3)(vue@3.4.21) - '@vueuse/components': - specifier: ^10.9.0 - version: 10.9.0(vue@3.4.21) - '@vueuse/core': - specifier: ^10.9.0 - version: 10.9.0(vue@3.4.21) - '@vueuse/integrations': - specifier: ^10.9.0 - version: 10.9.0(axios@1.6.7)(nprogress@0.2.0)(sortablejs@1.15.2)(vue@3.4.21) - '@vueuse/math': - specifier: ^10.9.0 - version: 10.9.0(vue@3.4.21) - '@vueuse/router': - specifier: ^10.9.0 - version: 10.9.0(vue-router@4.3.0)(vue@3.4.21) - axios: - specifier: ^1.6.7 - version: 1.6.7 - axios-retry: - specifier: ^4.0.0 - version: 4.0.0(axios@1.6.7) - graphql: - specifier: ^16.8.1 - version: 16.8.1 - graphql-tag: - specifier: ^2.12.6 - version: 2.12.6(graphql@16.8.1) - naive-ui: - specifier: ^2.38.1 - version: 2.38.1(vue@3.4.21) - nprogress: - specifier: 0.2.0 - version: 0.2.0 - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.3.3)(vue@3.4.21) - sortablejs: - specifier: ^1.15.2 - version: 1.15.2 - vee-validate: - specifier: ^4.12.5 - version: 4.12.5(vue@3.4.21) - vue: - specifier: ^3.4.21 - version: 3.4.21(typescript@5.3.3) - vue-dompurify-html: - specifier: ^5.0.1 - version: 5.0.1(vue@3.4.21) - vue-query: - specifier: ^1.26.0 - version: 1.26.0(react@18.2.0)(vue@3.4.21) - vue-router: - specifier: ^4.3.0 - version: 4.3.0(vue@3.4.21) - zod: - specifier: ^3.22.4 - version: 3.22.4 - devDependencies: - '@histoire/plugin-vue': - specifier: ^0.17.12 - version: 0.17.12(histoire@0.17.9)(vite@5.1.5)(vue@3.4.21) - '@iconify-json/ant-design': - specifier: ^1.1.15 - version: 1.1.15 - '@iconify-json/bi': - specifier: ^1.1.23 - version: 1.1.23 - '@iconify-json/fa': - specifier: ^1.1.8 - version: 1.1.8 - '@iconify-json/fa6-brands': - specifier: ^1.1.18 - version: 1.1.18 - '@iconify-json/fa6-regular': - specifier: ^1.1.18 - version: 1.1.18 - '@iconify-json/fa6-solid': - specifier: ^1.1.20 - version: 1.1.20 - '@iconify-json/fluent': - specifier: ^1.1.49 - version: 1.1.49 - '@iconify-json/iconoir': - specifier: ^1.1.42 - version: 1.1.42 - '@iconify-json/material-symbols': - specifier: ^1.1.74 - version: 1.1.74 - '@iconify-json/ri': - specifier: ^1.1.20 - version: 1.1.20 - '@tailwindcss/forms': - specifier: ^0.5.7 - version: 0.5.7(tailwindcss@3.4.1) - '@tailwindcss/typography': - specifier: ^0.5.10 - version: 0.5.10(tailwindcss@3.4.1) - '@types/node': - specifier: ^20.11.24 - version: 20.11.24 - '@types/nprogress': - specifier: ^0.2.3 - version: 0.2.3 - '@vitejs/plugin-vue': - specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) - '@vue/tsconfig': - specifier: ^0.5.1 - version: 0.5.1 - autoprefixer: - specifier: ^10.4.18 - version: 10.4.18(postcss@8.4.35) - histoire: - specifier: ^0.17.9 - version: 0.17.9(@types/node@20.11.24)(vite@5.1.5) - postcss: - specifier: ^8.4.35 - version: 8.4.35 - tailwindcss: - specifier: ^3.4.1 - version: 3.4.1(ts-node@10.9.2) - typescript: - specifier: ^5.3.3 - version: 5.3.3 - unplugin-icons: - specifier: ^0.18.5 - version: 0.18.5 - vite: - specifier: ^5.1.5 - version: 5.1.5(@types/node@20.11.24) - vite-plugin-checker: - specifier: ^0.6.4 - version: 0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.5)(vue-tsc@1.8.27) - vite-plugin-pages: - specifier: ^0.32.0 - version: 0.32.0(vite@5.1.5) - vite-plugin-vue-layouts: - specifier: ^0.11.0 - version: 0.11.0(vite@5.1.5)(vue-router@4.3.0)(vue@3.4.21) - vue-tsc: - specifier: ^1.8.27 - version: 1.8.27(typescript@5.3.3) - - frontend-client: + apps/frontend: dependencies: '@apollo/client': specifier: ^3.9.5 @@ -507,7 +314,7 @@ importers: version: 3.1.3(katex@0.16.9)(react@18.2.0) '@monaco-editor/react': specifier: ^4.6.0 - version: 4.6.0(monaco-editor@0.45.0)(react-dom@18.2.0)(react@18.2.0) + version: 4.6.0(monaco-editor@0.46.0)(react-dom@18.2.0)(react@18.2.0) '@next/bundle-analyzer': specifier: ^14.1.2 version: 14.1.2 @@ -591,13 +398,13 @@ importers: version: 2.2.4(@tiptap/pm@2.2.4) '@uiw/codemirror-extensions-langs': specifier: ^4.21.24 - version: 4.21.24(@codemirror/autocomplete@6.13.0)(@codemirror/language-data@6.4.0)(@codemirror/language@6.10.1)(@codemirror/legacy-modes@6.3.3)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.4.0) + version: 4.21.24(@codemirror/autocomplete@6.12.0)(@codemirror/language-data@6.4.1)(@codemirror/language@6.10.1)(@codemirror/legacy-modes@6.3.3)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.4.0) '@uiw/codemirror-themes': specifier: ^4.21.24 version: 4.21.24(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0) '@uiw/react-codemirror': specifier: ^4.21.24 - version: 4.21.24(@babel/runtime@7.23.9)(@codemirror/autocomplete@6.13.0)(@codemirror/language@6.10.1)(@codemirror/lint@6.5.0)(@codemirror/search@6.5.5)(@codemirror/state@6.4.1)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.25.0)(codemirror@6.0.1)(react-dom@18.2.0)(react@18.2.0) + version: 4.21.24(@babel/runtime@7.23.9)(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.1)(@codemirror/lint@6.5.0)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.25.0)(codemirror@6.0.1)(react-dom@18.2.0)(react@18.2.0) apollo-upload-client: specifier: ^18.0.1 version: 18.0.1(@apollo/client@3.9.5)(graphql@16.8.1) @@ -753,11 +560,6 @@ packages: - supports-color dev: false - /@akryum/tinypool@0.3.1: - resolution: {integrity: sha512-nznEC1ZA/m3hQDEnrGQ4c5gkaa9pcaVnw4LFJyzBAaR7E3nfiAPEHS3otnSafpZouVnoKeITl5D+2LsnwlnK8g==} - engines: {node: '>=14.0.0'} - dev: true - /@alloc/quick-lru@5.2.0: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -815,23 +617,6 @@ packages: - chokidar dev: true - /@antfu/install-pkg@0.1.1: - resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} - dependencies: - execa: 5.1.1 - find-up: 5.0.0 - dev: true - - /@antfu/install-pkg@0.3.1: - resolution: {integrity: sha512-A3zWY9VeTPnxlMiZtsGHw2lSd3ghwvL8s9RiGOtqvDxhhFfZ781ynsGBa/iUnDJ5zBrmTFQrJDud3TGgRISaxw==} - dependencies: - execa: 8.0.1 - dev: true - - /@antfu/utils@0.7.7: - resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} - dev: true - /@apollo/cache-control-types@1.0.3(graphql@16.8.1): resolution: {integrity: sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g==} peerDependencies: @@ -1076,7 +861,7 @@ packages: '@babel/generator': 7.23.6 '@babel/parser': 7.23.9 '@babel/runtime': 7.23.9 - '@babel/traverse': 7.23.9 + '@babel/traverse': 7.23.2 '@babel/types': 7.23.9 babel-preset-fbjs: 3.4.0(@babel/core@7.23.9) chalk: 4.1.2 @@ -2312,8 +2097,8 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@codemirror/autocomplete@6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1): - resolution: {integrity: sha512-SuDrho1klTINfbcMPnyro1ZxU9xJtwDMtb62R8TjL/tOl71IoOsvBo1a9x+hDvHhIzkTcJHy2VC+rmpGgYkRSw==} + /@codemirror/autocomplete@6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1): + resolution: {integrity: sha512-r4IjdYFthwbCQyvqnSlx0WBHRHi8nBvU+WjJxFUij81qsBfhNudf/XKKmmC2j3m0LaOYUQTf3qiEK1J8lO1sdg==} peerDependencies: '@codemirror/language': ^6.0.0 '@codemirror/state': ^6.0.0 @@ -2333,12 +2118,13 @@ packages: '@codemirror/state': 6.4.1 '@codemirror/view': 6.25.0 '@lezer/common': 1.2.1 + dev: false /@codemirror/lang-angular@0.1.3: resolution: {integrity: sha512-xgeWGJQQl1LyStvndWtruUvb4SnBZDAu/gvFH/ZU+c0W25tQR8e5hq7WTwiIY2dNxnf+49mRiGI/9yxIwB6f5w==} dependencies: '@codemirror/lang-html': 6.4.8 - '@codemirror/lang-javascript': 6.2.1 + '@codemirror/lang-javascript': 6.2.2 '@codemirror/language': 6.10.1 '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 @@ -2355,11 +2141,11 @@ packages: /@codemirror/lang-css@6.2.1(@codemirror/view@6.25.0): resolution: {integrity: sha512-/UNWDNV5Viwi/1lpr/dIXJNWiwDxpw13I4pTUAsNxZdg6E0mI2kTQb0P2iHczg1Tu+H4EBgJR+hYhKiHKko7qg==} dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.1 '@lezer/common': 1.2.1 - '@lezer/css': 1.1.7 + '@lezer/css': 1.1.8 transitivePeerDependencies: - '@codemirror/view' dev: false @@ -2367,15 +2153,15 @@ packages: /@codemirror/lang-html@6.4.8: resolution: {integrity: sha512-tE2YK7wDlb9ZpAH6mpTPiYm6rhfdQKVDa5r9IwIFlwwgvVaKsCfuKKZoJGWsmMZIf3FQAuJ5CHMPLymOtg1hXw==} dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/lang-css': 6.2.1(@codemirror/view@6.25.0) - '@codemirror/lang-javascript': 6.2.1 + '@codemirror/lang-javascript': 6.2.2 '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.1 '@codemirror/view': 6.25.0 '@lezer/common': 1.2.1 - '@lezer/css': 1.1.7 - '@lezer/html': 1.3.8 + '@lezer/css': 1.1.8 + '@lezer/html': 1.3.9 dev: false /@codemirror/lang-java@6.0.1: @@ -2385,10 +2171,10 @@ packages: '@lezer/java': 1.1.1 dev: false - /@codemirror/lang-javascript@6.2.1: - resolution: {integrity: sha512-jlFOXTejVyiQCW3EQwvKH0m99bUYIw40oPmFjSX2VS78yzfe0HELZ+NEo9Yfo1MkGRpGlj3Gnu4rdxV1EnAs5A==} + /@codemirror/lang-javascript@6.2.2: + resolution: {integrity: sha512-VGQfY+FCc285AhWuwjYxQyUQcYurWlxdKYT4bqwr3Twnd5wP5WSeu52t4tvvuWmljT4EmgEgZCqSieokhtY8hg==} dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/language': 6.10.1 '@codemirror/lint': 6.5.0 '@codemirror/state': 6.4.1 @@ -2402,6 +2188,7 @@ packages: dependencies: '@codemirror/language': 6.10.1 '@lezer/json': 1.0.2 + dev: false /@codemirror/lang-less@6.0.2(@codemirror/view@6.25.0): resolution: {integrity: sha512-EYdQTG22V+KUUk8Qq582g7FMnCZeEHsyuOJisHRft/mQ+ZSZ2w51NupvDUHiqtsOy7It5cHLPGfHQLpMh9bqpQ==} @@ -2427,7 +2214,7 @@ packages: /@codemirror/lang-liquid@6.2.1: resolution: {integrity: sha512-J1Mratcm6JLNEiX+U2OlCDTysGuwbHD76XwuL5o5bo9soJtSbz2g6RU3vGHFyS5DC8rgVmFSzi7i6oBftm7tnA==} dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/lang-html': 6.4.8 '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.1 @@ -2440,7 +2227,7 @@ packages: /@codemirror/lang-markdown@6.2.4: resolution: {integrity: sha512-UghkA1vSMs8bT7RSZM6vsIocigyah2bV00eRQuZy76401UmFZdsTsbQNBGdyxRQDOLeEvF5iFwap0BM8LKyd+g==} dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/lang-html': 6.4.8 '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.1 @@ -2462,7 +2249,7 @@ packages: /@codemirror/lang-python@6.1.4(@codemirror/view@6.25.0): resolution: {integrity: sha512-b6d1TDqrkCjFNvMO01SWldFiDoZ39yl3tDMC1Y5f8glA2eZpynPxJhwYVTlGFr0stizcJgrp6ojLEGH2myoZAw==} dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.1 '@lezer/common': 1.2.1 @@ -2493,7 +2280,7 @@ packages: /@codemirror/lang-sql@6.5.5(@codemirror/view@6.25.0): resolution: {integrity: sha512-DvOaP2RXLb2xlxJxxydTFfwyYw5YDqEFea6aAfgh9UH0kUD6J1KFZ0xPgPpw1eo/5s2w3L6uh5PVR7GM23GxkQ==} dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.1 '@lezer/common': 1.2.1 @@ -2507,7 +2294,7 @@ packages: resolution: {integrity: sha512-QSKdtYTDRhEHCfo5zOShzxCmqKJvgGrZwDQSdbvCRJ5pRLWBS7pD/8e/tH44aVQT6FKm0t6RVNoSUWHOI5vNug==} dependencies: '@codemirror/lang-html': 6.4.8 - '@codemirror/lang-javascript': 6.2.1 + '@codemirror/lang-javascript': 6.2.2 '@codemirror/language': 6.10.1 '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 @@ -2526,7 +2313,7 @@ packages: /@codemirror/lang-xml@6.0.2(@codemirror/view@6.25.0): resolution: {integrity: sha512-JQYZjHL2LAfpiZI2/qZ/qzDuSqmGKMwyApYmEUUCTxLM4MWS7sATUEfIguZQr9Zjx/7gcdnewb039smF6nC2zw==} dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.1 '@lezer/common': 1.2.1 @@ -2538,7 +2325,7 @@ packages: /@codemirror/lang-yaml@6.0.0(@codemirror/view@6.25.0): resolution: {integrity: sha512-fVPapdX1oYr5HMC5bou1MHscGnNCvOHuhUW6C+V2gfIeIRcughvVfznV0OuUyHy0AdXoBCjOehjzFcmLRumu2Q==} dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.1 '@lezer/common': 1.2.1 @@ -2547,15 +2334,15 @@ packages: - '@codemirror/view' dev: false - /@codemirror/language-data@6.4.0(@codemirror/view@6.25.0): - resolution: {integrity: sha512-Wvup3FunHdkL782SUaA35e/cBKa/KEHKxRsrZtvcqTWDgULhrq5K44SnC5r4xYhBLuuxk9NLCAJU3desf+/2qQ==} + /@codemirror/language-data@6.4.1(@codemirror/view@6.25.0): + resolution: {integrity: sha512-NYhC3NvEMwUxSWS1sB5AePUtr5g2ASSYOZ37YixicDG8PWHslDV9mmXIX0KvmtEm50V8FT4F5i4HAsk/7i78LA==} dependencies: '@codemirror/lang-angular': 0.1.3 '@codemirror/lang-cpp': 6.0.2 '@codemirror/lang-css': 6.2.1(@codemirror/view@6.25.0) '@codemirror/lang-html': 6.4.8 '@codemirror/lang-java': 6.0.1 - '@codemirror/lang-javascript': 6.2.1 + '@codemirror/lang-javascript': 6.2.2 '@codemirror/lang-json': 6.0.1 '@codemirror/lang-less': 6.0.2(@codemirror/view@6.25.0) '@codemirror/lang-liquid': 6.2.1 @@ -2597,9 +2384,10 @@ packages: '@codemirror/state': 6.4.1 '@codemirror/view': 6.25.0 crelt: 1.0.6 + dev: false - /@codemirror/search@6.5.5: - resolution: {integrity: sha512-PIEN3Ke1buPod2EHbJsoQwlbpkz30qGZKcnmH1eihq9+bPQx8gelauUwLYaY4vBOuBAuEhmpDLii4rj/uO0yMA==} + /@codemirror/search@6.5.6: + resolution: {integrity: sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==} dependencies: '@codemirror/state': 6.4.1 '@codemirror/view': 6.25.0 @@ -2616,6 +2404,7 @@ packages: '@codemirror/state': 6.4.1 '@codemirror/view': 6.25.0 '@lezer/highlight': 1.2.0 + dev: false /@codemirror/view@6.25.0: resolution: {integrity: sha512-XnMGOm6qXB8znzCko0N7k97qZayVdvqpA0JebxA5fHtgBjC/XlCPhH9TK92TahsoCKMPQlaTCUep06Dwj/+GXQ==} @@ -2888,22 +2677,6 @@ packages: '@css-inline/css-inline-win32-x64-msvc': 0.13.0 dev: false - /@css-render/plugin-bem@0.15.12(css-render@0.15.12): - resolution: {integrity: sha512-Lq2jSOZn+wYQtsyaFj6QRz2EzAnd3iW5fZeHO1WSXQdVYwvwGX0ZiH3X2JQgtgYLT1yeGtrwrqJdNdMEUD2xTw==} - peerDependencies: - css-render: ~0.15.12 - dependencies: - css-render: 0.15.12 - dev: false - - /@css-render/vue3-ssr@0.15.12(vue@3.4.21): - resolution: {integrity: sha512-AQLGhhaE0F+rwybRCkKUdzBdTEM/5PZBYy+fSYe1T9z9+yxMuV/k7ZRqa4M69X+EI1W8pa4kc9Iq2VjQkZx4rg==} - peerDependencies: - vue: ^3.0.11 - dependencies: - vue: 3.4.21(typescript@5.3.3) - dev: false - /@discoveryjs/json-ext@0.5.7: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} @@ -2917,10 +2690,6 @@ packages: dev: false optional: true - /@emotion/hash@0.8.0: - resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} - dev: false - /@emotion/is-prop-valid@0.8.8: resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} requiresBuild: true @@ -2960,213 +2729,6 @@ packages: unescape-js: 1.1.4 dev: true - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3238,8 +2800,8 @@ packages: '@floating-ui/utils': 0.2.1 dev: false - /@floating-ui/dom@1.6.1: - resolution: {integrity: sha512-iA8qE43/H5iGozC3W0YSnVSW42Vh522yyM1gj+BqRwVsTNOyr231PsXDaV04yT39PsO0QL2QpbI/M0ZaLUQgRQ==} + /@floating-ui/dom@1.6.3: + resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==} dependencies: '@floating-ui/core': 1.6.0 '@floating-ui/utils': 0.2.1 @@ -3251,7 +2813,7 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.6.1 + '@floating-ui/dom': 1.6.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -3340,16 +2902,16 @@ packages: '@graphql-codegen/client-preset': 4.2.4(graphql@16.8.1) '@graphql-codegen/core': 4.0.2(graphql@16.8.1) '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) - '@graphql-tools/apollo-engine-loader': 8.0.0(graphql@16.8.1) - '@graphql-tools/code-file-loader': 8.1.0(graphql@16.8.1) - '@graphql-tools/git-loader': 8.0.4(graphql@16.8.1) - '@graphql-tools/github-loader': 8.0.0(@types/node@20.11.24)(graphql@16.8.1) - '@graphql-tools/graphql-file-loader': 8.0.0(graphql@16.8.1) - '@graphql-tools/json-file-loader': 8.0.0(graphql@16.8.1) - '@graphql-tools/load': 8.0.1(graphql@16.8.1) - '@graphql-tools/prisma-loader': 8.0.2(@types/node@20.11.24)(graphql@16.8.1) - '@graphql-tools/url-loader': 8.0.1(@types/node@20.11.24)(graphql@16.8.1) - '@graphql-tools/utils': 10.0.8(graphql@16.8.1) + '@graphql-tools/apollo-engine-loader': 8.0.1(graphql@16.8.1) + '@graphql-tools/code-file-loader': 8.1.1(graphql@16.8.1) + '@graphql-tools/git-loader': 8.0.5(graphql@16.8.1) + '@graphql-tools/github-loader': 8.0.1(@types/node@20.11.24)(graphql@16.8.1) + '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.8.1) + '@graphql-tools/json-file-loader': 8.0.1(graphql@16.8.1) + '@graphql-tools/load': 8.0.2(graphql@16.8.1) + '@graphql-tools/prisma-loader': 8.0.3(@types/node@20.11.24)(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.11.24)(graphql@16.8.1) + '@graphql-tools/utils': 10.0.13(graphql@16.8.1) '@whatwg-node/fetch': 0.8.8 chalk: 4.1.2 cosmiconfig: 8.3.6(typescript@5.3.3) @@ -3513,7 +3075,7 @@ packages: dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-tools/optimize': 2.0.0(graphql@16.8.1) - '@graphql-tools/relay-operation-optimizer': 7.0.0(graphql@16.8.1) + '@graphql-tools/relay-operation-optimizer': 7.0.1(graphql@16.8.1) '@graphql-tools/utils': 10.0.13(graphql@16.8.1) auto-bind: 4.0.0 change-case-all: 1.0.15 @@ -3527,8 +3089,8 @@ packages: - supports-color dev: true - /@graphql-tools/apollo-engine-loader@8.0.0(graphql@16.8.1): - resolution: {integrity: sha512-axQTbN5+Yxs1rJ6cWQBOfw3AEeC+fvIuZSfJLPLLvFJLj4pUm9fhxey/g6oQZAAQJqKPfw+tLDUQvnfvRK8Kmg==} + /@graphql-tools/apollo-engine-loader@8.0.1(graphql@16.8.1): + resolution: {integrity: sha512-NaPeVjtrfbPXcl+MLQCJLWtqe2/E4bbAqcauEOQ+3sizw1Fc2CNmhHRF8a6W4D0ekvTRRXAMptXYgA2uConbrA==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -3542,8 +3104,8 @@ packages: - encoding dev: true - /@graphql-tools/batch-execute@9.0.2(graphql@16.8.1): - resolution: {integrity: sha512-Y2uwdZI6ZnatopD/SYfZ1eGuQFI7OU2KGZ2/B/7G9ISmgMl5K+ZZWz/PfIEXeiHirIDhyk54s4uka5rj2xwKqQ==} + /@graphql-tools/batch-execute@9.0.4(graphql@16.8.1): + resolution: {integrity: sha512-kkebDLXgDrep5Y0gK1RN3DMUlLqNhg60OAz0lTCqrYeja6DshxLtLkj+zV4mVbBA4mQOEoBmw6g1LZs3dA84/w==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -3555,13 +3117,13 @@ packages: value-or-promise: 1.0.12 dev: true - /@graphql-tools/code-file-loader@8.1.0(graphql@16.8.1): - resolution: {integrity: sha512-HKWW/B2z15ves8N9+xnVbGmFEVGyHEK80a4ghrjeTa6nwNZaKDVfq5CoYFfF0xpfjtH6gOVUExo2XCOEz4B8mQ==} + /@graphql-tools/code-file-loader@8.1.1(graphql@16.8.1): + resolution: {integrity: sha512-q4KN25EPSUztc8rA8YUU3ufh721Yk12xXDbtUA+YstczWS7a1RJlghYMFEfR1HsHSYbF7cUqkbnTKSGM3o52bQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 8.2.0(graphql@16.8.1) + '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) '@graphql-tools/utils': 10.0.13(graphql@16.8.1) globby: 11.1.0 graphql: 16.8.1 @@ -3571,15 +3133,15 @@ packages: - supports-color dev: true - /@graphql-tools/delegate@10.0.3(graphql@16.8.1): - resolution: {integrity: sha512-Jor9oazZ07zuWkykD3OOhT/2XD74Zm6Ar0ENZMk75MDD51wB2UWUIMljtHxbJhV5A6UBC2v8x6iY0xdCGiIlyw==} + /@graphql-tools/delegate@10.0.4(graphql@16.8.1): + resolution: {integrity: sha512-WswZRbQZMh/ebhc8zSomK9DIh6Pd5KbuiMsyiKkKz37TWTrlCOe+4C/fyrBFez30ksq6oFyCeSKMwfrCbeGo0Q==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/batch-execute': 9.0.2(graphql@16.8.1) - '@graphql-tools/executor': 1.2.0(graphql@16.8.1) - '@graphql-tools/schema': 10.0.2(graphql@16.8.1) + '@graphql-tools/batch-execute': 9.0.4(graphql@16.8.1) + '@graphql-tools/executor': 1.2.1(graphql@16.8.1) + '@graphql-tools/schema': 10.0.3(graphql@16.8.1) '@graphql-tools/utils': 10.0.13(graphql@16.8.1) dataloader: 2.2.2 graphql: 16.8.1 @@ -3597,8 +3159,8 @@ packages: tslib: 2.6.2 dev: true - /@graphql-tools/executor-graphql-ws@1.1.0(graphql@16.8.1): - resolution: {integrity: sha512-yM67SzwE8rYRpm4z4AuGtABlOp9mXXVy6sxXnTJRoYIdZrmDbKVfIY+CpZUJCqS0FX3xf2+GoHlsj7Qswaxgcg==} + /@graphql-tools/executor-graphql-ws@1.1.2(graphql@16.8.1): + resolution: {integrity: sha512-+9ZK0rychTH1LUv4iZqJ4ESbmULJMTsv3XlFooPUngpxZkk00q6LqHKJRrsLErmQrVaC7cwQCaRBJa0teK17Lg==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -3615,8 +3177,8 @@ packages: - utf-8-validate dev: true - /@graphql-tools/executor-http@1.0.7(@types/node@20.11.24)(graphql@16.8.1): - resolution: {integrity: sha512-/MoRYzQS50Tz5mxRfq3ZmeZ2SOins9wGZAGetsJ55F3PxL0PmHdSGlCq12KzffZDbwHV5YMlwigBsSGWq4y9Iw==} + /@graphql-tools/executor-http@1.0.9(@types/node@20.11.24)(graphql@16.8.1): + resolution: {integrity: sha512-+NXaZd2MWbbrWHqU4EhXcrDbogeiCDmEbrAN+rMn4Nu2okDjn2MTFDbTIab87oEubQCH4Te1wDkWPKrzXup7+Q==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -3633,8 +3195,8 @@ packages: - '@types/node' dev: true - /@graphql-tools/executor-legacy-ws@1.0.5(graphql@16.8.1): - resolution: {integrity: sha512-w54AZ7zkNuvpyV09FH+eGHnnAmaxhBVHg4Yh2ICcsMfRg0brkLt77PlbjBuxZ4HY8XZnKJaYWf+tKazQZtkQtg==} + /@graphql-tools/executor-legacy-ws@1.0.6(graphql@16.8.1): + resolution: {integrity: sha512-lDSxz9VyyquOrvSuCCnld3256Hmd+QI2lkmkEv7d4mdzkxkK4ddAWW1geQiWrQvWmdsmcnGGlZ7gDGbhEExwqg==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -3650,8 +3212,8 @@ packages: - utf-8-validate dev: true - /@graphql-tools/executor@1.2.0(graphql@16.8.1): - resolution: {integrity: sha512-SKlIcMA71Dha5JnEWlw4XxcaJ+YupuXg0QCZgl2TOLFz4SkGCwU/geAsJvUJFwK2RbVLpQv/UMq67lOaBuwDtg==} + /@graphql-tools/executor@1.2.1(graphql@16.8.1): + resolution: {integrity: sha512-BP5UI1etbNOXmTSt7q4NL1+zsURFgh2pG+Hyt9K/xO0LlsfbSx59L5dHLerqZP7Js0xI6GYqrUQ4m29rUwUHJg==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -3664,13 +3226,13 @@ packages: value-or-promise: 1.0.12 dev: true - /@graphql-tools/git-loader@8.0.4(graphql@16.8.1): - resolution: {integrity: sha512-fBmKtnOVqzMT2N8L6nggM4skPq3y2t0eBITZJXCOuxeIlIRAeCOdjNLPKgyGb0rezIyGsn55DKMua5101VN0Sg==} + /@graphql-tools/git-loader@8.0.5(graphql@16.8.1): + resolution: {integrity: sha512-P97/1mhruDiA6D5WUmx3n/aeGPLWj2+4dpzDOxFGGU+z9NcI/JdygMkeFpGZNHeJfw+kHfxgPcMPnxHcyhAoVA==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 8.2.0(graphql@16.8.1) + '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) '@graphql-tools/utils': 10.0.13(graphql@16.8.1) graphql: 16.8.1 is-glob: 4.0.3 @@ -3681,15 +3243,15 @@ packages: - supports-color dev: true - /@graphql-tools/github-loader@8.0.0(@types/node@20.11.24)(graphql@16.8.1): - resolution: {integrity: sha512-VuroArWKcG4yaOWzV0r19ElVIV6iH6UKDQn1MXemND0xu5TzrFme0kf3U9o0YwNo0kUYEk9CyFM0BYg4he17FA==} + /@graphql-tools/github-loader@8.0.1(@types/node@20.11.24)(graphql@16.8.1): + resolution: {integrity: sha512-W4dFLQJ5GtKGltvh/u1apWRFKBQOsDzFxO9cJkOYZj1VzHCpRF43uLST4VbCfWve+AwBqOuKr7YgkHoxpRMkcg==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/executor-http': 1.0.7(@types/node@20.11.24)(graphql@16.8.1) - '@graphql-tools/graphql-tag-pluck': 8.2.0(graphql@16.8.1) + '@graphql-tools/executor-http': 1.0.9(@types/node@20.11.24)(graphql@16.8.1) + '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) '@graphql-tools/utils': 10.0.13(graphql@16.8.1) '@whatwg-node/fetch': 0.9.16 graphql: 16.8.1 @@ -3701,13 +3263,13 @@ packages: - supports-color dev: true - /@graphql-tools/graphql-file-loader@8.0.0(graphql@16.8.1): - resolution: {integrity: sha512-wRXj9Z1IFL3+zJG1HWEY0S4TXal7+s1vVhbZva96MSp0kbb/3JBF7j0cnJ44Eq0ClccMgGCDFqPFXty4JlpaPg==} + /@graphql-tools/graphql-file-loader@8.0.1(graphql@16.8.1): + resolution: {integrity: sha512-7gswMqWBabTSmqbaNyWSmRRpStWlcCkBc73E6NZNlh4YNuiyKOwbvSkOUYFOqFMfEL+cFsXgAvr87Vz4XrYSbA==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/import': 7.0.0(graphql@16.8.1) + '@graphql-tools/import': 7.0.1(graphql@16.8.1) '@graphql-tools/utils': 10.0.13(graphql@16.8.1) globby: 11.1.0 graphql: 16.8.1 @@ -3715,8 +3277,8 @@ packages: unixify: 1.0.0 dev: true - /@graphql-tools/graphql-tag-pluck@8.2.0(graphql@16.8.1): - resolution: {integrity: sha512-aGIuHxyrJB+LlUfXrH73NVlQTA6LkFbLKQzHojFuwXZJpf7wPkxceN2yp7VjMedARkLJg589IoXgZeMb1EztGQ==} + /@graphql-tools/graphql-tag-pluck@8.3.0(graphql@16.8.1): + resolution: {integrity: sha512-gNqukC+s7iHC7vQZmx1SEJQmLnOguBq+aqE2zV2+o1hxkExvKqyFli1SY/9gmukFIKpKutCIj+8yLOM+jARutw==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -3724,7 +3286,7 @@ packages: '@babel/core': 7.23.9 '@babel/parser': 7.23.9 '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.9) - '@babel/traverse': 7.23.9 + '@babel/traverse': 7.23.2 '@babel/types': 7.23.9 '@graphql-tools/utils': 10.0.13(graphql@16.8.1) graphql: 16.8.1 @@ -3733,8 +3295,8 @@ packages: - supports-color dev: true - /@graphql-tools/import@7.0.0(graphql@16.8.1): - resolution: {integrity: sha512-NVZiTO8o1GZs6OXzNfjB+5CtQtqsZZpQOq+Uu0w57kdUkT4RlQKlwhT8T81arEsbV55KpzkpFsOZP7J1wdmhBw==} + /@graphql-tools/import@7.0.1(graphql@16.8.1): + resolution: {integrity: sha512-935uAjAS8UAeXThqHfYVr4HEAp6nHJ2sximZKO1RzUTq5WoALMAhhGARl0+ecm6X+cqNUwIChJbjtaa6P/ML0w==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -3745,8 +3307,8 @@ packages: tslib: 2.6.2 dev: true - /@graphql-tools/json-file-loader@8.0.0(graphql@16.8.1): - resolution: {integrity: sha512-ki6EF/mobBWJjAAC84xNrFMhNfnUFD6Y0rQMGXekrUgY0NdeYXHU0ZUgHzC9O5+55FslqUmAUHABePDHTyZsLg==} + /@graphql-tools/json-file-loader@8.0.1(graphql@16.8.1): + resolution: {integrity: sha512-lAy2VqxDAHjVyqeJonCP6TUemrpYdDuKt25a10X6zY2Yn3iFYGnuIDQ64cv3ytyGY6KPyPB+Kp+ZfOkNDG3FQA==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -3758,13 +3320,13 @@ packages: unixify: 1.0.0 dev: true - /@graphql-tools/load@8.0.1(graphql@16.8.1): - resolution: {integrity: sha512-qSMsKngJhDqRbuWyo3NvakEFqFL6+eSjy8ooJ1o5qYD26N7dqXkKzIMycQsX7rBK19hOuINAUSaRcVWH6hTccw==} + /@graphql-tools/load@8.0.2(graphql@16.8.1): + resolution: {integrity: sha512-S+E/cmyVmJ3CuCNfDuNF2EyovTwdWfQScXv/2gmvJOti2rGD8jTt9GYVzXaxhblLivQR9sBUCNZu/w7j7aXUCA==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/schema': 10.0.2(graphql@16.8.1) + '@graphql-tools/schema': 10.0.3(graphql@16.8.1) '@graphql-tools/utils': 10.0.13(graphql@16.8.1) graphql: 16.8.1 p-limit: 3.1.0 @@ -3791,6 +3353,17 @@ packages: graphql: 16.8.1 tslib: 2.6.2 + /@graphql-tools/merge@9.0.3(graphql@16.8.1): + resolution: {integrity: sha512-FeKv9lKLMwqDu0pQjPpF59GY3HReUkWXKsMIuMuJQOKh9BETu7zPEFUELvcw8w+lwZkl4ileJsHXC9+AnsT2Lw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-tools/utils': 10.0.13(graphql@16.8.1) + graphql: 16.8.1 + tslib: 2.6.2 + dev: true + /@graphql-tools/optimize@2.0.0(graphql@16.8.1): resolution: {integrity: sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==} engines: {node: '>=16.0.0'} @@ -3801,13 +3374,13 @@ packages: tslib: 2.6.2 dev: true - /@graphql-tools/prisma-loader@8.0.2(@types/node@20.11.24)(graphql@16.8.1): - resolution: {integrity: sha512-8d28bIB0bZ9Bj0UOz9sHagVPW+6AHeqvGljjERtwCnWl8OCQw2c2pNboYXISLYUG5ub76r4lDciLLTU+Ks7Q0w==} + /@graphql-tools/prisma-loader@8.0.3(@types/node@20.11.24)(graphql@16.8.1): + resolution: {integrity: sha512-oZhxnMr3Jw2WAW1h9FIhF27xWzIB7bXWM8olz4W12oII4NiZl7VRkFw9IT50zME2Bqi9LGh9pkmMWkjvbOpl+Q==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/url-loader': 8.0.1(@types/node@20.11.24)(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.11.24)(graphql@16.8.1) '@graphql-tools/utils': 10.0.13(graphql@16.8.1) '@types/js-yaml': 4.0.9 '@types/json-stable-stringify': 1.0.36 @@ -3817,8 +3390,8 @@ packages: dotenv: 16.4.5 graphql: 16.8.1 graphql-request: 6.1.0(graphql@16.8.1) - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 jose: 5.2.2 js-yaml: 4.1.0 json-stable-stringify: 1.1.1 @@ -3834,8 +3407,8 @@ packages: - utf-8-validate dev: true - /@graphql-tools/relay-operation-optimizer@7.0.0(graphql@16.8.1): - resolution: {integrity: sha512-UNlJi5y3JylhVWU4MBpL0Hun4Q7IoJwv9xYtmAz+CgRa066szzY7dcuPfxrA7cIGgG/Q6TVsKsYaiF4OHPs1Fw==} + /@graphql-tools/relay-operation-optimizer@7.0.1(graphql@16.8.1): + resolution: {integrity: sha512-y0ZrQ/iyqWZlsS/xrJfSir3TbVYJTYmMOu4TaSz6F4FRDTQ3ie43BlKkhf04rC28pnUOS4BO9pDcAo1D30l5+A==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -3861,8 +3434,21 @@ packages: tslib: 2.6.2 value-or-promise: 1.0.12 - /@graphql-tools/schema@9.0.19(graphql@16.8.1): - resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} + /@graphql-tools/schema@10.0.3(graphql@16.8.1): + resolution: {integrity: sha512-p28Oh9EcOna6i0yLaCFOnkcBDQECVf3SCexT6ktb86QNj9idnkhI+tCxnwZDh58Qvjd2nURdkbevvoZkvxzCog==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-tools/merge': 9.0.3(graphql@16.8.1) + '@graphql-tools/utils': 10.0.13(graphql@16.8.1) + graphql: 16.8.1 + tslib: 2.6.2 + value-or-promise: 1.0.12 + dev: true + + /@graphql-tools/schema@9.0.19(graphql@16.8.1): + resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -3873,19 +3459,19 @@ packages: value-or-promise: 1.0.12 dev: false - /@graphql-tools/url-loader@8.0.1(@types/node@20.11.24)(graphql@16.8.1): - resolution: {integrity: sha512-B2k8KQEkEQmfV1zhurT5GLoXo8jbXP+YQHUayhCSxKYlRV7j/1Fhp1b21PDM8LXIDGlDRXaZ0FbWKOs7eYXDuQ==} + /@graphql-tools/url-loader@8.0.2(@types/node@20.11.24)(graphql@16.8.1): + resolution: {integrity: sha512-1dKp2K8UuFn7DFo1qX5c1cyazQv2h2ICwA9esHblEqCYrgf69Nk8N7SODmsfWg94OEaI74IqMoM12t7eIGwFzQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/delegate': 10.0.3(graphql@16.8.1) - '@graphql-tools/executor-graphql-ws': 1.1.0(graphql@16.8.1) - '@graphql-tools/executor-http': 1.0.7(@types/node@20.11.24)(graphql@16.8.1) - '@graphql-tools/executor-legacy-ws': 1.0.5(graphql@16.8.1) + '@graphql-tools/delegate': 10.0.4(graphql@16.8.1) + '@graphql-tools/executor-graphql-ws': 1.1.2(graphql@16.8.1) + '@graphql-tools/executor-http': 1.0.9(@types/node@20.11.24)(graphql@16.8.1) + '@graphql-tools/executor-legacy-ws': 1.0.6(graphql@16.8.1) '@graphql-tools/utils': 10.0.13(graphql@16.8.1) - '@graphql-tools/wrap': 10.0.1(graphql@16.8.1) + '@graphql-tools/wrap': 10.0.2(graphql@16.8.1) '@types/ws': 8.5.10 '@whatwg-node/fetch': 0.9.16 graphql: 16.8.1 @@ -3912,19 +3498,6 @@ packages: graphql: 16.8.1 tslib: 2.6.2 - /@graphql-tools/utils@10.0.8(graphql@16.8.1): - resolution: {integrity: sha512-yjyA8ycSa1WRlJqyX/aLqXeE5DvF/H02+zXMUFnCzIDrj0UvLMUrxhmVFnMK0Q2n3bh4uuTeY3621m5za9ovXw==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) - cross-inspect: 1.0.0 - dset: 3.1.3 - graphql: 16.8.1 - tslib: 2.6.2 - dev: true - /@graphql-tools/utils@9.2.1(graphql@16.8.1): resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} peerDependencies: @@ -3935,14 +3508,14 @@ packages: tslib: 2.6.2 dev: false - /@graphql-tools/wrap@10.0.1(graphql@16.8.1): - resolution: {integrity: sha512-Cw6hVrKGM2OKBXeuAGltgy4tzuqQE0Nt7t/uAqnuokSXZhMHXJUb124Bnvxc2gPZn5chfJSDafDe4Cp8ZAVJgg==} + /@graphql-tools/wrap@10.0.2(graphql@16.8.1): + resolution: {integrity: sha512-nb/YjBcyF02KBCy3hiyw0nBKIC+qkiDY/tGMCcIe4pM6BPEcnreaPhXA28Rdge7lKtySF4Mhbc86XafFH5bIkQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/delegate': 10.0.3(graphql@16.8.1) - '@graphql-tools/schema': 10.0.2(graphql@16.8.1) + '@graphql-tools/delegate': 10.0.4(graphql@16.8.1) + '@graphql-tools/schema': 10.0.3(graphql@16.8.1) '@graphql-tools/utils': 10.0.13(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 @@ -3963,78 +3536,12 @@ packages: react: ^16 || ^17 || ^18 react-dom: ^16 || ^17 || ^18 dependencies: - '@tanstack/react-virtual': 3.0.4(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-virtual': 3.1.2(react-dom@18.2.0)(react@18.2.0) client-only: 0.0.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@histoire/app@0.17.10(vite@5.1.5): - resolution: {integrity: sha512-WN28m1N8x3WkVzzePYekrwgUQNixyUrLdyITpLk3/scFqsDSByG0nsHKi1MAMMHaVxyC9dcdQF4j50QdVWCZgQ==} - dependencies: - '@histoire/controls': 0.17.9(vite@5.1.5) - '@histoire/shared': 0.17.10(vite@5.1.5) - '@histoire/vendors': 0.17.8 - '@types/flexsearch': 0.7.6 - flexsearch: 0.7.21 - shiki-es: 0.2.0 - transitivePeerDependencies: - - vite - dev: true - - /@histoire/controls@0.17.9(vite@5.1.5): - resolution: {integrity: sha512-1f1cE1NZ2emzGMRnGfAb/gCKDtBT3bUZzj3aAcDmhm3MA2Vy5tGYSb9j+KuTTj7+exhOrKefmedr9a0q1/5g2w==} - dependencies: - '@codemirror/commands': 6.3.3 - '@codemirror/lang-json': 6.0.1 - '@codemirror/language': 6.10.1 - '@codemirror/lint': 6.5.0 - '@codemirror/state': 6.4.1 - '@codemirror/theme-one-dark': 6.1.2 - '@codemirror/view': 6.25.0 - '@histoire/shared': 0.17.10(vite@5.1.5) - '@histoire/vendors': 0.17.8 - transitivePeerDependencies: - - vite - dev: true - - /@histoire/plugin-vue@0.17.12(histoire@0.17.9)(vite@5.1.5)(vue@3.4.21): - resolution: {integrity: sha512-mpx2uwHq/qemnX+ARQtDR3M9kIt1y4kBCmzBkOquhJTp61mtHMu4hZKSzzQpQWA2QxEyuuwpaNiU7Mlms13EaQ==} - peerDependencies: - histoire: ^0.17.9 - vue: ^3.2.47 - dependencies: - '@histoire/controls': 0.17.9(vite@5.1.5) - '@histoire/shared': 0.17.10(vite@5.1.5) - '@histoire/vendors': 0.17.8 - change-case: 4.1.2 - globby: 13.2.2 - histoire: 0.17.9(@types/node@20.11.24)(vite@5.1.5) - launch-editor: 2.6.1 - pathe: 1.1.2 - vue: 3.4.21(typescript@5.3.3) - transitivePeerDependencies: - - vite - dev: true - - /@histoire/shared@0.17.10(vite@5.1.5): - resolution: {integrity: sha512-8hzk/WKASrYfaJ+UtR6Mv7aZlP8IZvQ5POoHAi+JvHMJTtzCXZeuL0qdQAXg0zdk3vWIH20oSl6N8hZE1AP7yA==} - peerDependencies: - vite: ^2.9.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 - dependencies: - '@histoire/vendors': 0.17.8 - '@types/fs-extra': 9.0.13 - '@types/markdown-it': 12.2.3 - chokidar: 3.6.0 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.11.24) - dev: true - - /@histoire/vendors@0.17.8: - resolution: {integrity: sha512-kyNy1yvA8tuEXVuUUdO5k8yQgp1XkcktcLAM4XB3B0mk9qUge7n85bUfGJYPk3ovLeX4RBJHsxh4RzzQ4LBCvg==} - dev: true - /@hookform/resolvers@3.3.4(react-hook-form@7.51.0): resolution: {integrity: sha512-o5cgpGOuJYrd+iMKvkttOclgwRW86EsWJZZRC23prf0uU2i48Htq4PuT73AVb9ionFyZrwYEITuOFGF+BydEtQ==} peerDependencies: @@ -4063,84 +3570,6 @@ packages: resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} dev: true - /@iconify-json/ant-design@1.1.15: - resolution: {integrity: sha512-E8XLyDo2HWVeVT8ViNTxF2+0Vgcox8FC73G4v64AM+lvlWpERcY90g7jXoBOeykl1pQCf1awkQUwjkynZ8Xb7A==} - dependencies: - '@iconify/types': 2.0.0 - dev: true - - /@iconify-json/bi@1.1.23: - resolution: {integrity: sha512-1te+g9ZzI+PU1Lv6Xerd3XPXf4DE6g3TvDL2buIopTAfrauPHyXCHPFQMrzoQVNrVPCpN3rv3vBtJMPyBwJ9IA==} - dependencies: - '@iconify/types': 2.0.0 - dev: true - - /@iconify-json/fa6-brands@1.1.18: - resolution: {integrity: sha512-vmeJP06Xbj0XbVGiBHg0q8H3M894d4bGXKCmiHt6JqUdpiGcIV7r96N+BOU4ZS1+hvpV57fTfXlFPiUfxAIfkg==} - dependencies: - '@iconify/types': 2.0.0 - dev: true - - /@iconify-json/fa6-regular@1.1.18: - resolution: {integrity: sha512-+lLtiTHf02rxeC/9R6vzJi9eGcuubzeHfTt/HWvDnovz2Kt5NEntW8foUSLeLo7kPU7RNvea68lt7QM9HYFloQ==} - dependencies: - '@iconify/types': 2.0.0 - dev: true - - /@iconify-json/fa6-solid@1.1.20: - resolution: {integrity: sha512-99P9zOacNS56MNNT7Mzih2Loe3jzwNFKFBOiVh+kF+4D+AHW5zyksyvMizIgGu2cizFz6npaATlCtl3E5Zfjbw==} - dependencies: - '@iconify/types': 2.0.0 - dev: true - - /@iconify-json/fa@1.1.8: - resolution: {integrity: sha512-he23ZsuDxA6Hx7rnrEpSJnmu7t7RtG/SbrENZhMSPiZ4bNRGHjyPZimtOy10k2/nfwNsW57ECDsO5eK0BkcoMg==} - dependencies: - '@iconify/types': 2.0.0 - dev: true - - /@iconify-json/fluent@1.1.49: - resolution: {integrity: sha512-BDgdWb8WjWzvfyv1s8JjYViRN/qPDG1cS56tjKt6p0InZq/+PAQFeFBhirTSKtqa8fGzUJpR4dCEBcZDXEb4EA==} - dependencies: - '@iconify/types': 2.0.0 - dev: true - - /@iconify-json/iconoir@1.1.42: - resolution: {integrity: sha512-5FQfS+dSAvHWCBtsp/E+4AKK6jYVCxw98R4LLsY5s8mSUm9BFstjCA5bmTcIl+iYDgc+vUmtW26jYmBEf4gLIA==} - dependencies: - '@iconify/types': 2.0.0 - dev: true - - /@iconify-json/material-symbols@1.1.74: - resolution: {integrity: sha512-cuQKvpGWrMNJq0i3ynO+V6yus0Smiupw92GW8Gq/4MHfYfbl1MrbVmafKQAd8RJVqiEXq4/F084OEcigf77UqQ==} - dependencies: - '@iconify/types': 2.0.0 - dev: true - - /@iconify-json/ri@1.1.20: - resolution: {integrity: sha512-yScIGjLFBCJKWKskQTWRjNI2Awoq+VRDkRxEsCQvSfdz41n+xkRtFG2K6J1OVI90ClRHfjFC8VJ2+WzxxyFjTQ==} - dependencies: - '@iconify/types': 2.0.0 - dev: true - - /@iconify/types@2.0.0: - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - dev: true - - /@iconify/utils@2.1.22: - resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==} - dependencies: - '@antfu/install-pkg': 0.1.1 - '@antfu/utils': 0.7.7 - '@iconify/types': 2.0.0 - debug: 4.3.4(supports-color@8.1.1) - kolorist: 1.8.0 - local-pkg: 0.5.0 - mlly: 1.5.0 - transitivePeerDependencies: - - supports-color - dev: true - /@img/sharp-darwin-arm64@0.33.2: resolution: {integrity: sha512-itHBs1rPmsmGF9p4qRe++CzCgd+kFYktnsoR1sbIAfsRMrJZau0Tt1AH9KVnufc2/tU02Gf6Ibujx+15qRE03w==} engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} @@ -4382,10 +3811,6 @@ packages: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - /@juggle/resize-observer@3.4.0: - resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} - dev: false - /@kamilkisiela/fast-url-parser@1.1.4: resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} dev: true @@ -4401,8 +3826,8 @@ packages: '@lezer/lr': 1.4.0 dev: false - /@lezer/css@1.1.7: - resolution: {integrity: sha512-7BlFFAKNn/b39jJLrhdLSX5A2k56GIJvyLqdmm7UU+7XvequY084iuKDMAEhAmAzHnwDE8FK4OQtsIUssW91tg==} + /@lezer/css@1.1.8: + resolution: {integrity: sha512-7JhxupKuMBaWQKjQoLtzhGj83DdnZY9MckEOG5+/iLKNK2ZJqKc6hf6uc0HjwCX7Qlok44jBNqZhHKDhEhZYLA==} dependencies: '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 @@ -4414,8 +3839,8 @@ packages: dependencies: '@lezer/common': 1.2.1 - /@lezer/html@1.3.8: - resolution: {integrity: sha512-EXseJ3pUzWxE6XQBQdqWHZqqlGQRSuNMBcLb6mZWS2J2v+QZhOObD+3ZIKIcm59ntTzyor4LqFTb72iJc3k23Q==} + /@lezer/html@1.3.9: + resolution: {integrity: sha512-MXxeCMPyrcemSLGaTQEZx0dBUH0i+RPl8RN5GwMAzo53nTsd/Unc/t5ZxACeQoyPUM5/GkPLRUs2WliOImzkRA==} dependencies: '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 @@ -4444,6 +3869,7 @@ packages: '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 '@lezer/lr': 1.4.0 + dev: false /@lezer/lezer@1.1.2: resolution: {integrity: sha512-O8yw3CxPhzYHB1hvwbdozjnAslhhR8A5BH7vfEMof0xk3p+/DFDfZkA9Tde6J+88WgtwaHy4Sy6ThZSkaI0Evw==} @@ -4538,24 +3964,24 @@ packages: resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} dev: false - /@monaco-editor/loader@1.4.0(monaco-editor@0.45.0): + /@monaco-editor/loader@1.4.0(monaco-editor@0.46.0): resolution: {integrity: sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==} peerDependencies: monaco-editor: '>= 0.21.0 < 1' dependencies: - monaco-editor: 0.45.0 + monaco-editor: 0.46.0 state-local: 1.0.7 dev: false - /@monaco-editor/react@4.6.0(monaco-editor@0.45.0)(react-dom@18.2.0)(react@18.2.0): + /@monaco-editor/react@4.6.0(monaco-editor@0.46.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-RFkU9/i7cN2bsq/iTkurMWOEErmYcY6JiQI3Jn+WeR/FGISH8JbHERjpS9oRuSOPvDMJI0Z8nJeKkbOs9sBYQw==} peerDependencies: monaco-editor: '>= 0.25.0 < 1' react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@monaco-editor/loader': 1.4.0(monaco-editor@0.45.0) - monaco-editor: 0.45.0 + '@monaco-editor/loader': 1.4.0(monaco-editor@0.46.0) + monaco-editor: 0.46.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -5304,6 +4730,7 @@ packages: /@polka/url@1.0.0-next.24: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} + dev: false /@popperjs/core@2.11.8: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} @@ -6618,7 +6045,7 @@ packages: resolution: {integrity: sha512-l3YHBLAol6d/IKnB9LhpD0cEZWAoe3eFKUyTYWmFmCO2Q/WOckxLQAUyMZWwZV2M/m3+4vgRoaolFqaII82/TA==} dev: true - /@replit/codemirror-lang-csharp@6.2.0(@codemirror/autocomplete@6.13.0)(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.4.0): + /@replit/codemirror-lang-csharp@6.2.0(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.4.0): resolution: {integrity: sha512-6utbaWkoymhoAXj051mkRp+VIJlpwUgCX9Toevz3YatiZsz512fw3OVCedXQx+WcR0wb6zVHjChnuxqfCLtFVQ==} peerDependencies: '@codemirror/autocomplete': ^6.0.0 @@ -6629,7 +6056,7 @@ packages: '@lezer/highlight': ^1.0.0 '@lezer/lr': ^1.0.0 dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.1 '@codemirror/view': 6.25.0 @@ -6638,7 +6065,7 @@ packages: '@lezer/lr': 1.4.0 dev: false - /@replit/codemirror-lang-nix@6.0.1(@codemirror/autocomplete@6.13.0)(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.4.0): + /@replit/codemirror-lang-nix@6.0.1(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.4.0): resolution: {integrity: sha512-lvzjoYn9nfJzBD5qdm3Ut6G3+Or2wEacYIDJ49h9+19WSChVnxv4ojf+rNmQ78ncuxIt/bfbMvDLMeMP0xze6g==} peerDependencies: '@codemirror/autocomplete': ^6.0.0 @@ -6649,7 +6076,7 @@ packages: '@lezer/highlight': ^1.0.0 '@lezer/lr': ^1.0.0 dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.1 '@codemirror/view': 6.25.0 @@ -6667,7 +6094,7 @@ packages: '@lezer/highlight': 1.2.0 dev: false - /@replit/codemirror-lang-svelte@6.0.0(@codemirror/autocomplete@6.13.0)(@codemirror/lang-css@6.2.1)(@codemirror/lang-html@6.4.8)(@codemirror/lang-javascript@6.2.1)(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.4.0): + /@replit/codemirror-lang-svelte@6.0.0(@codemirror/autocomplete@6.12.0)(@codemirror/lang-css@6.2.1)(@codemirror/lang-html@6.4.8)(@codemirror/lang-javascript@6.2.2)(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.4.0): resolution: {integrity: sha512-U2OqqgMM6jKelL0GNWbAmqlu1S078zZNoBqlJBW+retTc5M4Mha6/Y2cf4SVg6ddgloJvmcSpt4hHrVoM4ePRA==} peerDependencies: '@codemirror/autocomplete': ^6.0.0 @@ -6682,10 +6109,10 @@ packages: '@lezer/javascript': ^1.2.0 '@lezer/lr': ^1.0.0 dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/lang-css': 6.2.1(@codemirror/view@6.25.0) '@codemirror/lang-html': 6.4.8 - '@codemirror/lang-javascript': 6.2.1 + '@codemirror/lang-javascript': 6.2.2 '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.1 '@codemirror/view': 6.25.0 @@ -6728,110 +6155,6 @@ packages: rollup: 2.78.0 dev: false - /@rollup/rollup-android-arm-eabi@4.9.6: - resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.9.6: - resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.9.6: - resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.9.6: - resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.9.6: - resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.9.6: - resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.9.6: - resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.9.6: - resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.9.6: - resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.9.6: - resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.9.6: - resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.9.6: - resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.9.6: - resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@rushstack/eslint-patch@1.7.2: resolution: {integrity: sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==} dev: true @@ -7468,15 +6791,6 @@ packages: tslib: 2.6.2 dev: false - /@tailwindcss/forms@0.5.7(tailwindcss@3.4.1): - resolution: {integrity: sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==} - peerDependencies: - tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' - dependencies: - mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.1(ts-node@10.9.2) - dev: true - /@tailwindcss/typography@0.5.10(tailwindcss@3.4.1): resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==} peerDependencies: @@ -7487,6 +6801,7 @@ packages: lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 tailwindcss: 3.4.1(ts-node@10.9.2) + dev: false /@tanstack/react-table@8.13.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-b6mR3mYkjRtJ443QZh9sc7CvGTce81J35F/XMr0OoWbx0KIM7TTTdyNP2XKObvkLpYnLpCrYDwI3CZnLezWvpg==} @@ -7500,13 +6815,13 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@tanstack/react-virtual@3.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-tiqKW/e2MJVCr7/pRUXulpkyxllaOclkHNfhKTo4pmHjJIqnhMfwIjc1Q1R0Un3PI3kQywywu/791c8z9u0qeA==} + /@tanstack/react-virtual@3.1.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-qibmxtctgOZo2I+3Rw5GR9kXgaa15U5r3/idDY1ItUKW15UK7GhCfyIfE6qYuJ1fxQF6dJDsD8SbpPyuJgpxuA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@tanstack/virtual-core': 3.0.0 + '@tanstack/virtual-core': 3.1.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -7516,8 +6831,8 @@ packages: engines: {node: '>=12'} dev: false - /@tanstack/virtual-core@3.0.0: - resolution: {integrity: sha512-SYXOBTjJb05rXa2vl55TTwO40A6wKu0R5i1qQwhJYNDIqaIGF7D0HsLw+pJAyi2OvntlEIVusx3xtbbgSUi6zg==} + /@tanstack/virtual-core@3.1.2: + resolution: {integrity: sha512-DATZJs8iejkIUqXZe6ruDAnjFo78BKnIIgqQZrc7CmEFqfLEN/TPD91n4hRfo6hpRB6xC00bwKxv7vdjFNEmOg==} dev: false /@tiptap/core@2.2.4(@tiptap/pm@2.2.4): @@ -7742,7 +7057,7 @@ packages: prosemirror-schema-basic: 1.2.2 prosemirror-schema-list: 1.3.0 prosemirror-state: 1.4.3 - prosemirror-tables: 1.3.6 + prosemirror-tables: 1.3.5 prosemirror-trailing-node: 2.0.7(prosemirror-model@1.19.4)(prosemirror-state@1.4.3)(prosemirror-view@1.33.1) prosemirror-transform: 1.8.0 prosemirror-view: 1.33.1 @@ -7790,25 +7105,6 @@ packages: - '@tiptap/pm' dev: false - /@tiptap/vue-3@2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4)(vue@3.4.21): - resolution: {integrity: sha512-6Rue56OUmDl/OT07QcLsH1UvYGUmV8OFSDCrLrUyku/2lAYHwHz6+KhAB5paZt70nEGIw03G1KCT074negj6NQ==} - peerDependencies: - '@tiptap/core': ^2.0.0 - '@tiptap/pm': ^2.0.0 - vue: ^3.0.0 - dependencies: - '@tiptap/core': 2.2.4(@tiptap/pm@2.2.4) - '@tiptap/extension-bubble-menu': 2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4) - '@tiptap/extension-floating-menu': 2.2.4(@tiptap/core@2.2.4)(@tiptap/pm@2.2.4) - '@tiptap/pm': 2.2.4 - vue: 3.4.21(typescript@5.3.3) - dev: false - - /@tootallnate/once@2.0.0: - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} - dev: true - /@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.2.5): resolution: {integrity: sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==} peerDependencies: @@ -7908,12 +7204,6 @@ packages: '@types/node': 20.11.24 dev: true - /@types/debug@4.1.12: - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - dependencies: - '@types/ms': 0.7.34 - dev: true - /@types/dompurify@3.0.5: resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==} dependencies: @@ -7962,16 +7252,6 @@ packages: resolution: {integrity: sha512-/fRbzc2lAd7jDJSSnxWiUyXWjdUZZ4HbISLJzVgt1AvrdOa7U49YRPcvuCUywkmURZ7uwJOheDjx19itbQ5KvA==} dev: true - /@types/flexsearch@0.7.6: - resolution: {integrity: sha512-H5IXcRn96/gaDmo+rDl2aJuIJsob8dgOXDqf8K0t8rWZd1AFNaaspmRsElESiU+EWE33qfbFPgI0OC/B1g9FCA==} - dev: true - - /@types/fs-extra@9.0.13: - resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} - dependencies: - '@types/node': 20.11.24 - dev: true - /@types/graphql-upload@8.0.12: resolution: {integrity: sha512-M0ZPZqNUzKNB16q5woEzgG/Q8DjICV80K7JvDSRnDmDFfrRdfFX/n6PbmqAN7gCzECcHVnw1gk6N4Cg0FwxCqA==} dependencies: @@ -8015,6 +7295,7 @@ packages: /@types/katex@0.16.7: resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} + dev: true /@types/keygrip@1.0.6: resolution: {integrity: sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==} @@ -8039,35 +7320,10 @@ packages: '@types/node': 20.11.24 dev: true - /@types/linkify-it@3.0.5: - resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} - dev: true - - /@types/lodash-es@4.17.12: - resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} - dependencies: - '@types/lodash': 4.14.202 - dev: false - - /@types/lodash@4.14.202: - resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} - dev: false - /@types/long@4.0.2: resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} dev: false - /@types/markdown-it@12.2.3: - resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} - dependencies: - '@types/linkify-it': 3.0.5 - '@types/mdurl': 1.0.5 - dev: true - - /@types/mdurl@1.0.5: - resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} - dev: true - /@types/mime@1.3.5: resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} @@ -8082,10 +7338,6 @@ packages: resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} dev: true - /@types/ms@0.7.34: - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - dev: true - /@types/node-fetch@2.6.11: resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} dependencies: @@ -8112,10 +7364,6 @@ packages: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true - /@types/nprogress@0.2.3: - resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} - dev: true - /@types/object.omit@3.0.3: resolution: {integrity: sha512-xrq4bQTBGYY2cw+gV4PzoG2Lv3L0pjZ1uXStRRDQoATOYW1lCsFQHhQ+OkPhIcQoqLjAq7gYif7D14Qaa6Zbew==} dev: false @@ -8225,10 +7473,6 @@ packages: /@types/validator@13.11.8: resolution: {integrity: sha512-c/hzNDBh7eRF+KbCf+OoZxKbnkpaK/cKp9iLQWqB7muXtM+MtL9SUUH8vCFcLn6dH1Qm05jiexK0ofWY7TfOhQ==} - /@types/web-bluetooth@0.0.20: - resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - dev: false - /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: @@ -8333,7 +7577,7 @@ packages: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.6.0 + semver: 7.5.4 ts-api-utils: 1.0.3(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: @@ -8353,7 +7597,7 @@ packages: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) eslint: 8.57.0 - semver: 7.6.0 + semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript @@ -8367,7 +7611,7 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@uiw/codemirror-extensions-basic-setup@4.21.24(@codemirror/autocomplete@6.13.0)(@codemirror/commands@6.3.3)(@codemirror/language@6.10.1)(@codemirror/lint@6.5.0)(@codemirror/search@6.5.5)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0): + /@uiw/codemirror-extensions-basic-setup@4.21.24(@codemirror/autocomplete@6.12.0)(@codemirror/commands@6.3.3)(@codemirror/language@6.10.1)(@codemirror/lint@6.5.0)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0): resolution: {integrity: sha512-TJYKlPxNAVJNclW1EGumhC7I02jpdMgBon4jZvb5Aju9+tUzS44IwORxUx8BD8ZtH2UHmYS+04rE3kLk/BtnCQ==} peerDependencies: '@codemirror/autocomplete': '>=6.0.0' @@ -8378,16 +7622,16 @@ packages: '@codemirror/state': '>=6.0.0' '@codemirror/view': '>=6.0.0' dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/commands': 6.3.3 '@codemirror/language': 6.10.1 '@codemirror/lint': 6.5.0 - '@codemirror/search': 6.5.5 + '@codemirror/search': 6.5.6 '@codemirror/state': 6.4.1 '@codemirror/view': 6.25.0 dev: false - /@uiw/codemirror-extensions-langs@4.21.24(@codemirror/autocomplete@6.13.0)(@codemirror/language-data@6.4.0)(@codemirror/language@6.10.1)(@codemirror/legacy-modes@6.3.3)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.4.0): + /@uiw/codemirror-extensions-langs@4.21.24(@codemirror/autocomplete@6.12.0)(@codemirror/language-data@6.4.1)(@codemirror/language@6.10.1)(@codemirror/legacy-modes@6.3.3)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.4.0): resolution: {integrity: sha512-NZkmlwRK4r5npNprRVKwiKauKauylbtAWyQU6DHNIJXg/6tJDSgqDtmbwWzQiao0egwADMKqwj3pHA+IRUxTgw==} peerDependencies: '@codemirror/language-data': '>=6.0.0' @@ -8398,7 +7642,7 @@ packages: '@codemirror/lang-css': 6.2.1(@codemirror/view@6.25.0) '@codemirror/lang-html': 6.4.8 '@codemirror/lang-java': 6.0.1 - '@codemirror/lang-javascript': 6.2.1 + '@codemirror/lang-javascript': 6.2.2 '@codemirror/lang-json': 6.0.1 '@codemirror/lang-less': 6.0.2(@codemirror/view@6.25.0) '@codemirror/lang-lezer': 6.0.1 @@ -8412,13 +7656,13 @@ packages: '@codemirror/lang-vue': 0.1.3 '@codemirror/lang-wast': 6.0.2 '@codemirror/lang-xml': 6.0.2(@codemirror/view@6.25.0) - '@codemirror/language-data': 6.4.0(@codemirror/view@6.25.0) + '@codemirror/language-data': 6.4.1(@codemirror/view@6.25.0) '@codemirror/legacy-modes': 6.3.3 '@nextjournal/lang-clojure': 1.0.0 - '@replit/codemirror-lang-csharp': 6.2.0(@codemirror/autocomplete@6.13.0)(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.4.0) - '@replit/codemirror-lang-nix': 6.0.1(@codemirror/autocomplete@6.13.0)(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.4.0) + '@replit/codemirror-lang-csharp': 6.2.0(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.4.0) + '@replit/codemirror-lang-nix': 6.0.1(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.4.0) '@replit/codemirror-lang-solidity': 6.0.2(@codemirror/language@6.10.1) - '@replit/codemirror-lang-svelte': 6.0.0(@codemirror/autocomplete@6.13.0)(@codemirror/lang-css@6.2.1)(@codemirror/lang-html@6.4.8)(@codemirror/lang-javascript@6.2.1)(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.4.0) + '@replit/codemirror-lang-svelte': 6.0.0(@codemirror/autocomplete@6.12.0)(@codemirror/lang-css@6.2.1)(@codemirror/lang-html@6.4.8)(@codemirror/lang-javascript@6.2.2)(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.4.0) codemirror-lang-mermaid: 0.5.0 transitivePeerDependencies: - '@codemirror/autocomplete' @@ -8443,7 +7687,7 @@ packages: '@codemirror/view': 6.25.0 dev: false - /@uiw/react-codemirror@4.21.24(@babel/runtime@7.23.9)(@codemirror/autocomplete@6.13.0)(@codemirror/language@6.10.1)(@codemirror/lint@6.5.0)(@codemirror/search@6.5.5)(@codemirror/state@6.4.1)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.25.0)(codemirror@6.0.1)(react-dom@18.2.0)(react@18.2.0): + /@uiw/react-codemirror@4.21.24(@babel/runtime@7.23.9)(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.1)(@codemirror/lint@6.5.0)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.25.0)(codemirror@6.0.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-8zs5OuxbhikHocHBsVBMuW1vqlv4ccZAkt4rFwr7ebLP2Q6RwHsjpsR9GeGyAigAqonKRoeHugqF78UMrkaTgg==} peerDependencies: '@babel/runtime': '>=7.11.0' @@ -8459,7 +7703,7 @@ packages: '@codemirror/state': 6.4.1 '@codemirror/theme-one-dark': 6.1.2 '@codemirror/view': 6.25.0 - '@uiw/codemirror-extensions-basic-setup': 4.21.24(@codemirror/autocomplete@6.13.0)(@codemirror/commands@6.3.3)(@codemirror/language@6.10.1)(@codemirror/lint@6.5.0)(@codemirror/search@6.5.5)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0) + '@uiw/codemirror-extensions-basic-setup': 4.21.24(@codemirror/autocomplete@6.12.0)(@codemirror/commands@6.3.3)(@codemirror/language@6.10.1)(@codemirror/lint@6.5.0)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0) codemirror: 6.0.1(@lezer/common@1.2.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -8474,323 +7718,39 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vee-validate/zod@4.12.5(vue@3.4.21): - resolution: {integrity: sha512-hUjvXaa4HHvlZeosucViIDOUikQmyKaXXuL6P8LR1ETOUrBV6ntTsafJGvRYtwhXosoLYuolUD6Km737okK4Gg==} + /@webassemblyjs/ast@1.11.6: + resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} dependencies: - type-fest: 4.10.2 - vee-validate: 4.12.5(vue@3.4.21) - zod: 3.22.4 - transitivePeerDependencies: - - vue - dev: false + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.1.5)(vue@3.4.21): - resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - vite: ^5.0.0 - vue: ^3.2.25 - dependencies: - vite: 5.1.5(@types/node@20.11.24) - vue: 3.4.21(typescript@5.3.3) + /@webassemblyjs/floating-point-hex-parser@1.11.6: + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} dev: true - /@volar/language-core@1.11.1: - resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} - dependencies: - '@volar/source-map': 1.11.1 + /@webassemblyjs/helper-api-error@1.11.6: + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} dev: true - /@volar/source-map@1.11.1: - resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} - dependencies: - muggle-string: 0.3.1 + /@webassemblyjs/helper-buffer@1.11.6: + resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} dev: true - /@volar/typescript@1.11.1: - resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + /@webassemblyjs/helper-numbers@1.11.6: + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} dependencies: - '@volar/language-core': 1.11.1 - path-browserify: 1.0.1 + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@xtuc/long': 4.2.2 dev: true - /@vue/apollo-composable@4.0.1(@apollo/client@3.9.5)(graphql@16.8.1)(typescript@5.3.3)(vue@3.4.21): - resolution: {integrity: sha512-mUiC2ucO4CeRhedC5wcEzzoweuDLB/rgKPAcZEtDYBpErRTeK3CQ1ffygp1E9GbibuTfKms11k5P/DgDYdzhZA==} - peerDependencies: - '@apollo/client': ^3.4.13 - '@vue/composition-api': ^1.0.0 - graphql: '>=15' - vue: ^2.6.0 || ^3.1.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - dependencies: - '@apollo/client': 3.9.5(@types/react@18.2.63)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0) - graphql: 16.8.1 - throttle-debounce: 5.0.0 - ts-essentials: 9.4.1(typescript@5.3.3) - vue: 3.4.21(typescript@5.3.3) - vue-demi: 0.14.7(vue@3.4.21) - transitivePeerDependencies: - - typescript - dev: false - - /@vue/compiler-core@3.4.20: - resolution: {integrity: sha512-l7M+xUuL8hrGtRLkrf+62d9zucAdgqNBTbJ/NufCOIuJQhauhfyAKH9ra/qUctCXcULwmclGAVpvmxjbBO30qg==} - dependencies: - '@babel/parser': 7.23.9 - '@vue/shared': 3.4.20 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - dev: true - - /@vue/compiler-core@3.4.21: - resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} - dependencies: - '@babel/parser': 7.23.9 - '@vue/shared': 3.4.21 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - - /@vue/compiler-dom@3.4.20: - resolution: {integrity: sha512-/cSBGL79HFBYgDnqCNKErOav3bPde3n0sJwJM2Z09rXlkiowV/2SG1tgDAiWS1CatS4Cvo0o74e1vNeCK1R3RA==} - dependencies: - '@vue/compiler-core': 3.4.20 - '@vue/shared': 3.4.20 - dev: true - - /@vue/compiler-dom@3.4.21: - resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} - dependencies: - '@vue/compiler-core': 3.4.21 - '@vue/shared': 3.4.21 - - /@vue/compiler-sfc@3.4.21: - resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} - dependencies: - '@babel/parser': 7.23.9 - '@vue/compiler-core': 3.4.21 - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 - estree-walker: 2.0.2 - magic-string: 0.30.7 - postcss: 8.4.35 - source-map-js: 1.0.2 - - /@vue/compiler-ssr@3.4.21: - resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} - dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 - - /@vue/devtools-api@6.5.1: - resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} - - /@vue/language-core@1.8.27(typescript@5.3.3): - resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@volar/language-core': 1.11.1 - '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.20 - '@vue/shared': 3.4.20 - computeds: 0.0.1 - minimatch: 9.0.3 - muggle-string: 0.3.1 - path-browserify: 1.0.1 - typescript: 5.3.3 - vue-template-compiler: 2.7.16 - dev: true - - /@vue/reactivity@3.4.21: - resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} - dependencies: - '@vue/shared': 3.4.21 - - /@vue/runtime-core@3.4.21: - resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} - dependencies: - '@vue/reactivity': 3.4.21 - '@vue/shared': 3.4.21 - - /@vue/runtime-dom@3.4.21: - resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} - dependencies: - '@vue/runtime-core': 3.4.21 - '@vue/shared': 3.4.21 - csstype: 3.1.3 - - /@vue/server-renderer@3.4.21(vue@3.4.21): - resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} - peerDependencies: - vue: 3.4.21 - dependencies: - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 - vue: 3.4.21(typescript@5.3.3) - - /@vue/shared@3.4.20: - resolution: {integrity: sha512-KTEngal0aiUvNJ6I1Chk5Ew5XqChsFsxP4GKAYXWb99zKJWjNU72p2FWEOmZWHxHcqtniOJsgnpd3zizdpfEag==} - dev: true - - /@vue/shared@3.4.21: - resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} - - /@vue/tsconfig@0.5.1: - resolution: {integrity: sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==} - dev: true - - /@vueuse/components@10.9.0(vue@3.4.21): - resolution: {integrity: sha512-BHQpA0yIi3y7zKa1gYD0FUzLLkcRTqVhP8smnvsCK6GFpd94Nziq1XVPD7YpFeho0k5BzbBiNZF7V/DpkJ967A==} - dependencies: - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/shared': 10.9.0(vue@3.4.21) - vue-demi: 0.14.7(vue@3.4.21) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - - /@vueuse/core@10.9.0(vue@3.4.21): - resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} - dependencies: - '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.21) - vue-demi: 0.14.7(vue@3.4.21) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - - /@vueuse/integrations@10.9.0(axios@1.6.7)(nprogress@0.2.0)(sortablejs@1.15.2)(vue@3.4.21): - resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} - peerDependencies: - async-validator: '*' - axios: '*' - change-case: '*' - drauu: '*' - focus-trap: '*' - fuse.js: '*' - idb-keyval: '*' - jwt-decode: '*' - nprogress: '*' - qrcode: '*' - sortablejs: '*' - universal-cookie: '*' - peerDependenciesMeta: - async-validator: - optional: true - axios: - optional: true - change-case: - optional: true - drauu: - optional: true - focus-trap: - optional: true - fuse.js: - optional: true - idb-keyval: - optional: true - jwt-decode: - optional: true - nprogress: - optional: true - qrcode: - optional: true - sortablejs: - optional: true - universal-cookie: - optional: true - dependencies: - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/shared': 10.9.0(vue@3.4.21) - axios: 1.6.7 - nprogress: 0.2.0 - sortablejs: 1.15.2 - vue-demi: 0.14.7(vue@3.4.21) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - - /@vueuse/math@10.9.0(vue@3.4.21): - resolution: {integrity: sha512-qb60AzFKzg8Gw85c4YiheEMC2AMkk+eO/nB9MmuQFU/HAHvfVckesiPlwaQqUlZQ4MJt0z8qP18/H7ozpj0sKQ==} - dependencies: - '@vueuse/shared': 10.9.0(vue@3.4.21) - vue-demi: 0.14.7(vue@3.4.21) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - - /@vueuse/metadata@10.9.0: - resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} - dev: false - - /@vueuse/router@10.9.0(vue-router@4.3.0)(vue@3.4.21): - resolution: {integrity: sha512-MOmrCMQlRuPS4PExE1hy8T0XbZUXaNbEuh7CAG5mC8kdvdgANQMkdvJ7vIEOP27n5mXK/4YjvXJOZSsur4E0QQ==} - peerDependencies: - vue-router: '>=4.0.0-rc.1' - dependencies: - '@vueuse/shared': 10.9.0(vue@3.4.21) - vue-demi: 0.14.7(vue@3.4.21) - vue-router: 4.3.0(vue@3.4.21) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - - /@vueuse/shared@10.9.0(vue@3.4.21): - resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} - dependencies: - vue-demi: 0.14.7(vue@3.4.21) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - - /@webassemblyjs/ast@1.11.6: - resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} - dependencies: - '@webassemblyjs/helper-numbers': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - dev: true - - /@webassemblyjs/floating-point-hex-parser@1.11.6: - resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} - dev: true - - /@webassemblyjs/helper-api-error@1.11.6: - resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} - dev: true - - /@webassemblyjs/helper-buffer@1.11.6: - resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} - dev: true - - /@webassemblyjs/helper-numbers@1.11.6: - resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.6 - '@webassemblyjs/helper-api-error': 1.11.6 - '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/helper-wasm-bytecode@1.11.6: - resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - dev: true - - /@webassemblyjs/helper-wasm-section@1.11.6: - resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} + /@webassemblyjs/helper-wasm-bytecode@1.11.6: + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + dev: true + + /@webassemblyjs/helper-wasm-section@1.11.6: + resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} dependencies: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/helper-buffer': 1.11.6 @@ -8880,7 +7840,7 @@ packages: '@whatwg-node/node-fetch': 0.3.6 busboy: 1.6.0 urlpattern-polyfill: 8.0.2 - web-streams-polyfill: 3.3.2 + web-streams-polyfill: 3.3.3 dev: true /@whatwg-node/fetch@0.9.16: @@ -8974,11 +7934,6 @@ packages: through: 2.3.8 dev: true - /abab@2.0.6: - resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - deprecated: Use your platform's native atob() and btoa() methods instead - dev: true - /abbrev@2.0.0: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -8998,13 +7953,6 @@ packages: mime-types: 2.1.35 negotiator: 0.6.3 - /acorn-globals@7.0.1: - resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} - dependencies: - acorn: 8.11.3 - acorn-walk: 8.3.2 - dev: true - /acorn-import-assertions@1.9.0(acorn@8.11.3): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: @@ -9044,6 +7992,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: false /agent-base@7.1.0: resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} @@ -9254,12 +8203,6 @@ packages: node-gyp-build: 4.8.0 dev: false - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -9284,7 +8227,7 @@ packages: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 is-array-buffer: 3.0.4 dev: true @@ -9299,10 +8242,10 @@ packages: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.3 + es-abstract: 1.22.4 + get-intrinsic: 1.2.4 is-string: 1.0.7 dev: true @@ -9322,24 +8265,35 @@ packages: engines: {node: '>=8'} dev: true - /array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + /array.prototype.filter@1.0.3: + resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + es-array-method-boxes-properly: 1.0.0 + is-string: 1.0.7 + dev: true + + /array.prototype.findlastindex@1.2.4: + resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 + es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.3 dev: true /array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 es-shim-unscopables: 1.0.2 dev: true @@ -9347,31 +8301,32 @@ packages: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 es-shim-unscopables: 1.0.2 dev: true - /array.prototype.tosorted@1.1.2: - resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + /array.prototype.tosorted@1.1.3: + resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 + es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.3 dev: true - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.1 - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.3 + es-abstract: 1.22.4 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.2 dev: true @@ -9417,10 +8372,6 @@ packages: retry: 0.13.1 dev: false - /async-validator@4.2.5: - resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} - dev: false - /async@3.2.5: resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} dev: false @@ -9433,6 +8384,7 @@ packages: /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false /atomic-sleep@1.0.0: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} @@ -9460,9 +8412,11 @@ packages: postcss-value-parser: 4.2.0 dev: true - /available-typed-arrays@1.0.6: - resolution: {integrity: sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==} + /available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + dependencies: + possible-typed-array-names: 1.0.0 dev: true /await-event-emitter@2.0.2: @@ -9477,15 +8431,6 @@ packages: engines: {node: '>=4'} dev: true - /axios-retry@4.0.0(axios@1.6.7): - resolution: {integrity: sha512-F6P4HVGITD/v4z9Lw2mIA24IabTajvpDZmKa6zq/gGwn57wN5j1P3uWrAV0+diqnW6kTM2fTqmWNfgYWGmMuiA==} - peerDependencies: - axios: 0.x || 1.x - dependencies: - axios: 1.6.7 - is-retry-allowed: 2.2.0 - dev: false - /axios@1.6.7: resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} dependencies: @@ -9585,10 +8530,6 @@ packages: chainsaw: 0.1.0 dev: false - /birpc@0.1.1: - resolution: {integrity: sha512-B64AGL4ug2IS2jvV/zjTYDD1L+2gOJTT7Rv+VaK7KVQtQOo/xZbCDsh7g727ipckmU+QJYRqo5RcifVr0Kgcmg==} - dev: true - /bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: @@ -9668,19 +8609,6 @@ packages: dependencies: fill-range: 7.0.1 - /broadcast-channel@3.7.0: - resolution: {integrity: sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==} - dependencies: - '@babel/runtime': 7.23.9 - detect-node: 2.1.0 - js-sha3: 0.8.0 - microseconds: 0.2.0 - nano-time: 1.0.0 - oblivious-set: 1.0.0 - rimraf: 3.0.2 - unload: 2.2.0 - dev: false - /browser-stdout@1.3.1: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} dev: true @@ -9773,11 +8701,6 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true - /cache-manager-redis-yet@4.1.2: resolution: {integrity: sha512-pM2K1ZlOv8gQpE1Z5mcDrfLj5CsNKVRiYua/SZ12j7LEDgfDeFVntI6JSgIw0siFSR/9P/FpG30scI3frHwibA==} engines: {node: '>= 16.17.0'} @@ -9807,6 +8730,16 @@ packages: get-intrinsic: 1.2.3 set-function-length: 1.2.0 + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.1 + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -10018,6 +8951,7 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 + dev: true /chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} @@ -10141,7 +9075,6 @@ packages: /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - requiresBuild: true dev: true /clsx@2.0.0: @@ -10187,11 +9120,11 @@ packages: /codemirror@6.0.1(@lezer/common@1.2.1): resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==} dependencies: - '@codemirror/autocomplete': 6.13.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.25.0)(@lezer/common@1.2.1) '@codemirror/commands': 6.3.3 '@codemirror/language': 6.10.1 '@codemirror/lint': 6.5.0 - '@codemirror/search': 6.5.5 + '@codemirror/search': 6.5.6 '@codemirror/state': 6.4.1 '@codemirror/view': 6.25.0 transitivePeerDependencies: @@ -10238,6 +9171,7 @@ packages: engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 + dev: false /commander@10.0.1: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} @@ -10264,6 +9198,7 @@ packages: /commander@8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} + dev: false /comment-json@4.2.3: resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==} @@ -10308,10 +9243,6 @@ packages: readable-stream: 3.6.2 dev: false - /computeds@0.0.1: - resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} - dev: true - /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -10331,18 +9262,6 @@ packages: proto-list: 1.2.4 dev: false - /connect@3.7.0: - resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} - engines: {node: '>= 0.10.0'} - dependencies: - debug: 2.6.9 - finalhandler: 1.1.2 - parseurl: 1.3.3 - utils-merge: 1.0.1 - transitivePeerDependencies: - - supports-color - dev: true - /consola@2.15.3: resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} @@ -10485,6 +9404,7 @@ packages: /crelt@1.0.6: resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + dev: false /cross-env@7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} @@ -10538,13 +9458,6 @@ packages: hyphenate-style-name: 1.0.4 dev: false - /css-render@0.15.12: - resolution: {integrity: sha512-eWzS66patiGkTTik+ipO9qNGZ+uNuGyTmnz6/+EJIiFg8+3yZRpnMwgFo8YdXhQRsiePzehnusrxVvugNjXzbw==} - dependencies: - '@emotion/hash': 0.8.0 - csstype: 3.0.11 - dev: false - /css-select@5.1.0: resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} dependencies: @@ -10577,21 +9490,6 @@ packages: resolution: {integrity: sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==} dev: false - /cssom@0.3.8: - resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} - dev: true - - /cssom@0.5.0: - resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} - dev: true - - /cssstyle@2.3.0: - resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} - engines: {node: '>=8'} - dependencies: - cssom: 0.3.8 - dev: true - /cssstyle@4.0.1: resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} engines: {node: '>=18'} @@ -10599,10 +9497,6 @@ packages: rrweb-cssom: 0.6.0 dev: false - /csstype@3.0.11: - resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==} - dev: false - /csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -10624,15 +9518,6 @@ packages: engines: {node: '>= 6'} dev: true - /data-urls@3.0.2: - resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} - engines: {node: '>=12'} - dependencies: - abab: 2.0.6 - whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 - dev: true - /data-urls@5.0.0: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} @@ -10645,21 +9530,6 @@ packages: resolution: {integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==} dev: true - /date-fns-tz@2.0.0(date-fns@2.30.0): - resolution: {integrity: sha512-OAtcLdB9vxSXTWHdT8b398ARImVwQMyjfYGkKD2zaGpHseG2UPHbHjXELReErZFxWdSLph3c2zOaaTyHfOhERQ==} - peerDependencies: - date-fns: '>=2.0.0' - dependencies: - date-fns: 2.30.0 - dev: false - - /date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} - dependencies: - '@babel/runtime': 7.23.9 - dev: false - /dateformat@4.6.3: resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} dev: false @@ -10668,10 +9538,6 @@ packages: resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} dev: false - /de-indent@1.0.2: - resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} - dev: true - /debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} @@ -10728,6 +9594,7 @@ packages: /decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + dev: false /deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} @@ -10735,30 +9602,6 @@ packages: dependencies: type-detect: 4.0.8 - /deep-equal@2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.5 - es-get-iterator: 1.1.3 - get-intrinsic: 1.2.3 - is-arguments: 1.1.1 - is-array-buffer: 3.0.4 - is-date-object: 1.0.5 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - isarray: 2.0.5 - object-is: 1.1.5 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.1 - side-channel: 1.0.4 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.14 - dev: true - /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -10778,7 +9621,6 @@ packages: /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - requiresBuild: true dependencies: clone: 1.0.4 dev: true @@ -10791,22 +9633,27 @@ packages: gopd: 1.0.1 has-property-descriptors: 1.0.1 + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + /define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 - has-property-descriptors: 1.0.1 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 dev: true - /defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - dev: true - /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + dev: false /depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} @@ -10853,10 +9700,6 @@ packages: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} dev: false - /diacritics@1.3.0: - resolution: {integrity: sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA==} - dev: true - /dicer@0.3.0: resolution: {integrity: sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==} engines: {node: '>=4.5.0'} @@ -10942,14 +9785,6 @@ packages: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: false - /domexception@4.0.0: - resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} - engines: {node: '>=12'} - deprecated: Use your platform's native DOMException instead - dependencies: - webidl-conversions: 7.0.0 - dev: true - /domhandler@3.3.0: resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==} engines: {node: '>= 4'} @@ -10971,10 +9806,6 @@ packages: domelementtype: 2.3.0 dev: false - /dompurify@3.0.8: - resolution: {integrity: sha512-b7uwreMYL2eZhrSCRC4ahLTeZcPZxSmYfmcQGXGkXiZSNW1X85v+SDM5KsWcpivIiUBH47Ji7NtyUdpLeF5JZQ==} - dev: false - /dompurify@3.0.9: resolution: {integrity: sha512-uyb4NDIvQ3hRn6NiC+SIFaP4mJ/MdXlvtunaqK9Bn6dD3RuB/1S/gasEjDHD8eiaqdSael2vBv+hOs7Y+jhYOQ==} dev: false @@ -11142,10 +9973,6 @@ packages: tapable: 2.2.1 dev: true - /entities@2.1.0: - resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} - dev: true - /entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: false @@ -11153,6 +9980,7 @@ packages: /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + dev: false /err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} @@ -11170,29 +9998,31 @@ packages: stackframe: 1.3.4 dev: false - /es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + /es-abstract@1.22.4: + resolution: {integrity: sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.6 - call-bind: 1.0.5 - es-set-tostringtag: 2.0.2 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.3 - get-symbol-description: 1.0.0 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 globalthis: 1.0.3 gopd: 1.0.1 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 - internal-slot: 1.0.6 + hasown: 2.0.1 + internal-slot: 1.0.7 is-array-buffer: 3.0.4 is-callable: 1.2.7 - is-negative-zero: 2.0.2 + is-negative-zero: 2.0.3 is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 is-string: 1.0.7 @@ -11201,54 +10031,55 @@ packages: object-inspect: 1.13.1 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.1 + regexp.prototype.flags: 1.5.2 safe-array-concat: 1.1.0 - safe-regex-test: 1.0.2 + safe-regex-test: 1.0.3 string.prototype.trim: 1.2.8 string.prototype.trimend: 1.0.7 string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.5 unbox-primitive: 1.0.2 which-typed-array: 1.1.14 dev: true + /es-array-method-boxes-properly@1.0.0: + resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + dev: true + + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + /es-errors@1.0.0: resolution: {integrity: sha512-yHV74THqMJUyFKkHyN7hyENcEZM3Dj2a2IrdClY+IT4BFQHkIVwlh8s6uZfjsFydMdNHv0F5mWgAA3ajFbsvVQ==} engines: {node: '>= 0.4'} - requiresBuild: true - /es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.3 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 - is-string: 1.0.7 - isarray: 2.0.5 - stop-iteration-iterator: 1.0.0 - dev: true + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} - /es-iterator-helpers@1.0.15: - resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} + /es-iterator-helpers@1.0.17: + resolution: {integrity: sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==} + engines: {node: '>= 0.4'} dependencies: asynciterator.prototype: 1.0.0 - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - es-set-tostringtag: 2.0.2 + es-abstract: 1.22.4 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 function-bind: 1.1.2 - get-intrinsic: 1.2.3 + get-intrinsic: 1.2.4 globalthis: 1.0.3 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - internal-slot: 1.0.6 + internal-slot: 1.0.7 iterator.prototype: 1.1.2 safe-array-concat: 1.1.0 dev: true @@ -11257,19 +10088,19 @@ packages: resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} dev: true - /es-set-tostringtag@2.0.2: - resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + /es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.3 + get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 - hasown: 2.0.0 + hasown: 2.0.1 dev: true /es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - hasown: 2.0.0 + hasown: 2.0.1 dev: true /es-to-primitive@1.2.1: @@ -11281,37 +10112,6 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - dev: true - /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -11347,18 +10147,6 @@ packages: engines: {node: '>=12'} dev: true - /escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} - hasBin: true - dependencies: - esprima: 4.0.1 - estraverse: 5.3.0 - esutils: 2.0.3 - optionalDependencies: - source-map: 0.6.1 - dev: true - /eslint-config-next@14.1.2(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-g46mlgWmHoWhHuDbaQS8PLNQtBkVkiQMnVLhFcqnPSXN2I+R4Obom3ihCIQuNLbjVUgiFFHqmEwwtDuWv1wYKA==} peerDependencies: @@ -11468,7 +10256,7 @@ packages: dependencies: '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + array.prototype.findlastindex: 1.2.4 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 @@ -11476,12 +10264,12 @@ packages: eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - hasown: 2.0.0 + hasown: 2.0.1 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.7 - object.groupby: 1.0.1 + object.groupby: 1.0.2 object.values: 1.1.7 semver: 6.3.1 tsconfig-paths: 3.15.0 @@ -11506,9 +10294,9 @@ packages: axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.15 + es-iterator-helpers: 1.0.17 eslint: 8.57.0 - hasown: 2.0.0 + hasown: 2.0.1 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 minimatch: 3.1.2 @@ -11554,9 +10342,9 @@ packages: dependencies: array-includes: 3.1.7 array.prototype.flatmap: 1.3.2 - array.prototype.tosorted: 1.1.2 + array.prototype.tosorted: 1.1.3 doctrine: 2.1.0 - es-iterator-helpers: 1.0.15 + es-iterator-helpers: 1.0.17 eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 @@ -11666,13 +10454,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /esprima-extract-comments@1.1.0: - resolution: {integrity: sha512-sBQUnvJwpeE9QnPrxh7dpI/dp67erYG4WXEAreAMoelPRpMR7NWb4YtwRPn9b+H1uLQKl/qS8WYmyaljTpjIsw==} - engines: {node: '>=4'} - dependencies: - esprima: 4.0.1 - dev: true - /esprima@1.2.5: resolution: {integrity: sha512-S9VbPDU0adFErpDai3qDkjq8+G05ONtKzcyNrPKg/ZKa+tf879nX2KexNU95b31UoTJjRLInNBHHHjFPoCd7lQ==} engines: {node: '>=0.4.0'} @@ -11716,6 +10497,7 @@ packages: /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + dev: false /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} @@ -11739,10 +10521,6 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - /evtd@0.2.4: - resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==} - dev: false - /exceljs@4.4.0: resolution: {integrity: sha512-XctvKaEMaj1Ii9oDOqbW/6e1gXknSY4g/aLCDicOXqBE4M0nRWkUu0PTp++UPNzoFY12BNHMfs/VadKIS6llvg==} engines: {node: '>=8.3.0'} @@ -11786,21 +10564,6 @@ packages: strip-final-newline: 2.0.0 dev: true - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.2.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} @@ -11843,13 +10606,6 @@ packages: resolution: {integrity: sha512-0dHDIXC7y7LDmCh/lp1oYkmv73K25AMugQI07r8eFopkW6f7Ufn1q+ETMsJjnV9Am14SlElkqy3O92r6xEaxPw==} dev: false - /extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - dependencies: - is-extendable: 0.1.1 - dev: true - /external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} @@ -11859,14 +10615,6 @@ packages: tmp: 0.0.33 dev: true - /extract-comments@1.1.0: - resolution: {integrity: sha512-dzbZV2AdSSVW/4E7Ti5hZdHWbA+Z80RJsJhr5uiL10oyjl/gy7/o+HI1HwK4/WSZhlq4SNKU3oUzXlM13Qx02Q==} - engines: {node: '>=6'} - dependencies: - esprima-extract-comments: 1.1.0 - parse-code-context: 1.0.0 - dev: true - /extract-files@11.0.0: resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==} engines: {node: ^12.20 || >= 14.13} @@ -12068,21 +10816,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /finalhandler@1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} - engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.5.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /finalhandler@1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} @@ -12143,10 +10876,6 @@ packages: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true - /flexsearch@0.7.21: - resolution: {integrity: sha512-W7cHV7Hrwjid6lWmy0IhsWDFQboWSng25U3VVywpHOTJnnAZNPScog67G+cVpeX9f7yDD21ih0WDrMMT+JoaYg==} - dev: true - /follow-redirects@1.15.5: resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} engines: {node: '>=4.0'} @@ -12200,6 +10929,7 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 + dev: false /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} @@ -12254,15 +10984,6 @@ packages: universalify: 2.0.1 dev: true - /fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: true - /fs-monkey@1.0.5: resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} dev: true @@ -12294,9 +11015,9 @@ packages: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 functions-have-names: 1.2.3 dev: true @@ -12334,6 +11055,16 @@ packages: has-symbols: 1.0.3 hasown: 2.0.0 + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.1 + /get-nonce@1.0.1: resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} engines: {node: '>=6'} @@ -12363,17 +11094,13 @@ packages: engines: {node: '>=10'} dev: true - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: true - - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + /get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.3 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 dev: true /get-tsconfig@4.7.2: @@ -12488,17 +11215,6 @@ packages: slash: 3.0.0 dev: true - /globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 4.0.0 - dev: true - /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: @@ -12521,11 +11237,11 @@ packages: cosmiconfig-toml-loader: optional: true dependencies: - '@graphql-tools/graphql-file-loader': 8.0.0(graphql@16.8.1) - '@graphql-tools/json-file-loader': 8.0.0(graphql@16.8.1) - '@graphql-tools/load': 8.0.1(graphql@16.8.1) + '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.8.1) + '@graphql-tools/json-file-loader': 8.0.1(graphql@16.8.1) + '@graphql-tools/load': 8.0.2(graphql@16.8.1) '@graphql-tools/merge': 9.0.1(graphql@16.8.1) - '@graphql-tools/url-loader': 8.0.1(@types/node@20.11.24)(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.11.24)(graphql@16.8.1) '@graphql-tools/utils': 10.0.13(graphql@16.8.1) cosmiconfig: 8.3.6(typescript@5.3.3) graphql: 16.8.1 @@ -12595,16 +11311,6 @@ packages: resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - /gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - dependencies: - js-yaml: 3.14.1 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 - dev: true - /gzip-size@6.0.0: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} engines: {node: '>=10'} @@ -12656,10 +11362,19 @@ packages: dependencies: get-intrinsic: 1.2.3 + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + dependencies: + es-define-property: 1.0.0 + /has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} + /has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} @@ -12676,6 +11391,12 @@ packages: dependencies: function-bind: 1.1.2 + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true @@ -12691,63 +11412,6 @@ packages: resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} dev: false - /highlight.js@11.9.0: - resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==} - engines: {node: '>=12.0.0'} - dev: false - - /histoire@0.17.9(@types/node@20.11.24)(vite@5.1.5): - resolution: {integrity: sha512-z5Jb9QwbOw0TKvpkU0v7+CxJG6hIljIKMhWXzOfteteRZGDFElpTEwbr5/8EdPI6VTdF/k76fqZ07nmS9YdUvA==} - hasBin: true - peerDependencies: - vite: ^2.9.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 - dependencies: - '@akryum/tinypool': 0.3.1 - '@histoire/app': 0.17.10(vite@5.1.5) - '@histoire/controls': 0.17.9(vite@5.1.5) - '@histoire/shared': 0.17.10(vite@5.1.5) - '@histoire/vendors': 0.17.8 - '@types/flexsearch': 0.7.6 - '@types/markdown-it': 12.2.3 - birpc: 0.1.1 - change-case: 4.1.2 - chokidar: 3.5.3 - connect: 3.7.0 - defu: 6.1.4 - diacritics: 1.3.0 - flexsearch: 0.7.21 - fs-extra: 10.1.0 - globby: 13.2.2 - gray-matter: 4.0.3 - jiti: 1.21.0 - jsdom: 20.0.3 - markdown-it: 12.3.2 - markdown-it-anchor: 8.6.7(@types/markdown-it@12.2.3)(markdown-it@12.3.2) - markdown-it-attrs: 4.1.6(markdown-it@12.3.2) - markdown-it-emoji: 2.0.2 - micromatch: 4.0.5 - mrmime: 1.0.1 - pathe: 1.1.2 - picocolors: 1.0.0 - sade: 1.8.1 - shiki-es: 0.2.0 - sirv: 2.0.4 - vite: 5.1.5(@types/node@20.11.24) - vite-node: 0.34.7(@types/node@20.11.24) - transitivePeerDependencies: - - '@types/node' - - bufferutil - - canvas - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - - utf-8-validate - dev: true - /hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} dependencies: @@ -12771,13 +11435,6 @@ packages: lru-cache: 10.2.0 dev: true - /html-encoding-sniffer@3.0.0: - resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} - engines: {node: '>=12'} - dependencies: - whatwg-encoding: 2.0.0 - dev: true - /html-encoding-sniffer@4.0.0: resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} engines: {node: '>=18'} @@ -12862,19 +11519,8 @@ packages: statuses: 2.0.1 toidentifier: 1.0.1 - /http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2 - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - dev: true - - /http-proxy-agent@7.0.0: - resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} + /http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 @@ -12890,9 +11536,10 @@ packages: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: false - /https-proxy-agent@7.0.2: - resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} + /https-proxy-agent@7.0.4: + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 @@ -12905,11 +11552,6 @@ packages: engines: {node: '>=10.17.0'} dev: true - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true - /hyphenate-style-name@1.0.4: resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==} dev: false @@ -12925,6 +11567,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 + dev: false /identity-function@1.0.0: resolution: {integrity: sha512-kNrgUK0qI+9qLTBidsH85HjDLpZfrrS0ElquKKe/fJFdB3D7VeKdXXEvOPDUHSHOzdZKCAAaQIWWyp0l2yq6pw==} @@ -13035,12 +11678,12 @@ packages: wrap-ansi: 6.2.0 dev: true - /internal-slot@1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + /internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.3 - hasown: 2.0.0 + es-errors: 1.3.0 + hasown: 2.0.1 side-channel: 1.0.4 dev: true @@ -13066,20 +11709,12 @@ packages: is-windows: 1.0.2 dev: true - /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.2 - dev: true - /is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.3 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 dev: true /is-arrayish@0.2.1: @@ -13113,7 +11748,7 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 has-tostringtag: 1.0.2 dev: true @@ -13148,11 +11783,6 @@ packages: object-assign: 4.1.1 dev: false - /is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - dev: true - /is-extendable@1.0.1: resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} engines: {node: '>=0.10.0'} @@ -13167,7 +11797,7 @@ packages: /is-finalizationregistry@1.0.2: resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 dev: true /is-fullwidth-code-point@3.0.0: @@ -13207,8 +11837,8 @@ packages: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} dev: true - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + /is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} dev: true @@ -13271,6 +11901,7 @@ packages: /is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + dev: false /is-promise@2.2.2: resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} @@ -13291,7 +11922,7 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 has-tostringtag: 1.0.2 /is-relative@1.0.0: @@ -13301,11 +11932,6 @@ packages: is-unc-path: 1.0.0 dev: true - /is-retry-allowed@2.2.0: - resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} - engines: {node: '>=10'} - dev: false - /is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} dev: true @@ -13313,7 +11939,7 @@ packages: /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 dev: true /is-stream@1.1.0: @@ -13326,11 +11952,6 @@ packages: engines: {node: '>=8'} dev: true - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -13389,14 +12010,14 @@ packages: /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 dev: true /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.3 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 dev: true /is-windows@1.0.2: @@ -13474,9 +12095,9 @@ packages: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: define-properties: 1.2.1 - get-intrinsic: 1.2.3 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.4 + reflect.getprototypeof: 1.0.5 set-function-name: 2.0.1 dev: true @@ -13550,10 +12171,6 @@ packages: resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} dev: false - /js-sha3@0.8.0: - resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} - dev: false - /js-stringify@1.0.2: resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==} requiresBuild: true @@ -13562,61 +12179,12 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 - /jsdom@20.0.3: - resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} - engines: {node: '>=14'} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - dependencies: - abab: 2.0.6 - acorn: 8.11.3 - acorn-globals: 7.0.1 - cssom: 0.5.0 - cssstyle: 2.3.0 - data-urls: 3.0.2 - decimal.js: 10.4.3 - domexception: 4.0.0 - escodegen: 2.1.0 - form-data: 4.0.0 - html-encoding-sniffer: 3.0.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.7 - parse5: 7.1.2 - saxes: 6.0.0 - symbol-tree: 3.2.4 - tough-cookie: 4.1.3 - w3c-xmlserializer: 4.0.0 - webidl-conversions: 7.0.0 - whatwg-encoding: 2.0.0 - whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 - ws: 8.16.0 - xml-name-validator: 4.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /jsdom@24.0.0: resolution: {integrity: sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==} engines: {node: '>=18'} @@ -13631,8 +12199,8 @@ packages: decimal.js: 10.4.3 form-data: 4.0.0 html-encoding-sniffer: 4.0.0 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.7 parse5: 7.1.2 @@ -13755,7 +12323,7 @@ packages: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 7.5.4 + semver: 7.6.0 dev: false /jstransformer@1.0.0: @@ -13874,10 +12442,6 @@ packages: - domexception dev: true - /kolorist@1.8.0: - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - dev: true - /ky@1.2.2: resolution: {integrity: sha512-gYA2QOI3uIaImJPJjaBbLCdvKHzwxsuB03s7PjrXmoO6tcn6k53rwYoSRgqrmVsEV6wFFegOXDVjABxFZ0aRSg==} engines: {node: '>=18'} @@ -13894,13 +12458,6 @@ packages: language-subtag-registry: 0.3.22 dev: true - /launch-editor@2.6.1: - resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} - dependencies: - picocolors: 1.0.0 - shell-quote: 1.8.1 - dev: true - /lazystream@1.0.1: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} @@ -14051,12 +12608,6 @@ packages: /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - /linkify-it@3.0.3: - resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} - dependencies: - uc.micro: 1.0.6 - dev: true - /linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} dependencies: @@ -14105,14 +12656,6 @@ packages: engines: {node: '>=6.11.5'} dev: true - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - dependencies: - mlly: 1.5.0 - pkg-types: 1.0.3 - dev: true - /localforage@1.10.0: resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} dependencies: @@ -14133,16 +12676,13 @@ packages: p-locate: 5.0.0 dev: true - /lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - dev: false - /lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} dev: true /lodash.castarray@4.4.0: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + dev: false /lodash.clonedeep@4.5.0: resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} @@ -14360,12 +12900,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - /mailparser@3.6.7: resolution: {integrity: sha512-/3x8HW70DNehw+3vdOPKdlLuxOHoWcGB5jfx5vJ5XUbY9/2jUJbrrhda5Si8Dj/3w08U0y5uGAkqs5+SPTPKoA==} dependencies: @@ -14418,40 +12952,6 @@ packages: engines: {node: '>=8'} dev: true - /markdown-it-anchor@8.6.7(@types/markdown-it@12.2.3)(markdown-it@12.3.2): - resolution: {integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==} - peerDependencies: - '@types/markdown-it': '*' - markdown-it: '*' - dependencies: - '@types/markdown-it': 12.2.3 - markdown-it: 12.3.2 - dev: true - - /markdown-it-attrs@4.1.6(markdown-it@12.3.2): - resolution: {integrity: sha512-O7PDKZlN8RFMyDX13JnctQompwrrILuz2y43pW2GagcwpIIElkAdfeek+erHfxUOlXWPsjFeWmZ8ch1xtRLWpA==} - engines: {node: '>=6'} - peerDependencies: - markdown-it: '>= 9.0.0' - dependencies: - markdown-it: 12.3.2 - dev: true - - /markdown-it-emoji@2.0.2: - resolution: {integrity: sha512-zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ==} - dev: true - - /markdown-it@12.3.2: - resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} - hasBin: true - dependencies: - argparse: 2.0.1 - entities: 2.1.0 - linkify-it: 3.0.3 - mdurl: 1.0.1 - uc.micro: 1.0.6 - dev: true - /markdown-it@14.0.0: resolution: {integrity: sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==} hasBin: true @@ -14464,21 +12964,10 @@ packages: uc.micro: 2.0.0 dev: false - /match-sorter@6.3.3: - resolution: {integrity: sha512-sgiXxrRijEe0SzHKGX4HouCpfHRPnqteH42UdMEW7BlWy990ZkzcvonJGv4Uu9WE7Y1f8Yocm91+4qFPCbmNww==} - dependencies: - '@babel/runtime': 7.23.9 - remove-accents: 0.5.0 - dev: false - /mdn-data@2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} dev: false - /mdurl@1.0.1: - resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - dev: true - /mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} dev: false @@ -14574,10 +13063,6 @@ packages: braces: 3.0.2 picomatch: 2.3.1 - /microseconds@0.2.0: - resolution: {integrity: sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==} - dev: false - /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -14609,21 +13094,11 @@ packages: engines: {node: '>=8'} dev: true - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true - /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} dev: true - /mini-svg-data-uri@1.4.4: - resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} - hasBin: true - dev: true - /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: @@ -15066,15 +13541,6 @@ packages: hasBin: true dev: true - /mlly@1.5.0: - resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.3.2 - dev: true - /mocha@10.3.0: resolution: {integrity: sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==} engines: {node: '>= 14.0.0'} @@ -15106,27 +13572,18 @@ packages: resolution: {integrity: sha512-pEk4ECWQXV6z2zjhRZUongnLJNUeGQJ3w6OQ5ctGwD+i5o93qjRQUk2Rt6VdNeu3sEP0AB4LcfvdebpxBRVr4g==} dev: true - /monaco-editor@0.45.0: - resolution: {integrity: sha512-mjv1G1ZzfEE3k9HZN0dQ2olMdwIfaeAAjFiwNprLfYNRSz7ctv9XuCT7gPtBGrMUeV1/iZzYKj17Khu1hxoHOA==} + /monaco-editor@0.46.0: + resolution: {integrity: sha512-ADwtLIIww+9FKybWscd7OCfm9odsFYHImBRI1v9AviGce55QY8raT+9ihH8jX/E/e6QVSGM+pKj4jSUSRmALNQ==} dev: false /moo@0.5.2: resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} dev: false - /mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - dev: true - - /mrmime@1.0.1: - resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} - engines: {node: '>=10'} - dev: true - /mrmime@2.0.0: resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} engines: {node: '>=10'} + dev: false /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -15137,10 +13594,6 @@ packages: /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - /muggle-string@0.3.1: - resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} - dev: true - /multer@1.4.4-lts.1: resolution: {integrity: sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==} engines: {node: '>= 6.0.0'} @@ -15169,33 +13622,6 @@ packages: object-assign: 4.1.1 thenify-all: 1.6.0 - /naive-ui@2.38.1(vue@3.4.21): - resolution: {integrity: sha512-AnU1FQ7K/CbhguAX++V4kCFjk7h7RvWt4nvZPRjORMpq+fUIlzD+EcQ5Cv1VqDloNF8+eMv4Akc2Ogacc9S+5A==} - peerDependencies: - vue: ^3.0.0 - dependencies: - '@css-render/plugin-bem': 0.15.12(css-render@0.15.12) - '@css-render/vue3-ssr': 0.15.12(vue@3.4.21) - '@types/katex': 0.16.7 - '@types/lodash': 4.14.202 - '@types/lodash-es': 4.17.12 - async-validator: 4.2.5 - css-render: 0.15.12 - csstype: 3.1.3 - date-fns: 2.30.0 - date-fns-tz: 2.0.0(date-fns@2.30.0) - evtd: 0.2.4 - highlight.js: 11.9.0 - lodash: 4.17.21 - lodash-es: 4.17.21 - seemly: 0.3.8 - treemate: 0.3.11 - vdirs: 0.1.8(vue@3.4.21) - vooks: 0.2.12(vue@3.4.21) - vue: 3.4.21(typescript@5.3.3) - vueuc: 0.4.58(vue@3.4.21) - dev: false - /nano-css@5.6.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-T2Mhc//CepkTa3X4pUhKgbEheJHYAxD0VptuqFhDbGMUWVV2m+lkNiW/Ieuj35wrfC8Zm0l7HvssQh7zcEttSw==} peerDependencies: @@ -15214,12 +13640,6 @@ packages: stylis: 4.3.1 dev: false - /nano-time@1.0.0: - resolution: {integrity: sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==} - dependencies: - big-integer: 1.6.52 - dev: false - /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -15288,8 +13708,8 @@ packages: next: 14.1.2(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) oauth: 0.9.15 openid-client: 5.6.4 - preact: 10.19.3 - preact-render-to-string: 5.2.6(preact@10.19.3) + preact: 10.19.6 + preact-render-to-string: 5.2.6(preact@10.19.6) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) uuid: 8.3.2 @@ -15529,17 +13949,6 @@ packages: path-key: 3.1.1 dev: true - /npm-run-path@5.2.0: - resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: true - - /nprogress@0.2.0: - resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} - dev: false - /nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} dependencies: @@ -15551,6 +13960,7 @@ packages: /nwsapi@2.2.7: resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} + dev: false /oauth@0.10.0: resolution: {integrity: sha512-1orQ9MT1vHFGQxhuy7E/0gECD3fd2fCC+PIX+/jgmU/gI3EpRocXtmtvxCO5x3WZ443FLTLFWNDjl5MPJf9u+Q==} @@ -15576,14 +13986,6 @@ packages: /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - /object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - dev: true - /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} @@ -15607,7 +14009,7 @@ packages: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 @@ -15617,34 +14019,35 @@ packages: resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 dev: true /object.fromentries@2.0.7: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 dev: true - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + /object.groupby@1.0.2: + resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==} dependencies: - call-bind: 1.0.5 + array.prototype.filter: 1.0.3 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.3 + es-abstract: 1.22.4 + es-errors: 1.3.0 dev: true /object.hasown@1.1.3: resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} dependencies: define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 dev: true /object.omit@3.0.0: @@ -15665,15 +14068,11 @@ packages: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 dev: true - /oblivious-set@1.0.0: - resolution: {integrity: sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==} - dev: false - /oidc-token-hash@5.0.3: resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==} engines: {node: ^10.13.0 || >=12.0.0} @@ -15684,13 +14083,6 @@ packages: engines: {node: '>=14.0.0'} dev: false - /on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} - dependencies: - ee-first: 1.1.1 - dev: true - /on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -15709,13 +14101,6 @@ packages: mimic-fn: 2.1.0 dev: true - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: true - /open@7.4.2: resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} engines: {node: '>=8'} @@ -15889,11 +14274,6 @@ packages: callsites: 3.1.0 dev: true - /parse-code-context@1.0.0: - resolution: {integrity: sha512-OZQaqKaQnR21iqhlnPfVisFjBWjhnMl5J9MgbP8xC+EwoVqbXrq78lp+9Zb3ahmLzrIX5Us/qbvBnaS3hkH6OA==} - engines: {node: '>=6'} - dev: true - /parse-filepath@1.0.2: resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} engines: {node: '>=0.8'} @@ -15936,6 +14316,7 @@ packages: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: entities: 4.5.0 + dev: false /parseley@0.12.1: resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==} @@ -16039,11 +14420,6 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true - /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -16088,10 +14464,6 @@ packages: engines: {node: '>=8'} dev: true - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true - /pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} @@ -16124,24 +14496,6 @@ packages: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} - /pinia@2.1.7(typescript@5.3.3)(vue@3.4.21): - resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} - peerDependencies: - '@vue/composition-api': ^1.4.0 - typescript: '>=4.4.4' - vue: ^2.6.14 || ^3.3.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - typescript: - optional: true - dependencies: - '@vue/devtools-api': 6.5.1 - typescript: 5.3.3 - vue: 3.4.21(typescript@5.3.3) - vue-demi: 0.14.7(vue@3.4.21) - dev: false - /pino-abstract-transport@1.1.0: resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} dependencies: @@ -16203,14 +14557,6 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.5.0 - pathe: 1.1.2 - dev: true - /pkginfo@0.3.1: resolution: {integrity: sha512-yO5feByMzAp96LtP58wvPKSbaKAi/1C4kV9XpTctr6EepnP6F33RBNOiVrdz9BrPA98U2BMFsTNHo44TWcbQ2A==} engines: {node: '>= 0.4.0'} @@ -16221,6 +14567,11 @@ packages: engines: {node: '>=4'} dev: true + /possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + dev: true + /postcss-import@15.1.0(postcss@8.4.35): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -16273,6 +14624,7 @@ packages: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 + dev: false /postcss-selector-parser@6.0.15: resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} @@ -16301,17 +14653,17 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /preact-render-to-string@5.2.6(preact@10.19.3): + /preact-render-to-string@5.2.6(preact@10.19.6): resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==} peerDependencies: preact: '>=10' dependencies: - preact: 10.19.3 + preact: 10.19.6 pretty-format: 3.8.0 dev: false - /preact@10.19.3: - resolution: {integrity: sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==} + /preact@10.19.6: + resolution: {integrity: sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==} dev: false /prelude-ls@1.2.1: @@ -16604,8 +14956,8 @@ packages: prosemirror-view: 1.33.1 dev: false - /prosemirror-tables@1.3.6: - resolution: {integrity: sha512-95yL7w+/KcC5AD1VlacTrtFCJ0vNC+jRklGbikATPz0xSyuYq7XO6f/YCaMfWAtsGTbwt3zh1uWkzsIYyPeK9g==} + /prosemirror-tables@1.3.5: + resolution: {integrity: sha512-JSZ2cCNlApu/ObAhdPyotrjBe2cimniniTpz60YXzbL0kZ+47nEYk2LWbfKU2lKpBkUNquta2PjteoNi4YCluQ==} dependencies: prosemirror-keymap: 1.2.2 prosemirror-model: 1.19.4 @@ -16668,6 +15020,7 @@ packages: /psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + dev: false /pug-attrs@3.0.0: resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==} @@ -16817,6 +15170,7 @@ packages: /querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: false /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -16909,26 +15263,8 @@ packages: /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - /react-query@3.39.3(react@18.2.0): - resolution: {integrity: sha512-nLfLz7GiohKTJDuT4us4X3h/8unOh+00MLb2yJoGTPjxKs2bc1iDhkNx2bd5MKklXnOD3NrVZ+J2UXujA5In4g==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: '*' - react-native: '*' - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true - dependencies: - '@babel/runtime': 7.23.9 - broadcast-channel: 3.7.0 - match-sorter: 6.3.3 - react: 18.2.0 - dev: false - - /react-remove-scroll-bar@2.3.4(@types/react@18.2.63)(react@18.2.0): - resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} + /react-remove-scroll-bar@2.3.5(@types/react@18.2.63)(react@18.2.0): + resolution: {integrity: sha512-3cqjOqg6s0XbOjWvmasmqHch+RLxIEk2r/70rzGXuz3iIGQsQheEQyqYCBb5EECoD01Vo2SIbDqW4paLeLTASw==} engines: {node: '>=10'} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -16955,7 +15291,7 @@ packages: dependencies: '@types/react': 18.2.63 react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.63)(react@18.2.0) + react-remove-scroll-bar: 2.3.5(@types/react@18.2.63)(react@18.2.0) react-style-singleton: 2.2.1(@types/react@18.2.63)(react@18.2.0) tslib: 2.6.2 use-callback-ref: 1.3.1(@types/react@18.2.63)(react@18.2.0) @@ -16974,7 +15310,7 @@ packages: dependencies: '@types/react': 18.2.63 react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.63)(react@18.2.0) + react-remove-scroll-bar: 2.3.5(@types/react@18.2.63)(react@18.2.0) react-style-singleton: 2.2.1(@types/react@18.2.63)(react@18.2.0) tslib: 2.6.2 use-callback-ref: 1.3.1(@types/react@18.2.63)(react@18.2.0) @@ -17165,14 +15501,15 @@ packages: /reflect-metadata@0.2.1: resolution: {integrity: sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==} - /reflect.getprototypeof@1.0.4: - resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + /reflect.getprototypeof@1.0.5: + resolution: {integrity: sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.3 + es-abstract: 1.22.4 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 globalthis: 1.0.3 which-builtin-type: 1.1.3 dev: true @@ -17180,12 +15517,13 @@ packages: /regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + /regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 + es-errors: 1.3.0 set-function-name: 2.0.1 dev: true @@ -17222,10 +15560,6 @@ packages: resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==} dev: true - /remove-accents@0.5.0: - resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==} - dev: false - /remove-trailing-separator@1.1.0: resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: true @@ -17262,6 +15596,7 @@ packages: /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: false /resize-observer-polyfill@1.5.1: resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} @@ -17373,29 +15708,6 @@ packages: fsevents: 2.3.3 dev: false - /rollup@4.9.6: - resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.9.6 - '@rollup/rollup-android-arm64': 4.9.6 - '@rollup/rollup-darwin-arm64': 4.9.6 - '@rollup/rollup-darwin-x64': 4.9.6 - '@rollup/rollup-linux-arm-gnueabihf': 4.9.6 - '@rollup/rollup-linux-arm64-gnu': 4.9.6 - '@rollup/rollup-linux-arm64-musl': 4.9.6 - '@rollup/rollup-linux-riscv64-gnu': 4.9.6 - '@rollup/rollup-linux-x64-gnu': 4.9.6 - '@rollup/rollup-linux-x64-musl': 4.9.6 - '@rollup/rollup-win32-arm64-msvc': 4.9.6 - '@rollup/rollup-win32-ia32-msvc': 4.9.6 - '@rollup/rollup-win32-x64-msvc': 4.9.6 - fsevents: 2.3.3 - dev: true - /rope-sequence@1.3.4: resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==} dev: false @@ -17437,19 +15749,12 @@ packages: dependencies: tslib: 2.6.2 - /sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} - dependencies: - mri: 1.2.0 - dev: true - /safe-array-concat@1.1.0: resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} engines: {node: '>=0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.3 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 dev: true @@ -17460,12 +15765,12 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-regex-test@1.0.2: - resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.3 + call-bind: 1.0.7 + es-errors: 1.3.0 is-regex: 1.1.4 dev: true @@ -17489,6 +15794,7 @@ packages: engines: {node: '>=v12.22.7'} dependencies: xmlchars: 2.2.0 + dev: false /scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} @@ -17513,22 +15819,10 @@ packages: resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} dev: true - /section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 - dev: true - /secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} dev: false - /seemly@0.3.8: - resolution: {integrity: sha512-MW8Qs6vbzo0pHmDpFSYPna+lwpZ6Zk1ancbajw/7E8TKtHdV+1DfZZD+kKJEhG/cAoB/i+LiT+5msZOqj0DwRA==} - dev: false - /selderee@0.11.0: resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} dependencies: @@ -17549,6 +15843,7 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 + dev: true /semver@7.6.0: resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} @@ -17615,7 +15910,6 @@ packages: /set-function-length@1.2.0: resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==} engines: {node: '>= 0.4'} - requiresBuild: true dependencies: define-data-property: 1.1.1 function-bind: 1.1.2 @@ -17623,13 +15917,24 @@ packages: gopd: 1.0.1 has-property-descriptors: 1.0.1 + /set-function-length@1.2.1: + resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + /set-function-name@2.0.1: resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 + define-data-property: 1.1.4 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.2 dev: true /set-harmonic-interval@1.0.1: @@ -17658,7 +15963,7 @@ packages: dependencies: color: 4.2.3 detect-libc: 2.0.2 - semver: 7.5.4 + semver: 7.6.0 optionalDependencies: '@img/sharp-darwin-arm64': 0.33.2 '@img/sharp-darwin-x64': 0.33.2 @@ -17721,11 +16026,6 @@ packages: rechoir: 0.6.2 dev: true - /shiki-es@0.2.0: - resolution: {integrity: sha512-RbRMD+IuJJseSZljDdne9ThrUYrwBwJR04FvN4VXpfsU3MNID5VJGHLAD5je/HGThCyEKNgH+nEkSFEWKD7C3Q==} - deprecated: Please migrate to https://github.com/antfu/shikiji - dev: true - /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: @@ -17768,17 +16068,13 @@ packages: '@polka/url': 1.0.0-next.24 mrmime: 2.0.0 totalist: 3.0.1 + dev: false /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} dev: true - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: true - /slice-ansi@3.0.0: resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} engines: {node: '>=8'} @@ -17829,10 +16125,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /sortablejs@1.15.2: - resolution: {integrity: sha512-FJF5jgdfvoKn1MAKSdGs33bIqLi3LmsgVTliuX6iITj834F+JRQZN90Z93yql8h0K2t0RwDPBmxwlbZfDcxNZA==} - dev: false - /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} @@ -17901,10 +16193,6 @@ packages: tslib: 2.6.2 dev: true - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - /sql-formatter@15.2.0: resolution: {integrity: sha512-k1gDOblvmtzmrBT687Y167ElwQI/8KrlhfKeIUXsi6jw7Rp5n3G8TkMFZF0Z9NG7rAzHKXUlJ8kfmcIfMf5lFg==} hasBin: true @@ -17960,18 +16248,12 @@ packages: /statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} + dev: false /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - /stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} - dependencies: - internal-slot: 1.0.6 - dev: true - /streamsearch@0.1.2: resolution: {integrity: sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA==} engines: {node: '>=0.8.0'} @@ -18008,13 +16290,13 @@ packages: /string.prototype.matchall@4.0.10: resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.3 + es-abstract: 1.22.4 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 - internal-slot: 1.0.6 - regexp.prototype.flags: 1.5.1 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.2 set-function-name: 2.0.1 side-channel: 1.0.4 dev: true @@ -18023,25 +16305,25 @@ packages: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 dev: true /string.prototype.trimend@1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 dev: true /string.prototype.trimstart@1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 dev: true /string_decoder@0.10.31: @@ -18070,11 +16352,6 @@ packages: dependencies: ansi-regex: 6.0.1 - /strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - dev: true - /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -18095,11 +16372,6 @@ packages: engines: {node: '>=6'} dev: true - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true - /strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -18233,6 +16505,7 @@ packages: /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + dev: false /synckit@0.8.8: resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} @@ -18267,7 +16540,7 @@ packages: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 - chokidar: 3.5.3 + chokidar: 3.6.0 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.3.2 @@ -18372,11 +16645,6 @@ packages: engines: {node: '>=10'} dev: false - /throttle-debounce@5.0.0: - resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} - engines: {node: '>=12.22'} - dev: false - /through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: @@ -18387,10 +16655,6 @@ packages: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true - /tiny-invariant@1.3.1: - resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} - dev: true - /tippy.js@6.3.7: resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==} dependencies: @@ -18464,6 +16728,7 @@ packages: /totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} + dev: false /tough-cookie@4.1.3: resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} @@ -18473,17 +16738,11 @@ packages: punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 + dev: false /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - /tr46@3.0.0: - resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} - engines: {node: '>=12'} - dependencies: - punycode: 2.3.1 - dev: true - /tr46@5.0.0: resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} engines: {node: '>=18'} @@ -18500,10 +16759,6 @@ packages: hasBin: true dev: true - /treemate@0.3.11: - resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==} - dev: false - /trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} @@ -18529,17 +16784,6 @@ packages: resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} dev: false - /ts-essentials@9.4.1(typescript@5.3.3): - resolution: {integrity: sha512-oke0rI2EN9pzHsesdmrOrnqv1eQODmJpd/noJjwj2ZPC3Z4N2wbjrOEqnsEgmvlO2+4fBb0a794DCna2elEVIQ==} - peerDependencies: - typescript: '>=4.1.0' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - typescript: 5.3.3 - dev: false - /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -18559,7 +16803,7 @@ packages: chalk: 4.1.2 enhanced-resolve: 5.15.0 micromatch: 4.0.5 - semver: 7.5.4 + semver: 7.6.0 source-map: 0.7.4 typescript: 5.3.3 webpack: 5.90.1 @@ -18685,11 +16929,6 @@ packages: engines: {node: '>=12.20'} dev: false - /type-fest@4.10.2: - resolution: {integrity: sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==} - engines: {node: '>=16'} - dev: false - /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -18697,42 +16936,48 @@ packages: media-typer: 0.3.0 mime-types: 2.1.35 - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + /typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.3 + call-bind: 1.0.7 + es-errors: 1.3.0 is-typed-array: 1.1.13 dev: true - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + /typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 + gopd: 1.0.1 + has-proto: 1.0.3 is-typed-array: 1.1.13 dev: true - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + /typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.6 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 + gopd: 1.0.1 + has-proto: 1.0.3 is-typed-array: 1.1.13 dev: true - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + /typed-array-length@1.0.5: + resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 dev: true /typedarray@0.0.6: @@ -18747,18 +16992,10 @@ packages: resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} dev: true - /uc.micro@1.0.6: - resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} - dev: true - /uc.micro@2.0.0: resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==} dev: false - /ufo@1.3.2: - resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} - dev: true - /uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} @@ -18778,7 +17015,7 @@ packages: /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -18808,6 +17045,7 @@ packages: /universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} + dev: false /universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} @@ -18821,57 +17059,10 @@ packages: normalize-path: 2.1.1 dev: true - /unload@2.2.0: - resolution: {integrity: sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==} - dependencies: - '@babel/runtime': 7.23.9 - detect-node: 2.1.0 - dev: false - /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - /unplugin-icons@0.18.5: - resolution: {integrity: sha512-KVNAohXbZ7tVcG1C3p6QaC7wU9Qrj7etv4XvsMMJAxr5LccQZ+Iuv5LOIv/7GtqXaGN1BuFCqRO1ErsHEgEXdQ==} - peerDependencies: - '@svgr/core': '>=7.0.0' - '@svgx/core': ^1.0.1 - '@vue/compiler-sfc': ^3.0.2 || ^2.7.0 - vue-template-compiler: ^2.6.12 - vue-template-es2015-compiler: ^1.9.0 - peerDependenciesMeta: - '@svgr/core': - optional: true - '@svgx/core': - optional: true - '@vue/compiler-sfc': - optional: true - vue-template-compiler: - optional: true - vue-template-es2015-compiler: - optional: true - dependencies: - '@antfu/install-pkg': 0.3.1 - '@antfu/utils': 0.7.7 - '@iconify/utils': 2.1.22 - debug: 4.3.4(supports-color@8.1.1) - kolorist: 1.8.0 - local-pkg: 0.5.0 - unplugin: 1.6.0 - transitivePeerDependencies: - - supports-color - dev: true - - /unplugin@1.6.0: - resolution: {integrity: sha512-BfJEpWBu3aE/AyHx8VaNE/WgouoQxgH9baAiH82JjX8cqVyi3uJQstqwD5J+SZxIK326SZIhsSZlALXVBCknTQ==} - dependencies: - acorn: 8.11.3 - chokidar: 3.5.3 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.6.1 - dev: true - /unzipper@0.10.14: resolution: {integrity: sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==} dependencies: @@ -18935,6 +17126,7 @@ packages: dependencies: querystringify: 2.2.0 requires-port: 1.0.0 + dev: false /urlpattern-polyfill@10.0.0: resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} @@ -19040,25 +17232,6 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - /vdirs@0.1.8(vue@3.4.21): - resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==} - peerDependencies: - vue: ^3.0.11 - dependencies: - evtd: 0.2.4 - vue: 3.4.21(typescript@5.3.3) - dev: false - - /vee-validate@4.12.5(vue@3.4.21): - resolution: {integrity: sha512-rvaDfLPSLwTk+mf016XWE4drB8yXzOsKXiKHTb9gNXNLTtQSZ0Ww26O0/xbIFQe+n3+u8Wv1Y8uO/aLDX4fxOg==} - peerDependencies: - vue: ^3.3.11 - dependencies: - '@vue/devtools-api': 6.5.1 - type-fest: 4.10.2 - vue: 3.4.21(typescript@5.3.3) - dev: false - /version-selector-type@3.0.0: resolution: {integrity: sha512-PSvMIZS7C1MuVNBXl/CDG2pZq8EXy/NW2dHIdm3bVP5N0PC8utDK8ttXLXj44Gn3J0lQE3U7Mpm1estAOd+eiA==} engines: {node: '>=10.13'} @@ -19066,155 +17239,6 @@ packages: semver: 7.6.0 dev: true - /vite-node@0.34.7(@types/node@20.11.24): - resolution: {integrity: sha512-0Yzb96QzHmqIKIs/x2q/sqG750V/EF6yDkS2p1WjJc1W2bgRSuQjf5vB9HY8h2nVb5j4pO5paS5Npcv3s69YUg==} - engines: {node: '>=v14.18.0'} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4(supports-color@8.1.1) - mlly: 1.5.0 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.11.24) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.3.3)(vite@5.1.5)(vue-tsc@1.8.27): - resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} - engines: {node: '>=14.16'} - peerDependencies: - eslint: '>=7' - meow: ^9.0.0 - optionator: ^0.9.1 - stylelint: '>=13' - typescript: '*' - vite: '>=2.0.0' - vls: '*' - vti: '*' - vue-tsc: '>=1.3.9' - peerDependenciesMeta: - eslint: - optional: true - meow: - optional: true - optionator: - optional: true - stylelint: - optional: true - typescript: - optional: true - vls: - optional: true - vti: - optional: true - vue-tsc: - optional: true - dependencies: - '@babel/code-frame': 7.23.5 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - chokidar: 3.5.3 - commander: 8.3.0 - eslint: 8.57.0 - fast-glob: 3.3.2 - fs-extra: 11.2.0 - npm-run-path: 4.0.1 - semver: 7.5.4 - strip-ansi: 6.0.1 - tiny-invariant: 1.3.1 - typescript: 5.3.3 - vite: 5.1.5(@types/node@20.11.24) - vscode-languageclient: 7.0.0 - vscode-languageserver: 7.0.0 - vscode-languageserver-textdocument: 1.0.11 - vscode-uri: 3.0.8 - vue-tsc: 1.8.27(typescript@5.3.3) - dev: true - - /vite-plugin-pages@0.32.0(vite@5.1.5): - resolution: {integrity: sha512-OxS3n0zUo5wsfgNCAuw2FiG/KD1ipgQV+2Flst4RyeI2iPv+m0YueVq+nx41k5NOWJj/zhqEas6I0b7HXveXjA==} - peerDependencies: - '@vue/compiler-sfc': ^2.7.0 || ^3.0.0 - vite: ^2.0.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - '@vue/compiler-sfc': - optional: true - dependencies: - '@types/debug': 4.1.12 - debug: 4.3.4(supports-color@8.1.1) - deep-equal: 2.2.3 - extract-comments: 1.1.0 - fast-glob: 3.3.2 - json5: 2.2.3 - local-pkg: 0.5.0 - picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.11.24) - yaml: 2.3.4 - transitivePeerDependencies: - - supports-color - dev: true - - /vite-plugin-vue-layouts@0.11.0(vite@5.1.5)(vue-router@4.3.0)(vue@3.4.21): - resolution: {integrity: sha512-uh6NW7lt+aOXujK4eHfiNbeo55K9OTuB7fnv+5RVc4OBn/cZull6ThXdYH03JzKanUfgt6QZ37NbbtJ0og59qw==} - peerDependencies: - vite: ^4.0.0 || ^5.0.0 - vue: ^3.2.4 - vue-router: ^4.0.11 - dependencies: - debug: 4.3.4(supports-color@8.1.1) - fast-glob: 3.3.2 - vite: 5.1.5(@types/node@20.11.24) - vue: 3.4.21(typescript@5.3.3) - vue-router: 4.3.0(vue@3.4.21) - transitivePeerDependencies: - - supports-color - dev: true - - /vite@5.1.5(@types/node@20.11.24): - resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.11.24 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.9.6 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /vlq@0.2.3: resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==} dev: true @@ -19225,93 +17249,6 @@ packages: requiresBuild: true dev: false - /vooks@0.2.12(vue@3.4.21): - resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} - peerDependencies: - vue: ^3.0.0 - dependencies: - evtd: 0.2.4 - vue: 3.4.21(typescript@5.3.3) - dev: false - - /vscode-jsonrpc@6.0.0: - resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==} - engines: {node: '>=8.0.0 || >=10.0.0'} - dev: true - - /vscode-languageclient@7.0.0: - resolution: {integrity: sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==} - engines: {vscode: ^1.52.0} - dependencies: - minimatch: 3.1.2 - semver: 7.6.0 - vscode-languageserver-protocol: 3.16.0 - dev: true - - /vscode-languageserver-protocol@3.16.0: - resolution: {integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==} - dependencies: - vscode-jsonrpc: 6.0.0 - vscode-languageserver-types: 3.16.0 - dev: true - - /vscode-languageserver-textdocument@1.0.11: - resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} - dev: true - - /vscode-languageserver-types@3.16.0: - resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==} - dev: true - - /vscode-languageserver@7.0.0: - resolution: {integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==} - hasBin: true - dependencies: - vscode-languageserver-protocol: 3.16.0 - dev: true - - /vscode-uri@3.0.8: - resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - dev: true - - /vue-demi@0.10.1(vue@3.4.21): - resolution: {integrity: sha512-L6Oi+BvmMv6YXvqv5rJNCFHEKSVu7llpWWJczqmAQYOdmPPw5PNYoz1KKS//Fxhi+4QP64dsPjtmvnYGo1jemA==} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^2.6.0 || >=3.0.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - dependencies: - vue: 3.4.21(typescript@5.3.3) - dev: false - - /vue-demi@0.14.7(vue@3.4.21): - resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - dependencies: - vue: 3.4.21(typescript@5.3.3) - dev: false - - /vue-dompurify-html@5.0.1(vue@3.4.21): - resolution: {integrity: sha512-8yoMbo7PX4vt01k0dcCHvP4tY0fOCLkQeMhXXRNmH7/muIUTkFOQNzkAtE0RmqgaF/unabvYnsnCu2CjIMgueg==} - peerDependencies: - vue: ^3.0.0 - dependencies: - dompurify: 3.0.8 - vue: 3.4.21(typescript@5.3.3) - dev: false - /vue-eslint-parser@9.4.2(eslint@8.57.0): resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} engines: {node: ^14.17.0 || >=16.0.0} @@ -19325,101 +17262,14 @@ packages: espree: 9.6.1 esquery: 1.5.0 lodash: 4.17.21 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color dev: true - /vue-query@1.26.0(react@18.2.0)(vue@3.4.21): - resolution: {integrity: sha512-78JbnLX/3tDll5kDr6PUasRWn05BeWm7yJNeUezA9INrn3AgTCLbsEctnlw6/wM6HiRqFj9F+mf+ruZusyiVOg==} - peerDependencies: - '@nuxtjs/composition-api': ^0.28.0 - '@vue/composition-api': ^1.1.2 - vue: ^2.0.0 || >=3.0.0 - peerDependenciesMeta: - '@nuxtjs/composition-api': - optional: true - '@vue/composition-api': - optional: true - dependencies: - '@vue/devtools-api': 6.5.1 - match-sorter: 6.3.3 - react-query: 3.39.3(react@18.2.0) - vue: 3.4.21(typescript@5.3.3) - vue-demi: 0.10.1(vue@3.4.21) - transitivePeerDependencies: - - react - - react-dom - - react-native - dev: false - - /vue-router@4.3.0(vue@3.4.21): - resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} - peerDependencies: - vue: ^3.2.0 - dependencies: - '@vue/devtools-api': 6.5.1 - vue: 3.4.21(typescript@5.3.3) - - /vue-template-compiler@2.7.16: - resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} - dependencies: - de-indent: 1.0.2 - he: 1.2.0 - dev: true - - /vue-tsc@1.8.27(typescript@5.3.3): - resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} - hasBin: true - peerDependencies: - typescript: '*' - dependencies: - '@volar/typescript': 1.11.1 - '@vue/language-core': 1.8.27(typescript@5.3.3) - semver: 7.5.4 - typescript: 5.3.3 - dev: true - - /vue@3.4.21(typescript@5.3.3): - resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-sfc': 3.4.21 - '@vue/runtime-dom': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.21) - '@vue/shared': 3.4.21 - typescript: 5.3.3 - - /vueuc@0.4.58(vue@3.4.21): - resolution: {integrity: sha512-Wnj/N8WbPRSxSt+9ji1jtDHPzda5h2OH/0sFBhvdxDRuyCZbjGg3/cKMaKqEoe+dErTexG2R+i6Q8S/Toq1MYg==} - peerDependencies: - vue: ^3.0.11 - dependencies: - '@css-render/vue3-ssr': 0.15.12(vue@3.4.21) - '@juggle/resize-observer': 3.4.0 - css-render: 0.15.12 - evtd: 0.2.4 - seemly: 0.3.8 - vdirs: 0.1.8(vue@3.4.21) - vooks: 0.2.12(vue@3.4.21) - vue: 3.4.21(typescript@5.3.3) - dev: false - /w3c-keyname@2.2.8: resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} - /w3c-xmlserializer@4.0.0: - resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} - engines: {node: '>=14'} - dependencies: - xml-name-validator: 4.0.0 - dev: true - /w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} @@ -19455,8 +17305,8 @@ packages: - encoding dev: false - /web-streams-polyfill@3.3.2: - resolution: {integrity: sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==} + /web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} dev: true @@ -19476,6 +17326,7 @@ packages: /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} + dev: false /webpack-bundle-analyzer@4.10.1: resolution: {integrity: sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==} @@ -19509,10 +17360,6 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - /webpack-virtual-modules@0.6.1: - resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} - dev: true - /webpack@5.90.1: resolution: {integrity: sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==} engines: {node: '>=10.13.0'} @@ -19553,13 +17400,6 @@ packages: - uglify-js dev: true - /whatwg-encoding@2.0.0: - resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} - engines: {node: '>=12'} - dependencies: - iconv-lite: 0.6.3 - dev: true - /whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} @@ -19570,20 +17410,13 @@ packages: /whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} + dev: false /whatwg-mimetype@4.0.0: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} dev: false - /whatwg-url@11.0.0: - resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} - engines: {node: '>=12'} - dependencies: - tr46: 3.0.0 - webidl-conversions: 7.0.0 - dev: true - /whatwg-url@14.0.0: resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} engines: {node: '>=18'} @@ -19643,8 +17476,8 @@ packages: resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.6 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.2 @@ -19756,6 +17589,7 @@ packages: /xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + dev: false /xss@1.0.14: resolution: {integrity: sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 006209cb8b..852bf6b8f9 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,4 +1,2 @@ packages: - - backend - - frontend - - frontend-client + - apps/* diff --git a/scripts/deploy.sh b/scripts/deploy.sh index c39b93105d..fbb332103b 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -22,12 +22,7 @@ pnpm install pnpm run init:testcases # 데이터베이스 마이그레이션 -pnpm --filter backend exec prisma migrate reset -f - -# 프론트엔드 빌드 -# TODO: dist에 non-root 사용자도 접근할 수 있도록 권한 설정 -# pnpm --filter frontend run build -# cp -r $BASEDIR/frontend/dist $DIST +pnpm --filter="@codedang/backend" exec prisma migrate reset -f # RabbitMQ Admin 설치 curl https://raw.githubusercontent.com/rabbitmq/rabbitmq-server/main/deps/rabbitmq_management/bin/rabbitmqadmin -o /usr/local/bin/rabbitmqadmin diff --git a/scripts/init-testcase.ts b/scripts/init-testcase.ts index 9432bcc001..9176caf74e 100644 --- a/scripts/init-testcase.ts +++ b/scripts/init-testcase.ts @@ -54,7 +54,7 @@ const main = async () => { } // upload example testcase files - const dir = resolve(basename(__dirname), '../iris/tests/data/testcase') + const dir = resolve(basename(__dirname), '../apps/iris/tests/data/testcase') const files = await readdir(dir) for (const file of files) { const data = await readFile(resolve(dir, file), { diff --git a/scripts/post-checkout.sh b/scripts/post-checkout.sh index ad1d87d049..fa3d34e11c 100755 --- a/scripts/post-checkout.sh +++ b/scripts/post-checkout.sh @@ -6,14 +6,14 @@ cd $BASEDIR pnpm install # delete empty migration folders git has left -find $BASEDIR/backend/prisma/migrations -empty -type d -delete +find $BASEDIR/apps/backend/prisma/migrations -empty -type d -delete if [ -n "$DATABASE_URL" ] then - pnpm --filter backend --silent exec prisma migrate diff \ + pnpm --filter="@codedang/backend" --silent exec prisma migrate diff \ --from-url $DATABASE_URL \ --to-migrations prisma/migrations \ --shadow-database-url $DATABASE_URL \ --exit-code && \ - pnpm --filter backend exec prisma migrate reset -f + pnpm --filter="@codedang/backend" exec prisma migrate reset -f fi diff --git a/scripts/setup.sh b/scripts/setup.sh index 408a9cdb9c..a8416465fb 100755 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -39,19 +39,19 @@ do done < .env.development # If dotenv schema is not updated, remove the file -if [ -f backend/.env ] && grep -q DATABASE_URL backend/.env +if [ -f apps/backend/.env ] && grep -q DATABASE_URL apps/backend/.env then - rm backend/.env + rm apps/backend/.env fi # If .env does not exist, create one -if [ ! -f backend/.env ] +if [ ! -f apps/backend/.env ] then - echo "NODEMAILER_HOST=\"email-smtp.ap-northeast-2.amazonaws.com\"" >> backend/.env - echo "NODEMAILER_USER=\"\"" >> backend/.env - echo "NODEMAILER_PASS=\"\"" >> backend/.env - echo "NODEMAILER_FROM=\"\"" >> backend/.env - echo "JWT_SECRET=$(head -c 64 /dev/urandom | LC_ALL=C tr -dc A-Za-z0-9 | sha256sum | head -c 64)" >> backend/.env + echo "NODEMAILER_HOST=\"email-smtp.ap-northeast-2.amazonaws.com\"" >> apps/backend/.env + echo "NODEMAILER_USER=\"\"" >> apps/backend/.env + echo "NODEMAILER_PASS=\"\"" >> apps/backend/.env + echo "NODEMAILER_FROM=\"\"" >> apps/backend/.env + echo "JWT_SECRET=$(head -c 64 /dev/urandom | LC_ALL=C tr -dc A-Za-z0-9 | sha256sum | head -c 64)" >> apps/backend/.env fi # Install pnpm and Node.js packages @@ -73,17 +73,17 @@ fi # Apply database migration for i in {1..5} do - pnpm --filter backend exec prisma migrate dev && break # break if migration succeed + pnpm --filter="@codedang/backend" exec prisma migrate dev && break # break if migration succeed echo -e '\n⚠️ Failed to migrate. Waiting for db to be ready...\n' sleep 5 done # Install Go dependencies -cd $BASEDIR/iris +cd $BASEDIR/apps/iris go get # Setup sandbox -cp $BASEDIR/iris/lib/judger/policy/java_policy /app/sandbox/policy/ +cp $BASEDIR/apps/iris/lib/judger/policy/java_policy /app/sandbox/policy/ # Check RabbitMQ connection while ! nc -z "$RABBITMQ_HOST" "$RABBITMQ_PORT"; do sleep 3; done diff --git a/skkuding.code-workspace b/skkuding.code-workspace deleted file mode 100644 index 7b14549f13..0000000000 --- a/skkuding.code-workspace +++ /dev/null @@ -1,20 +0,0 @@ -{ - "folders": [ - { - "path": ".", - "name": "All" - }, - { - "path": "backend", - "name": "Backend" - }, - { - "path": "frontend", - "name": "Frontend" - }, - { - "path": "frontend-client", - "name": "Frontend Client" - } - ] -}