From 0fee36bb5dfe1456848e3b5b7a157f4cf50848c5 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 14:38:58 -0800 Subject: [PATCH 01/79] monorepo apps --- .../bot.amplify.aws/public}/Discord-Logo-White.svg | 0 {public => apps/bot.amplify.aws/public}/favicon.png | Bin {public => apps/bot.amplify.aws/public}/logo.svg | 0 {src => apps/bot.amplify.aws/src}/app.css | 0 {src => apps/bot.amplify.aws/src}/app.d.ts | 0 {src => apps/bot.amplify.aws/src}/app.html | 0 {src => apps/bot.amplify.aws/src}/global.d.ts | 0 {src => apps/bot.amplify.aws/src}/hooks/index.ts | 0 {src => apps/bot.amplify.aws/src}/lib/Avatar.svelte | 0 .../bot.amplify.aws/src}/lib/Command.svelte | 0 .../bot.amplify.aws/src}/lib/GuildSwitcher.svelte | 0 .../bot.amplify.aws/src}/lib/LoginButton.svelte | 0 .../bot.amplify.aws/src}/lib/LogoutButton.svelte | 0 .../bot.amplify.aws/src}/lib/SplashScreen.svelte | 0 {src => apps/bot.amplify.aws/src}/lib/audit.ts | 0 {src => apps/bot.amplify.aws/src}/lib/auth.ts | 0 {src => apps/bot.amplify.aws/src}/lib/constants.ts | 0 {src => apps/bot.amplify.aws/src}/lib/db.ts | 0 .../bot.amplify.aws/src}/lib/discord/api.ts | 0 .../bot.amplify.aws/src}/lib/discord/client.ts | 0 .../bot.amplify.aws/src}/lib/discord/commands.ts | 0 .../src}/lib/discord/commands/_messages.ts | 0 .../src}/lib/discord/commands/_repositories.ts | 0 .../src}/lib/discord/commands/admin.ts | 0 .../src}/lib/discord/commands/contribute.ts | 0 .../src}/lib/discord/commands/github.ts | 0 .../src}/lib/discord/commands/giverole.ts | 0 .../src}/lib/discord/commands/login.ts | 0 .../bot.amplify.aws/src}/lib/discord/commands/q.ts | 0 .../src}/lib/discord/commands/select-answer.ts | 0 .../src}/lib/discord/commands/thread.ts | 0 .../src}/lib/discord/get-user-access.ts | 0 .../bot.amplify.aws/src}/lib/discord/index.ts | 0 .../src}/lib/discord/is-admin-or-staff.ts | 0 .../src}/lib/discord/roles/addRole.ts | 0 .../src}/lib/discord/roles/removeRole.ts | 0 .../bot.amplify.aws/src}/lib/discord/support.ts | 0 .../bot.amplify.aws/src}/lib/features/index.ts | 0 .../bot.amplify.aws/src}/lib/features/is-enabled.ts | 0 .../bot.amplify.aws/src}/lib/github/apply-roles.ts | 0 .../bot.amplify.aws/src}/lib/github/queries.ts | 0 {src => apps/bot.amplify.aws/src}/lib/next-auth.ts | 0 .../bot.amplify.aws/src}/lib/notifications.ts | 0 {src => apps/bot.amplify.aws/src}/lib/store.ts | 0 .../src}/lib/support/get-form-body.ts | 0 .../bot.amplify.aws/src}/routes/+error.svelte | 0 .../bot.amplify.aws/src}/routes/+layout.server.ts | 0 .../bot.amplify.aws/src}/routes/+layout.svelte | 0 .../bot.amplify.aws/src}/routes/+page.svelte | 0 .../src}/routes/admin/+layout.server.ts | 0 .../src}/routes/admin/+layout.svelte | 0 .../src}/routes/admin/+page.server.ts | 0 .../bot.amplify.aws/src}/routes/admin/+page.svelte | 0 .../src}/routes/admin/BreadcrumbOverflowIcon.svelte | 0 .../src}/routes/admin/breadcrumbs.ts | 0 .../src}/routes/admin/integrations/+page.server.ts | 0 .../src}/routes/admin/integrations/+page.svelte | 0 .../routes/admin/integrations/[code]/+layout.svelte | 0 .../admin/integrations/[code]/+page.server.ts | 0 .../routes/admin/integrations/[code]/+page.svelte | 0 .../bot.amplify.aws/src}/routes/admin/tabs.ts | 0 .../bot.amplify.aws/src}/routes/api/_discord.ts | 0 .../src}/routes/api/admin/+layout.server.ts | 0 .../src}/routes/api/admin/+layout.svelte | 0 .../src}/routes/api/admin/commands/+server.ts | 0 .../src}/routes/api/admin/configure/+server.ts | 0 .../src}/routes/api/admin/feature/+server.ts | 0 .../src}/routes/api/admin/is/+server.ts | 0 .../src}/routes/api/auth/[...nextauth]/+server.ts | 0 .../src}/routes/api/discord/[userId]/+server.ts | 0 .../src}/routes/api/github/[username]/+server.ts | 0 .../src}/routes/api/p/color/[code]/+server.ts | 0 .../src}/routes/api/questions/list/+server.ts | 0 .../src}/routes/api/switch-guild/+server.ts | 0 .../src}/routes/api/webhooks/_verifyWebhook.ts | 0 .../api/webhooks/github-org-membership/+server.ts | 0 .../routes/api/webhooks/github-release/+server.ts | 0 .../src}/routes/auth/error/+page.svelte | 0 .../bot.amplify.aws/src}/routes/auth/error/+page.ts | 0 .../src}/routes/dashboard/+layout.server.ts | 0 .../src}/routes/dashboard/+layout.svelte | 0 .../src}/routes/dashboard/+page.server.ts | 0 .../src}/routes/dashboard/+page.svelte | 0 .../dashboard/components/ChannelHealth.svelte | 0 .../routes/dashboard/components/FilterMenu.svelte | 0 .../src}/routes/dashboard/csv/downloadCSV.ts | 0 .../src}/routes/dashboard/helpers/channels.ts | 0 .../src}/routes/dashboard/helpers/contributors.ts | 0 .../src}/routes/dashboard/helpers/dates.ts | 0 .../src}/routes/dashboard/helpers/filter.ts | 0 .../src}/routes/dashboard/helpers/github.ts | 0 .../src}/routes/dashboard/types.d.ts | 0 .../src}/routes/logout/+page.server.ts | 0 .../bot.amplify.aws/src}/routes/logout/+page.svelte | 0 .../src}/routes/profile/link/+page.svelte | 0 .../src}/routes/questions/+page.server.ts | 0 .../src}/routes/questions/+page.svelte | 0 .../bot.amplify.aws/src}/routes/questions/+page.ts | 0 .../src}/routes/questions/[id]/+page.server.ts | 0 .../src}/routes/questions/[id]/+page.svelte | 0 .../src}/routes/questions/[id]/+page.ts | 0 .../src}/routes/restricted/+page.svelte | 0 .../bot.amplify.aws/src}/routes/restricted/+page.ts | 0 {src => apps/bot.amplify.aws/src}/server.ts | 0 .../bot.amplify.aws/src}/styles/sidenav.css | 0 .../bot.amplify.aws/src}/support/message.ts | 0 .../bot.amplify.aws/svelte.config.js | 0 .../bot.amplify.aws/tests}/mock/github-webhook.ts | 0 {tests => apps/bot.amplify.aws/tests}/server.ts | 0 .../tests}/setup/github-secrets-enabled.ts | 0 {tests => apps/bot.amplify.aws/tests}/setup/seed.ts | 0 .../tests}/setup/svelte-kit-routes.ts | 0 .../bot.amplify.aws/vite.config.ts | 0 Dockerfile => apps/discord-bot/Dockerfile | 0 .../migrations/20221103005830_init/migration.sql | 0 .../prisma}/migrations/migration_lock.toml | 0 {prisma => packages/prisma}/schema.prisma | 0 117 files changed, 0 insertions(+), 0 deletions(-) rename {public => apps/bot.amplify.aws/public}/Discord-Logo-White.svg (100%) rename {public => apps/bot.amplify.aws/public}/favicon.png (100%) rename {public => apps/bot.amplify.aws/public}/logo.svg (100%) rename {src => apps/bot.amplify.aws/src}/app.css (100%) rename {src => apps/bot.amplify.aws/src}/app.d.ts (100%) rename {src => apps/bot.amplify.aws/src}/app.html (100%) rename {src => apps/bot.amplify.aws/src}/global.d.ts (100%) rename {src => apps/bot.amplify.aws/src}/hooks/index.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/Avatar.svelte (100%) rename {src => apps/bot.amplify.aws/src}/lib/Command.svelte (100%) rename {src => apps/bot.amplify.aws/src}/lib/GuildSwitcher.svelte (100%) rename {src => apps/bot.amplify.aws/src}/lib/LoginButton.svelte (100%) rename {src => apps/bot.amplify.aws/src}/lib/LogoutButton.svelte (100%) rename {src => apps/bot.amplify.aws/src}/lib/SplashScreen.svelte (100%) rename {src => apps/bot.amplify.aws/src}/lib/audit.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/auth.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/constants.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/db.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/api.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/client.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/commands.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/commands/_messages.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/commands/_repositories.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/commands/admin.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/commands/contribute.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/commands/github.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/commands/giverole.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/commands/login.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/commands/q.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/commands/select-answer.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/commands/thread.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/get-user-access.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/index.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/is-admin-or-staff.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/roles/addRole.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/roles/removeRole.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/discord/support.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/features/index.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/features/is-enabled.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/github/apply-roles.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/github/queries.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/next-auth.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/notifications.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/store.ts (100%) rename {src => apps/bot.amplify.aws/src}/lib/support/get-form-body.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/+error.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/+layout.server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/+layout.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/+page.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/admin/+layout.server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/admin/+layout.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/admin/+page.server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/admin/+page.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/admin/BreadcrumbOverflowIcon.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/admin/breadcrumbs.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/admin/integrations/+page.server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/admin/integrations/+page.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/admin/integrations/[code]/+layout.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/admin/integrations/[code]/+page.server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/admin/integrations/[code]/+page.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/admin/tabs.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/_discord.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/admin/+layout.server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/admin/+layout.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/admin/commands/+server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/admin/configure/+server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/admin/feature/+server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/admin/is/+server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/auth/[...nextauth]/+server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/discord/[userId]/+server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/github/[username]/+server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/p/color/[code]/+server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/questions/list/+server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/switch-guild/+server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/webhooks/_verifyWebhook.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/webhooks/github-org-membership/+server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/api/webhooks/github-release/+server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/auth/error/+page.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/auth/error/+page.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/dashboard/+layout.server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/dashboard/+layout.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/dashboard/+page.server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/dashboard/+page.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/dashboard/components/ChannelHealth.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/dashboard/components/FilterMenu.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/dashboard/csv/downloadCSV.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/dashboard/helpers/channels.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/dashboard/helpers/contributors.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/dashboard/helpers/dates.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/dashboard/helpers/filter.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/dashboard/helpers/github.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/dashboard/types.d.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/logout/+page.server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/logout/+page.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/profile/link/+page.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/questions/+page.server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/questions/+page.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/questions/+page.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/questions/[id]/+page.server.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/questions/[id]/+page.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/questions/[id]/+page.ts (100%) rename {src => apps/bot.amplify.aws/src}/routes/restricted/+page.svelte (100%) rename {src => apps/bot.amplify.aws/src}/routes/restricted/+page.ts (100%) rename {src => apps/bot.amplify.aws/src}/server.ts (100%) rename {src => apps/bot.amplify.aws/src}/styles/sidenav.css (100%) rename {src => apps/bot.amplify.aws/src}/support/message.ts (100%) rename svelte.config.js => apps/bot.amplify.aws/svelte.config.js (100%) rename {tests => apps/bot.amplify.aws/tests}/mock/github-webhook.ts (100%) rename {tests => apps/bot.amplify.aws/tests}/server.ts (100%) rename {tests => apps/bot.amplify.aws/tests}/setup/github-secrets-enabled.ts (100%) rename {tests => apps/bot.amplify.aws/tests}/setup/seed.ts (100%) rename {tests => apps/bot.amplify.aws/tests}/setup/svelte-kit-routes.ts (100%) rename vite.config.ts => apps/bot.amplify.aws/vite.config.ts (100%) rename Dockerfile => apps/discord-bot/Dockerfile (100%) rename {prisma => packages/prisma}/migrations/20221103005830_init/migration.sql (100%) rename {prisma => packages/prisma}/migrations/migration_lock.toml (100%) rename {prisma => packages/prisma}/schema.prisma (100%) diff --git a/public/Discord-Logo-White.svg b/apps/bot.amplify.aws/public/Discord-Logo-White.svg similarity index 100% rename from public/Discord-Logo-White.svg rename to apps/bot.amplify.aws/public/Discord-Logo-White.svg diff --git a/public/favicon.png b/apps/bot.amplify.aws/public/favicon.png similarity index 100% rename from public/favicon.png rename to apps/bot.amplify.aws/public/favicon.png diff --git a/public/logo.svg b/apps/bot.amplify.aws/public/logo.svg similarity index 100% rename from public/logo.svg rename to apps/bot.amplify.aws/public/logo.svg diff --git a/src/app.css b/apps/bot.amplify.aws/src/app.css similarity index 100% rename from src/app.css rename to apps/bot.amplify.aws/src/app.css diff --git a/src/app.d.ts b/apps/bot.amplify.aws/src/app.d.ts similarity index 100% rename from src/app.d.ts rename to apps/bot.amplify.aws/src/app.d.ts diff --git a/src/app.html b/apps/bot.amplify.aws/src/app.html similarity index 100% rename from src/app.html rename to apps/bot.amplify.aws/src/app.html diff --git a/src/global.d.ts b/apps/bot.amplify.aws/src/global.d.ts similarity index 100% rename from src/global.d.ts rename to apps/bot.amplify.aws/src/global.d.ts diff --git a/src/hooks/index.ts b/apps/bot.amplify.aws/src/hooks/index.ts similarity index 100% rename from src/hooks/index.ts rename to apps/bot.amplify.aws/src/hooks/index.ts diff --git a/src/lib/Avatar.svelte b/apps/bot.amplify.aws/src/lib/Avatar.svelte similarity index 100% rename from src/lib/Avatar.svelte rename to apps/bot.amplify.aws/src/lib/Avatar.svelte diff --git a/src/lib/Command.svelte b/apps/bot.amplify.aws/src/lib/Command.svelte similarity index 100% rename from src/lib/Command.svelte rename to apps/bot.amplify.aws/src/lib/Command.svelte diff --git a/src/lib/GuildSwitcher.svelte b/apps/bot.amplify.aws/src/lib/GuildSwitcher.svelte similarity index 100% rename from src/lib/GuildSwitcher.svelte rename to apps/bot.amplify.aws/src/lib/GuildSwitcher.svelte diff --git a/src/lib/LoginButton.svelte b/apps/bot.amplify.aws/src/lib/LoginButton.svelte similarity index 100% rename from src/lib/LoginButton.svelte rename to apps/bot.amplify.aws/src/lib/LoginButton.svelte diff --git a/src/lib/LogoutButton.svelte b/apps/bot.amplify.aws/src/lib/LogoutButton.svelte similarity index 100% rename from src/lib/LogoutButton.svelte rename to apps/bot.amplify.aws/src/lib/LogoutButton.svelte diff --git a/src/lib/SplashScreen.svelte b/apps/bot.amplify.aws/src/lib/SplashScreen.svelte similarity index 100% rename from src/lib/SplashScreen.svelte rename to apps/bot.amplify.aws/src/lib/SplashScreen.svelte diff --git a/src/lib/audit.ts b/apps/bot.amplify.aws/src/lib/audit.ts similarity index 100% rename from src/lib/audit.ts rename to apps/bot.amplify.aws/src/lib/audit.ts diff --git a/src/lib/auth.ts b/apps/bot.amplify.aws/src/lib/auth.ts similarity index 100% rename from src/lib/auth.ts rename to apps/bot.amplify.aws/src/lib/auth.ts diff --git a/src/lib/constants.ts b/apps/bot.amplify.aws/src/lib/constants.ts similarity index 100% rename from src/lib/constants.ts rename to apps/bot.amplify.aws/src/lib/constants.ts diff --git a/src/lib/db.ts b/apps/bot.amplify.aws/src/lib/db.ts similarity index 100% rename from src/lib/db.ts rename to apps/bot.amplify.aws/src/lib/db.ts diff --git a/src/lib/discord/api.ts b/apps/bot.amplify.aws/src/lib/discord/api.ts similarity index 100% rename from src/lib/discord/api.ts rename to apps/bot.amplify.aws/src/lib/discord/api.ts diff --git a/src/lib/discord/client.ts b/apps/bot.amplify.aws/src/lib/discord/client.ts similarity index 100% rename from src/lib/discord/client.ts rename to apps/bot.amplify.aws/src/lib/discord/client.ts diff --git a/src/lib/discord/commands.ts b/apps/bot.amplify.aws/src/lib/discord/commands.ts similarity index 100% rename from src/lib/discord/commands.ts rename to apps/bot.amplify.aws/src/lib/discord/commands.ts diff --git a/src/lib/discord/commands/_messages.ts b/apps/bot.amplify.aws/src/lib/discord/commands/_messages.ts similarity index 100% rename from src/lib/discord/commands/_messages.ts rename to apps/bot.amplify.aws/src/lib/discord/commands/_messages.ts diff --git a/src/lib/discord/commands/_repositories.ts b/apps/bot.amplify.aws/src/lib/discord/commands/_repositories.ts similarity index 100% rename from src/lib/discord/commands/_repositories.ts rename to apps/bot.amplify.aws/src/lib/discord/commands/_repositories.ts diff --git a/src/lib/discord/commands/admin.ts b/apps/bot.amplify.aws/src/lib/discord/commands/admin.ts similarity index 100% rename from src/lib/discord/commands/admin.ts rename to apps/bot.amplify.aws/src/lib/discord/commands/admin.ts diff --git a/src/lib/discord/commands/contribute.ts b/apps/bot.amplify.aws/src/lib/discord/commands/contribute.ts similarity index 100% rename from src/lib/discord/commands/contribute.ts rename to apps/bot.amplify.aws/src/lib/discord/commands/contribute.ts diff --git a/src/lib/discord/commands/github.ts b/apps/bot.amplify.aws/src/lib/discord/commands/github.ts similarity index 100% rename from src/lib/discord/commands/github.ts rename to apps/bot.amplify.aws/src/lib/discord/commands/github.ts diff --git a/src/lib/discord/commands/giverole.ts b/apps/bot.amplify.aws/src/lib/discord/commands/giverole.ts similarity index 100% rename from src/lib/discord/commands/giverole.ts rename to apps/bot.amplify.aws/src/lib/discord/commands/giverole.ts diff --git a/src/lib/discord/commands/login.ts b/apps/bot.amplify.aws/src/lib/discord/commands/login.ts similarity index 100% rename from src/lib/discord/commands/login.ts rename to apps/bot.amplify.aws/src/lib/discord/commands/login.ts diff --git a/src/lib/discord/commands/q.ts b/apps/bot.amplify.aws/src/lib/discord/commands/q.ts similarity index 100% rename from src/lib/discord/commands/q.ts rename to apps/bot.amplify.aws/src/lib/discord/commands/q.ts diff --git a/src/lib/discord/commands/select-answer.ts b/apps/bot.amplify.aws/src/lib/discord/commands/select-answer.ts similarity index 100% rename from src/lib/discord/commands/select-answer.ts rename to apps/bot.amplify.aws/src/lib/discord/commands/select-answer.ts diff --git a/src/lib/discord/commands/thread.ts b/apps/bot.amplify.aws/src/lib/discord/commands/thread.ts similarity index 100% rename from src/lib/discord/commands/thread.ts rename to apps/bot.amplify.aws/src/lib/discord/commands/thread.ts diff --git a/src/lib/discord/get-user-access.ts b/apps/bot.amplify.aws/src/lib/discord/get-user-access.ts similarity index 100% rename from src/lib/discord/get-user-access.ts rename to apps/bot.amplify.aws/src/lib/discord/get-user-access.ts diff --git a/src/lib/discord/index.ts b/apps/bot.amplify.aws/src/lib/discord/index.ts similarity index 100% rename from src/lib/discord/index.ts rename to apps/bot.amplify.aws/src/lib/discord/index.ts diff --git a/src/lib/discord/is-admin-or-staff.ts b/apps/bot.amplify.aws/src/lib/discord/is-admin-or-staff.ts similarity index 100% rename from src/lib/discord/is-admin-or-staff.ts rename to apps/bot.amplify.aws/src/lib/discord/is-admin-or-staff.ts diff --git a/src/lib/discord/roles/addRole.ts b/apps/bot.amplify.aws/src/lib/discord/roles/addRole.ts similarity index 100% rename from src/lib/discord/roles/addRole.ts rename to apps/bot.amplify.aws/src/lib/discord/roles/addRole.ts diff --git a/src/lib/discord/roles/removeRole.ts b/apps/bot.amplify.aws/src/lib/discord/roles/removeRole.ts similarity index 100% rename from src/lib/discord/roles/removeRole.ts rename to apps/bot.amplify.aws/src/lib/discord/roles/removeRole.ts diff --git a/src/lib/discord/support.ts b/apps/bot.amplify.aws/src/lib/discord/support.ts similarity index 100% rename from src/lib/discord/support.ts rename to apps/bot.amplify.aws/src/lib/discord/support.ts diff --git a/src/lib/features/index.ts b/apps/bot.amplify.aws/src/lib/features/index.ts similarity index 100% rename from src/lib/features/index.ts rename to apps/bot.amplify.aws/src/lib/features/index.ts diff --git a/src/lib/features/is-enabled.ts b/apps/bot.amplify.aws/src/lib/features/is-enabled.ts similarity index 100% rename from src/lib/features/is-enabled.ts rename to apps/bot.amplify.aws/src/lib/features/is-enabled.ts diff --git a/src/lib/github/apply-roles.ts b/apps/bot.amplify.aws/src/lib/github/apply-roles.ts similarity index 100% rename from src/lib/github/apply-roles.ts rename to apps/bot.amplify.aws/src/lib/github/apply-roles.ts diff --git a/src/lib/github/queries.ts b/apps/bot.amplify.aws/src/lib/github/queries.ts similarity index 100% rename from src/lib/github/queries.ts rename to apps/bot.amplify.aws/src/lib/github/queries.ts diff --git a/src/lib/next-auth.ts b/apps/bot.amplify.aws/src/lib/next-auth.ts similarity index 100% rename from src/lib/next-auth.ts rename to apps/bot.amplify.aws/src/lib/next-auth.ts diff --git a/src/lib/notifications.ts b/apps/bot.amplify.aws/src/lib/notifications.ts similarity index 100% rename from src/lib/notifications.ts rename to apps/bot.amplify.aws/src/lib/notifications.ts diff --git a/src/lib/store.ts b/apps/bot.amplify.aws/src/lib/store.ts similarity index 100% rename from src/lib/store.ts rename to apps/bot.amplify.aws/src/lib/store.ts diff --git a/src/lib/support/get-form-body.ts b/apps/bot.amplify.aws/src/lib/support/get-form-body.ts similarity index 100% rename from src/lib/support/get-form-body.ts rename to apps/bot.amplify.aws/src/lib/support/get-form-body.ts diff --git a/src/routes/+error.svelte b/apps/bot.amplify.aws/src/routes/+error.svelte similarity index 100% rename from src/routes/+error.svelte rename to apps/bot.amplify.aws/src/routes/+error.svelte diff --git a/src/routes/+layout.server.ts b/apps/bot.amplify.aws/src/routes/+layout.server.ts similarity index 100% rename from src/routes/+layout.server.ts rename to apps/bot.amplify.aws/src/routes/+layout.server.ts diff --git a/src/routes/+layout.svelte b/apps/bot.amplify.aws/src/routes/+layout.svelte similarity index 100% rename from src/routes/+layout.svelte rename to apps/bot.amplify.aws/src/routes/+layout.svelte diff --git a/src/routes/+page.svelte b/apps/bot.amplify.aws/src/routes/+page.svelte similarity index 100% rename from src/routes/+page.svelte rename to apps/bot.amplify.aws/src/routes/+page.svelte diff --git a/src/routes/admin/+layout.server.ts b/apps/bot.amplify.aws/src/routes/admin/+layout.server.ts similarity index 100% rename from src/routes/admin/+layout.server.ts rename to apps/bot.amplify.aws/src/routes/admin/+layout.server.ts diff --git a/src/routes/admin/+layout.svelte b/apps/bot.amplify.aws/src/routes/admin/+layout.svelte similarity index 100% rename from src/routes/admin/+layout.svelte rename to apps/bot.amplify.aws/src/routes/admin/+layout.svelte diff --git a/src/routes/admin/+page.server.ts b/apps/bot.amplify.aws/src/routes/admin/+page.server.ts similarity index 100% rename from src/routes/admin/+page.server.ts rename to apps/bot.amplify.aws/src/routes/admin/+page.server.ts diff --git a/src/routes/admin/+page.svelte b/apps/bot.amplify.aws/src/routes/admin/+page.svelte similarity index 100% rename from src/routes/admin/+page.svelte rename to apps/bot.amplify.aws/src/routes/admin/+page.svelte diff --git a/src/routes/admin/BreadcrumbOverflowIcon.svelte b/apps/bot.amplify.aws/src/routes/admin/BreadcrumbOverflowIcon.svelte similarity index 100% rename from src/routes/admin/BreadcrumbOverflowIcon.svelte rename to apps/bot.amplify.aws/src/routes/admin/BreadcrumbOverflowIcon.svelte diff --git a/src/routes/admin/breadcrumbs.ts b/apps/bot.amplify.aws/src/routes/admin/breadcrumbs.ts similarity index 100% rename from src/routes/admin/breadcrumbs.ts rename to apps/bot.amplify.aws/src/routes/admin/breadcrumbs.ts diff --git a/src/routes/admin/integrations/+page.server.ts b/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts similarity index 100% rename from src/routes/admin/integrations/+page.server.ts rename to apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts diff --git a/src/routes/admin/integrations/+page.svelte b/apps/bot.amplify.aws/src/routes/admin/integrations/+page.svelte similarity index 100% rename from src/routes/admin/integrations/+page.svelte rename to apps/bot.amplify.aws/src/routes/admin/integrations/+page.svelte diff --git a/src/routes/admin/integrations/[code]/+layout.svelte b/apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+layout.svelte similarity index 100% rename from src/routes/admin/integrations/[code]/+layout.svelte rename to apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+layout.svelte diff --git a/src/routes/admin/integrations/[code]/+page.server.ts b/apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+page.server.ts similarity index 100% rename from src/routes/admin/integrations/[code]/+page.server.ts rename to apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+page.server.ts diff --git a/src/routes/admin/integrations/[code]/+page.svelte b/apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+page.svelte similarity index 100% rename from src/routes/admin/integrations/[code]/+page.svelte rename to apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+page.svelte diff --git a/src/routes/admin/tabs.ts b/apps/bot.amplify.aws/src/routes/admin/tabs.ts similarity index 100% rename from src/routes/admin/tabs.ts rename to apps/bot.amplify.aws/src/routes/admin/tabs.ts diff --git a/src/routes/api/_discord.ts b/apps/bot.amplify.aws/src/routes/api/_discord.ts similarity index 100% rename from src/routes/api/_discord.ts rename to apps/bot.amplify.aws/src/routes/api/_discord.ts diff --git a/src/routes/api/admin/+layout.server.ts b/apps/bot.amplify.aws/src/routes/api/admin/+layout.server.ts similarity index 100% rename from src/routes/api/admin/+layout.server.ts rename to apps/bot.amplify.aws/src/routes/api/admin/+layout.server.ts diff --git a/src/routes/api/admin/+layout.svelte b/apps/bot.amplify.aws/src/routes/api/admin/+layout.svelte similarity index 100% rename from src/routes/api/admin/+layout.svelte rename to apps/bot.amplify.aws/src/routes/api/admin/+layout.svelte diff --git a/src/routes/api/admin/commands/+server.ts b/apps/bot.amplify.aws/src/routes/api/admin/commands/+server.ts similarity index 100% rename from src/routes/api/admin/commands/+server.ts rename to apps/bot.amplify.aws/src/routes/api/admin/commands/+server.ts diff --git a/src/routes/api/admin/configure/+server.ts b/apps/bot.amplify.aws/src/routes/api/admin/configure/+server.ts similarity index 100% rename from src/routes/api/admin/configure/+server.ts rename to apps/bot.amplify.aws/src/routes/api/admin/configure/+server.ts diff --git a/src/routes/api/admin/feature/+server.ts b/apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts similarity index 100% rename from src/routes/api/admin/feature/+server.ts rename to apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts diff --git a/src/routes/api/admin/is/+server.ts b/apps/bot.amplify.aws/src/routes/api/admin/is/+server.ts similarity index 100% rename from src/routes/api/admin/is/+server.ts rename to apps/bot.amplify.aws/src/routes/api/admin/is/+server.ts diff --git a/src/routes/api/auth/[...nextauth]/+server.ts b/apps/bot.amplify.aws/src/routes/api/auth/[...nextauth]/+server.ts similarity index 100% rename from src/routes/api/auth/[...nextauth]/+server.ts rename to apps/bot.amplify.aws/src/routes/api/auth/[...nextauth]/+server.ts diff --git a/src/routes/api/discord/[userId]/+server.ts b/apps/bot.amplify.aws/src/routes/api/discord/[userId]/+server.ts similarity index 100% rename from src/routes/api/discord/[userId]/+server.ts rename to apps/bot.amplify.aws/src/routes/api/discord/[userId]/+server.ts diff --git a/src/routes/api/github/[username]/+server.ts b/apps/bot.amplify.aws/src/routes/api/github/[username]/+server.ts similarity index 100% rename from src/routes/api/github/[username]/+server.ts rename to apps/bot.amplify.aws/src/routes/api/github/[username]/+server.ts diff --git a/src/routes/api/p/color/[code]/+server.ts b/apps/bot.amplify.aws/src/routes/api/p/color/[code]/+server.ts similarity index 100% rename from src/routes/api/p/color/[code]/+server.ts rename to apps/bot.amplify.aws/src/routes/api/p/color/[code]/+server.ts diff --git a/src/routes/api/questions/list/+server.ts b/apps/bot.amplify.aws/src/routes/api/questions/list/+server.ts similarity index 100% rename from src/routes/api/questions/list/+server.ts rename to apps/bot.amplify.aws/src/routes/api/questions/list/+server.ts diff --git a/src/routes/api/switch-guild/+server.ts b/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts similarity index 100% rename from src/routes/api/switch-guild/+server.ts rename to apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts diff --git a/src/routes/api/webhooks/_verifyWebhook.ts b/apps/bot.amplify.aws/src/routes/api/webhooks/_verifyWebhook.ts similarity index 100% rename from src/routes/api/webhooks/_verifyWebhook.ts rename to apps/bot.amplify.aws/src/routes/api/webhooks/_verifyWebhook.ts diff --git a/src/routes/api/webhooks/github-org-membership/+server.ts b/apps/bot.amplify.aws/src/routes/api/webhooks/github-org-membership/+server.ts similarity index 100% rename from src/routes/api/webhooks/github-org-membership/+server.ts rename to apps/bot.amplify.aws/src/routes/api/webhooks/github-org-membership/+server.ts diff --git a/src/routes/api/webhooks/github-release/+server.ts b/apps/bot.amplify.aws/src/routes/api/webhooks/github-release/+server.ts similarity index 100% rename from src/routes/api/webhooks/github-release/+server.ts rename to apps/bot.amplify.aws/src/routes/api/webhooks/github-release/+server.ts diff --git a/src/routes/auth/error/+page.svelte b/apps/bot.amplify.aws/src/routes/auth/error/+page.svelte similarity index 100% rename from src/routes/auth/error/+page.svelte rename to apps/bot.amplify.aws/src/routes/auth/error/+page.svelte diff --git a/src/routes/auth/error/+page.ts b/apps/bot.amplify.aws/src/routes/auth/error/+page.ts similarity index 100% rename from src/routes/auth/error/+page.ts rename to apps/bot.amplify.aws/src/routes/auth/error/+page.ts diff --git a/src/routes/dashboard/+layout.server.ts b/apps/bot.amplify.aws/src/routes/dashboard/+layout.server.ts similarity index 100% rename from src/routes/dashboard/+layout.server.ts rename to apps/bot.amplify.aws/src/routes/dashboard/+layout.server.ts diff --git a/src/routes/dashboard/+layout.svelte b/apps/bot.amplify.aws/src/routes/dashboard/+layout.svelte similarity index 100% rename from src/routes/dashboard/+layout.svelte rename to apps/bot.amplify.aws/src/routes/dashboard/+layout.svelte diff --git a/src/routes/dashboard/+page.server.ts b/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts similarity index 100% rename from src/routes/dashboard/+page.server.ts rename to apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts diff --git a/src/routes/dashboard/+page.svelte b/apps/bot.amplify.aws/src/routes/dashboard/+page.svelte similarity index 100% rename from src/routes/dashboard/+page.svelte rename to apps/bot.amplify.aws/src/routes/dashboard/+page.svelte diff --git a/src/routes/dashboard/components/ChannelHealth.svelte b/apps/bot.amplify.aws/src/routes/dashboard/components/ChannelHealth.svelte similarity index 100% rename from src/routes/dashboard/components/ChannelHealth.svelte rename to apps/bot.amplify.aws/src/routes/dashboard/components/ChannelHealth.svelte diff --git a/src/routes/dashboard/components/FilterMenu.svelte b/apps/bot.amplify.aws/src/routes/dashboard/components/FilterMenu.svelte similarity index 100% rename from src/routes/dashboard/components/FilterMenu.svelte rename to apps/bot.amplify.aws/src/routes/dashboard/components/FilterMenu.svelte diff --git a/src/routes/dashboard/csv/downloadCSV.ts b/apps/bot.amplify.aws/src/routes/dashboard/csv/downloadCSV.ts similarity index 100% rename from src/routes/dashboard/csv/downloadCSV.ts rename to apps/bot.amplify.aws/src/routes/dashboard/csv/downloadCSV.ts diff --git a/src/routes/dashboard/helpers/channels.ts b/apps/bot.amplify.aws/src/routes/dashboard/helpers/channels.ts similarity index 100% rename from src/routes/dashboard/helpers/channels.ts rename to apps/bot.amplify.aws/src/routes/dashboard/helpers/channels.ts diff --git a/src/routes/dashboard/helpers/contributors.ts b/apps/bot.amplify.aws/src/routes/dashboard/helpers/contributors.ts similarity index 100% rename from src/routes/dashboard/helpers/contributors.ts rename to apps/bot.amplify.aws/src/routes/dashboard/helpers/contributors.ts diff --git a/src/routes/dashboard/helpers/dates.ts b/apps/bot.amplify.aws/src/routes/dashboard/helpers/dates.ts similarity index 100% rename from src/routes/dashboard/helpers/dates.ts rename to apps/bot.amplify.aws/src/routes/dashboard/helpers/dates.ts diff --git a/src/routes/dashboard/helpers/filter.ts b/apps/bot.amplify.aws/src/routes/dashboard/helpers/filter.ts similarity index 100% rename from src/routes/dashboard/helpers/filter.ts rename to apps/bot.amplify.aws/src/routes/dashboard/helpers/filter.ts diff --git a/src/routes/dashboard/helpers/github.ts b/apps/bot.amplify.aws/src/routes/dashboard/helpers/github.ts similarity index 100% rename from src/routes/dashboard/helpers/github.ts rename to apps/bot.amplify.aws/src/routes/dashboard/helpers/github.ts diff --git a/src/routes/dashboard/types.d.ts b/apps/bot.amplify.aws/src/routes/dashboard/types.d.ts similarity index 100% rename from src/routes/dashboard/types.d.ts rename to apps/bot.amplify.aws/src/routes/dashboard/types.d.ts diff --git a/src/routes/logout/+page.server.ts b/apps/bot.amplify.aws/src/routes/logout/+page.server.ts similarity index 100% rename from src/routes/logout/+page.server.ts rename to apps/bot.amplify.aws/src/routes/logout/+page.server.ts diff --git a/src/routes/logout/+page.svelte b/apps/bot.amplify.aws/src/routes/logout/+page.svelte similarity index 100% rename from src/routes/logout/+page.svelte rename to apps/bot.amplify.aws/src/routes/logout/+page.svelte diff --git a/src/routes/profile/link/+page.svelte b/apps/bot.amplify.aws/src/routes/profile/link/+page.svelte similarity index 100% rename from src/routes/profile/link/+page.svelte rename to apps/bot.amplify.aws/src/routes/profile/link/+page.svelte diff --git a/src/routes/questions/+page.server.ts b/apps/bot.amplify.aws/src/routes/questions/+page.server.ts similarity index 100% rename from src/routes/questions/+page.server.ts rename to apps/bot.amplify.aws/src/routes/questions/+page.server.ts diff --git a/src/routes/questions/+page.svelte b/apps/bot.amplify.aws/src/routes/questions/+page.svelte similarity index 100% rename from src/routes/questions/+page.svelte rename to apps/bot.amplify.aws/src/routes/questions/+page.svelte diff --git a/src/routes/questions/+page.ts b/apps/bot.amplify.aws/src/routes/questions/+page.ts similarity index 100% rename from src/routes/questions/+page.ts rename to apps/bot.amplify.aws/src/routes/questions/+page.ts diff --git a/src/routes/questions/[id]/+page.server.ts b/apps/bot.amplify.aws/src/routes/questions/[id]/+page.server.ts similarity index 100% rename from src/routes/questions/[id]/+page.server.ts rename to apps/bot.amplify.aws/src/routes/questions/[id]/+page.server.ts diff --git a/src/routes/questions/[id]/+page.svelte b/apps/bot.amplify.aws/src/routes/questions/[id]/+page.svelte similarity index 100% rename from src/routes/questions/[id]/+page.svelte rename to apps/bot.amplify.aws/src/routes/questions/[id]/+page.svelte diff --git a/src/routes/questions/[id]/+page.ts b/apps/bot.amplify.aws/src/routes/questions/[id]/+page.ts similarity index 100% rename from src/routes/questions/[id]/+page.ts rename to apps/bot.amplify.aws/src/routes/questions/[id]/+page.ts diff --git a/src/routes/restricted/+page.svelte b/apps/bot.amplify.aws/src/routes/restricted/+page.svelte similarity index 100% rename from src/routes/restricted/+page.svelte rename to apps/bot.amplify.aws/src/routes/restricted/+page.svelte diff --git a/src/routes/restricted/+page.ts b/apps/bot.amplify.aws/src/routes/restricted/+page.ts similarity index 100% rename from src/routes/restricted/+page.ts rename to apps/bot.amplify.aws/src/routes/restricted/+page.ts diff --git a/src/server.ts b/apps/bot.amplify.aws/src/server.ts similarity index 100% rename from src/server.ts rename to apps/bot.amplify.aws/src/server.ts diff --git a/src/styles/sidenav.css b/apps/bot.amplify.aws/src/styles/sidenav.css similarity index 100% rename from src/styles/sidenav.css rename to apps/bot.amplify.aws/src/styles/sidenav.css diff --git a/src/support/message.ts b/apps/bot.amplify.aws/src/support/message.ts similarity index 100% rename from src/support/message.ts rename to apps/bot.amplify.aws/src/support/message.ts diff --git a/svelte.config.js b/apps/bot.amplify.aws/svelte.config.js similarity index 100% rename from svelte.config.js rename to apps/bot.amplify.aws/svelte.config.js diff --git a/tests/mock/github-webhook.ts b/apps/bot.amplify.aws/tests/mock/github-webhook.ts similarity index 100% rename from tests/mock/github-webhook.ts rename to apps/bot.amplify.aws/tests/mock/github-webhook.ts diff --git a/tests/server.ts b/apps/bot.amplify.aws/tests/server.ts similarity index 100% rename from tests/server.ts rename to apps/bot.amplify.aws/tests/server.ts diff --git a/tests/setup/github-secrets-enabled.ts b/apps/bot.amplify.aws/tests/setup/github-secrets-enabled.ts similarity index 100% rename from tests/setup/github-secrets-enabled.ts rename to apps/bot.amplify.aws/tests/setup/github-secrets-enabled.ts diff --git a/tests/setup/seed.ts b/apps/bot.amplify.aws/tests/setup/seed.ts similarity index 100% rename from tests/setup/seed.ts rename to apps/bot.amplify.aws/tests/setup/seed.ts diff --git a/tests/setup/svelte-kit-routes.ts b/apps/bot.amplify.aws/tests/setup/svelte-kit-routes.ts similarity index 100% rename from tests/setup/svelte-kit-routes.ts rename to apps/bot.amplify.aws/tests/setup/svelte-kit-routes.ts diff --git a/vite.config.ts b/apps/bot.amplify.aws/vite.config.ts similarity index 100% rename from vite.config.ts rename to apps/bot.amplify.aws/vite.config.ts diff --git a/Dockerfile b/apps/discord-bot/Dockerfile similarity index 100% rename from Dockerfile rename to apps/discord-bot/Dockerfile diff --git a/prisma/migrations/20221103005830_init/migration.sql b/packages/prisma/migrations/20221103005830_init/migration.sql similarity index 100% rename from prisma/migrations/20221103005830_init/migration.sql rename to packages/prisma/migrations/20221103005830_init/migration.sql diff --git a/prisma/migrations/migration_lock.toml b/packages/prisma/migrations/migration_lock.toml similarity index 100% rename from prisma/migrations/migration_lock.toml rename to packages/prisma/migrations/migration_lock.toml diff --git a/prisma/schema.prisma b/packages/prisma/schema.prisma similarity index 100% rename from prisma/schema.prisma rename to packages/prisma/schema.prisma From 3b151b623fc4c366e407f9d4a425650a3a96dac4 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 14:39:36 -0800 Subject: [PATCH 02/79] single tsconfig at root --- package.json | 84 +- packages/support/tsconfig.json | 2 +- packages/tsconfig/base.json | 25 - packages/tsconfig/package.json | 17 - packages/vite-plugin-copy-file/tsconfig.json | 2 +- packages/vite-plugin-lib/tsconfig.json | 2 +- pnpm-lock.yaml | 2397 +++++++++++------- pnpm-workspace.yaml | 1 + tsconfig.json | 36 +- 9 files changed, 1504 insertions(+), 1062 deletions(-) delete mode 100644 packages/tsconfig/base.json delete mode 100644 packages/tsconfig/package.json diff --git a/package.json b/package.json index ba6203fe..ee48e052 100644 --- a/package.json +++ b/package.json @@ -6,83 +6,35 @@ "private": true, "scripts": { "packages": "pnpm --filter \"./packages/**\"", - "start": "node build/server.js", - "dev": "vite dev --port 3000", - "dev:lib": "pnpm -r run build -w", + "dev": "turbo run dev", "docker": "PNPM_STORE=$(pnpm store path) docker compose up --build", - "build": "vite build", - "build:lib": "pnpm packages run build", + "build": "turbo run build", + "build-lib": "pnpm packages run build", "check": "prettier --check .", "lint": "eslint .", - "postinstall": "prisma generate", "setup-dev": "pnpm install && prisma db push && svelte-kit sync && pnpm build:lib", "setup-docker": "echo \"\nPNPM_STORE\"=$(pnpm store path) >> .env && docker -v", "setup-test": "DATABASE_URL=\"file:data/test.db\" prisma db push && vite build", - "test": "vitest", - "coverage": "vitest run --coverage" - }, - "dependencies": { - "@aws-crypto/sha256-js": "^2.0.1", - "@carbon/styles": "^1.11.0", - "@discordjs/builders": "^1.1.0", - "@discordjs/rest": "^1.0.1", - "@faker-js/faker": "^7.4.0", - "@next-auth/prisma-adapter": "^1.0.4", - "@octokit/auth-app": "^4.0.5", - "@octokit/graphql": "^5.0.1", - "@octokit/rest": "^19.0.4", - "@prisma/client": "^4.5.0", - "cookie": "^0.5.0", - "discord-api-types": "^0.37.10", - "discord.js": "^14.4.0", - "express": "^4.18.1", - "fast-glob": "^3.2.11", - "fuzzy": "^0.1.3", - "next-auth": "^4.10.3", - "prisma": "^4.5.0", - "svelte": "3.49.0", - "uuid": "^8.3.2", - "zod": "^3.19.1" + "test": "turbo run test" }, "devDependencies": { - "@carbon/charts": "^1.5.2", - "@carbon/charts-svelte": "^1.5.2", - "@commitlint/cli": "^17.0.3", - "@commitlint/config-conventional": "^17.0.3", - "@faker-js/faker": "^7.3.0", + "@commitlint/cli": "^17.4.2", + "@commitlint/config-conventional": "^17.4.2", "@hey-amplify/scripts": "workspace:*", "@hey-amplify/support": "workspace:*", - "@hey-amplify/tsconfig": "workspace:*", - "@hey-amplify/vite-plugin-server": "workspace:*", - "@sveltejs/adapter-node": "1.0.0-next.87", - "@sveltejs/kit": "1.0.0-next.447", - "@types/cookie": "^0.5.1", - "@types/express": "^4.17.13", - "@types/node": "^18.7.13", - "@types/prettier": "^2.7.0", - "@types/supertest": "^2.0.12", - "@typescript-eslint/eslint-plugin": "^5.35.1", - "@typescript-eslint/parser": "^5.35.1", - "@vitest/ui": "^0.22.1", - "carbon-components-svelte": "^0.70.1", - "carbon-icons-svelte": "^11.2.0", - "carbon-preprocess-svelte": "^0.9.1", - "d3": "^7.6.1", - "eslint": "^8.22.0", - "eslint-config-prettier": "^8.5.0", + "@types/node": "^18.11.19", + "@types/prettier": "^2.7.2", + "@typescript-eslint/eslint-plugin": "^5.51.0", + "@typescript-eslint/parser": "^5.51.0", + "eslint": "^8.33.0", + "eslint-config-prettier": "^8.6.0", "eslint-plugin-svelte3": "^4.0.0", - "jsdom": "^20.0.0", - "lint-staged": "^13.0.3", - "prettier": "^2.7.1", - "prettier-plugin-svelte": "^2.7.0", - "supertest": "^6.2.4", - "svelte-check": "^2.8.1", - "svelte-preprocess": "^4.10.7", - "tslib": "^2.4.0", - "typescript": "^4.7.4", - "vite": "^3.0.9", - "vite-node": "^0.22.1", - "vitest": "^0.22.1" + "lint-staged": "^13.1.0", + "prettier": "^2.8.3", + "prettier-plugin-svelte": "^2.9.0", + "turbo": "^1.7.3", + "typescript": "^4.9.5", + "vite-node": "^0.28.4" }, "prettier": { "tabWidth": 2, diff --git a/packages/support/tsconfig.json b/packages/support/tsconfig.json index dc799fee..cc01e631 100644 --- a/packages/support/tsconfig.json +++ b/packages/support/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@hey-amplify/tsconfig/base.json", + "extends": "../../tsconfig.json", "compilerOptions": { "rootDir": "src", "outDir": "build", diff --git a/packages/tsconfig/base.json b/packages/tsconfig/base.json deleted file mode 100644 index 4d079a09..00000000 --- a/packages/tsconfig/base.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "display": "Default", - "compilerOptions": { - "composite": false, - "declaration": true, - "declarationMap": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "inlineSources": false, - "isolatedModules": true, - "module": "esnext", - "moduleResolution": "node", - "noUnusedLocals": false, - "noUnusedParameters": false, - "preserveWatchOutput": true, - "skipLibCheck": true, - "strict": true, - "target": "esnext", - "sourceMap": false, - "inlineSourceMap": true, - "importsNotUsedAsValues": "remove" - }, - "exclude": ["node_modules"] -} diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json deleted file mode 100644 index 1d7ea020..00000000 --- a/packages/tsconfig/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "@hey-amplify/tsconfig", - "version": "0.1.0", - "private": true, - "files": [ - "base.json" - ], - "peerDependencies": { - "typescript": "^4.7.4", - "vitest": "^0.20.3" - }, - "peerDependenciesMeta": { - "vitest": { - "optional": true - } - } -} diff --git a/packages/vite-plugin-copy-file/tsconfig.json b/packages/vite-plugin-copy-file/tsconfig.json index df4f8c85..4082f16a 100644 --- a/packages/vite-plugin-copy-file/tsconfig.json +++ b/packages/vite-plugin-copy-file/tsconfig.json @@ -1,3 +1,3 @@ { - "extends": "@hey-amplify/tsconfig/base.json" + "extends": "../../tsconfig.json" } diff --git a/packages/vite-plugin-lib/tsconfig.json b/packages/vite-plugin-lib/tsconfig.json index df4f8c85..4082f16a 100644 --- a/packages/vite-plugin-lib/tsconfig.json +++ b/packages/vite-plugin-lib/tsconfig.json @@ -1,3 +1,3 @@ { - "extends": "@hey-amplify/tsconfig/base.json" + "extends": "../../tsconfig.json" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8149721a..49db0a5e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,46 @@ patchedDependencies: importers: .: + specifiers: + '@commitlint/cli': ^17.4.2 + '@commitlint/config-conventional': ^17.4.2 + '@hey-amplify/scripts': workspace:* + '@hey-amplify/support': workspace:* + '@hey-amplify/tsconfig': workspace:* + '@types/node': ^18.11.19 + '@types/prettier': ^2.7.2 + '@typescript-eslint/eslint-plugin': ^5.51.0 + '@typescript-eslint/parser': ^5.51.0 + eslint: ^8.33.0 + eslint-config-prettier: ^8.6.0 + eslint-plugin-svelte3: ^4.0.0 + lint-staged: ^13.1.0 + prettier: ^2.8.3 + prettier-plugin-svelte: ^2.9.0 + turbo: ^1.7.3 + typescript: ^4.9.5 + vite-node: ^0.28.4 + devDependencies: + '@commitlint/cli': 17.4.2 + '@commitlint/config-conventional': 17.4.2 + '@hey-amplify/scripts': link:packages/scripts + '@hey-amplify/support': link:packages/support + '@hey-amplify/tsconfig': link:packages/tsconfig + '@types/node': 18.11.19 + '@types/prettier': 2.7.2 + '@typescript-eslint/eslint-plugin': 5.51.0_b635kmla6dsb4frxfihkw4m47e + '@typescript-eslint/parser': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 + eslint: 8.33.0 + eslint-config-prettier: 8.6.0_eslint@8.33.0 + eslint-plugin-svelte3: 4.0.0_eslint@8.33.0 + lint-staged: 13.1.0 + prettier: 2.8.3 + prettier-plugin-svelte: 2.9.0_prettier@2.8.3 + turbo: 1.7.3 + typescript: 4.9.5 + vite-node: 0.28.4_@types+node@18.11.19 + + apps/bot.amplify.aws: specifiers: '@aws-crypto/sha256-js': ^2.0.1 '@carbon/charts': ^1.5.2 @@ -27,15 +67,12 @@ importers: '@octokit/graphql': ^5.0.1 '@octokit/rest': ^19.0.4 '@prisma/client': ^4.5.0 - '@sveltejs/adapter-node': 1.0.0-next.87 - '@sveltejs/kit': 1.0.0-next.447 + '@sveltejs/adapter-node': 1.1.7 + '@sveltejs/kit': 1.5.0 '@types/cookie': ^0.5.1 '@types/express': ^4.17.13 '@types/node': ^18.7.13 '@types/prettier': ^2.7.0 - '@types/supertest': ^2.0.12 - '@typescript-eslint/eslint-plugin': ^5.35.1 - '@typescript-eslint/parser': ^5.35.1 '@vitest/ui': ^0.22.1 carbon-components-svelte: ^0.70.1 carbon-icons-svelte: ^11.2.0 @@ -44,89 +81,78 @@ importers: d3: ^7.6.1 discord-api-types: ^0.37.10 discord.js: ^14.4.0 - eslint: ^8.22.0 - eslint-config-prettier: ^8.5.0 - eslint-plugin-svelte3: ^4.0.0 express: ^4.18.1 fast-glob: ^3.2.11 fuzzy: ^0.1.3 jsdom: ^20.0.0 - lint-staged: ^13.0.3 next-auth: ^4.10.3 - prettier: ^2.7.1 - prettier-plugin-svelte: ^2.7.0 prisma: ^4.5.0 - supertest: ^6.2.4 svelte: 3.49.0 - svelte-check: ^2.8.1 - svelte-preprocess: ^4.10.7 - tslib: ^2.4.0 - typescript: ^4.7.4 + svelte-check: ^3.0.3 + svelte-preprocess: ^5.0.1 + tslib: ^2.5.0 + typescript: ^4.9.5 uuid: ^8.3.2 - vite: ^3.0.9 - vite-node: ^0.22.1 - vitest: ^0.22.1 + vite: ^4.1.1 + vite-node: ^0.28.4 + vitest: ^0.28.4 zod: ^3.19.1 dependencies: '@aws-crypto/sha256-js': 2.0.1 - '@carbon/styles': 1.11.0 - '@discordjs/builders': 1.1.0 - '@discordjs/rest': 1.0.1 - '@faker-js/faker': 7.4.0 - '@next-auth/prisma-adapter': 1.0.4_2dz4tw7kma4hc2ivamm5imqace - '@octokit/auth-app': 4.0.5 - '@octokit/graphql': 5.0.1 - '@octokit/rest': 19.0.4 - '@prisma/client': 4.5.0_prisma@4.5.0 + '@carbon/styles': 1.22.0 + '@discordjs/builders': 1.2.0 + '@discordjs/rest': 1.1.0 + '@faker-js/faker': 7.6.0 + '@next-auth/prisma-adapter': 1.0.5_77bhi65b6v5jbrzr36rs2ojwe4 + '@octokit/auth-app': 4.0.9 + '@octokit/graphql': 5.0.5 + '@octokit/rest': 19.0.7 + '@prisma/client': 4.9.0_prisma@4.9.0 cookie: 0.5.0 discord-api-types: 0.37.10 discord.js: 14.4.0 express: 4.18.1 fast-glob: 3.2.11 fuzzy: 0.1.3 - next-auth: 4.10.3 - prisma: 4.5.0 + next-auth: 4.19.2 + prisma: 4.9.0 svelte: 3.49.0 uuid: 8.3.2 - zod: 3.19.1 + zod: 3.20.2 devDependencies: - '@carbon/charts': 1.5.2_d3@7.6.1 - '@carbon/charts-svelte': 1.5.2_d3@7.6.1+svelte@3.49.0 + '@carbon/charts': 1.6.4_d3@7.6.1 + '@carbon/charts-svelte': 1.6.4_d3@7.6.1+svelte@3.49.0 '@commitlint/cli': 17.0.3 '@commitlint/config-conventional': 17.0.3 - '@hey-amplify/scripts': link:packages/scripts - '@hey-amplify/support': link:packages/support - '@hey-amplify/tsconfig': link:packages/tsconfig - '@hey-amplify/vite-plugin-server': link:packages/vite-plugin-server - '@sveltejs/adapter-node': 1.0.0-next.87 - '@sveltejs/kit': 1.0.0-next.447_svelte@3.49.0+vite@3.0.9 + '@hey-amplify/scripts': link:../../packages/scripts + '@hey-amplify/support': link:../../packages/support + '@hey-amplify/tsconfig': link:../../packages/tsconfig + '@hey-amplify/vite-plugin-server': link:../../packages/vite-plugin-server + '@sveltejs/adapter-node': 1.1.7_@sveltejs+kit@1.5.0 + '@sveltejs/kit': 1.5.0_svelte@3.49.0+vite@4.1.1 '@types/cookie': 0.5.1 '@types/express': 4.17.13 - '@types/node': 18.7.13 + '@types/node': 18.7.19 '@types/prettier': 2.7.0 - '@types/supertest': 2.0.12 - '@typescript-eslint/eslint-plugin': 5.35.1_ktjxjibzrfqejavile4bhmzhjq - '@typescript-eslint/parser': 5.35.1_4rv7y5c6xz3vfxwhbrcxxi73bq '@vitest/ui': 0.22.1 - carbon-components-svelte: 0.70.1 - carbon-icons-svelte: 11.2.0 + carbon-components-svelte: 0.70.13 + carbon-icons-svelte: 11.4.0 carbon-preprocess-svelte: 0.9.1_svelte@3.49.0 d3: 7.6.1 - eslint: 8.22.0 - eslint-config-prettier: 8.5.0_eslint@8.22.0 - eslint-plugin-svelte3: 4.0.0_laaqauvsmoyypsiqkozwyi2fn4 jsdom: 20.0.0 - lint-staged: 13.0.3 - prettier: 2.7.1 - prettier-plugin-svelte: 2.7.0_o3ioganyptcsrh6x4hnxvjkpqi - supertest: 6.2.4 - svelte-check: 2.8.1_svelte@3.49.0 - svelte-preprocess: 4.10.7_uslzfc62di2n2otc2tvfklnwji - tslib: 2.4.0 - typescript: 4.7.4 - vite: 3.0.9 - vite-node: 0.22.1 - vitest: 0.22.1_r26ddduqt3xuel6y6oroghsjvu + svelte-check: 3.0.3_svelte@3.49.0 + svelte-preprocess: 5.0.1_rjh2sb3hvzg4sh5aiufloh7yey + tslib: 2.5.0 + typescript: 4.9.5 + vite: 4.1.1_@types+node@18.7.19 + vite-node: 0.28.4_@types+node@18.7.19 + vitest: 0.28.4_r26ddduqt3xuel6y6oroghsjvu + + apps/discord-bot: + specifiers: + discord.js: ^14.4.0 + dependencies: + discord.js: 14.4.0 cdk: specifiers: @@ -154,6 +180,15 @@ importers: vite: 3.1.3 vite-node: 0.23.4 + packages/prisma: + specifiers: + '@prisma/client': ^4.9.0 + prisma: ^4.9.0 + dependencies: + '@prisma/client': 4.9.0_prisma@4.9.0 + devDependencies: + prisma: 4.9.0 + packages/scripts: specifiers: '@hey-amplify/support': workspace:* @@ -283,7 +318,7 @@ packages: resolution: {integrity: sha512-mbHTBSPBvg6o/mN/c18Z/zifM05eJrapj5ggoOIeHIWckvkv5VgGi7r/wYpt+QAO2ySKXLNvH2d8L7bne4xrMQ==} dependencies: '@aws-crypto/util': 2.0.1 - '@aws-sdk/types': 3.110.0 + '@aws-sdk/types': 3.127.0 tslib: 1.14.1 /@aws-crypto/supports-web-crypto/2.0.0: @@ -304,7 +339,7 @@ packages: engines: {node: '>= 12.0.0'} dependencies: '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/client-ssm/3.142.0: @@ -345,7 +380,7 @@ packages: '@aws-sdk/util-utf8-browser': 3.109.0 '@aws-sdk/util-utf8-node': 3.109.0 '@aws-sdk/util-waiter': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 uuid: 8.3.2 transitivePeerDependencies: - aws-crt @@ -385,7 +420,7 @@ packages: '@aws-sdk/util-user-agent-node': 3.127.0_rldx5j3uyz672fxizuslsth3gy '@aws-sdk/util-utf8-browser': 3.109.0 '@aws-sdk/util-utf8-node': 3.109.0 - tslib: 2.4.0 + tslib: 2.5.0 transitivePeerDependencies: - aws-crt dev: true @@ -429,7 +464,7 @@ packages: '@aws-sdk/util-utf8-node': 3.109.0 entities: 2.2.0 fast-xml-parser: 3.19.0 - tslib: 2.4.0 + tslib: 2.5.0 transitivePeerDependencies: - aws-crt dev: true @@ -442,7 +477,7 @@ packages: '@aws-sdk/types': 3.127.0 '@aws-sdk/util-config-provider': 3.109.0 '@aws-sdk/util-middleware': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/credential-provider-env/3.127.0: @@ -451,7 +486,7 @@ packages: dependencies: '@aws-sdk/property-provider': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/credential-provider-imds/3.127.0: @@ -462,7 +497,7 @@ packages: '@aws-sdk/property-provider': 3.127.0 '@aws-sdk/types': 3.127.0 '@aws-sdk/url-parser': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/credential-provider-ini/3.142.0: @@ -476,7 +511,7 @@ packages: '@aws-sdk/property-provider': 3.127.0 '@aws-sdk/shared-ini-file-loader': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 transitivePeerDependencies: - aws-crt dev: true @@ -494,7 +529,7 @@ packages: '@aws-sdk/property-provider': 3.127.0 '@aws-sdk/shared-ini-file-loader': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 transitivePeerDependencies: - aws-crt dev: true @@ -506,7 +541,7 @@ packages: '@aws-sdk/property-provider': 3.127.0 '@aws-sdk/shared-ini-file-loader': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/credential-provider-sso/3.142.0: @@ -517,7 +552,7 @@ packages: '@aws-sdk/property-provider': 3.127.0 '@aws-sdk/shared-ini-file-loader': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 transitivePeerDependencies: - aws-crt dev: true @@ -528,7 +563,7 @@ packages: dependencies: '@aws-sdk/property-provider': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/fetch-http-handler/3.131.0: @@ -538,7 +573,7 @@ packages: '@aws-sdk/querystring-builder': 3.127.0 '@aws-sdk/types': 3.127.0 '@aws-sdk/util-base64-browser': 3.109.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/hash-node/3.127.0: @@ -547,21 +582,21 @@ packages: dependencies: '@aws-sdk/types': 3.127.0 '@aws-sdk/util-buffer-from': 3.55.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/invalid-dependency/3.127.0: resolution: {integrity: sha512-bxvmtmJ6gIRfOHvh1jAPZBH2mzppEblPjEOFo4mOzXz4U3qPIxeuukCjboMnGK9QEpV2wObWcYYld0vxoRrfiA==} dependencies: '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/is-array-buffer/3.55.0: resolution: {integrity: sha512-NbiPHVYuPxdqdFd6FxzzN3H1BQn/iWA3ri3Ry7AyLeP/tGs1yzEWMwf8BN8TSMALI0GXT6Sh0GDWy3Ok5xB6DA==} engines: {node: '>= 12.0.0'} dependencies: - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/middleware-content-length/3.127.0: @@ -570,7 +605,7 @@ packages: dependencies: '@aws-sdk/protocol-http': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/middleware-host-header/3.127.0: @@ -579,7 +614,7 @@ packages: dependencies: '@aws-sdk/protocol-http': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/middleware-logger/3.127.0: @@ -587,7 +622,7 @@ packages: engines: {node: '>= 12.0.0'} dependencies: '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/middleware-recursion-detection/3.127.0: @@ -596,7 +631,7 @@ packages: dependencies: '@aws-sdk/protocol-http': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/middleware-retry/3.127.0: @@ -607,7 +642,7 @@ packages: '@aws-sdk/service-error-classification': 3.127.0 '@aws-sdk/types': 3.127.0 '@aws-sdk/util-middleware': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 uuid: 8.3.2 dev: true @@ -620,7 +655,7 @@ packages: '@aws-sdk/protocol-http': 3.127.0 '@aws-sdk/signature-v4': 3.130.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/middleware-serde/3.127.0: @@ -628,7 +663,7 @@ packages: engines: {node: '>= 12.0.0'} dependencies: '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/middleware-signing/3.130.0: @@ -639,14 +674,14 @@ packages: '@aws-sdk/protocol-http': 3.127.0 '@aws-sdk/signature-v4': 3.130.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/middleware-stack/3.127.0: resolution: {integrity: sha512-S1IoUE5o1vCmjsF5nIE8zlItNOM1UE+lhmZeigF7knXJ9+a6ewMB6POAj/s4eoi0wcn0eSnAGsqJCWMSUjOPLA==} engines: {node: '>= 12.0.0'} dependencies: - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/middleware-user-agent/3.127.0: @@ -655,7 +690,7 @@ packages: dependencies: '@aws-sdk/protocol-http': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/node-config-provider/3.127.0: @@ -665,7 +700,7 @@ packages: '@aws-sdk/property-provider': 3.127.0 '@aws-sdk/shared-ini-file-loader': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/node-http-handler/3.127.0: @@ -676,7 +711,7 @@ packages: '@aws-sdk/protocol-http': 3.127.0 '@aws-sdk/querystring-builder': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/property-provider/3.127.0: @@ -684,7 +719,7 @@ packages: engines: {node: '>= 12.0.0'} dependencies: '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/protocol-http/3.127.0: @@ -692,7 +727,7 @@ packages: engines: {node: '>= 12.0.0'} dependencies: '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/querystring-builder/3.127.0: @@ -701,7 +736,7 @@ packages: dependencies: '@aws-sdk/types': 3.127.0 '@aws-sdk/util-uri-escape': 3.55.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/querystring-parser/3.127.0: @@ -709,7 +744,7 @@ packages: engines: {node: '>= 12.0.0'} dependencies: '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/service-error-classification/3.127.0: @@ -721,7 +756,7 @@ packages: resolution: {integrity: sha512-S3Nn4KRTqoJsB/TbRZSWBBUrkckNMR0Juqz7bOB+wupVvddKP6IcpspSC/GX9zgJjVMV8iGisZ6AUsYsC5r+cA==} engines: {node: '>= 12.0.0'} dependencies: - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/signature-v4/3.130.0: @@ -733,7 +768,7 @@ packages: '@aws-sdk/util-hex-encoding': 3.109.0 '@aws-sdk/util-middleware': 3.127.0 '@aws-sdk/util-uri-escape': 3.55.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/smithy-client/3.142.0: @@ -742,13 +777,9 @@ packages: dependencies: '@aws-sdk/middleware-stack': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true - /@aws-sdk/types/3.110.0: - resolution: {integrity: sha512-dLVoqODU3laaqNFPyN1QLtlQnwX4gNPMXptEBIt/iJpuZf66IYJe6WCzVZGt4Zfa1CnUmrlA428AzdcA/KCr2A==} - engines: {node: '>= 12.0.0'} - /@aws-sdk/types/3.127.0: resolution: {integrity: sha512-e0wtx2IkOl7rwfKfLH5pPTzQ+d45V7b1WrjeL0WDI8kOu6w+sXmhNxI6uM2kf0k4NiTLN84lW290AEWupey9Og==} engines: {node: '>= 12.0.0'} @@ -758,13 +789,13 @@ packages: dependencies: '@aws-sdk/querystring-parser': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-base64-browser/3.109.0: resolution: {integrity: sha512-lAZ6fyDGiRLaIsKT9qh7P9FGuNyZ4gAbr1YOSQk/5mHtaTuUvxlPptZuInNM/0MPQm6lpcot00D8IWTucn4PbA==} dependencies: - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-base64-node/3.55.0: @@ -772,20 +803,20 @@ packages: engines: {node: '>= 12.0.0'} dependencies: '@aws-sdk/util-buffer-from': 3.55.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-body-length-browser/3.55.0: resolution: {integrity: sha512-Ei2OCzXQw5N6ZkTMZbamUzc1z+z1R1Ja5tMEagz5BxuX4vWdBObT+uGlSzL8yvTbjoPjnxWA2aXyEqaUP3JS8Q==} dependencies: - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-body-length-node/3.55.0: resolution: {integrity: sha512-lU1d4I+9wJwydduXs0SxSfd+mHKjxeyd39VwOv6i2KSwWkPbji9UQqpflKLKw+r45jL7+xU/zfeTUg5Tt/3Gew==} engines: {node: '>= 12.0.0'} dependencies: - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-buffer-from/3.55.0: @@ -793,14 +824,14 @@ packages: engines: {node: '>= 12.0.0'} dependencies: '@aws-sdk/is-array-buffer': 3.55.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-config-provider/3.109.0: resolution: {integrity: sha512-GrAZl/aBv0A28LkyNyq8SPJ5fmViCwz80fWLMeWx/6q5AbivuILogjlWwEZSvZ9zrlHOcFC0+AnCa5pQrjaslw==} engines: {node: '>= 12.0.0'} dependencies: - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-defaults-mode-browser/3.142.0: @@ -810,7 +841,7 @@ packages: '@aws-sdk/property-provider': 3.127.0 '@aws-sdk/types': 3.127.0 bowser: 2.11.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-defaults-mode-node/3.142.0: @@ -822,35 +853,35 @@ packages: '@aws-sdk/node-config-provider': 3.127.0 '@aws-sdk/property-provider': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-hex-encoding/3.109.0: resolution: {integrity: sha512-s8CgTNrn3cLkrdiohfxLuOYPCanzvHn/aH5RW6DaMoeQiG5Hl9QUiP/WtdQ9QQx3xvpQFpmvxIaSBwSgFNLQxA==} engines: {node: '>= 12.0.0'} dependencies: - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-locate-window/3.55.0: resolution: {integrity: sha512-0sPmK2JaJE2BbTcnvybzob/VrFKCXKfN4CUKcvn0yGg/me7Bz+vtzQRB3Xp+YSx+7OtWxzv63wsvHoAnXvgxgg==} engines: {node: '>= 12.0.0'} dependencies: - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-middleware/3.127.0: resolution: {integrity: sha512-EwAPPed9TNqh+Wov2VStLn2NuJ/Wyt7IkZCbCsBuSNp3BFZ1V4gfwTjqtKCtB2LQgQ48MTgWgNCvrH0zjCSPGg==} engines: {node: '>= 12.0.0'} dependencies: - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-uri-escape/3.55.0: resolution: {integrity: sha512-mmdDLUpFCN2nkfwlLdOM54lTD528GiGSPN1qb8XtGLgZsJUmg3uJSFIN2lPeSbEwJB3NFjVas/rnQC48i7mV8w==} engines: {node: '>= 12.0.0'} dependencies: - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-user-agent-browser/3.127.0: @@ -858,7 +889,7 @@ packages: dependencies: '@aws-sdk/types': 3.127.0 bowser: 2.11.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-user-agent-node/3.127.0_rldx5j3uyz672fxizuslsth3gy: @@ -872,21 +903,21 @@ packages: dependencies: '@aws-sdk/node-config-provider': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true patched: true /@aws-sdk/util-utf8-browser/3.109.0: resolution: {integrity: sha512-FmcGSz0v7Bqpl1SE8G1Gc0CtDpug+rvqNCG/szn86JApD/f5x8oByjbEiAyTU2ZH2VevUntx6EW68ulHyH+x+w==} dependencies: - tslib: 2.4.0 + tslib: 2.5.0 /@aws-sdk/util-utf8-node/3.109.0: resolution: {integrity: sha512-Ti/ZBdvz2eSTElsucjzNmzpyg2MwfD1rXmxD0hZuIF8bPON/0+sZYnWd5CbDw9kgmhy28dmKue086tbZ1G0iLQ==} engines: {node: '>= 12.0.0'} dependencies: '@aws-sdk/util-buffer-from': 3.55.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@aws-sdk/util-waiter/3.127.0: @@ -895,7 +926,7 @@ packages: dependencies: '@aws-sdk/abort-controller': 3.127.0 '@aws-sdk/types': 3.127.0 - tslib: 2.4.0 + tslib: 2.5.0 dev: true /@babel/code-frame/7.18.6: @@ -919,24 +950,24 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/runtime/7.18.9: - resolution: {integrity: sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==} + /@babel/runtime/7.20.13: + resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.13.9 + regenerator-runtime: 0.13.11 dev: false /@balena/dockerignore/1.0.2: resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} dev: true - /@carbon/charts-svelte/1.5.2_d3@7.6.1+svelte@3.49.0: - resolution: {integrity: sha512-QUgWvjtoRAyby5XEMmxWKWtyGb0NOs0Ap6tvcs3cqemO9PKdoPLDXiaLg/p8MdecI+AyWOctU4BZ6NKR1EpQRw==} + /@carbon/charts-svelte/1.6.4_d3@7.6.1+svelte@3.49.0: + resolution: {integrity: sha512-aH+1mGYoEfz8nfjBlufOPqv/Hd/m0EHOgsImFNSFydntVasU8TUX4HCD3uVuUrzxmM4h5NL9vWrViw/BO7FH1w==} requiresBuild: true peerDependencies: svelte: ^3.31.x dependencies: - '@carbon/charts': 1.5.2_d3@7.6.1 + '@carbon/charts': 1.6.4_d3@7.6.1 '@carbon/telemetry': 0.1.0 svelte: 3.49.0 transitivePeerDependencies: @@ -944,13 +975,13 @@ packages: - sass dev: true - /@carbon/charts/1.5.2_d3@7.6.1: - resolution: {integrity: sha512-G5sjqoRFJ0w8aaHkO7Tc4TfWl26vyF7Vb7kM7KN+DkmN2S0dltoFjxN1IvaHM88YMNNpt3+ofvxDXkeYCYbW7A==} + /@carbon/charts/1.6.4_d3@7.6.1: + resolution: {integrity: sha512-S61fiKuFd1XBB2bHYsyQsozdrVjDNk0ZmbGBUXA2vUcNG8OTIHQEbCU//pO77Wc+cR+YgXyYmsQ3e9QjlxANbQ==} requiresBuild: true peerDependencies: d3: 7.x dependencies: - '@carbon/styles': 1.11.0 + '@carbon/styles': 1.22.0 '@carbon/telemetry': 0.1.0 '@carbon/utils-position': 1.1.1 carbon-components: 10.56.0 @@ -964,35 +995,35 @@ packages: - sass dev: true - /@carbon/colors/11.4.0: - resolution: {integrity: sha512-RgZthBiL0QzHzvz4RmGjXBBDsOzMTd94ShbJsobp9Xkf3oosInPnOAXiqY6FvwbX+ByyeB/dxihNApY9Lq6Efg==} + /@carbon/colors/11.12.0: + resolution: {integrity: sha512-rN/e6EXgS1RM8C/K0qQ/4/zE+En8iMGDE9u6BNLQ9ig2V2KTYncCdhItJW0rAbL7tt8xeP0UrACijS/XCqsm6w==} - /@carbon/feature-flags/0.8.0: - resolution: {integrity: sha512-R0RdoGA9MVv2VwvXaSnJeAW8QoO4P7RLIOi98FfOI3OmjtKPwj66UJVaxZ/63SFjDPV1deTw3k90wXHfEUCmUw==} + /@carbon/feature-flags/0.12.0: + resolution: {integrity: sha512-7jspPbQNk//S787QDtDI/jAGEt2MKc0aHJEQ32UFXXNb8hIr/VpVQTTu7OZoUiSF23F3Dsnr4HcEXsj6Nq9Ikw==} - /@carbon/grid/11.5.0: - resolution: {integrity: sha512-Sqvg+cAeVzoqI0Yfz6oMvte41HXroH/MVrcBx2bR5F7D9DO+9c8B/AcD7NdIdYtYnOQalwE3BnGdbaYJP73rDA==} + /@carbon/grid/11.11.0: + resolution: {integrity: sha512-07U2cC5lgvy7gWveUtE0wuYUxu6Dndglnajy1FJAeV7BEd2t6cgU/t7AOaL8RhoXPjE7tarN5tnZImw5nmzQYQ==} dependencies: - '@carbon/layout': 11.5.0 + '@carbon/layout': 11.11.0 - /@carbon/layout/11.5.0: - resolution: {integrity: sha512-5uZN5gll/JoMMaTW1ZCauL62RqWwYvvOTT/tfCOADSAeUz2Gvnnu8FV4wPwm06wt5u4SFQdSXb45DBVcHFtzPw==} + /@carbon/layout/11.11.0: + resolution: {integrity: sha512-0AuBxoJ+4HiYDIou0xR/jRtGDjTZ2ew1qeViQd04aM0GdZDGhjPTwU9u9CLCKAZEK4dYcewqWat1FQI4diYaOA==} - /@carbon/motion/11.3.0: - resolution: {integrity: sha512-uhseTXlSXBH7FA2euriLYrFcKZqx65raXyVN0F1XIiw3dDfTOwdXGLdg8nPQB3sGVefTinEvGxqwc6dwinbsNA==} + /@carbon/motion/11.9.0: + resolution: {integrity: sha512-kLWvm0Y6QH+2sZm+TKk5PPHONlZZFFY5QelyZrCkKlzB5oU2Nne597ETHnu1SomOscDqJjc/zhkxIsx9dJLBIw==} - /@carbon/styles/1.11.0: - resolution: {integrity: sha512-OGUuDa69wP+dnuWdafcKJv1/53euJiLaHktGIPjyOrkhv/OoNMNj8EprIv4fwlnv/oLOBJI67nT3E8gPZvmlPw==} + /@carbon/styles/1.22.0: + resolution: {integrity: sha512-lfewhEFIaRDhnwGhknen+vzhgfgd/3nq1nk6JZWP9FqwwkJR02UiWrl7Mr40chyzxzuYmtAv/nJh2m7qJelhiw==} peerDependencies: sass: ^1.33.0 dependencies: - '@carbon/colors': 11.4.0 - '@carbon/feature-flags': 0.8.0 - '@carbon/grid': 11.5.0 - '@carbon/layout': 11.5.0 - '@carbon/motion': 11.3.0 - '@carbon/themes': 11.7.0 - '@carbon/type': 11.7.0 + '@carbon/colors': 11.12.0 + '@carbon/feature-flags': 0.12.0 + '@carbon/grid': 11.11.0 + '@carbon/layout': 11.11.0 + '@carbon/motion': 11.9.0 + '@carbon/themes': 11.16.0 + '@carbon/type': 11.15.0 '@ibm/plex': 6.0.0-next.6 /@carbon/telemetry/0.1.0: @@ -1000,18 +1031,19 @@ packages: hasBin: true dev: true - /@carbon/themes/11.7.0: - resolution: {integrity: sha512-xD15zcKTycCxBit6eFOr6znh7TGwgmU2yUYO7rpjBqJ9sIbciJM0F4FBubDiidc3cwCfc+9D1ki+UGICEoeYtQ==} + /@carbon/themes/11.16.0: + resolution: {integrity: sha512-t5323D66p5M6ev9HwMo5tQUE5M1zQP+fa2KExOkHzyJXQfbR3rDSL3y8O/ALrnLgYfBKTftQCGOcUnxhR3LOTQ==} dependencies: - '@carbon/colors': 11.4.0 - '@carbon/layout': 11.5.0 - '@carbon/type': 11.7.0 - color: 3.2.1 + '@carbon/colors': 11.12.0 + '@carbon/layout': 11.11.0 + '@carbon/type': 11.15.0 + color: 4.2.3 - /@carbon/type/11.7.0: - resolution: {integrity: sha512-n+Z5zXQvRL4kW/SFC8DHQc4ZOWD5jkbxXm8ibPYm5Jj4fQ22Vo1+WL/1wbA9wW/RRAlFyKTgIt94f095+pfVZg==} + /@carbon/type/11.15.0: + resolution: {integrity: sha512-oJm8imiLUF5x7AYaiuExhGfhF/aep8STvV4ckQ9VrPCVFwytJ1haJFmyDU2ssYNiTfgjVN0foy6sNbHMZYM0pg==} dependencies: - '@carbon/grid': 11.5.0 + '@carbon/grid': 11.11.0 + '@carbon/layout': 11.11.0 /@carbon/utils-position/1.1.1: resolution: {integrity: sha512-W8ykraEzr9WsH8+6+FgI6lmK4elFxH8Uy9+XDbDTvyVbF6fq5jgi4dPCDd1AoCtUBCcLAehInhReDaFM3DrM6w==} @@ -1022,11 +1054,11 @@ packages: engines: {node: '>=v14'} hasBin: true dependencies: - '@commitlint/format': 17.0.0 - '@commitlint/lint': 17.0.3 - '@commitlint/load': 17.0.3 - '@commitlint/read': 17.0.0 - '@commitlint/types': 17.0.0 + '@commitlint/format': 17.4.0 + '@commitlint/lint': 17.4.2 + '@commitlint/load': 17.4.2 + '@commitlint/read': 17.4.2 + '@commitlint/types': 17.4.0 execa: 5.1.1 lodash: 4.17.21 resolve-from: 5.0.0 @@ -1037,6 +1069,26 @@ packages: - '@swc/wasm' dev: true + /@commitlint/cli/17.4.2: + resolution: {integrity: sha512-0rPGJ2O1owhpxMIXL9YJ2CgPkdrFLKZElIZHXDN8L8+qWK1DGH7Q7IelBT1pchXTYTuDlqkOTdh//aTvT3bSUA==} + engines: {node: '>=v14'} + hasBin: true + dependencies: + '@commitlint/format': 17.4.0 + '@commitlint/lint': 17.4.2 + '@commitlint/load': 17.4.2 + '@commitlint/read': 17.4.2 + '@commitlint/types': 17.4.0 + execa: 5.1.1 + lodash.isfunction: 3.0.9 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + yargs: 17.5.1 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + /@commitlint/config-conventional/17.0.3: resolution: {integrity: sha512-HCnzTm5ATwwwzNVq5Y57poS0a1oOOcd5pc1MmBpLbGmSysc4i7F/++JuwtdFPu16sgM3H9J/j2zznRLOSGVO2A==} engines: {node: '>=v14'} @@ -1044,134 +1096,149 @@ packages: conventional-changelog-conventionalcommits: 5.0.0 dev: true - /@commitlint/config-validator/17.0.3: - resolution: {integrity: sha512-3tLRPQJKapksGE7Kee9axv+9z5I2GDHitDH4q63q7NmNA0wkB+DAorJ0RHz2/K00Zb1/MVdHzhCga34FJvDihQ==} + /@commitlint/config-conventional/17.4.2: + resolution: {integrity: sha512-JVo1moSj5eDMoql159q8zKCU8lkOhQ+b23Vl3LVVrS6PXDLQIELnJ34ChQmFVbBdSSRNAbbXnRDhosFU+wnuHw==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.0.0 + conventional-changelog-conventionalcommits: 5.0.0 + dev: true + + /@commitlint/config-validator/17.4.0: + resolution: {integrity: sha512-Sa/+8KNpDXz4zT4bVbz2fpFjvgkPO6u2V2fP4TKgt6FjmOw2z3eEX859vtfeaTav/ukBw0/0jr+5ZTZp9zCBhA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.4.0 ajv: 8.11.0 dev: true - /@commitlint/ensure/17.0.0: - resolution: {integrity: sha512-M2hkJnNXvEni59S0QPOnqCKIK52G1XyXBGw51mvh7OXDudCmZ9tZiIPpU882p475Mhx48Ien1MbWjCP1zlyC0A==} + /@commitlint/ensure/17.4.0: + resolution: {integrity: sha512-7oAxt25je0jeQ/E0O/M8L3ADb1Cvweu/5lc/kYF8g/kXatI0wxGE5La52onnAUAWeWlsuvBNar15WcrmDmr5Mw==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.0.0 - lodash: 4.17.21 + '@commitlint/types': 17.4.0 + lodash.camelcase: 4.3.0 + lodash.kebabcase: 4.1.1 + lodash.snakecase: 4.1.1 + lodash.startcase: 4.4.0 + lodash.upperfirst: 4.3.1 dev: true - /@commitlint/execute-rule/17.0.0: - resolution: {integrity: sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==} + /@commitlint/execute-rule/17.4.0: + resolution: {integrity: sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==} engines: {node: '>=v14'} dev: true - /@commitlint/format/17.0.0: - resolution: {integrity: sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA==} + /@commitlint/format/17.4.0: + resolution: {integrity: sha512-Z2bWAU5+f1YZh9W76c84J8iLIWIvvm+mzqogTz0Nsc1x6EHW0Z2gI38g5HAjB0r0I3ZjR15IDEJKhsxyblcyhA==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.0.0 + '@commitlint/types': 17.4.0 chalk: 4.1.2 dev: true - /@commitlint/is-ignored/17.0.3: - resolution: {integrity: sha512-/wgCXAvPtFTQZxsVxj7owLeRf5wwzcXLaYmrZPR4a87iD4sCvUIRl1/ogYrtOyUmHwWfQsvjqIB4mWE/SqWSnA==} + /@commitlint/is-ignored/17.4.2: + resolution: {integrity: sha512-1b2Y2qJ6n7bHG9K6h8S4lBGUl6kc7mMhJN9gy1SQfUZqe92ToDjUTtgNWb6LbzR1X8Cq4SEus4VU8Z/riEa94Q==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.0.0 - semver: 7.3.7 + '@commitlint/types': 17.4.0 + semver: 7.3.8 dev: true - /@commitlint/lint/17.0.3: - resolution: {integrity: sha512-2o1fk7JUdxBUgszyt41sHC/8Nd5PXNpkmuOo9jvGIjDHzOwXyV0PSdbEVTH3xGz9NEmjohFHr5l+N+T9fcxong==} + /@commitlint/lint/17.4.2: + resolution: {integrity: sha512-HcymabrdBhsDMNzIv146+ZPNBPBK5gMNsVH+el2lCagnYgCi/4ixrHooeVyS64Fgce2K26+MC7OQ4vVH8wQWVw==} engines: {node: '>=v14'} dependencies: - '@commitlint/is-ignored': 17.0.3 - '@commitlint/parse': 17.0.0 - '@commitlint/rules': 17.0.0 - '@commitlint/types': 17.0.0 + '@commitlint/is-ignored': 17.4.2 + '@commitlint/parse': 17.4.2 + '@commitlint/rules': 17.4.2 + '@commitlint/types': 17.4.0 dev: true - /@commitlint/load/17.0.3: - resolution: {integrity: sha512-3Dhvr7GcKbKa/ey4QJ5MZH3+J7QFlARohUow6hftQyNjzoXXROm+RwpBes4dDFrXG1xDw9QPXA7uzrOShCd4bw==} + /@commitlint/load/17.4.2: + resolution: {integrity: sha512-Si++F85rJ9t4hw6JcOw1i2h0fdpdFQt0YKwjuK4bk9KhFjyFkRxvR3SB2dPaMs+EwWlDrDBGL+ygip1QD6gmPw==} engines: {node: '>=v14'} dependencies: - '@commitlint/config-validator': 17.0.3 - '@commitlint/execute-rule': 17.0.0 - '@commitlint/resolve-extends': 17.0.3 - '@commitlint/types': 17.0.0 - '@types/node': 18.7.19 + '@commitlint/config-validator': 17.4.0 + '@commitlint/execute-rule': 17.4.0 + '@commitlint/resolve-extends': 17.4.0 + '@commitlint/types': 17.4.0 + '@types/node': 18.11.19 chalk: 4.1.2 - cosmiconfig: 7.0.1 - cosmiconfig-typescript-loader: 2.0.2_u7tj3mdglidusk2sd73zi6kt7q - lodash: 4.17.21 + cosmiconfig: 8.0.0 + cosmiconfig-typescript-loader: 4.3.0_q6dimmvgduffavfq3obt6abtea + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 resolve-from: 5.0.0 - typescript: 4.8.3 + ts-node: 10.9.1_qqdszkrtcshgbphghj7vnvrrby + typescript: 4.9.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' dev: true - /@commitlint/message/17.0.0: - resolution: {integrity: sha512-LpcwYtN+lBlfZijHUdVr8aNFTVpHjuHI52BnfoV01TF7iSLnia0jttzpLkrLmI8HNQz6Vhr9UrxDWtKZiMGsBw==} + /@commitlint/message/17.4.2: + resolution: {integrity: sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q==} engines: {node: '>=v14'} dev: true - /@commitlint/parse/17.0.0: - resolution: {integrity: sha512-cKcpfTIQYDG1ywTIr5AG0RAiLBr1gudqEsmAGCTtj8ffDChbBRxm6xXs2nv7GvmJN7msOt7vOKleLvcMmRa1+A==} + /@commitlint/parse/17.4.2: + resolution: {integrity: sha512-DK4EwqhxfXpyCA+UH8TBRIAXAfmmX4q9QRBz/2h9F9sI91yt6mltTrL6TKURMcjUVmgaB80wgS9QybNIyVBIJA==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.0.0 + '@commitlint/types': 17.4.0 conventional-changelog-angular: 5.0.13 conventional-commits-parser: 3.2.4 dev: true - /@commitlint/read/17.0.0: - resolution: {integrity: sha512-zkuOdZayKX3J6F6mPnVMzohK3OBrsEdOByIqp4zQjA9VLw1hMsDEFQ18rKgUc2adkZar+4S01QrFreDCfZgbxA==} + /@commitlint/read/17.4.2: + resolution: {integrity: sha512-hasYOdbhEg+W4hi0InmXHxtD/1favB4WdwyFxs1eOy/DvMw6+2IZBmATgGOlqhahsypk4kChhxjAFJAZ2F+JBg==} engines: {node: '>=v14'} dependencies: - '@commitlint/top-level': 17.0.0 - '@commitlint/types': 17.0.0 - fs-extra: 10.1.0 + '@commitlint/top-level': 17.4.0 + '@commitlint/types': 17.4.0 + fs-extra: 11.1.0 git-raw-commits: 2.0.11 + minimist: 1.2.7 dev: true - /@commitlint/resolve-extends/17.0.3: - resolution: {integrity: sha512-H/RFMvrcBeJCMdnVC4i8I94108UDccIHrTke2tyQEg9nXQnR5/Hd6MhyNWkREvcrxh9Y+33JLb+PiPiaBxCtBA==} + /@commitlint/resolve-extends/17.4.0: + resolution: {integrity: sha512-3JsmwkrCzoK8sO22AzLBvNEvC1Pmdn/65RKXzEtQMy6oYMl0Snrq97a5bQQEFETF0VsvbtUuKttLqqgn99OXRQ==} engines: {node: '>=v14'} dependencies: - '@commitlint/config-validator': 17.0.3 - '@commitlint/types': 17.0.0 + '@commitlint/config-validator': 17.4.0 + '@commitlint/types': 17.4.0 import-fresh: 3.3.0 - lodash: 4.17.21 + lodash.mergewith: 4.6.2 resolve-from: 5.0.0 resolve-global: 1.0.0 dev: true - /@commitlint/rules/17.0.0: - resolution: {integrity: sha512-45nIy3dERKXWpnwX9HeBzK5SepHwlDxdGBfmedXhL30fmFCkJOdxHyOJsh0+B0RaVsLGT01NELpfzJUmtpDwdQ==} + /@commitlint/rules/17.4.2: + resolution: {integrity: sha512-OGrPsMb9Fx3/bZ64/EzJehY9YDSGWzp81Pj+zJiY+r/NSgJI3nUYdlS37jykNIugzazdEXfMtQ10kmA+Kx2pZQ==} engines: {node: '>=v14'} dependencies: - '@commitlint/ensure': 17.0.0 - '@commitlint/message': 17.0.0 - '@commitlint/to-lines': 17.0.0 - '@commitlint/types': 17.0.0 + '@commitlint/ensure': 17.4.0 + '@commitlint/message': 17.4.2 + '@commitlint/to-lines': 17.4.0 + '@commitlint/types': 17.4.0 execa: 5.1.1 dev: true - /@commitlint/to-lines/17.0.0: - resolution: {integrity: sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ==} + /@commitlint/to-lines/17.4.0: + resolution: {integrity: sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg==} engines: {node: '>=v14'} dev: true - /@commitlint/top-level/17.0.0: - resolution: {integrity: sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ==} + /@commitlint/top-level/17.4.0: + resolution: {integrity: sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g==} engines: {node: '>=v14'} dependencies: find-up: 5.0.0 dev: true - /@commitlint/types/17.0.0: - resolution: {integrity: sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==} + /@commitlint/types/17.4.0: + resolution: {integrity: sha512-2NjAnq5IcxY9kXtUeO2Ac0aPpvkuOmwbH/BxIm36XXK5LtWFObWJWjXOA+kcaABMrthjWu6la+FUpyYFMHRvbA==} engines: {node: '>=v14'} dependencies: chalk: 4.1.2 @@ -1184,17 +1251,6 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@discordjs/builders/1.1.0: - resolution: {integrity: sha512-EO8TSltiIc9Z1wE854wAFvv5AccqEtvjFmao9PPoxQhRaJ0hEb7FwWRTCA1jGg4ZWI3hcp4m+RET5ufZQz3rOg==} - engines: {node: '>=16.9.0'} - dependencies: - '@sapphire/shapeshift': 3.5.1 - discord-api-types: 0.36.3 - fast-deep-equal: 3.1.3 - ts-mixer: 6.0.1 - tslib: 2.4.0 - dev: false - /@discordjs/builders/1.2.0: resolution: {integrity: sha512-ARy4BUTMU+S0ZI6605NDqfWO+qZqV2d/xfY32z3hVSsd9IaAKJBZ1ILTZLy87oIjW8+gUpQmk9Kt0ZP9bmmd8Q==} engines: {node: '>=16.9.0'} @@ -1203,12 +1259,7 @@ packages: discord-api-types: 0.37.10 fast-deep-equal: 3.1.3 ts-mixer: 6.0.1 - tslib: 2.4.0 - dev: false - - /@discordjs/collection/1.0.1: - resolution: {integrity: sha512-5V/wswzR3r2RVYXLxxg4TvrAnBhVCNgHTXhC+OUtLoriJ072rPMHo+Iw1SS1vrCckp8Es40XM411+WkNRPaXFw==} - engines: {node: '>=16.9.0'} + tslib: 2.5.0 dev: false /@discordjs/collection/1.1.0: @@ -1216,19 +1267,6 @@ packages: engines: {node: '>=16.9.0'} dev: false - /@discordjs/rest/1.0.1: - resolution: {integrity: sha512-w08CTKVzzYYvKxEjXKOs9AdS7KQ1J502TrPfF8eCZ2lF6AfKuMP/32YgDakiwIyYTDjEQS/v0nKLSFcncHRMtg==} - engines: {node: '>=16.9.0'} - dependencies: - '@discordjs/collection': 1.0.1 - '@sapphire/async-queue': 1.3.2 - '@sapphire/snowflake': 3.2.2 - discord-api-types: 0.36.3 - file-type: 17.1.4 - tslib: 2.4.0 - undici: 5.8.0 - dev: false - /@discordjs/rest/1.1.0: resolution: {integrity: sha512-yCrthRTQeUyNThQEpCk7bvQJlwQmz6kU0tf3dcWBv2WX3Bncl41x7Wc+v5b5OsIxfNYq38PvVtWircu9jtYZug==} engines: {node: '>=16.9.0'} @@ -1238,8 +1276,8 @@ packages: '@sapphire/snowflake': 3.2.2 discord-api-types: 0.37.10 file-type: 17.1.6 - tslib: 2.4.0 - undici: 5.10.0 + tslib: 2.5.0 + undici: 5.18.0 dev: false /@esbuild/android-arm/0.15.9: @@ -1251,6 +1289,96 @@ packages: dev: true optional: true + /@esbuild/android-arm/0.16.17: + resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64/0.16.17: + resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64/0.16.17: + resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64/0.16.17: + resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64/0.16.17: + resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64/0.16.17: + resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64/0.16.17: + resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm/0.16.17: + resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64/0.16.17: + resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32/0.16.17: + resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64/0.15.9: resolution: {integrity: sha512-O+NfmkfRrb3uSsTa4jE3WApidSe3N5++fyOVGP1SmMZi4A3BZELkhUUvj5hwmMuNdlpzAZ8iAPz2vmcR7DCFQA==} engines: {node: '>=12'} @@ -1260,14 +1388,122 @@ packages: dev: true optional: true - /@eslint/eslintrc/1.3.0: - resolution: {integrity: sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==} + /@esbuild/linux-loong64/0.16.17: + resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el/0.16.17: + resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64/0.16.17: + resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64/0.16.17: + resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x/0.16.17: + resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64/0.16.17: + resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64/0.16.17: + resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64/0.16.17: + resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64/0.16.17: + resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64/0.16.17: + resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32/0.16.17: + resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64/0.16.17: + resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint/eslintrc/1.4.1: + resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.3.3 - globals: 13.16.0 + espree: 9.4.1 + globals: 13.20.0 ignore: 5.2.0 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -1277,13 +1513,13 @@ packages: - supports-color dev: true - /@faker-js/faker/7.4.0: - resolution: {integrity: sha512-xDd3Tvkt2jgkx1LkuwwxpNBy/Oe+LkZBTwkgEFTiWpVSZgQ5sc/LenbHKRHbFl0dq/KFeeq/szyyPtpJRKY0fg==} + /@faker-js/faker/7.6.0: + resolution: {integrity: sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==} engines: {node: '>=14.0.0', npm: '>=6.0.0'} dev: false - /@humanwhocodes/config-array/0.10.4: - resolution: {integrity: sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==} + /@humanwhocodes/config-array/0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -1293,8 +1529,9 @@ packages: - supports-color dev: true - /@humanwhocodes/gitignore-to-minimatch/1.0.2: - resolution: {integrity: sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==} + /@humanwhocodes/module-importer/1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} dev: true /@humanwhocodes/object-schema/1.2.1: @@ -1314,8 +1551,8 @@ packages: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true - /@jridgewell/trace-mapping/0.3.14: - resolution: {integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==} + /@jridgewell/trace-mapping/0.3.17: + resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 @@ -1367,14 +1604,14 @@ packages: resolution: {integrity: sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw==} dev: false - /@next-auth/prisma-adapter/1.0.4_2dz4tw7kma4hc2ivamm5imqace: - resolution: {integrity: sha512-jIOM6CzCbl2/Mzbx9kb2IjtHoJOeRN9wtQgLk4EUm5bhneSVGv1rtz5TDskvp2UfCa+EK9nDmug+lje41z80Gg==} + /@next-auth/prisma-adapter/1.0.5_77bhi65b6v5jbrzr36rs2ojwe4: + resolution: {integrity: sha512-VqMS11IxPXrPGXw6Oul6jcyS/n8GLOWzRMrPr3EMdtD6eOalM6zz05j08PcNiis8QzkfuYnCv49OvufTuaEwYQ==} peerDependencies: '@prisma/client': '>=2.26.0 || >=3' next-auth: ^4 dependencies: - '@prisma/client': 4.5.0_prisma@4.5.0 - next-auth: 4.10.3 + '@prisma/client': 4.9.0_prisma@4.9.0 + next-auth: 4.19.2 dev: false /@nodelib/fs.scandir/2.1.5: @@ -1395,32 +1632,32 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 - /@octokit/auth-app/4.0.5: - resolution: {integrity: sha512-fCbi4L/egsP3p4p1SelOFORM/m/5KxROhHdcIW5Lb17DDdW61fGT8y3wGpfiSeYNuulwF5QIfzJ7tdgtHNAymA==} + /@octokit/auth-app/4.0.9: + resolution: {integrity: sha512-VFpKIXhHO+kVJtane5cEvdYPtjDKCOI0uKsRrsZfJP+uEu7rcPbQCLCcRKgyT+mUIzGr1IIOmwP/lFqSip1dXA==} engines: {node: '>= 14'} dependencies: - '@octokit/auth-oauth-app': 5.0.1 - '@octokit/auth-oauth-user': 2.0.2 - '@octokit/request': 6.2.0 - '@octokit/request-error': 3.0.0 - '@octokit/types': 7.1.0 + '@octokit/auth-oauth-app': 5.0.5 + '@octokit/auth-oauth-user': 2.1.1 + '@octokit/request': 6.2.3 + '@octokit/request-error': 3.0.3 + '@octokit/types': 9.0.0 '@types/lru-cache': 5.1.1 deprecation: 2.3.1 lru-cache: 6.0.0 - universal-github-app-jwt: 1.1.0 + universal-github-app-jwt: 1.1.1 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding dev: false - /@octokit/auth-oauth-app/5.0.1: - resolution: {integrity: sha512-SGQKQGWe60kucMLCzbwc4MIohB78YawbYgGegosapDg2GxwuEVCujJccArzgn3wO+pB4aflUjFWPjkECVR2fEQ==} + /@octokit/auth-oauth-app/5.0.5: + resolution: {integrity: sha512-UPX1su6XpseaeLVCi78s9droxpGtBWIgz9XhXAx9VXabksoF0MyI5vaa1zo1njyYt6VaAjFisC2A2Wchcu2WmQ==} engines: {node: '>= 14'} dependencies: - '@octokit/auth-oauth-device': 4.0.0 - '@octokit/auth-oauth-user': 2.0.2 - '@octokit/request': 5.6.3 - '@octokit/types': 6.41.0 + '@octokit/auth-oauth-device': 4.0.4 + '@octokit/auth-oauth-user': 2.1.1 + '@octokit/request': 6.2.3 + '@octokit/types': 9.0.0 '@types/btoa-lite': 1.0.0 btoa-lite: 1.0.0 universal-user-agent: 6.0.0 @@ -1428,77 +1665,69 @@ packages: - encoding dev: false - /@octokit/auth-oauth-device/4.0.0: - resolution: {integrity: sha512-2bXBuF5DOnYD19wDafZNrnrNvLg7xNvDNAf3ELHlO/7/7x3BBhKna4dCvpJ4pfI6OYMja08Tt0D4XJ4sxK+YBA==} + /@octokit/auth-oauth-device/4.0.4: + resolution: {integrity: sha512-Xl85BZYfqCMv+Uvz33nVVUjE7I/PVySNaK6dRRqlkvYcArSr9vRcZC9KVjXYObGRTCN6mISeYdakAZvWEN4+Jw==} engines: {node: '>= 14'} dependencies: - '@octokit/oauth-methods': 2.0.2 - '@octokit/request': 6.2.0 - '@octokit/types': 6.41.0 + '@octokit/oauth-methods': 2.0.5 + '@octokit/request': 6.2.3 + '@octokit/types': 9.0.0 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding dev: false - /@octokit/auth-oauth-user/2.0.2: - resolution: {integrity: sha512-fr9+jPjkWG7cvpyUVnpJJH5F+wNCswRy9rTTwHUAXdy6z/kZj9uenPmUYdE6mja3wSTJUAt2yRqkfaaltzQlFA==} + /@octokit/auth-oauth-user/2.1.1: + resolution: {integrity: sha512-JgqnNNPf9CaWLxWm9uh2WgxcaVYhxBR09NVIPTiMU2dVZ3FObOHs3njBiLNw+zq84k+rEdm5Y7AsiASrZ84Apg==} engines: {node: '>= 14'} dependencies: - '@octokit/auth-oauth-device': 4.0.0 - '@octokit/oauth-methods': 2.0.2 - '@octokit/request': 6.2.0 - '@octokit/types': 6.41.0 + '@octokit/auth-oauth-device': 4.0.4 + '@octokit/oauth-methods': 2.0.5 + '@octokit/request': 6.2.3 + '@octokit/types': 9.0.0 btoa-lite: 1.0.0 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding dev: false - /@octokit/auth-token/3.0.0: - resolution: {integrity: sha512-MDNFUBcJIptB9At7HiV7VCvU3NcL4GnfCQaP8C5lrxWrRPMJBnemYtehaKSOlaM7AYxeRyj9etenu8LVpSpVaQ==} + /@octokit/auth-token/3.0.3: + resolution: {integrity: sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 6.41.0 + '@octokit/types': 9.0.0 dev: false - /@octokit/core/4.0.4: - resolution: {integrity: sha512-sUpR/hc4Gc7K34o60bWC7WUH6Q7T6ftZ2dUmepSyJr9PRF76/qqkWjE2SOEzCqLA5W83SaISymwKtxks+96hPQ==} + /@octokit/core/4.2.0: + resolution: {integrity: sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==} engines: {node: '>= 14'} dependencies: - '@octokit/auth-token': 3.0.0 - '@octokit/graphql': 5.0.1 - '@octokit/request': 6.2.0 - '@octokit/request-error': 3.0.0 - '@octokit/types': 6.41.0 - before-after-hook: 2.2.2 + '@octokit/auth-token': 3.0.3 + '@octokit/graphql': 5.0.5 + '@octokit/request': 6.2.3 + '@octokit/request-error': 3.0.3 + '@octokit/types': 9.0.0 + before-after-hook: 2.2.3 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding dev: false - /@octokit/endpoint/6.0.12: - resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==} - dependencies: - '@octokit/types': 6.41.0 - is-plain-object: 5.0.0 - universal-user-agent: 6.0.0 - dev: false - - /@octokit/endpoint/7.0.0: - resolution: {integrity: sha512-Kz/mIkOTjs9rV50hf/JK9pIDl4aGwAtT8pry6Rpy+hVXkAPhXanNQRxMoq6AeRgDCZR6t/A1zKniY2V1YhrzlQ==} + /@octokit/endpoint/7.0.5: + resolution: {integrity: sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 6.41.0 + '@octokit/types': 9.0.0 is-plain-object: 5.0.0 universal-user-agent: 6.0.0 dev: false - /@octokit/graphql/5.0.1: - resolution: {integrity: sha512-sxmnewSwAixkP1TrLdE6yRG53eEhHhDTYUykUwdV9x8f91WcbhunIHk9x1PZLALdBZKRPUO2HRcm4kezZ79HoA==} + /@octokit/graphql/5.0.5: + resolution: {integrity: sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==} engines: {node: '>= 14'} dependencies: - '@octokit/request': 6.2.0 - '@octokit/types': 7.1.0 + '@octokit/request': 6.2.3 + '@octokit/types': 9.0.0 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding @@ -1509,122 +1738,91 @@ packages: engines: {node: '>= 14'} dev: false - /@octokit/oauth-methods/2.0.2: - resolution: {integrity: sha512-AHF5bWGhgnZwH8fn4sgPLyVouRqMOafMSM2zX1de+aLZGZaS9rANK9RXH2d5fGvXjGEw3XR+ruNPZ0gwhM4QwA==} + /@octokit/oauth-methods/2.0.5: + resolution: {integrity: sha512-yQP6B5gE3axNxuM3U9KqWs/ErAQ+WLPaPgC/7EjsZsQibkf8sjdAfF8/y/EJW+Dd05XQvadX4WhQZPMnO1SE1A==} engines: {node: '>= 14'} dependencies: '@octokit/oauth-authorization-url': 5.0.0 - '@octokit/request': 6.2.0 - '@octokit/request-error': 3.0.0 - '@octokit/types': 6.41.0 + '@octokit/request': 6.2.3 + '@octokit/request-error': 3.0.3 + '@octokit/types': 9.0.0 btoa-lite: 1.0.0 transitivePeerDependencies: - encoding dev: false - /@octokit/openapi-types/12.11.0: - resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==} + /@octokit/openapi-types/16.0.0: + resolution: {integrity: sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==} dev: false - /@octokit/openapi-types/13.3.0: - resolution: {integrity: sha512-LQGIQDpCUNVm+Egqtj9nZJ383HsuS/LFaSqV5uMjD9eev4x54IUaom3WV3PEdDeu/pEagL7FyrKmvYn+Yrb30A==} - dev: false - - /@octokit/plugin-paginate-rest/4.0.0_@octokit+core@4.0.4: - resolution: {integrity: sha512-g4GJMt/7VDmIMMdQenN6bmsmRoZca1c7IxOdF2yMiMwQYrE2bmmypGQeQSD5rsaffsFMCUS7Br4pMVZamareYA==} + /@octokit/plugin-paginate-rest/6.0.0_@octokit+core@4.2.0: + resolution: {integrity: sha512-Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw==} engines: {node: '>= 14'} peerDependencies: '@octokit/core': '>=4' dependencies: - '@octokit/core': 4.0.4 - '@octokit/types': 7.1.0 + '@octokit/core': 4.2.0 + '@octokit/types': 9.0.0 dev: false - /@octokit/plugin-request-log/1.0.4_@octokit+core@4.0.4: + /@octokit/plugin-request-log/1.0.4_@octokit+core@4.2.0: resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} peerDependencies: '@octokit/core': '>=3' dependencies: - '@octokit/core': 4.0.4 + '@octokit/core': 4.2.0 dev: false - /@octokit/plugin-rest-endpoint-methods/6.1.0_@octokit+core@4.0.4: - resolution: {integrity: sha512-gP/yHUY0k/uKkEqXF6tZGRhCFqZNjQ0qdh9/gVo74AJ2pc3cr1rjnW/KRw1uXUKB/H9Y0rRBCBxsLXJmQjPv3A==} + /@octokit/plugin-rest-endpoint-methods/7.0.1_@octokit+core@4.2.0: + resolution: {integrity: sha512-pnCaLwZBudK5xCdrR823xHGNgqOzRnJ/mpC/76YPpNP7DybdsJtP7mdOwh+wYZxK5jqeQuhu59ogMI4NRlBUvA==} engines: {node: '>= 14'} peerDependencies: '@octokit/core': '>=3' dependencies: - '@octokit/core': 4.0.4 - '@octokit/types': 6.41.0 + '@octokit/core': 4.2.0 + '@octokit/types': 9.0.0 deprecation: 2.3.1 dev: false - /@octokit/request-error/2.1.0: - resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==} - dependencies: - '@octokit/types': 6.41.0 - deprecation: 2.3.1 - once: 1.4.0 - dev: false - - /@octokit/request-error/3.0.0: - resolution: {integrity: sha512-WBtpzm9lR8z4IHIMtOqr6XwfkGvMOOILNLxsWvDwtzm/n7f5AWuqJTXQXdDtOvPfTDrH4TPhEvW2qMlR4JFA2w==} + /@octokit/request-error/3.0.3: + resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 6.41.0 + '@octokit/types': 9.0.0 deprecation: 2.3.1 once: 1.4.0 dev: false - /@octokit/request/5.6.3: - resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==} - dependencies: - '@octokit/endpoint': 6.0.12 - '@octokit/request-error': 2.1.0 - '@octokit/types': 6.41.0 - is-plain-object: 5.0.0 - node-fetch: 2.6.7 - universal-user-agent: 6.0.0 - transitivePeerDependencies: - - encoding - dev: false - - /@octokit/request/6.2.0: - resolution: {integrity: sha512-7IAmHnaezZrgUqtRShMlByJK33MT9ZDnMRgZjnRrRV9a/jzzFwKGz0vxhFU6i7VMLraYcQ1qmcAOin37Kryq+Q==} + /@octokit/request/6.2.3: + resolution: {integrity: sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==} engines: {node: '>= 14'} dependencies: - '@octokit/endpoint': 7.0.0 - '@octokit/request-error': 3.0.0 - '@octokit/types': 6.41.0 + '@octokit/endpoint': 7.0.5 + '@octokit/request-error': 3.0.3 + '@octokit/types': 9.0.0 is-plain-object: 5.0.0 - node-fetch: 2.6.7 + node-fetch: 2.6.9 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding dev: false - /@octokit/rest/19.0.4: - resolution: {integrity: sha512-LwG668+6lE8zlSYOfwPj4FxWdv/qFXYBpv79TWIQEpBLKA9D/IMcWsF/U9RGpA3YqMVDiTxpgVpEW3zTFfPFTA==} + /@octokit/rest/19.0.7: + resolution: {integrity: sha512-HRtSfjrWmWVNp2uAkEpQnuGMJsu/+dBr47dRc5QVgsCbnIc1+GFEaoKBWkYG+zjrsHpSqcAElMio+n10c0b5JA==} engines: {node: '>= 14'} dependencies: - '@octokit/core': 4.0.4 - '@octokit/plugin-paginate-rest': 4.0.0_@octokit+core@4.0.4 - '@octokit/plugin-request-log': 1.0.4_@octokit+core@4.0.4 - '@octokit/plugin-rest-endpoint-methods': 6.1.0_@octokit+core@4.0.4 + '@octokit/core': 4.2.0 + '@octokit/plugin-paginate-rest': 6.0.0_@octokit+core@4.2.0 + '@octokit/plugin-request-log': 1.0.4_@octokit+core@4.2.0 + '@octokit/plugin-rest-endpoint-methods': 7.0.1_@octokit+core@4.2.0 transitivePeerDependencies: - encoding dev: false - /@octokit/types/6.41.0: - resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} - dependencies: - '@octokit/openapi-types': 12.11.0 - dev: false - - /@octokit/types/7.1.0: - resolution: {integrity: sha512-+ClA0jRc9zGFj5mfQeQNfgTlelzhpAexbAueQG1t2Xn8yhgnsjkF8bgLcUUpwrpqkv296uXyiGwkqXRSU7KYzQ==} + /@octokit/types/9.0.0: + resolution: {integrity: sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==} dependencies: - '@octokit/openapi-types': 13.3.0 + '@octokit/openapi-types': 16.0.0 dev: false /@panva/hkdf/1.0.2: @@ -1635,8 +1833,8 @@ packages: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: true - /@prisma/client/4.5.0_prisma@4.5.0: - resolution: {integrity: sha512-B2cV0OPI1smhdYUxsJoLYQLoMlLH06MUxgFUWQnHodGMX98VRVXKmQE/9OcrTNkqtke5RC+YU24Szxd04tZA2g==} + /@prisma/client/4.9.0_prisma@4.9.0: + resolution: {integrity: sha512-bz6QARw54sWcbyR1lLnF2QHvRW5R/Jxnbbmwh3u+969vUKXtBkXgSgjDA85nji31ZBlf7+FrHDy5x+5ydGyQDg==} engines: {node: '>=14.17'} requiresBuild: true peerDependencies: @@ -1645,25 +1843,80 @@ packages: prisma: optional: true dependencies: - '@prisma/engines-version': 4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452 - prisma: 4.5.0 + '@prisma/engines-version': 4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5 + prisma: 4.9.0 dev: false - /@prisma/engines-version/4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452: - resolution: {integrity: sha512-o7LyVx8PPJBLrEzLl6lpxxk2D5VnlM4Fwmrbq0NoT6pr5aa1OuHD9ZG+WJY6TlR/iD9bhmo2LNcxddCMr5Rv2A==} + /@prisma/engines-version/4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5: + resolution: {integrity: sha512-M16aibbxi/FhW7z1sJCX8u+0DriyQYY5AyeTH7plQm9MLnURoiyn3CZBqAyIoQ+Z1pS77usCIibYJWSgleBMBA==} dev: false - /@prisma/engines/4.5.0: - resolution: {integrity: sha512-4t9ir2SbQQr/wMCNU4YpHWp5hU14J2m3wHUZnGJPpmBF8YtkisxyVyQsKd1e6FyLTaGq8LOLhm6VLYHKqKNm+g==} + /@prisma/engines/4.9.0: + resolution: {integrity: sha512-t1pt0Gsp+HcgPJrHFc+d/ZSAaKKWar2G/iakrE07yeKPNavDP3iVKPpfXP22OTCHZUWf7OelwKJxQgKAm5hkgw==} requiresBuild: true - dev: false - /@rollup/pluginutils/4.2.1: - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} - engines: {node: '>= 8.0.0'} + /@rollup/plugin-commonjs/24.0.1_rollup@3.14.0: + resolution: {integrity: sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.68.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true dependencies: + '@rollup/pluginutils': 5.0.2_rollup@3.14.0 + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 8.1.0 + is-reference: 1.2.1 + magic-string: 0.27.0 + rollup: 3.14.0 + dev: true + + /@rollup/plugin-json/6.0.0_rollup@3.14.0: + resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.0.2_rollup@3.14.0 + rollup: 3.14.0 + dev: true + + /@rollup/plugin-node-resolve/15.0.1_rollup@3.14.0: + resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.0.2_rollup@3.14.0 + '@types/resolve': 1.20.2 + deepmerge: 4.3.0 + is-builtin-module: 3.2.1 + is-module: 1.0.0 + resolve: 1.22.1 + rollup: 3.14.0 + dev: true + + /@rollup/pluginutils/5.0.2_rollup@3.14.0: + resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 + rollup: 3.14.0 dev: true /@rushstack/node-core-library/3.51.1: @@ -1695,11 +1948,6 @@ packages: string-argv: 0.3.1 dev: false - /@sapphire/async-queue/1.3.2: - resolution: {integrity: sha512-rUpMLATsoAMnlN3gecAcr9Ecnw1vG7zi5Xr+IX22YzRzi1k9PF9vKzoT8RuEJbiIszjcimu3rveqUnvwDopz8g==} - engines: {node: '>=v14.0.0', npm: '>=7.0.0'} - dev: false - /@sapphire/async-queue/1.5.0: resolution: {integrity: sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} @@ -1718,57 +1966,61 @@ packages: engines: {node: '>=v14.0.0', npm: '>=7.0.0'} dev: false - /@sveltejs/adapter-node/1.0.0-next.87: - resolution: {integrity: sha512-ktvZ0+uthYH6SQMO34acbqkReeIcNMD1b7fnWqRIBj5CrgeBarvmbcj+x3/QKpOIG7s11yjwgYhOGLxZX0VMHw==} + /@sveltejs/adapter-node/1.1.7_@sveltejs+kit@1.5.0: + resolution: {integrity: sha512-N93uYDzH8+RlneYdfgS33nudVk9e8JhYy9vPOsJKeMCkWPb5ejJ0D+LUAEuyA1BOyA7ZkaVTupLStAG4nuhT2A==} + peerDependencies: + '@sveltejs/kit': ^1.0.0 + dependencies: + '@rollup/plugin-commonjs': 24.0.1_rollup@3.14.0 + '@rollup/plugin-json': 6.0.0_rollup@3.14.0 + '@rollup/plugin-node-resolve': 15.0.1_rollup@3.14.0 + '@sveltejs/kit': 1.5.0_svelte@3.49.0+vite@4.1.1 + rollup: 3.14.0 dev: true - /@sveltejs/kit/1.0.0-next.447_svelte@3.49.0+vite@3.0.9: - resolution: {integrity: sha512-a+Mdze6GreNIgOSFwGvRZNxPNF2crAvpkJUHovLnzWj7uFs/XPj1U7P9Ubg47SphEAgV7/JM3nre9ibjO3LyDA==} - engines: {node: '>=16.9'} + /@sveltejs/kit/1.5.0_svelte@3.49.0+vite@4.1.1: + resolution: {integrity: sha512-AkWgCO9i2djZjTqCgIQJ5XfnSzRINowh2w2Gk9wDRuTwxKizSuYe3jNvds/HCDDGHo8XE5E0yWNC9j2XxbrX+g==} + engines: {node: ^16.14 || >=18} hasBin: true requiresBuild: true peerDependencies: - svelte: ^3.44.0 - vite: ^3.0.0 + svelte: ^3.54.0 + vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 1.0.1_svelte@3.49.0+vite@3.0.9 + '@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.49.0+vite@4.1.1 + '@types/cookie': 0.5.1 cookie: 0.5.0 - devalue: 3.1.2 + devalue: 4.2.3 + esm-env: 1.0.0 kleur: 4.1.5 - magic-string: 0.26.2 + magic-string: 0.27.0 mime: 3.0.0 - node-fetch: 3.2.10 sade: 1.8.1 set-cookie-parser: 2.5.1 sirv: 2.0.2 svelte: 3.49.0 tiny-glob: 0.2.9 - undici: 5.9.1 - vite: 3.0.9 + undici: 5.18.0 + vite: 4.1.1_@types+node@18.7.19 transitivePeerDependencies: - - diff-match-patch - supports-color dev: true - /@sveltejs/vite-plugin-svelte/1.0.1_svelte@3.49.0+vite@3.0.9: - resolution: {integrity: sha512-PorCgUounn0VXcpeJu+hOweZODKmGuLHsLomwqSj+p26IwjjGffmYQfVHtiTWq+NqaUuuHWWG7vPge6UFw4Aeg==} + /@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.49.0+vite@4.1.1: + resolution: {integrity: sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==} engines: {node: ^14.18.0 || >= 16} peerDependencies: - diff-match-patch: ^1.0.5 - svelte: ^3.44.0 - vite: ^3.0.0 - peerDependenciesMeta: - diff-match-patch: - optional: true + svelte: ^3.54.0 + vite: ^4.0.0 dependencies: - '@rollup/pluginutils': 4.2.1 debug: 4.3.4 - deepmerge: 4.2.2 + deepmerge: 4.3.0 kleur: 4.1.5 - magic-string: 0.26.2 + magic-string: 0.27.0 svelte: 3.49.0 - svelte-hmr: 0.14.12_svelte@3.49.0 - vite: 3.0.9 + svelte-hmr: 0.15.1_svelte@3.49.0 + vite: 4.1.1_@types+node@18.7.19 + vitefu: 0.2.4_vite@4.1.1 transitivePeerDependencies: - supports-color dev: true @@ -1814,7 +2066,7 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 18.7.19 + '@types/node': 18.11.19 dev: true /@types/btoa-lite/1.0.0: @@ -1824,7 +2076,7 @@ packages: /@types/chai-subset/1.3.3: resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} dependencies: - '@types/chai': 4.3.3 + '@types/chai': 4.3.4 dev: true /@types/chai/4.3.1: @@ -1835,24 +2087,28 @@ packages: resolution: {integrity: sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==} dev: true + /@types/chai/4.3.4: + resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} + dev: true + /@types/connect/3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.7.19 + '@types/node': 18.11.19 dev: true /@types/cookie/0.5.1: resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} dev: true - /@types/cookiejar/2.1.2: - resolution: {integrity: sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==} + /@types/estree/1.0.0: + resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true /@types/express-serve-static-core/4.17.29: resolution: {integrity: sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==} dependencies: - '@types/node': 18.7.19 + '@types/node': 18.11.19 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: true @@ -1870,10 +2126,10 @@ packages: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true - /@types/jsonwebtoken/8.5.8: - resolution: {integrity: sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==} + /@types/jsonwebtoken/9.0.1: + resolution: {integrity: sha512-c5ltxazpWabia/4UzhIoaDcIza4KViOQhdbjRlfcIGVnsE3c3brkz9Z+F/EeJIECOQP7W7US2hNE930cWWkPiw==} dependencies: - '@types/node': 18.7.19 + '@types/node': 18.11.19 dev: false /@types/lru-cache/5.1.1: @@ -1892,12 +2148,11 @@ packages: resolution: {integrity: sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==} dev: false - /@types/node/18.6.5: - resolution: {integrity: sha512-Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw==} - dev: true + /@types/node/18.11.19: + resolution: {integrity: sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw==} - /@types/node/18.7.13: - resolution: {integrity: sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==} + /@types/node/18.6.5: + resolution: {integrity: sha512-Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw==} dev: true /@types/node/18.7.14: @@ -1910,19 +2165,20 @@ packages: /@types/node/18.7.19: resolution: {integrity: sha512-Sq1itGUKUX1ap7GgZlrzdBydjbsJL/NSQt/4wkAxUJ7/OS5c2WkoN6WSpWc2Yc5wtKMZOUA0VCs/j2XJadN3HA==} + dev: true /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/parse-json/4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - dev: true - /@types/prettier/2.7.0: resolution: {integrity: sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==} dev: true + /@types/prettier/2.7.2: + resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} + dev: true + /@types/pug/2.0.6: resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} dev: true @@ -1935,40 +2191,35 @@ packages: resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} dev: true + /@types/resolve/1.20.2: + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + dev: true + /@types/sass/1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 18.7.19 + '@types/node': 18.11.19 + dev: true + + /@types/semver/7.3.13: + resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true /@types/serve-static/1.13.10: resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} dependencies: '@types/mime': 1.3.2 - '@types/node': 18.7.19 - dev: true - - /@types/superagent/4.1.15: - resolution: {integrity: sha512-mu/N4uvfDN2zVQQ5AYJI/g4qxn2bHB6521t1UuH09ShNWjebTqN0ZFuYK9uYjcgmI0dTQEs+Owi1EO6U0OkOZQ==} - dependencies: - '@types/cookiejar': 2.1.2 - '@types/node': 18.7.19 - dev: true - - /@types/supertest/2.0.12: - resolution: {integrity: sha512-X3HPWTwXRerBZS7Mo1k6vMVR1Z6zmJcDVn5O/31whe0tnjE4te6ZJSJGq1RiqHPjzPdMTfjCFogDJmwng9xHaQ==} - dependencies: - '@types/superagent': 4.1.15 + '@types/node': 18.11.19 dev: true /@types/ws/8.5.3: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: - '@types/node': 18.7.19 + '@types/node': 18.11.19 dev: false - /@typescript-eslint/eslint-plugin/5.35.1_ktjxjibzrfqejavile4bhmzhjq: - resolution: {integrity: sha512-RBZZXZlI4XCY4Wzgy64vB+0slT9+yAPQRjj/HSaRwUot33xbDjF1oN9BLwOLTewoOI0jothIltZRe9uJCHf8gg==} + /@typescript-eslint/eslint-plugin/5.51.0_b635kmla6dsb4frxfihkw4m47e: + resolution: {integrity: sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -1978,24 +2229,25 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.35.1_4rv7y5c6xz3vfxwhbrcxxi73bq - '@typescript-eslint/scope-manager': 5.35.1 - '@typescript-eslint/type-utils': 5.35.1_4rv7y5c6xz3vfxwhbrcxxi73bq - '@typescript-eslint/utils': 5.35.1_4rv7y5c6xz3vfxwhbrcxxi73bq + '@typescript-eslint/parser': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 + '@typescript-eslint/scope-manager': 5.51.0 + '@typescript-eslint/type-utils': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 + '@typescript-eslint/utils': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 debug: 4.3.4 - eslint: 8.22.0 - functional-red-black-tree: 1.0.1 + eslint: 8.33.0 + grapheme-splitter: 1.0.4 ignore: 5.2.0 + natural-compare-lite: 1.4.0 regexpp: 3.2.0 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.7.4 - typescript: 4.7.4 + tsutils: 3.21.0_typescript@4.9.5 + typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.35.1_4rv7y5c6xz3vfxwhbrcxxi73bq: - resolution: {integrity: sha512-XL2TBTSrh3yWAsMYpKseBYTVpvudNf69rPOWXWVBI08My2JVT5jR66eTt4IgQFHA/giiKJW5dUD4x/ZviCKyGg==} + /@typescript-eslint/parser/5.51.0_4vsywjlpuriuw3tl5oq6zy5a64: + resolution: {integrity: sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -2004,26 +2256,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.35.1 - '@typescript-eslint/types': 5.35.1 - '@typescript-eslint/typescript-estree': 5.35.1_typescript@4.7.4 + '@typescript-eslint/scope-manager': 5.51.0 + '@typescript-eslint/types': 5.51.0 + '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.5 debug: 4.3.4 - eslint: 8.22.0 - typescript: 4.7.4 + eslint: 8.33.0 + typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.35.1: - resolution: {integrity: sha512-kCYRSAzIW9ByEIzmzGHE50NGAvAP3wFTaZevgWva7GpquDyFPFcmvVkFJGWJJktg/hLwmys/FZwqM9EKr2u24Q==} + /@typescript-eslint/scope-manager/5.51.0: + resolution: {integrity: sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.35.1 - '@typescript-eslint/visitor-keys': 5.35.1 + '@typescript-eslint/types': 5.51.0 + '@typescript-eslint/visitor-keys': 5.51.0 dev: true - /@typescript-eslint/type-utils/5.35.1_4rv7y5c6xz3vfxwhbrcxxi73bq: - resolution: {integrity: sha512-8xT8ljvo43Mp7BiTn1vxLXkjpw8wS4oAc00hMSB4L1/jIiYbjjnc3Qp2GAUOG/v8zsNCd1qwcqfCQ0BuishHkw==} + /@typescript-eslint/type-utils/5.51.0_4vsywjlpuriuw3tl5oq6zy5a64: + resolution: {integrity: sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -2032,22 +2284,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/utils': 5.35.1_4rv7y5c6xz3vfxwhbrcxxi73bq + '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.5 + '@typescript-eslint/utils': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 debug: 4.3.4 - eslint: 8.22.0 - tsutils: 3.21.0_typescript@4.7.4 - typescript: 4.7.4 + eslint: 8.33.0 + tsutils: 3.21.0_typescript@4.9.5 + typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.35.1: - resolution: {integrity: sha512-FDaujtsH07VHzG0gQ6NDkVVhi1+rhq0qEvzHdJAQjysN+LHDCKDKCBRlZFFE0ec0jKxiv0hN63SNfExy0KrbQQ==} + /@typescript-eslint/types/5.51.0: + resolution: {integrity: sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.35.1_typescript@4.7.4: - resolution: {integrity: sha512-JUqE1+VRTGyoXlDWWjm6MdfpBYVq+hixytrv1oyjYIBEOZhBCwtpp5ZSvBt4wIA1MKWlnaC2UXl2XmYGC3BoQA==} + /@typescript-eslint/typescript-estree/5.51.0_typescript@4.9.5: + resolution: {integrity: sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -2055,50 +2308,84 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.35.1 - '@typescript-eslint/visitor-keys': 5.35.1 + '@typescript-eslint/types': 5.51.0 + '@typescript-eslint/visitor-keys': 5.51.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.7.4 - typescript: 4.7.4 + tsutils: 3.21.0_typescript@4.9.5 + typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.35.1_4rv7y5c6xz3vfxwhbrcxxi73bq: - resolution: {integrity: sha512-v6F8JNXgeBWI4pzZn36hT2HXXzoBBBJuOYvoQiaQaEEjdi5STzux3Yj8v7ODIpx36i/5s8TdzuQ54TPc5AITQQ==} + /@typescript-eslint/utils/5.51.0_4vsywjlpuriuw3tl5oq6zy5a64: + resolution: {integrity: sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.35.1 - '@typescript-eslint/types': 5.35.1 - '@typescript-eslint/typescript-estree': 5.35.1_typescript@4.7.4 - eslint: 8.22.0 + '@types/semver': 7.3.13 + '@typescript-eslint/scope-manager': 5.51.0 + '@typescript-eslint/types': 5.51.0 + '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.5 + eslint: 8.33.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.22.0 + eslint-utils: 3.0.0_eslint@8.33.0 + semver: 7.3.7 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.35.1: - resolution: {integrity: sha512-cEB1DvBVo1bxbW/S5axbGPE6b7FIMAbo3w+AGq6zNDA7+NYJOIkKj/sInfTv4edxd4PxJSgdN4t6/pbvgA+n5g==} + /@typescript-eslint/visitor-keys/5.51.0: + resolution: {integrity: sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.35.1 + '@typescript-eslint/types': 5.51.0 eslint-visitor-keys: 3.3.0 dev: true + /@vitest/expect/0.28.4: + resolution: {integrity: sha512-JqK0NZ4brjvOSL8hXAnIsfi+jxDF7rH/ZWCGCt0FAqRnVFc1hXsfwXksQvEnKqD84avRt3gmeXoK4tNbmkoVsQ==} + dependencies: + '@vitest/spy': 0.28.4 + '@vitest/utils': 0.28.4 + chai: 4.3.7 + dev: true + + /@vitest/runner/0.28.4: + resolution: {integrity: sha512-Q8UV6GjDvBSTfUoq0QXVCNpNOUrWu4P2qvRq7ssJWzn0+S0ojbVOxEjMt+8a32X6SdkhF8ak+2nkppsqV0JyNQ==} + dependencies: + '@vitest/utils': 0.28.4 + p-limit: 4.0.0 + pathe: 1.1.0 + dev: true + + /@vitest/spy/0.28.4: + resolution: {integrity: sha512-8WuhfXLlvCXpNXEGJW6Gc+IKWI32435fQJLh43u70HnZ1otJOa2Cmg2Wy2Aym47ZnNCP4NolF+8cUPwd0MigKQ==} + dependencies: + tinyspy: 1.0.2 + dev: true + /@vitest/ui/0.22.1: resolution: {integrity: sha512-iiM2JN+vzY8pEejUbPPi0EgkEselI3RvrgMPNUOalxQRgtlNVGyMsM0Re99xQsrZ/eBkHgWrlW216gNDoeD5cA==} dependencies: sirv: 2.0.2 dev: true + /@vitest/utils/0.28.4: + resolution: {integrity: sha512-l2QztOLdc2LkR+w/lP52RGh8hW+Ul4KESmCAgVE8q737I7e7bQoAfkARKpkPJ4JQtGpwW4deqlj1732VZD7TFw==} + dependencies: + cli-truncate: 3.1.0 + diff: 5.1.0 + loupe: 2.3.6 + picocolors: 1.0.0 + pretty-format: 27.5.1 + dev: true + /JSONStream/1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true @@ -2126,12 +2413,12 @@ packages: acorn-walk: 7.2.0 dev: true - /acorn-jsx/5.3.2_acorn@8.8.0: + /acorn-jsx/5.3.2_acorn@8.8.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.8.0 + acorn: 8.8.2 dev: true /acorn-walk/7.2.0: @@ -2150,14 +2437,8 @@ packages: hasBin: true dev: true - /acorn/8.7.1: - resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /acorn/8.8.0: - resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} + /acorn/8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -2224,13 +2505,18 @@ packages: dependencies: color-convert: 2.0.1 + /ansi-styles/5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + /ansi-styles/6.1.0: resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==} engines: {node: '>=12'} dev: true - /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + /anymatch/3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 @@ -2279,10 +2565,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /asap/2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - dev: true - /assertion-error/1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true @@ -2340,8 +2622,8 @@ packages: /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - /before-after-hook/2.2.2: - resolution: {integrity: sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==} + /before-after-hook/2.2.3: + resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} dev: false /binary-extensions/2.2.0: @@ -2384,7 +2666,6 @@ packages: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 - dev: false /braces/3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} @@ -2405,23 +2686,40 @@ packages: dev: true /buffer-equal-constant-time/1.0.1: - resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=} + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} dev: false /buffer-from/1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true + /builtin-modules/3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true + + /busboy/1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + /bytes/3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} dev: false + /cac/6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + /call-bind/1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 get-intrinsic: 1.1.2 + dev: false /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -2442,8 +2740,8 @@ packages: engines: {node: '>=6'} dev: true - /carbon-components-svelte/0.70.1: - resolution: {integrity: sha512-9uZo1RexGcnMhzom62Kh6zsLZ24nc0eHnT4uNYRyDvi9OqMIiUvzb/p5ytCO9UwIrDJnUqiRQvV2woJO9PirhA==} + /carbon-components-svelte/0.70.13: + resolution: {integrity: sha512-p6wX8004BM6DrrLH1JJWbkR/VybU0gra+jDWlSW1V2aO8XmAz81evnDLZuTrvbHNkEXPiaC+athSjNsBOf0SjA==} dependencies: flatpickr: 4.6.9 dev: true @@ -2458,16 +2756,16 @@ packages: warning: 3.0.0 dev: true - /carbon-icons-svelte/11.2.0: - resolution: {integrity: sha512-nbqCEKoZA5EzT2Lr8vNYnfWcDl5GnFFLnbD861U32g9cNe7D7nmQKx4T+goFp5AoY60OyAgKUNJov8LwNEkhbg==} + /carbon-icons-svelte/11.4.0: + resolution: {integrity: sha512-p/llZde2kP2BI9SOqM+QFKGfQnYrW+4dVxF1rAYriEADXDsjt9EYlh+KpQ5qf4JpXAq+e2+TB/r/lIG1xdUbAQ==} dev: true /carbon-preprocess-svelte/0.9.1_svelte@3.49.0: resolution: {integrity: sha512-i0hj5JrpSeu1F6q5Hehn4Qe3mpb1oXi57ybbsTF2TexFBGtzaBDQ3/mmXBKRNuk4PVQCtTIXQe4vk1A6Uyso6g==} dependencies: purgecss: 4.1.3 - svelte-preprocess: 4.10.7_hbplqxe3dqw5hh44rzefgjccmi - typescript: 4.8.3 + svelte-preprocess: 4.10.7_rjh2sb3hvzg4sh5aiufloh7yey + typescript: 4.9.5 transitivePeerDependencies: - '@babel/core' - coffeescript @@ -2495,7 +2793,20 @@ packages: check-error: 1.0.2 deep-eql: 3.0.1 get-func-name: 2.0.0 - loupe: 2.3.4 + loupe: 2.3.6 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chai/4.3.7: + resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.2 + deep-eql: 4.1.3 + get-func-name: 2.0.0 + loupe: 2.3.6 pathval: 1.1.1 type-detect: 4.0.8 dev: true @@ -2523,7 +2834,7 @@ packages: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} dependencies: - anymatch: 3.1.2 + anymatch: 3.1.3 braces: 3.0.2 glob-parent: 5.1.2 is-binary-path: 2.1.0 @@ -2597,10 +2908,11 @@ packages: color-name: 1.1.4 simple-swizzle: 0.2.2 - /color/3.2.1: - resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + /color/4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} dependencies: - color-convert: 1.9.3 + color-convert: 2.0.1 color-string: 1.9.1 /colorette/2.0.19: @@ -2662,11 +2974,15 @@ packages: engines: {node: '>= 12'} dev: true - /commander/9.4.0: - resolution: {integrity: sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==} + /commander/9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} dev: true + /commondir/1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: true + /compare-func/2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} dependencies: @@ -2674,10 +2990,6 @@ packages: dot-prop: 5.3.0 dev: true - /component-emitter/1.3.0: - resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} - dev: true - /concat-map/0.0.1: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: true @@ -2733,44 +3045,33 @@ packages: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: false - /cookie/0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} - engines: {node: '>= 0.6'} - dev: false - /cookie/0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} - /cookiejar/2.1.3: - resolution: {integrity: sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==} - dev: true - - /cosmiconfig-typescript-loader/2.0.2_u7tj3mdglidusk2sd73zi6kt7q: - resolution: {integrity: sha512-KmE+bMjWMXJbkWCeY4FJX/npHuZPNr9XF9q9CIQ/bpFwi1qHfCmSiKarrCcRa0LO4fWjk93pVoeRtJAkTGcYNw==} + /cosmiconfig-typescript-loader/4.3.0_q6dimmvgduffavfq3obt6abtea: + resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@types/node': '*' + cosmiconfig: '>=7' + ts-node: '>=10' typescript: '>=3' dependencies: - '@types/node': 18.7.19 - cosmiconfig: 7.0.1 - ts-node: 10.9.1_u7tj3mdglidusk2sd73zi6kt7q - typescript: 4.8.3 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' + '@types/node': 18.11.19 + cosmiconfig: 8.0.0 + ts-node: 10.9.1_qqdszkrtcshgbphghj7vnvrrby + typescript: 4.9.5 dev: true - /cosmiconfig/7.0.1: - resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} - engines: {node: '>=10'} + /cosmiconfig/8.0.0: + resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} + engines: {node: '>=14'} dependencies: - '@types/parse-json': 4.0.0 import-fresh: 3.3.0 + js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - yaml: 1.10.2 dev: true /create-require/1.1.1: @@ -3093,11 +3394,6 @@ packages: engines: {node: '>=8'} dev: true - /data-uri-to-buffer/4.0.0: - resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==} - engines: {node: '>= 12'} - dev: true - /data-urls/3.0.2: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} @@ -3158,6 +3454,13 @@ packages: type-detect: 4.0.8 dev: true + /deep-eql/4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + /deep-extend/0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -3167,8 +3470,8 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true - /deepmerge/4.2.2: - resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} + /deepmerge/4.3.0: + resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==} engines: {node: '>=0.10.0'} dev: true @@ -3202,15 +3505,8 @@ packages: engines: {node: '>=8'} dev: true - /devalue/3.1.2: - resolution: {integrity: sha512-wUXbMGPAsBx79UF14nsWSsJlC7RcwPlf2w3bGheODWxKx57e9n68ceoijbqCJCEbjyo0S79nqfPwQgyijwLaqw==} - dev: true - - /dezalgo/1.0.3: - resolution: {integrity: sha512-K7i4zNfT2kgQz3GylDw40ot9GAE47sFZ9EXHFSPP6zONLgH6kWXE0KWJchkbQJLBkRazq4APwZ4OwiFFlT95OQ==} - dependencies: - asap: 2.0.6 - wrappy: 1.0.2 + /devalue/4.2.3: + resolution: {integrity: sha512-JG6Q248aN0pgFL57e3zqTVeFraBe+5W2ugvv1mLXsJP6YYIYJhRZhAl7QP8haJrqob6X10F9NEkuCvNILZTPeQ==} dev: true /diff/4.0.2: @@ -3218,6 +3514,11 @@ packages: engines: {node: '>=0.3.1'} dev: true + /diff/5.1.0: + resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + engines: {node: '>=0.3.1'} + dev: true + /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -3225,10 +3526,6 @@ packages: path-type: 4.0.0 dev: true - /discord-api-types/0.36.3: - resolution: {integrity: sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg==} - dev: false - /discord-api-types/0.37.10: resolution: {integrity: sha512-NvDh2Puc3wZQzQt2zLavlI5ewBnLFjI46/NJmvWIs6OC0JOkq7KcmH4s80X2+22mSQ3wUyge2mxq3cGYRT2noQ==} dev: false @@ -3245,8 +3542,8 @@ packages: discord-api-types: 0.37.10 fast-deep-equal: 3.1.3 lodash.snakecase: 4.1.1 - tslib: 2.4.0 - undici: 5.10.0 + tslib: 2.5.0 + undici: 5.18.0 ws: 8.8.1 transitivePeerDependencies: - bufferutil @@ -3717,6 +4014,36 @@ packages: esbuild-windows-arm64: 0.15.9 dev: true + /esbuild/0.16.17: + resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.16.17 + '@esbuild/android-arm64': 0.16.17 + '@esbuild/android-x64': 0.16.17 + '@esbuild/darwin-arm64': 0.16.17 + '@esbuild/darwin-x64': 0.16.17 + '@esbuild/freebsd-arm64': 0.16.17 + '@esbuild/freebsd-x64': 0.16.17 + '@esbuild/linux-arm': 0.16.17 + '@esbuild/linux-arm64': 0.16.17 + '@esbuild/linux-ia32': 0.16.17 + '@esbuild/linux-loong64': 0.16.17 + '@esbuild/linux-mips64el': 0.16.17 + '@esbuild/linux-ppc64': 0.16.17 + '@esbuild/linux-riscv64': 0.16.17 + '@esbuild/linux-s390x': 0.16.17 + '@esbuild/linux-x64': 0.16.17 + '@esbuild/netbsd-x64': 0.16.17 + '@esbuild/openbsd-x64': 0.16.17 + '@esbuild/sunos-x64': 0.16.17 + '@esbuild/win32-arm64': 0.16.17 + '@esbuild/win32-ia32': 0.16.17 + '@esbuild/win32-x64': 0.16.17 + dev: true + /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -3748,23 +4075,22 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier/8.5.0_eslint@8.22.0: - resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} + /eslint-config-prettier/8.6.0_eslint@8.33.0: + resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.22.0 + eslint: 8.33.0 dev: true - /eslint-plugin-svelte3/4.0.0_laaqauvsmoyypsiqkozwyi2fn4: + /eslint-plugin-svelte3/4.0.0_eslint@8.33.0: resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} peerDependencies: eslint: '>=8.0.0' svelte: ^3.2.0 dependencies: - eslint: 8.22.0 - svelte: 3.49.0 + eslint: 8.33.0 dev: true /eslint-scope/5.1.1: @@ -3783,13 +4109,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.22.0: + /eslint-utils/3.0.0_eslint@8.33.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.22.0 + eslint: 8.33.0 eslint-visitor-keys: 2.1.0 dev: true @@ -3803,14 +4129,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.22.0: - resolution: {integrity: sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==} + /eslint/8.33.0: + resolution: {integrity: sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.3.0 - '@humanwhocodes/config-array': 0.10.4 - '@humanwhocodes/gitignore-to-minimatch': 1.0.2 + '@eslint/eslintrc': 1.4.1 + '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -3818,23 +4145,23 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.22.0 + eslint-utils: 3.0.0_eslint@8.33.0 eslint-visitor-keys: 3.3.0 - espree: 9.3.3 + espree: 9.4.1 esquery: 1.4.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 find-up: 5.0.0 - functional-red-black-tree: 1.0.1 glob-parent: 6.0.2 - globals: 13.16.0 - globby: 11.1.0 + globals: 13.20.0 grapheme-splitter: 1.0.4 ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.3.0 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 @@ -3846,17 +4173,20 @@ packages: strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 - v8-compile-cache: 2.3.0 transitivePeerDependencies: - supports-color dev: true - /espree/9.3.3: - resolution: {integrity: sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==} + /esm-env/1.0.0: + resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} + dev: true + + /espree/9.4.1: + resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.8.0 - acorn-jsx: 5.3.2_acorn@8.8.0 + acorn: 8.8.2 + acorn-jsx: 5.3.2_acorn@8.8.2 eslint-visitor-keys: 3.3.0 dev: true @@ -3993,10 +4323,6 @@ packages: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true - /fast-safe-stringify/2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - dev: true - /fast-xml-parser/3.19.0: resolution: {integrity: sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==} hasBin: true @@ -4007,14 +4333,6 @@ packages: dependencies: reusify: 1.0.4 - /fetch-blob/3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 - dev: true - /file-entry-cache/6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -4022,15 +4340,6 @@ packages: flat-cache: 3.0.4 dev: true - /file-type/17.1.4: - resolution: {integrity: sha512-3w/rJUUPBj6CYhVER3D5JCKwYJJiC36uj5dP+LnyubHI6H6FJo1TeWVCEA09YLVoZqV3/mLP26j9+Pz1GjAyjQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - readable-web-to-node-stream: 3.0.2 - strtok3: 7.0.0-alpha.9 - token-types: 5.0.0-alpha.2 - dev: false - /file-type/17.1.6: resolution: {integrity: sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -4113,22 +4422,6 @@ packages: mime-types: 2.1.35 dev: true - /formdata-polyfill/4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - dependencies: - fetch-blob: 3.2.0 - dev: true - - /formidable/2.0.1: - resolution: {integrity: sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==} - dependencies: - dezalgo: 1.0.3 - hexoid: 1.0.0 - once: 1.4.0 - qs: 6.9.3 - dev: true - /forwarded/0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -4146,6 +4439,16 @@ packages: graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 + dev: false + + /fs-extra/11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true /fs-extra/7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} @@ -4180,10 +4483,6 @@ packages: /function-bind/1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - /functional-red-black-tree/1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} - dev: true - /fuzzy/0.1.3: resolution: {integrity: sha512-/gZffu4ykarLrCiP3Ygsa86UAo1E5vEVlvTrpkKywXSbP9Xhln3oSp9QSV57gEq3JFFpGJ4GZ+5zdEp3FcUh4w==} engines: {node: '>= 0.6.0'} @@ -4204,6 +4503,7 @@ packages: function-bind: 1.1.1 has: 1.0.3 has-symbols: 1.0.3 + dev: false /get-stream/6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} @@ -4246,6 +4546,17 @@ packages: path-is-absolute: 1.0.1 dev: true + /glob/8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.0 + once: 1.4.0 + dev: true + /global-dirs/0.1.1: resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} engines: {node: '>=4'} @@ -4253,8 +4564,8 @@ packages: ini: 1.3.8 dev: true - /globals/13.16.0: - resolution: {integrity: sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==} + /globals/13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -4303,6 +4614,7 @@ packages: /has-symbols/1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} + dev: false /has/1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} @@ -4310,11 +4622,6 @@ packages: dependencies: function-bind: 1.1.1 - /hexoid/1.0.0: - resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==} - engines: {node: '>=8'} - dev: true - /hosted-git-info/2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true @@ -4466,6 +4773,13 @@ packages: binary-extensions: 2.2.0 dev: true + /is-builtin-module/3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.3.0 + dev: true + /is-core-module/2.9.0: resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} dependencies: @@ -4491,6 +4805,10 @@ packages: dependencies: is-extglob: 2.1.1 + /is-module/1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + dev: true + /is-number/7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -4500,6 +4818,11 @@ packages: engines: {node: '>=8'} dev: true + /is-path-inside/3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + /is-plain-obj/1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} @@ -4514,6 +4837,12 @@ packages: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true + /is-reference/1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + dependencies: + '@types/estree': 1.0.0 + dev: true + /is-stream/2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -4539,10 +4868,14 @@ packages: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} dev: false - /jose/4.8.3: - resolution: {integrity: sha512-7rySkpW78d8LBp4YU70Wb7+OTgE3OwAALNVZxhoIhp4Kscp+p/fBkdpxGAMKxvCAMV4QfXBU9m6l9nX/vGwd2g==} + /jose/4.11.2: + resolution: {integrity: sha512-njj0VL2TsIxCtgzhO+9RRobBvws4oYyCM8TpvoUQwl/MbIM3NFJRR9+e6x0sS5xXaP1t6OCBkaBME98OV9zU5A==} dev: false + /js-sdsl/4.3.0: + resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} + dev: true + /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true @@ -4564,7 +4897,7 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.7.1 + acorn: 8.8.2 acorn-globals: 6.0.0 cssom: 0.5.0 cssstyle: 2.3.0 @@ -4588,7 +4921,7 @@ packages: whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - ws: 8.8.0 + ws: 8.8.1 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -4611,10 +4944,6 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /jsonc-parser/3.1.0: - resolution: {integrity: sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==} - dev: true - /jsonc-parser/3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: true @@ -4641,20 +4970,14 @@ packages: resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} dev: true - /jsonwebtoken/8.5.1: - resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} - engines: {node: '>=4', npm: '>=1.4.28'} + /jsonwebtoken/9.0.0: + resolution: {integrity: sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==} + engines: {node: '>=12', npm: '>=6'} dependencies: jws: 3.2.2 - lodash.includes: 4.3.0 - lodash.isboolean: 3.0.3 - lodash.isinteger: 4.0.4 - lodash.isnumber: 3.0.3 - lodash.isplainobject: 4.0.6 - lodash.isstring: 4.0.1 - lodash.once: 4.1.1 + lodash: 4.17.21 ms: 2.1.3 - semver: 5.7.1 + semver: 7.3.8 dev: false /jwa/1.4.1: @@ -4698,8 +5021,8 @@ packages: type-check: 0.4.0 dev: true - /lilconfig/2.0.5: - resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==} + /lilconfig/2.0.6: + resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} engines: {node: '>=10'} dev: true @@ -4707,32 +5030,32 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /lint-staged/13.0.3: - resolution: {integrity: sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==} + /lint-staged/13.1.0: + resolution: {integrity: sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: cli-truncate: 3.1.0 colorette: 2.0.19 - commander: 9.4.0 + commander: 9.5.0 debug: 4.3.4 execa: 6.1.0 - lilconfig: 2.0.5 - listr2: 4.0.5 + lilconfig: 2.0.6 + listr2: 5.0.7 micromatch: 4.0.5 normalize-path: 3.0.0 object-inspect: 1.12.2 pidtree: 0.6.0 string-argv: 0.3.1 - yaml: 2.1.1 + yaml: 2.2.1 transitivePeerDependencies: - enquirer - supports-color dev: true - /listr2/4.0.5: - resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} - engines: {node: '>=12'} + /listr2/5.0.7: + resolution: {integrity: sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw==} + engines: {node: ^14.13.1 || >=16.0.0} peerDependencies: enquirer: '>= 2.3.0 < 3' peerDependenciesMeta: @@ -4744,7 +5067,7 @@ packages: log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.3.0 - rxjs: 7.5.6 + rxjs: 7.8.0 through: 2.3.8 wrap-ansi: 7.0.0 dev: true @@ -4774,7 +5097,6 @@ packages: /lodash.camelcase/4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - dev: false /lodash.debounce/4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} @@ -4784,50 +5106,49 @@ packages: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} dev: false - /lodash.includes/4.3.0: - resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} - dev: false - - /lodash.isboolean/3.0.3: - resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} - dev: false - /lodash.isequal/4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} dev: false - /lodash.isinteger/4.0.4: - resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} - dev: false - - /lodash.isnumber/3.0.3: - resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} - dev: false + /lodash.isfunction/3.0.9: + resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} + dev: true /lodash.isplainobject/4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: false + dev: true - /lodash.isstring/4.0.1: - resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - dev: false + /lodash.kebabcase/4.1.1: + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} + dev: true /lodash.merge/4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true - /lodash.once/4.1.1: - resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - dev: false + /lodash.mergewith/4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + dev: true /lodash.snakecase/4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} - dev: false + + /lodash.startcase/4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + dev: true + + /lodash.uniq/4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + dev: true /lodash.uniqwith/4.5.0: resolution: {integrity: sha512-7lYL8bLopMoy4CTICbxygAUq6CdRJ36vFc80DucPueUee+d5NBRxz3FdT9Pes/HEx5mPoT9jwnsEJWz1N7uq7Q==} dev: false + /lodash.upperfirst/4.3.1: + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} + dev: true + /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -4848,8 +5169,8 @@ packages: js-tokens: 4.0.0 dev: true - /loupe/2.3.4: - resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==} + /loupe/2.3.6: + resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} dependencies: get-func-name: 2.0.0 dev: true @@ -4866,11 +5187,11 @@ packages: sourcemap-codec: 1.4.8 dev: true - /magic-string/0.26.2: - resolution: {integrity: sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==} + /magic-string/0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} engines: {node: '>=12'} dependencies: - sourcemap-codec: 1.4.8 + '@jridgewell/sourcemap-codec': 1.4.14 dev: true /make-error/1.3.6: @@ -4924,6 +5245,7 @@ packages: /methods/1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} + dev: false /micromatch/4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} @@ -4948,12 +5270,6 @@ packages: hasBin: true dev: false - /mime/2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true - dev: true - /mime/3.0.0: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} @@ -4986,7 +5302,6 @@ packages: engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 - dev: false /minimist-options/4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} @@ -4997,15 +5312,15 @@ packages: kind-of: 6.0.3 dev: true - /minimist/1.2.6: - resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + /minimist/1.2.7: + resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} dev: true /mkdirp/0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true dependencies: - minimist: 1.2.6 + minimist: 1.2.7 dev: true /mkdirp/1.0.4: @@ -5014,24 +5329,24 @@ packages: hasBin: true dev: false - /mlly/0.5.13: - resolution: {integrity: sha512-0SK2fqoan+PMjADs4I2egAtrtNtpjqRez6PDTCeAdGjUQNJCvO5o9v2NEq52WA1jFmMU97qBr/JgdvCquehDbA==} - dependencies: - acorn: 8.8.0 - pathe: 0.3.5 - pkg-types: 0.3.3 - ufo: 0.8.5 - dev: true - /mlly/0.5.16: resolution: {integrity: sha512-LaJ8yuh4v0zEmge/g3c7jjFlhoCPfQn6RCjXgm9A0Qiuochq4BcuOxVfWmdnCoLTlg2MV+hqhOek+W2OhG0Lwg==} dependencies: - acorn: 8.8.0 + acorn: 8.8.2 pathe: 0.3.8 pkg-types: 0.3.5 ufo: 0.8.5 dev: true + /mlly/1.1.0: + resolution: {integrity: sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==} + dependencies: + acorn: 8.8.2 + pathe: 1.1.0 + pkg-types: 1.0.1 + ufo: 1.0.1 + dev: true + /mri/1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -5058,6 +5373,10 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + /natural-compare-lite/1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -5067,10 +5386,10 @@ packages: engines: {node: '>= 0.6'} dev: false - /next-auth/4.10.3: - resolution: {integrity: sha512-7zc4aXYc/EEln7Pkcsn21V1IevaTZsMLJwapfbnKA4+JY0+jFzWbt5p/ljugesGIrN4VOZhpZIw50EaFZyghJQ==} - engines: {node: ^12.19.0 || ^14.15.0 || ^16.13.0} + /next-auth/4.19.2: + resolution: {integrity: sha512-6V2YG3IJQVhgCAH7mvT3yopTW92gMdUrcwGX7NQ0dCreT/+axGua/JmVdarjec0C/oJukKpIYRgjMlV+L5ZQOQ==} peerDependencies: + next: ^12.2.5 || ^13 nodemailer: ^6.6.5 react: ^17.0.2 || ^18 react-dom: ^17.0.2 || ^18 @@ -5082,24 +5401,19 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.18.9 + '@babel/runtime': 7.20.13 '@panva/hkdf': 1.0.2 - cookie: 0.4.2 - jose: 4.8.3 + cookie: 0.5.0 + jose: 4.11.2 oauth: 0.9.15 - openid-client: 5.1.8 - preact: 10.10.1 - preact-render-to-string: 5.2.1_preact@10.10.1 + openid-client: 5.4.0 + preact: 10.12.0 + preact-render-to-string: 5.2.6_preact@10.12.0 uuid: 8.3.2 dev: false - /node-domexception/1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: true - - /node-fetch/2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + /node-fetch/2.6.9: + resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -5110,15 +5424,6 @@ packages: whatwg-url: 5.0.0 dev: false - /node-fetch/3.2.10: - resolution: {integrity: sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - data-uri-to-buffer: 4.0.0 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - dev: true - /normalize-package-data/2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: @@ -5134,7 +5439,7 @@ packages: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.9.0 - semver: 7.3.7 + semver: 7.3.8 validate-npm-package-license: 3.0.4 dev: true @@ -5204,11 +5509,10 @@ packages: mimic-fn: 4.0.0 dev: true - /openid-client/5.1.8: - resolution: {integrity: sha512-EPxJY6bT7YIYQEXSGxRC5flQ3GUhLy98ufdto6+BVBrFGPmwjUpy4xBcYuU/Wt9nPkO/3EgljBrr6Ezx4lp1RQ==} - engines: {node: ^12.19.0 || ^14.15.0 || ^16.13.0} + /openid-client/5.4.0: + resolution: {integrity: sha512-hgJa2aQKcM2hn3eyVtN12tEA45ECjTJPXCgUh5YzTzy9qwapCvmDTVPWOcWVL0d34zeQoQ/hbG9lJhl3AYxJlQ==} dependencies: - jose: 4.8.3 + jose: 4.11.2 lru-cache: 6.0.0 object-hash: 2.2.0 oidc-token-hash: 5.0.1 @@ -5252,6 +5556,13 @@ packages: yocto-queue: 0.1.0 dev: true + /p-limit/4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: true + /p-locate/4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -5346,14 +5657,14 @@ packages: resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} dev: true - /pathe/0.3.5: - resolution: {integrity: sha512-grU/QeYP0ChuE5kjU2/k8VtAeODzbernHlue0gTa27+ayGIu3wqYBIPGfP9r5xSqgCgDd4nWrjKXEfxMillByg==} - dev: true - /pathe/0.3.8: resolution: {integrity: sha512-c71n61F1skhj/jzZe+fWE9XDoTYjWbUwIKVwFftZ5IOgiX44BVkTkD+/803YDgR50tqeO4eXWxLyVHBLWQAD1g==} dev: true + /pathe/1.1.0: + resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} + dev: true + /pathval/1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true @@ -5376,14 +5687,6 @@ packages: hasBin: true dev: true - /pkg-types/0.3.3: - resolution: {integrity: sha512-6AJcCMnjUQPQv/Wk960w0TOmjhdjbeaQJoSKWRQv9N3rgkessCu6J0Ydsog/nw1MbpnxHuPzYbfOn2KmlZO1FA==} - dependencies: - jsonc-parser: 3.1.0 - mlly: 0.5.16 - pathe: 0.3.5 - dev: true - /pkg-types/0.3.5: resolution: {integrity: sha512-VkxCBFVgQhNHYk9subx+HOhZ4jzynH11ah63LZsprTKwPCWG9pfWBlkElWFbvkP9BVR0dP1jS9xPdhaHQNK74Q==} dependencies: @@ -5392,8 +5695,16 @@ packages: pathe: 0.3.8 dev: true - /postcss-selector-parser/6.0.10: - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + /pkg-types/1.0.1: + resolution: {integrity: sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.1.0 + pathe: 1.1.0 + dev: true + + /postcss-selector-parser/6.0.11: + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 @@ -5417,17 +5728,26 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /preact-render-to-string/5.2.1_preact@10.10.1: - resolution: {integrity: sha512-Wp3ner1aIVBpKg02C4AoLdBiw4kNaiFSYHr4wUF+fR7FWKAQzNri+iPfPp31sEhAtBfWoJrSxiEFzd5wp5zCgQ==} + /postcss/8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /preact-render-to-string/5.2.6_preact@10.12.0: + resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==} peerDependencies: preact: '>=10' dependencies: - preact: 10.10.1 + preact: 10.12.0 pretty-format: 3.8.0 dev: false - /preact/10.10.1: - resolution: {integrity: sha512-cXljG59ylGtSLismoLojXPAGvnh2ipQr3BYz9KZQr+1sdASCT+sR/v8dSMDS96xGCdtln2wHfAHCnLJK+XcBNg==} + /preact/10.12.0: + resolution: {integrity: sha512-+w8ix+huD8CNZemheC53IPjMUFk921i02o30u0K6h53spMX41y/QhVDnG/nU2k42/69tvqWmVsgNLIiwRAcmxg==} dev: false /prelude-ls/1.1.2: @@ -5440,34 +5760,41 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-plugin-svelte/2.7.0_o3ioganyptcsrh6x4hnxvjkpqi: - resolution: {integrity: sha512-fQhhZICprZot2IqEyoiUYLTRdumULGRvw0o4dzl5jt0jfzVWdGqeYW27QTWAeXhoupEZJULmNoH3ueJwUWFLIA==} + /prettier-plugin-svelte/2.9.0_prettier@2.8.3: + resolution: {integrity: sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==} peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 dependencies: - prettier: 2.7.1 - svelte: 3.49.0 + prettier: 2.8.3 dev: true - /prettier/2.7.1: - resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} + /prettier/2.8.3: + resolution: {integrity: sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==} engines: {node: '>=10.13.0'} hasBin: true dev: true + /pretty-format/27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: true + /pretty-format/3.8.0: resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} dev: false - /prisma/4.5.0: - resolution: {integrity: sha512-9Aeg4qiKlv9Wsjz4NO8k2CzRzlvS3A4FYVJ5+28sBBZ0eEwbiVOE/Jj7v6rZC1tFW2s4GSICQOAyuOjc6WsNew==} + /prisma/4.9.0: + resolution: {integrity: sha512-bS96oZ5oDFXYgoF2l7PJ3Mp1wWWfLOo8B/jAfbA2Pn0Wm5Z/owBHzaMQKS3i1CzVBDWWPVnOohmbJmjvkcHS5w==} engines: {node: '>=14.17'} hasBin: true requiresBuild: true dependencies: - '@prisma/engines': 4.5.0 - dev: false + '@prisma/engines': 4.9.0 /proxy-addr/2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} @@ -5491,8 +5818,8 @@ packages: dependencies: commander: 8.3.0 glob: 7.2.3 - postcss: 8.4.14 - postcss-selector-parser: 6.0.10 + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 dev: true /q/1.5.1: @@ -5505,11 +5832,7 @@ packages: engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 - - /qs/6.9.3: - resolution: {integrity: sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==} - engines: {node: '>=0.6'} - dev: true + dev: false /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -5534,6 +5857,10 @@ packages: unpipe: 1.0.0 dev: false + /react-is/17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true + /read-pkg-up/7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -5588,8 +5915,8 @@ packages: engines: {node: '>=6'} dev: false - /regenerator-runtime/0.13.9: - resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} + /regenerator-runtime/0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: false /regexpp/3.2.0: @@ -5698,6 +6025,14 @@ packages: fsevents: 2.3.2 dev: true + /rollup/3.14.0: + resolution: {integrity: sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + /run-parallel/1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -5707,10 +6042,10 @@ packages: resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} dev: true - /rxjs/7.5.6: - resolution: {integrity: sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==} + /rxjs/7.8.0: + resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} dependencies: - tslib: 2.4.0 + tslib: 2.5.0 dev: true /sade/1.8.1: @@ -5745,6 +6080,7 @@ packages: /semver/5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true + dev: true /semver/7.3.7: resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} @@ -5753,6 +6089,13 @@ packages: dependencies: lru-cache: 6.0.0 + /semver/7.3.8: + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + /send/0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -5812,6 +6155,11 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.1.2 object-inspect: 1.12.2 + dev: false + + /siginfo/2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true /signal-exit/3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -5867,11 +6215,21 @@ packages: hasBin: true dependencies: buffer-crc32: 0.2.13 - minimist: 1.2.6 + minimist: 1.2.7 sander: 0.5.1 sourcemap-codec: 1.4.8 dev: true + /sorcery/0.11.0: + resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} + hasBin: true + dependencies: + '@jridgewell/sourcemap-codec': 1.4.14 + buffer-crc32: 0.2.13 + minimist: 1.2.7 + sander: 0.5.1 + dev: true + /source-map-js/1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} @@ -5890,6 +6248,7 @@ packages: /sourcemap-codec/1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead dev: true /spdx-correct/3.1.1: @@ -5924,11 +6283,23 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: false + /stackback/0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + /statuses/2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} dev: false + /std-env/3.3.2: + resolution: {integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==} + dev: true + + /streamsearch/1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + /string-argv/0.3.1: resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} engines: {node: '>=0.6.19'} @@ -5991,6 +6362,12 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + /strip-literal/1.0.1: + resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} + dependencies: + acorn: 8.8.2 + dev: true + /strtok3/7.0.0-alpha.9: resolution: {integrity: sha512-G8WxjBFjTZ77toVElv1i7k3jCXNkBB14FVaZ/6LIOka/WGo4La5XHLrU7neFVLdKbXESZf4BejVKZu5maOmocA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -5999,35 +6376,6 @@ packages: peek-readable: 5.0.0-alpha.5 dev: false - /superagent/8.0.0: - resolution: {integrity: sha512-iudipXEel+SzlP9y29UBWGDjB+Zzag+eeA1iLosaR2YHBRr1Q1kC29iBrF2zIVD9fqVbpZnXkN/VJmwFMVyNWg==} - engines: {node: '>=6.4.0 <13 || >=14'} - dependencies: - component-emitter: 1.3.0 - cookiejar: 2.1.3 - debug: 4.3.4 - fast-safe-stringify: 2.1.1 - form-data: 4.0.0 - formidable: 2.0.1 - methods: 1.1.2 - mime: 2.6.0 - qs: 6.10.3 - readable-stream: 3.6.0 - semver: 7.3.7 - transitivePeerDependencies: - - supports-color - dev: true - - /supertest/6.2.4: - resolution: {integrity: sha512-M8xVnCNv+q2T2WXVzxDECvL2695Uv2uUj2O0utxsld/HRyJvOU8W9f1gvsYxSNU4wmIe0/L/ItnpU4iKq0emDA==} - engines: {node: '>=6.4.0'} - dependencies: - methods: 1.1.2 - superagent: 8.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /supports-color/5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -6044,26 +6392,25 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /svelte-check/2.8.1_svelte@3.49.0: - resolution: {integrity: sha512-cibyY1sgt3ONIDnQbSgV2X9AJFhwEslRHNo95lijrYfPzVEvTvbmL2ohsUyqB5L7j1GhLXtQbjCJ4lZZ/fwbeQ==} + /svelte-check/3.0.3_svelte@3.49.0: + resolution: {integrity: sha512-ByBFXo3bfHRGIsYEasHkdMhLkNleVfszX/Ns1oip58tPJlKdo5Ssr8kgVIuo5oq00hss8AIcdesuy0Xt0BcTvg==} hasBin: true peerDependencies: - svelte: ^3.24.0 + svelte: ^3.55.0 dependencies: - '@jridgewell/trace-mapping': 0.3.14 + '@jridgewell/trace-mapping': 0.3.17 chokidar: 3.5.3 fast-glob: 3.2.11 import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 svelte: 3.49.0 - svelte-preprocess: 4.10.7_hbplqxe3dqw5hh44rzefgjccmi - typescript: 4.8.3 + svelte-preprocess: 5.0.1_rjh2sb3hvzg4sh5aiufloh7yey + typescript: 4.9.5 transitivePeerDependencies: - '@babel/core' - coffeescript - less - - node-sass - postcss - postcss-load-config - pug @@ -6072,8 +6419,8 @@ packages: - sugarss dev: true - /svelte-hmr/0.14.12_svelte@3.49.0: - resolution: {integrity: sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==} + /svelte-hmr/0.15.1_svelte@3.49.0: + resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: '>=3.19.0' @@ -6081,7 +6428,7 @@ packages: svelte: 3.49.0 dev: true - /svelte-preprocess/4.10.7_hbplqxe3dqw5hh44rzefgjccmi: + /svelte-preprocess/4.10.7_rjh2sb3hvzg4sh5aiufloh7yey: resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -6129,24 +6476,23 @@ packages: sorcery: 0.10.0 strip-indent: 3.0.0 svelte: 3.49.0 - typescript: 4.8.3 + typescript: 4.9.5 dev: true - /svelte-preprocess/4.10.7_uslzfc62di2n2otc2tvfklnwji: - resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} - engines: {node: '>= 9.11.2'} + /svelte-preprocess/5.0.1_rjh2sb3hvzg4sh5aiufloh7yey: + resolution: {integrity: sha512-0HXyhCoc9rsW4zGOgtInylC6qj259E1hpFnJMJWTf+aIfeqh4O/QHT31KT2hvPEqQfdjmqBR/kO2JDkkciBLrQ==} + engines: {node: '>= 14.10.0'} requiresBuild: true peerDependencies: '@babel/core': ^7.10.2 coffeescript: ^2.5.1 less: ^3.11.3 || ^4.0.0 - node-sass: '*' postcss: ^7 || ^8 postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 pug: ^3.0.0 sass: ^1.26.8 stylus: ^0.55.0 - sugarss: ^2.0.0 + sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 svelte: ^3.23.0 typescript: ^3.9.5 || ^4.0.0 peerDependenciesMeta: @@ -6156,8 +6502,6 @@ packages: optional: true less: optional: true - node-sass: - optional: true postcss: optional: true postcss-load-config: @@ -6176,11 +6520,11 @@ packages: '@types/pug': 2.0.6 '@types/sass': 1.43.1 detect-indent: 6.1.0 - magic-string: 0.25.9 - sorcery: 0.10.0 + magic-string: 0.27.0 + sorcery: 0.11.0 strip-indent: 3.0.0 svelte: 3.49.0 - typescript: 4.7.4 + typescript: 4.9.5 dev: true /svelte/3.49.0: @@ -6227,11 +6571,20 @@ packages: globrex: 0.1.2 dev: true + /tinybench/2.3.1: + resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==} + dev: true + /tinypool/0.2.4: resolution: {integrity: sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==} engines: {node: '>=14.0.0'} dev: true + /tinypool/0.3.1: + resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==} + engines: {node: '>=14.0.0'} + dev: true + /tinyspy/1.0.0: resolution: {integrity: sha512-FI5B2QdODQYDRjfuLF+OrJ8bjWRMCXokQPcwKm0W3IzcbUmBNv536cQc7eXGoAuXphZwgx1DFbqImwzz08Fnhw==} engines: {node: '>=14.0.0'} @@ -6302,7 +6655,7 @@ packages: code-block-writer: 11.0.3 dev: false - /ts-node/10.9.1_u7tj3mdglidusk2sd73zi6kt7q: + /ts-node/10.9.1_qqdszkrtcshgbphghj7vnvrrby: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -6321,14 +6674,14 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 18.7.19 - acorn: 8.8.0 + '@types/node': 18.11.19 + acorn: 8.8.2 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.8.3 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -6336,17 +6689,78 @@ packages: /tslib/1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - /tslib/2.4.0: - resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + /tslib/2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - /tsutils/3.21.0_typescript@4.7.4: + /tsutils/3.21.0_typescript@4.9.5: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.7.4 + typescript: 4.9.5 + dev: true + + /turbo-darwin-64/1.7.3: + resolution: {integrity: sha512-7j9+j1CVztmdevnClT3rG/GRhULf3ukwmv+l48l8uwsXNI53zLso+UYMql6RsjZDbD6sESwh0CHeKNwGmOylFA==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /turbo-darwin-arm64/1.7.3: + resolution: {integrity: sha512-puS9+pqpiy4MrIvWRBTg3qfO2+JPXR7reQcXQ7qUreuyAJnSw9H9/TIHjeK6FFxUfQbmruylPtH6dNpfcML9CA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /turbo-linux-64/1.7.3: + resolution: {integrity: sha512-BnbpgcK8Wag6fhnff7tMaecswmFHN/T56VIDnjcwcJnK9H3jdwpjwZlmcDtkoslzjPj3VuqHyqLDMvSb3ejXSg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /turbo-linux-arm64/1.7.3: + resolution: {integrity: sha512-+epY+0dfjmAJNZHfj7rID2hENRaeM3D0Ijqkhh/M53o46fQMwPNqI5ff9erh+f9r8sWuTpVnRlZeu7TE1P/Okw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /turbo-windows-64/1.7.3: + resolution: {integrity: sha512-/2Z8WB4fASlq/diO6nhmHYuDCRPm3dkdUE6yhwQarXPOm936m4zj3xGQA2eSWMpvfst4xjVxxU7P7HOIOyWChA==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /turbo-windows-arm64/1.7.3: + resolution: {integrity: sha512-UD9Uhop42xj1l1ba5LRdwqRq1Of+RgqQuv+QMd1xOAZ2FXn/91uhkfLv+H4Pkiw7XdUohOxpj/FcOvjCiiUxGw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /turbo/1.7.3: + resolution: {integrity: sha512-mrqo72vPQO6ykmARThaNP/KXPDuBDSqDXfkUxD8hX1ET3YSFbOWJixlHU32tPtiFIhScIKbEGShEVWBrLeM0wg==} + hasBin: true + requiresBuild: true + optionalDependencies: + turbo-darwin-64: 1.7.3 + turbo-darwin-arm64: 1.7.3 + turbo-linux-64: 1.7.3 + turbo-linux-arm64: 1.7.3 + turbo-windows-64: 1.7.3 + turbo-windows-arm64: 1.7.3 dev: true /type-check/0.3.2: @@ -6418,6 +6832,12 @@ packages: hasBin: true dev: true + /typescript/4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + /typical/4.0.0: resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} engines: {node: '>=8'} @@ -6432,26 +6852,21 @@ packages: resolution: {integrity: sha512-e4+UtA5IRO+ha6hYklwj6r7BjiGMxS0O+UaSg9HbaTefg4kMkzj4tXzEBajRR+wkxf+golgAWKzLbytCUDMJAA==} dev: true - /undici/5.10.0: - resolution: {integrity: sha512-c8HsD3IbwmjjbLvoZuRI26TZic+TSEe8FPMLLOkN1AfYRhdjnKBU6yL+IwcSCbdZiX4e5t0lfMDLDCqj4Sq70g==} - engines: {node: '>=12.18'} - dev: false - - /undici/5.8.0: - resolution: {integrity: sha512-1F7Vtcez5w/LwH2G2tGnFIihuWUlc58YidwLiCv+jR2Z50x0tNXpRRw7eOIJ+GvqCqIkg9SB7NWAJ/T9TLfv8Q==} - engines: {node: '>=12.18'} - dev: false + /ufo/1.0.1: + resolution: {integrity: sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==} + dev: true - /undici/5.9.1: - resolution: {integrity: sha512-6fB3a+SNnWEm4CJbgo0/CWR8RGcOCQP68SF4X0mxtYTq2VNN8T88NYrWVBAeSX+zb7bny2dx2iYhP3XHi00omg==} + /undici/5.18.0: + resolution: {integrity: sha512-1iVwbhonhFytNdg0P4PqyIAXbdlVZVebtPDvuM36m66mRw4OGrCm2MYynJv/UENFLdP13J1nPVQzVE2zTs1OeA==} engines: {node: '>=12.18'} - dev: true + dependencies: + busboy: 1.6.0 - /universal-github-app-jwt/1.1.0: - resolution: {integrity: sha512-3b+ocAjjz4JTyqaOT+NNBd5BtTuvJTxWElIoeHSVelUV9J3Jp7avmQTdLKCaoqi/5Ox2o/q+VK19TJ233rVXVQ==} + /universal-github-app-jwt/1.1.1: + resolution: {integrity: sha512-G33RTLrIBMFmlDV4u4CBF7dh71eWwykck4XgaxaIVeZKOYZRAAxvcGMRFTUclVY6xoUPQvO4Ne5wKGxYm/Yy9w==} dependencies: - '@types/jsonwebtoken': 8.5.8 - jsonwebtoken: 8.5.1 + '@types/jsonwebtoken': 9.0.1 + jsonwebtoken: 9.0.0 dev: false /universal-user-agent/6.0.0: @@ -6497,10 +6912,6 @@ packages: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true - /v8-compile-cache/2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - dev: true - /validate-npm-package-license/3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -6518,13 +6929,13 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node/0.22.1: - resolution: {integrity: sha512-odNMaOD4N62qESLvFSqoNf2t60ftIFHKgHNupa2cojbF2u2yB1ssluOfq5X0lZcTPx2HBzFbwa6h9m78ujEbUw==} + /vite-node/0.23.4: + resolution: {integrity: sha512-8VuDGwTWIvwPYcbw8ZycMlwAwqCmqZfLdFrDK75+o+6bWYpede58k6AAXN9ioU+icW82V4u1MzkxLVhhIoQ9xA==} engines: {node: '>=v14.16.0'} hasBin: true dependencies: debug: 4.3.4 - mlly: 0.5.13 + mlly: 0.5.16 pathe: 0.2.0 vite: 3.1.3 transitivePeerDependencies: @@ -6535,19 +6946,48 @@ packages: - terser dev: true - /vite-node/0.23.4: - resolution: {integrity: sha512-8VuDGwTWIvwPYcbw8ZycMlwAwqCmqZfLdFrDK75+o+6bWYpede58k6AAXN9ioU+icW82V4u1MzkxLVhhIoQ9xA==} + /vite-node/0.28.4_@types+node@18.11.19: + resolution: {integrity: sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ==} engines: {node: '>=v14.16.0'} hasBin: true dependencies: + cac: 6.7.14 debug: 4.3.4 - mlly: 0.5.16 - pathe: 0.2.0 - vite: 3.1.3 + mlly: 1.1.0 + pathe: 1.1.0 + picocolors: 1.0.0 + source-map: 0.6.1 + source-map-support: 0.5.21 + vite: 4.1.1_@types+node@18.11.19 + transitivePeerDependencies: + - '@types/node' + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite-node/0.28.4_@types+node@18.7.19: + resolution: {integrity: sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ==} + engines: {node: '>=v14.16.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.1.0 + pathe: 1.1.0 + picocolors: 1.0.0 + source-map: 0.6.1 + source-map-support: 0.5.21 + vite: 4.1.1_@types+node@18.7.19 transitivePeerDependencies: + - '@types/node' - less - sass - stylus + - sugarss - supports-color - terser dev: true @@ -6650,6 +7090,85 @@ packages: fsevents: 2.3.2 dev: true + /vite/4.1.1_@types+node@18.11.19: + resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.11.19 + esbuild: 0.16.17 + postcss: 8.4.21 + resolve: 1.22.1 + rollup: 3.14.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vite/4.1.1_@types+node@18.7.19: + resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.7.19 + esbuild: 0.16.17 + postcss: 8.4.21 + resolve: 1.22.1 + rollup: 3.14.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vitefu/0.2.4_vite@4.1.1: + resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + vite: 4.1.1_@types+node@18.7.19 + dev: true + /vitest/0.20.3: resolution: {integrity: sha512-cXMjTbZxBBUUuIF3PUzEGPLJWtIMeURBDXVxckSHpk7xss4JxkiiWh5cnIlfGyfJne2Ii3QpbiRuFL5dMJtljw==} engines: {node: '>=v14.16.0'} @@ -6677,13 +7196,13 @@ packages: dependencies: '@types/chai': 4.3.1 '@types/chai-subset': 1.3.3 - '@types/node': 18.6.5 + '@types/node': 18.11.19 chai: 4.3.6 debug: 4.3.4 local-pkg: 0.4.2 tinypool: 0.2.4 tinyspy: 1.0.0 - vite: 3.0.4 + vite: 3.1.3 transitivePeerDependencies: - less - sass @@ -6716,13 +7235,13 @@ packages: dependencies: '@types/chai': 4.3.3 '@types/chai-subset': 1.3.3 - '@types/node': 18.7.14 + '@types/node': 18.11.19 chai: 4.3.6 debug: 4.3.4 local-pkg: 0.4.2 tinypool: 0.2.4 tinyspy: 1.0.2 - vite: 3.0.9 + vite: 3.1.3 transitivePeerDependencies: - less - sass @@ -6731,8 +7250,8 @@ packages: - terser dev: true - /vitest/0.22.1_r26ddduqt3xuel6y6oroghsjvu: - resolution: {integrity: sha512-+x28YTnSLth4KbXg7MCzoDAzPJlJex7YgiZbUh6YLp0/4PqVZ7q7/zyfdL0OaPtKTpNiQFPpMC8Y2MSzk8F7dw==} + /vitest/0.28.4_r26ddduqt3xuel6y6oroghsjvu: + resolution: {integrity: sha512-sfWIy0AdlbyGRhunm+TLQEJrFH9XuRPdApfubsyLcDbCRrUX717BRQKInTgzEfyl2Ipi1HWoHB84Nqtcwxogcg==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: @@ -6753,27 +7272,44 @@ packages: jsdom: optional: true dependencies: - '@types/chai': 4.3.3 + '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 - '@types/node': 18.7.14 + '@types/node': 18.11.19 + '@vitest/expect': 0.28.4 + '@vitest/runner': 0.28.4 + '@vitest/spy': 0.28.4 '@vitest/ui': 0.22.1 - chai: 4.3.6 + '@vitest/utils': 0.28.4 + acorn: 8.8.2 + acorn-walk: 8.2.0 + cac: 6.7.14 + chai: 4.3.7 debug: 4.3.4 jsdom: 20.0.0 local-pkg: 0.4.2 - tinypool: 0.2.4 + pathe: 1.1.0 + picocolors: 1.0.0 + source-map: 0.6.1 + std-env: 3.3.2 + strip-literal: 1.0.1 + tinybench: 2.3.1 + tinypool: 0.3.1 tinyspy: 1.0.2 - vite: 3.0.9 + vite: 4.1.1_@types+node@18.11.19 + vite-node: 0.28.4_@types+node@18.11.19 + why-is-node-running: 2.2.2 transitivePeerDependencies: - less - sass - stylus + - sugarss - supports-color - terser dev: true /w3c-hr-time/1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. dependencies: browser-process-hrtime: 1.0.0 dev: true @@ -6791,11 +7327,6 @@ packages: loose-envify: 1.4.0 dev: true - /web-streams-polyfill/3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} - dev: true - /webidl-conversions/3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -6840,6 +7371,15 @@ packages: isexe: 2.0.0 dev: true + /why-is-node-running/2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + /word-wrap/1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} @@ -6874,19 +7414,6 @@ packages: /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - /ws/8.8.0: - resolution: {integrity: sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - /ws/8.8.1: resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==} engines: {node: '>=10.0.0'} @@ -6898,7 +7425,6 @@ packages: optional: true utf-8-validate: optional: true - dev: false /xml-name-validator/4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} @@ -6922,8 +7448,8 @@ packages: engines: {node: '>= 6'} dev: true - /yaml/2.1.1: - resolution: {integrity: sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==} + /yaml/2.2.1: + resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==} engines: {node: '>= 14'} dev: true @@ -6960,6 +7486,11 @@ packages: engines: {node: '>=10'} dev: true + /yocto-queue/1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + /z-schema/5.0.4: resolution: {integrity: sha512-gm/lx3hDzJNcLwseIeQVm1UcwhWIKpSB4NqH89pTBtFns4k/HDHudsICtvG05Bvw/Mv3jMyk700y5dadueLHdA==} engines: {node: '>=8.0.0'} @@ -6972,6 +7503,6 @@ packages: commander: 2.20.3 dev: false - /zod/3.19.1: - resolution: {integrity: sha512-LYjZsEDhCdYET9ikFu6dVPGp2YH9DegXjdJToSzD9rO6fy4qiRYFoyEYwps88OseJlPyl2NOe2iJuhEhL7IpEA==} + /zod/3.20.2: + resolution: {integrity: sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==} dev: false diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 3f63c177..f5bb91e8 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,4 @@ packages: + - 'apps/*' - 'packages/*' - 'cdk' diff --git a/tsconfig.json b/tsconfig.json index b64f5e50..4d079a09 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,25 +1,25 @@ { - "extends": "./.svelte-kit/tsconfig.json", + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Default", "compilerOptions": { - "allowJs": true, - "checkJs": true, + "composite": false, + "declaration": true, + "declarationMap": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "remove", - "paths": { - "$lib": ["src/lib"], - "$lib/*": ["src/lib/*"], - "$discord": ["src/lib/discord"], - "$discord/*": ["src/lib/discord/*"] - }, + "inlineSources": false, + "isolatedModules": true, + "module": "esnext", + "moduleResolution": "node", + "noUnusedLocals": false, + "noUnusedParameters": false, + "preserveWatchOutput": true, "skipLibCheck": true, - "sourceMap": true, - "strict": true + "strict": true, + "target": "esnext", + "sourceMap": false, + "inlineSourceMap": true, + "importsNotUsedAsValues": "remove" }, - "include": [ - "./src/**/*.ts", - "./src/**/*.svelte", - "./tests/**/*.ts", - "./scripts/**/*.ts" - ] + "exclude": ["node_modules"] } From c767a7dfec258a5981a89225332e08eeb5e66d6a Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 14:40:00 -0800 Subject: [PATCH 03/79] upgraded sveltekit config --- apps/bot.amplify.aws/package.json | 76 +++++++++++++++++++++++++ apps/bot.amplify.aws/svelte.config.js | 6 +- apps/bot.amplify.aws/tsconfig.json | 12 ++++ apps/bot.amplify.aws/vite.config.ts | 80 +++++++++++---------------- 4 files changed, 124 insertions(+), 50 deletions(-) create mode 100644 apps/bot.amplify.aws/package.json create mode 100644 apps/bot.amplify.aws/tsconfig.json diff --git a/apps/bot.amplify.aws/package.json b/apps/bot.amplify.aws/package.json new file mode 100644 index 00000000..e41eb049 --- /dev/null +++ b/apps/bot.amplify.aws/package.json @@ -0,0 +1,76 @@ +{ + "name": "@aws-amplify/discord-bot", + "type": "module", + "version": "1.0.3-next.0", + "license": "Apache-2.0", + "private": true, + "scripts": { + "packages": "pnpm --filter \"./packages/**\"", + "start": "node build/server.js", + "dev": "vite dev --port 3000", + "dev:lib": "pnpm -r run build -w", + "docker": "PNPM_STORE=$(pnpm store path) docker compose up --build", + "build": "vite build", + "build:lib": "pnpm packages run build", + "check": "prettier --check .", + "lint": "eslint .", + "postinstall": "prisma generate", + "setup-dev": "pnpm install && prisma db push && svelte-kit sync && pnpm build:lib", + "setup-docker": "echo \"\nPNPM_STORE\"=$(pnpm store path) >> .env && docker -v", + "setup-test": "DATABASE_URL=\"file:data/test.db\" prisma db push && vite build", + "test": "vitest", + "coverage": "vitest run --coverage" + }, + "dependencies": { + "@aws-crypto/sha256-js": "^2.0.1", + "@carbon/styles": "^1.11.0", + "@discordjs/builders": "^1.1.0", + "@discordjs/rest": "^1.0.1", + "@faker-js/faker": "^7.4.0", + "@next-auth/prisma-adapter": "^1.0.4", + "@octokit/auth-app": "^4.0.5", + "@octokit/graphql": "^5.0.1", + "@octokit/rest": "^19.0.4", + "@prisma/client": "^4.5.0", + "cookie": "^0.5.0", + "discord-api-types": "^0.37.10", + "express": "^4.18.1", + "fast-glob": "^3.2.11", + "fuzzy": "^0.1.3", + "next-auth": "^4.10.3", + "prisma": "^4.5.0", + "svelte": "3.49.0", + "uuid": "^8.3.2", + "zod": "^3.19.1" + }, + "devDependencies": { + "@carbon/charts": "^1.5.2", + "@carbon/charts-svelte": "^1.5.2", + "@commitlint/cli": "^17.0.3", + "@commitlint/config-conventional": "^17.0.3", + "@faker-js/faker": "^7.3.0", + "@hey-amplify/scripts": "workspace:*", + "@hey-amplify/support": "workspace:*", + "@hey-amplify/tsconfig": "workspace:*", + "@hey-amplify/vite-plugin-server": "workspace:*", + "@sveltejs/adapter-node": "1.1.7", + "@sveltejs/kit": "1.5.0", + "@types/cookie": "^0.5.1", + "@types/express": "^4.17.13", + "@types/node": "^18.7.13", + "@types/prettier": "^2.7.0", + "@vitest/ui": "^0.22.1", + "carbon-components-svelte": "^0.70.1", + "carbon-icons-svelte": "^11.2.0", + "carbon-preprocess-svelte": "^0.9.1", + "d3": "^7.6.1", + "jsdom": "^20.0.0", + "svelte-check": "^3.0.3", + "svelte-preprocess": "^5.0.1", + "tslib": "^2.5.0", + "typescript": "^4.9.5", + "vite": "^4.1.1", + "vite-node": "^0.28.4", + "vitest": "^0.28.4" + } +} diff --git a/apps/bot.amplify.aws/svelte.config.js b/apps/bot.amplify.aws/svelte.config.js index dd0fc689..3ecaaec0 100644 --- a/apps/bot.amplify.aws/svelte.config.js +++ b/apps/bot.amplify.aws/svelte.config.js @@ -1,13 +1,13 @@ import { resolve } from 'node:path' import adapter from '@sveltejs/adapter-node' -import preprocess from 'svelte-preprocess' +import { vitePreprocess } from '@sveltejs/kit/vite' import { optimizeCarbonImports } from 'carbon-preprocess-svelte' /** @type {import('@sveltejs/kit').Config} */ const config = { - // Consult https://github.com/sveltejs/svelte-preprocess + // Consult https://kit.svelte.dev/docs/integrations#preprocessors // for more information about preprocessors - preprocess: [preprocess(), optimizeCarbonImports()], + preprocess: [vitePreprocess(), optimizeCarbonImports()], kit: { // By default, `npm run build` will create a standard Node app. diff --git a/apps/bot.amplify.aws/tsconfig.json b/apps/bot.amplify.aws/tsconfig.json new file mode 100644 index 00000000..36c6c4a5 --- /dev/null +++ b/apps/bot.amplify.aws/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "paths": { + "$lib": ["./src/lib"], + "$lib/*": ["./src/lib/*"], + "$discord": ["./src/lib/discord"], + "$discord/*": ["./src/lib/discord/*"] + } + }, + "include": ["./src/**/*.ts", "./src/**/*.svelte", "./tests/**/*.ts"] +} diff --git a/apps/bot.amplify.aws/vite.config.ts b/apps/bot.amplify.aws/vite.config.ts index edde2b2f..0f33898a 100644 --- a/apps/bot.amplify.aws/vite.config.ts +++ b/apps/bot.amplify.aws/vite.config.ts @@ -1,9 +1,6 @@ -import { readFile } from 'node:fs/promises' -import { resolve } from 'node:path' import { fileURLToPath } from 'node:url' import { sveltekit } from '@sveltejs/kit/vite' import { defineConfig, loadEnv } from 'vite' -import { server } from '@hey-amplify/vite-plugin-server' import type { UserConfig } from 'vitest/config' function relative(path) { @@ -26,51 +23,7 @@ export function loadEnvVars(mode = 'development') { ) } -const pkg = JSON.parse(await readFile(resolve('package.json'), 'utf-8')) - -const base: UserConfig = { - build: { - target: 'esnext', - }, - envDir: '.', - define: { - 'import.meta.vitest': 'undefined', - }, - optimizeDeps: { - esbuildOptions: { - target: 'esnext', - }, - include: ['@carbon/charts'], - }, - plugins: [sveltekit(), server({ dev: false })], - resolve: { - alias: { - $discord: relative('./src/lib/discord'), - }, - }, - ssr: { - noExternal: ['@carbon/charts', 'carbon-components'], - }, -} - export default defineConfig(({ mode }) => { - const config = base - // apply general test config - config.test = { - globals: true, - environment: 'jsdom', - include: ['tests/**/*.ts'], - exclude: ['tests/setup/**/*.ts', 'tests/mock/**/*.ts'], - includeSource: ['src/**/*.{js,ts,svelte}'], - setupFiles: [ - 'tests/setup/svelte-kit-routes.ts', - 'tests/setup/seed.ts', - 'tests/setup/github-secrets-enabled.ts', - ], - env: { - SSR: 'true', - }, - } // `vitest` sets mode to test, load local environment variables for test if (mode === 'test') { loadEnvVars(mode) @@ -78,5 +31,38 @@ export default defineConfig(({ mode }) => { // rely on Vite to load public env vars (i.e. prefixed with VITE_) loadEnvVars() } + const config: UserConfig = { + envDir: '.', + define: { + 'import.meta.vitest': 'undefined', + }, + optimizeDeps: { + include: ['@carbon/charts'], + }, + plugins: [sveltekit()], + resolve: { + alias: { + $discord: relative('./src/lib/discord'), + }, + }, + ssr: { + noExternal: ['@carbon/charts', 'carbon-components'], + }, + test: { + globals: true, + environment: 'jsdom', + include: ['tests/**/*.ts'], + exclude: ['tests/setup/**/*.ts', 'tests/mock/**/*.ts'], + includeSource: ['src/**/*.{js,ts,svelte}'], + setupFiles: [ + 'tests/setup/svelte-kit-routes.ts', + 'tests/setup/seed.ts', + 'tests/setup/github-secrets-enabled.ts', + ], + env: { + SSR: 'true', + }, + }, + } return config }) From 076e66328d28e15cab3f8b684988cc611545729d Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 14:40:11 -0800 Subject: [PATCH 04/79] add turbo --- turbo.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 turbo.json diff --git a/turbo.json b/turbo.json new file mode 100644 index 00000000..cf4179dd --- /dev/null +++ b/turbo.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://turbo.build/schema.json", + "pipeline": { + "build": { + "dependsOn": ["^build"], + "outputs": ["build/**", ".svelte-kit/**"] + }, + "test": { + "dependsOn": ["^build"], + "outputs": ["build/**", ".svelte-kit/**"] + }, + "dev": { + "cache": false + } + } +} From 0bd124b10edd946c5e15a1b0e27541746ce5b066 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 14:51:01 -0800 Subject: [PATCH 05/79] mv to apps/discord-bot --- apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/api.ts | 0 .../src/lib/discord => discord-bot/src}/client.ts | 0 .../src/lib/discord => discord-bot/src}/commands.ts | 0 .../src/lib/discord => discord-bot/src}/commands/_messages.ts | 0 .../src/lib/discord => discord-bot/src}/commands/_repositories.ts | 0 .../src/lib/discord => discord-bot/src}/commands/admin.ts | 0 .../src/lib/discord => discord-bot/src}/commands/contribute.ts | 0 .../src/lib/discord => discord-bot/src}/commands/github.ts | 0 .../src/lib/discord => discord-bot/src}/commands/giverole.ts | 0 .../src/lib/discord => discord-bot/src}/commands/login.ts | 0 .../src/lib/discord => discord-bot/src}/commands/q.ts | 0 .../src/lib/discord => discord-bot/src}/commands/select-answer.ts | 0 .../src/lib/discord => discord-bot/src}/commands/thread.ts | 0 .../src/lib/discord => discord-bot/src}/get-user-access.ts | 0 .../{bot.amplify.aws/src/lib/discord => discord-bot/src}/index.ts | 0 .../src/lib/discord => discord-bot/src}/is-admin-or-staff.ts | 0 .../src/lib/discord => discord-bot/src}/roles/addRole.ts | 0 .../src/lib/discord => discord-bot/src}/roles/removeRole.ts | 0 .../src/lib/discord => discord-bot/src}/support.ts | 0 19 files changed, 0 insertions(+), 0 deletions(-) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/api.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/client.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/commands.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/commands/_messages.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/commands/_repositories.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/commands/admin.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/commands/contribute.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/commands/github.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/commands/giverole.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/commands/login.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/commands/q.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/commands/select-answer.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/commands/thread.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/get-user-access.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/index.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/is-admin-or-staff.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/roles/addRole.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/roles/removeRole.ts (100%) rename apps/{bot.amplify.aws/src/lib/discord => discord-bot/src}/support.ts (100%) diff --git a/apps/bot.amplify.aws/src/lib/discord/api.ts b/apps/discord-bot/src/api.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/api.ts rename to apps/discord-bot/src/api.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/client.ts b/apps/discord-bot/src/client.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/client.ts rename to apps/discord-bot/src/client.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/commands.ts b/apps/discord-bot/src/commands.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/commands.ts rename to apps/discord-bot/src/commands.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/commands/_messages.ts b/apps/discord-bot/src/commands/_messages.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/commands/_messages.ts rename to apps/discord-bot/src/commands/_messages.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/commands/_repositories.ts b/apps/discord-bot/src/commands/_repositories.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/commands/_repositories.ts rename to apps/discord-bot/src/commands/_repositories.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/commands/admin.ts b/apps/discord-bot/src/commands/admin.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/commands/admin.ts rename to apps/discord-bot/src/commands/admin.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/commands/contribute.ts b/apps/discord-bot/src/commands/contribute.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/commands/contribute.ts rename to apps/discord-bot/src/commands/contribute.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/commands/github.ts b/apps/discord-bot/src/commands/github.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/commands/github.ts rename to apps/discord-bot/src/commands/github.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/commands/giverole.ts b/apps/discord-bot/src/commands/giverole.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/commands/giverole.ts rename to apps/discord-bot/src/commands/giverole.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/commands/login.ts b/apps/discord-bot/src/commands/login.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/commands/login.ts rename to apps/discord-bot/src/commands/login.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/commands/q.ts b/apps/discord-bot/src/commands/q.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/commands/q.ts rename to apps/discord-bot/src/commands/q.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/commands/select-answer.ts b/apps/discord-bot/src/commands/select-answer.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/commands/select-answer.ts rename to apps/discord-bot/src/commands/select-answer.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/commands/thread.ts b/apps/discord-bot/src/commands/thread.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/commands/thread.ts rename to apps/discord-bot/src/commands/thread.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/get-user-access.ts b/apps/discord-bot/src/get-user-access.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/get-user-access.ts rename to apps/discord-bot/src/get-user-access.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/index.ts b/apps/discord-bot/src/index.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/index.ts rename to apps/discord-bot/src/index.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/is-admin-or-staff.ts b/apps/discord-bot/src/is-admin-or-staff.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/is-admin-or-staff.ts rename to apps/discord-bot/src/is-admin-or-staff.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/roles/addRole.ts b/apps/discord-bot/src/roles/addRole.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/roles/addRole.ts rename to apps/discord-bot/src/roles/addRole.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/roles/removeRole.ts b/apps/discord-bot/src/roles/removeRole.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/roles/removeRole.ts rename to apps/discord-bot/src/roles/removeRole.ts diff --git a/apps/bot.amplify.aws/src/lib/discord/support.ts b/apps/discord-bot/src/support.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/discord/support.ts rename to apps/discord-bot/src/support.ts From ba4d19a7c1a4047369ef2a1b52d8b901b8c10dd9 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 16:29:13 -0800 Subject: [PATCH 06/79] mv discord lib to dedicated package --- {apps/discord-bot => packages/discord}/src/api.ts | 0 {apps/discord-bot => packages/discord}/src/client.ts | 0 {apps/discord-bot => packages/discord}/src/commands.ts | 0 {apps/discord-bot => packages/discord}/src/commands/_messages.ts | 0 .../discord}/src/commands/_repositories.ts | 0 {apps/discord-bot => packages/discord}/src/commands/admin.ts | 0 {apps/discord-bot => packages/discord}/src/commands/contribute.ts | 0 {apps/discord-bot => packages/discord}/src/commands/github.ts | 0 {apps/discord-bot => packages/discord}/src/commands/giverole.ts | 0 {apps/discord-bot => packages/discord}/src/commands/login.ts | 0 {apps/discord-bot => packages/discord}/src/commands/q.ts | 0 .../discord}/src/commands/select-answer.ts | 0 {apps/discord-bot => packages/discord}/src/commands/thread.ts | 0 {apps/discord-bot => packages/discord}/src/get-user-access.ts | 0 {apps/discord-bot => packages/discord}/src/index.ts | 0 {apps/discord-bot => packages/discord}/src/is-admin-or-staff.ts | 0 {apps/discord-bot => packages/discord}/src/roles/addRole.ts | 0 {apps/discord-bot => packages/discord}/src/roles/removeRole.ts | 0 {apps/discord-bot => packages/discord}/src/support.ts | 0 19 files changed, 0 insertions(+), 0 deletions(-) rename {apps/discord-bot => packages/discord}/src/api.ts (100%) rename {apps/discord-bot => packages/discord}/src/client.ts (100%) rename {apps/discord-bot => packages/discord}/src/commands.ts (100%) rename {apps/discord-bot => packages/discord}/src/commands/_messages.ts (100%) rename {apps/discord-bot => packages/discord}/src/commands/_repositories.ts (100%) rename {apps/discord-bot => packages/discord}/src/commands/admin.ts (100%) rename {apps/discord-bot => packages/discord}/src/commands/contribute.ts (100%) rename {apps/discord-bot => packages/discord}/src/commands/github.ts (100%) rename {apps/discord-bot => packages/discord}/src/commands/giverole.ts (100%) rename {apps/discord-bot => packages/discord}/src/commands/login.ts (100%) rename {apps/discord-bot => packages/discord}/src/commands/q.ts (100%) rename {apps/discord-bot => packages/discord}/src/commands/select-answer.ts (100%) rename {apps/discord-bot => packages/discord}/src/commands/thread.ts (100%) rename {apps/discord-bot => packages/discord}/src/get-user-access.ts (100%) rename {apps/discord-bot => packages/discord}/src/index.ts (100%) rename {apps/discord-bot => packages/discord}/src/is-admin-or-staff.ts (100%) rename {apps/discord-bot => packages/discord}/src/roles/addRole.ts (100%) rename {apps/discord-bot => packages/discord}/src/roles/removeRole.ts (100%) rename {apps/discord-bot => packages/discord}/src/support.ts (100%) diff --git a/apps/discord-bot/src/api.ts b/packages/discord/src/api.ts similarity index 100% rename from apps/discord-bot/src/api.ts rename to packages/discord/src/api.ts diff --git a/apps/discord-bot/src/client.ts b/packages/discord/src/client.ts similarity index 100% rename from apps/discord-bot/src/client.ts rename to packages/discord/src/client.ts diff --git a/apps/discord-bot/src/commands.ts b/packages/discord/src/commands.ts similarity index 100% rename from apps/discord-bot/src/commands.ts rename to packages/discord/src/commands.ts diff --git a/apps/discord-bot/src/commands/_messages.ts b/packages/discord/src/commands/_messages.ts similarity index 100% rename from apps/discord-bot/src/commands/_messages.ts rename to packages/discord/src/commands/_messages.ts diff --git a/apps/discord-bot/src/commands/_repositories.ts b/packages/discord/src/commands/_repositories.ts similarity index 100% rename from apps/discord-bot/src/commands/_repositories.ts rename to packages/discord/src/commands/_repositories.ts diff --git a/apps/discord-bot/src/commands/admin.ts b/packages/discord/src/commands/admin.ts similarity index 100% rename from apps/discord-bot/src/commands/admin.ts rename to packages/discord/src/commands/admin.ts diff --git a/apps/discord-bot/src/commands/contribute.ts b/packages/discord/src/commands/contribute.ts similarity index 100% rename from apps/discord-bot/src/commands/contribute.ts rename to packages/discord/src/commands/contribute.ts diff --git a/apps/discord-bot/src/commands/github.ts b/packages/discord/src/commands/github.ts similarity index 100% rename from apps/discord-bot/src/commands/github.ts rename to packages/discord/src/commands/github.ts diff --git a/apps/discord-bot/src/commands/giverole.ts b/packages/discord/src/commands/giverole.ts similarity index 100% rename from apps/discord-bot/src/commands/giverole.ts rename to packages/discord/src/commands/giverole.ts diff --git a/apps/discord-bot/src/commands/login.ts b/packages/discord/src/commands/login.ts similarity index 100% rename from apps/discord-bot/src/commands/login.ts rename to packages/discord/src/commands/login.ts diff --git a/apps/discord-bot/src/commands/q.ts b/packages/discord/src/commands/q.ts similarity index 100% rename from apps/discord-bot/src/commands/q.ts rename to packages/discord/src/commands/q.ts diff --git a/apps/discord-bot/src/commands/select-answer.ts b/packages/discord/src/commands/select-answer.ts similarity index 100% rename from apps/discord-bot/src/commands/select-answer.ts rename to packages/discord/src/commands/select-answer.ts diff --git a/apps/discord-bot/src/commands/thread.ts b/packages/discord/src/commands/thread.ts similarity index 100% rename from apps/discord-bot/src/commands/thread.ts rename to packages/discord/src/commands/thread.ts diff --git a/apps/discord-bot/src/get-user-access.ts b/packages/discord/src/get-user-access.ts similarity index 100% rename from apps/discord-bot/src/get-user-access.ts rename to packages/discord/src/get-user-access.ts diff --git a/apps/discord-bot/src/index.ts b/packages/discord/src/index.ts similarity index 100% rename from apps/discord-bot/src/index.ts rename to packages/discord/src/index.ts diff --git a/apps/discord-bot/src/is-admin-or-staff.ts b/packages/discord/src/is-admin-or-staff.ts similarity index 100% rename from apps/discord-bot/src/is-admin-or-staff.ts rename to packages/discord/src/is-admin-or-staff.ts diff --git a/apps/discord-bot/src/roles/addRole.ts b/packages/discord/src/roles/addRole.ts similarity index 100% rename from apps/discord-bot/src/roles/addRole.ts rename to packages/discord/src/roles/addRole.ts diff --git a/apps/discord-bot/src/roles/removeRole.ts b/packages/discord/src/roles/removeRole.ts similarity index 100% rename from apps/discord-bot/src/roles/removeRole.ts rename to packages/discord/src/roles/removeRole.ts diff --git a/apps/discord-bot/src/support.ts b/packages/discord/src/support.ts similarity index 100% rename from apps/discord-bot/src/support.ts rename to packages/discord/src/support.ts From 492e776e80a2304ceb208630dc5cc34d70603624 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 16:29:23 -0800 Subject: [PATCH 07/79] improved bot build and dev --- apps/discord-bot/.dockerignore | 23 +++++++++++++++++++++++ apps/discord-bot/bot.ts | 8 ++++++++ apps/discord-bot/package.json | 21 +++++++++++++++++++++ apps/discord-bot/tsup.config.ts | 15 +++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 apps/discord-bot/.dockerignore create mode 100644 apps/discord-bot/bot.ts create mode 100644 apps/discord-bot/package.json create mode 100644 apps/discord-bot/tsup.config.ts diff --git a/apps/discord-bot/.dockerignore b/apps/discord-bot/.dockerignore new file mode 100644 index 00000000..2a7a8de5 --- /dev/null +++ b/apps/discord-bot/.dockerignore @@ -0,0 +1,23 @@ +node_modules +**/node_modules + +# ignore other packages in monorepo +/cdk +/docs +/tests +.vscode + +# no builds +**/build + +# no logs +*.log + +# docs, markdown +**/*.md + +# ignore local db +**/*.db + +# ignore env files +.env* \ No newline at end of file diff --git a/apps/discord-bot/bot.ts b/apps/discord-bot/bot.ts new file mode 100644 index 00000000..c9614d1e --- /dev/null +++ b/apps/discord-bot/bot.ts @@ -0,0 +1,8 @@ +import { createClient } from '@hey-amplify/discord' +import { loadEnv } from 'vite' + +if (import.meta.env.DEV) { + loadEnv(import.meta.url, 'development') +} + +createClient() diff --git a/apps/discord-bot/package.json b/apps/discord-bot/package.json new file mode 100644 index 00000000..d752293c --- /dev/null +++ b/apps/discord-bot/package.json @@ -0,0 +1,21 @@ +{ + "name": "@hey-amplify/discord-bot", + "type": "module", + "version": "2.0.0-next.0", + "description": "A Discord bot for the AWS Amplify community", + "scripts": { + "start": "node bin/bot.js", + "build": "tsup", + "dev": "vite-node bin/bot.js" + }, + "dependencies": { + "discord.js": "^14.4.0", + "@hey-amplify/discord": "workspace:*" + }, + "devDependencies": { + "tsup": "^6.5.0", + "typescript": "^4.9.5", + "vite": "^4.1.1", + "vite-node": "^0.28.4" + } +} diff --git a/apps/discord-bot/tsup.config.ts b/apps/discord-bot/tsup.config.ts new file mode 100644 index 00000000..13068989 --- /dev/null +++ b/apps/discord-bot/tsup.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from 'tsup' + +export default defineConfig({ + define: { + 'import.meta.env.DEV': 'false', + 'import.meta.vitest': 'undefined', + }, + entry: ['bot.ts'], + format: ['esm'], + outDir: 'bin', + dts: false, + splitting: false, + sourcemap: true, + clean: true, +}) From 087efd83d8d4a542f75fe67841582cd15d6cc2d5 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 16:29:42 -0800 Subject: [PATCH 08/79] use prisma client, constants from package --- apps/bot.amplify.aws/src/lib/audit.ts | 21 --------------------- apps/bot.amplify.aws/src/lib/constants.ts | 14 ++------------ apps/bot.amplify.aws/src/lib/db.ts | 3 +-- 3 files changed, 3 insertions(+), 35 deletions(-) delete mode 100644 apps/bot.amplify.aws/src/lib/audit.ts diff --git a/apps/bot.amplify.aws/src/lib/audit.ts b/apps/bot.amplify.aws/src/lib/audit.ts deleted file mode 100644 index b10ce7a3..00000000 --- a/apps/bot.amplify.aws/src/lib/audit.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { prisma } from './db' - -export class Audit { - constructor() { - // - } - - async log(action) { - const record = await prisma.auditLog.create({ - data: { - ...action, - }, - select: { - id: true, - }, - }) - return record.id - } -} - -export const audit = new Audit() diff --git a/apps/bot.amplify.aws/src/lib/constants.ts b/apps/bot.amplify.aws/src/lib/constants.ts index 60f3601c..3dac19c2 100644 --- a/apps/bot.amplify.aws/src/lib/constants.ts +++ b/apps/bot.amplify.aws/src/lib/constants.ts @@ -1,3 +1,5 @@ +export * from '@hey-amplify/constants' + export const ACCESS_LEVELS = { ADMIN: 'ADMIN', STAFF: 'STAFF', @@ -5,17 +7,5 @@ export const ACCESS_LEVELS = { MEMBER: 'MEMBER', } -/** - * @NOTE command "features" are defined server-side and sideloaded - */ -export const FEATURE_CODES = { - GITHUB: 'GITHUB', -} - -export const FEATURE_TYPES = { - COMMAND: 'COMMAND', - INTEGRATION: 'INTEGRATION', -} - export const APP_COOKIE_BASE = 'hey-amplify' export const GUILD_COOKIE = `${APP_COOKIE_BASE}.guild` diff --git a/apps/bot.amplify.aws/src/lib/db.ts b/apps/bot.amplify.aws/src/lib/db.ts index 2624c89f..80933bfc 100644 --- a/apps/bot.amplify.aws/src/lib/db.ts +++ b/apps/bot.amplify.aws/src/lib/db.ts @@ -1,9 +1,8 @@ -import { PrismaClient } from '@prisma/client' +import { prisma } from '@hey-amplify/prisma' import { ACCESS_LEVELS, FEATURE_TYPES } from './constants' import { integrations, types as featureTypes } from './features/index' import { createCommandFeatures } from './discord/commands' -export const prisma = new PrismaClient() const DB_INIT_MESSAGE = '[database] init' export async function init() { From efe22048535fd5691bb985a55b29cf28583fe3a6 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 16:29:53 -0800 Subject: [PATCH 09/79] rm discord alias --- apps/bot.amplify.aws/.gitignore | 1 + apps/bot.amplify.aws/package.json | 36 ++++++++--------------------- apps/bot.amplify.aws/tsconfig.json | 9 +------- apps/bot.amplify.aws/vite.config.ts | 5 ---- 4 files changed, 12 insertions(+), 39 deletions(-) create mode 100644 apps/bot.amplify.aws/.gitignore diff --git a/apps/bot.amplify.aws/.gitignore b/apps/bot.amplify.aws/.gitignore new file mode 100644 index 00000000..955fed86 --- /dev/null +++ b/apps/bot.amplify.aws/.gitignore @@ -0,0 +1 @@ +/.svelte-kit \ No newline at end of file diff --git a/apps/bot.amplify.aws/package.json b/apps/bot.amplify.aws/package.json index e41eb049..0166be3b 100644 --- a/apps/bot.amplify.aws/package.json +++ b/apps/bot.amplify.aws/package.json @@ -1,62 +1,46 @@ { - "name": "@aws-amplify/discord-bot", + "name": "@aws-amplify/discord-bot-frontend", "type": "module", "version": "1.0.3-next.0", "license": "Apache-2.0", "private": true, "scripts": { - "packages": "pnpm --filter \"./packages/**\"", - "start": "node build/server.js", - "dev": "vite dev --port 3000", - "dev:lib": "pnpm -r run build -w", - "docker": "PNPM_STORE=$(pnpm store path) docker compose up --build", + "dev": "vite", "build": "vite build", - "build:lib": "pnpm packages run build", - "check": "prettier --check .", - "lint": "eslint .", - "postinstall": "prisma generate", - "setup-dev": "pnpm install && prisma db push && svelte-kit sync && pnpm build:lib", - "setup-docker": "echo \"\nPNPM_STORE\"=$(pnpm store path) >> .env && docker -v", - "setup-test": "DATABASE_URL=\"file:data/test.db\" prisma db push && vite build", "test": "vitest", - "coverage": "vitest run --coverage" + "coverage": "vitest run --coverage", + "prepare": "svelte-kit sync" }, "dependencies": { "@aws-crypto/sha256-js": "^2.0.1", "@carbon/styles": "^1.11.0", - "@discordjs/builders": "^1.1.0", "@discordjs/rest": "^1.0.1", - "@faker-js/faker": "^7.4.0", "@next-auth/prisma-adapter": "^1.0.4", "@octokit/auth-app": "^4.0.5", "@octokit/graphql": "^5.0.1", "@octokit/rest": "^19.0.4", - "@prisma/client": "^4.5.0", "cookie": "^0.5.0", "discord-api-types": "^0.37.10", - "express": "^4.18.1", "fast-glob": "^3.2.11", "fuzzy": "^0.1.3", "next-auth": "^4.10.3", - "prisma": "^4.5.0", - "svelte": "3.49.0", - "uuid": "^8.3.2", - "zod": "^3.19.1" + "svelte": "3.55.1", + "uuid": "^9.0.0", + "zod": "^3.20.2" }, "devDependencies": { "@carbon/charts": "^1.5.2", "@carbon/charts-svelte": "^1.5.2", "@commitlint/cli": "^17.0.3", "@commitlint/config-conventional": "^17.0.3", - "@faker-js/faker": "^7.3.0", "@hey-amplify/scripts": "workspace:*", + "@hey-amplify/discord": "workspace:*", + "@hey-amplify/prisma": "workspace:*", "@hey-amplify/support": "workspace:*", - "@hey-amplify/tsconfig": "workspace:*", - "@hey-amplify/vite-plugin-server": "workspace:*", + "@prisma/client": "^4.9.0", "@sveltejs/adapter-node": "1.1.7", "@sveltejs/kit": "1.5.0", "@types/cookie": "^0.5.1", - "@types/express": "^4.17.13", "@types/node": "^18.7.13", "@types/prettier": "^2.7.0", "@vitest/ui": "^0.22.1", diff --git a/apps/bot.amplify.aws/tsconfig.json b/apps/bot.amplify.aws/tsconfig.json index 36c6c4a5..19b77bd7 100644 --- a/apps/bot.amplify.aws/tsconfig.json +++ b/apps/bot.amplify.aws/tsconfig.json @@ -1,12 +1,5 @@ { "extends": "./.svelte-kit/tsconfig.json", - "compilerOptions": { - "paths": { - "$lib": ["./src/lib"], - "$lib/*": ["./src/lib/*"], - "$discord": ["./src/lib/discord"], - "$discord/*": ["./src/lib/discord/*"] - } - }, + "compilerOptions": {}, "include": ["./src/**/*.ts", "./src/**/*.svelte", "./tests/**/*.ts"] } diff --git a/apps/bot.amplify.aws/vite.config.ts b/apps/bot.amplify.aws/vite.config.ts index 0f33898a..9fc1cb45 100644 --- a/apps/bot.amplify.aws/vite.config.ts +++ b/apps/bot.amplify.aws/vite.config.ts @@ -40,11 +40,6 @@ export default defineConfig(({ mode }) => { include: ['@carbon/charts'], }, plugins: [sveltekit()], - resolve: { - alias: { - $discord: relative('./src/lib/discord'), - }, - }, ssr: { noExternal: ['@carbon/charts', 'carbon-components'], }, From 52b11ffba9477745a8601cbbe4408a0c06c87f07 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 16:30:22 -0800 Subject: [PATCH 10/79] add constants package --- packages/constants/package.json | 23 +++++++++++++++++++++++ packages/constants/src/index.ts | 27 +++++++++++++++++++++++++++ packages/constants/tsup.config.ts | 14 ++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 packages/constants/package.json create mode 100644 packages/constants/src/index.ts create mode 100644 packages/constants/tsup.config.ts diff --git a/packages/constants/package.json b/packages/constants/package.json new file mode 100644 index 00000000..ceaac284 --- /dev/null +++ b/packages/constants/package.json @@ -0,0 +1,23 @@ +{ + "name": "@hey-amplify/constants", + "private": true, + "type": "module", + "version": "2.0.0-next.0", + "exports": { + ".": { + "import": "./build/index.js", + "types": "./build/index.d.ts" + }, + "./package.json": "./package.json" + }, + "types": "build/index.d.ts", + "scripts": { + "dev": "tsup --watch", + "build": "tsup" + }, + "dependencies": {}, + "devDependencies": { + "tsup": "^6.5.0", + "typescript": "^4.9.5" + } +} diff --git a/packages/constants/src/index.ts b/packages/constants/src/index.ts new file mode 100644 index 00000000..0b9f3b36 --- /dev/null +++ b/packages/constants/src/index.ts @@ -0,0 +1,27 @@ +/** + * Access levels define the levels of access a user can have to access certain parts of the frontend + */ +export const ACCESS_LEVELS = { + ADMIN: 'ADMIN', + STAFF: 'STAFF', + CONTRIBUTOR: 'CONTRIBUTOR', + MEMBER: 'MEMBER', +} + +/** + * Feature codes to be used with frontend and bot apps + * @NOTE command "features" are defined server-side and sideloaded + */ +export const FEATURE_CODES = { + GITHUB: 'GITHUB', +} + +/** + * Feature types describe the types of features we support + * for example, a command is a bot feature + * for example, an integration is a e2e feature + */ +export const FEATURE_TYPES = { + COMMAND: 'COMMAND', + INTEGRATION: 'INTEGRATION', +} diff --git a/packages/constants/tsup.config.ts b/packages/constants/tsup.config.ts new file mode 100644 index 00000000..e6c8b6f8 --- /dev/null +++ b/packages/constants/tsup.config.ts @@ -0,0 +1,14 @@ +import { defineConfig } from 'tsup' + +export default defineConfig({ + define: { + 'import.meta.vitest': 'undefined', + }, + entry: ['src/index.ts'], + format: ['esm'], + outDir: 'build', + dts: true, + splitting: false, + sourcemap: true, + clean: true, +}) From 60208d6b6b93fc24f8ab644abcf06852c76445d1 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 16:30:36 -0800 Subject: [PATCH 11/79] use constants, prisma from packages --- packages/discord/package.json | 31 +++++++++++++++++++ packages/discord/src/client.ts | 4 +-- packages/discord/src/commands.ts | 4 +-- packages/discord/src/commands/admin.ts | 2 +- packages/discord/src/commands/q.ts | 2 +- .../discord/src/commands/select-answer.ts | 2 +- packages/discord/src/commands/thread.ts | 2 +- packages/discord/src/get-user-access.ts | 4 +-- packages/discord/src/index.ts | 1 + packages/discord/src/is-admin-or-staff.ts | 4 +-- packages/discord/tsup.config.ts | 14 +++++++++ 11 files changed, 58 insertions(+), 12 deletions(-) create mode 100644 packages/discord/package.json create mode 100644 packages/discord/tsup.config.ts diff --git a/packages/discord/package.json b/packages/discord/package.json new file mode 100644 index 00000000..3aaeecf6 --- /dev/null +++ b/packages/discord/package.json @@ -0,0 +1,31 @@ +{ + "name": "@hey-amplify/discord", + "private": true, + "type": "module", + "version": "2.0.0-next.0", + "description": "A Discord bot for the AWS Amplify community", + "exports": { + ".": { + "import": "./build/index.js", + "types": "./build/index.d.ts" + }, + "./package.json": "./package.json" + }, + "types": "build/index.d.ts", + "scripts": { + "dev": "tsup --watch", + "build": "tsup" + }, + "dependencies": { + "@discordjs/builders": "^1.4.0", + "@discordjs/rest": "^1.5.0", + "@hey-amplify/constants": "workspace:*", + "@hey-amplify/prisma": "workspace:*", + "discord.js": "^14.4.0", + "discord-api-types": "^0.37.31" + }, + "devDependencies": { + "tsup": "^6.5.0", + "typescript": "^4.9.5" + } +} diff --git a/packages/discord/src/client.ts b/packages/discord/src/client.ts index 0368d5dd..151fe805 100644 --- a/packages/discord/src/client.ts +++ b/packages/discord/src/client.ts @@ -10,7 +10,7 @@ import { type ThreadChannel, type Guild, } from 'discord.js' -import { prisma } from '$lib/db' +import { prisma } from '@hey-amplify/prisma' import { commands, createCommandFeatures, @@ -19,7 +19,7 @@ import { import { PREFIXES } from './commands/thread' import { isHelpChannel, isThreadWithinHelpChannel } from './support' import { integrations } from '$lib/features/index' -import { FEATURE_TYPES } from '$lib/constants' +import { FEATURE_TYPES } from '@hey-amplify/constants' export const client = new Client({ intents: [ diff --git a/packages/discord/src/commands.ts b/packages/discord/src/commands.ts index 2fc573b2..9d2470b9 100644 --- a/packages/discord/src/commands.ts +++ b/packages/discord/src/commands.ts @@ -13,8 +13,8 @@ import { type ContextMenuCommandInteraction, type InteractionReplyOptions, } from 'discord.js' -import { prisma } from '$lib/db' -import { FEATURE_TYPES } from '$lib/constants' +import { prisma } from '@hey-amplify/prisma' +import { FEATURE_TYPES } from '@hey-amplify/constants' import * as admin from './commands/admin' import * as contribute from './commands/contribute' import * as github from './commands/github' diff --git a/packages/discord/src/commands/admin.ts b/packages/discord/src/commands/admin.ts index ad6fdfeb..d2a7c799 100644 --- a/packages/discord/src/commands/admin.ts +++ b/packages/discord/src/commands/admin.ts @@ -2,7 +2,7 @@ import { SlashCommandBuilder } from '@discordjs/builders' import { faker } from '@faker-js/faker' import { EmbedBuilder, PermissionFlagsBits } from 'discord.js' import { getUserAccess } from '$discord/get-user-access' -import { prisma } from '$lib/db' +import { prisma } from '@hey-amplify/prisma' import { postDiscussion, postAnswer, diff --git a/packages/discord/src/commands/q.ts b/packages/discord/src/commands/q.ts index 69e381b1..4844f48e 100644 --- a/packages/discord/src/commands/q.ts +++ b/packages/discord/src/commands/q.ts @@ -4,7 +4,7 @@ import { ActionRowBuilder, ButtonBuilder, } from '@discordjs/builders' -import { prisma } from '$lib/db' +import { prisma } from '@hey-amplify/prisma' import type { ButtonInteraction, ChatInputCommandInteraction, diff --git a/packages/discord/src/commands/select-answer.ts b/packages/discord/src/commands/select-answer.ts index a7987ab1..38310f1e 100644 --- a/packages/discord/src/commands/select-answer.ts +++ b/packages/discord/src/commands/select-answer.ts @@ -1,6 +1,6 @@ import { ContextMenuCommandBuilder } from '@discordjs/builders' import { ApplicationCommandType, EmbedBuilder } from 'discord.js' -import { prisma } from '$lib/db' +import { prisma } from '@hey-amplify/prisma' import { isAdminOrStaff } from '../is-admin-or-staff' import type { GuildMember, diff --git a/packages/discord/src/commands/thread.ts b/packages/discord/src/commands/thread.ts index 86242fd5..d2bacd4c 100644 --- a/packages/discord/src/commands/thread.ts +++ b/packages/discord/src/commands/thread.ts @@ -1,6 +1,6 @@ import { SlashCommandBuilder } from '@discordjs/builders' import { EmbedBuilder, MessageType } from 'discord.js' -import { prisma } from '$lib/db' +import { prisma } from '@hey-amplify/prisma' import { isThreadWithinHelpChannel } from '../support' import { isAdminOrStaff } from '../is-admin-or-staff' import type { diff --git a/packages/discord/src/get-user-access.ts b/packages/discord/src/get-user-access.ts index b62aa537..21784ed3 100644 --- a/packages/discord/src/get-user-access.ts +++ b/packages/discord/src/get-user-access.ts @@ -1,6 +1,6 @@ import { Routes } from 'discord-api-types/v10' -import { ACCESS_LEVELS } from '$lib/constants' -import { prisma } from '$lib/db' +import { ACCESS_LEVELS } from '@hey-amplify/constants' +import { prisma } from '@hey-amplify/prisma' import { api } from './api' import type { APIGuild, APIGuildMember } from 'discord-api-types/v10' diff --git a/packages/discord/src/index.ts b/packages/discord/src/index.ts index a91dfdd2..6513864e 100644 --- a/packages/discord/src/index.ts +++ b/packages/discord/src/index.ts @@ -1,2 +1,3 @@ export * from './commands' export * from './support' +export * from './client' diff --git a/packages/discord/src/is-admin-or-staff.ts b/packages/discord/src/is-admin-or-staff.ts index ff7fee82..d20cc594 100644 --- a/packages/discord/src/is-admin-or-staff.ts +++ b/packages/discord/src/is-admin-or-staff.ts @@ -1,5 +1,5 @@ -import { ACCESS_LEVELS } from '$lib/constants' -import { prisma } from '$lib/db' +import { ACCESS_LEVELS } from '@hey-amplify/constants' +import { prisma } from '@hey-amplify/prisma' import type { GuildMember } from 'discord.js' export async function isAdminOrStaff(user: GuildMember) { diff --git a/packages/discord/tsup.config.ts b/packages/discord/tsup.config.ts new file mode 100644 index 00000000..e6c8b6f8 --- /dev/null +++ b/packages/discord/tsup.config.ts @@ -0,0 +1,14 @@ +import { defineConfig } from 'tsup' + +export default defineConfig({ + define: { + 'import.meta.vitest': 'undefined', + }, + entry: ['src/index.ts'], + format: ['esm'], + outDir: 'build', + dts: true, + splitting: false, + sourcemap: true, + clean: true, +}) From fa763ff0a6431eb21b45cf0c3dfea4c6a272b47c Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 16:30:45 -0800 Subject: [PATCH 12/79] add prisma package --- packages/prisma/.gitignore | 1 + packages/prisma/package.json | 29 +++++++++++++++++++++++++++++ packages/prisma/src/client.ts | 3 +++ packages/prisma/src/index.ts | 1 + packages/prisma/tsup.config.ts | 14 ++++++++++++++ 5 files changed, 48 insertions(+) create mode 100644 packages/prisma/.gitignore create mode 100644 packages/prisma/package.json create mode 100644 packages/prisma/src/client.ts create mode 100644 packages/prisma/src/index.ts create mode 100644 packages/prisma/tsup.config.ts diff --git a/packages/prisma/.gitignore b/packages/prisma/.gitignore new file mode 100644 index 00000000..249cda96 --- /dev/null +++ b/packages/prisma/.gitignore @@ -0,0 +1 @@ +/data \ No newline at end of file diff --git a/packages/prisma/package.json b/packages/prisma/package.json new file mode 100644 index 00000000..60d7e29a --- /dev/null +++ b/packages/prisma/package.json @@ -0,0 +1,29 @@ +{ + "name": "@hey-amplify/prisma", + "private": true, + "type": "module", + "version": "1.0.0", + "exports": { + ".": { + "import": "./index.js" + }, + "./package.json": "./package.json", + "./schema.prisma": "./schema.prisma" + }, + "scripts": { + "dev": "tsup --watch", + "build": "tsup", + "db-push": "prisma db push", + "prepare": "prisma generate" + }, + "dependencies": {}, + "devDependencies": { + "@prisma/client": "^4.9.0", + "prisma": "^4.9.0", + "tsup": "^6.5.0", + "typescript": "^4.9.5" + }, + "peerDependencies": { + "@prisma/client": "^4.9.0" + } +} diff --git a/packages/prisma/src/client.ts b/packages/prisma/src/client.ts new file mode 100644 index 00000000..6260dd0f --- /dev/null +++ b/packages/prisma/src/client.ts @@ -0,0 +1,3 @@ +import { PrismaClient } from '@prisma/client' + +export const prisma = new PrismaClient() diff --git a/packages/prisma/src/index.ts b/packages/prisma/src/index.ts new file mode 100644 index 00000000..83dae763 --- /dev/null +++ b/packages/prisma/src/index.ts @@ -0,0 +1 @@ +export * from './client' diff --git a/packages/prisma/tsup.config.ts b/packages/prisma/tsup.config.ts new file mode 100644 index 00000000..e6c8b6f8 --- /dev/null +++ b/packages/prisma/tsup.config.ts @@ -0,0 +1,14 @@ +import { defineConfig } from 'tsup' + +export default defineConfig({ + define: { + 'import.meta.vitest': 'undefined', + }, + entry: ['src/index.ts'], + format: ['esm'], + outDir: 'build', + dts: true, + splitting: false, + sourcemap: true, + clean: true, +}) From ea504072dc687959e1208b7712d9ee222baec4d0 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 16:30:57 -0800 Subject: [PATCH 13/79] rm shared tsconfig dep --- packages/support/package.json | 1 - packages/vite-plugin-copy-file/package.json | 1 - packages/vite-plugin-lib/package.json | 1 - packages/vite-plugin-server/package.json | 1 - 4 files changed, 4 deletions(-) diff --git a/packages/support/package.json b/packages/support/package.json index a69e3d18..5cfbd7f5 100644 --- a/packages/support/package.json +++ b/packages/support/package.json @@ -22,7 +22,6 @@ "dependencies": {}, "devDependencies": { "@aws-sdk/client-ssm": "^3.142.0", - "@hey-amplify/tsconfig": "workspace:*", "@types/node": "^18.6.4", "fast-glob": "^3.2.11", "rimraf": "^3.0.2", diff --git a/packages/vite-plugin-copy-file/package.json b/packages/vite-plugin-copy-file/package.json index 5842eacd..116a3441 100644 --- a/packages/vite-plugin-copy-file/package.json +++ b/packages/vite-plugin-copy-file/package.json @@ -16,7 +16,6 @@ "express": "^4.18.1" }, "devDependencies": { - "@hey-amplify/tsconfig": "workspace:*", "@hey-amplify/vite-plugin-lib": "workspace:*", "@types/node": "^18.7.14", "typescript": "^4.8.2", diff --git a/packages/vite-plugin-lib/package.json b/packages/vite-plugin-lib/package.json index a077c056..a77b7108 100644 --- a/packages/vite-plugin-lib/package.json +++ b/packages/vite-plugin-lib/package.json @@ -17,7 +17,6 @@ "vite-plugin-dts": "^1.4.1" }, "devDependencies": { - "@hey-amplify/tsconfig": "workspace:*", "@types/node": "^18.7.14", "typescript": "^4.8.2", "vite": "^3.0.9", diff --git a/packages/vite-plugin-server/package.json b/packages/vite-plugin-server/package.json index f1773274..b601c9b1 100644 --- a/packages/vite-plugin-server/package.json +++ b/packages/vite-plugin-server/package.json @@ -16,7 +16,6 @@ "express": "^4.18.1" }, "devDependencies": { - "@hey-amplify/tsconfig": "workspace:*", "@hey-amplify/vite-plugin-copy-file": "workspace:*", "@hey-amplify/vite-plugin-lib": "workspace:*", "@types/express": "^4.17.13", From 65c3d6f4b7f65ab062254144b2552e59834fd46c Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 16:31:07 -0800 Subject: [PATCH 14/79] rm shared tsconfig dep --- cdk/package.json | 1 - cdk/tsconfig.json | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/cdk/package.json b/cdk/package.json index b8126ecd..2fe2a444 100644 --- a/cdk/package.json +++ b/cdk/package.json @@ -9,7 +9,6 @@ }, "devDependencies": { "@hey-amplify/support": "workspace:*", - "@hey-amplify/tsconfig": "workspace:*", "@types/node": "18.7.16", "aws-cdk": "2.41.0", "aws-cdk-lib": "2.41.0", diff --git a/cdk/tsconfig.json b/cdk/tsconfig.json index 0ecb7ab7..ff50146b 100644 --- a/cdk/tsconfig.json +++ b/cdk/tsconfig.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/tsconfig", - "extends": "@hey-amplify/tsconfig/base.json", + "extends": "../tsconfig.json", "compilerOptions": { "rootDir": "src", "outDir": "build", From 73d7d83d8ae9910307ac644625625731e2fbc22d Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 16:31:20 -0800 Subject: [PATCH 15/79] turbocharge scripts --- package.json | 10 +- pnpm-lock.yaml | 494 +++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 404 insertions(+), 100 deletions(-) diff --git a/package.json b/package.json index ee48e052..40d51878 100644 --- a/package.json +++ b/package.json @@ -5,17 +5,13 @@ "license": "Apache-2.0", "private": true, "scripts": { - "packages": "pnpm --filter \"./packages/**\"", "dev": "turbo run dev", - "docker": "PNPM_STORE=$(pnpm store path) docker compose up --build", "build": "turbo run build", - "build-lib": "pnpm packages run build", "check": "prettier --check .", "lint": "eslint .", - "setup-dev": "pnpm install && prisma db push && svelte-kit sync && pnpm build:lib", - "setup-docker": "echo \"\nPNPM_STORE\"=$(pnpm store path) >> .env && docker -v", - "setup-test": "DATABASE_URL=\"file:data/test.db\" prisma db push && vite build", - "test": "turbo run test" + "test": "turbo run test", + "setup-dev": "pnpm install", + "setup-test": "" }, "devDependencies": { "@commitlint/cli": "^17.4.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 49db0a5e..580b483c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,6 @@ importers: '@commitlint/config-conventional': ^17.4.2 '@hey-amplify/scripts': workspace:* '@hey-amplify/support': workspace:* - '@hey-amplify/tsconfig': workspace:* '@types/node': ^18.11.19 '@types/prettier': ^2.7.2 '@typescript-eslint/eslint-plugin': ^5.51.0 @@ -32,7 +31,6 @@ importers: '@commitlint/config-conventional': 17.4.2 '@hey-amplify/scripts': link:packages/scripts '@hey-amplify/support': link:packages/support - '@hey-amplify/tsconfig': link:packages/tsconfig '@types/node': 18.11.19 '@types/prettier': 2.7.2 '@typescript-eslint/eslint-plugin': 5.51.0_b635kmla6dsb4frxfihkw4m47e @@ -55,22 +53,19 @@ importers: '@carbon/styles': ^1.11.0 '@commitlint/cli': ^17.0.3 '@commitlint/config-conventional': ^17.0.3 - '@discordjs/builders': ^1.1.0 '@discordjs/rest': ^1.0.1 - '@faker-js/faker': ^7.4.0 + '@hey-amplify/discord': workspace:* + '@hey-amplify/prisma': workspace:* '@hey-amplify/scripts': workspace:* '@hey-amplify/support': workspace:* - '@hey-amplify/tsconfig': workspace:* - '@hey-amplify/vite-plugin-server': workspace:* '@next-auth/prisma-adapter': ^1.0.4 '@octokit/auth-app': ^4.0.5 '@octokit/graphql': ^5.0.1 '@octokit/rest': ^19.0.4 - '@prisma/client': ^4.5.0 + '@prisma/client': ^4.9.0 '@sveltejs/adapter-node': 1.1.7 '@sveltejs/kit': 1.5.0 '@types/cookie': ^0.5.1 - '@types/express': ^4.17.13 '@types/node': ^18.7.13 '@types/prettier': ^2.7.0 '@vitest/ui': ^0.22.1 @@ -80,68 +75,59 @@ importers: cookie: ^0.5.0 d3: ^7.6.1 discord-api-types: ^0.37.10 - discord.js: ^14.4.0 - express: ^4.18.1 fast-glob: ^3.2.11 fuzzy: ^0.1.3 jsdom: ^20.0.0 next-auth: ^4.10.3 - prisma: ^4.5.0 - svelte: 3.49.0 + svelte: 3.55.1 svelte-check: ^3.0.3 svelte-preprocess: ^5.0.1 tslib: ^2.5.0 typescript: ^4.9.5 - uuid: ^8.3.2 + uuid: ^9.0.0 vite: ^4.1.1 vite-node: ^0.28.4 vitest: ^0.28.4 - zod: ^3.19.1 + zod: ^3.20.2 dependencies: '@aws-crypto/sha256-js': 2.0.1 '@carbon/styles': 1.22.0 - '@discordjs/builders': 1.2.0 '@discordjs/rest': 1.1.0 - '@faker-js/faker': 7.6.0 '@next-auth/prisma-adapter': 1.0.5_77bhi65b6v5jbrzr36rs2ojwe4 '@octokit/auth-app': 4.0.9 '@octokit/graphql': 5.0.5 '@octokit/rest': 19.0.7 - '@prisma/client': 4.9.0_prisma@4.9.0 cookie: 0.5.0 discord-api-types: 0.37.10 - discord.js: 14.4.0 - express: 4.18.1 fast-glob: 3.2.11 fuzzy: 0.1.3 next-auth: 4.19.2 - prisma: 4.9.0 - svelte: 3.49.0 - uuid: 8.3.2 + svelte: 3.55.1 + uuid: 9.0.0 zod: 3.20.2 devDependencies: '@carbon/charts': 1.6.4_d3@7.6.1 - '@carbon/charts-svelte': 1.6.4_d3@7.6.1+svelte@3.49.0 + '@carbon/charts-svelte': 1.6.4_d3@7.6.1+svelte@3.55.1 '@commitlint/cli': 17.0.3 '@commitlint/config-conventional': 17.0.3 + '@hey-amplify/discord': link:../../packages/discord + '@hey-amplify/prisma': link:../../packages/prisma '@hey-amplify/scripts': link:../../packages/scripts '@hey-amplify/support': link:../../packages/support - '@hey-amplify/tsconfig': link:../../packages/tsconfig - '@hey-amplify/vite-plugin-server': link:../../packages/vite-plugin-server + '@prisma/client': 4.9.0 '@sveltejs/adapter-node': 1.1.7_@sveltejs+kit@1.5.0 - '@sveltejs/kit': 1.5.0_svelte@3.49.0+vite@4.1.1 + '@sveltejs/kit': 1.5.0_svelte@3.55.1+vite@4.1.1 '@types/cookie': 0.5.1 - '@types/express': 4.17.13 '@types/node': 18.7.19 '@types/prettier': 2.7.0 '@vitest/ui': 0.22.1 carbon-components-svelte: 0.70.13 carbon-icons-svelte: 11.4.0 - carbon-preprocess-svelte: 0.9.1_svelte@3.49.0 + carbon-preprocess-svelte: 0.9.1_svelte@3.55.1 d3: 7.6.1 jsdom: 20.0.0 - svelte-check: 3.0.3_svelte@3.49.0 - svelte-preprocess: 5.0.1_rjh2sb3hvzg4sh5aiufloh7yey + svelte-check: 3.0.3_svelte@3.55.1 + svelte-preprocess: 5.0.1_4x7phaipmicbaooxtnresslofa tslib: 2.5.0 typescript: 4.9.5 vite: 4.1.1_@types+node@18.7.19 @@ -150,14 +136,24 @@ importers: apps/discord-bot: specifiers: + '@hey-amplify/discord': workspace:* discord.js: ^14.4.0 + tsup: ^6.5.0 + typescript: ^4.9.5 + vite: ^4.1.1 + vite-node: ^0.28.4 dependencies: + '@hey-amplify/discord': link:../../packages/discord discord.js: 14.4.0 + devDependencies: + tsup: 6.5.0_typescript@4.9.5 + typescript: 4.9.5 + vite: 4.1.1 + vite-node: 0.28.4 cdk: specifiers: '@hey-amplify/support': workspace:* - '@hey-amplify/tsconfig': workspace:* '@types/node': 18.7.16 aws-cdk: 2.41.0 aws-cdk-lib: 2.41.0 @@ -169,7 +165,6 @@ importers: vite-node: ^0.23.1 devDependencies: '@hey-amplify/support': link:../packages/support - '@hey-amplify/tsconfig': link:../packages/tsconfig '@types/node': 18.7.16 aws-cdk: 2.41.0 aws-cdk-lib: 2.41.0_constructs@10.1.97 @@ -180,14 +175,46 @@ importers: vite: 3.1.3 vite-node: 0.23.4 + packages/constants: + specifiers: + tsup: ^6.5.0 + typescript: ^4.9.5 + devDependencies: + tsup: 6.5.0_typescript@4.9.5 + typescript: 4.9.5 + + packages/discord: + specifiers: + '@discordjs/builders': ^1.4.0 + '@discordjs/rest': ^1.5.0 + '@hey-amplify/constants': workspace:* + '@hey-amplify/prisma': workspace:* + discord-api-types: ^0.37.31 + discord.js: ^14.4.0 + tsup: ^6.5.0 + typescript: ^4.9.5 + dependencies: + '@discordjs/builders': 1.4.0 + '@discordjs/rest': 1.5.0 + '@hey-amplify/constants': link:../constants + '@hey-amplify/prisma': link:../prisma + discord-api-types: 0.37.31 + discord.js: 14.4.0 + devDependencies: + tsup: 6.5.0_typescript@4.9.5 + typescript: 4.9.5 + packages/prisma: specifiers: '@prisma/client': ^4.9.0 prisma: ^4.9.0 - dependencies: - '@prisma/client': 4.9.0_prisma@4.9.0 + tsup: ^6.5.0 + typescript: ^4.9.5 devDependencies: + '@prisma/client': 4.9.0_prisma@4.9.0 prisma: 4.9.0 + tsup: 6.5.0_typescript@4.9.5 + typescript: 4.9.5 packages/scripts: specifiers: @@ -206,7 +233,6 @@ importers: packages/support: specifiers: '@aws-sdk/client-ssm': ^3.142.0 - '@hey-amplify/tsconfig': workspace:* '@types/node': ^18.6.4 fast-glob: ^3.2.11 rimraf: ^3.0.2 @@ -215,7 +241,6 @@ importers: vitest: ^0.20.3 devDependencies: '@aws-sdk/client-ssm': 3.142.0 - '@hey-amplify/tsconfig': link:../tsconfig '@types/node': 18.6.5 fast-glob: 3.2.11 rimraf: 3.0.2 @@ -223,12 +248,8 @@ importers: vite: 3.0.4 vitest: 0.20.3 - packages/tsconfig: - specifiers: {} - packages/vite-plugin-copy-file: specifiers: - '@hey-amplify/tsconfig': workspace:* '@hey-amplify/vite-plugin-lib': workspace:* '@types/node': ^18.7.14 express: ^4.18.1 @@ -237,7 +258,6 @@ importers: dependencies: express: 4.18.1 devDependencies: - '@hey-amplify/tsconfig': link:../tsconfig '@hey-amplify/vite-plugin-lib': link:../vite-plugin-lib '@types/node': 18.7.14 typescript: 4.8.2 @@ -245,7 +265,6 @@ importers: packages/vite-plugin-lib: specifiers: - '@hey-amplify/tsconfig': workspace:* '@types/node': ^18.7.14 fast-glob: ^3.2.11 typescript: ^4.8.2 @@ -256,7 +275,6 @@ importers: fast-glob: 3.2.11 vite-plugin-dts: 1.4.1_vite@3.0.9 devDependencies: - '@hey-amplify/tsconfig': link:../tsconfig '@types/node': 18.7.14 typescript: 4.8.2 vite: 3.0.9 @@ -264,7 +282,6 @@ importers: packages/vite-plugin-server: specifiers: - '@hey-amplify/tsconfig': workspace:* '@hey-amplify/vite-plugin-copy-file': workspace:* '@hey-amplify/vite-plugin-lib': workspace:* '@types/express': ^4.17.13 @@ -276,7 +293,6 @@ importers: dependencies: express: 4.18.1 devDependencies: - '@hey-amplify/tsconfig': link:../tsconfig '@hey-amplify/vite-plugin-copy-file': link:../vite-plugin-copy-file '@hey-amplify/vite-plugin-lib': link:../vite-plugin-lib '@types/express': 4.17.13 @@ -961,7 +977,7 @@ packages: resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} dev: true - /@carbon/charts-svelte/1.6.4_d3@7.6.1+svelte@3.49.0: + /@carbon/charts-svelte/1.6.4_d3@7.6.1+svelte@3.55.1: resolution: {integrity: sha512-aH+1mGYoEfz8nfjBlufOPqv/Hd/m0EHOgsImFNSFydntVasU8TUX4HCD3uVuUrzxmM4h5NL9vWrViw/BO7FH1w==} requiresBuild: true peerDependencies: @@ -969,7 +985,7 @@ packages: dependencies: '@carbon/charts': 1.6.4_d3@7.6.1 '@carbon/telemetry': 0.1.0 - svelte: 3.49.0 + svelte: 3.55.1 transitivePeerDependencies: - d3 - sass @@ -1251,14 +1267,15 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@discordjs/builders/1.2.0: - resolution: {integrity: sha512-ARy4BUTMU+S0ZI6605NDqfWO+qZqV2d/xfY32z3hVSsd9IaAKJBZ1ILTZLy87oIjW8+gUpQmk9Kt0ZP9bmmd8Q==} + /@discordjs/builders/1.4.0: + resolution: {integrity: sha512-nEeTCheTTDw5kO93faM1j8ZJPonAX86qpq/QVoznnSa8WWcCgJpjlu6GylfINTDW6o7zZY0my2SYdxx2mfNwGA==} engines: {node: '>=16.9.0'} dependencies: - '@sapphire/shapeshift': 3.5.1 - discord-api-types: 0.37.10 + '@discordjs/util': 0.1.0 + '@sapphire/shapeshift': 3.8.1 + discord-api-types: 0.37.31 fast-deep-equal: 3.1.3 - ts-mixer: 6.0.1 + ts-mixer: 6.0.2 tslib: 2.5.0 dev: false @@ -1267,6 +1284,11 @@ packages: engines: {node: '>=16.9.0'} dev: false + /@discordjs/collection/1.3.0: + resolution: {integrity: sha512-ylt2NyZ77bJbRij4h9u/wVy7qYw/aDqQLWnadjvDqW/WoWCxrsX6M3CIw9GVP5xcGCDxsrKj5e0r5evuFYwrKg==} + engines: {node: '>=16.9.0'} + dev: false + /@discordjs/rest/1.1.0: resolution: {integrity: sha512-yCrthRTQeUyNThQEpCk7bvQJlwQmz6kU0tf3dcWBv2WX3Bncl41x7Wc+v5b5OsIxfNYq38PvVtWircu9jtYZug==} engines: {node: '>=16.9.0'} @@ -1280,6 +1302,25 @@ packages: undici: 5.18.0 dev: false + /@discordjs/rest/1.5.0: + resolution: {integrity: sha512-lXgNFqHnbmzp5u81W0+frdXN6Etf4EUi8FAPcWpSykKd8hmlWh1xy6BmE0bsJypU1pxohaA8lQCgp70NUI3uzA==} + engines: {node: '>=16.9.0'} + dependencies: + '@discordjs/collection': 1.3.0 + '@discordjs/util': 0.1.0 + '@sapphire/async-queue': 1.5.0 + '@sapphire/snowflake': 3.2.2 + discord-api-types: 0.37.31 + file-type: 18.2.0 + tslib: 2.5.0 + undici: 5.18.0 + dev: false + + /@discordjs/util/0.1.0: + resolution: {integrity: sha512-e7d+PaTLVQav6rOc2tojh2y6FE8S7REkqLldq1XF4soCx74XB/DIjbVbVLtBemf0nLW77ntz0v+o5DytKwFNLQ==} + engines: {node: '>=16.9.0'} + dev: false + /@esbuild/android-arm/0.15.9: resolution: {integrity: sha512-VZPy/ETF3fBG5PiinIkA0W/tlsvlEgJccyN2DzWZEl0DlVKRbu91PvY2D6Lxgluj4w9QtYHjOWjAT44C+oQ+EQ==} engines: {node: '>=12'} @@ -1513,11 +1554,6 @@ packages: - supports-color dev: true - /@faker-js/faker/7.6.0: - resolution: {integrity: sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==} - engines: {node: '>=14.0.0', npm: '>=6.0.0'} - dev: false - /@humanwhocodes/config-array/0.11.8: resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} @@ -1610,7 +1646,7 @@ packages: '@prisma/client': '>=2.26.0 || >=3' next-auth: ^4 dependencies: - '@prisma/client': 4.9.0_prisma@4.9.0 + '@prisma/client': 4.9.0 next-auth: 4.19.2 dev: false @@ -1833,6 +1869,18 @@ packages: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: true + /@prisma/client/4.9.0: + resolution: {integrity: sha512-bz6QARw54sWcbyR1lLnF2QHvRW5R/Jxnbbmwh3u+969vUKXtBkXgSgjDA85nji31ZBlf7+FrHDy5x+5ydGyQDg==} + engines: {node: '>=14.17'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + '@prisma/engines-version': 4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5 + /@prisma/client/4.9.0_prisma@4.9.0: resolution: {integrity: sha512-bz6QARw54sWcbyR1lLnF2QHvRW5R/Jxnbbmwh3u+969vUKXtBkXgSgjDA85nji31ZBlf7+FrHDy5x+5ydGyQDg==} engines: {node: '>=14.17'} @@ -1845,15 +1893,15 @@ packages: dependencies: '@prisma/engines-version': 4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5 prisma: 4.9.0 - dev: false + dev: true /@prisma/engines-version/4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5: resolution: {integrity: sha512-M16aibbxi/FhW7z1sJCX8u+0DriyQYY5AyeTH7plQm9MLnURoiyn3CZBqAyIoQ+Z1pS77usCIibYJWSgleBMBA==} - dev: false /@prisma/engines/4.9.0: resolution: {integrity: sha512-t1pt0Gsp+HcgPJrHFc+d/ZSAaKKWar2G/iakrE07yeKPNavDP3iVKPpfXP22OTCHZUWf7OelwKJxQgKAm5hkgw==} requiresBuild: true + dev: true /@rollup/plugin-commonjs/24.0.1_rollup@3.14.0: resolution: {integrity: sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==} @@ -1953,12 +2001,12 @@ packages: engines: {node: '>=v14.0.0', npm: '>=7.0.0'} dev: false - /@sapphire/shapeshift/3.5.1: - resolution: {integrity: sha512-7JFsW5IglyOIUQI1eE0g6h06D/Far6HqpcowRScgCiLSqTf3hhkPWCWotVTtVycnDCMYIwPeaw6IEPBomKC8pA==} + /@sapphire/shapeshift/3.8.1: + resolution: {integrity: sha512-xG1oXXBhCjPKbxrRTlox9ddaZTvVpOhYLmKmApD/vIWOV1xEYXnpoFs68zHIZBGbqztq6FrUPNPerIrO1Hqeaw==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} dependencies: fast-deep-equal: 3.1.3 - lodash.uniqwith: 4.5.0 + lodash: 4.17.21 dev: false /@sapphire/snowflake/3.2.2: @@ -1974,11 +2022,11 @@ packages: '@rollup/plugin-commonjs': 24.0.1_rollup@3.14.0 '@rollup/plugin-json': 6.0.0_rollup@3.14.0 '@rollup/plugin-node-resolve': 15.0.1_rollup@3.14.0 - '@sveltejs/kit': 1.5.0_svelte@3.49.0+vite@4.1.1 + '@sveltejs/kit': 1.5.0_svelte@3.55.1+vite@4.1.1 rollup: 3.14.0 dev: true - /@sveltejs/kit/1.5.0_svelte@3.49.0+vite@4.1.1: + /@sveltejs/kit/1.5.0_svelte@3.55.1+vite@4.1.1: resolution: {integrity: sha512-AkWgCO9i2djZjTqCgIQJ5XfnSzRINowh2w2Gk9wDRuTwxKizSuYe3jNvds/HCDDGHo8XE5E0yWNC9j2XxbrX+g==} engines: {node: ^16.14 || >=18} hasBin: true @@ -1987,7 +2035,7 @@ packages: svelte: ^3.54.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.49.0+vite@4.1.1 + '@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.1+vite@4.1.1 '@types/cookie': 0.5.1 cookie: 0.5.0 devalue: 4.2.3 @@ -1998,7 +2046,7 @@ packages: sade: 1.8.1 set-cookie-parser: 2.5.1 sirv: 2.0.2 - svelte: 3.49.0 + svelte: 3.55.1 tiny-glob: 0.2.9 undici: 5.18.0 vite: 4.1.1_@types+node@18.7.19 @@ -2006,7 +2054,7 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.49.0+vite@4.1.1: + /@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.1+vite@4.1.1: resolution: {integrity: sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==} engines: {node: ^14.18.0 || >= 16} peerDependencies: @@ -2017,8 +2065,8 @@ packages: deepmerge: 4.3.0 kleur: 4.1.5 magic-string: 0.27.0 - svelte: 3.49.0 - svelte-hmr: 0.15.1_svelte@3.49.0 + svelte: 3.55.1 + svelte-hmr: 0.15.1_svelte@3.55.1 vite: 4.1.1_@types+node@18.7.19 vitefu: 0.2.4_vite@4.1.1 transitivePeerDependencies: @@ -2515,6 +2563,10 @@ packages: engines: {node: '>=12'} dev: true + /any-promise/1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true + /anymatch/3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -2698,6 +2750,16 @@ packages: engines: {node: '>=6'} dev: true + /bundle-require/3.1.2_esbuild@0.15.9: + resolution: {integrity: sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.13' + dependencies: + esbuild: 0.15.9 + load-tsconfig: 0.2.3 + dev: true + /busboy/1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -2760,11 +2822,11 @@ packages: resolution: {integrity: sha512-p/llZde2kP2BI9SOqM+QFKGfQnYrW+4dVxF1rAYriEADXDsjt9EYlh+KpQ5qf4JpXAq+e2+TB/r/lIG1xdUbAQ==} dev: true - /carbon-preprocess-svelte/0.9.1_svelte@3.49.0: + /carbon-preprocess-svelte/0.9.1_svelte@3.55.1: resolution: {integrity: sha512-i0hj5JrpSeu1F6q5Hehn4Qe3mpb1oXi57ybbsTF2TexFBGtzaBDQ3/mmXBKRNuk4PVQCtTIXQe4vk1A6Uyso6g==} dependencies: purgecss: 4.1.3 - svelte-preprocess: 4.10.7_rjh2sb3hvzg4sh5aiufloh7yey + svelte-preprocess: 4.10.7_4x7phaipmicbaooxtnresslofa typescript: 4.9.5 transitivePeerDependencies: - '@babel/core' @@ -2964,6 +3026,11 @@ packages: dev: false optional: true + /commander/4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: true + /commander/7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -3530,16 +3597,20 @@ packages: resolution: {integrity: sha512-NvDh2Puc3wZQzQt2zLavlI5ewBnLFjI46/NJmvWIs6OC0JOkq7KcmH4s80X2+22mSQ3wUyge2mxq3cGYRT2noQ==} dev: false + /discord-api-types/0.37.31: + resolution: {integrity: sha512-k9DQQ7Wv+ehiF7901qk/FnP47k6O2MHm3meQFee4gUzi5dfGAVLf7SfLNtb4w7G2dmukJyWQtVJEDF9oMb9yuQ==} + dev: false + /discord.js/14.4.0: resolution: {integrity: sha512-U2CTmVOep2qgMhbSDzmjd1qFUiuKNQqnnwvEYEh18vyU0looj66+wgcMOXQRq72BUCJM5fi+Hir8gfKZ35J88g==} engines: {node: '>=16.9.0'} dependencies: - '@discordjs/builders': 1.2.0 + '@discordjs/builders': 1.4.0 '@discordjs/collection': 1.1.0 - '@discordjs/rest': 1.1.0 + '@discordjs/rest': 1.5.0 '@sapphire/snowflake': 3.2.2 '@types/ws': 8.5.3 - discord-api-types: 0.37.10 + discord-api-types: 0.37.31 fast-deep-equal: 3.1.3 lodash.snakecase: 4.1.1 tslib: 2.5.0 @@ -4349,6 +4420,15 @@ packages: token-types: 5.0.0-alpha.2 dev: false + /file-type/18.2.0: + resolution: {integrity: sha512-M3RQMWY3F2ykyWZ+IHwNCjpnUmukYhtdkGGC1ZVEUb0ve5REGF7NNJ4Q9ehCUabtQKtSVFOMbFTXgJlFb0DQIg==} + engines: {node: '>=14.16'} + dependencies: + readable-web-to-node-stream: 3.0.2 + strtok3: 7.0.0 + token-types: 5.0.1 + dev: false + /fill-range/7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -4535,6 +4615,17 @@ packages: is-glob: 4.0.3 dev: true + /glob/7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + /glob/7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -4872,6 +4963,11 @@ packages: resolution: {integrity: sha512-njj0VL2TsIxCtgzhO+9RRobBvws4oYyCM8TpvoUQwl/MbIM3NFJRR9+e6x0sS5xXaP1t6OCBkaBME98OV9zU5A==} dev: false + /joycon/3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + dev: true + /js-sdsl/4.3.0: resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} dev: true @@ -5072,6 +5168,11 @@ packages: wrap-ansi: 7.0.0 dev: true + /load-tsconfig/0.2.3: + resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /local-pkg/0.4.2: resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==} engines: {node: '>=14'} @@ -5133,6 +5234,10 @@ packages: /lodash.snakecase/4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + /lodash.sortby/4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: true + /lodash.startcase/4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} dev: true @@ -5141,10 +5246,6 @@ packages: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} dev: true - /lodash.uniqwith/4.5.0: - resolution: {integrity: sha512-7lYL8bLopMoy4CTICbxygAUq6CdRJ36vFc80DucPueUee+d5NBRxz3FdT9Pes/HEx5mPoT9jwnsEJWz1N7uq7Q==} - dev: false - /lodash.upperfirst/4.3.1: resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} dev: true @@ -5368,6 +5469,14 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false + /mz/2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + /nanoid/3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -5470,6 +5579,11 @@ packages: resolution: {integrity: sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==} dev: false + /object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + /object-hash/2.2.0: resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} engines: {node: '>= 6'} @@ -5669,6 +5783,11 @@ packages: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true + /peek-readable/5.0.0: + resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==} + engines: {node: '>=14.16'} + dev: false + /peek-readable/5.0.0-alpha.5: resolution: {integrity: sha512-pJohF/tDwV3ntnT5+EkUo4E700q/j/OCDuPxtM+5/kFGjyOai/sK4/We4Cy1MB2OiTQliWU5DxPvYIKQAdPqAA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -5687,6 +5806,11 @@ packages: hasBin: true dev: true + /pirates/4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + dev: true + /pkg-types/0.3.5: resolution: {integrity: sha512-VkxCBFVgQhNHYk9subx+HOhZ4jzynH11ah63LZsprTKwPCWG9pfWBlkElWFbvkP9BVR0dP1jS9xPdhaHQNK74Q==} dependencies: @@ -5703,6 +5827,22 @@ packages: pathe: 1.1.0 dev: true + /postcss-load-config/3.1.4: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.0.6 + yaml: 1.10.2 + dev: true + /postcss-selector-parser/6.0.11: resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} engines: {node: '>=4'} @@ -5795,6 +5935,7 @@ packages: requiresBuild: true dependencies: '@prisma/engines': 4.9.0 + dev: true /proxy-addr/2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} @@ -6246,6 +6387,13 @@ packages: engines: {node: '>=0.10.0'} requiresBuild: true + /source-map/0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + dev: true + /sourcemap-codec/1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead @@ -6368,6 +6516,14 @@ packages: acorn: 8.8.2 dev: true + /strtok3/7.0.0: + resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==} + engines: {node: '>=14.16'} + dependencies: + '@tokenizer/token': 0.3.0 + peek-readable: 5.0.0 + dev: false + /strtok3/7.0.0-alpha.9: resolution: {integrity: sha512-G8WxjBFjTZ77toVElv1i7k3jCXNkBB14FVaZ/6LIOka/WGo4La5XHLrU7neFVLdKbXESZf4BejVKZu5maOmocA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -6376,6 +6532,19 @@ packages: peek-readable: 5.0.0-alpha.5 dev: false + /sucrase/3.29.0: + resolution: {integrity: sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==} + engines: {node: '>=8'} + hasBin: true + dependencies: + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.5 + ts-interface-checker: 0.1.13 + dev: true + /supports-color/5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -6392,7 +6561,7 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /svelte-check/3.0.3_svelte@3.49.0: + /svelte-check/3.0.3_svelte@3.55.1: resolution: {integrity: sha512-ByBFXo3bfHRGIsYEasHkdMhLkNleVfszX/Ns1oip58tPJlKdo5Ssr8kgVIuo5oq00hss8AIcdesuy0Xt0BcTvg==} hasBin: true peerDependencies: @@ -6404,8 +6573,8 @@ packages: import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 3.49.0 - svelte-preprocess: 5.0.1_rjh2sb3hvzg4sh5aiufloh7yey + svelte: 3.55.1 + svelte-preprocess: 5.0.1_4x7phaipmicbaooxtnresslofa typescript: 4.9.5 transitivePeerDependencies: - '@babel/core' @@ -6419,16 +6588,16 @@ packages: - sugarss dev: true - /svelte-hmr/0.15.1_svelte@3.49.0: + /svelte-hmr/0.15.1_svelte@3.55.1: resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: '>=3.19.0' dependencies: - svelte: 3.49.0 + svelte: 3.55.1 dev: true - /svelte-preprocess/4.10.7_rjh2sb3hvzg4sh5aiufloh7yey: + /svelte-preprocess/4.10.7_4x7phaipmicbaooxtnresslofa: resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -6475,11 +6644,11 @@ packages: magic-string: 0.25.9 sorcery: 0.10.0 strip-indent: 3.0.0 - svelte: 3.49.0 + svelte: 3.55.1 typescript: 4.9.5 dev: true - /svelte-preprocess/5.0.1_rjh2sb3hvzg4sh5aiufloh7yey: + /svelte-preprocess/5.0.1_4x7phaipmicbaooxtnresslofa: resolution: {integrity: sha512-0HXyhCoc9rsW4zGOgtInylC6qj259E1hpFnJMJWTf+aIfeqh4O/QHT31KT2hvPEqQfdjmqBR/kO2JDkkciBLrQ==} engines: {node: '>= 14.10.0'} requiresBuild: true @@ -6523,12 +6692,12 @@ packages: magic-string: 0.27.0 sorcery: 0.11.0 strip-indent: 3.0.0 - svelte: 3.49.0 + svelte: 3.55.1 typescript: 4.9.5 dev: true - /svelte/3.49.0: - resolution: {integrity: sha512-+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA==} + /svelte/3.55.1: + resolution: {integrity: sha512-S+87/P0Ve67HxKkEV23iCdAh/SX1xiSfjF1HOglno/YTbSTW7RniICMCofWGdJJbdjw3S+0PfFb1JtGfTXE0oQ==} engines: {node: '>= 8'} /symbol-tree/3.2.4: @@ -6554,6 +6723,19 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true + /thenify-all/1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify/3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + /through/2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true @@ -6614,6 +6796,14 @@ packages: ieee754: 1.2.1 dev: false + /token-types/5.0.1: + resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} + engines: {node: '>=14.16'} + dependencies: + '@tokenizer/token': 0.3.0 + ieee754: 1.2.1 + dev: false + /totalist/3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} @@ -6632,6 +6822,12 @@ packages: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /tr46/1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.1.1 + dev: true + /tr46/3.0.0: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} @@ -6639,13 +6835,22 @@ packages: punycode: 2.1.1 dev: true + /tree-kill/1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: true + /trim-newlines/3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} dev: true - /ts-mixer/6.0.1: - resolution: {integrity: sha512-hvE+ZYXuINrx6Ei6D6hz+PTim0Uf++dYbK9FFifLNwQj+RwKquhQpn868yZsCtJYiclZF1u8l6WZxxKi+vv7Rg==} + /ts-interface-checker/0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + + /ts-mixer/6.0.2: + resolution: {integrity: sha512-zvHx3VM83m2WYCE8XL99uaM7mFwYSkjR2OZti98fabHrwkjsCvgwChda5xctein3xGOyaQhtTeDq/1H/GNvF3A==} dev: false /ts-morph/14.0.0: @@ -6692,6 +6897,42 @@ packages: /tslib/2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tsup/6.5.0_typescript@4.9.5: + resolution: {integrity: sha512-36u82r7rYqRHFkD15R20Cd4ercPkbYmuvRkz3Q1LCm5BsiFNUgpo36zbjVhCOgvjyxNBWNKHsaD5Rl8SykfzNA==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: ^4.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + dependencies: + bundle-require: 3.1.2_esbuild@0.15.9 + cac: 6.7.14 + chokidar: 3.5.3 + debug: 4.3.4 + esbuild: 0.15.9 + execa: 5.1.1 + globby: 11.1.0 + joycon: 3.1.1 + postcss-load-config: 3.1.4 + resolve-from: 5.0.0 + rollup: 3.14.0 + source-map: 0.8.0-beta.0 + sucrase: 3.29.0 + tree-kill: 1.2.2 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + /tsutils/3.21.0_typescript@4.9.5: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -6906,7 +7147,6 @@ packages: /uuid/9.0.0: resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} hasBin: true - dev: true /v8-compile-cache-lib/3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -6946,6 +7186,29 @@ packages: - terser dev: true + /vite-node/0.28.4: + resolution: {integrity: sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ==} + engines: {node: '>=v14.16.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.1.0 + pathe: 1.1.0 + picocolors: 1.0.0 + source-map: 0.6.1 + source-map-support: 0.5.21 + vite: 4.1.1 + transitivePeerDependencies: + - '@types/node' + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /vite-node/0.28.4_@types+node@18.11.19: resolution: {integrity: sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ==} engines: {node: '>=v14.16.0'} @@ -7090,6 +7353,39 @@ packages: fsevents: 2.3.2 dev: true + /vite/4.1.1: + resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.16.17 + postcss: 8.4.21 + resolve: 1.22.1 + rollup: 3.14.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + /vite/4.1.1_@types+node@18.11.19: resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} engines: {node: ^14.18.0 || >=16.0.0} @@ -7331,6 +7627,10 @@ packages: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false + /webidl-conversions/4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + dev: true + /webidl-conversions/7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -7363,6 +7663,14 @@ packages: webidl-conversions: 3.0.1 dev: false + /whatwg-url/7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: true + /which/2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} From b9775078d536de64a563a016954c9783b5006d65 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 6 Feb 2023 16:31:30 -0800 Subject: [PATCH 16/79] update gitignore with comments, turbo --- .gitignore | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 4318309b..d2ce3030 100644 --- a/.gitignore +++ b/.gitignore @@ -1,16 +1,18 @@ +# general ignores .DS_Store node_modules *.log +# ignore all env files except the sample .env .env.* !.env.sample -cypress.env.json +# notes notes.md -/prisma/data -/.svelte-kit -/build +# ignore all build directories +build -packages/**/build \ No newline at end of file +# ignore all turbo dot-directories +.turbo \ No newline at end of file From 57d22bb920b7db58b781add17e441ad3821a82cd Mon Sep 17 00:00:00 2001 From: josefaidt Date: Wed, 8 Feb 2023 14:48:04 -0800 Subject: [PATCH 17/79] remove $discord alias --- packages/discord/src/commands/admin.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/discord/src/commands/admin.ts b/packages/discord/src/commands/admin.ts index d2a7c799..8528f43e 100644 --- a/packages/discord/src/commands/admin.ts +++ b/packages/discord/src/commands/admin.ts @@ -1,7 +1,7 @@ import { SlashCommandBuilder } from '@discordjs/builders' import { faker } from '@faker-js/faker' import { EmbedBuilder, PermissionFlagsBits } from 'discord.js' -import { getUserAccess } from '$discord/get-user-access' +import { getUserAccess } from '../get-user-access ' import { prisma } from '@hey-amplify/prisma' import { postDiscussion, From ed0efe94c3a89e401bbc8ca589e122b7334d40b8 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Thu, 9 Feb 2023 17:30:57 -0800 Subject: [PATCH 18/79] split out github files --- packages/github/package.json | 31 +++++++++++++++++++ .../github/src}/apply-roles.ts | 7 ++--- packages/github/src/index.ts | 2 ++ packages/github/src/prisma.ts | 3 ++ .../github => packages/github/src}/queries.ts | 0 packages/github/tsconfig.json | 3 ++ packages/github/tsup.config.ts | 15 +++++++++ 7 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 packages/github/package.json rename {apps/bot.amplify.aws/src/lib/github => packages/github/src}/apply-roles.ts (98%) create mode 100644 packages/github/src/index.ts create mode 100644 packages/github/src/prisma.ts rename {apps/bot.amplify.aws/src/lib/github => packages/github/src}/queries.ts (100%) create mode 100644 packages/github/tsconfig.json create mode 100644 packages/github/tsup.config.ts diff --git a/packages/github/package.json b/packages/github/package.json new file mode 100644 index 00000000..615d174e --- /dev/null +++ b/packages/github/package.json @@ -0,0 +1,31 @@ +{ + "name": "@hey-amplify/github", + "private": true, + "type": "module", + "version": "2.0.0-next.0", + "description": "A Discord bot for the AWS Amplify community", + "exports": { + ".": { + "import": "./build/index.js", + "types": "./build/index.d.ts" + }, + "./package.json": "./package.json" + }, + "types": "build/index.d.ts", + "scripts": { + "dev": "tsup --watch", + "build": "tsup" + }, + "dependencies": { + "@hey-amplify/constants": "workspace:*", + "@hey-amplify/prisma-client": "workspace:*", + "@hey-amplify/discord": "workspace:*", + "@octokit/auth-app": "^4.0.9", + "@octokit/graphql": "^5.0.5", + "@octokit/rest": "^19.0.7" + }, + "devDependencies": { + "tsup": "^6.5.0", + "typescript": "^4.9.5" + } +} diff --git a/apps/bot.amplify.aws/src/lib/github/apply-roles.ts b/packages/github/src/apply-roles.ts similarity index 98% rename from apps/bot.amplify.aws/src/lib/github/apply-roles.ts rename to packages/github/src/apply-roles.ts index 456b33a3..18d58cec 100644 --- a/apps/bot.amplify.aws/src/lib/github/apply-roles.ts +++ b/packages/github/src/apply-roles.ts @@ -1,9 +1,8 @@ import { createAppAuth } from '@octokit/auth-app' import { Octokit } from '@octokit/rest' -import { addRole } from '$discord/roles/addRole' -import { removeRole } from '$discord/roles/removeRole' -import { ACCESS_LEVELS } from '$lib/constants' -import { prisma } from '$lib/db' +import { addRole, removeRole } from '@hey-amplify/discord' +import { ACCESS_LEVELS } from '@hey-amplify/constants' +import { prisma } from './prisma' /** * returns true if the user is a member of that org diff --git a/packages/github/src/index.ts b/packages/github/src/index.ts new file mode 100644 index 00000000..cce4785e --- /dev/null +++ b/packages/github/src/index.ts @@ -0,0 +1,2 @@ +export * from './queries' +export * from './apply-roles' diff --git a/packages/github/src/prisma.ts b/packages/github/src/prisma.ts new file mode 100644 index 00000000..d5b9bfe1 --- /dev/null +++ b/packages/github/src/prisma.ts @@ -0,0 +1,3 @@ +import { PrismaClient } from '@hey-amplify/prisma-client' + +export const prisma = new PrismaClient() diff --git a/apps/bot.amplify.aws/src/lib/github/queries.ts b/packages/github/src/queries.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/github/queries.ts rename to packages/github/src/queries.ts diff --git a/packages/github/tsconfig.json b/packages/github/tsconfig.json new file mode 100644 index 00000000..4082f16a --- /dev/null +++ b/packages/github/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/packages/github/tsup.config.ts b/packages/github/tsup.config.ts new file mode 100644 index 00000000..62b907fe --- /dev/null +++ b/packages/github/tsup.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from 'tsup' + +export default defineConfig({ + define: { + 'import.meta.vitest': 'undefined', + }, + entry: ['src/index.ts'], + format: ['esm'], + outDir: 'build', + external: ['./src/generated/client/index.js'], + dts: true, + sourcemap: true, + clean: true, + target: 'node', +}) From 8bdf7bdd08ac6a6b5b9f25a3a266ef16fdce13f8 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Thu, 9 Feb 2023 17:31:32 -0800 Subject: [PATCH 19/79] improve prisma build --- packages/prisma/.gitignore | 5 ++++- packages/prisma/package.json | 20 ++++++++------------ packages/prisma/schema.prisma | 1 + packages/prisma/src/client.ts | 3 --- packages/prisma/src/index.ts | 1 - packages/prisma/tsup.config.ts | 14 -------------- 6 files changed, 13 insertions(+), 31 deletions(-) delete mode 100644 packages/prisma/src/client.ts delete mode 100644 packages/prisma/src/index.ts delete mode 100644 packages/prisma/tsup.config.ts diff --git a/packages/prisma/.gitignore b/packages/prisma/.gitignore index 249cda96..979f8a37 100644 --- a/packages/prisma/.gitignore +++ b/packages/prisma/.gitignore @@ -1 +1,4 @@ -/data \ No newline at end of file +# local data +/data +# prisma client +/src/generated \ No newline at end of file diff --git a/packages/prisma/package.json b/packages/prisma/package.json index 60d7e29a..66137483 100644 --- a/packages/prisma/package.json +++ b/packages/prisma/package.json @@ -1,29 +1,25 @@ { - "name": "@hey-amplify/prisma", + "name": "@hey-amplify/prisma-client", "private": true, "type": "module", "version": "1.0.0", "exports": { ".": { - "import": "./index.js" + "import": "./build/generated/client/index.js", + "types": "./build/generated/client/index.d.ts" }, "./package.json": "./package.json", "./schema.prisma": "./schema.prisma" }, "scripts": { - "dev": "tsup --watch", - "build": "tsup", + "build": "prisma generate", "db-push": "prisma db push", "prepare": "prisma generate" }, - "dependencies": {}, - "devDependencies": { - "@prisma/client": "^4.9.0", - "prisma": "^4.9.0", - "tsup": "^6.5.0", - "typescript": "^4.9.5" - }, - "peerDependencies": { + "dependencies": { "@prisma/client": "^4.9.0" + }, + "devDependencies": { + "prisma": "^4.9.0" } } diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index 583c797f..40321fa0 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -3,6 +3,7 @@ generator client { provider = "prisma-client-js" + output = "./build/generated/client" } datasource db { diff --git a/packages/prisma/src/client.ts b/packages/prisma/src/client.ts deleted file mode 100644 index 6260dd0f..00000000 --- a/packages/prisma/src/client.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { PrismaClient } from '@prisma/client' - -export const prisma = new PrismaClient() diff --git a/packages/prisma/src/index.ts b/packages/prisma/src/index.ts deleted file mode 100644 index 83dae763..00000000 --- a/packages/prisma/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './client' diff --git a/packages/prisma/tsup.config.ts b/packages/prisma/tsup.config.ts deleted file mode 100644 index e6c8b6f8..00000000 --- a/packages/prisma/tsup.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig({ - define: { - 'import.meta.vitest': 'undefined', - }, - entry: ['src/index.ts'], - format: ['esm'], - outDir: 'build', - dts: true, - splitting: false, - sourcemap: true, - clean: true, -}) From cf0b174fc64198992866c2ac5ae6682145ed46d0 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Thu, 9 Feb 2023 17:31:41 -0800 Subject: [PATCH 20/79] split out features --- packages/features/package.json | 27 +++++++++++++++++++++++++++ packages/features/src/index.ts | 21 +++++++++++++++++++++ packages/features/src/is-enabled.ts | 25 +++++++++++++++++++++++++ packages/features/src/prisma.ts | 3 +++ packages/features/tsconfig.json | 3 +++ packages/features/tsup.config.ts | 15 +++++++++++++++ 6 files changed, 94 insertions(+) create mode 100644 packages/features/package.json create mode 100644 packages/features/src/index.ts create mode 100644 packages/features/src/is-enabled.ts create mode 100644 packages/features/src/prisma.ts create mode 100644 packages/features/tsconfig.json create mode 100644 packages/features/tsup.config.ts diff --git a/packages/features/package.json b/packages/features/package.json new file mode 100644 index 00000000..e94faca3 --- /dev/null +++ b/packages/features/package.json @@ -0,0 +1,27 @@ +{ + "name": "@hey-amplify/features", + "private": true, + "type": "module", + "version": "2.0.0-next.0", + "description": "A Discord bot for the AWS Amplify community", + "exports": { + ".": { + "import": "./build/index.js", + "types": "./build/index.d.ts" + }, + "./package.json": "./package.json" + }, + "types": "build/index.d.ts", + "scripts": { + "dev": "tsup --watch", + "build": "tsup" + }, + "dependencies": { + "@hey-amplify/constants": "workspace:*", + "@hey-amplify/prisma-client": "workspace:*" + }, + "devDependencies": { + "tsup": "^6.5.0", + "typescript": "^4.9.5" + } +} diff --git a/packages/features/src/index.ts b/packages/features/src/index.ts new file mode 100644 index 00000000..42717a53 --- /dev/null +++ b/packages/features/src/index.ts @@ -0,0 +1,21 @@ +import { FEATURE_CODES, FEATURE_TYPES } from '@hey-amplify/constants' +import type { Prisma } from '@hey-amplify/prisma-client' + +export const integrations = [ + { + code: FEATURE_CODES.GITHUB, + name: 'GitHub', + description: + 'Integration with GitHub to use organization membership and contributions to auto-apply roles in Discord', + type: FEATURE_TYPES.INTEGRATION, + }, +] + +export const types: Prisma.FeatureTypeCreateInput[] = [ + { + code: FEATURE_TYPES.COMMAND, + }, + { + code: FEATURE_TYPES.INTEGRATION, + }, +] diff --git a/packages/features/src/is-enabled.ts b/packages/features/src/is-enabled.ts new file mode 100644 index 00000000..af6ea71b --- /dev/null +++ b/packages/features/src/is-enabled.ts @@ -0,0 +1,25 @@ +import { prisma } from '$lib/db' +import { FEATURE_CODES } from '$lib/constants' + +export const isEnabled = async ( + code: keyof typeof FEATURE_CODES, + configurationId: string +) => { + const [feature] = await prisma.configuration + .findUnique({ + where: { + id: configurationId, + }, + select: { + features: { + where: { + feature: { + code, + }, + }, + }, + }, + }) + .features() + return feature?.enabled || false +} diff --git a/packages/features/src/prisma.ts b/packages/features/src/prisma.ts new file mode 100644 index 00000000..d5b9bfe1 --- /dev/null +++ b/packages/features/src/prisma.ts @@ -0,0 +1,3 @@ +import { PrismaClient } from '@hey-amplify/prisma-client' + +export const prisma = new PrismaClient() diff --git a/packages/features/tsconfig.json b/packages/features/tsconfig.json new file mode 100644 index 00000000..4082f16a --- /dev/null +++ b/packages/features/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/packages/features/tsup.config.ts b/packages/features/tsup.config.ts new file mode 100644 index 00000000..62b907fe --- /dev/null +++ b/packages/features/tsup.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from 'tsup' + +export default defineConfig({ + define: { + 'import.meta.vitest': 'undefined', + }, + entry: ['src/index.ts'], + format: ['esm'], + outDir: 'build', + external: ['./src/generated/client/index.js'], + dts: true, + sourcemap: true, + clean: true, + target: 'node', +}) From c03a818d9fe0073c3b2e0fd83c74ad9d037519e9 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Thu, 9 Feb 2023 17:32:05 -0800 Subject: [PATCH 21/79] fix imports from aliases, import from prisma package --- packages/discord/package.json | 4 +++- packages/discord/src/client.ts | 4 ++-- packages/discord/src/commands.ts | 2 +- packages/discord/src/commands/admin.ts | 8 ++++---- packages/discord/src/commands/q.ts | 4 ++-- packages/discord/src/commands/select-answer.ts | 2 +- packages/discord/src/commands/thread.ts | 2 +- packages/discord/src/get-user-access.ts | 2 +- packages/discord/src/index.ts | 7 ++++++- packages/discord/src/is-admin-or-staff.ts | 2 +- packages/discord/src/prisma.ts | 3 +++ packages/discord/src/roles/{addRole.ts => add-role.ts} | 2 +- .../discord/src/roles/{removeRole.ts => remove-role.ts} | 2 +- packages/discord/tsup.config.ts | 1 + 14 files changed, 28 insertions(+), 17 deletions(-) create mode 100644 packages/discord/src/prisma.ts rename packages/discord/src/roles/{addRole.ts => add-role.ts} (92%) rename packages/discord/src/roles/{removeRole.ts => remove-role.ts} (93%) diff --git a/packages/discord/package.json b/packages/discord/package.json index 3aaeecf6..1651677d 100644 --- a/packages/discord/package.json +++ b/packages/discord/package.json @@ -20,7 +20,9 @@ "@discordjs/builders": "^1.4.0", "@discordjs/rest": "^1.5.0", "@hey-amplify/constants": "workspace:*", - "@hey-amplify/prisma": "workspace:*", + "@hey-amplify/features": "workspace:*", + "@hey-amplify/github": "workspace:*", + "@hey-amplify/prisma-client": "workspace:*", "discord.js": "^14.4.0", "discord-api-types": "^0.37.31" }, diff --git a/packages/discord/src/client.ts b/packages/discord/src/client.ts index 151fe805..96be2d90 100644 --- a/packages/discord/src/client.ts +++ b/packages/discord/src/client.ts @@ -10,7 +10,7 @@ import { type ThreadChannel, type Guild, } from 'discord.js' -import { prisma } from '@hey-amplify/prisma' +import { prisma } from './prisma' import { commands, createCommandFeatures, @@ -18,7 +18,7 @@ import { } from './commands' import { PREFIXES } from './commands/thread' import { isHelpChannel, isThreadWithinHelpChannel } from './support' -import { integrations } from '$lib/features/index' +import { integrations } from '@hey-amplify/features' import { FEATURE_TYPES } from '@hey-amplify/constants' export const client = new Client({ diff --git a/packages/discord/src/commands.ts b/packages/discord/src/commands.ts index 9d2470b9..7c242c32 100644 --- a/packages/discord/src/commands.ts +++ b/packages/discord/src/commands.ts @@ -13,7 +13,7 @@ import { type ContextMenuCommandInteraction, type InteractionReplyOptions, } from 'discord.js' -import { prisma } from '@hey-amplify/prisma' +import { prisma } from './prisma' import { FEATURE_TYPES } from '@hey-amplify/constants' import * as admin from './commands/admin' import * as contribute from './commands/contribute' diff --git a/packages/discord/src/commands/admin.ts b/packages/discord/src/commands/admin.ts index 8528f43e..c0bfdd65 100644 --- a/packages/discord/src/commands/admin.ts +++ b/packages/discord/src/commands/admin.ts @@ -1,14 +1,14 @@ import { SlashCommandBuilder } from '@discordjs/builders' import { faker } from '@faker-js/faker' import { EmbedBuilder, PermissionFlagsBits } from 'discord.js' -import { getUserAccess } from '../get-user-access ' -import { prisma } from '@hey-amplify/prisma' +import { getUserAccess } from '../get-user-access' +import { prisma } from '../prisma' import { postDiscussion, postAnswer, markAnswered, lockDiscussion, -} from '$lib/github/queries' +} from '@hey-amplify/github' import { repositoriesWithDiscussions as repositories } from './_repositories' import { isThreadWithinHelpChannel } from '../support' import type { @@ -17,7 +17,7 @@ import type { InteractionReplyOptions, ThreadChannel, } from 'discord.js' -import type { Question } from '@prisma/client' +import type { Question } from '@hey-amplify/prisma-client' const userIdToUsername = new Map() diff --git a/packages/discord/src/commands/q.ts b/packages/discord/src/commands/q.ts index 4844f48e..a5d0279c 100644 --- a/packages/discord/src/commands/q.ts +++ b/packages/discord/src/commands/q.ts @@ -4,14 +4,14 @@ import { ActionRowBuilder, ButtonBuilder, } from '@discordjs/builders' -import { prisma } from '@hey-amplify/prisma' +import { prisma } from '../prisma' import type { ButtonInteraction, ChatInputCommandInteraction, InteractionReplyOptions, TextBasedChannel, } from 'discord.js' -import type { Question } from '@prisma/client' +import type { Question } from '@hey-amplify/prisma-client' function epoch(date: Date): number { return Math.floor(date.getTime() / 1000) diff --git a/packages/discord/src/commands/select-answer.ts b/packages/discord/src/commands/select-answer.ts index 38310f1e..2280b594 100644 --- a/packages/discord/src/commands/select-answer.ts +++ b/packages/discord/src/commands/select-answer.ts @@ -1,6 +1,6 @@ import { ContextMenuCommandBuilder } from '@discordjs/builders' import { ApplicationCommandType, EmbedBuilder } from 'discord.js' -import { prisma } from '@hey-amplify/prisma' +import { prisma } from '../prisma' import { isAdminOrStaff } from '../is-admin-or-staff' import type { GuildMember, diff --git a/packages/discord/src/commands/thread.ts b/packages/discord/src/commands/thread.ts index d2bacd4c..1497ca11 100644 --- a/packages/discord/src/commands/thread.ts +++ b/packages/discord/src/commands/thread.ts @@ -1,6 +1,6 @@ import { SlashCommandBuilder } from '@discordjs/builders' import { EmbedBuilder, MessageType } from 'discord.js' -import { prisma } from '@hey-amplify/prisma' +import { prisma } from '../prisma' import { isThreadWithinHelpChannel } from '../support' import { isAdminOrStaff } from '../is-admin-or-staff' import type { diff --git a/packages/discord/src/get-user-access.ts b/packages/discord/src/get-user-access.ts index 21784ed3..98a77e9c 100644 --- a/packages/discord/src/get-user-access.ts +++ b/packages/discord/src/get-user-access.ts @@ -1,6 +1,6 @@ import { Routes } from 'discord-api-types/v10' import { ACCESS_LEVELS } from '@hey-amplify/constants' -import { prisma } from '@hey-amplify/prisma' +import { prisma } from './prisma' import { api } from './api' import type { APIGuild, APIGuildMember } from 'discord-api-types/v10' diff --git a/packages/discord/src/index.ts b/packages/discord/src/index.ts index 6513864e..572c6319 100644 --- a/packages/discord/src/index.ts +++ b/packages/discord/src/index.ts @@ -1,3 +1,8 @@ +export * from './api' +export * from './client' export * from './commands' +export * from './get-user-access' +export * from './is-admin-or-staff' export * from './support' -export * from './client' +export * from './roles/add-role' +export * from './roles/remove-role' diff --git a/packages/discord/src/is-admin-or-staff.ts b/packages/discord/src/is-admin-or-staff.ts index d20cc594..d3a91240 100644 --- a/packages/discord/src/is-admin-or-staff.ts +++ b/packages/discord/src/is-admin-or-staff.ts @@ -1,5 +1,5 @@ import { ACCESS_LEVELS } from '@hey-amplify/constants' -import { prisma } from '@hey-amplify/prisma' +import { prisma } from './prisma' import type { GuildMember } from 'discord.js' export async function isAdminOrStaff(user: GuildMember) { diff --git a/packages/discord/src/prisma.ts b/packages/discord/src/prisma.ts new file mode 100644 index 00000000..d5b9bfe1 --- /dev/null +++ b/packages/discord/src/prisma.ts @@ -0,0 +1,3 @@ +import { PrismaClient } from '@hey-amplify/prisma-client' + +export const prisma = new PrismaClient() diff --git a/packages/discord/src/roles/addRole.ts b/packages/discord/src/roles/add-role.ts similarity index 92% rename from packages/discord/src/roles/addRole.ts rename to packages/discord/src/roles/add-role.ts index 0f326499..5fe8c244 100644 --- a/packages/discord/src/roles/addRole.ts +++ b/packages/discord/src/roles/add-role.ts @@ -1,5 +1,5 @@ -import { api } from '$discord/api' import { Routes } from 'discord-api-types/v10' +import { api } from '../api' /** applies a role to a given user */ export async function addRole(roleId: string, guildId: string, userId: string) { diff --git a/packages/discord/src/roles/removeRole.ts b/packages/discord/src/roles/remove-role.ts similarity index 93% rename from packages/discord/src/roles/removeRole.ts rename to packages/discord/src/roles/remove-role.ts index 094dd3c6..0fd79add 100644 --- a/packages/discord/src/roles/removeRole.ts +++ b/packages/discord/src/roles/remove-role.ts @@ -1,5 +1,5 @@ -import { api } from '$discord/api' import { Routes } from 'discord-api-types/v10' +import { api } from '../api' /** removes a role from a given user */ export async function removeRole( diff --git a/packages/discord/tsup.config.ts b/packages/discord/tsup.config.ts index e6c8b6f8..170f7306 100644 --- a/packages/discord/tsup.config.ts +++ b/packages/discord/tsup.config.ts @@ -11,4 +11,5 @@ export default defineConfig({ splitting: false, sourcemap: true, clean: true, + target: 'node', }) From 787914ff0fcbd94b0038a2d94629634657657683 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Thu, 9 Feb 2023 17:32:13 -0800 Subject: [PATCH 22/79] add tsconfig --- apps/discord-bot/tsconfig.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 apps/discord-bot/tsconfig.json diff --git a/apps/discord-bot/tsconfig.json b/apps/discord-bot/tsconfig.json new file mode 100644 index 00000000..4082f16a --- /dev/null +++ b/apps/discord-bot/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} From e421806ffe506c72b41f70269fad46aefd227b75 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Thu, 9 Feb 2023 17:32:25 -0800 Subject: [PATCH 23/79] fix imports from old aliases --- apps/bot.amplify.aws/package.json | 6 +++-- apps/bot.amplify.aws/src/hooks/index.ts | 5 ++-- apps/bot.amplify.aws/src/lib/db.ts | 4 ++- .../bot.amplify.aws/src/lib/features/index.ts | 21 ---------------- .../src/lib/features/is-enabled.ts | 25 ------------------- .../src/routes/+layout.server.ts | 2 +- .../src/routes/admin/+page.server.ts | 4 +-- .../src/routes/admin/+page.svelte | 2 +- .../routes/admin/integrations/+page.server.ts | 2 +- .../src/routes/api/_discord.ts | 2 +- .../src/routes/api/admin/commands/+server.ts | 2 +- .../src/routes/api/admin/configure/+server.ts | 2 +- .../src/routes/api/admin/feature/+server.ts | 2 +- .../routes/api/discord/[userId]/+server.ts | 2 +- .../src/routes/api/switch-guild/+server.ts | 2 +- .../webhooks/github-org-membership/+server.ts | 5 ++-- .../src/routes/dashboard/+page.server.ts | 4 +-- apps/bot.amplify.aws/src/server.ts | 2 +- 18 files changed, 25 insertions(+), 69 deletions(-) delete mode 100644 apps/bot.amplify.aws/src/lib/features/index.ts delete mode 100644 apps/bot.amplify.aws/src/lib/features/is-enabled.ts diff --git a/apps/bot.amplify.aws/package.json b/apps/bot.amplify.aws/package.json index 0166be3b..d115c286 100644 --- a/apps/bot.amplify.aws/package.json +++ b/apps/bot.amplify.aws/package.json @@ -33,9 +33,11 @@ "@carbon/charts-svelte": "^1.5.2", "@commitlint/cli": "^17.0.3", "@commitlint/config-conventional": "^17.0.3", - "@hey-amplify/scripts": "workspace:*", + "@hey-amplify/constants": "workspace:*", "@hey-amplify/discord": "workspace:*", - "@hey-amplify/prisma": "workspace:*", + "@hey-amplify/features": "workspace:*", + "@hey-amplify/github": "workspace:*", + "@hey-amplify/prisma-client": "workspace:*", "@hey-amplify/support": "workspace:*", "@prisma/client": "^4.9.0", "@sveltejs/adapter-node": "1.1.7", diff --git a/apps/bot.amplify.aws/src/hooks/index.ts b/apps/bot.amplify.aws/src/hooks/index.ts index 8f8df040..b9d1f740 100644 --- a/apps/bot.amplify.aws/src/hooks/index.ts +++ b/apps/bot.amplify.aws/src/hooks/index.ts @@ -1,11 +1,10 @@ +import { GUILD_COOKIE } from '@hey-amplify/constants' +import { createBot, getUserAccess } from '@hey-amplify/discord' import { sequence } from '@sveltejs/kit/hooks' import { type Handle } from '@sveltejs/kit' import cookie from 'cookie' -import { createBot } from '$discord/client' import { prisma, init } from '$lib/db' -import { getUserAccess } from '$discord/get-user-access' import { getServerSession, options } from '$lib/next-auth' -import { GUILD_COOKIE } from '$lib/constants' // only load the bot if we're in development (on first request to the server), otherwise the bot will be loaded onto the Node/Express server if (import.meta.env.MODE === 'development') { diff --git a/apps/bot.amplify.aws/src/lib/db.ts b/apps/bot.amplify.aws/src/lib/db.ts index 80933bfc..c60b0d18 100644 --- a/apps/bot.amplify.aws/src/lib/db.ts +++ b/apps/bot.amplify.aws/src/lib/db.ts @@ -1,8 +1,10 @@ -import { prisma } from '@hey-amplify/prisma' +import { PrismaClient } from '@hey-amplify/prisma-client' import { ACCESS_LEVELS, FEATURE_TYPES } from './constants' import { integrations, types as featureTypes } from './features/index' import { createCommandFeatures } from './discord/commands' +export const prisma = new PrismaClient() + const DB_INIT_MESSAGE = '[database] init' export async function init() { diff --git a/apps/bot.amplify.aws/src/lib/features/index.ts b/apps/bot.amplify.aws/src/lib/features/index.ts deleted file mode 100644 index 2ce644dc..00000000 --- a/apps/bot.amplify.aws/src/lib/features/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { type Prisma } from '@prisma/client' -import { FEATURE_CODES, FEATURE_TYPES } from '$lib/constants' - -export const integrations = [ - { - code: FEATURE_CODES.GITHUB, - name: 'GitHub', - description: - 'Integration with GitHub to use organization membership and contributions to auto-apply roles in Discord', - type: FEATURE_TYPES.INTEGRATION, - }, -] - -export const types: Prisma.FeatureTypeCreateInput[] = [ - { - code: FEATURE_TYPES.COMMAND, - }, - { - code: FEATURE_TYPES.INTEGRATION, - }, -] diff --git a/apps/bot.amplify.aws/src/lib/features/is-enabled.ts b/apps/bot.amplify.aws/src/lib/features/is-enabled.ts deleted file mode 100644 index af6ea71b..00000000 --- a/apps/bot.amplify.aws/src/lib/features/is-enabled.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { prisma } from '$lib/db' -import { FEATURE_CODES } from '$lib/constants' - -export const isEnabled = async ( - code: keyof typeof FEATURE_CODES, - configurationId: string -) => { - const [feature] = await prisma.configuration - .findUnique({ - where: { - id: configurationId, - }, - select: { - features: { - where: { - feature: { - code, - }, - }, - }, - }, - }) - .features() - return feature?.enabled || false -} diff --git a/apps/bot.amplify.aws/src/routes/+layout.server.ts b/apps/bot.amplify.aws/src/routes/+layout.server.ts index 76bb3140..f1efcd63 100644 --- a/apps/bot.amplify.aws/src/routes/+layout.server.ts +++ b/apps/bot.amplify.aws/src/routes/+layout.server.ts @@ -1,4 +1,4 @@ -import { api } from '$discord/api' +import { api } from '@hey-amplify/discord' import { Routes, type APIGuild } from 'discord-api-types/v10' import { type LayoutServerLoad } from './$types' diff --git a/apps/bot.amplify.aws/src/routes/admin/+page.server.ts b/apps/bot.amplify.aws/src/routes/admin/+page.server.ts index 252f3c34..72d8a237 100644 --- a/apps/bot.amplify.aws/src/routes/admin/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/admin/+page.server.ts @@ -1,3 +1,4 @@ +import { FEATURE_TYPES } from '@hey-amplify/constants' import { error } from '@sveltejs/kit' import { type Configuration, @@ -15,9 +16,8 @@ import { env } from '$env/dynamic/private' import { commands as bank, type Command as CommandType, -} from '$discord/commands' +} from '@hey-amplify/discord' import { prisma } from '$lib/db' -import { FEATURE_TYPES } from '$lib/constants' import { type PageServerLoad } from './$types' import { api } from '../api/_discord' import { tabs } from './tabs' diff --git a/apps/bot.amplify.aws/src/routes/admin/+page.svelte b/apps/bot.amplify.aws/src/routes/admin/+page.svelte index a92d4db6..22cd7cf7 100644 --- a/apps/bot.amplify.aws/src/routes/admin/+page.svelte +++ b/apps/bot.amplify.aws/src/routes/admin/+page.svelte @@ -7,7 +7,7 @@ Toggle, } from 'carbon-components-svelte' import { get } from 'svelte/store' - import { ACCESS_LEVELS } from '$lib/constants' + import { ACCESS_LEVELS } from '@hey-amplify/constants' import { guild, notifications } from '$lib/store' import type { PageServerData } from './$types' diff --git a/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts b/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts index 046cb40d..0c6e7b04 100644 --- a/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts @@ -1,5 +1,5 @@ import { prisma } from '$lib/db' -import { FEATURE_TYPES } from '$lib/constants' +import { FEATURE_TYPES } from '@hey-amplify/constants' import { type PageServerLoad } from './$types' import { createIntegrationHrefFromCode } from '../breadcrumbs' diff --git a/apps/bot.amplify.aws/src/routes/api/_discord.ts b/apps/bot.amplify.aws/src/routes/api/_discord.ts index d5c22405..2a5580f3 100644 --- a/apps/bot.amplify.aws/src/routes/api/_discord.ts +++ b/apps/bot.amplify.aws/src/routes/api/_discord.ts @@ -1,3 +1,3 @@ -import { createDiscordApi } from '$discord/api' +import { createDiscordApi } from '@hey-amplify/discord' export const api = createDiscordApi(process.env.DISCORD_BOT_TOKEN) diff --git a/apps/bot.amplify.aws/src/routes/api/admin/commands/+server.ts b/apps/bot.amplify.aws/src/routes/api/admin/commands/+server.ts index 1a6d8cf1..1562dbdf 100644 --- a/apps/bot.amplify.aws/src/routes/api/admin/commands/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/admin/commands/+server.ts @@ -4,7 +4,7 @@ import { registerCommands, unregisterCommand, commands, -} from '$discord/commands' +} from '@hey-amplify/discord' export const POST: RequestHandler = async ({ locals }) => { const list = await registerCommands(undefined, locals.session.guild) diff --git a/apps/bot.amplify.aws/src/routes/api/admin/configure/+server.ts b/apps/bot.amplify.aws/src/routes/api/admin/configure/+server.ts index 3f6be5df..79c1a79a 100644 --- a/apps/bot.amplify.aws/src/routes/api/admin/configure/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/admin/configure/+server.ts @@ -1,6 +1,6 @@ import { json } from '@sveltejs/kit' import { prisma } from '$lib/db' -import { ACCESS_LEVELS } from '$lib/constants' +import { ACCESS_LEVELS } from '@hey-amplify/constants' import type { RequestHandler } from '@sveltejs/kit' export const POST: RequestHandler = async ({ request }) => { diff --git a/apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts b/apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts index 9e915e10..2ad9d1c3 100644 --- a/apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts @@ -1,7 +1,7 @@ import { type Feature } from '@prisma/client' import { type RequestHandler } from '@sveltejs/kit' import { prisma } from '$lib/db' -import { FEATURE_CODES } from '$lib/constants' +import { FEATURE_CODES } from '@hey-amplify/constants' type Payload = { /** diff --git a/apps/bot.amplify.aws/src/routes/api/discord/[userId]/+server.ts b/apps/bot.amplify.aws/src/routes/api/discord/[userId]/+server.ts index e7dcdb80..8b6c1277 100644 --- a/apps/bot.amplify.aws/src/routes/api/discord/[userId]/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/discord/[userId]/+server.ts @@ -1,5 +1,5 @@ import { Routes } from 'discord-api-types/v10' -import { api } from '$discord/api' +import { api } from '@hey-amplify/discord' import type { RequestHandler } from '@sveltejs/kit' import type { APIGuildMember } from 'discord-api-types/v10' diff --git a/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts b/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts index cfc530b1..5b905aea 100644 --- a/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts @@ -1,7 +1,7 @@ import { type RequestHandler } from '@sveltejs/kit' import cookie from 'cookie' import { z } from 'zod' -import { GUILD_COOKIE } from '$lib/constants' +import { GUILD_COOKIE } from '@hey-amplify/constants' const schema = z.object({ guildId: z.string().min(1), diff --git a/apps/bot.amplify.aws/src/routes/api/webhooks/github-org-membership/+server.ts b/apps/bot.amplify.aws/src/routes/api/webhooks/github-org-membership/+server.ts index 17dfe4a3..7d294f4f 100644 --- a/apps/bot.amplify.aws/src/routes/api/webhooks/github-org-membership/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/webhooks/github-org-membership/+server.ts @@ -1,8 +1,7 @@ +import { addRole, removeRole } from '@hey-amplify/discord' +import { ACCESS_LEVELS } from '@hey-amplify/constants' import { json } from '@sveltejs/kit' -import { addRole } from '$discord/roles/addRole' -import { ACCESS_LEVELS } from '$lib/constants' import { prisma } from '$lib/db' -import { removeRole } from '$discord/roles/removeRole' import { verifyGithubWebhookEvent } from '../_verifyWebhook' import type { RequestHandler } from '@sveltejs/kit' diff --git a/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts b/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts index e1adb02e..08c40eb3 100644 --- a/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts @@ -4,8 +4,8 @@ import { type APIPartialChannel, type APIGuildPreview, } from 'discord-api-types/v10' -import { api } from '$discord/api' -import { ACCESS_LEVELS } from '$lib/constants' +import { api } from '@hey-amplify/discord' +import { ACCESS_LEVELS } from '@hey-amplify/constants' import { prisma } from '$lib/db' import { isHelpChannel } from '$lib/discord/support' import { getGitHubMembers } from './helpers/github' diff --git a/apps/bot.amplify.aws/src/server.ts b/apps/bot.amplify.aws/src/server.ts index 2dae4d76..208e6a11 100644 --- a/apps/bot.amplify.aws/src/server.ts +++ b/apps/bot.amplify.aws/src/server.ts @@ -1,4 +1,4 @@ -import { createBot } from '$discord/client' +import { createBot } from '@hey-amplify/discord' import { init } from '$lib/db' // @ts-expect-error this file is externalized for build import { handler } from '$sveltekit_handler' From d2a165e6ad1c8168612f8a7ba5634242310c7f41 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 13:40:48 -0800 Subject: [PATCH 24/79] rename to prisma-client --- packages/{prisma => prisma-client}/.gitignore | 0 .../migrations/20221103005830_init/migration.sql | 0 packages/{prisma => prisma-client}/migrations/migration_lock.toml | 0 packages/{prisma => prisma-client}/package.json | 0 packages/{prisma => prisma-client}/schema.prisma | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename packages/{prisma => prisma-client}/.gitignore (100%) rename packages/{prisma => prisma-client}/migrations/20221103005830_init/migration.sql (100%) rename packages/{prisma => prisma-client}/migrations/migration_lock.toml (100%) rename packages/{prisma => prisma-client}/package.json (100%) rename packages/{prisma => prisma-client}/schema.prisma (100%) diff --git a/packages/prisma/.gitignore b/packages/prisma-client/.gitignore similarity index 100% rename from packages/prisma/.gitignore rename to packages/prisma-client/.gitignore diff --git a/packages/prisma/migrations/20221103005830_init/migration.sql b/packages/prisma-client/migrations/20221103005830_init/migration.sql similarity index 100% rename from packages/prisma/migrations/20221103005830_init/migration.sql rename to packages/prisma-client/migrations/20221103005830_init/migration.sql diff --git a/packages/prisma/migrations/migration_lock.toml b/packages/prisma-client/migrations/migration_lock.toml similarity index 100% rename from packages/prisma/migrations/migration_lock.toml rename to packages/prisma-client/migrations/migration_lock.toml diff --git a/packages/prisma/package.json b/packages/prisma-client/package.json similarity index 100% rename from packages/prisma/package.json rename to packages/prisma-client/package.json diff --git a/packages/prisma/schema.prisma b/packages/prisma-client/schema.prisma similarity index 100% rename from packages/prisma/schema.prisma rename to packages/prisma-client/schema.prisma From f9999ee50b577703d21c6af49149d5b731cf95e3 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 13:41:03 -0800 Subject: [PATCH 25/79] extract applyRoles, fix github build --- packages/github/env.d.ts | 12 + packages/github/package.json | 5 +- packages/github/src/apply-roles.ts | 435 ------------------------- packages/github/src/fetch-org-repos.ts | 23 ++ packages/github/src/index.ts | 4 +- packages/github/src/is-contributor.ts | 44 +++ packages/github/src/is-org-member.ts | 27 ++ packages/github/src/queries.ts | 26 +- packages/github/tsconfig.json | 3 +- packages/github/tsup.config.ts | 2 +- packages/github/vitest.config.ts | 8 + 11 files changed, 137 insertions(+), 452 deletions(-) create mode 100644 packages/github/env.d.ts delete mode 100644 packages/github/src/apply-roles.ts create mode 100644 packages/github/src/fetch-org-repos.ts create mode 100644 packages/github/src/is-contributor.ts create mode 100644 packages/github/src/is-org-member.ts create mode 100644 packages/github/vitest.config.ts diff --git a/packages/github/env.d.ts b/packages/github/env.d.ts new file mode 100644 index 00000000..82fcb4a2 --- /dev/null +++ b/packages/github/env.d.ts @@ -0,0 +1,12 @@ +declare global { + namespace NodeJS { + interface ProcessEnv { + GITHUB_APP_ID: string + GITHUB_TOKEN: string + GITHUB_ORG_LOGIN: string + GITHUB_PRIVATE_KEY: string + } + } +} + +export {} diff --git a/packages/github/package.json b/packages/github/package.json index 615d174e..136ae600 100644 --- a/packages/github/package.json +++ b/packages/github/package.json @@ -19,13 +19,14 @@ "dependencies": { "@hey-amplify/constants": "workspace:*", "@hey-amplify/prisma-client": "workspace:*", - "@hey-amplify/discord": "workspace:*", "@octokit/auth-app": "^4.0.9", "@octokit/graphql": "^5.0.5", "@octokit/rest": "^19.0.7" }, "devDependencies": { + "@octokit/types": "^9.0.0", "tsup": "^6.5.0", - "typescript": "^4.9.5" + "typescript": "^4.9.5", + "vitest": "^0.28.4" } } diff --git a/packages/github/src/apply-roles.ts b/packages/github/src/apply-roles.ts deleted file mode 100644 index 18d58cec..00000000 --- a/packages/github/src/apply-roles.ts +++ /dev/null @@ -1,435 +0,0 @@ -import { createAppAuth } from '@octokit/auth-app' -import { Octokit } from '@octokit/rest' -import { addRole, removeRole } from '@hey-amplify/discord' -import { ACCESS_LEVELS } from '@hey-amplify/constants' -import { prisma } from './prisma' - -/** - * returns true if the user is a member of that org - * false otherwise or if error - * (uses access token to determine current user) - */ -async function isOrgMember(accessToken: string, ghUserId: string) { - const octokit = new Octokit({ - auth: `token ${accessToken}`, - }) - try { - const { data } = await octokit.request('GET /orgs/{org}/members', { - org: process.env.GITHUB_ORG_LOGIN, - }) - const isOrgMember = data.some( - (contributor) => contributor.id === Number(ghUserId) - ) - //if (isOrgMember) return true - return isOrgMember - } catch (err) { - console.error( - `Failed to find org member in ${process.env.GITHUB_ORG_LOGIN}: ${err.response.data.message}` - ) - } - return false -} - -/** - * returns a list of the given organization's repositories, - * false if error - * also this will only work if repos are public - */ -export async function fetchOrgRepos(accessToken: string) { - const octokit = new Octokit({ - auth: `token ${accessToken}`, - }) - try { - const { data } = await octokit.request('GET /orgs/{org}/repos', { - org: process.env.GITHUB_ORG_LOGIN, - }) - return data - } catch (err) { - console.error( - `Failed to fetch repos for ${process.env.GITHUB_ORG_LOGIN}: ${err.response.data.message}` - ) - return false - } -} - -/** - * for each repository belonging to the org, retrieves a list of - * contributors. returns true if the user with a given id is - * a contributor in at least one repository, - * false otherwise or if error - */ -export async function isContributor( - accessToken: string, - repos: [], - userId: string -) { - const octokit = new Octokit({ - auth: `token ${accessToken}`, - }) - - for (let i = 0; i < repos.length; i++) { - const amplifyRepo = repos[i]?.name - - try { - const { data } = await octokit.request( - 'GET /repos/{owner}/{repo}/contributors', - { - owner: process.env.GITHUB_ORG_LOGIN, - repo: amplifyRepo, - } - ) - - const isContributor = data.some( - (contributor) => contributor.id === Number(userId) - ) - if (isContributor) return true - } catch (err) { - console.error( - `Error searching for user in repository ${amplifyRepo}: ${err.response.data.message}` - ) - } - } - return false -} - -/** driver code that checks github membership/contribution status and applies roles */ -export async function applyRoles( - userId: string, - ghUserId: string, - accessToken: string, - guildId: string = import.meta.env.VITE_DISCORD_GUILD_ID -) { - let discUserId - let staffResponse = true - let contributorResponse = true - - // retrieve discord user id for current user - const data = await prisma.user.findUnique({ - where: { - id: userId, - }, - select: { - accounts: { - where: { - provider: 'discord', - }, - }, - }, - }) - if (data?.accounts?.length === 1) { - discUserId = data.accounts[0].providerAccountId - } - - if (!discUserId) return false - - const isGitHubOrgMember = await isOrgMember(accessToken, ghUserId) - - const config = await prisma.configuration.findUnique({ - where: { - id: guildId, - }, - select: { - id: true, - roles: { - select: { - accessLevelId: true, - discordRoleId: true, - }, - where: { - accessLevelId: { - in: [ACCESS_LEVELS.STAFF, ACCESS_LEVELS.CONTRIBUTOR], - }, - }, - }, - }, - }) - - if (!config?.roles?.some((r) => !!r.discordRoleId)) { - console.error('No roles found') - return - } - - const staffRoleId = config.roles.find( - (r) => r.accessLevelId === ACCESS_LEVELS.STAFF - )?.discordRoleId - const contributorRoleId = config.roles.find( - (r) => r.accessLevelId === ACCESS_LEVELS.CONTRIBUTOR - )?.discordRoleId - - // user is member of amplify org -> apply staff role - if (staffRoleId) { - if (isGitHubOrgMember) { - staffResponse = await addRole(staffRoleId, config.id, discUserId) - } else if ( - // user is NOT member of amplify org -> remove role - !isGitHubOrgMember - ) { - staffResponse = await removeRole(staffRoleId, config.id, discUserId) - } - } else { - console.error('No staff role found, skipping...') - } - - if (contributorRoleId) { - const repos = await fetchOrgRepos(accessToken) - if (repos?.length) { - const userIsContributor = await isContributor( - accessToken, - repos, - ghUserId - ) - - // user is a contributor -> apply role - if (userIsContributor) { - contributorResponse = await addRole( - contributorRoleId, - config.id, - discUserId - ) - // user is NOT a contributor -> remove role - } else if (!userIsContributor) { - contributorResponse = await removeRole( - contributorRoleId, - config.id, - discUserId - ) - } - } - } else { - console.error('No contributor role found, skipping...') - } - // if removal/addition of either role failed, return false - return contributorResponse && staffResponse -} - -if (import.meta.vitest) { - const { describe, expect, test, it, beforeAll } = import.meta.vitest - test.runIf(process.env.GITHUB_TESTS_ENABLED)( - 'only test if app secrets are enabled', - async () => { - const { privateKey } = JSON.parse(process.env.GITHUB_PRIVATE_KEY) - const id = 'cl4n0kjqd0006iqtda15yzzcw' - const ghUserId = '107655607' - const guildMemberId = '985985131271585833' - - let token: string, repos: [] - - const config = await prisma.configuration.findUnique({ - where: { - id: import.meta.env.VITE_DISCORD_GUILD_ID, - }, - select: { - id: true, - roles: { - select: { - accessLevelId: true, - discordRoleId: true, - }, - where: { - accessLevelId: { - in: [ACCESS_LEVELS.STAFF, ACCESS_LEVELS.CONTRIBUTOR], - }, - }, - }, - }, - }) - - if (!config?.roles?.some((r) => !!r.discordRoleId)) { - console.error('No roles found') - return - } - - // type cast to string because this data will be seeded in test db - const staffRoleId = config.roles.find( - (r) => r.accessLevelId === ACCESS_LEVELS.STAFF - )?.discordRoleId as string - const contributorRoleId = config.roles.find( - (r) => r.accessLevelId === ACCESS_LEVELS.CONTRIBUTOR - )?.discordRoleId as string - - beforeAll(async () => { - const auth = createAppAuth({ - appId: process.env.GITHUB_APP_ID, - privateKey: privateKey, - clientId: process.env.GITHUB_CLIENT_ID, - clientSecret: process.env.GITHUB_CLIENT_SECRET, - }) - - try { - const data = await auth({ - type: 'installation', - installationId: process.env.GITHUB_INSTALLATION_ID, - }) - token = data.token - } catch (err) { - console.log(err) - } - repos = await fetchOrgRepos(token) - - await addRole(staffRoleId, config.id, guildMemberId) - await addRole(contributorRoleId, config.id, guildMemberId) - }) - - describe('Successful adding and removal of roles', () => { - test('Fetch org repos', async () => { - const response = await fetchOrgRepos(token) - expect(response).toEqual(repos) - }) - test('Is org member', async () => { - const response = await isOrgMember(token, ghUserId) - expect(response).toBeTruthy() - }) - test('Is org contributor', async () => { - const response = await isContributor(token, repos, ghUserId) - expect(response).toBe(true) - }, 20000) - test('Remove staff role', async () => { - const response = await removeRole( - staffRoleId, - config.id, - guildMemberId - ) - expect(response).toBeTruthy() - }) - test('Add staff role', async () => { - const response = await addRole(staffRoleId, config.id, guildMemberId) - expect(response).toBeTruthy() - }) - test('Remove contributor role', async () => { - const response = await removeRole( - contributorRoleId, - config.id, - guildMemberId - ) - expect(response).toBeTruthy() - }) - test('Add contributor role', async () => { - const response = await addRole( - contributorRoleId, - config.id, - guildMemberId - ) - expect(response).toBeTruthy() - }) - }) - - describe('Failed adding and removal of roles', () => { - test('Fetch org repos bad access token', async () => { - const response = await fetchOrgRepos(`b${token}ad`) - expect(response).toBe(false) - }) - - test('Fetch org repos unknown org', async () => { - const orgLogin = process.env.GITHUB_ORG_LOGIN - process.env.GITHUB_ORG_LOGIN = `${orgLogin}bad` - const response = await fetchOrgRepos(token) - process.env.GITHUB_ORG_LOGIN = orgLogin - expect(response).toBe(false) - }) - - test('Is org member bad access token', async () => { - const response = await isOrgMember(`bad${token}`, ghUserId) - expect(response).toBe(false) - }) - - test('Is org member unknown org', async () => { - const orgLogin = process.env.GITHUB_ORG_LOGIN - process.env.GITHUB_ORG_LOGIN = `bad${orgLogin}` - const response = await isOrgMember(token, ghUserId) - process.env.GITHUB_ORG_LOGIN = orgLogin - expect(response).toBe(false) - }) - - test('Remove role from unknown user', async () => { - const response = await removeRole( - contributorRoleId, - config.id, - `1${guildMemberId}` - ) - expect(response).toBe(false) - }) - - test('Add role to unknown user', async () => { - const response = await addRole( - contributorRoleId, - config.id, - `1${guildMemberId}` - ) - expect(response).toBe(false) - }) - - test('Add unknown role', async () => { - const response = await addRole( - `1${contributorRoleId}`, - config.id, - guildMemberId - ) - expect(response).toBe(false) - }) - - test('Add role in unknown guild', async () => { - const response = await addRole( - contributorRoleId, - `123${config.id}`, - guildMemberId - ) - expect(response).toBe(false) - }) - - test('Is org contributor wrong repos', async () => { - const filtered = repos.filter( - (repo) => !(repo.name === 'discord-bot') - ) - const response = await isContributor(token, filtered, ghUserId) - expect(response).toBe(false) - }, 20000) - - test('Is org contributor bad user id', async () => { - const response = await isContributor(token, repos, `bad${ghUserId}`) - expect(response).toBe(false) - }, 20000) - }) - - describe('Test full pipeline success', async () => { - test('Add and remove roles', async () => { - await removeRole(contributorRoleId, config.id, guildMemberId) - await removeRole(staffRoleId, config.id, guildMemberId) - }) - - test('Applying roles full pipeline', async () => { - const response = await applyRoles(id, ghUserId, token) - expect(response).toBeTruthy() - }, 10000) - }) - - describe('Test full pipeline failure', async () => { - test('Add and remove roles', async () => { - await removeRole(contributorRoleId, config.id, guildMemberId) - await removeRole(staffRoleId, config.id, guildMemberId) - }) - - test('Applying roles full pipeline bad user id', async () => { - const response = await applyRoles('baduserid', ghUserId, token) - expect(response).toBe(false) - }, 10000) - - // this returns true, do we need to check for errors here? - it('should return false with bad org login', async () => { - const orgLogin = process.env.GITHUB_ORG_LOGIN - process.env.GITHUB_ORG_LOGIN = "somethingthatdoesn'texist123" - const response = await applyRoles(id, ghUserId, token) - expect(response).toBe(true) - process.env.GITHUB_ORG_LOGIN = orgLogin - }, 10000) - - it('should return false with bad guild id', async () => { - const orgLogin = config.id - config.id = "somethingthatdoesn'texist123" - const response = await applyRoles(id, ghUserId, token) - expect(response).toBe(false) - process.env.GITHUB_ORG_LOGIN = orgLogin - }, 10000) - }) - } - ) -} diff --git a/packages/github/src/fetch-org-repos.ts b/packages/github/src/fetch-org-repos.ts new file mode 100644 index 00000000..f9ed748e --- /dev/null +++ b/packages/github/src/fetch-org-repos.ts @@ -0,0 +1,23 @@ +import { Octokit } from '@octokit/rest' + +/** + * returns a list of the given organization's repositories, + * false if error + * also this will only work if repos are public + */ +export async function fetchOrgRepos(accessToken: string) { + const octokit = new Octokit({ + auth: `token ${accessToken}`, + }) + try { + const { data } = await octokit.request('GET /orgs/{org}/repos', { + org: process.env.GITHUB_ORG_LOGIN, + }) + return data + } catch (err: any) { + console.error( + `Failed to fetch repos for ${process.env.GITHUB_ORG_LOGIN}: ${err.response.data.message}` + ) + return false + } +} diff --git a/packages/github/src/index.ts b/packages/github/src/index.ts index cce4785e..c9cb6c3d 100644 --- a/packages/github/src/index.ts +++ b/packages/github/src/index.ts @@ -1,2 +1,4 @@ export * from './queries' -export * from './apply-roles' +export * from './fetch-org-repos' +export * from './is-contributor' +export * from './is-org-member' diff --git a/packages/github/src/is-contributor.ts b/packages/github/src/is-contributor.ts new file mode 100644 index 00000000..1d52c6a2 --- /dev/null +++ b/packages/github/src/is-contributor.ts @@ -0,0 +1,44 @@ +import { Octokit } from '@octokit/rest' + +/** + * for each repository belonging to the org, retrieves a list of + * contributors. returns true if the user with a given id is + * a contributor in at least one repository, + * false otherwise or if error + */ +export async function isContributor( + accessToken: string, + /** + * @todo strongly type + */ + repos: any[], + userId: string +) { + const octokit = new Octokit({ + auth: `token ${accessToken}`, + }) + + for (let i = 0; i < repos.length; i++) { + const amplifyRepo = repos[i]?.name + + try { + const { data } = await octokit.request( + 'GET /repos/{owner}/{repo}/contributors', + { + owner: process.env.GITHUB_ORG_LOGIN, + repo: amplifyRepo, + } + ) + + const isContributor = data.some( + (contributor) => contributor.id === Number(userId) + ) + if (isContributor) return true + } catch (err: any) { + console.error( + `Error searching for user in repository ${amplifyRepo}: ${err.response.data.message}` + ) + } + } + return false +} diff --git a/packages/github/src/is-org-member.ts b/packages/github/src/is-org-member.ts new file mode 100644 index 00000000..68efa2f8 --- /dev/null +++ b/packages/github/src/is-org-member.ts @@ -0,0 +1,27 @@ +import { Octokit } from '@octokit/rest' + +/** + * returns true if the user is a member of that org + * false otherwise or if error + * (uses access token to determine current user) + */ +export async function isOrgMember(accessToken: string, ghUserId: string) { + const octokit = new Octokit({ + auth: `token ${accessToken}`, + }) + try { + const { data } = await octokit.request('GET /orgs/{org}/members', { + org: process.env.GITHUB_ORG_LOGIN, + }) + const isOrgMember = data.some( + (contributor) => contributor.id === Number(ghUserId) + ) + //if (isOrgMember) return true + return isOrgMember + } catch (err: any) { + console.error( + `Failed to find org member in ${process.env.GITHUB_ORG_LOGIN}: ${err.response.data.message}` + ) + } + return false +} diff --git a/packages/github/src/queries.ts b/packages/github/src/queries.ts index b294036e..077c377e 100644 --- a/packages/github/src/queries.ts +++ b/packages/github/src/queries.ts @@ -1,5 +1,6 @@ import { graphql } from '@octokit/graphql' import { createAppAuth } from '@octokit/auth-app' +import type { GraphQlQueryResponseData } from '@octokit/graphql' const gql = String.raw @@ -128,13 +129,14 @@ async function authenticate() { export async function getRepos() { try { const request = await authenticate() - const { organization } = await request(QUERY_GET_REPOSITORIES, { + const { organization } = (await request(QUERY_GET_REPOSITORIES, { login: process.env.GITHUB_ORG_LOGIN, - }) + })) as GraphQlQueryResponseData if (organization) return organization - } catch (error) { + } catch (cause) { throw new Error( - `Failed to fetch repos for org ${process.env.GITHUB_ORG_LOGIN}: ${error.message}` + `Failed to fetch repos for org ${process.env.GITHUB_ORG_LOGIN}`, + { cause } ) } } @@ -164,8 +166,8 @@ export async function postDiscussion({ clientMutationId: mutationId, }) return response - } catch (error) { - throw new Error(`Failed to post discussion: ${error.message}`) + } catch (cause) { + throw new Error(`Failed to post discussion`, { cause }) } } @@ -188,8 +190,8 @@ export async function postAnswer({ clientMutationId: clientMutationId, }) return response - } catch (error) { - throw new Error(`Failed to post answer: ${error.message}`) + } catch (cause) { + throw new Error(`Failed to post answer`, { cause }) } } @@ -208,8 +210,8 @@ export async function markAnswered({ clientMutationId: clientMutationId, }) return response - } catch (error) { - throw new Error(`Failed to mark solution as answered: ${error.message}`) + } catch (cause) { + throw new Error(`Failed to mark solution as answered`, { cause }) } } @@ -228,7 +230,7 @@ export async function lockDiscussion({ clientMutationId: clientMutationId, }) return response - } catch (error) { - throw new Error(`Failed to lock discussion: ${error.message}`) + } catch (cause) { + throw new Error(`Failed to lock discussion`, { cause }) } } diff --git a/packages/github/tsconfig.json b/packages/github/tsconfig.json index 4082f16a..0e158bfc 100644 --- a/packages/github/tsconfig.json +++ b/packages/github/tsconfig.json @@ -1,3 +1,4 @@ { - "extends": "../../tsconfig.json" + "extends": "../../tsconfig.json", + "include": ["src/**/*", "tests/**/*", "env.d.ts"] } diff --git a/packages/github/tsup.config.ts b/packages/github/tsup.config.ts index 62b907fe..efaaccb4 100644 --- a/packages/github/tsup.config.ts +++ b/packages/github/tsup.config.ts @@ -11,5 +11,5 @@ export default defineConfig({ dts: true, sourcemap: true, clean: true, - target: 'node', + target: 'node18', }) diff --git a/packages/github/vitest.config.ts b/packages/github/vitest.config.ts new file mode 100644 index 00000000..88528db4 --- /dev/null +++ b/packages/github/vitest.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + globals: true, + include: ['tests/**/*.test.ts'], + }, +}) From 263ae356d7d3195f086576e14888b6f0199c03c4 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 13:41:23 -0800 Subject: [PATCH 26/79] rm unecessary external value --- packages/features/tsup.config.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/features/tsup.config.ts b/packages/features/tsup.config.ts index 62b907fe..abe5f875 100644 --- a/packages/features/tsup.config.ts +++ b/packages/features/tsup.config.ts @@ -7,9 +7,8 @@ export default defineConfig({ entry: ['src/index.ts'], format: ['esm'], outDir: 'build', - external: ['./src/generated/client/index.js'], dts: true, sourcemap: true, clean: true, - target: 'node', + target: 'node18', }) From 9692173793b08f7bbbe4b261bfd4e8a76443a66c Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 13:41:32 -0800 Subject: [PATCH 27/79] mv applyRoles to app code --- apps/bot.amplify.aws/src/lib/apply-roles.ts | 114 +++++++++ .../tests/lib/apply-roles.test.ts | 230 ++++++++++++++++++ 2 files changed, 344 insertions(+) create mode 100644 apps/bot.amplify.aws/src/lib/apply-roles.ts create mode 100644 apps/bot.amplify.aws/tests/lib/apply-roles.test.ts diff --git a/apps/bot.amplify.aws/src/lib/apply-roles.ts b/apps/bot.amplify.aws/src/lib/apply-roles.ts new file mode 100644 index 00000000..e24b830d --- /dev/null +++ b/apps/bot.amplify.aws/src/lib/apply-roles.ts @@ -0,0 +1,114 @@ +import { addRole, removeRole } from '@hey-amplify/discord' +import { isOrgMember, isContributor, fetchOrgRepos } from '@hey-amplify/github' +import { ACCESS_LEVELS } from '@hey-amplify/constants' +import { prisma } from './db' + +/** driver code that checks github membership/contribution status and applies roles */ +export async function applyRoles( + userId: string, + ghUserId: string, + accessToken: string, + guildId: string = import.meta.env.VITE_DISCORD_GUILD_ID +) { + let discUserId + let staffResponse = true + let contributorResponse = true + + // retrieve discord user id for current user + const data = await prisma.user.findUnique({ + where: { + id: userId, + }, + select: { + accounts: { + where: { + provider: 'discord', + }, + }, + }, + }) + if (data?.accounts?.length === 1) { + discUserId = data.accounts[0].providerAccountId + } + + if (!discUserId) return false + + const isGitHubOrgMember = await isOrgMember(accessToken, ghUserId) + + const config = await prisma.configuration.findUnique({ + where: { + id: guildId, + }, + select: { + id: true, + roles: { + select: { + accessLevelId: true, + discordRoleId: true, + }, + where: { + accessLevelId: { + in: [ACCESS_LEVELS.STAFF, ACCESS_LEVELS.CONTRIBUTOR], + }, + }, + }, + }, + }) + + if (!config?.roles?.some((r) => !!r.discordRoleId)) { + console.error('No roles found') + return + } + + const staffRoleId = config.roles.find( + (r) => r.accessLevelId === ACCESS_LEVELS.STAFF + )?.discordRoleId + const contributorRoleId = config.roles.find( + (r) => r.accessLevelId === ACCESS_LEVELS.CONTRIBUTOR + )?.discordRoleId + + // user is member of amplify org -> apply staff role + if (staffRoleId) { + if (isGitHubOrgMember) { + staffResponse = await addRole(staffRoleId, config.id, discUserId) + } else if ( + // user is NOT member of amplify org -> remove role + !isGitHubOrgMember + ) { + staffResponse = await removeRole(staffRoleId, config.id, discUserId) + } + } else { + console.error('No staff role found, skipping...') + } + + if (contributorRoleId) { + const repos = await fetchOrgRepos(accessToken) + if (repos?.length) { + const userIsContributor = await isContributor( + accessToken, + repos, + ghUserId + ) + + // user is a contributor -> apply role + if (userIsContributor) { + contributorResponse = await addRole( + contributorRoleId, + config.id, + discUserId + ) + // user is NOT a contributor -> remove role + } else if (!userIsContributor) { + contributorResponse = await removeRole( + contributorRoleId, + config.id, + discUserId + ) + } + } + } else { + console.error('No contributor role found, skipping...') + } + // if removal/addition of either role failed, return false + return contributorResponse && staffResponse +} diff --git a/apps/bot.amplify.aws/tests/lib/apply-roles.test.ts b/apps/bot.amplify.aws/tests/lib/apply-roles.test.ts new file mode 100644 index 00000000..345f677c --- /dev/null +++ b/apps/bot.amplify.aws/tests/lib/apply-roles.test.ts @@ -0,0 +1,230 @@ +import { createAppAuth } from '@octokit/auth-app' +import { addRole, removeRole } from '@hey-amplify/discord' +import { ACCESS_LEVELS } from '@hey-amplify/constants' +import { prisma } from '../src/prisma' +import { isOrgMember } from '../src/is-org-member' +import { isContributor } from '../src/is-contributor' +import { fetchOrgRepos } from '../src/fetch-org-repos' + +test.runIf(process.env.GITHUB_TESTS_ENABLED)( + 'only test if app secrets are enabled', + async () => { + const { privateKey } = JSON.parse(process.env.GITHUB_PRIVATE_KEY) + const id = 'cl4n0kjqd0006iqtda15yzzcw' + const ghUserId = '107655607' + const guildMemberId = '985985131271585833' + + let token: string, repos: [] + + const config = await prisma.configuration.findUnique({ + where: { + id: import.meta.env.VITE_DISCORD_GUILD_ID, + }, + select: { + id: true, + roles: { + select: { + accessLevelId: true, + discordRoleId: true, + }, + where: { + accessLevelId: { + in: [ACCESS_LEVELS.STAFF, ACCESS_LEVELS.CONTRIBUTOR], + }, + }, + }, + }, + }) + + if (!config?.roles?.some((r) => !!r.discordRoleId)) { + console.error('No roles found') + return + } + + // type cast to string because this data will be seeded in test db + const staffRoleId = config.roles.find( + (r) => r.accessLevelId === ACCESS_LEVELS.STAFF + )?.discordRoleId as string + const contributorRoleId = config.roles.find( + (r) => r.accessLevelId === ACCESS_LEVELS.CONTRIBUTOR + )?.discordRoleId as string + + beforeAll(async () => { + const auth = createAppAuth({ + appId: process.env.GITHUB_APP_ID, + privateKey: privateKey, + clientId: process.env.GITHUB_CLIENT_ID, + clientSecret: process.env.GITHUB_CLIENT_SECRET, + }) + + try { + const data = await auth({ + type: 'installation', + installationId: process.env.GITHUB_INSTALLATION_ID, + }) + token = data.token + } catch (err) { + console.log(err) + } + repos = await fetchOrgRepos(token) + + await addRole(staffRoleId, config.id, guildMemberId) + await addRole(contributorRoleId, config.id, guildMemberId) + }) + + describe('Successful adding and removal of roles', () => { + test('Fetch org repos', async () => { + const response = await fetchOrgRepos(token) + expect(response).toEqual(repos) + }) + test('Is org member', async () => { + const response = await isOrgMember(token, ghUserId) + expect(response).toBeTruthy() + }) + test('Is org contributor', async () => { + const response = await isContributor(token, repos, ghUserId) + expect(response).toBe(true) + }, 20000) + test('Remove staff role', async () => { + const response = await removeRole(staffRoleId, config.id, guildMemberId) + expect(response).toBeTruthy() + }) + test('Add staff role', async () => { + const response = await addRole(staffRoleId, config.id, guildMemberId) + expect(response).toBeTruthy() + }) + test('Remove contributor role', async () => { + const response = await removeRole( + contributorRoleId, + config.id, + guildMemberId + ) + expect(response).toBeTruthy() + }) + test('Add contributor role', async () => { + const response = await addRole( + contributorRoleId, + config.id, + guildMemberId + ) + expect(response).toBeTruthy() + }) + }) + + describe('Failed adding and removal of roles', () => { + test('Fetch org repos bad access token', async () => { + const response = await fetchOrgRepos(`b${token}ad`) + expect(response).toBe(false) + }) + + test('Fetch org repos unknown org', async () => { + const orgLogin = process.env.GITHUB_ORG_LOGIN + process.env.GITHUB_ORG_LOGIN = `${orgLogin}bad` + const response = await fetchOrgRepos(token) + process.env.GITHUB_ORG_LOGIN = orgLogin + expect(response).toBe(false) + }) + + test('Is org member bad access token', async () => { + const response = await isOrgMember(`bad${token}`, ghUserId) + expect(response).toBe(false) + }) + + test('Is org member unknown org', async () => { + const orgLogin = process.env.GITHUB_ORG_LOGIN + process.env.GITHUB_ORG_LOGIN = `bad${orgLogin}` + const response = await isOrgMember(token, ghUserId) + process.env.GITHUB_ORG_LOGIN = orgLogin + expect(response).toBe(false) + }) + + test('Remove role from unknown user', async () => { + const response = await removeRole( + contributorRoleId, + config.id, + `1${guildMemberId}` + ) + expect(response).toBe(false) + }) + + test('Add role to unknown user', async () => { + const response = await addRole( + contributorRoleId, + config.id, + `1${guildMemberId}` + ) + expect(response).toBe(false) + }) + + test('Add unknown role', async () => { + const response = await addRole( + `1${contributorRoleId}`, + config.id, + guildMemberId + ) + expect(response).toBe(false) + }) + + test('Add role in unknown guild', async () => { + const response = await addRole( + contributorRoleId, + `123${config.id}`, + guildMemberId + ) + expect(response).toBe(false) + }) + + test('Is org contributor wrong repos', async () => { + const filtered = repos.filter((repo) => !(repo.name === 'discord-bot')) + const response = await isContributor(token, filtered, ghUserId) + expect(response).toBe(false) + }, 20000) + + test('Is org contributor bad user id', async () => { + const response = await isContributor(token, repos, `bad${ghUserId}`) + expect(response).toBe(false) + }, 20000) + }) + + describe('Test full pipeline success', async () => { + test('Add and remove roles', async () => { + await removeRole(contributorRoleId, config.id, guildMemberId) + await removeRole(staffRoleId, config.id, guildMemberId) + }) + + test('Applying roles full pipeline', async () => { + const response = await applyRoles(id, ghUserId, token) + expect(response).toBeTruthy() + }, 10000) + }) + + describe('Test full pipeline failure', async () => { + test('Add and remove roles', async () => { + await removeRole(contributorRoleId, config.id, guildMemberId) + await removeRole(staffRoleId, config.id, guildMemberId) + }) + + test('Applying roles full pipeline bad user id', async () => { + const response = await applyRoles('baduserid', ghUserId, token) + expect(response).toBe(false) + }, 10000) + + // this returns true, do we need to check for errors here? + it('should return false with bad org login', async () => { + const orgLogin = process.env.GITHUB_ORG_LOGIN + process.env.GITHUB_ORG_LOGIN = "somethingthatdoesn'texist123" + const response = await applyRoles(id, ghUserId, token) + expect(response).toBe(true) + process.env.GITHUB_ORG_LOGIN = orgLogin + }, 10000) + + it('should return false with bad guild id', async () => { + const orgLogin = config.id + config.id = "somethingthatdoesn'texist123" + const response = await applyRoles(id, ghUserId, token) + expect(response).toBe(false) + process.env.GITHUB_ORG_LOGIN = orgLogin + }, 10000) + }) + } +) From 31fffac14e68033e06ab666f1c4194bfb1172b97 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 13:41:49 -0800 Subject: [PATCH 28/79] fix tsup, add vitest, tsconfig --- packages/discord/package.json | 3 ++- packages/discord/tsconfig.json | 6 ++++++ packages/discord/tsup.config.ts | 2 +- packages/discord/vitest.config.ts | 8 ++++++++ 4 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 packages/discord/tsconfig.json create mode 100644 packages/discord/vitest.config.ts diff --git a/packages/discord/package.json b/packages/discord/package.json index 1651677d..70c5b564 100644 --- a/packages/discord/package.json +++ b/packages/discord/package.json @@ -28,6 +28,7 @@ }, "devDependencies": { "tsup": "^6.5.0", - "typescript": "^4.9.5" + "typescript": "^4.9.5", + "vitest": "^0.28.4" } } diff --git a/packages/discord/tsconfig.json b/packages/discord/tsconfig.json new file mode 100644 index 00000000..a5ff0d6a --- /dev/null +++ b/packages/discord/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "lib": ["esnext"] + } +} diff --git a/packages/discord/tsup.config.ts b/packages/discord/tsup.config.ts index 170f7306..54848a32 100644 --- a/packages/discord/tsup.config.ts +++ b/packages/discord/tsup.config.ts @@ -11,5 +11,5 @@ export default defineConfig({ splitting: false, sourcemap: true, clean: true, - target: 'node', + target: 'node18', }) diff --git a/packages/discord/vitest.config.ts b/packages/discord/vitest.config.ts new file mode 100644 index 00000000..88528db4 --- /dev/null +++ b/packages/discord/vitest.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + globals: true, + include: ['tests/**/*.test.ts'], + }, +}) From a73113f408ca9143aae594385454d0367954d68d Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 14:53:10 -0800 Subject: [PATCH 29/79] improve bot build --- apps/discord-bot/bot.ts | 8 ------ apps/discord-bot/discord-bot.ts | 2 ++ apps/discord-bot/env.d.ts | 2 ++ apps/discord-bot/package.json | 15 ++++++----- apps/discord-bot/tests/bot.test.ts | 1 + apps/discord-bot/tsconfig.json | 5 +++- apps/discord-bot/tsup.config.ts | 15 ----------- apps/discord-bot/vite.config.ts | 42 ++++++++++++++++++++++++++++++ 8 files changed, 59 insertions(+), 31 deletions(-) delete mode 100644 apps/discord-bot/bot.ts create mode 100644 apps/discord-bot/discord-bot.ts create mode 100644 apps/discord-bot/env.d.ts create mode 100644 apps/discord-bot/tests/bot.test.ts delete mode 100644 apps/discord-bot/tsup.config.ts create mode 100644 apps/discord-bot/vite.config.ts diff --git a/apps/discord-bot/bot.ts b/apps/discord-bot/bot.ts deleted file mode 100644 index c9614d1e..00000000 --- a/apps/discord-bot/bot.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { createClient } from '@hey-amplify/discord' -import { loadEnv } from 'vite' - -if (import.meta.env.DEV) { - loadEnv(import.meta.url, 'development') -} - -createClient() diff --git a/apps/discord-bot/discord-bot.ts b/apps/discord-bot/discord-bot.ts new file mode 100644 index 00000000..52fe304c --- /dev/null +++ b/apps/discord-bot/discord-bot.ts @@ -0,0 +1,2 @@ +import { createBot } from '@hey-amplify/discord' +createBot() diff --git a/apps/discord-bot/env.d.ts b/apps/discord-bot/env.d.ts new file mode 100644 index 00000000..97ce4524 --- /dev/null +++ b/apps/discord-bot/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/apps/discord-bot/package.json b/apps/discord-bot/package.json index d752293c..5132ef8a 100644 --- a/apps/discord-bot/package.json +++ b/apps/discord-bot/package.json @@ -4,18 +4,19 @@ "version": "2.0.0-next.0", "description": "A Discord bot for the AWS Amplify community", "scripts": { - "start": "node bin/bot.js", - "build": "tsup", - "dev": "vite-node bin/bot.js" + "start": "node build/bot.js", + "build": "vite build", + "dev": "vite-node bot.js" }, "dependencies": { - "discord.js": "^14.4.0", - "@hey-amplify/discord": "workspace:*" + "discord.js": "^14.4.0" }, "devDependencies": { - "tsup": "^6.5.0", + "@hey-amplify/discord": "workspace:*", + "@hey-amplify/vite-plugin-lib": "workspace:*", "typescript": "^4.9.5", "vite": "^4.1.1", - "vite-node": "^0.28.4" + "vite-node": "^0.28.4", + "vitest": "^0.28.4" } } diff --git a/apps/discord-bot/tests/bot.test.ts b/apps/discord-bot/tests/bot.test.ts new file mode 100644 index 00000000..fb33626e --- /dev/null +++ b/apps/discord-bot/tests/bot.test.ts @@ -0,0 +1 @@ +test.todo('discord-bot') diff --git a/apps/discord-bot/tsconfig.json b/apps/discord-bot/tsconfig.json index 4082f16a..aa333880 100644 --- a/apps/discord-bot/tsconfig.json +++ b/apps/discord-bot/tsconfig.json @@ -1,3 +1,6 @@ { - "extends": "../../tsconfig.json" + "extends": "../../tsconfig.json", + "compilerOptions": { + "resolveJsonModule": true + } } diff --git a/apps/discord-bot/tsup.config.ts b/apps/discord-bot/tsup.config.ts deleted file mode 100644 index 13068989..00000000 --- a/apps/discord-bot/tsup.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig({ - define: { - 'import.meta.env.DEV': 'false', - 'import.meta.vitest': 'undefined', - }, - entry: ['bot.ts'], - format: ['esm'], - outDir: 'bin', - dts: false, - splitting: false, - sourcemap: true, - clean: true, -}) diff --git a/apps/discord-bot/vite.config.ts b/apps/discord-bot/vite.config.ts new file mode 100644 index 00000000..8a382a33 --- /dev/null +++ b/apps/discord-bot/vite.config.ts @@ -0,0 +1,42 @@ +import { resolve } from 'node:path' +import { loadEnv } from 'vite' +import { defineConfig } from 'vitest/config' +import pkg from './package.json' assert { type: 'json' } +import type { UserConfig } from 'vitest/config' + +export default defineConfig(({ mode }) => { + const isDev = mode === 'development' + const envDir = resolve('../../') + + // if we're in development (i.e. running vite-node), load env vars + if (isDev) { + process.env = loadEnv(mode, envDir, ['DISCORD_', 'GITHUB_']) + } + + const config: UserConfig = { + define: { + 'import.meta.vitest': undefined, + }, + // resolve dotenv from project root + envDir, + envPrefix: 'VITE_', + build: { + sourcemap: isDev, + lib: { + entry: 'discord-bot.ts', + name: 'discord-bot', + formats: ['es'], + }, + outDir: 'build', + rollupOptions: { + external: Object.keys(pkg.dependencies || {}), + }, + }, + test: { + globals: true, + include: ['tests/**/*.test.ts'], + }, + } + + return config +}) From 0f3b746a22d5365e22b4cbfe63a95c3334851c9b Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 14:53:18 -0800 Subject: [PATCH 30/79] fix discord build --- packages/discord/env.d.ts | 7 +++++ packages/discord/package.json | 13 ++++---- packages/discord/readme.md | 3 ++ packages/discord/src/client.ts | 9 +----- .../discord/src/commands/_repositories.ts | 30 ++++++++++--------- packages/discord/src/support.ts | 11 +++---- packages/discord/tsconfig.json | 3 +- 7 files changed, 43 insertions(+), 33 deletions(-) create mode 100644 packages/discord/env.d.ts create mode 100644 packages/discord/readme.md diff --git a/packages/discord/env.d.ts b/packages/discord/env.d.ts new file mode 100644 index 00000000..9390eb46 --- /dev/null +++ b/packages/discord/env.d.ts @@ -0,0 +1,7 @@ +/// +/// + +interface ImportMetaEnv { + readonly VITE_HOST: string + readonly VITE_DISCORD_DISCORD_ID: string +} diff --git a/packages/discord/package.json b/packages/discord/package.json index 70c5b564..f3c3179f 100644 --- a/packages/discord/package.json +++ b/packages/discord/package.json @@ -19,16 +19,19 @@ "dependencies": { "@discordjs/builders": "^1.4.0", "@discordjs/rest": "^1.5.0", - "@hey-amplify/constants": "workspace:*", - "@hey-amplify/features": "workspace:*", - "@hey-amplify/github": "workspace:*", + "@faker-js/faker": "^7.6.0", "@hey-amplify/prisma-client": "workspace:*", - "discord.js": "^14.4.0", - "discord-api-types": "^0.37.31" + "discord-api-types": "^0.37.31", + "discord.js": "^14.4.0" }, "devDependencies": { + "@hey-amplify/constants": "workspace:*", + "@hey-amplify/features": "workspace:*", + "@hey-amplify/github": "workspace:*", + "@hey-amplify/type-helpers": "workspace:*", "tsup": "^6.5.0", "typescript": "^4.9.5", + "vite": "^4.1.1", "vitest": "^0.28.4" } } diff --git a/packages/discord/readme.md b/packages/discord/readme.md new file mode 100644 index 00000000..df1716db --- /dev/null +++ b/packages/discord/readme.md @@ -0,0 +1,3 @@ +# @hey-amplify/discord + +Discord helper package with shared code for bot and frontend apps. This package includes `ImportMetaEnv` types that extend Vite, and are required when consuming this package. For example, if we reference `import.meta.env.VITE_HOST` the built JavaScript code will include this reference which will be resolved upon building both the bot and frontend apps diff --git a/packages/discord/src/client.ts b/packages/discord/src/client.ts index 96be2d90..a7edaa92 100644 --- a/packages/discord/src/client.ts +++ b/packages/discord/src/client.ts @@ -199,7 +199,7 @@ client.on(Events.MessageCreate, async (message: Message) => { create: { ownerId: ( await message.channel.fetchStarterMessage() - ).author.id as string, + )?.author.id as string, threadId: message.channel.id, channelName: message.channel.parent!.name, title: message.channel.name, @@ -323,10 +323,3 @@ process.on('exit', () => { console.log('destroying client') client?.destroy() }) - -if (import.meta.hot) { - import.meta.hot.dispose(() => { - console.log('destroying client') - client?.destroy() - }) -} diff --git a/packages/discord/src/commands/_repositories.ts b/packages/discord/src/commands/_repositories.ts index a34767e4..6abbedcb 100644 --- a/packages/discord/src/commands/_repositories.ts +++ b/packages/discord/src/commands/_repositories.ts @@ -1,4 +1,4 @@ -import { getRepos } from '../../github/queries' +import { getRepos } from '@hey-amplify/github' const nameToAlias = new Map([ ['amplify-cli', 'cli'], @@ -24,21 +24,25 @@ async function fetchRepositories() { if (organization?.repositories?.edges?.length) { const repos = organization.repositories.edges return repos - .filter((repo) => nameToAlias.get(repo.node.name)) - .reduce((accumulator, repo) => { - return { ...accumulator, [alias(repo.node.name)]: repo.node.url } - }, {}) + .filter((repo) => nameToAlias.get(repo.node.name)) + .reduce((accumulator, repo) => { + return { ...accumulator, [alias(repo.node.name)]: repo.node.url } + }, {}) } - } catch (error) { - console.error(`Error fetching repositories: ${error.message}`) + } catch (cause) { + console.error(`Error fetching repositories`, { cause }) } return {} } const containsQA = (category: Category) => category?.name === process.env.GITHUB_DISCUSSION_CATEGORY -const getQAIdx = (categories: Category[]) => (categories.findIndex((category) => category.name === process.env.GITHUB_DISCUSSION_CATEGORY)) -const getDiscussion = ({ nodes }: {nodes: Category[]}) => nodes[getQAIdx(nodes)] +const getQAIdx = (categories: Category[]) => + categories.findIndex( + (category) => category.name === process.env.GITHUB_DISCUSSION_CATEGORY + ) +const getDiscussion = ({ nodes }: { nodes: Category[] }) => + nodes[getQAIdx(nodes)] /** Return repositories that have the Q&A category on Discussions enabled */ async function fetchRepositoriesWithDiscussions() { @@ -61,12 +65,10 @@ async function fetchRepositoriesWithDiscussions() { (obj, repo: Repository) => ({ ...obj, [alias(repo.name)]: repo }), {} ) - return res + return res } - } catch (error) { - console.error( - `Error fetching repositories with discussions: ${error.message}` - ) + } catch (cause) { + console.error(`Error fetching repositories with discussions`, { cause }) } return {} } diff --git a/packages/discord/src/support.ts b/packages/discord/src/support.ts index e2e2d191..aa5a9a32 100644 --- a/packages/discord/src/support.ts +++ b/packages/discord/src/support.ts @@ -1,10 +1,11 @@ -import { - type ForumChannel, - type TextChannel, - type ThreadChannel, +import type { + ForumChannel, + TextChannel, + ThreadChannel, + Embed, } from 'discord.js' -export function generateResponse(content, embeds?) { +export function generateResponse(content: string, embeds?: Embed[]) { return { tts: false, content, diff --git a/packages/discord/tsconfig.json b/packages/discord/tsconfig.json index a5ff0d6a..e2efb0bd 100644 --- a/packages/discord/tsconfig.json +++ b/packages/discord/tsconfig.json @@ -2,5 +2,6 @@ "extends": "../../tsconfig.json", "compilerOptions": { "lib": ["esnext"] - } + }, + "include": ["src/**/*", "tests/**/*", "env.d.ts"] } From 9e6f4480c77ae2df5c45b45ae79d7568a40f8c86 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 14:53:29 -0800 Subject: [PATCH 31/79] improve builds, exports --- packages/prisma-client/package.json | 1 + packages/type-helpers/index.d.ts | 1 + packages/type-helpers/package.json | 15 +++++++++++++ .../vite-plugin-lib/src/vite-plugin-lib.ts | 22 ++++++++++++------- packages/vite-plugin-server/tsconfig.json | 2 +- 5 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 packages/type-helpers/index.d.ts create mode 100644 packages/type-helpers/package.json diff --git a/packages/prisma-client/package.json b/packages/prisma-client/package.json index 66137483..bf46e4a2 100644 --- a/packages/prisma-client/package.json +++ b/packages/prisma-client/package.json @@ -11,6 +11,7 @@ "./package.json": "./package.json", "./schema.prisma": "./schema.prisma" }, + "types": "./build/generated/client/index.d.ts", "scripts": { "build": "prisma generate", "db-push": "prisma db push", diff --git a/packages/type-helpers/index.d.ts b/packages/type-helpers/index.d.ts new file mode 100644 index 00000000..a5cdbbae --- /dev/null +++ b/packages/type-helpers/index.d.ts @@ -0,0 +1 @@ +type Flatten = { [K in keyof T]: T[K] } & unknown diff --git a/packages/type-helpers/package.json b/packages/type-helpers/package.json new file mode 100644 index 00000000..398d59a8 --- /dev/null +++ b/packages/type-helpers/package.json @@ -0,0 +1,15 @@ +{ + "name": "@hey-amplify/type-helpers", + "version": "2.0.0-next.0", + "private": true, + "exports": { + ".": { + "types": "./index.d.ts" + }, + "./package.json": "./package.json" + }, + "types": "./index.d.ts", + "devDependencies": { + "typescript": "^4.9.5" + } +} diff --git a/packages/vite-plugin-lib/src/vite-plugin-lib.ts b/packages/vite-plugin-lib/src/vite-plugin-lib.ts index cf0ba366..7650b9f0 100644 --- a/packages/vite-plugin-lib/src/vite-plugin-lib.ts +++ b/packages/vite-plugin-lib/src/vite-plugin-lib.ts @@ -1,5 +1,4 @@ import * as path from 'node:path' -import * as url from 'node:url' import glob from 'fast-glob' import dts from 'vite-plugin-dts' import type { Plugin, ResolvedConfig, UserConfig } from 'vite' @@ -20,11 +19,16 @@ export type VitePluginLibOptions = { * @default "@hey-amplify/tsconfig/base.json" */ tsconfig?: string + /** + * whether to enable DTS generation + */ + dts?: boolean } export const VitePluginLib = ( options: VitePluginLibOptions = { entry: './src/index.ts', + dts: false, } ): Plugin => { let config: ResolvedConfig @@ -75,11 +79,13 @@ export const VitePluginLib = ( } } -export const lib = (options: VitePluginLibOptions): Plugin[] => [ - VitePluginLib(options), - dts({ - tsConfigFilePath: options?.tsconfig || path.resolve('tsconfig.json'), - copyDtsFiles: true, - }), -] +export const lib = (options?: VitePluginLibOptions): Plugin[] => + [ + VitePluginLib(options), + options?.dts && + dts({ + tsConfigFilePath: options?.tsconfig || path.resolve('tsconfig.json'), + copyDtsFiles: true, + }), + ].filter(Boolean) as Plugin[] export default lib diff --git a/packages/vite-plugin-server/tsconfig.json b/packages/vite-plugin-server/tsconfig.json index df4f8c85..4082f16a 100644 --- a/packages/vite-plugin-server/tsconfig.json +++ b/packages/vite-plugin-server/tsconfig.json @@ -1,3 +1,3 @@ { - "extends": "@hey-amplify/tsconfig/base.json" + "extends": "../../tsconfig.json" } From 07a6ae074e434f89046873f9db135a48f10bb4b6 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 14:53:39 -0800 Subject: [PATCH 32/79] update lockfile --- pnpm-lock.yaml | 158 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 136 insertions(+), 22 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 580b483c..6d958b3e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -54,9 +54,11 @@ importers: '@commitlint/cli': ^17.0.3 '@commitlint/config-conventional': ^17.0.3 '@discordjs/rest': ^1.0.1 + '@hey-amplify/constants': workspace:* '@hey-amplify/discord': workspace:* - '@hey-amplify/prisma': workspace:* - '@hey-amplify/scripts': workspace:* + '@hey-amplify/features': workspace:* + '@hey-amplify/github': workspace:* + '@hey-amplify/prisma-client': workspace:* '@hey-amplify/support': workspace:* '@next-auth/prisma-adapter': ^1.0.4 '@octokit/auth-app': ^4.0.5 @@ -110,9 +112,11 @@ importers: '@carbon/charts-svelte': 1.6.4_d3@7.6.1+svelte@3.55.1 '@commitlint/cli': 17.0.3 '@commitlint/config-conventional': 17.0.3 + '@hey-amplify/constants': link:../../packages/constants '@hey-amplify/discord': link:../../packages/discord - '@hey-amplify/prisma': link:../../packages/prisma - '@hey-amplify/scripts': link:../../packages/scripts + '@hey-amplify/features': link:../../packages/features + '@hey-amplify/github': link:../../packages/github + '@hey-amplify/prisma-client': link:../../packages/prisma-client '@hey-amplify/support': link:../../packages/support '@prisma/client': 4.9.0 '@sveltejs/adapter-node': 1.1.7_@sveltejs+kit@1.5.0 @@ -137,19 +141,21 @@ importers: apps/discord-bot: specifiers: '@hey-amplify/discord': workspace:* + '@hey-amplify/vite-plugin-lib': workspace:* discord.js: ^14.4.0 - tsup: ^6.5.0 typescript: ^4.9.5 vite: ^4.1.1 vite-node: ^0.28.4 + vitest: ^0.28.4 dependencies: - '@hey-amplify/discord': link:../../packages/discord discord.js: 14.4.0 devDependencies: - tsup: 6.5.0_typescript@4.9.5 + '@hey-amplify/discord': link:../../packages/discord + '@hey-amplify/vite-plugin-lib': link:../../packages/vite-plugin-lib typescript: 4.9.5 vite: 4.1.1 vite-node: 0.28.4 + vitest: 0.28.4 cdk: specifiers: @@ -187,35 +193,80 @@ importers: specifiers: '@discordjs/builders': ^1.4.0 '@discordjs/rest': ^1.5.0 + '@faker-js/faker': ^7.6.0 '@hey-amplify/constants': workspace:* - '@hey-amplify/prisma': workspace:* + '@hey-amplify/features': workspace:* + '@hey-amplify/github': workspace:* + '@hey-amplify/prisma-client': workspace:* + '@hey-amplify/type-helpers': workspace:* discord-api-types: ^0.37.31 discord.js: ^14.4.0 tsup: ^6.5.0 typescript: ^4.9.5 + vite: ^4.1.1 + vitest: ^0.28.4 dependencies: '@discordjs/builders': 1.4.0 '@discordjs/rest': 1.5.0 - '@hey-amplify/constants': link:../constants - '@hey-amplify/prisma': link:../prisma + '@faker-js/faker': 7.6.0 + '@hey-amplify/prisma-client': link:../prisma-client discord-api-types: 0.37.31 discord.js: 14.4.0 devDependencies: + '@hey-amplify/constants': link:../constants + '@hey-amplify/features': link:../features + '@hey-amplify/github': link:../github + '@hey-amplify/type-helpers': link:../type-helpers tsup: 6.5.0_typescript@4.9.5 typescript: 4.9.5 + vite: 4.1.1 + vitest: 0.28.4 - packages/prisma: + packages/features: specifiers: - '@prisma/client': ^4.9.0 - prisma: ^4.9.0 + '@hey-amplify/constants': workspace:* + '@hey-amplify/prisma-client': workspace:* tsup: ^6.5.0 typescript: ^4.9.5 + dependencies: + '@hey-amplify/constants': link:../constants + '@hey-amplify/prisma-client': link:../prisma-client devDependencies: - '@prisma/client': 4.9.0_prisma@4.9.0 - prisma: 4.9.0 tsup: 6.5.0_typescript@4.9.5 typescript: 4.9.5 + packages/github: + specifiers: + '@hey-amplify/constants': workspace:* + '@hey-amplify/prisma-client': workspace:* + '@octokit/auth-app': ^4.0.9 + '@octokit/graphql': ^5.0.5 + '@octokit/rest': ^19.0.7 + '@octokit/types': ^9.0.0 + tsup: ^6.5.0 + typescript: ^4.9.5 + vitest: ^0.28.4 + dependencies: + '@hey-amplify/constants': link:../constants + '@hey-amplify/prisma-client': link:../prisma-client + '@octokit/auth-app': 4.0.9 + '@octokit/graphql': 5.0.5 + '@octokit/rest': 19.0.7 + devDependencies: + '@octokit/types': 9.0.0 + tsup: 6.5.0_typescript@4.9.5 + typescript: 4.9.5 + vitest: 0.28.4 + + packages/prisma-client: + specifiers: + '@prisma/client': ^4.9.0 + prisma: ^4.9.0 + dependencies: + '@prisma/client': 4.9.0_prisma@4.9.0 + devDependencies: + prisma: 4.9.0 + packages/scripts: specifiers: '@hey-amplify/support': workspace:* @@ -248,6 +299,12 @@ importers: vite: 3.0.4 vitest: 0.20.3 + packages/type-helpers: + specifiers: + typescript: ^4.9.5 + devDependencies: + typescript: 4.9.5 + packages/vite-plugin-copy-file: specifiers: '@hey-amplify/vite-plugin-lib': workspace:* @@ -1554,6 +1611,11 @@ packages: - supports-color dev: true + /@faker-js/faker/7.6.0: + resolution: {integrity: sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==} + engines: {node: '>=14.0.0', npm: '>=6.0.0'} + dev: false + /@humanwhocodes/config-array/0.11.8: resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} @@ -1622,7 +1684,7 @@ packages: colors: 1.2.5 lodash: 4.17.21 resolve: 1.17.0 - semver: 7.3.7 + semver: 7.3.8 source-map: 0.6.1 typescript: 4.7.4 dev: false @@ -1789,7 +1851,6 @@ packages: /@octokit/openapi-types/16.0.0: resolution: {integrity: sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==} - dev: false /@octokit/plugin-paginate-rest/6.0.0_@octokit+core@4.2.0: resolution: {integrity: sha512-Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw==} @@ -1859,7 +1920,6 @@ packages: resolution: {integrity: sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==} dependencies: '@octokit/openapi-types': 16.0.0 - dev: false /@panva/hkdf/1.0.2: resolution: {integrity: sha512-MSAs9t3Go7GUkMhpKC44T58DJ5KGk2vBo+h1cqQeqlMfdGkxaVB78ZWpv9gYi/g2fa4sopag9gJsNvS8XGgWJA==} @@ -1893,7 +1953,7 @@ packages: dependencies: '@prisma/engines-version': 4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5 prisma: 4.9.0 - dev: true + dev: false /@prisma/engines-version/4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5: resolution: {integrity: sha512-M16aibbxi/FhW7z1sJCX8u+0DriyQYY5AyeTH7plQm9MLnURoiyn3CZBqAyIoQ+Z1pS77usCIibYJWSgleBMBA==} @@ -1901,7 +1961,6 @@ packages: /@prisma/engines/4.9.0: resolution: {integrity: sha512-t1pt0Gsp+HcgPJrHFc+d/ZSAaKKWar2G/iakrE07yeKPNavDP3iVKPpfXP22OTCHZUWf7OelwKJxQgKAm5hkgw==} requiresBuild: true - dev: true /@rollup/plugin-commonjs/24.0.1_rollup@3.14.0: resolution: {integrity: sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==} @@ -1976,7 +2035,7 @@ packages: import-lazy: 4.0.0 jju: 1.4.0 resolve: 1.17.0 - semver: 7.3.7 + semver: 7.3.8 z-schema: 5.0.4 dev: false @@ -5935,7 +5994,6 @@ packages: requiresBuild: true dependencies: '@prisma/engines': 4.9.0 - dev: true /proxy-addr/2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} @@ -6229,6 +6287,7 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 + dev: true /semver/7.3.8: resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} @@ -7546,6 +7605,61 @@ packages: - terser dev: true + /vitest/0.28.4: + resolution: {integrity: sha512-sfWIy0AdlbyGRhunm+TLQEJrFH9XuRPdApfubsyLcDbCRrUX717BRQKInTgzEfyl2Ipi1HWoHB84Nqtcwxogcg==} + engines: {node: '>=v14.16.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/chai': 4.3.4 + '@types/chai-subset': 1.3.3 + '@types/node': 18.11.19 + '@vitest/expect': 0.28.4 + '@vitest/runner': 0.28.4 + '@vitest/spy': 0.28.4 + '@vitest/utils': 0.28.4 + acorn: 8.8.2 + acorn-walk: 8.2.0 + cac: 6.7.14 + chai: 4.3.7 + debug: 4.3.4 + local-pkg: 0.4.2 + pathe: 1.1.0 + picocolors: 1.0.0 + source-map: 0.6.1 + std-env: 3.3.2 + strip-literal: 1.0.1 + tinybench: 2.3.1 + tinypool: 0.3.1 + tinyspy: 1.0.2 + vite: 4.1.1_@types+node@18.11.19 + vite-node: 0.28.4_@types+node@18.11.19 + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /vitest/0.28.4_r26ddduqt3xuel6y6oroghsjvu: resolution: {integrity: sha512-sfWIy0AdlbyGRhunm+TLQEJrFH9XuRPdApfubsyLcDbCRrUX717BRQKInTgzEfyl2Ipi1HWoHB84Nqtcwxogcg==} engines: {node: '>=v14.16.0'} From c52174ab2b3e846f39ab22befcf17cc65d9ae292 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 15:15:31 -0800 Subject: [PATCH 33/79] improve discord-bot build --- apps/discord-bot/package.json | 2 +- apps/discord-bot/readme.md | 3 +++ .../{bot.test.ts => discord-bot.test.ts} | 0 apps/discord-bot/tsup.config.ts | 25 +++++++++++++++++++ apps/discord-bot/vite.config.ts | 6 ++++- 5 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 apps/discord-bot/readme.md rename apps/discord-bot/tests/{bot.test.ts => discord-bot.test.ts} (100%) create mode 100644 apps/discord-bot/tsup.config.ts diff --git a/apps/discord-bot/package.json b/apps/discord-bot/package.json index 5132ef8a..423069b8 100644 --- a/apps/discord-bot/package.json +++ b/apps/discord-bot/package.json @@ -1,5 +1,5 @@ { - "name": "@hey-amplify/discord-bot", + "name": "@aws-amplify/discord-bot", "type": "module", "version": "2.0.0-next.0", "description": "A Discord bot for the AWS Amplify community", diff --git a/apps/discord-bot/readme.md b/apps/discord-bot/readme.md new file mode 100644 index 00000000..9e6d34a1 --- /dev/null +++ b/apps/discord-bot/readme.md @@ -0,0 +1,3 @@ +# @aws-amplify/discord-bot + +Discord Bot project for AWS Amplify community Discord server diff --git a/apps/discord-bot/tests/bot.test.ts b/apps/discord-bot/tests/discord-bot.test.ts similarity index 100% rename from apps/discord-bot/tests/bot.test.ts rename to apps/discord-bot/tests/discord-bot.test.ts diff --git a/apps/discord-bot/tsup.config.ts b/apps/discord-bot/tsup.config.ts new file mode 100644 index 00000000..6c68f088 --- /dev/null +++ b/apps/discord-bot/tsup.config.ts @@ -0,0 +1,25 @@ +import { resolve } from 'node:path' +import { defineConfig } from 'tsup' +import { loadEnv } from 'vite' + +// this isn't being used, but it's here to show that it's possible +// discord package will need to migrate away from import.meta.env to build with tsup + +export default defineConfig(({ mode }) => { + const isDev = mode === 'development' + const envDir = resolve('../../') + return { + // statically replace 'import.meta.env' with actual values + // define: loadEnv(mode, envDir, 'VITE_'), + env: isDev && loadEnv(mode, envDir, ['DISCORD_', 'GITHUB_']), + entry: ['discord-bot.ts'], + format: ['esm'], + outDir: 'build', + dts: false, + splitting: false, + sourcemap: isDev, + minify: !isDev, + clean: true, + target: 'node18', + } +}) diff --git a/apps/discord-bot/vite.config.ts b/apps/discord-bot/vite.config.ts index 8a382a33..767e3e93 100644 --- a/apps/discord-bot/vite.config.ts +++ b/apps/discord-bot/vite.config.ts @@ -1,4 +1,5 @@ import { resolve } from 'node:path' +import { builtinModules } from 'node:module' import { loadEnv } from 'vite' import { defineConfig } from 'vitest/config' import pkg from './package.json' assert { type: 'json' } @@ -27,10 +28,13 @@ export default defineConfig(({ mode }) => { name: 'discord-bot', formats: ['es'], }, + minify: !isDev, outDir: 'build', rollupOptions: { - external: Object.keys(pkg.dependencies || {}), + input: 'discord-bot.ts', + external: [...builtinModules, ...Object.keys(pkg.dependencies || {})], }, + ssr: true, }, test: { globals: true, From e746ce6c4658c429571ede05b58a9bb24c579808 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 15:15:47 -0800 Subject: [PATCH 34/79] fix missing discord.js types, add devDep --- apps/bot.amplify.aws/package.json | 1 + .../src/routes/dashboard/+page.server.ts | 19 +++++++++---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/bot.amplify.aws/package.json b/apps/bot.amplify.aws/package.json index d115c286..c79e7138 100644 --- a/apps/bot.amplify.aws/package.json +++ b/apps/bot.amplify.aws/package.json @@ -50,6 +50,7 @@ "carbon-icons-svelte": "^11.2.0", "carbon-preprocess-svelte": "^0.9.1", "d3": "^7.6.1", + "discord.js": "^14.7.1", "jsdom": "^20.0.0", "svelte-check": "^3.0.3", "svelte-preprocess": "^5.0.1", diff --git a/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts b/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts index 08c40eb3..8b022de7 100644 --- a/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts @@ -1,22 +1,21 @@ -import { type ForumChannel, type TextChannel } from 'discord.js' import { Routes, type APIPartialChannel, type APIGuildPreview, } from 'discord-api-types/v10' -import { api } from '@hey-amplify/discord' +import { api, isHelpChannel } from '@hey-amplify/discord' import { ACCESS_LEVELS } from '@hey-amplify/constants' import { prisma } from '$lib/db' -import { isHelpChannel } from '$lib/discord/support' import { getGitHubMembers } from './helpers/github' -import { - type Contributor, - type Contributors, - type GitHubUser, - type Question, - type Questions, +import type { ForumChannel, TextChannel } from 'discord.js' +import type { + Contributor, + Contributors, + GitHubUser, + Question, + Questions, } from './types' -import { type PageServerLoad } from './$types' +import type { PageServerLoad } from './$types' async function fetchHelpChannels(guildId: string): Promise { try { From 876afbe5b731aa7c7f6a8a5d55d5058b678cbac2 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 15:15:54 -0800 Subject: [PATCH 35/79] update lockfile --- pnpm-lock.yaml | 57 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6d958b3e..cb1235c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -77,6 +77,7 @@ importers: cookie: ^0.5.0 d3: ^7.6.1 discord-api-types: ^0.37.10 + discord.js: ^14.7.1 fast-glob: ^3.2.11 fuzzy: ^0.1.3 jsdom: ^20.0.0 @@ -129,6 +130,7 @@ importers: carbon-icons-svelte: 11.4.0 carbon-preprocess-svelte: 0.9.1_svelte@3.55.1 d3: 7.6.1 + discord.js: 14.7.1 jsdom: 20.0.0 svelte-check: 3.0.3_svelte@3.55.1 svelte-preprocess: 5.0.1_4x7phaipmicbaooxtnresslofa @@ -143,6 +145,7 @@ importers: '@hey-amplify/discord': workspace:* '@hey-amplify/vite-plugin-lib': workspace:* discord.js: ^14.4.0 + tsup: ^6.5.0 typescript: ^4.9.5 vite: ^4.1.1 vite-node: ^0.28.4 @@ -152,6 +155,7 @@ importers: devDependencies: '@hey-amplify/discord': link:../../packages/discord '@hey-amplify/vite-plugin-lib': link:../../packages/vite-plugin-lib + tsup: 6.5.0_typescript@4.9.5 typescript: 4.9.5 vite: 4.1.1 vite-node: 0.28.4 @@ -209,13 +213,13 @@ importers: '@discordjs/builders': 1.4.0 '@discordjs/rest': 1.5.0 '@faker-js/faker': 7.6.0 - '@hey-amplify/prisma-client': link:../prisma-client discord-api-types: 0.37.31 discord.js: 14.4.0 devDependencies: '@hey-amplify/constants': link:../constants '@hey-amplify/features': link:../features '@hey-amplify/github': link:../github + '@hey-amplify/prisma-client': link:../prisma-client '@hey-amplify/type-helpers': link:../type-helpers tsup: 6.5.0_typescript@4.9.5 typescript: 4.9.5 @@ -1334,7 +1338,6 @@ packages: fast-deep-equal: 3.1.3 ts-mixer: 6.0.2 tslib: 2.5.0 - dev: false /@discordjs/collection/1.1.0: resolution: {integrity: sha512-PQ2Bv6pnT7aGPCKWbvvNRww5tYCGpggIQVgpuF9TdDPeR6n6vQYxezXiLVOS9z2B62Dp4c+qepQ15SgJbLYtCQ==} @@ -1344,7 +1347,6 @@ packages: /@discordjs/collection/1.3.0: resolution: {integrity: sha512-ylt2NyZ77bJbRij4h9u/wVy7qYw/aDqQLWnadjvDqW/WoWCxrsX6M3CIw9GVP5xcGCDxsrKj5e0r5evuFYwrKg==} engines: {node: '>=16.9.0'} - dev: false /@discordjs/rest/1.1.0: resolution: {integrity: sha512-yCrthRTQeUyNThQEpCk7bvQJlwQmz6kU0tf3dcWBv2WX3Bncl41x7Wc+v5b5OsIxfNYq38PvVtWircu9jtYZug==} @@ -1371,12 +1373,10 @@ packages: file-type: 18.2.0 tslib: 2.5.0 undici: 5.18.0 - dev: false /@discordjs/util/0.1.0: resolution: {integrity: sha512-e7d+PaTLVQav6rOc2tojh2y6FE8S7REkqLldq1XF4soCx74XB/DIjbVbVLtBemf0nLW77ntz0v+o5DytKwFNLQ==} engines: {node: '>=16.9.0'} - dev: false /@esbuild/android-arm/0.15.9: resolution: {integrity: sha512-VZPy/ETF3fBG5PiinIkA0W/tlsvlEgJccyN2DzWZEl0DlVKRbu91PvY2D6Lxgluj4w9QtYHjOWjAT44C+oQ+EQ==} @@ -2058,7 +2058,6 @@ packages: /@sapphire/async-queue/1.5.0: resolution: {integrity: sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} - dev: false /@sapphire/shapeshift/3.8.1: resolution: {integrity: sha512-xG1oXXBhCjPKbxrRTlox9ddaZTvVpOhYLmKmApD/vIWOV1xEYXnpoFs68zHIZBGbqztq6FrUPNPerIrO1Hqeaw==} @@ -2066,12 +2065,10 @@ packages: dependencies: fast-deep-equal: 3.1.3 lodash: 4.17.21 - dev: false /@sapphire/snowflake/3.2.2: resolution: {integrity: sha512-ula2O0kpSZtX9rKXNeQMrHwNd7E4jPDJYUXmEGTFdMRfyfMw+FPyh04oKMjAiDuOi64bYgVkOV3MjK+loImFhQ==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} - dev: false /@sveltejs/adapter-node/1.1.7_@sveltejs+kit@1.5.0: resolution: {integrity: sha512-N93uYDzH8+RlneYdfgS33nudVk9e8JhYy9vPOsJKeMCkWPb5ejJ0D+LUAEuyA1BOyA7ZkaVTupLStAG4nuhT2A==} @@ -2134,7 +2131,6 @@ packages: /@tokenizer/token/0.3.0: resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - dev: false /@tootallnate/once/2.0.0: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} @@ -2323,7 +2319,6 @@ packages: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: '@types/node': 18.11.19 - dev: false /@typescript-eslint/eslint-plugin/5.51.0_b635kmla6dsb4frxfihkw4m47e: resolution: {integrity: sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==} @@ -3658,7 +3653,6 @@ packages: /discord-api-types/0.37.31: resolution: {integrity: sha512-k9DQQ7Wv+ehiF7901qk/FnP47k6O2MHm3meQFee4gUzi5dfGAVLf7SfLNtb4w7G2dmukJyWQtVJEDF9oMb9yuQ==} - dev: false /discord.js/14.4.0: resolution: {integrity: sha512-U2CTmVOep2qgMhbSDzmjd1qFUiuKNQqnnwvEYEh18vyU0looj66+wgcMOXQRq72BUCJM5fi+Hir8gfKZ35J88g==} @@ -3680,6 +3674,27 @@ packages: - utf-8-validate dev: false + /discord.js/14.7.1: + resolution: {integrity: sha512-1FECvqJJjjeYcjSm0IGMnPxLqja/pmG1B0W2l3lUY2Gi4KXiyTeQmU1IxWcbXHn2k+ytP587mMWqva2IA87EbA==} + engines: {node: '>=16.9.0'} + dependencies: + '@discordjs/builders': 1.4.0 + '@discordjs/collection': 1.3.0 + '@discordjs/rest': 1.5.0 + '@discordjs/util': 0.1.0 + '@sapphire/snowflake': 3.2.2 + '@types/ws': 8.5.3 + discord-api-types: 0.37.31 + fast-deep-equal: 3.1.3 + lodash.snakecase: 4.1.1 + tslib: 2.5.0 + undici: 5.18.0 + ws: 8.12.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + /doctrine/3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -4486,7 +4501,6 @@ packages: readable-web-to-node-stream: 3.0.2 strtok3: 7.0.0 token-types: 5.0.1 - dev: false /fill-range/7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} @@ -4851,7 +4865,6 @@ packages: /ieee754/1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: false /ignore/5.2.0: resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} @@ -5845,7 +5858,6 @@ packages: /peek-readable/5.0.0: resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==} engines: {node: '>=14.16'} - dev: false /peek-readable/5.0.0-alpha.5: resolution: {integrity: sha512-pJohF/tDwV3ntnT5+EkUo4E700q/j/OCDuPxtM+5/kFGjyOai/sK4/We4Cy1MB2OiTQliWU5DxPvYIKQAdPqAA==} @@ -6092,7 +6104,6 @@ packages: engines: {node: '>=8'} dependencies: readable-stream: 3.6.0 - dev: false /readdirp/3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} @@ -6581,7 +6592,6 @@ packages: dependencies: '@tokenizer/token': 0.3.0 peek-readable: 5.0.0 - dev: false /strtok3/7.0.0-alpha.9: resolution: {integrity: sha512-G8WxjBFjTZ77toVElv1i7k3jCXNkBB14FVaZ/6LIOka/WGo4La5XHLrU7neFVLdKbXESZf4BejVKZu5maOmocA==} @@ -6861,7 +6871,6 @@ packages: dependencies: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 - dev: false /totalist/3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} @@ -6910,7 +6919,6 @@ packages: /ts-mixer/6.0.2: resolution: {integrity: sha512-zvHx3VM83m2WYCE8XL99uaM7mFwYSkjR2OZti98fabHrwkjsCvgwChda5xctein3xGOyaQhtTeDq/1H/GNvF3A==} - dev: false /ts-morph/14.0.0: resolution: {integrity: sha512-tO8YQ1dP41fw8GVmeQAdNsD8roZi1JMqB7YwZrqU856DvmG5/710e41q2XauzTYrygH9XmMryaFeLo+kdCziyA==} @@ -7836,6 +7844,19 @@ packages: /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + /ws/8.12.0: + resolution: {integrity: sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + /ws/8.8.1: resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==} engines: {node: '>=10.0.0'} From 304d44c54405aae737a2250305f54cbed2d3c4ac Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 15:58:49 -0800 Subject: [PATCH 36/79] fix frontend imports, types --- apps/bot.amplify.aws/src/hooks/index.ts | 2 +- apps/bot.amplify.aws/src/lib/db.ts | 4 ++-- apps/bot.amplify.aws/src/lib/next-auth.ts | 2 +- apps/bot.amplify.aws/src/routes/+layout.server.ts | 2 +- .../src/routes/admin/+page.server.ts | 14 +++++++------- .../src/routes/admin/integrations/+page.server.ts | 2 +- .../admin/integrations/[code]/+page.server.ts | 2 +- .../src/routes/api/admin/+layout.server.ts | 2 +- .../src/routes/api/admin/feature/+server.ts | 5 ++--- .../src/routes/api/switch-guild/+server.ts | 2 +- .../src/routes/dashboard/helpers/channels.ts | 2 +- .../src/routes/dashboard/helpers/contributors.ts | 2 +- .../src/routes/dashboard/helpers/filter.ts | 2 +- apps/bot.amplify.aws/tests/server.ts | 3 +-- 14 files changed, 22 insertions(+), 24 deletions(-) diff --git a/apps/bot.amplify.aws/src/hooks/index.ts b/apps/bot.amplify.aws/src/hooks/index.ts index b9d1f740..ed977696 100644 --- a/apps/bot.amplify.aws/src/hooks/index.ts +++ b/apps/bot.amplify.aws/src/hooks/index.ts @@ -1,10 +1,10 @@ import { GUILD_COOKIE } from '@hey-amplify/constants' import { createBot, getUserAccess } from '@hey-amplify/discord' import { sequence } from '@sveltejs/kit/hooks' -import { type Handle } from '@sveltejs/kit' import cookie from 'cookie' import { prisma, init } from '$lib/db' import { getServerSession, options } from '$lib/next-auth' +import type { Handle } from '@sveltejs/kit' // only load the bot if we're in development (on first request to the server), otherwise the bot will be loaded onto the Node/Express server if (import.meta.env.MODE === 'development') { diff --git a/apps/bot.amplify.aws/src/lib/db.ts b/apps/bot.amplify.aws/src/lib/db.ts index c60b0d18..3ca12418 100644 --- a/apps/bot.amplify.aws/src/lib/db.ts +++ b/apps/bot.amplify.aws/src/lib/db.ts @@ -1,7 +1,7 @@ import { PrismaClient } from '@hey-amplify/prisma-client' import { ACCESS_LEVELS, FEATURE_TYPES } from './constants' -import { integrations, types as featureTypes } from './features/index' -import { createCommandFeatures } from './discord/commands' +import { integrations, types as featureTypes } from '@hey-amplify/features' +import { createCommandFeatures } from '@hey-amplify/discord' export const prisma = new PrismaClient() diff --git a/apps/bot.amplify.aws/src/lib/next-auth.ts b/apps/bot.amplify.aws/src/lib/next-auth.ts index a189ad42..dbe295f3 100644 --- a/apps/bot.amplify.aws/src/lib/next-auth.ts +++ b/apps/bot.amplify.aws/src/lib/next-auth.ts @@ -6,7 +6,7 @@ import DiscordProvider from 'next-auth/providers/discord' import GithubProvider from 'next-auth/providers/github' import { prisma } from '$lib/db' import getFormBody from './support/get-form-body' -import { applyRoles } from './github/apply-roles' +import { applyRoles } from './apply-roles' import type { NextAuthOptions, NextAuthAction } from 'next-auth' import type { OutgoingResponse as NextAuthResponse, diff --git a/apps/bot.amplify.aws/src/routes/+layout.server.ts b/apps/bot.amplify.aws/src/routes/+layout.server.ts index f1efcd63..fc70cab8 100644 --- a/apps/bot.amplify.aws/src/routes/+layout.server.ts +++ b/apps/bot.amplify.aws/src/routes/+layout.server.ts @@ -1,6 +1,6 @@ import { api } from '@hey-amplify/discord' import { Routes, type APIGuild } from 'discord-api-types/v10' -import { type LayoutServerLoad } from './$types' +import type { LayoutServerLoad } from './$types' export const load: LayoutServerLoad = async ({ locals }) => { const defaultGuildId = locals.session?.guild diff --git a/apps/bot.amplify.aws/src/routes/admin/+page.server.ts b/apps/bot.amplify.aws/src/routes/admin/+page.server.ts index 72d8a237..13df02b6 100644 --- a/apps/bot.amplify.aws/src/routes/admin/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/admin/+page.server.ts @@ -1,11 +1,5 @@ import { FEATURE_TYPES } from '@hey-amplify/constants' import { error } from '@sveltejs/kit' -import { - type Configuration, - type Guild, - type DiscordRole, - type Feature, -} from '@prisma/client' import { Routes, type RESTGetAPIApplicationGuildCommandsResult, @@ -18,9 +12,15 @@ import { type Command as CommandType, } from '@hey-amplify/discord' import { prisma } from '$lib/db' -import { type PageServerLoad } from './$types' import { api } from '../api/_discord' import { tabs } from './tabs' +import type { + Configuration, + Guild, + DiscordRole, + Feature, +} from '@hey-amplify/prisma-client' +import type { PageServerLoad } from './$types' type AdminPageReturn = { commands: Array< diff --git a/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts b/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts index 0c6e7b04..b0a54951 100644 --- a/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts @@ -1,7 +1,7 @@ import { prisma } from '$lib/db' import { FEATURE_TYPES } from '@hey-amplify/constants' -import { type PageServerLoad } from './$types' import { createIntegrationHrefFromCode } from '../breadcrumbs' +import type { PageServerLoad } from './$types' export const load: PageServerLoad = async ({ locals }) => { const integrations = await prisma.configurationFeature.findMany({ diff --git a/apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+page.server.ts b/apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+page.server.ts index bcd56447..13406c1e 100644 --- a/apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+page.server.ts @@ -1,5 +1,5 @@ import { prisma } from '$lib/db' -import { type PageServerLoad } from './$types' +import type { PageServerLoad } from './$types' export const load: PageServerLoad = async ({ locals, params }) => { const { code } = params diff --git a/apps/bot.amplify.aws/src/routes/api/admin/+layout.server.ts b/apps/bot.amplify.aws/src/routes/api/admin/+layout.server.ts index 2e02768c..436471d3 100644 --- a/apps/bot.amplify.aws/src/routes/api/admin/+layout.server.ts +++ b/apps/bot.amplify.aws/src/routes/api/admin/+layout.server.ts @@ -1,4 +1,4 @@ -import { type LayoutServerLoad } from './$types' +import type { LayoutServerLoad } from './$types' export const load: LayoutServerLoad = async ({ locals }) => { /** diff --git a/apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts b/apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts index 2ad9d1c3..7f86da43 100644 --- a/apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts @@ -1,7 +1,6 @@ -import { type Feature } from '@prisma/client' -import { type RequestHandler } from '@sveltejs/kit' import { prisma } from '$lib/db' -import { FEATURE_CODES } from '@hey-amplify/constants' +import type { FEATURE_CODES } from '@hey-amplify/constants' +import type { RequestHandler } from '@sveltejs/kit' type Payload = { /** diff --git a/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts b/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts index 5b905aea..312da54a 100644 --- a/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts @@ -1,7 +1,7 @@ -import { type RequestHandler } from '@sveltejs/kit' import cookie from 'cookie' import { z } from 'zod' import { GUILD_COOKIE } from '@hey-amplify/constants' +import type { RequestHandler } from '@sveltejs/kit' const schema = z.object({ guildId: z.string().min(1), diff --git a/apps/bot.amplify.aws/src/routes/dashboard/helpers/channels.ts b/apps/bot.amplify.aws/src/routes/dashboard/helpers/channels.ts index 66bc4ee2..61128cd7 100644 --- a/apps/bot.amplify.aws/src/routes/dashboard/helpers/channels.ts +++ b/apps/bot.amplify.aws/src/routes/dashboard/helpers/channels.ts @@ -1,4 +1,4 @@ -import { type Question, type Questions } from '../types' +import type { Question, Questions } from '../types' export function sortChannels(questions: Question[]) { const counts = questions.reduce((count, question) => { diff --git a/apps/bot.amplify.aws/src/routes/dashboard/helpers/contributors.ts b/apps/bot.amplify.aws/src/routes/dashboard/helpers/contributors.ts index 10029f3e..6900ac72 100644 --- a/apps/bot.amplify.aws/src/routes/dashboard/helpers/contributors.ts +++ b/apps/bot.amplify.aws/src/routes/dashboard/helpers/contributors.ts @@ -1,4 +1,4 @@ -import { type GitHubUser, type Contributor } from '../types' +import type { GitHubUser, Contributor } from '../types' export function getGitHubUsername(gitHubStaff: GitHubUser[], userId: string) { const user = gitHubStaff.find((user) => user.id === Number(userId)) diff --git a/apps/bot.amplify.aws/src/routes/dashboard/helpers/filter.ts b/apps/bot.amplify.aws/src/routes/dashboard/helpers/filter.ts index a3dcea7f..a33cfe21 100644 --- a/apps/bot.amplify.aws/src/routes/dashboard/helpers/filter.ts +++ b/apps/bot.amplify.aws/src/routes/dashboard/helpers/filter.ts @@ -1,4 +1,4 @@ -import { type Contributor, type Question, type Questions } from '../types' +import type { Contributor, Question, Questions } from '../types' function filterByDate(questions: Question[], dates: Date[]): Question[] { return questions.filter( diff --git a/apps/bot.amplify.aws/tests/server.ts b/apps/bot.amplify.aws/tests/server.ts index 42b3a8d7..64331872 100644 --- a/apps/bot.amplify.aws/tests/server.ts +++ b/apps/bot.amplify.aws/tests/server.ts @@ -1,6 +1,4 @@ // @vitest-environment node -import { type Server } from 'node:http' -import { resolve } from 'node:path' import { EOL } from 'node:os' import { installPolyfills } from '@sveltejs/kit/node/polyfills' import request from 'supertest' @@ -19,6 +17,7 @@ import { } from './mock/github-webhook' import { verifyGithubWebhookEvent } from './../src/routes/api/webhooks/_verifyWebhook' import { ACCESS_LEVELS } from '$lib/constants' +import type { Server } from 'node:http' import type { Session } from 'next-auth' let config From 32bb41e658ac502eb6f695f84e2c05c5d8b99b55 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 15:59:11 -0800 Subject: [PATCH 37/79] bump deps, commonjs pkg --- packages/discord/package.json | 6 +++--- packages/prisma-client/package.json | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/discord/package.json b/packages/discord/package.json index f3c3179f..050ff97d 100644 --- a/packages/discord/package.json +++ b/packages/discord/package.json @@ -21,15 +21,15 @@ "@discordjs/rest": "^1.5.0", "@faker-js/faker": "^7.6.0", "@hey-amplify/prisma-client": "workspace:*", - "discord-api-types": "^0.37.31", - "discord.js": "^14.4.0" + "discord-api-types": "^0.37.33", + "discord.js": "^14.7.1" }, "devDependencies": { "@hey-amplify/constants": "workspace:*", "@hey-amplify/features": "workspace:*", "@hey-amplify/github": "workspace:*", "@hey-amplify/type-helpers": "workspace:*", - "tsup": "^6.5.0", + "tsup": "^6.6.0", "typescript": "^4.9.5", "vite": "^4.1.1", "vitest": "^0.28.4" diff --git a/packages/prisma-client/package.json b/packages/prisma-client/package.json index bf46e4a2..9cf0d508 100644 --- a/packages/prisma-client/package.json +++ b/packages/prisma-client/package.json @@ -1,11 +1,11 @@ { "name": "@hey-amplify/prisma-client", "private": true, - "type": "module", + "type": "commonjs", "version": "1.0.0", "exports": { ".": { - "import": "./build/generated/client/index.js", + "default": "./build/generated/client/index.js", "types": "./build/generated/client/index.d.ts" }, "./package.json": "./package.json", From a4ae9b5a1d8a21ec13c5dc357cc41c7cff21a7d3 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 11 Feb 2023 15:59:21 -0800 Subject: [PATCH 38/79] update lockfile --- pnpm-lock.yaml | 309 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 296 insertions(+), 13 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cb1235c1..cce00cde 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -143,22 +143,24 @@ importers: apps/discord-bot: specifiers: '@hey-amplify/discord': workspace:* + '@hey-amplify/prisma-client': workspace:^1.0.0 '@hey-amplify/vite-plugin-lib': workspace:* discord.js: ^14.4.0 - tsup: ^6.5.0 typescript: ^4.9.5 vite: ^4.1.1 vite-node: ^0.28.4 + vite-plugin-commonjs: ^0.6.1 vitest: ^0.28.4 dependencies: + '@hey-amplify/prisma-client': link:../../packages/prisma-client discord.js: 14.4.0 devDependencies: '@hey-amplify/discord': link:../../packages/discord '@hey-amplify/vite-plugin-lib': link:../../packages/vite-plugin-lib - tsup: 6.5.0_typescript@4.9.5 typescript: 4.9.5 vite: 4.1.1 vite-node: 0.28.4 + vite-plugin-commonjs: 0.6.1 vitest: 0.28.4 cdk: @@ -203,9 +205,9 @@ importers: '@hey-amplify/github': workspace:* '@hey-amplify/prisma-client': workspace:* '@hey-amplify/type-helpers': workspace:* - discord-api-types: ^0.37.31 - discord.js: ^14.4.0 - tsup: ^6.5.0 + discord-api-types: ^0.37.33 + discord.js: ^14.7.1 + tsup: ^6.6.0 typescript: ^4.9.5 vite: ^4.1.1 vitest: ^0.28.4 @@ -213,15 +215,15 @@ importers: '@discordjs/builders': 1.4.0 '@discordjs/rest': 1.5.0 '@faker-js/faker': 7.6.0 - discord-api-types: 0.37.31 - discord.js: 14.4.0 + '@hey-amplify/prisma-client': link:../prisma-client + discord-api-types: 0.37.33 + discord.js: 14.7.1 devDependencies: '@hey-amplify/constants': link:../constants '@hey-amplify/features': link:../features '@hey-amplify/github': link:../github - '@hey-amplify/prisma-client': link:../prisma-client '@hey-amplify/type-helpers': link:../type-helpers - tsup: 6.5.0_typescript@4.9.5 + tsup: 6.6.0_typescript@4.9.5 typescript: 4.9.5 vite: 4.1.1 vitest: 0.28.4 @@ -1334,7 +1336,7 @@ packages: dependencies: '@discordjs/util': 0.1.0 '@sapphire/shapeshift': 3.8.1 - discord-api-types: 0.37.31 + discord-api-types: 0.37.33 fast-deep-equal: 3.1.3 ts-mixer: 6.0.2 tslib: 2.5.0 @@ -1369,7 +1371,7 @@ packages: '@discordjs/util': 0.1.0 '@sapphire/async-queue': 1.5.0 '@sapphire/snowflake': 3.2.2 - discord-api-types: 0.37.31 + discord-api-types: 0.37.33 file-type: 18.2.0 tslib: 2.5.0 undici: 5.18.0 @@ -1396,6 +1398,15 @@ packages: dev: true optional: true + /@esbuild/android-arm/0.17.7: + resolution: {integrity: sha512-Np6Lg8VUiuzHP5XvHU7zfSVPN4ILdiOhxA1GQ1uvCK2T2l3nI8igQV0c9FJx4hTkq8WGqhGEvn5UuRH8jMkExg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm64/0.16.17: resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} engines: {node: '>=12'} @@ -1405,6 +1416,15 @@ packages: dev: true optional: true + /@esbuild/android-arm64/0.17.7: + resolution: {integrity: sha512-fOUBZvcbtbQJIj2K/LMKcjULGfXLV9R4qjXFsi3UuqFhIRJHz0Fp6kFjsMFI6vLuPrfC5G9Dmh+3RZOrSKY2Lg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64/0.16.17: resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} engines: {node: '>=12'} @@ -1414,6 +1434,15 @@ packages: dev: true optional: true + /@esbuild/android-x64/0.17.7: + resolution: {integrity: sha512-6YILpPvop1rPAvaO/n2iWQL45RyTVTR/1SK7P6Xi2fyu+hpEeX22fE2U2oJd1sfpovUJOWTRdugjddX6QCup3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64/0.16.17: resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} engines: {node: '>=12'} @@ -1423,6 +1452,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64/0.17.7: + resolution: {integrity: sha512-7i0gfFsDt1BBiurZz5oZIpzfxqy5QkJmhXdtrf2Hma/gI9vL2AqxHhRBoI1NeWc9IhN1qOzWZrslhiXZweMSFg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64/0.16.17: resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} engines: {node: '>=12'} @@ -1432,6 +1470,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64/0.17.7: + resolution: {integrity: sha512-hRvIu3vuVIcv4SJXEKOHVsNssM5tLE2xWdb9ZyJqsgYp+onRa5El3VJ4+WjTbkf/A2FD5wuMIbO2FCTV39LE0w==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64/0.16.17: resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} engines: {node: '>=12'} @@ -1441,6 +1488,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64/0.17.7: + resolution: {integrity: sha512-2NJjeQ9kiabJkVXLM3sHkySqkL1KY8BeyLams3ITyiLW10IwDL0msU5Lq1cULCn9zNxt1Seh1I6QrqyHUvOtQw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64/0.16.17: resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} engines: {node: '>=12'} @@ -1450,6 +1506,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64/0.17.7: + resolution: {integrity: sha512-8kSxlbjuLYMoIgvRxPybirHJeW45dflyIgHVs+jzMYJf87QOay1ZUTzKjNL3vqHQjmkSn8p6KDfHVrztn7Rprw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm/0.16.17: resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} engines: {node: '>=12'} @@ -1459,6 +1524,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm/0.17.7: + resolution: {integrity: sha512-07RsAAzznWqdfJC+h3L2UVWwnUHepsFw5GmzySnUspHHb7glJ1+47rvlcH0SeUtoVOs8hF4/THgZbtJRyALaJA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64/0.16.17: resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} engines: {node: '>=12'} @@ -1468,6 +1542,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64/0.17.7: + resolution: {integrity: sha512-43Bbhq3Ia/mGFTCRA4NlY8VRH3dLQltJ4cqzhSfq+cdvdm9nKJXVh4NUkJvdZgEZIkf/ufeMmJ0/22v9btXTcw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32/0.16.17: resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} engines: {node: '>=12'} @@ -1477,6 +1560,15 @@ packages: dev: true optional: true + /@esbuild/linux-ia32/0.17.7: + resolution: {integrity: sha512-ViYkfcfnbwOoTS7xE4DvYFv7QOlW8kPBuccc4erJ0jx2mXDPR7e0lYOH9JelotS9qe8uJ0s2i3UjUvjunEp53A==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64/0.15.9: resolution: {integrity: sha512-O+NfmkfRrb3uSsTa4jE3WApidSe3N5++fyOVGP1SmMZi4A3BZELkhUUvj5hwmMuNdlpzAZ8iAPz2vmcR7DCFQA==} engines: {node: '>=12'} @@ -1495,6 +1587,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64/0.17.7: + resolution: {integrity: sha512-H1g+AwwcqYQ/Hl/sMcopRcNLY/fysIb/ksDfCa3/kOaHQNhBrLeDYw+88VAFV5U6oJL9GqnmUj72m9Nv3th3hA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el/0.16.17: resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} engines: {node: '>=12'} @@ -1504,6 +1605,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el/0.17.7: + resolution: {integrity: sha512-MDLGrVbTGYtmldlbcxfeDPdhxttUmWoX3ovk9u6jc8iM+ueBAFlaXKuUMCoyP/zfOJb+KElB61eSdBPSvNcCEg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64/0.16.17: resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} engines: {node: '>=12'} @@ -1513,6 +1623,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64/0.17.7: + resolution: {integrity: sha512-UWtLhRPKzI+v2bKk4j9rBpGyXbLAXLCOeqt1tLVAt1mfagHpFjUzzIHCpPiUfY3x1xY5e45/+BWzGpqqvSglNw==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64/0.16.17: resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} engines: {node: '>=12'} @@ -1522,6 +1641,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64/0.17.7: + resolution: {integrity: sha512-3C/RTKqZauUwBYtIQAv7ELTJd+H2dNKPyzwE2ZTbz2RNrNhNHRoeKnG5C++eM6nSZWUCLyyaWfq1v1YRwBS/+A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x/0.16.17: resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} engines: {node: '>=12'} @@ -1531,6 +1659,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x/0.17.7: + resolution: {integrity: sha512-x7cuRSCm998KFZqGEtSo8rI5hXLxWji4znZkBhg2FPF8A8lxLLCsSXe2P5utf0RBQflb3K97dkEH/BJwTqrbDw==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64/0.16.17: resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} engines: {node: '>=12'} @@ -1540,6 +1677,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64/0.17.7: + resolution: {integrity: sha512-1Z2BtWgM0Wc92WWiZR5kZ5eC+IetI++X+nf9NMbUvVymt74fnQqwgM5btlTW7P5uCHfq03u5MWHjIZa4o+TnXQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64/0.16.17: resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} engines: {node: '>=12'} @@ -1549,6 +1695,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64/0.17.7: + resolution: {integrity: sha512-//VShPN4hgbmkDjYNCZermIhj8ORqoPNmAnwSPqPtBB0xOpHrXMlJhsqLNsgoBm0zi/5tmy//WyL6g81Uq2c6Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64/0.16.17: resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} engines: {node: '>=12'} @@ -1558,6 +1713,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64/0.17.7: + resolution: {integrity: sha512-IQ8BliXHiOsbQEOHzc7mVLIw2UYPpbOXJQ9cK1nClNYQjZthvfiA6rWZMz4BZpVzHZJ+/H2H23cZwRJ1NPYOGg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64/0.16.17: resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} engines: {node: '>=12'} @@ -1567,6 +1731,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64/0.17.7: + resolution: {integrity: sha512-phO5HvU3SyURmcW6dfQXX4UEkFREUwaoiTgi1xH+CAFKPGsrcG6oDp1U70yQf5lxRKujoSCEIoBr0uFykJzN2g==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64/0.16.17: resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} engines: {node: '>=12'} @@ -1576,6 +1749,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64/0.17.7: + resolution: {integrity: sha512-G/cRKlYrwp1B0uvzEdnFPJ3A6zSWjnsRrWivsEW0IEHZk+czv0Bmiwa51RncruHLjQ4fGsvlYPmCmwzmutPzHA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32/0.16.17: resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} engines: {node: '>=12'} @@ -1585,6 +1767,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32/0.17.7: + resolution: {integrity: sha512-/yMNVlMew07NrOflJdRAZcMdUoYTOCPbCHx0eHtg55l87wXeuhvYOPBQy5HLX31Ku+W2XsBD5HnjUjEUsTXJug==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64/0.16.17: resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} engines: {node: '>=12'} @@ -1594,6 +1785,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64/0.17.7: + resolution: {integrity: sha512-K9/YybM6WZO71x73Iyab6mwieHtHjm9hrPR/a9FBPZmFO3w+fJaM2uu2rt3JYf/rZR24MFwTliI8VSoKKOtYtg==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@eslint/eslintrc/1.4.1: resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2814,6 +3014,16 @@ packages: load-tsconfig: 0.2.3 dev: true + /bundle-require/4.0.1_esbuild@0.17.7: + resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.17' + dependencies: + esbuild: 0.17.7 + load-tsconfig: 0.2.3 + dev: true + /busboy/1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -3654,6 +3864,9 @@ packages: /discord-api-types/0.37.31: resolution: {integrity: sha512-k9DQQ7Wv+ehiF7901qk/FnP47k6O2MHm3meQFee4gUzi5dfGAVLf7SfLNtb4w7G2dmukJyWQtVJEDF9oMb9yuQ==} + /discord-api-types/0.37.33: + resolution: {integrity: sha512-ZMH5RU3q1pvYS+2wGUJ5Zvy8jMGTQ4wCpbDlIQDkbIL/k6kJwBPsXnCg81g2GywlOuf0f8ezakxVSe+sZuY6ig==} + /discord.js/14.4.0: resolution: {integrity: sha512-U2CTmVOep2qgMhbSDzmjd1qFUiuKNQqnnwvEYEh18vyU0looj66+wgcMOXQRq72BUCJM5fi+Hir8gfKZ35J88g==} engines: {node: '>=16.9.0'} @@ -3693,7 +3906,6 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: true /doctrine/3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} @@ -4189,6 +4401,36 @@ packages: '@esbuild/win32-x64': 0.16.17 dev: true + /esbuild/0.17.7: + resolution: {integrity: sha512-+5hHlrK108fT6C6/40juy0w4DYKtyZ5NjfBlTccBdsFutR7WBxpIY633JzZJewdsCy8xWA/u2z0MSniIJwufYg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.17.7 + '@esbuild/android-arm64': 0.17.7 + '@esbuild/android-x64': 0.17.7 + '@esbuild/darwin-arm64': 0.17.7 + '@esbuild/darwin-x64': 0.17.7 + '@esbuild/freebsd-arm64': 0.17.7 + '@esbuild/freebsd-x64': 0.17.7 + '@esbuild/linux-arm': 0.17.7 + '@esbuild/linux-arm64': 0.17.7 + '@esbuild/linux-ia32': 0.17.7 + '@esbuild/linux-loong64': 0.17.7 + '@esbuild/linux-mips64el': 0.17.7 + '@esbuild/linux-ppc64': 0.17.7 + '@esbuild/linux-riscv64': 0.17.7 + '@esbuild/linux-s390x': 0.17.7 + '@esbuild/linux-x64': 0.17.7 + '@esbuild/netbsd-x64': 0.17.7 + '@esbuild/openbsd-x64': 0.17.7 + '@esbuild/sunos-x64': 0.17.7 + '@esbuild/win32-arm64': 0.17.7 + '@esbuild/win32-ia32': 0.17.7 + '@esbuild/win32-x64': 0.17.7 + dev: true + /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -7000,6 +7242,42 @@ packages: - ts-node dev: true + /tsup/6.6.0_typescript@4.9.5: + resolution: {integrity: sha512-HxZE7Hj5yNxLFftCXdcJ+Jsax8dI4oKb0bt8fIvd1g/W0FZ46sU1pFBVo15WpOERFcEMH7Hykey/Q+hKO4s9RQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: ^4.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + dependencies: + bundle-require: 4.0.1_esbuild@0.17.7 + cac: 6.7.14 + chokidar: 3.5.3 + debug: 4.3.4 + esbuild: 0.17.7 + execa: 5.1.1 + globby: 11.1.0 + joycon: 3.1.1 + postcss-load-config: 3.1.4 + resolve-from: 5.0.0 + rollup: 3.14.0 + source-map: 0.8.0-beta.0 + sucrase: 3.29.0 + tree-kill: 1.2.2 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + /tsutils/3.21.0_typescript@4.9.5: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -7322,6 +7600,12 @@ packages: - terser dev: true + /vite-plugin-commonjs/0.6.1: + resolution: {integrity: sha512-UtWqZen2CpbJziFmYRH6fkTew3ExHcIKpB0uLVF8TVGAL0wVTyr6V+TRqWzFyX069u/yWr/AZfYDQCX+Rx34iw==} + dependencies: + fast-glob: 3.2.11 + dev: true + /vite-plugin-dts/1.4.1_vite@3.0.9: resolution: {integrity: sha512-jo7E4ZeheD2o48oGiI3EygPbej7ZkGFHg3GVTt7Wuo6NgzThLvuzGGuduaFpnhJOGi1piDFsu6oui/wDKIIORQ==} engines: {node: '>=12.0.0'} @@ -7855,7 +8139,6 @@ packages: optional: true utf-8-validate: optional: true - dev: true /ws/8.8.1: resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==} From 6e3b9c1c0dd21aedae0d615ce4b095e61b3ba664 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 13 Feb 2023 10:38:16 -0800 Subject: [PATCH 39/79] migrate to moduleResolution nodenext --- packages/discord/env.d.ts | 1 + packages/discord/package.json | 5 ++++- packages/discord/src/client.ts | 8 ++++---- packages/discord/src/commands.ts | 20 +++++++++---------- packages/discord/src/commands/admin.ts | 4 ++-- packages/discord/src/commands/contribute.ts | 2 +- packages/discord/src/commands/github.ts | 2 +- packages/discord/src/commands/giverole.ts | 2 +- packages/discord/src/commands/q.ts | 2 +- .../discord/src/commands/select-answer.ts | 6 +++--- packages/discord/src/commands/thread.ts | 6 +++--- packages/discord/src/get-user-access.ts | 4 ++-- packages/discord/src/index.ts | 16 +++++++-------- packages/discord/src/is-admin-or-staff.ts | 2 +- packages/discord/src/roles/add-role.ts | 2 +- packages/discord/src/roles/remove-role.ts | 2 +- 16 files changed, 44 insertions(+), 40 deletions(-) diff --git a/packages/discord/env.d.ts b/packages/discord/env.d.ts index 9390eb46..87648869 100644 --- a/packages/discord/env.d.ts +++ b/packages/discord/env.d.ts @@ -1,5 +1,6 @@ /// /// +/// interface ImportMetaEnv { readonly VITE_HOST: string diff --git a/packages/discord/package.json b/packages/discord/package.json index 050ff97d..9d2ee042 100644 --- a/packages/discord/package.json +++ b/packages/discord/package.json @@ -20,7 +20,6 @@ "@discordjs/builders": "^1.4.0", "@discordjs/rest": "^1.5.0", "@faker-js/faker": "^7.6.0", - "@hey-amplify/prisma-client": "workspace:*", "discord-api-types": "^0.37.33", "discord.js": "^14.7.1" }, @@ -29,9 +28,13 @@ "@hey-amplify/features": "workspace:*", "@hey-amplify/github": "workspace:*", "@hey-amplify/type-helpers": "workspace:*", + "@hey-amplify/prisma-client": "workspace:*", "tsup": "^6.6.0", "typescript": "^4.9.5", "vite": "^4.1.1", "vitest": "^0.28.4" + }, + "peerDependencies": { + "@hey-amplify/prisma-client": "workspace:*" } } diff --git a/packages/discord/src/client.ts b/packages/discord/src/client.ts index a7edaa92..be852a61 100644 --- a/packages/discord/src/client.ts +++ b/packages/discord/src/client.ts @@ -10,14 +10,14 @@ import { type ThreadChannel, type Guild, } from 'discord.js' -import { prisma } from './prisma' +import { prisma } from './prisma.js' import { commands, createCommandFeatures, syncRegisteredCommandsForGuild, -} from './commands' -import { PREFIXES } from './commands/thread' -import { isHelpChannel, isThreadWithinHelpChannel } from './support' +} from './commands.js' +import { PREFIXES } from './commands/thread.js' +import { isHelpChannel, isThreadWithinHelpChannel } from './support.js' import { integrations } from '@hey-amplify/features' import { FEATURE_TYPES } from '@hey-amplify/constants' diff --git a/packages/discord/src/commands.ts b/packages/discord/src/commands.ts index 7c242c32..e87dd640 100644 --- a/packages/discord/src/commands.ts +++ b/packages/discord/src/commands.ts @@ -13,17 +13,17 @@ import { type ContextMenuCommandInteraction, type InteractionReplyOptions, } from 'discord.js' -import { prisma } from './prisma' +import { prisma } from './prisma.js' import { FEATURE_TYPES } from '@hey-amplify/constants' -import * as admin from './commands/admin' -import * as contribute from './commands/contribute' -import * as github from './commands/github' -import * as giverole from './commands/giverole' -import * as login from './commands/login' -import * as selectAnswer from './commands/select-answer' -import * as thread from './commands/thread' -import * as q from './commands/q' -import { api } from './api' +import * as admin from './commands/admin.js' +import * as contribute from './commands/contribute.js' +import * as github from './commands/github.js' +import * as giverole from './commands/giverole.js' +import * as login from './commands/login.js' +import * as selectAnswer from './commands/select-answer.js' +import * as thread from './commands/thread.js' +import * as q from './commands/q.js' +import { api } from './api.js' export type Command = { name: string diff --git a/packages/discord/src/commands/admin.ts b/packages/discord/src/commands/admin.ts index c0bfdd65..348f10fd 100644 --- a/packages/discord/src/commands/admin.ts +++ b/packages/discord/src/commands/admin.ts @@ -1,8 +1,8 @@ import { SlashCommandBuilder } from '@discordjs/builders' import { faker } from '@faker-js/faker' import { EmbedBuilder, PermissionFlagsBits } from 'discord.js' -import { getUserAccess } from '../get-user-access' -import { prisma } from '../prisma' +import { getUserAccess } from '../get-user-access.js' +import { prisma } from '../prisma.js' import { postDiscussion, postAnswer, diff --git a/packages/discord/src/commands/contribute.ts b/packages/discord/src/commands/contribute.ts index c7dbb9d1..03accdd9 100644 --- a/packages/discord/src/commands/contribute.ts +++ b/packages/discord/src/commands/contribute.ts @@ -1,5 +1,5 @@ import { SlashCommandBuilder } from '@discordjs/builders' -import { repositories } from './_repositories' +import { repositories } from './_repositories.js' import type { ChatInputCommandInteraction, InteractionReplyOptions, diff --git a/packages/discord/src/commands/github.ts b/packages/discord/src/commands/github.ts index f89b9544..995eee42 100644 --- a/packages/discord/src/commands/github.ts +++ b/packages/discord/src/commands/github.ts @@ -1,5 +1,5 @@ import { SlashCommandBuilder } from '@discordjs/builders' -import { repositories } from './_repositories' +import { repositories } from './_repositories.js' import type { ChatInputCommandInteraction } from 'discord.js' export const config = new SlashCommandBuilder() diff --git a/packages/discord/src/commands/giverole.ts b/packages/discord/src/commands/giverole.ts index 9e53e155..028824e8 100644 --- a/packages/discord/src/commands/giverole.ts +++ b/packages/discord/src/commands/giverole.ts @@ -6,7 +6,7 @@ import { type InteractionReplyOptions, type ChatInputCommandInteraction, } from 'discord.js' -import * as MESSAGES from './_messages' +import * as MESSAGES from './_messages.js' export async function handler( interaction: ChatInputCommandInteraction diff --git a/packages/discord/src/commands/q.ts b/packages/discord/src/commands/q.ts index a5d0279c..f040b816 100644 --- a/packages/discord/src/commands/q.ts +++ b/packages/discord/src/commands/q.ts @@ -4,7 +4,7 @@ import { ActionRowBuilder, ButtonBuilder, } from '@discordjs/builders' -import { prisma } from '../prisma' +import { prisma } from '../prisma.js' import type { ButtonInteraction, ChatInputCommandInteraction, diff --git a/packages/discord/src/commands/select-answer.ts b/packages/discord/src/commands/select-answer.ts index 2280b594..93f63412 100644 --- a/packages/discord/src/commands/select-answer.ts +++ b/packages/discord/src/commands/select-answer.ts @@ -1,12 +1,12 @@ import { ContextMenuCommandBuilder } from '@discordjs/builders' import { ApplicationCommandType, EmbedBuilder } from 'discord.js' -import { prisma } from '../prisma' -import { isAdminOrStaff } from '../is-admin-or-staff' +import { prisma } from '../prisma.js' +import { isAdminOrStaff } from '../is-admin-or-staff.js' import type { GuildMember, MessageContextMenuCommandInteraction, } from 'discord.js' -import { parseTitle, parseTitlePrefix, PREFIXES } from './thread' +import { parseTitle, parseTitlePrefix, PREFIXES } from './thread.js' export const config = new ContextMenuCommandBuilder() .setName('select-answer') diff --git a/packages/discord/src/commands/thread.ts b/packages/discord/src/commands/thread.ts index 1497ca11..877ca5b6 100644 --- a/packages/discord/src/commands/thread.ts +++ b/packages/discord/src/commands/thread.ts @@ -1,8 +1,8 @@ import { SlashCommandBuilder } from '@discordjs/builders' import { EmbedBuilder, MessageType } from 'discord.js' -import { prisma } from '../prisma' -import { isThreadWithinHelpChannel } from '../support' -import { isAdminOrStaff } from '../is-admin-or-staff' +import { prisma } from '../prisma.js' +import { isThreadWithinHelpChannel } from '../support.js' +import { isAdminOrStaff } from '../is-admin-or-staff.js' import type { ChatInputCommandInteraction, GuildMember, diff --git a/packages/discord/src/get-user-access.ts b/packages/discord/src/get-user-access.ts index 98a77e9c..e523de88 100644 --- a/packages/discord/src/get-user-access.ts +++ b/packages/discord/src/get-user-access.ts @@ -1,7 +1,7 @@ import { Routes } from 'discord-api-types/v10' import { ACCESS_LEVELS } from '@hey-amplify/constants' -import { prisma } from './prisma' -import { api } from './api' +import { prisma } from './prisma.js' +import { api } from './api.js' import type { APIGuild, APIGuildMember } from 'discord-api-types/v10' export async function getUserAccess( diff --git a/packages/discord/src/index.ts b/packages/discord/src/index.ts index 572c6319..6520bfa8 100644 --- a/packages/discord/src/index.ts +++ b/packages/discord/src/index.ts @@ -1,8 +1,8 @@ -export * from './api' -export * from './client' -export * from './commands' -export * from './get-user-access' -export * from './is-admin-or-staff' -export * from './support' -export * from './roles/add-role' -export * from './roles/remove-role' +export * from './api.js' +export * from './client.js' +export * from './commands.js' +export * from './get-user-access.js' +export * from './is-admin-or-staff.js' +export * from './support.js' +export * from './roles/add-role.js' +export * from './roles/remove-role.js' diff --git a/packages/discord/src/is-admin-or-staff.ts b/packages/discord/src/is-admin-or-staff.ts index d3a91240..802e40ee 100644 --- a/packages/discord/src/is-admin-or-staff.ts +++ b/packages/discord/src/is-admin-or-staff.ts @@ -1,5 +1,5 @@ import { ACCESS_LEVELS } from '@hey-amplify/constants' -import { prisma } from './prisma' +import { prisma } from './prisma.js' import type { GuildMember } from 'discord.js' export async function isAdminOrStaff(user: GuildMember) { diff --git a/packages/discord/src/roles/add-role.ts b/packages/discord/src/roles/add-role.ts index 5fe8c244..23e13d40 100644 --- a/packages/discord/src/roles/add-role.ts +++ b/packages/discord/src/roles/add-role.ts @@ -1,5 +1,5 @@ import { Routes } from 'discord-api-types/v10' -import { api } from '../api' +import { api } from '../api.js' /** applies a role to a given user */ export async function addRole(roleId: string, guildId: string, userId: string) { diff --git a/packages/discord/src/roles/remove-role.ts b/packages/discord/src/roles/remove-role.ts index 0fd79add..79b9037a 100644 --- a/packages/discord/src/roles/remove-role.ts +++ b/packages/discord/src/roles/remove-role.ts @@ -1,5 +1,5 @@ import { Routes } from 'discord-api-types/v10' -import { api } from '../api' +import { api } from '../api.js' /** removes a role from a given user */ export async function removeRole( From ab82bd2e35d98697764e3821f2f957caf3ff2ea3 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 13 Feb 2023 10:39:17 -0800 Subject: [PATCH 40/79] fix dynamic require issue where pkgs are importing cjs --- packages/discord/tsup.config.ts | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/packages/discord/tsup.config.ts b/packages/discord/tsup.config.ts index 54848a32..7bdee342 100644 --- a/packages/discord/tsup.config.ts +++ b/packages/discord/tsup.config.ts @@ -1,15 +1,21 @@ import { defineConfig } from 'tsup' -export default defineConfig({ - define: { - 'import.meta.vitest': 'undefined', - }, - entry: ['src/index.ts'], - format: ['esm'], - outDir: 'build', - dts: true, - splitting: false, - sourcemap: true, - clean: true, - target: 'node18', +export default defineConfig((options) => { + return { + define: { + 'import.meta.vitest': 'undefined', + }, + entry: ['src/index.ts'], + format: ['esm'], + outDir: 'build', + dts: true, + splitting: false, + sourcemap: true, + clean: true, + // https://github.com/evanw/esbuild/issues/946#issuecomment-814703190 + banner: { + js: "import { createRequire as topLevelCreateRequire } from 'module';\n const require = topLevelCreateRequire(import.meta.url);", + }, + target: 'node18', + } }) From eea37a5aabc919f58043e7f7aca64500be52efb7 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 13 Feb 2023 10:45:21 -0800 Subject: [PATCH 41/79] begin typing required process.env vars --- apps/discord-bot/env.d.ts | 15 +++++++++++++++ apps/discord-bot/env.ts | 10 ++++++++++ 2 files changed, 25 insertions(+) create mode 100644 apps/discord-bot/env.ts diff --git a/apps/discord-bot/env.d.ts b/apps/discord-bot/env.d.ts index 97ce4524..c343ac11 100644 --- a/apps/discord-bot/env.d.ts +++ b/apps/discord-bot/env.d.ts @@ -1,2 +1,17 @@ /// /// + +declare global { + namespace NodeJS { + interface ProcessEnv { + readonly VITE_HOST: string + readonly VITE_DISCORD_DISCORD_ID: string + /** + * The URL of the database. + */ + readonly DATABASE_URL: string + } + } +} + +export {} diff --git a/apps/discord-bot/env.ts b/apps/discord-bot/env.ts new file mode 100644 index 00000000..b8a97823 --- /dev/null +++ b/apps/discord-bot/env.ts @@ -0,0 +1,10 @@ +import { z } from 'zod' + +const envSchema = z.object({ + DISCORD_TOKEN: z.string(), + DISCORD_GUILD_ID: z.string(), + DISCORD_APP_ID: z.string(), +}) + +export type ProcessEnv = z.infer +export const env = envSchema.parse(process.env) From 89f9ad28d2cc565a2eb4b788bb53891329519a2f Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 13 Feb 2023 10:45:41 -0800 Subject: [PATCH 42/79] working discord-bot build --- apps/discord-bot/package.json | 18 +++++++------ apps/discord-bot/tsup.config.ts | 8 +++--- apps/discord-bot/vite.config.ts | 46 --------------------------------- 3 files changed, 14 insertions(+), 58 deletions(-) delete mode 100644 apps/discord-bot/vite.config.ts diff --git a/apps/discord-bot/package.json b/apps/discord-bot/package.json index 423069b8..6332f817 100644 --- a/apps/discord-bot/package.json +++ b/apps/discord-bot/package.json @@ -4,19 +4,21 @@ "version": "2.0.0-next.0", "description": "A Discord bot for the AWS Amplify community", "scripts": { - "start": "node build/bot.js", - "build": "vite build", - "dev": "vite-node bot.js" + "start": "node build/discord-bot.js --require build/env.js", + "build": "tsup", + "dev": "vite-node discord-bot.ts" }, "dependencies": { - "discord.js": "^14.4.0" + "@hey-amplify/discord": "workspace:*", + "@hey-amplify/prisma-client": "workspace:^1.0.0", + "discord.js": "^14.7.1", + "zod": "^3.20.6" }, "devDependencies": { - "@hey-amplify/discord": "workspace:*", - "@hey-amplify/vite-plugin-lib": "workspace:*", + "tsup": "^6.6.2", "typescript": "^4.9.5", "vite": "^4.1.1", - "vite-node": "^0.28.4", - "vitest": "^0.28.4" + "vite-node": "^0.28.5", + "vitest": "^0.28.5" } } diff --git a/apps/discord-bot/tsup.config.ts b/apps/discord-bot/tsup.config.ts index 6c68f088..189551c0 100644 --- a/apps/discord-bot/tsup.config.ts +++ b/apps/discord-bot/tsup.config.ts @@ -5,14 +5,14 @@ import { loadEnv } from 'vite' // this isn't being used, but it's here to show that it's possible // discord package will need to migrate away from import.meta.env to build with tsup -export default defineConfig(({ mode }) => { - const isDev = mode === 'development' +export default defineConfig((options) => { + const isDev = !!options.watch const envDir = resolve('../../') return { // statically replace 'import.meta.env' with actual values // define: loadEnv(mode, envDir, 'VITE_'), - env: isDev && loadEnv(mode, envDir, ['DISCORD_', 'GITHUB_']), - entry: ['discord-bot.ts'], + env: isDev && loadEnv('development', envDir, ['DISCORD_', 'GITHUB_']), + entry: ['discord-bot.ts', 'env.ts'], format: ['esm'], outDir: 'build', dts: false, diff --git a/apps/discord-bot/vite.config.ts b/apps/discord-bot/vite.config.ts deleted file mode 100644 index 767e3e93..00000000 --- a/apps/discord-bot/vite.config.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { resolve } from 'node:path' -import { builtinModules } from 'node:module' -import { loadEnv } from 'vite' -import { defineConfig } from 'vitest/config' -import pkg from './package.json' assert { type: 'json' } -import type { UserConfig } from 'vitest/config' - -export default defineConfig(({ mode }) => { - const isDev = mode === 'development' - const envDir = resolve('../../') - - // if we're in development (i.e. running vite-node), load env vars - if (isDev) { - process.env = loadEnv(mode, envDir, ['DISCORD_', 'GITHUB_']) - } - - const config: UserConfig = { - define: { - 'import.meta.vitest': undefined, - }, - // resolve dotenv from project root - envDir, - envPrefix: 'VITE_', - build: { - sourcemap: isDev, - lib: { - entry: 'discord-bot.ts', - name: 'discord-bot', - formats: ['es'], - }, - minify: !isDev, - outDir: 'build', - rollupOptions: { - input: 'discord-bot.ts', - external: [...builtinModules, ...Object.keys(pkg.dependencies || {})], - }, - ssr: true, - }, - test: { - globals: true, - include: ['tests/**/*.test.ts'], - }, - } - - return config -}) From e03a739f71f9daf8357d4fbe48ca91093dc7ba14 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 13 Feb 2023 10:46:07 -0800 Subject: [PATCH 43/79] migrate to nodenext module resolution for esm output --- packages/github/src/index.ts | 8 ++++---- tsconfig.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/github/src/index.ts b/packages/github/src/index.ts index c9cb6c3d..1514596d 100644 --- a/packages/github/src/index.ts +++ b/packages/github/src/index.ts @@ -1,4 +1,4 @@ -export * from './queries' -export * from './fetch-org-repos' -export * from './is-contributor' -export * from './is-org-member' +export * from './queries.js' +export * from './fetch-org-repos.js' +export * from './is-contributor.js' +export * from './is-org-member.js' diff --git a/tsconfig.json b/tsconfig.json index 4d079a09..9718fb04 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,7 @@ "inlineSources": false, "isolatedModules": true, "module": "esnext", - "moduleResolution": "node", + "moduleResolution": "nodenext", "noUnusedLocals": false, "noUnusedParameters": false, "preserveWatchOutput": true, From 62a831948e9a13743c5adfface93a68edb4924ab Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 13 Feb 2023 10:47:24 -0800 Subject: [PATCH 44/79] bump deps --- packages/discord/package.json | 4 +- packages/features/package.json | 2 +- packages/github/package.json | 4 +- packages/prisma-client/package.json | 4 +- pnpm-lock.yaml | 201 ++++++++++++++++------------ 5 files changed, 125 insertions(+), 90 deletions(-) diff --git a/packages/discord/package.json b/packages/discord/package.json index 9d2ee042..496a4181 100644 --- a/packages/discord/package.json +++ b/packages/discord/package.json @@ -29,10 +29,10 @@ "@hey-amplify/github": "workspace:*", "@hey-amplify/type-helpers": "workspace:*", "@hey-amplify/prisma-client": "workspace:*", - "tsup": "^6.6.0", + "tsup": "^6.6.2", "typescript": "^4.9.5", "vite": "^4.1.1", - "vitest": "^0.28.4" + "vitest": "^0.28.5" }, "peerDependencies": { "@hey-amplify/prisma-client": "workspace:*" diff --git a/packages/features/package.json b/packages/features/package.json index e94faca3..a69d6b10 100644 --- a/packages/features/package.json +++ b/packages/features/package.json @@ -21,7 +21,7 @@ "@hey-amplify/prisma-client": "workspace:*" }, "devDependencies": { - "tsup": "^6.5.0", + "tsup": "^6.6.2", "typescript": "^4.9.5" } } diff --git a/packages/github/package.json b/packages/github/package.json index 136ae600..2523f3a3 100644 --- a/packages/github/package.json +++ b/packages/github/package.json @@ -25,8 +25,8 @@ }, "devDependencies": { "@octokit/types": "^9.0.0", - "tsup": "^6.5.0", + "tsup": "^6.6.2", "typescript": "^4.9.5", - "vitest": "^0.28.4" + "vitest": "^0.28.5" } } diff --git a/packages/prisma-client/package.json b/packages/prisma-client/package.json index 9cf0d508..f7492587 100644 --- a/packages/prisma-client/package.json +++ b/packages/prisma-client/package.json @@ -18,9 +18,9 @@ "prepare": "prisma generate" }, "dependencies": { - "@prisma/client": "^4.9.0" + "@prisma/client": "^4.10.1" }, "devDependencies": { - "prisma": "^4.9.0" + "prisma": "^4.10.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cce00cde..23e34777 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -96,6 +96,7 @@ importers: '@aws-crypto/sha256-js': 2.0.1 '@carbon/styles': 1.22.0 '@discordjs/rest': 1.1.0 + '@hey-amplify/prisma-client': link:../../packages/prisma-client '@next-auth/prisma-adapter': 1.0.5_77bhi65b6v5jbrzr36rs2ojwe4 '@octokit/auth-app': 4.0.9 '@octokit/graphql': 5.0.5 @@ -117,7 +118,6 @@ importers: '@hey-amplify/discord': link:../../packages/discord '@hey-amplify/features': link:../../packages/features '@hey-amplify/github': link:../../packages/github - '@hey-amplify/prisma-client': link:../../packages/prisma-client '@hey-amplify/support': link:../../packages/support '@prisma/client': 4.9.0 '@sveltejs/adapter-node': 1.1.7_@sveltejs+kit@1.5.0 @@ -144,24 +144,24 @@ importers: specifiers: '@hey-amplify/discord': workspace:* '@hey-amplify/prisma-client': workspace:^1.0.0 - '@hey-amplify/vite-plugin-lib': workspace:* - discord.js: ^14.4.0 + discord.js: ^14.7.1 + tsup: ^6.6.2 typescript: ^4.9.5 vite: ^4.1.1 - vite-node: ^0.28.4 - vite-plugin-commonjs: ^0.6.1 - vitest: ^0.28.4 + vite-node: ^0.28.5 + vitest: ^0.28.5 + zod: ^3.20.6 dependencies: + '@hey-amplify/discord': link:../../packages/discord '@hey-amplify/prisma-client': link:../../packages/prisma-client - discord.js: 14.4.0 + discord.js: 14.7.1 + zod: 3.20.6 devDependencies: - '@hey-amplify/discord': link:../../packages/discord - '@hey-amplify/vite-plugin-lib': link:../../packages/vite-plugin-lib + tsup: 6.6.2_typescript@4.9.5 typescript: 4.9.5 vite: 4.1.1 - vite-node: 0.28.4 - vite-plugin-commonjs: 0.6.1 - vitest: 0.28.4 + vite-node: 0.28.5 + vitest: 0.28.5 cdk: specifiers: @@ -207,38 +207,38 @@ importers: '@hey-amplify/type-helpers': workspace:* discord-api-types: ^0.37.33 discord.js: ^14.7.1 - tsup: ^6.6.0 + tsup: ^6.6.2 typescript: ^4.9.5 vite: ^4.1.1 - vitest: ^0.28.4 + vitest: ^0.28.5 dependencies: '@discordjs/builders': 1.4.0 '@discordjs/rest': 1.5.0 '@faker-js/faker': 7.6.0 - '@hey-amplify/prisma-client': link:../prisma-client discord-api-types: 0.37.33 discord.js: 14.7.1 devDependencies: '@hey-amplify/constants': link:../constants '@hey-amplify/features': link:../features '@hey-amplify/github': link:../github + '@hey-amplify/prisma-client': link:../prisma-client '@hey-amplify/type-helpers': link:../type-helpers - tsup: 6.6.0_typescript@4.9.5 + tsup: 6.6.2_typescript@4.9.5 typescript: 4.9.5 vite: 4.1.1 - vitest: 0.28.4 + vitest: 0.28.5 packages/features: specifiers: '@hey-amplify/constants': workspace:* '@hey-amplify/prisma-client': workspace:* - tsup: ^6.5.0 + tsup: ^6.6.2 typescript: ^4.9.5 dependencies: '@hey-amplify/constants': link:../constants '@hey-amplify/prisma-client': link:../prisma-client devDependencies: - tsup: 6.5.0_typescript@4.9.5 + tsup: 6.6.2_typescript@4.9.5 typescript: 4.9.5 packages/github: @@ -249,9 +249,9 @@ importers: '@octokit/graphql': ^5.0.5 '@octokit/rest': ^19.0.7 '@octokit/types': ^9.0.0 - tsup: ^6.5.0 + tsup: ^6.6.2 typescript: ^4.9.5 - vitest: ^0.28.4 + vitest: ^0.28.5 dependencies: '@hey-amplify/constants': link:../constants '@hey-amplify/prisma-client': link:../prisma-client @@ -260,18 +260,18 @@ importers: '@octokit/rest': 19.0.7 devDependencies: '@octokit/types': 9.0.0 - tsup: 6.5.0_typescript@4.9.5 + tsup: 6.6.2_typescript@4.9.5 typescript: 4.9.5 - vitest: 0.28.4 + vitest: 0.28.5 packages/prisma-client: specifiers: - '@prisma/client': ^4.9.0 - prisma: ^4.9.0 + '@prisma/client': ^4.10.1 + prisma: ^4.10.1 dependencies: - '@prisma/client': 4.9.0_prisma@4.9.0 + '@prisma/client': 4.10.1_prisma@4.10.1 devDependencies: - prisma: 4.9.0 + prisma: 4.10.1 packages/scripts: specifiers: @@ -2129,8 +2129,8 @@ packages: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: true - /@prisma/client/4.9.0: - resolution: {integrity: sha512-bz6QARw54sWcbyR1lLnF2QHvRW5R/Jxnbbmwh3u+969vUKXtBkXgSgjDA85nji31ZBlf7+FrHDy5x+5ydGyQDg==} + /@prisma/client/4.10.1_prisma@4.10.1: + resolution: {integrity: sha512-VonXLJZybdt8e5XZH5vnIGCRNnIh6OMX1FS3H/yzMGLT3STj5TJ/OkMcednrvELgk8PK89Vo3aSh51MWNO0axA==} engines: {node: '>=14.17'} requiresBuild: true peerDependencies: @@ -2139,9 +2139,11 @@ packages: prisma: optional: true dependencies: - '@prisma/engines-version': 4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5 + '@prisma/engines-version': 4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19 + prisma: 4.10.1 + dev: false - /@prisma/client/4.9.0_prisma@4.9.0: + /@prisma/client/4.9.0: resolution: {integrity: sha512-bz6QARw54sWcbyR1lLnF2QHvRW5R/Jxnbbmwh3u+969vUKXtBkXgSgjDA85nji31ZBlf7+FrHDy5x+5ydGyQDg==} engines: {node: '>=14.17'} requiresBuild: true @@ -2152,14 +2154,16 @@ packages: optional: true dependencies: '@prisma/engines-version': 4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5 - prisma: 4.9.0 + + /@prisma/engines-version/4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19: + resolution: {integrity: sha512-tsjTho7laDhf9EJ9EnDxAPEf7yrigSMDhniXeU4YoWc7azHAs4GPxRi2P9LTFonmHkJLMOLjR77J1oIP8Ife1w==} dev: false /@prisma/engines-version/4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5: resolution: {integrity: sha512-M16aibbxi/FhW7z1sJCX8u+0DriyQYY5AyeTH7plQm9MLnURoiyn3CZBqAyIoQ+Z1pS77usCIibYJWSgleBMBA==} - /@prisma/engines/4.9.0: - resolution: {integrity: sha512-t1pt0Gsp+HcgPJrHFc+d/ZSAaKKWar2G/iakrE07yeKPNavDP3iVKPpfXP22OTCHZUWf7OelwKJxQgKAm5hkgw==} + /@prisma/engines/4.10.1: + resolution: {integrity: sha512-B3tcTxjx196nuAu1GOTKO9cGPUgTFHYRdkPkTS4m5ptb2cejyBlH9X7GOfSt3xlI7p4zAJDshJP4JJivCg9ouA==} requiresBuild: true /@rollup/plugin-commonjs/24.0.1_rollup@3.14.0: @@ -2658,6 +2662,14 @@ packages: chai: 4.3.7 dev: true + /@vitest/expect/0.28.5: + resolution: {integrity: sha512-gqTZwoUTwepwGIatnw4UKpQfnoyV0Z9Czn9+Lo2/jLIt4/AXLTn+oVZxlQ7Ng8bzcNkR+3DqLJ08kNr8jRmdNQ==} + dependencies: + '@vitest/spy': 0.28.5 + '@vitest/utils': 0.28.5 + chai: 4.3.7 + dev: true + /@vitest/runner/0.28.4: resolution: {integrity: sha512-Q8UV6GjDvBSTfUoq0QXVCNpNOUrWu4P2qvRq7ssJWzn0+S0ojbVOxEjMt+8a32X6SdkhF8ak+2nkppsqV0JyNQ==} dependencies: @@ -2666,12 +2678,26 @@ packages: pathe: 1.1.0 dev: true + /@vitest/runner/0.28.5: + resolution: {integrity: sha512-NKkHtLB+FGjpp5KmneQjTcPLWPTDfB7ie+MmF1PnUBf/tGe2OjGxWyB62ySYZ25EYp9krR5Bw0YPLS/VWh1QiA==} + dependencies: + '@vitest/utils': 0.28.5 + p-limit: 4.0.0 + pathe: 1.1.0 + dev: true + /@vitest/spy/0.28.4: resolution: {integrity: sha512-8WuhfXLlvCXpNXEGJW6Gc+IKWI32435fQJLh43u70HnZ1otJOa2Cmg2Wy2Aym47ZnNCP4NolF+8cUPwd0MigKQ==} dependencies: tinyspy: 1.0.2 dev: true + /@vitest/spy/0.28.5: + resolution: {integrity: sha512-7if6rsHQr9zbmvxN7h+gGh2L9eIIErgf8nSKYDlg07HHimCxp4H6I/X/DPXktVPPLQfiZ1Cw2cbDIx9fSqDjGw==} + dependencies: + tinyspy: 1.0.2 + dev: true + /@vitest/ui/0.22.1: resolution: {integrity: sha512-iiM2JN+vzY8pEejUbPPi0EgkEselI3RvrgMPNUOalxQRgtlNVGyMsM0Re99xQsrZ/eBkHgWrlW216gNDoeD5cA==} dependencies: @@ -2688,6 +2714,16 @@ packages: pretty-format: 27.5.1 dev: true + /@vitest/utils/0.28.5: + resolution: {integrity: sha512-UyZdYwdULlOa4LTUSwZ+Paz7nBHGTT72jKwdFSV4IjHF1xsokp+CabMdhjvVhYwkLfO88ylJT46YMilnkSARZA==} + dependencies: + cli-truncate: 3.1.0 + diff: 5.1.0 + loupe: 2.3.6 + picocolors: 1.0.0 + pretty-format: 27.5.1 + dev: true + /JSONStream/1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true @@ -3861,32 +3897,9 @@ packages: resolution: {integrity: sha512-NvDh2Puc3wZQzQt2zLavlI5ewBnLFjI46/NJmvWIs6OC0JOkq7KcmH4s80X2+22mSQ3wUyge2mxq3cGYRT2noQ==} dev: false - /discord-api-types/0.37.31: - resolution: {integrity: sha512-k9DQQ7Wv+ehiF7901qk/FnP47k6O2MHm3meQFee4gUzi5dfGAVLf7SfLNtb4w7G2dmukJyWQtVJEDF9oMb9yuQ==} - /discord-api-types/0.37.33: resolution: {integrity: sha512-ZMH5RU3q1pvYS+2wGUJ5Zvy8jMGTQ4wCpbDlIQDkbIL/k6kJwBPsXnCg81g2GywlOuf0f8ezakxVSe+sZuY6ig==} - /discord.js/14.4.0: - resolution: {integrity: sha512-U2CTmVOep2qgMhbSDzmjd1qFUiuKNQqnnwvEYEh18vyU0looj66+wgcMOXQRq72BUCJM5fi+Hir8gfKZ35J88g==} - engines: {node: '>=16.9.0'} - dependencies: - '@discordjs/builders': 1.4.0 - '@discordjs/collection': 1.1.0 - '@discordjs/rest': 1.5.0 - '@sapphire/snowflake': 3.2.2 - '@types/ws': 8.5.3 - discord-api-types: 0.37.31 - fast-deep-equal: 3.1.3 - lodash.snakecase: 4.1.1 - tslib: 2.5.0 - undici: 5.18.0 - ws: 8.8.1 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - /discord.js/14.7.1: resolution: {integrity: sha512-1FECvqJJjjeYcjSm0IGMnPxLqja/pmG1B0W2l3lUY2Gi4KXiyTeQmU1IxWcbXHn2k+ytP587mMWqva2IA87EbA==} engines: {node: '>=16.9.0'} @@ -3897,7 +3910,7 @@ packages: '@discordjs/util': 0.1.0 '@sapphire/snowflake': 3.2.2 '@types/ws': 8.5.3 - discord-api-types: 0.37.31 + discord-api-types: 0.37.33 fast-deep-equal: 3.1.3 lodash.snakecase: 4.1.1 tslib: 2.5.0 @@ -6241,13 +6254,13 @@ packages: resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} dev: false - /prisma/4.9.0: - resolution: {integrity: sha512-bS96oZ5oDFXYgoF2l7PJ3Mp1wWWfLOo8B/jAfbA2Pn0Wm5Z/owBHzaMQKS3i1CzVBDWWPVnOohmbJmjvkcHS5w==} + /prisma/4.10.1: + resolution: {integrity: sha512-0jDxgg+DruB1kHVNlcspXQB9au62IFfVg9drkhzXudszHNUAQn0lVuu+T8np0uC2z1nKD5S3qPeCyR8u5YFLnA==} engines: {node: '>=14.17'} hasBin: true requiresBuild: true dependencies: - '@prisma/engines': 4.9.0 + '@prisma/engines': 4.10.1 /proxy-addr/2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} @@ -7242,8 +7255,8 @@ packages: - ts-node dev: true - /tsup/6.6.0_typescript@4.9.5: - resolution: {integrity: sha512-HxZE7Hj5yNxLFftCXdcJ+Jsax8dI4oKb0bt8fIvd1g/W0FZ46sU1pFBVo15WpOERFcEMH7Hykey/Q+hKO4s9RQ==} + /tsup/6.6.2_typescript@4.9.5: + resolution: {integrity: sha512-+yQ6SI4rVtp1+YpcYOePumJLEVQ896CDNRt9dJ2L/DeMnLf1+FTOCVw5eioLBH0xLdHgogO9NQ6vPNF5MfkSJw==} engines: {node: '>=14'} hasBin: true peerDependencies: @@ -7531,7 +7544,7 @@ packages: - terser dev: true - /vite-node/0.28.4: + /vite-node/0.28.4_@types+node@18.11.19: resolution: {integrity: sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ==} engines: {node: '>=v14.16.0'} hasBin: true @@ -7543,7 +7556,7 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 source-map-support: 0.5.21 - vite: 4.1.1 + vite: 4.1.1_@types+node@18.11.19 transitivePeerDependencies: - '@types/node' - less @@ -7554,7 +7567,7 @@ packages: - terser dev: true - /vite-node/0.28.4_@types+node@18.11.19: + /vite-node/0.28.4_@types+node@18.7.19: resolution: {integrity: sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ==} engines: {node: '>=v14.16.0'} hasBin: true @@ -7566,7 +7579,7 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 source-map-support: 0.5.21 - vite: 4.1.1_@types+node@18.11.19 + vite: 4.1.1_@types+node@18.7.19 transitivePeerDependencies: - '@types/node' - less @@ -7577,8 +7590,8 @@ packages: - terser dev: true - /vite-node/0.28.4_@types+node@18.7.19: - resolution: {integrity: sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ==} + /vite-node/0.28.5: + resolution: {integrity: sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==} engines: {node: '>=v14.16.0'} hasBin: true dependencies: @@ -7589,7 +7602,7 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 source-map-support: 0.5.21 - vite: 4.1.1_@types+node@18.7.19 + vite: 4.1.1 transitivePeerDependencies: - '@types/node' - less @@ -7600,10 +7613,27 @@ packages: - terser dev: true - /vite-plugin-commonjs/0.6.1: - resolution: {integrity: sha512-UtWqZen2CpbJziFmYRH6fkTew3ExHcIKpB0uLVF8TVGAL0wVTyr6V+TRqWzFyX069u/yWr/AZfYDQCX+Rx34iw==} + /vite-node/0.28.5_@types+node@18.11.19: + resolution: {integrity: sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==} + engines: {node: '>=v14.16.0'} + hasBin: true dependencies: - fast-glob: 3.2.11 + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.1.0 + pathe: 1.1.0 + picocolors: 1.0.0 + source-map: 0.6.1 + source-map-support: 0.5.21 + vite: 4.1.1_@types+node@18.11.19 + transitivePeerDependencies: + - '@types/node' + - less + - sass + - stylus + - sugarss + - supports-color + - terser dev: true /vite-plugin-dts/1.4.1_vite@3.0.9: @@ -7897,7 +7927,7 @@ packages: - terser dev: true - /vitest/0.28.4: + /vitest/0.28.4_r26ddduqt3xuel6y6oroghsjvu: resolution: {integrity: sha512-sfWIy0AdlbyGRhunm+TLQEJrFH9XuRPdApfubsyLcDbCRrUX717BRQKInTgzEfyl2Ipi1HWoHB84Nqtcwxogcg==} engines: {node: '>=v14.16.0'} hasBin: true @@ -7925,12 +7955,14 @@ packages: '@vitest/expect': 0.28.4 '@vitest/runner': 0.28.4 '@vitest/spy': 0.28.4 + '@vitest/ui': 0.22.1 '@vitest/utils': 0.28.4 acorn: 8.8.2 acorn-walk: 8.2.0 cac: 6.7.14 chai: 4.3.7 debug: 4.3.4 + jsdom: 20.0.0 local-pkg: 0.4.2 pathe: 1.1.0 picocolors: 1.0.0 @@ -7952,8 +7984,8 @@ packages: - terser dev: true - /vitest/0.28.4_r26ddduqt3xuel6y6oroghsjvu: - resolution: {integrity: sha512-sfWIy0AdlbyGRhunm+TLQEJrFH9XuRPdApfubsyLcDbCRrUX717BRQKInTgzEfyl2Ipi1HWoHB84Nqtcwxogcg==} + /vitest/0.28.5: + resolution: {integrity: sha512-pyCQ+wcAOX7mKMcBNkzDwEHRGqQvHUl0XnoHR+3Pb1hytAHISgSxv9h0gUiSiYtISXUU3rMrKiKzFYDrI6ZIHA==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: @@ -7977,17 +8009,15 @@ packages: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 '@types/node': 18.11.19 - '@vitest/expect': 0.28.4 - '@vitest/runner': 0.28.4 - '@vitest/spy': 0.28.4 - '@vitest/ui': 0.22.1 - '@vitest/utils': 0.28.4 + '@vitest/expect': 0.28.5 + '@vitest/runner': 0.28.5 + '@vitest/spy': 0.28.5 + '@vitest/utils': 0.28.5 acorn: 8.8.2 acorn-walk: 8.2.0 cac: 6.7.14 chai: 4.3.7 debug: 4.3.4 - jsdom: 20.0.0 local-pkg: 0.4.2 pathe: 1.1.0 picocolors: 1.0.0 @@ -7998,7 +8028,7 @@ packages: tinypool: 0.3.1 tinyspy: 1.0.2 vite: 4.1.1_@types+node@18.11.19 - vite-node: 0.28.4_@types+node@18.11.19 + vite-node: 0.28.5_@types+node@18.11.19 why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -8151,6 +8181,7 @@ packages: optional: true utf-8-validate: optional: true + dev: true /xml-name-validator/4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} @@ -8232,3 +8263,7 @@ packages: /zod/3.20.2: resolution: {integrity: sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==} dev: false + + /zod/3.20.6: + resolution: {integrity: sha512-oyu0m54SGCtzh6EClBVqDDlAYRz4jrVtKwQ7ZnsEmMI9HnzuZFj8QFwAY1M5uniIYACdGvv0PBWPF2kO0aNofA==} + dev: false From e07e92dbe0b156238790f6a2f087bc925d274adf Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 13 Feb 2023 10:47:33 -0800 Subject: [PATCH 45/79] add a readme --- packages/type-helpers/readme.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 packages/type-helpers/readme.md diff --git a/packages/type-helpers/readme.md b/packages/type-helpers/readme.md new file mode 100644 index 00000000..0a130eb5 --- /dev/null +++ b/packages/type-helpers/readme.md @@ -0,0 +1,8 @@ +# @hey-amplify/type-helpers + +internal type helpers package, include in `env.d.ts` + +```ts +// env.d.ts +/// +``` From 05b105d9b6e4a6961be6747ca4e43d455552304f Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 13 Feb 2023 17:28:06 -0800 Subject: [PATCH 46/79] migrate improper import of `constants` package to lib/constants --- apps/bot.amplify.aws/src/hooks/index.ts | 10 ++---- apps/bot.amplify.aws/src/lib/apply-roles.ts | 2 +- .../src/routes/admin/+page.server.ts | 2 +- .../src/routes/admin/+page.svelte | 2 +- .../routes/admin/integrations/+page.server.ts | 2 +- .../src/routes/api/admin/configure/+server.ts | 2 +- .../src/routes/api/admin/feature/+server.ts | 2 +- .../src/routes/api/switch-guild/+server.ts | 2 +- .../webhooks/github-org-membership/+server.ts | 2 +- .../src/routes/dashboard/+page.server.ts | 2 +- apps/bot.amplify.aws/src/server.ts | 32 ------------------- 11 files changed, 11 insertions(+), 49 deletions(-) delete mode 100644 apps/bot.amplify.aws/src/server.ts diff --git a/apps/bot.amplify.aws/src/hooks/index.ts b/apps/bot.amplify.aws/src/hooks/index.ts index ed977696..5841e1d9 100644 --- a/apps/bot.amplify.aws/src/hooks/index.ts +++ b/apps/bot.amplify.aws/src/hooks/index.ts @@ -1,17 +1,11 @@ -import { GUILD_COOKIE } from '@hey-amplify/constants' -import { createBot, getUserAccess } from '@hey-amplify/discord' +import { GUILD_COOKIE } from '$lib/constants' +import { getUserAccess } from '@hey-amplify/discord' import { sequence } from '@sveltejs/kit/hooks' import cookie from 'cookie' import { prisma, init } from '$lib/db' import { getServerSession, options } from '$lib/next-auth' import type { Handle } from '@sveltejs/kit' -// only load the bot if we're in development (on first request to the server), otherwise the bot will be loaded onto the Node/Express server -if (import.meta.env.MODE === 'development') { - await init() - await createBot() -} - function isApiRoute(pathname: URL['pathname']) { return pathname.startsWith('/api') } diff --git a/apps/bot.amplify.aws/src/lib/apply-roles.ts b/apps/bot.amplify.aws/src/lib/apply-roles.ts index e24b830d..59848dbc 100644 --- a/apps/bot.amplify.aws/src/lib/apply-roles.ts +++ b/apps/bot.amplify.aws/src/lib/apply-roles.ts @@ -1,6 +1,6 @@ import { addRole, removeRole } from '@hey-amplify/discord' import { isOrgMember, isContributor, fetchOrgRepos } from '@hey-amplify/github' -import { ACCESS_LEVELS } from '@hey-amplify/constants' +import { ACCESS_LEVELS } from '$lib/constants' import { prisma } from './db' /** driver code that checks github membership/contribution status and applies roles */ diff --git a/apps/bot.amplify.aws/src/routes/admin/+page.server.ts b/apps/bot.amplify.aws/src/routes/admin/+page.server.ts index 13df02b6..e2126ae4 100644 --- a/apps/bot.amplify.aws/src/routes/admin/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/admin/+page.server.ts @@ -1,4 +1,4 @@ -import { FEATURE_TYPES } from '@hey-amplify/constants' +import { FEATURE_TYPES } from '$lib/constants' import { error } from '@sveltejs/kit' import { Routes, diff --git a/apps/bot.amplify.aws/src/routes/admin/+page.svelte b/apps/bot.amplify.aws/src/routes/admin/+page.svelte index 22cd7cf7..a92d4db6 100644 --- a/apps/bot.amplify.aws/src/routes/admin/+page.svelte +++ b/apps/bot.amplify.aws/src/routes/admin/+page.svelte @@ -7,7 +7,7 @@ Toggle, } from 'carbon-components-svelte' import { get } from 'svelte/store' - import { ACCESS_LEVELS } from '@hey-amplify/constants' + import { ACCESS_LEVELS } from '$lib/constants' import { guild, notifications } from '$lib/store' import type { PageServerData } from './$types' diff --git a/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts b/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts index b0a54951..7fed3b28 100644 --- a/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts @@ -1,5 +1,5 @@ import { prisma } from '$lib/db' -import { FEATURE_TYPES } from '@hey-amplify/constants' +import { FEATURE_TYPES } from '$lib/constants' import { createIntegrationHrefFromCode } from '../breadcrumbs' import type { PageServerLoad } from './$types' diff --git a/apps/bot.amplify.aws/src/routes/api/admin/configure/+server.ts b/apps/bot.amplify.aws/src/routes/api/admin/configure/+server.ts index 79c1a79a..3f6be5df 100644 --- a/apps/bot.amplify.aws/src/routes/api/admin/configure/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/admin/configure/+server.ts @@ -1,6 +1,6 @@ import { json } from '@sveltejs/kit' import { prisma } from '$lib/db' -import { ACCESS_LEVELS } from '@hey-amplify/constants' +import { ACCESS_LEVELS } from '$lib/constants' import type { RequestHandler } from '@sveltejs/kit' export const POST: RequestHandler = async ({ request }) => { diff --git a/apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts b/apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts index 7f86da43..b111ec51 100644 --- a/apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/admin/feature/+server.ts @@ -1,5 +1,5 @@ import { prisma } from '$lib/db' -import type { FEATURE_CODES } from '@hey-amplify/constants' +import type { FEATURE_CODES } from '$lib/constants' import type { RequestHandler } from '@sveltejs/kit' type Payload = { diff --git a/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts b/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts index 312da54a..7f9285a1 100644 --- a/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts @@ -1,6 +1,6 @@ import cookie from 'cookie' import { z } from 'zod' -import { GUILD_COOKIE } from '@hey-amplify/constants' +import { GUILD_COOKIE } from '$lib/constants' import type { RequestHandler } from '@sveltejs/kit' const schema = z.object({ diff --git a/apps/bot.amplify.aws/src/routes/api/webhooks/github-org-membership/+server.ts b/apps/bot.amplify.aws/src/routes/api/webhooks/github-org-membership/+server.ts index 7d294f4f..b2be3573 100644 --- a/apps/bot.amplify.aws/src/routes/api/webhooks/github-org-membership/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/webhooks/github-org-membership/+server.ts @@ -1,5 +1,5 @@ import { addRole, removeRole } from '@hey-amplify/discord' -import { ACCESS_LEVELS } from '@hey-amplify/constants' +import { ACCESS_LEVELS } from '$lib/constants' import { json } from '@sveltejs/kit' import { prisma } from '$lib/db' import { verifyGithubWebhookEvent } from '../_verifyWebhook' diff --git a/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts b/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts index 8b022de7..024efe28 100644 --- a/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts @@ -4,7 +4,7 @@ import { type APIGuildPreview, } from 'discord-api-types/v10' import { api, isHelpChannel } from '@hey-amplify/discord' -import { ACCESS_LEVELS } from '@hey-amplify/constants' +import { ACCESS_LEVELS } from '$lib/constants' import { prisma } from '$lib/db' import { getGitHubMembers } from './helpers/github' import type { ForumChannel, TextChannel } from 'discord.js' diff --git a/apps/bot.amplify.aws/src/server.ts b/apps/bot.amplify.aws/src/server.ts deleted file mode 100644 index 208e6a11..00000000 --- a/apps/bot.amplify.aws/src/server.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { createBot } from '@hey-amplify/discord' -import { init } from '$lib/db' -// @ts-expect-error this file is externalized for build -import { handler } from '$sveltekit_handler' -import express from 'express' - -// export for e2e tests -export const app = express() -const PORT = process.env.PORT || 3000 - -// add a route that lives separately from the SvelteKit app -app.get('/healthcheck', (req, res) => { - res.end('ok') -}) - -app.use((req, res, next) => { - res.header('Strict-Transport-Security', 'max-age=31536000; includeSubDomains') - res.header('X-Frame-Options', 'SameOrigin') - res.header('X-XSS-Protection', '1; mode=block') - res.header('X-Content-Type-Options', 'nosniff') - next() -}) - -// let SvelteKit handle everything else, including serving prerendered pages and static assets -app.use(handler) - -// export instance of server for e2e tests -export const server = app.listen(PORT, async () => { - console.log(`listening on port ${PORT}`) - await init() - await createBot() -}) From 22b4dcb56096a5966a4447acf5b36d72464a8de6 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 13 Feb 2023 17:28:18 -0800 Subject: [PATCH 47/79] fix frontend build's prisma issue --- apps/bot.amplify.aws/package.json | 27 +++++++++++---------------- apps/bot.amplify.aws/tsconfig.json | 10 +++++++++- apps/bot.amplify.aws/vite.config.ts | 5 +++++ 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/apps/bot.amplify.aws/package.json b/apps/bot.amplify.aws/package.json index c79e7138..9abb5bfa 100644 --- a/apps/bot.amplify.aws/package.json +++ b/apps/bot.amplify.aws/package.json @@ -12,9 +12,10 @@ "prepare": "svelte-kit sync" }, "dependencies": { - "@aws-crypto/sha256-js": "^2.0.1", - "@carbon/styles": "^1.11.0", - "@discordjs/rest": "^1.0.1", + "@aws-crypto/sha256-js": "^3.0.0", + "@carbon/styles": "^1.22.0", + "@discordjs/rest": "^1.5.0", + "@hey-amplify/prisma-client": "workspace:*", "@next-auth/prisma-adapter": "^1.0.4", "@octokit/auth-app": "^4.0.5", "@octokit/graphql": "^5.0.1", @@ -29,27 +30,21 @@ "zod": "^3.20.2" }, "devDependencies": { - "@carbon/charts": "^1.5.2", - "@carbon/charts-svelte": "^1.5.2", - "@commitlint/cli": "^17.0.3", - "@commitlint/config-conventional": "^17.0.3", + "@carbon/charts": "^1.6.4", + "@carbon/charts-svelte": "^1.6.4", "@hey-amplify/constants": "workspace:*", "@hey-amplify/discord": "workspace:*", "@hey-amplify/features": "workspace:*", "@hey-amplify/github": "workspace:*", - "@hey-amplify/prisma-client": "workspace:*", "@hey-amplify/support": "workspace:*", - "@prisma/client": "^4.9.0", - "@sveltejs/adapter-node": "1.1.7", - "@sveltejs/kit": "1.5.0", + "@sveltejs/adapter-node": "1.2.0", + "@sveltejs/kit": "1.5.6", "@types/cookie": "^0.5.1", - "@types/node": "^18.7.13", - "@types/prettier": "^2.7.0", "@vitest/ui": "^0.22.1", - "carbon-components-svelte": "^0.70.1", - "carbon-icons-svelte": "^11.2.0", + "carbon-components-svelte": "^0.72.3", + "carbon-icons-svelte": "^11.4.0", "carbon-preprocess-svelte": "^0.9.1", - "d3": "^7.6.1", + "d3": "^7.8.2", "discord.js": "^14.7.1", "jsdom": "^20.0.0", "svelte-check": "^3.0.3", diff --git a/apps/bot.amplify.aws/tsconfig.json b/apps/bot.amplify.aws/tsconfig.json index 19b77bd7..5ffbd07f 100644 --- a/apps/bot.amplify.aws/tsconfig.json +++ b/apps/bot.amplify.aws/tsconfig.json @@ -1,5 +1,13 @@ { "extends": "./.svelte-kit/tsconfig.json", - "compilerOptions": {}, + "compilerOptions": { + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true + }, "include": ["./src/**/*.ts", "./src/**/*.svelte", "./tests/**/*.ts"] } diff --git a/apps/bot.amplify.aws/vite.config.ts b/apps/bot.amplify.aws/vite.config.ts index 9fc1cb45..6e86bb50 100644 --- a/apps/bot.amplify.aws/vite.config.ts +++ b/apps/bot.amplify.aws/vite.config.ts @@ -36,6 +36,11 @@ export default defineConfig(({ mode }) => { define: { 'import.meta.vitest': 'undefined', }, + build: { + rollupOptions: { + external: ['@hey-amplify/prisma-client'], + }, + }, optimizeDeps: { include: ['@carbon/charts'], }, From 82560f7b064e341c1ae0557153b554eee7824efb Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 13 Feb 2023 17:28:29 -0800 Subject: [PATCH 48/79] update lockfile --- pnpm-lock.yaml | 260 ++++++++++++++----------------------------------- 1 file changed, 71 insertions(+), 189 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 23e34777..01ea61dd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -47,13 +47,11 @@ importers: apps/bot.amplify.aws: specifiers: - '@aws-crypto/sha256-js': ^2.0.1 - '@carbon/charts': ^1.5.2 - '@carbon/charts-svelte': ^1.5.2 - '@carbon/styles': ^1.11.0 - '@commitlint/cli': ^17.0.3 - '@commitlint/config-conventional': ^17.0.3 - '@discordjs/rest': ^1.0.1 + '@aws-crypto/sha256-js': ^3.0.0 + '@carbon/charts': ^1.6.4 + '@carbon/charts-svelte': ^1.6.4 + '@carbon/styles': ^1.22.0 + '@discordjs/rest': ^1.5.0 '@hey-amplify/constants': workspace:* '@hey-amplify/discord': workspace:* '@hey-amplify/features': workspace:* @@ -64,18 +62,15 @@ importers: '@octokit/auth-app': ^4.0.5 '@octokit/graphql': ^5.0.1 '@octokit/rest': ^19.0.4 - '@prisma/client': ^4.9.0 - '@sveltejs/adapter-node': 1.1.7 - '@sveltejs/kit': 1.5.0 + '@sveltejs/adapter-node': 1.2.0 + '@sveltejs/kit': 1.5.6 '@types/cookie': ^0.5.1 - '@types/node': ^18.7.13 - '@types/prettier': ^2.7.0 '@vitest/ui': ^0.22.1 - carbon-components-svelte: ^0.70.1 - carbon-icons-svelte: ^11.2.0 + carbon-components-svelte: ^0.72.3 + carbon-icons-svelte: ^11.4.0 carbon-preprocess-svelte: ^0.9.1 cookie: ^0.5.0 - d3: ^7.6.1 + d3: ^7.8.2 discord-api-types: ^0.37.10 discord.js: ^14.7.1 fast-glob: ^3.2.11 @@ -93,11 +88,11 @@ importers: vitest: ^0.28.4 zod: ^3.20.2 dependencies: - '@aws-crypto/sha256-js': 2.0.1 + '@aws-crypto/sha256-js': 3.0.0 '@carbon/styles': 1.22.0 - '@discordjs/rest': 1.1.0 + '@discordjs/rest': 1.5.0 '@hey-amplify/prisma-client': link:../../packages/prisma-client - '@next-auth/prisma-adapter': 1.0.5_77bhi65b6v5jbrzr36rs2ojwe4 + '@next-auth/prisma-adapter': 1.0.5_next-auth@4.19.2 '@octokit/auth-app': 4.0.9 '@octokit/graphql': 5.0.5 '@octokit/rest': 19.0.7 @@ -110,34 +105,29 @@ importers: uuid: 9.0.0 zod: 3.20.2 devDependencies: - '@carbon/charts': 1.6.4_d3@7.6.1 - '@carbon/charts-svelte': 1.6.4_d3@7.6.1+svelte@3.55.1 - '@commitlint/cli': 17.0.3 - '@commitlint/config-conventional': 17.0.3 + '@carbon/charts': 1.6.4_d3@7.8.2 + '@carbon/charts-svelte': 1.6.4_d3@7.8.2+svelte@3.55.1 '@hey-amplify/constants': link:../../packages/constants '@hey-amplify/discord': link:../../packages/discord '@hey-amplify/features': link:../../packages/features '@hey-amplify/github': link:../../packages/github '@hey-amplify/support': link:../../packages/support - '@prisma/client': 4.9.0 - '@sveltejs/adapter-node': 1.1.7_@sveltejs+kit@1.5.0 - '@sveltejs/kit': 1.5.0_svelte@3.55.1+vite@4.1.1 + '@sveltejs/adapter-node': 1.2.0_@sveltejs+kit@1.5.6 + '@sveltejs/kit': 1.5.6_svelte@3.55.1+vite@4.1.1 '@types/cookie': 0.5.1 - '@types/node': 18.7.19 - '@types/prettier': 2.7.0 '@vitest/ui': 0.22.1 - carbon-components-svelte: 0.70.13 + carbon-components-svelte: 0.72.3 carbon-icons-svelte: 11.4.0 carbon-preprocess-svelte: 0.9.1_svelte@3.55.1 - d3: 7.6.1 + d3: 7.8.2 discord.js: 14.7.1 jsdom: 20.0.0 svelte-check: 3.0.3_svelte@3.55.1 svelte-preprocess: 5.0.1_4x7phaipmicbaooxtnresslofa tslib: 2.5.0 typescript: 4.9.5 - vite: 4.1.1_@types+node@18.7.19 - vite-node: 0.28.4_@types+node@18.7.19 + vite: 4.1.1 + vite-node: 0.28.4 vitest: 0.28.4_r26ddduqt3xuel6y6oroghsjvu apps/discord-bot: @@ -379,7 +369,7 @@ packages: '@aws-crypto/sha256-js': 2.0.1 '@aws-crypto/supports-web-crypto': 2.0.0 '@aws-crypto/util': 2.0.1 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/types': 3.267.0 '@aws-sdk/util-locate-window': 3.55.0 '@aws-sdk/util-utf8-browser': 3.109.0 tslib: 1.14.1 @@ -389,7 +379,7 @@ packages: resolution: {integrity: sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==} dependencies: '@aws-crypto/util': 2.0.1 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/types': 3.267.0 tslib: 1.14.1 dev: true @@ -397,8 +387,17 @@ packages: resolution: {integrity: sha512-mbHTBSPBvg6o/mN/c18Z/zifM05eJrapj5ggoOIeHIWckvkv5VgGi7r/wYpt+QAO2ySKXLNvH2d8L7bne4xrMQ==} dependencies: '@aws-crypto/util': 2.0.1 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/types': 3.267.0 tslib: 1.14.1 + dev: true + + /@aws-crypto/sha256-js/3.0.0: + resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.267.0 + tslib: 1.14.1 + dev: false /@aws-crypto/supports-web-crypto/2.0.0: resolution: {integrity: sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA==} @@ -409,9 +408,18 @@ packages: /@aws-crypto/util/2.0.1: resolution: {integrity: sha512-JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==} dependencies: - '@aws-sdk/types': 3.127.0 + '@aws-sdk/types': 3.267.0 '@aws-sdk/util-utf8-browser': 3.109.0 tslib: 1.14.1 + dev: true + + /@aws-crypto/util/3.0.0: + resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} + dependencies: + '@aws-sdk/types': 3.267.0 + '@aws-sdk/util-utf8-browser': 3.109.0 + tslib: 1.14.1 + dev: false /@aws-sdk/abort-controller/3.127.0: resolution: {integrity: sha512-G77FLYcl9egUoD3ZmR6TX94NMqBMeT53hBGrEE3uVUJV1CwfGKfaF007mPpRZnIB3avnJBQGEK6MrwlCfv2qAw==} @@ -862,6 +870,13 @@ packages: /@aws-sdk/types/3.127.0: resolution: {integrity: sha512-e0wtx2IkOl7rwfKfLH5pPTzQ+d45V7b1WrjeL0WDI8kOu6w+sXmhNxI6uM2kf0k4NiTLN84lW290AEWupey9Og==} engines: {node: '>= 12.0.0'} + dev: true + + /@aws-sdk/types/3.267.0: + resolution: {integrity: sha512-fICTbSeIfXlTHnciQgDt37R0kXoKxgh0a3prnLWVvTcmf7NFujdZmg5YTAZT3KJJ7SuKsIgnI8azBYioVY8BVQ==} + engines: {node: '>=14.0.0'} + dependencies: + tslib: 2.5.0 /@aws-sdk/url-parser/3.127.0: resolution: {integrity: sha512-njZ7zn41JHRpNfr3BCesVXCLZE0zcWSfEdtRV0ICw0cU1FgYcKELSuY9+gLUB4ci6uc7gq7mPE8+w30FcM4QeA==} @@ -1040,13 +1055,13 @@ packages: resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} dev: true - /@carbon/charts-svelte/1.6.4_d3@7.6.1+svelte@3.55.1: + /@carbon/charts-svelte/1.6.4_d3@7.8.2+svelte@3.55.1: resolution: {integrity: sha512-aH+1mGYoEfz8nfjBlufOPqv/Hd/m0EHOgsImFNSFydntVasU8TUX4HCD3uVuUrzxmM4h5NL9vWrViw/BO7FH1w==} requiresBuild: true peerDependencies: svelte: ^3.31.x dependencies: - '@carbon/charts': 1.6.4_d3@7.6.1 + '@carbon/charts': 1.6.4_d3@7.8.2 '@carbon/telemetry': 0.1.0 svelte: 3.55.1 transitivePeerDependencies: @@ -1054,7 +1069,7 @@ packages: - sass dev: true - /@carbon/charts/1.6.4_d3@7.6.1: + /@carbon/charts/1.6.4_d3@7.8.2: resolution: {integrity: sha512-S61fiKuFd1XBB2bHYsyQsozdrVjDNk0ZmbGBUXA2vUcNG8OTIHQEbCU//pO77Wc+cR+YgXyYmsQ3e9QjlxANbQ==} requiresBuild: true peerDependencies: @@ -1064,7 +1079,7 @@ packages: '@carbon/telemetry': 0.1.0 '@carbon/utils-position': 1.1.1 carbon-components: 10.56.0 - d3: 7.6.1 + d3: 7.8.2 d3-cloud: 1.2.5 d3-sankey: 0.12.3 date-fns: 2.8.1 @@ -1128,26 +1143,6 @@ packages: resolution: {integrity: sha512-W8ykraEzr9WsH8+6+FgI6lmK4elFxH8Uy9+XDbDTvyVbF6fq5jgi4dPCDd1AoCtUBCcLAehInhReDaFM3DrM6w==} dev: true - /@commitlint/cli/17.0.3: - resolution: {integrity: sha512-oAo2vi5d8QZnAbtU5+0cR2j+A7PO8zuccux65R/EycwvsZrDVyW518FFrnJK2UQxbRtHFFIG+NjQ6vOiJV0Q8A==} - engines: {node: '>=v14'} - hasBin: true - dependencies: - '@commitlint/format': 17.4.0 - '@commitlint/lint': 17.4.2 - '@commitlint/load': 17.4.2 - '@commitlint/read': 17.4.2 - '@commitlint/types': 17.4.0 - execa: 5.1.1 - lodash: 4.17.21 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - yargs: 17.5.1 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - dev: true - /@commitlint/cli/17.4.2: resolution: {integrity: sha512-0rPGJ2O1owhpxMIXL9YJ2CgPkdrFLKZElIZHXDN8L8+qWK1DGH7Q7IelBT1pchXTYTuDlqkOTdh//aTvT3bSUA==} engines: {node: '>=v14'} @@ -1168,13 +1163,6 @@ packages: - '@swc/wasm' dev: true - /@commitlint/config-conventional/17.0.3: - resolution: {integrity: sha512-HCnzTm5ATwwwzNVq5Y57poS0a1oOOcd5pc1MmBpLbGmSysc4i7F/++JuwtdFPu16sgM3H9J/j2zznRLOSGVO2A==} - engines: {node: '>=v14'} - dependencies: - conventional-changelog-conventionalcommits: 5.0.0 - dev: true - /@commitlint/config-conventional/17.4.2: resolution: {integrity: sha512-JVo1moSj5eDMoql159q8zKCU8lkOhQ+b23Vl3LVVrS6PXDLQIELnJ34ChQmFVbBdSSRNAbbXnRDhosFU+wnuHw==} engines: {node: '>=v14'} @@ -1341,28 +1329,10 @@ packages: ts-mixer: 6.0.2 tslib: 2.5.0 - /@discordjs/collection/1.1.0: - resolution: {integrity: sha512-PQ2Bv6pnT7aGPCKWbvvNRww5tYCGpggIQVgpuF9TdDPeR6n6vQYxezXiLVOS9z2B62Dp4c+qepQ15SgJbLYtCQ==} - engines: {node: '>=16.9.0'} - dev: false - /@discordjs/collection/1.3.0: resolution: {integrity: sha512-ylt2NyZ77bJbRij4h9u/wVy7qYw/aDqQLWnadjvDqW/WoWCxrsX6M3CIw9GVP5xcGCDxsrKj5e0r5evuFYwrKg==} engines: {node: '>=16.9.0'} - /@discordjs/rest/1.1.0: - resolution: {integrity: sha512-yCrthRTQeUyNThQEpCk7bvQJlwQmz6kU0tf3dcWBv2WX3Bncl41x7Wc+v5b5OsIxfNYq38PvVtWircu9jtYZug==} - engines: {node: '>=16.9.0'} - dependencies: - '@discordjs/collection': 1.1.0 - '@sapphire/async-queue': 1.5.0 - '@sapphire/snowflake': 3.2.2 - discord-api-types: 0.37.10 - file-type: 17.1.6 - tslib: 2.5.0 - undici: 5.18.0 - dev: false - /@discordjs/rest/1.5.0: resolution: {integrity: sha512-lXgNFqHnbmzp5u81W0+frdXN6Etf4EUi8FAPcWpSykKd8hmlWh1xy6BmE0bsJypU1pxohaA8lQCgp70NUI3uzA==} engines: {node: '>=16.9.0'} @@ -1902,13 +1872,12 @@ packages: resolution: {integrity: sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw==} dev: false - /@next-auth/prisma-adapter/1.0.5_77bhi65b6v5jbrzr36rs2ojwe4: + /@next-auth/prisma-adapter/1.0.5_next-auth@4.19.2: resolution: {integrity: sha512-VqMS11IxPXrPGXw6Oul6jcyS/n8GLOWzRMrPr3EMdtD6eOalM6zz05j08PcNiis8QzkfuYnCv49OvufTuaEwYQ==} peerDependencies: '@prisma/client': '>=2.26.0 || >=3' next-auth: ^4 dependencies: - '@prisma/client': 4.9.0 next-auth: 4.19.2 dev: false @@ -2143,25 +2112,10 @@ packages: prisma: 4.10.1 dev: false - /@prisma/client/4.9.0: - resolution: {integrity: sha512-bz6QARw54sWcbyR1lLnF2QHvRW5R/Jxnbbmwh3u+969vUKXtBkXgSgjDA85nji31ZBlf7+FrHDy5x+5ydGyQDg==} - engines: {node: '>=14.17'} - requiresBuild: true - peerDependencies: - prisma: '*' - peerDependenciesMeta: - prisma: - optional: true - dependencies: - '@prisma/engines-version': 4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5 - /@prisma/engines-version/4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19: resolution: {integrity: sha512-tsjTho7laDhf9EJ9EnDxAPEf7yrigSMDhniXeU4YoWc7azHAs4GPxRi2P9LTFonmHkJLMOLjR77J1oIP8Ife1w==} dev: false - /@prisma/engines-version/4.9.0-42.ceb5c99003b99c9ee2c1d2e618e359c14aef2ea5: - resolution: {integrity: sha512-M16aibbxi/FhW7z1sJCX8u+0DriyQYY5AyeTH7plQm9MLnURoiyn3CZBqAyIoQ+Z1pS77usCIibYJWSgleBMBA==} - /@prisma/engines/4.10.1: resolution: {integrity: sha512-B3tcTxjx196nuAu1GOTKO9cGPUgTFHYRdkPkTS4m5ptb2cejyBlH9X7GOfSt3xlI7p4zAJDshJP4JJivCg9ouA==} requiresBuild: true @@ -2274,20 +2228,20 @@ packages: resolution: {integrity: sha512-ula2O0kpSZtX9rKXNeQMrHwNd7E4jPDJYUXmEGTFdMRfyfMw+FPyh04oKMjAiDuOi64bYgVkOV3MjK+loImFhQ==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} - /@sveltejs/adapter-node/1.1.7_@sveltejs+kit@1.5.0: - resolution: {integrity: sha512-N93uYDzH8+RlneYdfgS33nudVk9e8JhYy9vPOsJKeMCkWPb5ejJ0D+LUAEuyA1BOyA7ZkaVTupLStAG4nuhT2A==} + /@sveltejs/adapter-node/1.2.0_@sveltejs+kit@1.5.6: + resolution: {integrity: sha512-j0nxkrNZ4zBkOIOtqHUET5l8qvcFo64xNL2xv8F1QICkz746o5DVCGaJEPC3B2X2fTklXExxe80yXZhf38p6zg==} peerDependencies: '@sveltejs/kit': ^1.0.0 dependencies: '@rollup/plugin-commonjs': 24.0.1_rollup@3.14.0 '@rollup/plugin-json': 6.0.0_rollup@3.14.0 '@rollup/plugin-node-resolve': 15.0.1_rollup@3.14.0 - '@sveltejs/kit': 1.5.0_svelte@3.55.1+vite@4.1.1 + '@sveltejs/kit': 1.5.6_svelte@3.55.1+vite@4.1.1 rollup: 3.14.0 dev: true - /@sveltejs/kit/1.5.0_svelte@3.55.1+vite@4.1.1: - resolution: {integrity: sha512-AkWgCO9i2djZjTqCgIQJ5XfnSzRINowh2w2Gk9wDRuTwxKizSuYe3jNvds/HCDDGHo8XE5E0yWNC9j2XxbrX+g==} + /@sveltejs/kit/1.5.6_svelte@3.55.1+vite@4.1.1: + resolution: {integrity: sha512-CHVeQpbcwSIUekF6WwevmExKXyfHnzM5nlCEUv13lGgfJ0zKA0ny5YwIe40vccrm5w5Caec7jMTt9Ih3McJr5g==} engines: {node: ^16.14 || >=18} hasBin: true requiresBuild: true @@ -2309,7 +2263,7 @@ packages: svelte: 3.55.1 tiny-glob: 0.2.9 undici: 5.18.0 - vite: 4.1.1_@types+node@18.7.19 + vite: 4.1.1 transitivePeerDependencies: - supports-color dev: true @@ -2327,7 +2281,7 @@ packages: magic-string: 0.27.0 svelte: 3.55.1 svelte-hmr: 0.15.1_svelte@3.55.1 - vite: 4.1.1_@types+node@18.7.19 + vite: 4.1.1 vitefu: 0.2.4_vite@4.1.1 transitivePeerDependencies: - supports-color @@ -2470,18 +2424,10 @@ packages: resolution: {integrity: sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==} dev: true - /@types/node/18.7.19: - resolution: {integrity: sha512-Sq1itGUKUX1ap7GgZlrzdBydjbsJL/NSQt/4wkAxUJ7/OS5c2WkoN6WSpWc2Yc5wtKMZOUA0VCs/j2XJadN3HA==} - dev: true - /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/prettier/2.7.0: - resolution: {integrity: sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==} - dev: true - /@types/prettier/2.7.2: resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} dev: true @@ -3102,8 +3048,8 @@ packages: engines: {node: '>=6'} dev: true - /carbon-components-svelte/0.70.13: - resolution: {integrity: sha512-p6wX8004BM6DrrLH1JJWbkR/VybU0gra+jDWlSW1V2aO8XmAz81evnDLZuTrvbHNkEXPiaC+athSjNsBOf0SjA==} + /carbon-components-svelte/0.72.3: + resolution: {integrity: sha512-ill4KeWH7THXDLRfuxg0panknTvl75U54+6366yNmtkPbzmCqp/gw5aW3JPlJcOyYny1F9X+fTYY3kQkEigORA==} dependencies: flatpickr: 4.6.9 dev: true @@ -3720,8 +3666,8 @@ packages: d3-transition: 3.0.1_d3-selection@3.0.0 dev: true - /d3/7.6.1: - resolution: {integrity: sha512-txMTdIHFbcpLx+8a0IFhZsbp+PfBBPt8yfbmukZTQFroKuFqIwqswF0qE5JXWefylaAVpSXFoKm3yP+jpNLFLw==} + /d3/7.8.2: + resolution: {integrity: sha512-WXty7qOGSHb7HR7CfOzwN1Gw04MUOzN8qh9ZUsvwycIMb4DYMpY9xczZ6jUorGtO6bR9BPMPaueIKwiDxu9uiQ==} engines: {node: '>=12'} dependencies: d3-array: 3.2.0 @@ -4740,15 +4686,6 @@ packages: flat-cache: 3.0.4 dev: true - /file-type/17.1.6: - resolution: {integrity: sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - readable-web-to-node-stream: 3.0.2 - strtok3: 7.0.0-alpha.9 - token-types: 5.0.0-alpha.2 - dev: false - /file-type/18.2.0: resolution: {integrity: sha512-M3RQMWY3F2ykyWZ+IHwNCjpnUmukYhtdkGGC1ZVEUb0ve5REGF7NNJ4Q9ehCUabtQKtSVFOMbFTXgJlFb0DQIg==} engines: {node: '>=14.16'} @@ -6114,11 +6051,6 @@ packages: resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==} engines: {node: '>=14.16'} - /peek-readable/5.0.0-alpha.5: - resolution: {integrity: sha512-pJohF/tDwV3ntnT5+EkUo4E700q/j/OCDuPxtM+5/kFGjyOai/sK4/We4Cy1MB2OiTQliWU5DxPvYIKQAdPqAA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false - /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -6848,14 +6780,6 @@ packages: '@tokenizer/token': 0.3.0 peek-readable: 5.0.0 - /strtok3/7.0.0-alpha.9: - resolution: {integrity: sha512-G8WxjBFjTZ77toVElv1i7k3jCXNkBB14FVaZ/6LIOka/WGo4La5XHLrU7neFVLdKbXESZf4BejVKZu5maOmocA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - '@tokenizer/token': 0.3.0 - peek-readable: 5.0.0-alpha.5 - dev: false - /sucrase/3.29.0: resolution: {integrity: sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==} engines: {node: '>=8'} @@ -7112,14 +7036,6 @@ packages: engines: {node: '>=0.6'} dev: false - /token-types/5.0.0-alpha.2: - resolution: {integrity: sha512-EsG9UxAW4M6VATrEEjhPFTKEUi1OiJqTUMIZOGBN49fGxYjZB36k0p7to3HZSmWRoHm1QfZgrg3e02fpqAt5fQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - '@tokenizer/token': 0.3.0 - ieee754: 1.2.1 - dev: false - /token-types/5.0.1: resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} engines: {node: '>=14.16'} @@ -7544,7 +7460,7 @@ packages: - terser dev: true - /vite-node/0.28.4_@types+node@18.11.19: + /vite-node/0.28.4: resolution: {integrity: sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ==} engines: {node: '>=v14.16.0'} hasBin: true @@ -7556,7 +7472,7 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 source-map-support: 0.5.21 - vite: 4.1.1_@types+node@18.11.19 + vite: 4.1.1 transitivePeerDependencies: - '@types/node' - less @@ -7567,7 +7483,7 @@ packages: - terser dev: true - /vite-node/0.28.4_@types+node@18.7.19: + /vite-node/0.28.4_@types+node@18.11.19: resolution: {integrity: sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ==} engines: {node: '>=v14.16.0'} hasBin: true @@ -7579,7 +7495,7 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 source-map-support: 0.5.21 - vite: 4.1.1_@types+node@18.7.19 + vite: 4.1.1_@types+node@18.11.19 transitivePeerDependencies: - '@types/node' - less @@ -7801,40 +7717,6 @@ packages: fsevents: 2.3.2 dev: true - /vite/4.1.1_@types+node@18.7.19: - resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 18.7.19 - esbuild: 0.16.17 - postcss: 8.4.21 - resolve: 1.22.1 - rollup: 3.14.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - /vitefu/0.2.4_vite@4.1.1: resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: @@ -7843,7 +7725,7 @@ packages: vite: optional: true dependencies: - vite: 4.1.1_@types+node@18.7.19 + vite: 4.1.1 dev: true /vitest/0.20.3: From b668062a1d5b237f2500ac6b5b903cc308d61f29 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Tue, 14 Feb 2023 16:45:32 -0800 Subject: [PATCH 49/79] migrate (mostly) from next-auth to auth.js --- apps/bot.amplify.aws/package.json | 7 +- .../src/{hooks/index.ts => hooks.server.ts} | 15 +- apps/bot.amplify.aws/src/lib/next-auth.ts | 256 +----------------- .../src/routes/+layout.server.ts | 2 +- .../routes/api/auth/[...nextauth]/+server.ts | 3 - 5 files changed, 23 insertions(+), 260 deletions(-) rename apps/bot.amplify.aws/src/{hooks/index.ts => hooks.server.ts} (87%) delete mode 100644 apps/bot.amplify.aws/src/routes/api/auth/[...nextauth]/+server.ts diff --git a/apps/bot.amplify.aws/package.json b/apps/bot.amplify.aws/package.json index 9abb5bfa..d8e3f8cd 100644 --- a/apps/bot.amplify.aws/package.json +++ b/apps/bot.amplify.aws/package.json @@ -1,7 +1,7 @@ { "name": "@aws-amplify/discord-bot-frontend", "type": "module", - "version": "1.0.3-next.0", + "version": "2.0.0-next.0", "license": "Apache-2.0", "private": true, "scripts": { @@ -12,11 +12,13 @@ "prepare": "svelte-kit sync" }, "dependencies": { + "@auth/core": "^0.4.0", + "@auth/sveltekit": "^0.2.1", "@aws-crypto/sha256-js": "^3.0.0", "@carbon/styles": "^1.22.0", "@discordjs/rest": "^1.5.0", "@hey-amplify/prisma-client": "workspace:*", - "@next-auth/prisma-adapter": "^1.0.4", + "@next-auth/prisma-adapter": "^1.0.5", "@octokit/auth-app": "^4.0.5", "@octokit/graphql": "^5.0.1", "@octokit/rest": "^19.0.4", @@ -24,7 +26,6 @@ "discord-api-types": "^0.37.10", "fast-glob": "^3.2.11", "fuzzy": "^0.1.3", - "next-auth": "^4.10.3", "svelte": "3.55.1", "uuid": "^9.0.0", "zod": "^3.20.2" diff --git a/apps/bot.amplify.aws/src/hooks/index.ts b/apps/bot.amplify.aws/src/hooks.server.ts similarity index 87% rename from apps/bot.amplify.aws/src/hooks/index.ts rename to apps/bot.amplify.aws/src/hooks.server.ts index 5841e1d9..af608b49 100644 --- a/apps/bot.amplify.aws/src/hooks/index.ts +++ b/apps/bot.amplify.aws/src/hooks.server.ts @@ -3,7 +3,7 @@ import { getUserAccess } from '@hey-amplify/discord' import { sequence } from '@sveltejs/kit/hooks' import cookie from 'cookie' import { prisma, init } from '$lib/db' -import { getServerSession, options } from '$lib/next-auth' +import { handle as handleAuth } from '$lib/next-auth' import type { Handle } from '@sveltejs/kit' function isApiRoute(pathname: URL['pathname']) { @@ -19,16 +19,6 @@ function isPublicApiRoute(pathname: URL['pathname']) { return publicRoutes.some((route) => pathname.startsWith(route)) } -/** - * Get session from NextAuth.js - */ -const handleSession: Handle = async ({ event, resolve }) => { - const session = await getServerSession(event.request, options) - // @ts-expect-error - apply NextAuth.js session directly to session locals - event.locals.session = session - return resolve(event) -} - /** * Add additional user data to the session */ @@ -123,7 +113,8 @@ const handleApiAuth: Handle = async ({ event, resolve }) => { } export const handle = sequence( - handleSession, // get session from NextAuth.js + handleAuth, + // handleSession, // get session from NextAuth.js handleSessionUser, // add user details to session locals handleApiAuth // protect API routes ) diff --git a/apps/bot.amplify.aws/src/lib/next-auth.ts b/apps/bot.amplify.aws/src/lib/next-auth.ts index dbe295f3..01f714f6 100644 --- a/apps/bot.amplify.aws/src/lib/next-auth.ts +++ b/apps/bot.amplify.aws/src/lib/next-auth.ts @@ -1,251 +1,25 @@ +import { SvelteKitAuth } from '@auth/sveltekit' +import GitHub from '@auth/core/providers/github' +import Discord from '@auth/core/providers/discord' import { createAppAuth } from '@octokit/auth-app' import { PrismaAdapter } from '@next-auth/prisma-adapter' -import cookie from 'cookie' -import { NextAuthHandler } from 'next-auth/core' -import DiscordProvider from 'next-auth/providers/discord' -import GithubProvider from 'next-auth/providers/github' +import { + DISCORD_AUTH_CLIENT_ID, + DISCORD_AUTH_CLIENT_SECRET, + GITHUB_CLIENT_ID, + GITHUB_CLIENT_SECRET, +} from '$env/static/private' import { prisma } from '$lib/db' -import getFormBody from './support/get-form-body' import { applyRoles } from './apply-roles' -import type { NextAuthOptions, NextAuthAction } from 'next-auth' -import type { - OutgoingResponse as NextAuthResponse, - RequestInternal, -} from 'next-auth/core' import type { ServerLoadEvent } from '@sveltejs/kit' -// TODO: can we get around this behavior for SSR builds? -// @ts-expect-error import is exported on .default during SSR -const discord = DiscordProvider?.default || DiscordProvider -// @ts-expect-error import is exported on .default during SSR -const github = GithubProvider?.default || GithubProvider - -const adapter = PrismaAdapter(prisma) - -export const options: NextAuthOptions = { - adapter, - // debug: import.meta.env.DEV, +export const handle = SvelteKitAuth({ + adapter: PrismaAdapter(prisma), providers: [ - discord({ - clientId: process.env.DISCORD_AUTH_CLIENT_ID, - clientSecret: process.env.DISCORD_AUTH_CLIENT_SECRET, - }), - github({ - clientId: process.env.GITHUB_CLIENT_ID, - clientSecret: process.env.GITHUB_CLIENT_SECRET, + GitHub({ clientId: GITHUB_CLIENT_ID, clientSecret: GITHUB_CLIENT_SECRET }), + Discord({ + clientId: DISCORD_AUTH_CLIENT_ID, + clientSecret: DISCORD_AUTH_CLIENT_SECRET, }), ], - pages: { - signIn: '/', - signOut: '/logout', - error: '/auth/error', // Error code passed in query string as ?error= - }, - session: { - // Choose how you want to save the user session. - // The default is `"jwt"`, an encrypted JWT (JWE) stored in the session cookie. - // If you use an `adapter` however, we default it to `"database"` instead. - // You can still force a JWT session by explicitly defining `"jwt"`. - // When using `"database"`, the session cookie will only contain a `sessionToken` value, - // which is used to look up the session in the database. - strategy: 'database', - - // Seconds - How long until an idle session expires and is no longer valid. - maxAge: 30 * 60, // 30 minutes - - // Seconds - Throttle how frequently to write to database to extend a session. - // Use it to limit write operations. Set to 0 to always update the database. - // Note: This option is ignored if using JSON Web Tokens - updateAge: 15 * 60, // 15 minutes - }, - callbacks: { - async redirect({ url, baseUrl }) { - return baseUrl - }, - async session({ session, user }) { - session!.user!.id = user.id - return session - }, - }, - events: { - /** - * @TODO link `DiscordUser` model to `Account` model - */ - // async createAccount({ user }) { - // }, - async signIn({ user, account }) { - if (account.provider === 'discord') { - await prisma.discordUser.upsert({ - where: { id: account.providerAccountId }, - create: { - id: account.providerAccountId, - account: { - connect: { - provider_providerAccountId: { - provider: account.provider, // discord - providerAccountId: account.providerAccountId, - }, - }, - }, - }, - update: { - account: { - connect: { - provider_providerAccountId: { - provider: account.provider, // discord - providerAccountId: account.providerAccountId, - }, - }, - }, - }, - }) - } - // if user is signing into github - if ( - account?.provider === 'github' && - account?.providerAccountId && - user?.id - ) { - const { privateKey } = JSON.parse(process.env.GITHUB_PRIVATE_KEY) - const auth = createAppAuth({ - appId: process.env.GITHUB_APP_ID, - privateKey: privateKey, - clientId: process.env.GITHUB_CLIENT_ID, - clientSecret: process.env.GITHUB_CLIENT_SECRET, - }) - - try { - const { token } = await auth({ - type: 'installation', - installationId: process.env.GITHUB_INSTALLATION_ID, - }) - - await applyRoles(user.id, account.providerAccountId, token) - } catch (err) { - console.error(`Error fetching installation token: ${err}`) - } - } - }, - }, -} - -async function toSvelteKitResponse( - request: Request, - nextAuthResponse: NextAuthResponse -) { - const { cookies, redirect } = nextAuthResponse - - const headers = new Headers() - for (const header of nextAuthResponse?.headers || []) { - // pass headers along from next-auth - headers.set(header.key, header.value) - } - - // set-cookie header - if (cookies?.length) { - headers.set( - 'set-cookie', - cookies - ?.map((item) => cookie.serialize(item.name, item.value, item.options)) - .join(',') as string - ) - } - - let body = undefined - let status = nextAuthResponse.status || 200 - - if (redirect) { - let formData = null - try { - formData = await request.formData() - formData = getFormBody(formData) - } catch { - // no formData passed - } - if (formData?.json !== 'true') { - status = 302 - headers.set('Location', redirect) - } else { - body = { url: redirect } - } - } else { - if (status >= 400 && typeof nextAuthResponse.body === 'string') { - body = nextAuthResponse.body.replace(' by NextAuth.js', '') - } else { - body = nextAuthResponse.body - } - } - - return new Response(JSON.stringify(body), { - status, - headers, - }) -} - -async function SKNextAuthHandler( - { request, url, params }: ServerLoadEvent, - options: NextAuthOptions -) { - const [action, provider] = params.nextauth!.split('/') - let body = undefined - try { - body = await request.formData() - body = getFormBody(body) - } catch { - // no formData passed - } - options.secret = process.env.NEXTAUTH_SECRET - const req: RequestInternal = { - host: import.meta.env.VITE_NEXTAUTH_URL, - body, - query: Object.fromEntries(url.searchParams), - headers: request.headers, - method: request.method, - // this is causing issues if browser does not have cookies - cookies: cookie.parse(request.headers.get('cookie') || ''), - action: action as NextAuthAction, - providerId: provider, - error: provider, - } - - const response = await NextAuthHandler({ - req, - options, - }) - - return toSvelteKitResponse(request, response) -} - -export async function getServerSession( - request: Request, - options: NextAuthOptions -): Promise { - options.secret = process.env.NEXTAUTH_SECRET - - const session = await NextAuthHandler({ - req: { - host: import.meta.env.VITE_NEXTAUTH_URL, - action: 'session', - method: 'GET', - cookies: cookie.parse(request.headers.get('cookie') || ''), - headers: request.headers, - }, - options, - }) - - const { body } = session - - if (body && Object.keys(body).length) { - return body as App.Session - } - return null -} - -export default ( - options: NextAuthOptions -): { - GET: (event) => Promise - POST: (event) => Promise -} => ({ - GET: (event) => SKNextAuthHandler(event, options), - POST: (event) => SKNextAuthHandler(event, options), }) diff --git a/apps/bot.amplify.aws/src/routes/+layout.server.ts b/apps/bot.amplify.aws/src/routes/+layout.server.ts index fc70cab8..b18cad73 100644 --- a/apps/bot.amplify.aws/src/routes/+layout.server.ts +++ b/apps/bot.amplify.aws/src/routes/+layout.server.ts @@ -23,7 +23,7 @@ export const load: LayoutServerLoad = async ({ locals }) => { } return { - session: locals.session, + session: await locals.getSession(), guilds: guilds.map((guild) => ({ id: guild.id, text: guild.name, diff --git a/apps/bot.amplify.aws/src/routes/api/auth/[...nextauth]/+server.ts b/apps/bot.amplify.aws/src/routes/api/auth/[...nextauth]/+server.ts deleted file mode 100644 index 4a6c84dc..00000000 --- a/apps/bot.amplify.aws/src/routes/api/auth/[...nextauth]/+server.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { default as NextAuth, options } from '$lib/next-auth' - -export const { GET, POST } = NextAuth(options) From 5adff27ef6b1cf1c2e1a90986a7ba56b1e6d7abb Mon Sep 17 00:00:00 2001 From: josefaidt Date: Tue, 14 Feb 2023 16:45:47 -0800 Subject: [PATCH 50/79] fix envDir to load dotenv from project root --- apps/bot.amplify.aws/svelte.config.js | 6 ++++-- apps/bot.amplify.aws/vite.config.ts | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/bot.amplify.aws/svelte.config.js b/apps/bot.amplify.aws/svelte.config.js index 3ecaaec0..bab0e37e 100644 --- a/apps/bot.amplify.aws/svelte.config.js +++ b/apps/bot.amplify.aws/svelte.config.js @@ -14,11 +14,13 @@ const config = { // You can create optimized builds for different platforms by // specifying a different adapter adapter: adapter(), - + env: { + dir: '../../', + }, files: { assets: resolve('public'), }, - + // https://kit.svelte.dev/docs/configuration#csp csp: { mode: 'auto', directives: { diff --git a/apps/bot.amplify.aws/vite.config.ts b/apps/bot.amplify.aws/vite.config.ts index 6e86bb50..1f138f8c 100644 --- a/apps/bot.amplify.aws/vite.config.ts +++ b/apps/bot.amplify.aws/vite.config.ts @@ -32,7 +32,7 @@ export default defineConfig(({ mode }) => { loadEnvVars() } const config: UserConfig = { - envDir: '.', + envDir: '../../', define: { 'import.meta.vitest': 'undefined', }, From 7431164eb29d25588a795cd77360fb7795b22230 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Tue, 14 Feb 2023 17:44:58 -0800 Subject: [PATCH 51/79] add mariadb --- .env.sample | 2 +- README.md | 2 + docker-compose.yml | 22 +++- package.json | 10 +- packages/prisma-client/schema.prisma | 2 +- pnpm-lock.yaml | 180 +++++++++------------------ 6 files changed, 92 insertions(+), 126 deletions(-) diff --git a/.env.sample b/.env.sample index 5a7d0963..0c82c0f4 100644 --- a/.env.sample +++ b/.env.sample @@ -11,7 +11,7 @@ DISCORD_AUTH_CLIENT_ID=$DISCORD_APP_ID DISCORD_AUTH_CLIENT_SECRET=oauthclientsecret # Database URL for prisma (relative to prisma directory) -DATABASE_URL="file:data/local.db" +DATABASE_URL="mysql://root:super-top-secret@localhost:3306/hey-amplify" # GitHub->Discord release webhook DISCORD_WEBHOOK_URL_RELEASES=discordwebhookurl diff --git a/README.md b/README.md index eba97ac4..54ac2721 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,8 @@ This repository contains the source code for the [AWS Amplify Discord Server](ht 4. Run the application with `pnpm dev` 5. As the server owner navigate to `http://localhost:3000/`, log in, and visit `/admin` to configure the instance +Once you are finished working with the Discord Bot you will want to stop the database container with `pnpm stop-db` + ### Setting up a Discord Bot diff --git a/docker-compose.yml b/docker-compose.yml index fd8a1be0..0aba9b53 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,16 +2,30 @@ version: '3.9' services: bot: image: bot - container_name: bot-local + container_name: local build: - context: . + context: apps/discord-bot dockerfile: Dockerfile ports: - '3000:3000' volumes: - - ./prisma/data:/data - - $PNPM_STORE:/root/.local/share/pnpm/store/v3 + - ./packages/prisma/data:/data + # - $PNPM_STORE:/root/.local/share/pnpm/store/v3 env_file: - .env environment: - DATABASE_URL=file:/data/local.db + # MariaDB Database to use with local development + db: + image: mariadb + environment: + - MARIADB_USER=example-user + - MARIADB_PASSWORD=top-secret + - MARIADB_ROOT_PASSWORD=super-top-secret + ports: + - 3306:3306 + db-admin: + image: adminer + restart: always + ports: + - 8080:8080 diff --git a/package.json b/package.json index 40d51878..3e58b3ff 100644 --- a/package.json +++ b/package.json @@ -5,13 +5,18 @@ "license": "Apache-2.0", "private": true, "scripts": { + "start-db": "docker compose up db db-admin", + "start-frontend": "pnpm --filter @aws-amplify/discord-bot-frontend run start", + "start-bot": "pnpm --filter @aws-amplify/discord-bot run start", + "stop-db": "docker compose down", "dev": "turbo run dev", "build": "turbo run build", "check": "prettier --check .", "lint": "eslint .", "test": "turbo run test", - "setup-dev": "pnpm install", - "setup-test": "" + "push-db": "prisma db push --schema packages/prisma-client/schema.prisma", + "setup-dev": "pnpm install && pnpm start-db --detach && pnpm push-db", + "setup-test": "echo 'no setup required :)'" }, "devDependencies": { "@commitlint/cli": "^17.4.2", @@ -28,6 +33,7 @@ "lint-staged": "^13.1.0", "prettier": "^2.8.3", "prettier-plugin-svelte": "^2.9.0", + "prisma": "^4.10.1", "turbo": "^1.7.3", "typescript": "^4.9.5", "vite-node": "^0.28.4" diff --git a/packages/prisma-client/schema.prisma b/packages/prisma-client/schema.prisma index 40321fa0..ffc72d9a 100644 --- a/packages/prisma-client/schema.prisma +++ b/packages/prisma-client/schema.prisma @@ -7,7 +7,7 @@ generator client { } datasource db { - provider = "sqlite" + provider = "mysql" url = env("DATABASE_URL") } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 01ea61dd..21b4b994 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,6 +23,7 @@ importers: lint-staged: ^13.1.0 prettier: ^2.8.3 prettier-plugin-svelte: ^2.9.0 + prisma: ^4.10.1 turbo: ^1.7.3 typescript: ^4.9.5 vite-node: ^0.28.4 @@ -41,12 +42,15 @@ importers: lint-staged: 13.1.0 prettier: 2.8.3 prettier-plugin-svelte: 2.9.0_prettier@2.8.3 + prisma: 4.10.1 turbo: 1.7.3 typescript: 4.9.5 vite-node: 0.28.4_@types+node@18.11.19 apps/bot.amplify.aws: specifiers: + '@auth/core': ^0.4.0 + '@auth/sveltekit': ^0.2.1 '@aws-crypto/sha256-js': ^3.0.0 '@carbon/charts': ^1.6.4 '@carbon/charts-svelte': ^1.6.4 @@ -58,7 +62,7 @@ importers: '@hey-amplify/github': workspace:* '@hey-amplify/prisma-client': workspace:* '@hey-amplify/support': workspace:* - '@next-auth/prisma-adapter': ^1.0.4 + '@next-auth/prisma-adapter': ^1.0.5 '@octokit/auth-app': ^4.0.5 '@octokit/graphql': ^5.0.1 '@octokit/rest': ^19.0.4 @@ -76,7 +80,6 @@ importers: fast-glob: ^3.2.11 fuzzy: ^0.1.3 jsdom: ^20.0.0 - next-auth: ^4.10.3 svelte: 3.55.1 svelte-check: ^3.0.3 svelte-preprocess: ^5.0.1 @@ -88,11 +91,13 @@ importers: vitest: ^0.28.4 zod: ^3.20.2 dependencies: + '@auth/core': 0.4.0 + '@auth/sveltekit': 0.2.1_vjmuw4jy4hji6q4s6wxo6clpfq '@aws-crypto/sha256-js': 3.0.0 '@carbon/styles': 1.22.0 '@discordjs/rest': 1.5.0 '@hey-amplify/prisma-client': link:../../packages/prisma-client - '@next-auth/prisma-adapter': 1.0.5_next-auth@4.19.2 + '@next-auth/prisma-adapter': 1.0.5 '@octokit/auth-app': 4.0.9 '@octokit/graphql': 5.0.5 '@octokit/rest': 19.0.7 @@ -100,7 +105,6 @@ importers: discord-api-types: 0.37.10 fast-glob: 3.2.11 fuzzy: 0.1.3 - next-auth: 4.19.2 svelte: 3.55.1 uuid: 9.0.0 zod: 3.20.2 @@ -356,6 +360,51 @@ importers: packages: + /@auth/core/0.3.0: + resolution: {integrity: sha512-4bmPzEiQKSXD825Jrcgj7igSFghBTpkSQ6U/jnYABJRQGhwnWJ/q9FHxEo6SGZWvYvpjOrvJOWhrP4Xng4CGUQ==} + peerDependencies: + nodemailer: 6.8.0 + peerDependenciesMeta: + nodemailer: + optional: true + dependencies: + '@panva/hkdf': 1.0.2 + cookie: 0.5.0 + jose: 4.11.2 + oauth4webapi: 2.1.0 + preact: 10.11.3 + preact-render-to-string: 5.2.3_preact@10.11.3 + dev: false + + /@auth/core/0.4.0: + resolution: {integrity: sha512-wHVljvVGPmKSjlxQUYZCOL4GGe26YqhT351sA2REE43YskaqRMYh1TVjBxpXcdG8/P8bw2DsHgl+aBEV3P5+KQ==} + peerDependencies: + nodemailer: ^6.8.0 + peerDependenciesMeta: + nodemailer: + optional: true + dependencies: + '@panva/hkdf': 1.0.2 + cookie: 0.5.0 + jose: 4.11.2 + oauth4webapi: 2.1.0 + preact: 10.11.3 + preact-render-to-string: 5.2.3_preact@10.11.3 + dev: false + + /@auth/sveltekit/0.2.1_vjmuw4jy4hji6q4s6wxo6clpfq: + resolution: {integrity: sha512-uC1xxWLCWsd581yMzOAiOhUudsjA/HHYuFXMOnvxB4gRcxQV9bW3t+GcP2NWWah6gU00kMc7r2JsVhGyPNANGQ==} + peerDependencies: + '@sveltejs/kit': ^1.0.0 + svelte: ^3.54.0 + dependencies: + '@auth/core': 0.3.0 + '@sveltejs/kit': 1.5.6_svelte@3.55.1+vite@4.1.1 + svelte: 3.55.1 + transitivePeerDependencies: + - nodemailer + dev: false + /@aws-crypto/ie11-detection/2.0.0: resolution: {integrity: sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA==} dependencies: @@ -1044,13 +1093,6 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/runtime/7.20.13: - resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.13.11 - dev: false - /@balena/dockerignore/1.0.2: resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} dev: true @@ -1365,7 +1407,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-arm/0.17.7: @@ -1383,7 +1424,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-arm64/0.17.7: @@ -1401,7 +1441,6 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-x64/0.17.7: @@ -1419,7 +1458,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/darwin-arm64/0.17.7: @@ -1437,7 +1475,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/darwin-x64/0.17.7: @@ -1455,7 +1492,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-arm64/0.17.7: @@ -1473,7 +1509,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-x64/0.17.7: @@ -1491,7 +1526,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm/0.17.7: @@ -1509,7 +1543,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm64/0.17.7: @@ -1527,7 +1560,6 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ia32/0.17.7: @@ -1554,7 +1586,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-loong64/0.17.7: @@ -1572,7 +1603,6 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-mips64el/0.17.7: @@ -1590,7 +1620,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ppc64/0.17.7: @@ -1608,7 +1637,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-riscv64/0.17.7: @@ -1626,7 +1654,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-s390x/0.17.7: @@ -1644,7 +1671,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-x64/0.17.7: @@ -1662,7 +1688,6 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: true optional: true /@esbuild/netbsd-x64/0.17.7: @@ -1680,7 +1705,6 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: true optional: true /@esbuild/openbsd-x64/0.17.7: @@ -1698,7 +1722,6 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: true optional: true /@esbuild/sunos-x64/0.17.7: @@ -1716,7 +1739,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-arm64/0.17.7: @@ -1734,7 +1756,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-ia32/0.17.7: @@ -1752,7 +1773,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-x64/0.17.7: @@ -1817,7 +1837,6 @@ packages: /@jridgewell/sourcemap-codec/1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true /@jridgewell/trace-mapping/0.3.17: resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} @@ -1872,13 +1891,11 @@ packages: resolution: {integrity: sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw==} dev: false - /@next-auth/prisma-adapter/1.0.5_next-auth@4.19.2: + /@next-auth/prisma-adapter/1.0.5: resolution: {integrity: sha512-VqMS11IxPXrPGXw6Oul6jcyS/n8GLOWzRMrPr3EMdtD6eOalM6zz05j08PcNiis8QzkfuYnCv49OvufTuaEwYQ==} peerDependencies: '@prisma/client': '>=2.26.0 || >=3' next-auth: ^4 - dependencies: - next-auth: 4.19.2 dev: false /@nodelib/fs.scandir/2.1.5: @@ -2096,7 +2113,6 @@ packages: /@polka/url/1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} - dev: true /@prisma/client/4.10.1_prisma@4.10.1: resolution: {integrity: sha512-VonXLJZybdt8e5XZH5vnIGCRNnIh6OMX1FS3H/yzMGLT3STj5TJ/OkMcednrvELgk8PK89Vo3aSh51MWNO0axA==} @@ -2266,7 +2282,6 @@ packages: vite: 4.1.1 transitivePeerDependencies: - supports-color - dev: true /@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.1+vite@4.1.1: resolution: {integrity: sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==} @@ -2285,7 +2300,6 @@ packages: vitefu: 0.2.4_vite@4.1.1 transitivePeerDependencies: - supports-color - dev: true /@tokenizer/token/0.3.0: resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} @@ -2360,7 +2374,6 @@ packages: /@types/cookie/0.5.1: resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} - dev: true /@types/estree/1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} @@ -3786,7 +3799,6 @@ packages: /deepmerge/4.3.0: resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==} engines: {node: '>=0.10.0'} - dev: true /delaunator/5.0.0: resolution: {integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==} @@ -3820,7 +3832,6 @@ packages: /devalue/4.2.3: resolution: {integrity: sha512-JG6Q248aN0pgFL57e3zqTVeFraBe+5W2ugvv1mLXsJP6YYIYJhRZhAl7QP8haJrqob6X10F9NEkuCvNILZTPeQ==} - dev: true /diff/4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} @@ -4358,7 +4369,6 @@ packages: '@esbuild/win32-arm64': 0.16.17 '@esbuild/win32-ia32': 0.16.17 '@esbuild/win32-x64': 0.16.17 - dev: true /esbuild/0.17.7: resolution: {integrity: sha512-+5hHlrK108fT6C6/40juy0w4DYKtyZ5NjfBlTccBdsFutR7WBxpIY633JzZJewdsCy8xWA/u2z0MSniIJwufYg==} @@ -4525,7 +4535,6 @@ packages: /esm-env/1.0.0: resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} - dev: true /espree/9.4.1: resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} @@ -4929,7 +4938,6 @@ packages: /globalyzer/0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} - dev: true /globby/11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} @@ -4945,7 +4953,6 @@ packages: /globrex/0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} - dev: true /graceful-fs/4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} @@ -5363,7 +5370,6 @@ packages: /kleur/4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - dev: true /levn/0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} @@ -5557,7 +5563,6 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.14 - dev: true /make-error/1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -5639,7 +5644,6 @@ packages: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} hasBin: true - dev: true /mimic-fn/2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} @@ -5715,12 +5719,10 @@ packages: /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 /ms/2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -5759,32 +5761,6 @@ packages: engines: {node: '>= 0.6'} dev: false - /next-auth/4.19.2: - resolution: {integrity: sha512-6V2YG3IJQVhgCAH7mvT3yopTW92gMdUrcwGX7NQ0dCreT/+axGua/JmVdarjec0C/oJukKpIYRgjMlV+L5ZQOQ==} - peerDependencies: - next: ^12.2.5 || ^13 - nodemailer: ^6.6.5 - react: ^17.0.2 || ^18 - react-dom: ^17.0.2 || ^18 - peerDependenciesMeta: - nodemailer: - optional: true - react: - optional: true - react-dom: - optional: true - dependencies: - '@babel/runtime': 7.20.13 - '@panva/hkdf': 1.0.2 - cookie: 0.5.0 - jose: 4.11.2 - oauth: 0.9.15 - openid-client: 5.4.0 - preact: 10.12.0 - preact-render-to-string: 5.2.6_preact@10.12.0 - uuid: 8.3.2 - dev: false - /node-fetch/2.6.9: resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} engines: {node: 4.x || >=6.0.0} @@ -5839,8 +5815,8 @@ packages: resolution: {integrity: sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==} dev: true - /oauth/0.9.15: - resolution: {integrity: sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==} + /oauth4webapi/2.1.0: + resolution: {integrity: sha512-0YjXQA3viCby/So8rja4sBrdLMTTyzuQTzotMTT6uAgqmqanrpt8eBfLLaugUZaMZSzt3IdjJdGadr5YTC+Cww==} dev: false /object-assign/4.1.1: @@ -5848,19 +5824,9 @@ packages: engines: {node: '>=0.10.0'} dev: true - /object-hash/2.2.0: - resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} - engines: {node: '>= 6'} - dev: false - /object-inspect/1.12.2: resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} - /oidc-token-hash/5.0.1: - resolution: {integrity: sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==} - engines: {node: ^10.13.0 || >=12.0.0} - dev: false - /on-finished/2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -5887,15 +5853,6 @@ packages: mimic-fn: 4.0.0 dev: true - /openid-client/5.4.0: - resolution: {integrity: sha512-hgJa2aQKcM2hn3eyVtN12tEA45ECjTJPXCgUh5YzTzy9qwapCvmDTVPWOcWVL0d34zeQoQ/hbG9lJhl3AYxJlQ==} - dependencies: - jose: 4.11.2 - lru-cache: 6.0.0 - object-hash: 2.2.0 - oidc-token-hash: 5.0.1 - dev: false - /optionator/0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} @@ -6133,19 +6090,18 @@ packages: nanoid: 3.3.4 picocolors: 1.0.0 source-map-js: 1.0.2 - dev: true - /preact-render-to-string/5.2.6_preact@10.12.0: - resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==} + /preact-render-to-string/5.2.3_preact@10.11.3: + resolution: {integrity: sha512-aPDxUn5o3GhWdtJtW0svRC2SS/l8D9MAgo2+AWml+BhDImb27ALf04Q2d+AHqUUOc6RdSXFIBVa2gxzgMKgtZA==} peerDependencies: preact: '>=10' dependencies: - preact: 10.12.0 + preact: 10.11.3 pretty-format: 3.8.0 dev: false - /preact/10.12.0: - resolution: {integrity: sha512-+w8ix+huD8CNZemheC53IPjMUFk921i02o30u0K6h53spMX41y/QhVDnG/nU2k42/69tvqWmVsgNLIiwRAcmxg==} + /preact/10.11.3: + resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==} dev: false /prelude-ls/1.1.2: @@ -6312,10 +6268,6 @@ packages: engines: {node: '>=6'} dev: false - /regenerator-runtime/0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - dev: false - /regexpp/3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} @@ -6428,7 +6380,6 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 - dev: true /run-parallel/1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -6450,7 +6401,6 @@ packages: engines: {node: '>=6'} dependencies: mri: 1.2.0 - dev: true /safe-buffer/5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -6529,7 +6479,6 @@ packages: /set-cookie-parser/2.5.1: resolution: {integrity: sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==} - dev: true /setprototypeof/1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} @@ -6575,7 +6524,6 @@ packages: '@polka/url': 1.0.0-next.21 mrmime: 1.0.1 totalist: 3.0.0 - dev: true /slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} @@ -6843,7 +6791,6 @@ packages: svelte: '>=3.19.0' dependencies: svelte: 3.55.1 - dev: true /svelte-preprocess/4.10.7_4x7phaipmicbaooxtnresslofa: resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} @@ -6999,7 +6946,6 @@ packages: dependencies: globalyzer: 0.1.0 globrex: 0.1.2 - dev: true /tinybench/2.3.1: resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==} @@ -7046,7 +6992,6 @@ packages: /totalist/3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} - dev: true /tough-cookie/4.0.0: resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} @@ -7417,6 +7362,7 @@ packages: /uuid/8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true + dev: true /uuid/9.0.0: resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} @@ -7681,7 +7627,6 @@ packages: rollup: 3.14.0 optionalDependencies: fsevents: 2.3.2 - dev: true /vite/4.1.1_@types+node@18.11.19: resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} @@ -7726,7 +7671,6 @@ packages: optional: true dependencies: vite: 4.1.1 - dev: true /vitest/0.20.3: resolution: {integrity: sha512-cXMjTbZxBBUUuIF3PUzEGPLJWtIMeURBDXVxckSHpk7xss4JxkiiWh5cnIlfGyfJne2Ii3QpbiRuFL5dMJtljw==} From 06251c9190ec3e7ed222192d3dc611f225a6587c Mon Sep 17 00:00:00 2001 From: josefaidt Date: Thu, 16 Feb 2023 09:06:29 -0800 Subject: [PATCH 52/79] working frontend build --- apps/bot.amplify.aws/package.json | 4 +-- apps/bot.amplify.aws/src/lib/next-auth.ts | 3 ++- apps/bot.amplify.aws/vite.config.ts | 25 +++++++++++++------ .../discord/src/commands/_repositories.ts | 14 ++++++----- pnpm-lock.yaml | 2 +- 5 files changed, 30 insertions(+), 18 deletions(-) diff --git a/apps/bot.amplify.aws/package.json b/apps/bot.amplify.aws/package.json index d8e3f8cd..267f0980 100644 --- a/apps/bot.amplify.aws/package.json +++ b/apps/bot.amplify.aws/package.json @@ -17,6 +17,7 @@ "@aws-crypto/sha256-js": "^3.0.0", "@carbon/styles": "^1.22.0", "@discordjs/rest": "^1.5.0", + "@hey-amplify/discord": "workspace:*", "@hey-amplify/prisma-client": "workspace:*", "@next-auth/prisma-adapter": "^1.0.5", "@octokit/auth-app": "^4.0.5", @@ -24,6 +25,7 @@ "@octokit/rest": "^19.0.4", "cookie": "^0.5.0", "discord-api-types": "^0.37.10", + "discord.js": "^14.7.1", "fast-glob": "^3.2.11", "fuzzy": "^0.1.3", "svelte": "3.55.1", @@ -34,7 +36,6 @@ "@carbon/charts": "^1.6.4", "@carbon/charts-svelte": "^1.6.4", "@hey-amplify/constants": "workspace:*", - "@hey-amplify/discord": "workspace:*", "@hey-amplify/features": "workspace:*", "@hey-amplify/github": "workspace:*", "@hey-amplify/support": "workspace:*", @@ -46,7 +47,6 @@ "carbon-icons-svelte": "^11.4.0", "carbon-preprocess-svelte": "^0.9.1", "d3": "^7.8.2", - "discord.js": "^14.7.1", "jsdom": "^20.0.0", "svelte-check": "^3.0.3", "svelte-preprocess": "^5.0.1", diff --git a/apps/bot.amplify.aws/src/lib/next-auth.ts b/apps/bot.amplify.aws/src/lib/next-auth.ts index 01f714f6..30d682dc 100644 --- a/apps/bot.amplify.aws/src/lib/next-auth.ts +++ b/apps/bot.amplify.aws/src/lib/next-auth.ts @@ -10,11 +10,12 @@ import { GITHUB_CLIENT_SECRET, } from '$env/static/private' import { prisma } from '$lib/db' -import { applyRoles } from './apply-roles' +// import { applyRoles } from './apply-roles' import type { ServerLoadEvent } from '@sveltejs/kit' export const handle = SvelteKitAuth({ adapter: PrismaAdapter(prisma), + secret: process.env.NEXTAUTH_SECRET, providers: [ GitHub({ clientId: GITHUB_CLIENT_ID, clientSecret: GITHUB_CLIENT_SECRET }), Discord({ diff --git a/apps/bot.amplify.aws/vite.config.ts b/apps/bot.amplify.aws/vite.config.ts index 1f138f8c..70a7201e 100644 --- a/apps/bot.amplify.aws/vite.config.ts +++ b/apps/bot.amplify.aws/vite.config.ts @@ -14,7 +14,7 @@ function relative(path) { export function loadEnvVars(mode = 'development') { Object.assign( process.env, - loadEnv(mode, relative('.'), [ + loadEnv(mode, relative('../../'), [ 'DISCORD_', 'GITHUB_', 'DATABASE_', @@ -36,17 +36,26 @@ export default defineConfig(({ mode }) => { define: { 'import.meta.vitest': 'undefined', }, - build: { - rollupOptions: { - external: ['@hey-amplify/prisma-client'], - }, - }, optimizeDeps: { - include: ['@carbon/charts'], + include: [ + '@carbon/charts', + '@hey-amplify/prisma-client', + '@hey-amplify/discord', + ], }, plugins: [sveltekit()], ssr: { - noExternal: ['@carbon/charts', 'carbon-components'], + external: [ + '@hey-amplify/prisma-client', + '@hey-amplify/discord', + 'discord.js', + ], + noExternal: [ + '@carbon/charts', + 'carbon-components', + // '@hey-amplify/discord', + // '@hey-amplify/prisma-client', + ], }, test: { globals: true, diff --git a/packages/discord/src/commands/_repositories.ts b/packages/discord/src/commands/_repositories.ts index 6abbedcb..2ebd9130 100644 --- a/packages/discord/src/commands/_repositories.ts +++ b/packages/discord/src/commands/_repositories.ts @@ -73,13 +73,15 @@ async function fetchRepositoriesWithDiscussions() { return {} } -export const repositories = new Map( - Object.entries(await fetchRepositories()) -) +// export const repositories = new Map( +// Object.entries(await fetchRepositories()) +// ) +export const repositories = new Map() +export const repositoriesWithDiscussions = new Map() -export const repositoriesWithDiscussions = new Map( - Object.entries(await fetchRepositoriesWithDiscussions()) -) +// export const repositoriesWithDiscussions = new Map( +// Object.entries(await fetchRepositoriesWithDiscussions()) +// ) type Repository = { name: string diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 21b4b994..c0820fd9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -96,6 +96,7 @@ importers: '@aws-crypto/sha256-js': 3.0.0 '@carbon/styles': 1.22.0 '@discordjs/rest': 1.5.0 + '@hey-amplify/discord': link:../../packages/discord '@hey-amplify/prisma-client': link:../../packages/prisma-client '@next-auth/prisma-adapter': 1.0.5 '@octokit/auth-app': 4.0.9 @@ -112,7 +113,6 @@ importers: '@carbon/charts': 1.6.4_d3@7.8.2 '@carbon/charts-svelte': 1.6.4_d3@7.8.2+svelte@3.55.1 '@hey-amplify/constants': link:../../packages/constants - '@hey-amplify/discord': link:../../packages/discord '@hey-amplify/features': link:../../packages/features '@hey-amplify/github': link:../../packages/github '@hey-amplify/support': link:../../packages/support From 80540ce3a957a6a1f2e48099b1e7125cb26060df Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 20 Feb 2023 15:36:04 -0800 Subject: [PATCH 53/79] rename cdk directories --- cdk/{src => bin}/app-github-actions.ts | 0 cdk/{src => bin}/app.ts | 0 cdk/{src => lib}/components/amplify-aws-subdomain.ts | 0 cdk/{src => lib}/components/hey-amplify-app.ts | 0 cdk/{src => lib}/components/support-box.ts | 0 cdk/{src => lib}/components/waf.ts | 0 cdk/{src => lib}/constants.ts | 0 cdk/{src => lib}/pkg.ts | 0 cdk/{src => lib}/stack.ts | 0 cdk/{src => lib}/support.ts | 0 cdk/{src => lib}/types.d.ts | 0 11 files changed, 0 insertions(+), 0 deletions(-) rename cdk/{src => bin}/app-github-actions.ts (100%) rename cdk/{src => bin}/app.ts (100%) rename cdk/{src => lib}/components/amplify-aws-subdomain.ts (100%) rename cdk/{src => lib}/components/hey-amplify-app.ts (100%) rename cdk/{src => lib}/components/support-box.ts (100%) rename cdk/{src => lib}/components/waf.ts (100%) rename cdk/{src => lib}/constants.ts (100%) rename cdk/{src => lib}/pkg.ts (100%) rename cdk/{src => lib}/stack.ts (100%) rename cdk/{src => lib}/support.ts (100%) rename cdk/{src => lib}/types.d.ts (100%) diff --git a/cdk/src/app-github-actions.ts b/cdk/bin/app-github-actions.ts similarity index 100% rename from cdk/src/app-github-actions.ts rename to cdk/bin/app-github-actions.ts diff --git a/cdk/src/app.ts b/cdk/bin/app.ts similarity index 100% rename from cdk/src/app.ts rename to cdk/bin/app.ts diff --git a/cdk/src/components/amplify-aws-subdomain.ts b/cdk/lib/components/amplify-aws-subdomain.ts similarity index 100% rename from cdk/src/components/amplify-aws-subdomain.ts rename to cdk/lib/components/amplify-aws-subdomain.ts diff --git a/cdk/src/components/hey-amplify-app.ts b/cdk/lib/components/hey-amplify-app.ts similarity index 100% rename from cdk/src/components/hey-amplify-app.ts rename to cdk/lib/components/hey-amplify-app.ts diff --git a/cdk/src/components/support-box.ts b/cdk/lib/components/support-box.ts similarity index 100% rename from cdk/src/components/support-box.ts rename to cdk/lib/components/support-box.ts diff --git a/cdk/src/components/waf.ts b/cdk/lib/components/waf.ts similarity index 100% rename from cdk/src/components/waf.ts rename to cdk/lib/components/waf.ts diff --git a/cdk/src/constants.ts b/cdk/lib/constants.ts similarity index 100% rename from cdk/src/constants.ts rename to cdk/lib/constants.ts diff --git a/cdk/src/pkg.ts b/cdk/lib/pkg.ts similarity index 100% rename from cdk/src/pkg.ts rename to cdk/lib/pkg.ts diff --git a/cdk/src/stack.ts b/cdk/lib/stack.ts similarity index 100% rename from cdk/src/stack.ts rename to cdk/lib/stack.ts diff --git a/cdk/src/support.ts b/cdk/lib/support.ts similarity index 100% rename from cdk/src/support.ts rename to cdk/lib/support.ts diff --git a/cdk/src/types.d.ts b/cdk/lib/types.d.ts similarity index 100% rename from cdk/src/types.d.ts rename to cdk/lib/types.d.ts From 117b25c31a246a10d8e8b3a3bf3e4f66cbb4068b Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 20 Feb 2023 15:36:41 -0800 Subject: [PATCH 54/79] update docker builds --- .dockerignore | 9 ++++++ .npmrc | 4 +++ .nvmrc | 2 +- Dockerfile | 33 +++++++++++++++++++++ apps/bot.amplify.aws/Dockerfile | 8 ++++++ apps/discord-bot/.dockerignore | 23 --------------- apps/discord-bot/Dockerfile | 51 +++++---------------------------- docker-compose.yml | 42 +++++++++++++++++---------- pnpm-lock.yaml | 21 +++++++++++++- 9 files changed, 109 insertions(+), 84 deletions(-) create mode 100644 .npmrc create mode 100644 Dockerfile create mode 100644 apps/bot.amplify.aws/Dockerfile delete mode 100644 apps/discord-bot/.dockerignore diff --git a/.dockerignore b/.dockerignore index 2a7a8de5..a5113ad0 100644 --- a/.dockerignore +++ b/.dockerignore @@ -5,8 +5,17 @@ node_modules /cdk /docs /tests +/scripts .vscode +# ignore git +.git* +.github +.git-hooks + +# no dotfiles in general +.* + # no builds **/build diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..e18e3b5a --- /dev/null +++ b/.npmrc @@ -0,0 +1,4 @@ +node-version=18.14.1 +engine-strict=true + +init-license=Apache-2.0 \ No newline at end of file diff --git a/.nvmrc b/.nvmrc index bc7eb587..b6d55d71 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18.10.0 \ No newline at end of file +v18.10.0 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..6340fee0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +#syntax=docker/dockerfile:1.4 +# FROM --platform=linux/amd64 node:18-alpine as pnpm-builder +FROM node:18-alpine as pnpm-builder +RUN apk add --no-cache libc6-compat +RUN apk update +WORKDIR /workspace +# Install pnpm +ARG PNPM_VERSION=7.25.0 +RUN npm install --global pnpm@${PNPM_VERSION} +# pnpm fetch only requires lockfile, but we'll need to build workspaces +COPY pnpm*.yaml ./ +COPY patches ./patches +# mount pnpm store as cache & install dependencies +RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm-store \ + pnpm fetch + +FROM pnpm-builder AS workspace +WORKDIR /workspace +ENV CI=true +# add project source to build +COPY . ./ +# install dependencies +RUN pnpm install --frozen-lockfile --offline +# expose arguments for VITE environment variables +ARG VITE_HOST=http://localhost:3000 +ARG VITE_NEXTAUTH_URL=http://localhost:3000 +ARG VITE_DISCORD_GUILD_ID=976838371383083068 +# run build +RUN pnpm run build +# deploy app +RUN pnpm deploy --filter @aws-amplify/discord-bot-frontend ./dist/bot.amplify.aws +# deploy bot +RUN pnpm deploy --filter @aws-amplify/discord-bot ./dist/discord-bot \ No newline at end of file diff --git a/apps/bot.amplify.aws/Dockerfile b/apps/bot.amplify.aws/Dockerfile new file mode 100644 index 00000000..9fed3b46 --- /dev/null +++ b/apps/bot.amplify.aws/Dockerfile @@ -0,0 +1,8 @@ +FROM workspace +WORKDIR /app +# copy built files +COPY --from=builder /workspace/dist/bot.amplify.aws ./dist +# expose port +EXPOSE 3000 +# start the app +CMD ["pnpm", "run", "start"] \ No newline at end of file diff --git a/apps/discord-bot/.dockerignore b/apps/discord-bot/.dockerignore deleted file mode 100644 index 2a7a8de5..00000000 --- a/apps/discord-bot/.dockerignore +++ /dev/null @@ -1,23 +0,0 @@ -node_modules -**/node_modules - -# ignore other packages in monorepo -/cdk -/docs -/tests -.vscode - -# no builds -**/build - -# no logs -*.log - -# docs, markdown -**/*.md - -# ignore local db -**/*.db - -# ignore env files -.env* \ No newline at end of file diff --git a/apps/discord-bot/Dockerfile b/apps/discord-bot/Dockerfile index 469d323e..8b34fa74 100644 --- a/apps/discord-bot/Dockerfile +++ b/apps/discord-bot/Dockerfile @@ -1,45 +1,8 @@ -#syntax=docker/dockerfile:1.4 -FROM --platform=linux/amd64 alpine as builder -# Download the static build of Litestream directly into the path & make it executable. -# This is done in the builder and copied as the chmod doubles the size. -ADD https://github.com/benbjohnson/litestream/releases/download/v0.3.8/litestream-v0.3.8-linux-amd64-static.tar.gz /tmp/litestream.tar.gz -RUN tar -C /usr/local/bin -xzf /tmp/litestream.tar.gz - -FROM --platform=linux/amd64 node:18-alpine -WORKDIR /usr/src - -# Copy executable & Litestream from builder. -COPY --from=builder /usr/local/bin/litestream /usr/local/bin/litestream -# Copy litestream config -COPY scripts/litestream.yml /etc/litestream.yml - -# add bash -RUN apk add bash - -# Create data directory (although this will likely be mounted too) -RUN mkdir -p /data - -# Install pnpm -ARG PNPM_VERSION=7.9.5 -RUN npm install --global pnpm@${PNPM_VERSION} -# pnpm fetch only requires lockfile, but we'll need to build workspaces -COPY pnpm*.yaml ./ -# RUN pnpm fetch -# add project source to build -ADD . . -# install dependencies -RUN pnpm install --frozen-lockfile -# expose arguments for VITE environment variables -ARG VITE_HOST=http://localhost:3000 -ARG VITE_NEXTAUTH_URL=http://localhost:3000 -ARG VITE_DISCORD_GUILD_ID=976838371383083068 -ARG DATABASE_URL="file:/data/sqlite.db" -# expose necessary env vars -ENV PORT=3000 -# run build -RUN pnpm run build:lib && pnpm run build -# install production dependencies -RUN pnpm install --frozen-lockfile --prod --ignore-scripts - +FROM workspace +WORKDIR /app +# copy built files +COPY --from=builder /workspace/dist/discord-bot ./dist +# expose port EXPOSE 3000 -CMD ["./scripts/start.sh"] +# start the app +CMD ["pnpm", "run", "start"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 0aba9b53..8389fd9e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,20 +1,5 @@ version: '3.9' services: - bot: - image: bot - container_name: local - build: - context: apps/discord-bot - dockerfile: Dockerfile - ports: - - '3000:3000' - volumes: - - ./packages/prisma/data:/data - # - $PNPM_STORE:/root/.local/share/pnpm/store/v3 - env_file: - - .env - environment: - - DATABASE_URL=file:/data/local.db # MariaDB Database to use with local development db: image: mariadb @@ -29,3 +14,30 @@ services: restart: always ports: - 8080:8080 + # Monorepo builder + workspace: + image: workspace + depends_on: + - db + build: + context: . + dockerfile: Dockerfile + env_file: + - .env + environment: + - DATABASE_URL=mysql://example-user:top-secret@db:3306/hey-amplify + - PNPM_STORE_PATH=$$(pnpm store path) + discord-bot-frontend: + image: discord-bot-frontend + build: + context: ./apps/bot.amplify.aws + dockerfile: Dockerfile + env_file: + - .env + discord-bot: + image: discord-bot + build: + context: ./apps/discord-bot + dockerfile: Dockerfile + env_file: + - .env diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c0820fd9..c415fcf5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -104,6 +104,7 @@ importers: '@octokit/rest': 19.0.7 cookie: 0.5.0 discord-api-types: 0.37.10 + discord.js: 14.7.1 fast-glob: 3.2.11 fuzzy: 0.1.3 svelte: 3.55.1 @@ -124,7 +125,6 @@ importers: carbon-icons-svelte: 11.4.0 carbon-preprocess-svelte: 0.9.1_svelte@3.55.1 d3: 7.8.2 - discord.js: 14.7.1 jsdom: 20.0.0 svelte-check: 3.0.3_svelte@3.55.1 svelte-preprocess: 5.0.1_4x7phaipmicbaooxtnresslofa @@ -1370,10 +1370,12 @@ packages: fast-deep-equal: 3.1.3 ts-mixer: 6.0.2 tslib: 2.5.0 + dev: false /@discordjs/collection/1.3.0: resolution: {integrity: sha512-ylt2NyZ77bJbRij4h9u/wVy7qYw/aDqQLWnadjvDqW/WoWCxrsX6M3CIw9GVP5xcGCDxsrKj5e0r5evuFYwrKg==} engines: {node: '>=16.9.0'} + dev: false /@discordjs/rest/1.5.0: resolution: {integrity: sha512-lXgNFqHnbmzp5u81W0+frdXN6Etf4EUi8FAPcWpSykKd8hmlWh1xy6BmE0bsJypU1pxohaA8lQCgp70NUI3uzA==} @@ -1387,10 +1389,12 @@ packages: file-type: 18.2.0 tslib: 2.5.0 undici: 5.18.0 + dev: false /@discordjs/util/0.1.0: resolution: {integrity: sha512-e7d+PaTLVQav6rOc2tojh2y6FE8S7REkqLldq1XF4soCx74XB/DIjbVbVLtBemf0nLW77ntz0v+o5DytKwFNLQ==} engines: {node: '>=16.9.0'} + dev: false /@esbuild/android-arm/0.15.9: resolution: {integrity: sha512-VZPy/ETF3fBG5PiinIkA0W/tlsvlEgJccyN2DzWZEl0DlVKRbu91PvY2D6Lxgluj4w9QtYHjOWjAT44C+oQ+EQ==} @@ -2232,6 +2236,7 @@ packages: /@sapphire/async-queue/1.5.0: resolution: {integrity: sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + dev: false /@sapphire/shapeshift/3.8.1: resolution: {integrity: sha512-xG1oXXBhCjPKbxrRTlox9ddaZTvVpOhYLmKmApD/vIWOV1xEYXnpoFs68zHIZBGbqztq6FrUPNPerIrO1Hqeaw==} @@ -2239,10 +2244,12 @@ packages: dependencies: fast-deep-equal: 3.1.3 lodash: 4.17.21 + dev: false /@sapphire/snowflake/3.2.2: resolution: {integrity: sha512-ula2O0kpSZtX9rKXNeQMrHwNd7E4jPDJYUXmEGTFdMRfyfMw+FPyh04oKMjAiDuOi64bYgVkOV3MjK+loImFhQ==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + dev: false /@sveltejs/adapter-node/1.2.0_@sveltejs+kit@1.5.6: resolution: {integrity: sha512-j0nxkrNZ4zBkOIOtqHUET5l8qvcFo64xNL2xv8F1QICkz746o5DVCGaJEPC3B2X2fTklXExxe80yXZhf38p6zg==} @@ -2303,6 +2310,7 @@ packages: /@tokenizer/token/0.3.0: resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} + dev: false /@tootallnate/once/2.0.0: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} @@ -2482,6 +2490,7 @@ packages: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: '@types/node': 18.11.19 + dev: false /@typescript-eslint/eslint-plugin/5.51.0_b635kmla6dsb4frxfihkw4m47e: resolution: {integrity: sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==} @@ -3856,6 +3865,7 @@ packages: /discord-api-types/0.37.33: resolution: {integrity: sha512-ZMH5RU3q1pvYS+2wGUJ5Zvy8jMGTQ4wCpbDlIQDkbIL/k6kJwBPsXnCg81g2GywlOuf0f8ezakxVSe+sZuY6ig==} + dev: false /discord.js/14.7.1: resolution: {integrity: sha512-1FECvqJJjjeYcjSm0IGMnPxLqja/pmG1B0W2l3lUY2Gi4KXiyTeQmU1IxWcbXHn2k+ytP587mMWqva2IA87EbA==} @@ -3876,6 +3886,7 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate + dev: false /doctrine/3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} @@ -4702,6 +4713,7 @@ packages: readable-web-to-node-stream: 3.0.2 strtok3: 7.0.0 token-types: 5.0.1 + dev: false /fill-range/7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} @@ -5064,6 +5076,7 @@ packages: /ieee754/1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false /ignore/5.2.0: resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} @@ -6007,6 +6020,7 @@ packages: /peek-readable/5.0.0: resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==} engines: {node: '>=14.16'} + dev: false /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -6247,6 +6261,7 @@ packages: engines: {node: '>=8'} dependencies: readable-stream: 3.6.0 + dev: false /readdirp/3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} @@ -6727,6 +6742,7 @@ packages: dependencies: '@tokenizer/token': 0.3.0 peek-readable: 5.0.0 + dev: false /sucrase/3.29.0: resolution: {integrity: sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==} @@ -6988,6 +7004,7 @@ packages: dependencies: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 + dev: false /totalist/3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} @@ -7035,6 +7052,7 @@ packages: /ts-mixer/6.0.2: resolution: {integrity: sha512-zvHx3VM83m2WYCE8XL99uaM7mFwYSkjR2OZti98fabHrwkjsCvgwChda5xctein3xGOyaQhtTeDq/1H/GNvF3A==} + dev: false /ts-morph/14.0.0: resolution: {integrity: sha512-tO8YQ1dP41fw8GVmeQAdNsD8roZi1JMqB7YwZrqU856DvmG5/710e41q2XauzTYrygH9XmMryaFeLo+kdCziyA==} @@ -7995,6 +8013,7 @@ packages: optional: true utf-8-validate: optional: true + dev: false /ws/8.8.1: resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==} From 2ec021197817c42cd682d2d324cd0ee26974d628 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 20 Feb 2023 15:36:54 -0800 Subject: [PATCH 55/79] shuffle cdk directories, imports --- cdk/bin/app.ts | 4 ++-- cdk/cdk.json | 4 ++-- cdk/package.json | 2 +- cdk/tsconfig.json | 6 ++---- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/cdk/bin/app.ts b/cdk/bin/app.ts index d0203064..1894746f 100644 --- a/cdk/bin/app.ts +++ b/cdk/bin/app.ts @@ -1,8 +1,8 @@ import 'source-map-support/register.js' import { getSecrets } from '@hey-amplify/support' import * as cdk from 'aws-cdk-lib' -import { HeyAmplifyStack } from './stack' -import { pkg } from './pkg' +import { HeyAmplifyStack } from '../lib/stack' +import { pkg } from '../lib/pkg' const app = new cdk.App({ context: { diff --git a/cdk/cdk.json b/cdk/cdk.json index e037cdc7..b257641b 100644 --- a/cdk/cdk.json +++ b/cdk/cdk.json @@ -1,7 +1,7 @@ { - "app": "vite-node src/app.ts", + "app": "vite-node bin/app.ts", "watch": { - "include": ["src/**"] + "include": ["lib/**"] }, "context": { "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": true, diff --git a/cdk/package.json b/cdk/package.json index 2fe2a444..324a03d7 100644 --- a/cdk/package.json +++ b/cdk/package.json @@ -5,7 +5,7 @@ "scripts": { "synth": "cdk synth", "deploy": "cdk deploy", - "deploy-github-actions": "cdk deploy --app \"vite-node src/app-github-actions.ts\"" + "deploy-github-actions": "cdk deploy --app \"vite-node bin/app-github-actions.ts\"" }, "devDependencies": { "@hey-amplify/support": "workspace:*", diff --git a/cdk/tsconfig.json b/cdk/tsconfig.json index ff50146b..c314167b 100644 --- a/cdk/tsconfig.json +++ b/cdk/tsconfig.json @@ -2,9 +2,7 @@ "$schema": "https://json.schemastore.org/tsconfig", "extends": "../tsconfig.json", "compilerOptions": { - "rootDir": "src", - "outDir": "build", - "noImplicitAny": false, "isolatedModules": true - } + }, + "include": ["bin/**/*.ts", "lib/**/*.ts", "test/**/*.ts"] } From 4ac8460b93651bf860250d94e6f66515abaf92f1 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 20 Feb 2023 16:47:53 -0800 Subject: [PATCH 56/79] bump frontend deps, fix auth --- apps/bot.amplify.aws/package.json | 30 +- apps/bot.amplify.aws/src/hooks.server.ts | 6 +- .../src/lib/LoginButton.svelte | 2 +- .../src/lib/LogoutButton.svelte | 5 +- apps/bot.amplify.aws/src/lib/auth.ts | 4 +- apps/bot.amplify.aws/src/lib/next-auth.ts | 10 +- .../src/routes/auth/error/+page.svelte | 11 - .../src/routes/auth/error/+page.ts | 7 - package.json | 4 +- packages/prisma-client/schema.prisma | 8 +- pnpm-lock.yaml | 415 +++++++----------- 11 files changed, 205 insertions(+), 297 deletions(-) delete mode 100644 apps/bot.amplify.aws/src/routes/auth/error/+page.svelte delete mode 100644 apps/bot.amplify.aws/src/routes/auth/error/+page.ts diff --git a/apps/bot.amplify.aws/package.json b/apps/bot.amplify.aws/package.json index 267f0980..3d45756b 100644 --- a/apps/bot.amplify.aws/package.json +++ b/apps/bot.amplify.aws/package.json @@ -14,23 +14,23 @@ "dependencies": { "@auth/core": "^0.4.0", "@auth/sveltekit": "^0.2.1", - "@aws-crypto/sha256-js": "^3.0.0", - "@carbon/styles": "^1.22.0", + "@aws-crypto/sha256-js": "^4.0.0", + "@carbon/styles": "^1.23.0", "@discordjs/rest": "^1.5.0", "@hey-amplify/discord": "workspace:*", "@hey-amplify/prisma-client": "workspace:*", "@next-auth/prisma-adapter": "^1.0.5", - "@octokit/auth-app": "^4.0.5", - "@octokit/graphql": "^5.0.1", - "@octokit/rest": "^19.0.4", + "@octokit/auth-app": "^4.0.9", + "@octokit/graphql": "^5.0.5", + "@octokit/rest": "^19.0.7", "cookie": "^0.5.0", - "discord-api-types": "^0.37.10", + "discord-api-types": "^0.37.35", "discord.js": "^14.7.1", - "fast-glob": "^3.2.11", + "fast-glob": "^3.2.12", "fuzzy": "^0.1.3", "svelte": "3.55.1", "uuid": "^9.0.0", - "zod": "^3.20.2" + "zod": "^3.20.6" }, "devDependencies": { "@carbon/charts": "^1.6.4", @@ -40,20 +40,20 @@ "@hey-amplify/github": "workspace:*", "@hey-amplify/support": "workspace:*", "@sveltejs/adapter-node": "1.2.0", - "@sveltejs/kit": "1.5.6", + "@sveltejs/kit": "1.8.3", "@types/cookie": "^0.5.1", - "@vitest/ui": "^0.22.1", - "carbon-components-svelte": "^0.72.3", + "@vitest/ui": "^0.28.5", + "carbon-components-svelte": "^0.73.1", "carbon-icons-svelte": "^11.4.0", "carbon-preprocess-svelte": "^0.9.1", "d3": "^7.8.2", - "jsdom": "^20.0.0", + "jsdom": "^21.1.0", "svelte-check": "^3.0.3", "svelte-preprocess": "^5.0.1", "tslib": "^2.5.0", "typescript": "^4.9.5", - "vite": "^4.1.1", - "vite-node": "^0.28.4", - "vitest": "^0.28.4" + "vite": "^4.1.3", + "vite-node": "^0.28.5", + "vitest": "^0.28.5" } } diff --git a/apps/bot.amplify.aws/src/hooks.server.ts b/apps/bot.amplify.aws/src/hooks.server.ts index af608b49..6d844c98 100644 --- a/apps/bot.amplify.aws/src/hooks.server.ts +++ b/apps/bot.amplify.aws/src/hooks.server.ts @@ -113,8 +113,8 @@ const handleApiAuth: Handle = async ({ event, resolve }) => { } export const handle = sequence( - handleAuth, + handleAuth // handleSession, // get session from NextAuth.js - handleSessionUser, // add user details to session locals - handleApiAuth // protect API routes + // handleSessionUser, // add user details to session locals + // handleApiAuth // protect API routes ) diff --git a/apps/bot.amplify.aws/src/lib/LoginButton.svelte b/apps/bot.amplify.aws/src/lib/LoginButton.svelte index 34e6eacd..e62b0cd4 100644 --- a/apps/bot.amplify.aws/src/lib/LoginButton.svelte +++ b/apps/bot.amplify.aws/src/lib/LoginButton.svelte @@ -11,7 +11,7 @@ const redirect = import.meta.env.VITE_HOST -
+ {#await getCsrfToken() then csrfToken} {/await} diff --git a/apps/bot.amplify.aws/src/lib/LogoutButton.svelte b/apps/bot.amplify.aws/src/lib/LogoutButton.svelte index cd5ab03a..f4f23b40 100644 --- a/apps/bot.amplify.aws/src/lib/LogoutButton.svelte +++ b/apps/bot.amplify.aws/src/lib/LogoutButton.svelte @@ -3,10 +3,7 @@ import { getCsrfToken } from './auth' - + {#await getCsrfToken() then csrfToken} {/await} diff --git a/apps/bot.amplify.aws/src/lib/auth.ts b/apps/bot.amplify.aws/src/lib/auth.ts index 756c923e..19f3f235 100644 --- a/apps/bot.amplify.aws/src/lib/auth.ts +++ b/apps/bot.amplify.aws/src/lib/auth.ts @@ -7,14 +7,14 @@ enum AuthProviders { type Provider = 'discord' | 'github' export async function getCsrfToken(): Promise { - const res = await fetch('/api/auth/csrf') + const res = await fetch('/auth/csrf') const { csrfToken } = await res.json() return csrfToken } export async function signIn(provider: Provider) { const url = new URL( - `/api/auth/signin/${provider}`, + `/auth/signin/${provider}`, import.meta.env.VITE_NEXTAUTH_URL ) diff --git a/apps/bot.amplify.aws/src/lib/next-auth.ts b/apps/bot.amplify.aws/src/lib/next-auth.ts index 30d682dc..270c8b3f 100644 --- a/apps/bot.amplify.aws/src/lib/next-auth.ts +++ b/apps/bot.amplify.aws/src/lib/next-auth.ts @@ -1,7 +1,6 @@ import { SvelteKitAuth } from '@auth/sveltekit' import GitHub from '@auth/core/providers/github' import Discord from '@auth/core/providers/discord' -import { createAppAuth } from '@octokit/auth-app' import { PrismaAdapter } from '@next-auth/prisma-adapter' import { DISCORD_AUTH_CLIENT_ID, @@ -10,9 +9,11 @@ import { GITHUB_CLIENT_SECRET, } from '$env/static/private' import { prisma } from '$lib/db' -// import { applyRoles } from './apply-roles' -import type { ServerLoadEvent } from '@sveltejs/kit' +/** + * @todo use session callback to extend session? + * @todo port in changes to apply roles in discord based on GitHub org membership (if integration is enabled) + */ export const handle = SvelteKitAuth({ adapter: PrismaAdapter(prisma), secret: process.env.NEXTAUTH_SECRET, @@ -23,4 +24,7 @@ export const handle = SvelteKitAuth({ clientSecret: DISCORD_AUTH_CLIENT_SECRET, }), ], + pages: { + error: '/error', + }, }) diff --git a/apps/bot.amplify.aws/src/routes/auth/error/+page.svelte b/apps/bot.amplify.aws/src/routes/auth/error/+page.svelte deleted file mode 100644 index da678aad..00000000 --- a/apps/bot.amplify.aws/src/routes/auth/error/+page.svelte +++ /dev/null @@ -1,11 +0,0 @@ - - - -

{title}

-
diff --git a/apps/bot.amplify.aws/src/routes/auth/error/+page.ts b/apps/bot.amplify.aws/src/routes/auth/error/+page.ts deleted file mode 100644 index f04768ed..00000000 --- a/apps/bot.amplify.aws/src/routes/auth/error/+page.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { PageLoad } from './$types' - -export const load: PageLoad = ({ url }) => { - return { - title: `Error`, - } -} diff --git a/package.json b/package.json index 3e58b3ff..717b9ed0 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "start-frontend": "pnpm --filter @aws-amplify/discord-bot-frontend run start", "start-bot": "pnpm --filter @aws-amplify/discord-bot run start", "stop-db": "docker compose down", + "db": "pnpm start-db -d && pnpm push-db && pnpm studio", "dev": "turbo run dev", "build": "turbo run build", "check": "prettier --check .", @@ -16,7 +17,8 @@ "test": "turbo run test", "push-db": "prisma db push --schema packages/prisma-client/schema.prisma", "setup-dev": "pnpm install && pnpm start-db --detach && pnpm push-db", - "setup-test": "echo 'no setup required :)'" + "setup-test": "echo 'no setup required :)'", + "studio": "prisma studio --schema packages/prisma-client/schema.prisma" }, "devDependencies": { "@commitlint/cli": "^17.4.2", diff --git a/packages/prisma-client/schema.prisma b/packages/prisma-client/schema.prisma index ffc72d9a..a6d975c7 100644 --- a/packages/prisma-client/schema.prisma +++ b/packages/prisma-client/schema.prisma @@ -242,7 +242,7 @@ model FeatureInputs { secure Boolean @default(false) } -// next-auth +// auth.js model Account { id String @id @default(cuid()) type String @@ -250,7 +250,7 @@ model Account { providerAccountId String refresh_token String? access_token String? - expires_at Int? + expires_in Int? refresh_token_expires_in Int? token_type String? scope String? @@ -263,7 +263,7 @@ model Account { @@unique([provider, providerAccountId]) } -// next-auth +// auth.js model Session { id String @id @default(cuid()) sessionToken String @unique @@ -272,7 +272,7 @@ model Session { user User @relation(fields: [userId], references: [id], onDelete: Cascade) } -// next-auth +// auth.js model User { id String @id @default(cuid()) name String? diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c415fcf5..d2d26e05 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,16 +45,16 @@ importers: prisma: 4.10.1 turbo: 1.7.3 typescript: 4.9.5 - vite-node: 0.28.4_@types+node@18.11.19 + vite-node: 0.28.4 apps/bot.amplify.aws: specifiers: '@auth/core': ^0.4.0 '@auth/sveltekit': ^0.2.1 - '@aws-crypto/sha256-js': ^3.0.0 + '@aws-crypto/sha256-js': ^4.0.0 '@carbon/charts': ^1.6.4 '@carbon/charts-svelte': ^1.6.4 - '@carbon/styles': ^1.22.0 + '@carbon/styles': ^1.23.0 '@discordjs/rest': ^1.5.0 '@hey-amplify/constants': workspace:* '@hey-amplify/discord': workspace:* @@ -63,38 +63,38 @@ importers: '@hey-amplify/prisma-client': workspace:* '@hey-amplify/support': workspace:* '@next-auth/prisma-adapter': ^1.0.5 - '@octokit/auth-app': ^4.0.5 - '@octokit/graphql': ^5.0.1 - '@octokit/rest': ^19.0.4 + '@octokit/auth-app': ^4.0.9 + '@octokit/graphql': ^5.0.5 + '@octokit/rest': ^19.0.7 '@sveltejs/adapter-node': 1.2.0 - '@sveltejs/kit': 1.5.6 + '@sveltejs/kit': 1.8.3 '@types/cookie': ^0.5.1 - '@vitest/ui': ^0.22.1 - carbon-components-svelte: ^0.72.3 + '@vitest/ui': ^0.28.5 + carbon-components-svelte: ^0.73.1 carbon-icons-svelte: ^11.4.0 carbon-preprocess-svelte: ^0.9.1 cookie: ^0.5.0 d3: ^7.8.2 - discord-api-types: ^0.37.10 + discord-api-types: ^0.37.35 discord.js: ^14.7.1 - fast-glob: ^3.2.11 + fast-glob: ^3.2.12 fuzzy: ^0.1.3 - jsdom: ^20.0.0 + jsdom: ^21.1.0 svelte: 3.55.1 svelte-check: ^3.0.3 svelte-preprocess: ^5.0.1 tslib: ^2.5.0 typescript: ^4.9.5 uuid: ^9.0.0 - vite: ^4.1.1 - vite-node: ^0.28.4 - vitest: ^0.28.4 - zod: ^3.20.2 + vite: ^4.1.3 + vite-node: ^0.28.5 + vitest: ^0.28.5 + zod: ^3.20.6 dependencies: '@auth/core': 0.4.0 - '@auth/sveltekit': 0.2.1_vjmuw4jy4hji6q4s6wxo6clpfq - '@aws-crypto/sha256-js': 3.0.0 - '@carbon/styles': 1.22.0 + '@auth/sveltekit': 0.2.1_4rylcc2rz3gc4fnbb666aauziu + '@aws-crypto/sha256-js': 4.0.0 + '@carbon/styles': 1.23.0 '@discordjs/rest': 1.5.0 '@hey-amplify/discord': link:../../packages/discord '@hey-amplify/prisma-client': link:../../packages/prisma-client @@ -103,13 +103,13 @@ importers: '@octokit/graphql': 5.0.5 '@octokit/rest': 19.0.7 cookie: 0.5.0 - discord-api-types: 0.37.10 + discord-api-types: 0.37.35 discord.js: 14.7.1 - fast-glob: 3.2.11 + fast-glob: 3.2.12 fuzzy: 0.1.3 svelte: 3.55.1 uuid: 9.0.0 - zod: 3.20.2 + zod: 3.20.6 devDependencies: '@carbon/charts': 1.6.4_d3@7.8.2 '@carbon/charts-svelte': 1.6.4_d3@7.8.2+svelte@3.55.1 @@ -117,22 +117,22 @@ importers: '@hey-amplify/features': link:../../packages/features '@hey-amplify/github': link:../../packages/github '@hey-amplify/support': link:../../packages/support - '@sveltejs/adapter-node': 1.2.0_@sveltejs+kit@1.5.6 - '@sveltejs/kit': 1.5.6_svelte@3.55.1+vite@4.1.1 + '@sveltejs/adapter-node': 1.2.0_@sveltejs+kit@1.8.3 + '@sveltejs/kit': 1.8.3_svelte@3.55.1+vite@4.1.3 '@types/cookie': 0.5.1 - '@vitest/ui': 0.22.1 - carbon-components-svelte: 0.72.3 + '@vitest/ui': 0.28.5 + carbon-components-svelte: 0.73.1 carbon-icons-svelte: 11.4.0 carbon-preprocess-svelte: 0.9.1_svelte@3.55.1 d3: 7.8.2 - jsdom: 20.0.0 + jsdom: 21.1.0 svelte-check: 3.0.3_svelte@3.55.1 svelte-preprocess: 5.0.1_4x7phaipmicbaooxtnresslofa tslib: 2.5.0 typescript: 4.9.5 - vite: 4.1.1 - vite-node: 0.28.4 - vitest: 0.28.4_r26ddduqt3xuel6y6oroghsjvu + vite: 4.1.3 + vite-node: 0.28.5 + vitest: 0.28.5_itn5mhdgoxdt6nk7zeh5bmcq5a apps/discord-bot: specifiers: @@ -392,14 +392,14 @@ packages: preact-render-to-string: 5.2.3_preact@10.11.3 dev: false - /@auth/sveltekit/0.2.1_vjmuw4jy4hji6q4s6wxo6clpfq: + /@auth/sveltekit/0.2.1_4rylcc2rz3gc4fnbb666aauziu: resolution: {integrity: sha512-uC1xxWLCWsd581yMzOAiOhUudsjA/HHYuFXMOnvxB4gRcxQV9bW3t+GcP2NWWah6gU00kMc7r2JsVhGyPNANGQ==} peerDependencies: '@sveltejs/kit': ^1.0.0 svelte: ^3.54.0 dependencies: '@auth/core': 0.3.0 - '@sveltejs/kit': 1.5.6_svelte@3.55.1+vite@4.1.1 + '@sveltejs/kit': 1.8.3_svelte@3.55.1+vite@4.1.3 svelte: 3.55.1 transitivePeerDependencies: - nodemailer @@ -440,10 +440,10 @@ packages: tslib: 1.14.1 dev: true - /@aws-crypto/sha256-js/3.0.0: - resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} + /@aws-crypto/sha256-js/4.0.0: + resolution: {integrity: sha512-MHGJyjE7TX9aaqXj7zk2ppnFUOhaDs5sP+HtNS0evOxn72c+5njUmyJmpGd7TfyoDznZlHMmdo/xGUdu2NIjNQ==} dependencies: - '@aws-crypto/util': 3.0.0 + '@aws-crypto/util': 4.0.0 '@aws-sdk/types': 3.267.0 tslib: 1.14.1 dev: false @@ -462,8 +462,8 @@ packages: tslib: 1.14.1 dev: true - /@aws-crypto/util/3.0.0: - resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} + /@aws-crypto/util/4.0.0: + resolution: {integrity: sha512-2EnmPy2gsFZ6m8bwUQN4jq+IyXV3quHAcwPOS6ZA3k+geujiqI8aRokO2kFJe+idJ/P3v4qWI186rVMo0+zLDQ==} dependencies: '@aws-sdk/types': 3.267.0 '@aws-sdk/util-utf8-browser': 3.109.0 @@ -1117,7 +1117,7 @@ packages: peerDependencies: d3: 7.x dependencies: - '@carbon/styles': 1.22.0 + '@carbon/styles': 1.23.0 '@carbon/telemetry': 0.1.0 '@carbon/utils-position': 1.1.1 carbon-components: 10.56.0 @@ -1148,8 +1148,8 @@ packages: /@carbon/motion/11.9.0: resolution: {integrity: sha512-kLWvm0Y6QH+2sZm+TKk5PPHONlZZFFY5QelyZrCkKlzB5oU2Nne597ETHnu1SomOscDqJjc/zhkxIsx9dJLBIw==} - /@carbon/styles/1.22.0: - resolution: {integrity: sha512-lfewhEFIaRDhnwGhknen+vzhgfgd/3nq1nk6JZWP9FqwwkJR02UiWrl7Mr40chyzxzuYmtAv/nJh2m7qJelhiw==} + /@carbon/styles/1.23.0: + resolution: {integrity: sha512-t806EWLGcQuJz2baCtWygyLGtFH9mHRA30AdBVTVNd+yUDyBuU9wChJ5OdFNZkUbhiFw1Sj/Dap6I+zruLfkDw==} peerDependencies: sass: ^1.33.0 dependencies: @@ -1366,7 +1366,7 @@ packages: dependencies: '@discordjs/util': 0.1.0 '@sapphire/shapeshift': 3.8.1 - discord-api-types: 0.37.33 + discord-api-types: 0.37.35 fast-deep-equal: 3.1.3 ts-mixer: 6.0.2 tslib: 2.5.0 @@ -1385,7 +1385,7 @@ packages: '@discordjs/util': 0.1.0 '@sapphire/async-queue': 1.5.0 '@sapphire/snowflake': 3.2.2 - discord-api-types: 0.37.33 + discord-api-types: 0.37.35 file-type: 18.2.0 tslib: 2.5.0 undici: 5.18.0 @@ -2251,7 +2251,7 @@ packages: engines: {node: '>=v14.0.0', npm: '>=7.0.0'} dev: false - /@sveltejs/adapter-node/1.2.0_@sveltejs+kit@1.5.6: + /@sveltejs/adapter-node/1.2.0_@sveltejs+kit@1.8.3: resolution: {integrity: sha512-j0nxkrNZ4zBkOIOtqHUET5l8qvcFo64xNL2xv8F1QICkz746o5DVCGaJEPC3B2X2fTklXExxe80yXZhf38p6zg==} peerDependencies: '@sveltejs/kit': ^1.0.0 @@ -2259,12 +2259,12 @@ packages: '@rollup/plugin-commonjs': 24.0.1_rollup@3.14.0 '@rollup/plugin-json': 6.0.0_rollup@3.14.0 '@rollup/plugin-node-resolve': 15.0.1_rollup@3.14.0 - '@sveltejs/kit': 1.5.6_svelte@3.55.1+vite@4.1.1 + '@sveltejs/kit': 1.8.3_svelte@3.55.1+vite@4.1.3 rollup: 3.14.0 dev: true - /@sveltejs/kit/1.5.6_svelte@3.55.1+vite@4.1.1: - resolution: {integrity: sha512-CHVeQpbcwSIUekF6WwevmExKXyfHnzM5nlCEUv13lGgfJ0zKA0ny5YwIe40vccrm5w5Caec7jMTt9Ih3McJr5g==} + /@sveltejs/kit/1.8.3_svelte@3.55.1+vite@4.1.3: + resolution: {integrity: sha512-32tiLy5PPpt2lquK2p53/5wR+ghAXw0HymIBEezmwmwtzx7Xf36xw3RG3fDYQ9gyzon89T+JRweXgAv/qhhvSQ==} engines: {node: ^16.14 || >=18} hasBin: true requiresBuild: true @@ -2272,25 +2272,25 @@ packages: svelte: ^3.54.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.1+vite@4.1.1 + '@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.1+vite@4.1.3 '@types/cookie': 0.5.1 cookie: 0.5.0 - devalue: 4.2.3 + devalue: 4.3.0 esm-env: 1.0.0 kleur: 4.1.5 - magic-string: 0.27.0 + magic-string: 0.29.0 mime: 3.0.0 sade: 1.8.1 set-cookie-parser: 2.5.1 sirv: 2.0.2 svelte: 3.55.1 tiny-glob: 0.2.9 - undici: 5.18.0 - vite: 4.1.1 + undici: 5.20.0 + vite: 4.1.3 transitivePeerDependencies: - supports-color - /@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.1+vite@4.1.1: + /@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.1+vite@4.1.3: resolution: {integrity: sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==} engines: {node: ^14.18.0 || >= 16} peerDependencies: @@ -2303,8 +2303,8 @@ packages: magic-string: 0.27.0 svelte: 3.55.1 svelte-hmr: 0.15.1_svelte@3.55.1 - vite: 4.1.1 - vitefu: 0.2.4_vite@4.1.1 + vite: 4.1.3 + vitefu: 0.2.4_vite@4.1.3 transitivePeerDependencies: - supports-color @@ -2319,7 +2319,7 @@ packages: /@ts-morph/common/0.13.0: resolution: {integrity: sha512-fEJ6j7Cu8yiWjA4UmybOBH9Efgb/64ZTWuvCF4KysGu4xz8ettfyaqFt8WZ1btCxXsGZJjZ2/3svOF6rL+UFdQ==} dependencies: - fast-glob: 3.2.11 + fast-glob: 3.2.12 minimatch: 5.1.0 mkdirp: 1.0.4 path-browserify: 1.0.1 @@ -2622,14 +2622,6 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /@vitest/expect/0.28.4: - resolution: {integrity: sha512-JqK0NZ4brjvOSL8hXAnIsfi+jxDF7rH/ZWCGCt0FAqRnVFc1hXsfwXksQvEnKqD84avRt3gmeXoK4tNbmkoVsQ==} - dependencies: - '@vitest/spy': 0.28.4 - '@vitest/utils': 0.28.4 - chai: 4.3.7 - dev: true - /@vitest/expect/0.28.5: resolution: {integrity: sha512-gqTZwoUTwepwGIatnw4UKpQfnoyV0Z9Czn9+Lo2/jLIt4/AXLTn+oVZxlQ7Ng8bzcNkR+3DqLJ08kNr8jRmdNQ==} dependencies: @@ -2638,14 +2630,6 @@ packages: chai: 4.3.7 dev: true - /@vitest/runner/0.28.4: - resolution: {integrity: sha512-Q8UV6GjDvBSTfUoq0QXVCNpNOUrWu4P2qvRq7ssJWzn0+S0ojbVOxEjMt+8a32X6SdkhF8ak+2nkppsqV0JyNQ==} - dependencies: - '@vitest/utils': 0.28.4 - p-limit: 4.0.0 - pathe: 1.1.0 - dev: true - /@vitest/runner/0.28.5: resolution: {integrity: sha512-NKkHtLB+FGjpp5KmneQjTcPLWPTDfB7ie+MmF1PnUBf/tGe2OjGxWyB62ySYZ25EYp9krR5Bw0YPLS/VWh1QiA==} dependencies: @@ -2654,32 +2638,20 @@ packages: pathe: 1.1.0 dev: true - /@vitest/spy/0.28.4: - resolution: {integrity: sha512-8WuhfXLlvCXpNXEGJW6Gc+IKWI32435fQJLh43u70HnZ1otJOa2Cmg2Wy2Aym47ZnNCP4NolF+8cUPwd0MigKQ==} - dependencies: - tinyspy: 1.0.2 - dev: true - /@vitest/spy/0.28.5: resolution: {integrity: sha512-7if6rsHQr9zbmvxN7h+gGh2L9eIIErgf8nSKYDlg07HHimCxp4H6I/X/DPXktVPPLQfiZ1Cw2cbDIx9fSqDjGw==} dependencies: tinyspy: 1.0.2 dev: true - /@vitest/ui/0.22.1: - resolution: {integrity: sha512-iiM2JN+vzY8pEejUbPPi0EgkEselI3RvrgMPNUOalxQRgtlNVGyMsM0Re99xQsrZ/eBkHgWrlW216gNDoeD5cA==} - dependencies: - sirv: 2.0.2 - dev: true - - /@vitest/utils/0.28.4: - resolution: {integrity: sha512-l2QztOLdc2LkR+w/lP52RGh8hW+Ul4KESmCAgVE8q737I7e7bQoAfkARKpkPJ4JQtGpwW4deqlj1732VZD7TFw==} + /@vitest/ui/0.28.5: + resolution: {integrity: sha512-hzzZzv38mH/LMFh54QEJpWFuGixZZBOD+C0fHU81d1lsvochPwNZhWJbuRJQNyZLSMZYCYW4hF6PpNQJXDHDmg==} dependencies: - cli-truncate: 3.1.0 - diff: 5.1.0 - loupe: 2.3.6 + fast-glob: 3.2.12 + flatted: 3.2.7 + pathe: 1.1.0 picocolors: 1.0.0 - pretty-format: 27.5.1 + sirv: 2.0.2 dev: true /@vitest/utils/0.28.5: @@ -2712,11 +2684,11 @@ packages: negotiator: 0.6.3 dev: false - /acorn-globals/6.0.0: - resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + /acorn-globals/7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 + acorn: 8.8.2 + acorn-walk: 8.2.0 dev: true /acorn-jsx/5.3.2_acorn@8.8.2: @@ -2727,22 +2699,11 @@ packages: acorn: 8.8.2 dev: true - /acorn-walk/7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - dev: true - /acorn-walk/8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} dev: true - /acorn/7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - /acorn/8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} @@ -2983,10 +2944,6 @@ packages: dependencies: fill-range: 7.0.1 - /browser-process-hrtime/1.0.0: - resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} - dev: true - /btoa-lite/1.0.0: resolution: {integrity: sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==} dev: false @@ -3070,8 +3027,8 @@ packages: engines: {node: '>=6'} dev: true - /carbon-components-svelte/0.72.3: - resolution: {integrity: sha512-ill4KeWH7THXDLRfuxg0panknTvl75U54+6366yNmtkPbzmCqp/gw5aW3JPlJcOyYny1F9X+fTYY3kQkEigORA==} + /carbon-components-svelte/0.73.1: + resolution: {integrity: sha512-kI/VEcxYl7LVsLJeDsg1rhB86g/NXQt80yzQDnFmbW4CEt7e3nCG9Bo3oNIWIFiwvbPVHhBeo4VhiqH08Qxd7g==} dependencies: flatpickr: 4.6.9 dev: true @@ -3777,8 +3734,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /decimal.js/10.3.1: - resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==} + /decimal.js/10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} dev: true /deep-eql/3.0.1: @@ -3839,8 +3796,8 @@ packages: engines: {node: '>=8'} dev: true - /devalue/4.2.3: - resolution: {integrity: sha512-JG6Q248aN0pgFL57e3zqTVeFraBe+5W2ugvv1mLXsJP6YYIYJhRZhAl7QP8haJrqob6X10F9NEkuCvNILZTPeQ==} + /devalue/4.3.0: + resolution: {integrity: sha512-n94yQo4LI3w7erwf84mhRUkUJfhLoCZiLyoOZ/QFsDbcWNZePrLwbQpvZBUG2TNxwV3VjCKPxkiiQA6pe3TrTA==} /diff/4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} @@ -3859,14 +3816,14 @@ packages: path-type: 4.0.0 dev: true - /discord-api-types/0.37.10: - resolution: {integrity: sha512-NvDh2Puc3wZQzQt2zLavlI5ewBnLFjI46/NJmvWIs6OC0JOkq7KcmH4s80X2+22mSQ3wUyge2mxq3cGYRT2noQ==} - dev: false - /discord-api-types/0.37.33: resolution: {integrity: sha512-ZMH5RU3q1pvYS+2wGUJ5Zvy8jMGTQ4wCpbDlIQDkbIL/k6kJwBPsXnCg81g2GywlOuf0f8ezakxVSe+sZuY6ig==} dev: false + /discord-api-types/0.37.35: + resolution: {integrity: sha512-iyKZ/82k7FX3lcmHiAvvWu5TmyfVo78RtghBV/YsehK6CID83k5SI03DKKopBcln+TiEIYw5MGgq7SJXSpNzMg==} + dev: false + /discord.js/14.7.1: resolution: {integrity: sha512-1FECvqJJjjeYcjSm0IGMnPxLqja/pmG1B0W2l3lUY2Gi4KXiyTeQmU1IxWcbXHn2k+ytP587mMWqva2IA87EbA==} engines: {node: '>=16.9.0'} @@ -3877,7 +3834,7 @@ packages: '@discordjs/util': 0.1.0 '@sapphire/snowflake': 3.2.2 '@types/ws': 8.5.3 - discord-api-types: 0.37.33 + discord-api-types: 0.37.35 fast-deep-equal: 3.1.3 lodash.snakecase: 4.1.1 tslib: 2.5.0 @@ -3940,8 +3897,8 @@ packages: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true - /entities/4.3.1: - resolution: {integrity: sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==} + /entities/4.4.0: + resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} dev: true @@ -4682,6 +4639,16 @@ packages: merge2: 1.4.1 micromatch: 4.0.5 + /fast-glob/3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + /fast-json-stable-stringify/2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -4763,7 +4730,7 @@ packages: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.6 + flatted: 3.2.7 rimraf: 3.0.2 dev: true @@ -4775,8 +4742,8 @@ packages: resolution: {integrity: sha512-F0azNNi8foVWKSF+8X+ZJzz8r9sE1G4hl06RyceIaLvyltKvDl6vqk9Lm/6AUUCi5HWaIjiUbk7UpeE/fOXOpw==} dev: true - /flatted/3.2.6: - resolution: {integrity: sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==} + /flatted/3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: true /form-data/4.0.0: @@ -4957,7 +4924,7 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.11 + fast-glob: 3.2.12 ignore: 5.2.0 merge2: 1.4.1 slash: 3.0.0 @@ -5267,8 +5234,8 @@ packages: argparse: 2.0.1 dev: true - /jsdom/20.0.0: - resolution: {integrity: sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA==} + /jsdom/21.1.0: + resolution: {integrity: sha512-m0lzlP7qOtthD918nenK3hdItSd2I+V3W9IrBcB36sqDwG+KnUs66IF5GY7laGWUnlM9vTsD0W1QwSEBYWWcJg==} engines: {node: '>=14'} peerDependencies: canvas: ^2.5.0 @@ -5278,11 +5245,11 @@ packages: dependencies: abab: 2.0.6 acorn: 8.8.2 - acorn-globals: 6.0.0 + acorn-globals: 7.0.1 cssom: 0.5.0 cssstyle: 2.3.0 data-urls: 3.0.2 - decimal.js: 10.3.1 + decimal.js: 10.4.3 domexception: 4.0.0 escodegen: 2.0.0 form-data: 4.0.0 @@ -5290,18 +5257,17 @@ packages: http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.1 - parse5: 7.0.0 + nwsapi: 2.2.2 + parse5: 7.1.2 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.0.0 - w3c-hr-time: 1.0.2 - w3c-xmlserializer: 3.0.0 + tough-cookie: 4.1.2 + 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.8.1 + ws: 8.12.0 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -5577,6 +5543,12 @@ packages: dependencies: '@jridgewell/sourcemap-codec': 1.4.14 + /magic-string/0.29.0: + resolution: {integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.14 + /make-error/1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: true @@ -5824,8 +5796,8 @@ packages: path-key: 4.0.0 dev: true - /nwsapi/2.2.1: - resolution: {integrity: sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==} + /nwsapi/2.2.2: + resolution: {integrity: sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==} dev: true /oauth4webapi/2.1.0: @@ -5954,10 +5926,10 @@ packages: lines-and-columns: 1.2.4 dev: true - /parse5/7.0.0: - resolution: {integrity: sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==} + /parse5/7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: - entities: 4.3.1 + entities: 4.4.0 dev: true /parseurl/1.3.3: @@ -6202,6 +6174,10 @@ packages: side-channel: 1.0.4 dev: false + /querystringify/2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: true + /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -6298,6 +6274,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /requires-port/1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true + /resize-observer-polyfill/1.5.0: resolution: {integrity: sha512-M2AelyJDVR/oLnToJLtuDJRBBWUGUvvGigj1411hXhAdyFWqMaqHp7TixW3FpiLuVaikIcR1QL+zqoJoZlOgpg==} dev: true @@ -6781,7 +6761,7 @@ packages: dependencies: '@jridgewell/trace-mapping': 0.3.17 chokidar: 3.5.3 - fast-glob: 3.2.11 + fast-glob: 3.2.12 import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 @@ -7010,13 +6990,14 @@ packages: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} - /tough-cookie/4.0.0: - resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} + /tough-cookie/4.1.2: + resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} engines: {node: '>=6'} dependencies: psl: 1.9.0 punycode: 2.1.1 - universalify: 0.1.2 + universalify: 0.2.0 + url-parse: 1.5.10 dev: true /tr46/0.0.3: @@ -7339,6 +7320,13 @@ packages: engines: {node: '>=12.18'} dependencies: busboy: 1.6.0 + dev: false + + /undici/5.20.0: + resolution: {integrity: sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==} + engines: {node: '>=12.18'} + dependencies: + busboy: 1.6.0 /universal-github-app-jwt/1.1.1: resolution: {integrity: sha512-G33RTLrIBMFmlDV4u4CBF7dh71eWwykck4XgaxaIVeZKOYZRAAxvcGMRFTUclVY6xoUPQvO4Ne5wKGxYm/Yy9w==} @@ -7354,6 +7342,12 @@ packages: /universalify/0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} + dev: false + + /universalify/0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + dev: true /universalify/2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} @@ -7369,6 +7363,13 @@ packages: dependencies: punycode: 2.1.1 + /url-parse/1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + /util-deprecate/1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -7436,36 +7437,11 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 source-map-support: 0.5.21 - vite: 4.1.1 - transitivePeerDependencies: - - '@types/node' - - less - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite-node/0.28.4_@types+node@18.11.19: - resolution: {integrity: sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ==} - engines: {node: '>=v14.16.0'} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - mlly: 1.1.0 - pathe: 1.1.0 - picocolors: 1.0.0 - source-map: 0.6.1 - source-map-support: 0.5.21 - vite: 4.1.1_@types+node@18.11.19 + vite: 3.1.3 transitivePeerDependencies: - - '@types/node' - less - sass - stylus - - sugarss - supports-color - terser dev: true @@ -7482,36 +7458,11 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 source-map-support: 0.5.21 - vite: 4.1.1 - transitivePeerDependencies: - - '@types/node' - - less - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite-node/0.28.5_@types+node@18.11.19: - resolution: {integrity: sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==} - engines: {node: '>=v14.16.0'} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - mlly: 1.1.0 - pathe: 1.1.0 - picocolors: 1.0.0 - source-map: 0.6.1 - source-map-support: 0.5.21 - vite: 4.1.1_@types+node@18.11.19 + vite: 3.1.3 transitivePeerDependencies: - - '@types/node' - less - sass - stylus - - sugarss - supports-color - terser dev: true @@ -7526,7 +7477,7 @@ packages: '@rushstack/node-core-library': 3.51.1 chalk: 4.1.2 debug: 4.3.4 - fast-glob: 3.2.11 + fast-glob: 3.2.12 fs-extra: 10.1.0 ts-morph: 14.0.0 vite: 3.0.9 @@ -7645,9 +7596,10 @@ packages: rollup: 3.14.0 optionalDependencies: fsevents: 2.3.2 + dev: true - /vite/4.1.1_@types+node@18.11.19: - resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} + /vite/4.1.3: + resolution: {integrity: sha512-0Zqo4/Fr/swSOBmbl+HAAhOjrqNwju+yTtoe4hQX9UsARdcuc9njyOdr6xU0DDnV7YP0RT6mgTTOiRtZgxfCxA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -7671,16 +7623,14 @@ packages: terser: optional: true dependencies: - '@types/node': 18.11.19 esbuild: 0.16.17 postcss: 8.4.21 resolve: 1.22.1 rollup: 3.14.0 optionalDependencies: fsevents: 2.3.2 - dev: true - /vitefu/0.2.4_vite@4.1.1: + /vitefu/0.2.4_vite@4.1.3: resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: vite: ^3.0.0 || ^4.0.0 @@ -7688,7 +7638,7 @@ packages: vite: optional: true dependencies: - vite: 4.1.1 + vite: 4.1.3 /vitest/0.20.3: resolution: {integrity: sha512-cXMjTbZxBBUUuIF3PUzEGPLJWtIMeURBDXVxckSHpk7xss4JxkiiWh5cnIlfGyfJne2Ii3QpbiRuFL5dMJtljw==} @@ -7771,8 +7721,8 @@ packages: - terser dev: true - /vitest/0.28.4_r26ddduqt3xuel6y6oroghsjvu: - resolution: {integrity: sha512-sfWIy0AdlbyGRhunm+TLQEJrFH9XuRPdApfubsyLcDbCRrUX717BRQKInTgzEfyl2Ipi1HWoHB84Nqtcwxogcg==} + /vitest/0.28.5: + resolution: {integrity: sha512-pyCQ+wcAOX7mKMcBNkzDwEHRGqQvHUl0XnoHR+3Pb1hytAHISgSxv9h0gUiSiYtISXUU3rMrKiKzFYDrI6ZIHA==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: @@ -7796,17 +7746,15 @@ packages: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 '@types/node': 18.11.19 - '@vitest/expect': 0.28.4 - '@vitest/runner': 0.28.4 - '@vitest/spy': 0.28.4 - '@vitest/ui': 0.22.1 - '@vitest/utils': 0.28.4 + '@vitest/expect': 0.28.5 + '@vitest/runner': 0.28.5 + '@vitest/spy': 0.28.5 + '@vitest/utils': 0.28.5 acorn: 8.8.2 acorn-walk: 8.2.0 cac: 6.7.14 chai: 4.3.7 debug: 4.3.4 - jsdom: 20.0.0 local-pkg: 0.4.2 pathe: 1.1.0 picocolors: 1.0.0 @@ -7816,19 +7764,18 @@ packages: tinybench: 2.3.1 tinypool: 0.3.1 tinyspy: 1.0.2 - vite: 4.1.1_@types+node@18.11.19 - vite-node: 0.28.4_@types+node@18.11.19 + vite: 3.1.3 + vite-node: 0.28.5 why-is-node-running: 2.2.2 transitivePeerDependencies: - less - sass - stylus - - sugarss - supports-color - terser dev: true - /vitest/0.28.5: + /vitest/0.28.5_itn5mhdgoxdt6nk7zeh5bmcq5a: resolution: {integrity: sha512-pyCQ+wcAOX7mKMcBNkzDwEHRGqQvHUl0XnoHR+3Pb1hytAHISgSxv9h0gUiSiYtISXUU3rMrKiKzFYDrI6ZIHA==} engines: {node: '>=v14.16.0'} hasBin: true @@ -7856,12 +7803,14 @@ packages: '@vitest/expect': 0.28.5 '@vitest/runner': 0.28.5 '@vitest/spy': 0.28.5 + '@vitest/ui': 0.28.5 '@vitest/utils': 0.28.5 acorn: 8.8.2 acorn-walk: 8.2.0 cac: 6.7.14 chai: 4.3.7 debug: 4.3.4 + jsdom: 21.1.0 local-pkg: 0.4.2 pathe: 1.1.0 picocolors: 1.0.0 @@ -7871,28 +7820,20 @@ packages: tinybench: 2.3.1 tinypool: 0.3.1 tinyspy: 1.0.2 - vite: 4.1.1_@types+node@18.11.19 - vite-node: 0.28.5_@types+node@18.11.19 + vite: 3.1.3 + vite-node: 0.28.5 why-is-node-running: 2.2.2 transitivePeerDependencies: - less - sass - stylus - - sugarss - supports-color - terser dev: true - /w3c-hr-time/1.0.2: - resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} - deprecated: Use your platform's native performance.now() and performance.timeOrigin. - dependencies: - browser-process-hrtime: 1.0.0 - dev: true - - /w3c-xmlserializer/3.0.0: - resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==} - engines: {node: '>=12'} + /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 @@ -8013,20 +7954,6 @@ packages: optional: true utf-8-validate: optional: true - dev: false - - /ws/8.8.1: - resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true /xml-name-validator/4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} @@ -8105,10 +8032,6 @@ packages: commander: 2.20.3 dev: false - /zod/3.20.2: - resolution: {integrity: sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==} - dev: false - /zod/3.20.6: resolution: {integrity: sha512-oyu0m54SGCtzh6EClBVqDDlAYRz4jrVtKwQ7ZnsEmMI9HnzuZFj8QFwAY1M5uniIYACdGvv0PBWPF2kO0aNofA==} dev: false From 89b9c67659a574cde6f1b60e002d00248c589f60 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 20 Feb 2023 16:49:25 -0800 Subject: [PATCH 57/79] add db-stop to db command, dropping data after exit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 717b9ed0..81dc46a9 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "start-frontend": "pnpm --filter @aws-amplify/discord-bot-frontend run start", "start-bot": "pnpm --filter @aws-amplify/discord-bot run start", "stop-db": "docker compose down", - "db": "pnpm start-db -d && pnpm push-db && pnpm studio", + "db": "pnpm start-db -d && pnpm push-db && pnpm studio && pnpm stop-db", "dev": "turbo run dev", "build": "turbo run build", "check": "prettier --check .", From 9878dbc9ecdf65f1e67d5749dac0eaea02c3075c Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 20 Feb 2023 17:37:04 -0800 Subject: [PATCH 58/79] fix frontend RBAC --- apps/bot.amplify.aws/src/app.d.ts | 13 ++-- apps/bot.amplify.aws/src/hooks.server.ts | 42 ++----------- .../src/lib/hooks/handle-api-auth.ts | 36 +++++++++++ .../src/lib/hooks/handle-saved-guild.ts | 37 ++++++++++++ apps/bot.amplify.aws/src/lib/next-auth.ts | 59 +++++++++++++++++++ 5 files changed, 144 insertions(+), 43 deletions(-) create mode 100644 apps/bot.amplify.aws/src/lib/hooks/handle-api-auth.ts create mode 100644 apps/bot.amplify.aws/src/lib/hooks/handle-saved-guild.ts diff --git a/apps/bot.amplify.aws/src/app.d.ts b/apps/bot.amplify.aws/src/app.d.ts index 6b3a4d62..b25ce8b6 100644 --- a/apps/bot.amplify.aws/src/app.d.ts +++ b/apps/bot.amplify.aws/src/app.d.ts @@ -1,17 +1,16 @@ /* eslint-disable @typescript-eslint/no-empty-interface */ /// -import type * as NextAuth from 'next-auth' +import * as Auth from '@auth/core/types' -interface User extends NextAuth.User { +interface User extends Auth.User { id: string isAdmin: boolean isStaff: boolean } -interface AppSession extends NextAuth.Session { - user: User - // Guild ID of the guild the user is currently viewing - guild: string +interface AppSession extends Auth.Session { + user?: User + isGithubLinked?: boolean } // See https://kit.svelte.dev/docs/typescript @@ -20,6 +19,8 @@ declare global { namespace App { interface Locals { session: AppSession + // Guild ID of the guild the user is currently viewing + guild: string } interface Platform {} diff --git a/apps/bot.amplify.aws/src/hooks.server.ts b/apps/bot.amplify.aws/src/hooks.server.ts index 6d844c98..2a560668 100644 --- a/apps/bot.amplify.aws/src/hooks.server.ts +++ b/apps/bot.amplify.aws/src/hooks.server.ts @@ -5,19 +5,8 @@ import cookie from 'cookie' import { prisma, init } from '$lib/db' import { handle as handleAuth } from '$lib/next-auth' import type { Handle } from '@sveltejs/kit' - -function isApiRoute(pathname: URL['pathname']) { - return pathname.startsWith('/api') -} - -function isApiAdminRoute(pathname: URL['pathname']) { - return pathname.startsWith('/api/admin') -} - -function isPublicApiRoute(pathname: URL['pathname']) { - const publicRoutes = ['/api/auth', '/api/p', '/api/webhooks'] - return publicRoutes.some((route) => pathname.startsWith(route)) -} +import { handleApiAuth } from '$lib/hooks/handle-api-auth' +import { handleSavedGuild } from '$lib/hooks/handle-saved-guild' /** * Add additional user data to the session @@ -90,31 +79,10 @@ const handleSessionUser: Handle = async ({ event, resolve }) => { return response } -/** - * Handle and protect API routes - */ -const handleApiAuth: Handle = async ({ event, resolve }) => { - // protect API routes - if (isApiRoute(event.url.pathname)) { - if (!isPublicApiRoute(event.url.pathname)) { - if (!event.locals.session?.user) { - return new Response('Unauthorized', { status: 401 }) - } - if ( - isApiAdminRoute(event.url.pathname) && - !event.locals.session.user.isAdmin - ) { - return new Response('Forbidden', { status: 403 }) - } - } - } - - return resolve(event) -} - export const handle = sequence( - handleAuth + handleSavedGuild, + handleAuth, // handleSession, // get session from NextAuth.js // handleSessionUser, // add user details to session locals - // handleApiAuth // protect API routes + handleApiAuth // protect API routes ) diff --git a/apps/bot.amplify.aws/src/lib/hooks/handle-api-auth.ts b/apps/bot.amplify.aws/src/lib/hooks/handle-api-auth.ts new file mode 100644 index 00000000..c7050d42 --- /dev/null +++ b/apps/bot.amplify.aws/src/lib/hooks/handle-api-auth.ts @@ -0,0 +1,36 @@ +import type { Handle } from '@sveltejs/kit' + +function isApiRoute(pathname: URL['pathname']) { + return pathname.startsWith('/api') +} + +function isApiAdminRoute(pathname: URL['pathname']) { + return pathname.startsWith('/api/admin') +} + +function isPublicApiRoute(pathname: URL['pathname']) { + const publicRoutes = ['/api/auth', '/api/p', '/api/webhooks'] + return publicRoutes.some((route) => pathname.startsWith(route)) +} + +/** + * Handle and protect API routes + */ +export const handleApiAuth: Handle = async ({ event, resolve }) => { + // protect API routes + if (isApiRoute(event.url.pathname)) { + if (!isPublicApiRoute(event.url.pathname)) { + if (!event.locals.session?.user) { + return new Response('Unauthorized', { status: 401 }) + } + if ( + isApiAdminRoute(event.url.pathname) && + !event.locals.session.user.isAdmin + ) { + return new Response('Forbidden', { status: 403 }) + } + } + } + + return resolve(event) +} diff --git a/apps/bot.amplify.aws/src/lib/hooks/handle-saved-guild.ts b/apps/bot.amplify.aws/src/lib/hooks/handle-saved-guild.ts new file mode 100644 index 00000000..e29e73cd --- /dev/null +++ b/apps/bot.amplify.aws/src/lib/hooks/handle-saved-guild.ts @@ -0,0 +1,37 @@ +import cookie from 'cookie' +import { GUILD_COOKIE } from '$lib/constants' +import { guild as store } from '$lib/store' +import type { Handle } from '@sveltejs/kit' + +export const handleSavedGuild: Handle = async ({ event, resolve }) => { + let savedGuild = null + const cookies = event.request.headers.get('cookie') + if (cookies) { + const parsed = cookie.parse(cookies) + savedGuild = parsed['hey-amplify.guild'] + } + + let activeGuild = import.meta.env.VITE_DISCORD_GUILD_ID + if (savedGuild) activeGuild = savedGuild + + // set guild on locals + event.locals.guild = activeGuild + // set guild store + store.set(activeGuild) + + const response = await resolve(event) + + // set initial guild cookie + if (!savedGuild) { + response.headers.append( + 'Set-Cookie', + cookie.serialize(GUILD_COOKIE, activeGuild, { + path: '/', + maxAge: 60 * 60 * 24 * 7, // 1 week + httpOnly: true, + }) + ) + } + + return response +} diff --git a/apps/bot.amplify.aws/src/lib/next-auth.ts b/apps/bot.amplify.aws/src/lib/next-auth.ts index 270c8b3f..a21288f5 100644 --- a/apps/bot.amplify.aws/src/lib/next-auth.ts +++ b/apps/bot.amplify.aws/src/lib/next-auth.ts @@ -1,6 +1,7 @@ import { SvelteKitAuth } from '@auth/sveltekit' import GitHub from '@auth/core/providers/github' import Discord from '@auth/core/providers/discord' +import { getUserAccess } from '@hey-amplify/discord' import { PrismaAdapter } from '@next-auth/prisma-adapter' import { DISCORD_AUTH_CLIENT_ID, @@ -8,7 +9,10 @@ import { GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, } from '$env/static/private' +import { get } from 'svelte/store' import { prisma } from '$lib/db' +import { guild } from '$lib/store' +import type { AppSession } from '../app' /** * @todo use session callback to extend session? @@ -27,4 +31,59 @@ export const handle = SvelteKitAuth({ pages: { error: '/error', }, + callbacks: { + async session({ session, token, user }): Promise { + if (!session.user) { + // cast AppSession type (all of the missing properties are booleans) + return session as AppSession + } + // read guild from store, set initially by handleSavedGuild hook + const guildId = get(guild) + // get GitHub user data from database and set on session (if exists) + const storedUser = await prisma.user.findUnique({ + where: { + id: user.id, + }, + select: { + accounts: { + select: { + provider: true, + providerAccountId: true, + }, + }, + }, + }) + + const appSession = session as AppSession + + // set GitHub linked flag on session + appSession.isGithubLinked = storedUser!.accounts.some( + (account) => account.provider === 'github' + ) + + // set Discord user access on session + let access = { + isGuildOwner: false, + isAdmin: false, + isStaff: false, + } + try { + const storedUserDiscordId = storedUser?.accounts.find( + (account) => account.provider === 'discord' + )?.providerAccountId + if (!storedUserDiscordId) { + throw new Error('User does not have a Discord account linked') + } + access = await getUserAccess(storedUserDiscordId, guildId) + } catch (cause) { + console.error('Error getting user access', cause) + } + appSession.user = { + ...session.user, + ...access, + id: user.id, + } + return appSession + }, + }, }) From 07c2bd62becafd5c2c8cfe3f57b2b4345831e016 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 20 Feb 2023 17:37:23 -0800 Subject: [PATCH 59/79] fix issue with ts resolving $env types from .sveltekit/ambient --- apps/bot.amplify.aws/tsconfig.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/bot.amplify.aws/tsconfig.json b/apps/bot.amplify.aws/tsconfig.json index 5ffbd07f..fc9bb125 100644 --- a/apps/bot.amplify.aws/tsconfig.json +++ b/apps/bot.amplify.aws/tsconfig.json @@ -8,6 +8,5 @@ "skipLibCheck": true, "sourceMap": true, "strict": true - }, - "include": ["./src/**/*.ts", "./src/**/*.svelte", "./tests/**/*.ts"] + } } From 20188f196c5b3fff12ce04bba545dec6e49e663c Mon Sep 17 00:00:00 2001 From: josefaidt Date: Tue, 21 Feb 2023 17:28:11 -0800 Subject: [PATCH 60/79] add npm scripts for docker build --- package.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 81dc46a9..e87174bd 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,10 @@ "push-db": "prisma db push --schema packages/prisma-client/schema.prisma", "setup-dev": "pnpm install && pnpm start-db --detach && pnpm push-db", "setup-test": "echo 'no setup required :)'", - "studio": "prisma studio --schema packages/prisma-client/schema.prisma" + "studio": "prisma studio --schema packages/prisma-client/schema.prisma", + "docker-build-workspace": "docker compose build workspace", + "docker-build-apps": "docker compose build discord-bot discord-bot-frontend", + "docker-build": "pnpm docker-build-workspace && pnpm docker-build-apps" }, "devDependencies": { "@commitlint/cli": "^17.4.2", From 74882426c7cbc1339f301b5658b6c7ec05f4bef7 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Thu, 16 Mar 2023 16:59:23 -0700 Subject: [PATCH 61/79] parameterize node, pnpm, alpine versions --- Dockerfile | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6340fee0..1145d87b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,14 @@ #syntax=docker/dockerfile:1.4 # FROM --platform=linux/amd64 node:18-alpine as pnpm-builder -FROM node:18-alpine as pnpm-builder -RUN apk add --no-cache libc6-compat -RUN apk update +ARG NODE_VERSION="18.14.2" +ARG ALPINE_VERSION="3.17" +ARG PNPM_VERSION="7.25.0" +ARG PLATFORM="linux/amd64" +FROM --platform=${PLATFORM} node:${NODE_VERSION}-alpine${ALPINE_VERSION} as pnpm-builder +# RUN apk add --no-cache libc6-compat +# RUN apk update WORKDIR /workspace # Install pnpm -ARG PNPM_VERSION=7.25.0 RUN npm install --global pnpm@${PNPM_VERSION} # pnpm fetch only requires lockfile, but we'll need to build workspaces COPY pnpm*.yaml ./ From a3c282f19a17b07109cc88037e2cf5d3b0d75050 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Thu, 16 Mar 2023 16:59:30 -0700 Subject: [PATCH 62/79] add package engines --- package.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index e87174bd..52e97b12 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,10 @@ "typescript": "^4.9.5", "vite-node": "^0.28.4" }, + "engines": { + "node": ">=18.15.0", + "pnpm": ">=7.29.3" + }, "prettier": { "tabWidth": 2, "bracketSpacing": true, @@ -98,7 +102,7 @@ "@typescript-eslint/no-non-null-assertion": "off" } }, - "packageManager": "pnpm@7.13.1", + "packageManager": "pnpm@7.29.3", "pnpm": { "peerDependencyRules": { "ignoreMissing": [ From 075a7cb1881f3937d6c29c0c126114e4f0e41f84 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Thu, 16 Mar 2023 17:12:02 -0700 Subject: [PATCH 63/79] update node, pnpm, add docker comments --- .nvmrc | 2 +- apps/bot.amplify.aws/Dockerfile | 1 + apps/discord-bot/Dockerfile | 1 + cdk/package.json | 1 + package.json | 2 +- pnpm-lock.yaml | 6 ++++++ 6 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.nvmrc b/.nvmrc index b6d55d71..e048c8ca 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18.10.0 +v18.15.0 diff --git a/apps/bot.amplify.aws/Dockerfile b/apps/bot.amplify.aws/Dockerfile index 9fed3b46..459012d0 100644 --- a/apps/bot.amplify.aws/Dockerfile +++ b/apps/bot.amplify.aws/Dockerfile @@ -1,3 +1,4 @@ +# "workspace" is built from the project root, see "pnpm docker-build-workspace" in root package.json FROM workspace WORKDIR /app # copy built files diff --git a/apps/discord-bot/Dockerfile b/apps/discord-bot/Dockerfile index 8b34fa74..5cee85b9 100644 --- a/apps/discord-bot/Dockerfile +++ b/apps/discord-bot/Dockerfile @@ -1,3 +1,4 @@ +# "workspace" is built from the project root, see "pnpm docker-build-workspace" in root package.json FROM workspace WORKDIR /app # copy built files diff --git a/cdk/package.json b/cdk/package.json index 324a03d7..20ef887c 100644 --- a/cdk/package.json +++ b/cdk/package.json @@ -10,6 +10,7 @@ "devDependencies": { "@hey-amplify/support": "workspace:*", "@types/node": "18.7.16", + "@types/uuid": "^9.0.1", "aws-cdk": "2.41.0", "aws-cdk-lib": "2.41.0", "constructs": "10.1.97", diff --git a/package.json b/package.json index 5ea466c1..8b7c2167 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "vite-node": "^0.28.4" }, "engines": { - "node": ">=18.15.0", + "node": ">=18.0.0", "pnpm": ">=7.29.3" }, "prettier": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d2d26e05..5645098c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -161,6 +161,7 @@ importers: specifiers: '@hey-amplify/support': workspace:* '@types/node': 18.7.16 + '@types/uuid': ^9.0.1 aws-cdk: 2.41.0 aws-cdk-lib: 2.41.0 constructs: 10.1.97 @@ -172,6 +173,7 @@ importers: devDependencies: '@hey-amplify/support': link:../packages/support '@types/node': 18.7.16 + '@types/uuid': 9.0.1 aws-cdk: 2.41.0 aws-cdk-lib: 2.41.0_constructs@10.1.97 constructs: 10.1.97 @@ -2486,6 +2488,10 @@ packages: '@types/node': 18.11.19 dev: true + /@types/uuid/9.0.1: + resolution: {integrity: sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==} + dev: true + /@types/ws/8.5.3: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: From 8c54b241e4acc6032cd9cc0a38e6a683a0798c56 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Thu, 16 Mar 2023 17:17:49 -0700 Subject: [PATCH 64/79] use sqlite, git mv migration --- .../migrations/20230302013830_question_tags/migration.sql | 0 packages/prisma-client/schema.prisma | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename {prisma => packages/prisma-client}/migrations/20230302013830_question_tags/migration.sql (100%) diff --git a/prisma/migrations/20230302013830_question_tags/migration.sql b/packages/prisma-client/migrations/20230302013830_question_tags/migration.sql similarity index 100% rename from prisma/migrations/20230302013830_question_tags/migration.sql rename to packages/prisma-client/migrations/20230302013830_question_tags/migration.sql diff --git a/packages/prisma-client/schema.prisma b/packages/prisma-client/schema.prisma index ccfafdce..059a129d 100644 --- a/packages/prisma-client/schema.prisma +++ b/packages/prisma-client/schema.prisma @@ -7,7 +7,7 @@ generator client { } datasource db { - provider = "mysql" + provider = "sqlite" url = env("DATABASE_URL") } From 5b65e4e2b47d15c88bd2f87eafc2d97f201993ae Mon Sep 17 00:00:00 2001 From: josefaidt Date: Tue, 21 Mar 2023 16:37:46 -0700 Subject: [PATCH 65/79] migrate hooks to lib/server, fix api auth --- apps/bot.amplify.aws/src/app.d.ts | 1 + apps/bot.amplify.aws/src/hooks.server.ts | 8 +++++--- .../src/lib/{ => server}/hooks/handle-api-auth.ts | 0 .../{next-auth.ts => server/hooks/handle-auth.ts} | 4 ++-- .../src/lib/{ => server}/hooks/handle-saved-guild.ts | 0 .../lib/server/hooks/handle-set-session-locals.ts | 12 ++++++++++++ 6 files changed, 20 insertions(+), 5 deletions(-) rename apps/bot.amplify.aws/src/lib/{ => server}/hooks/handle-api-auth.ts (100%) rename apps/bot.amplify.aws/src/lib/{next-auth.ts => server/hooks/handle-auth.ts} (96%) rename apps/bot.amplify.aws/src/lib/{ => server}/hooks/handle-saved-guild.ts (100%) create mode 100644 apps/bot.amplify.aws/src/lib/server/hooks/handle-set-session-locals.ts diff --git a/apps/bot.amplify.aws/src/app.d.ts b/apps/bot.amplify.aws/src/app.d.ts index b25ce8b6..b0f86ef0 100644 --- a/apps/bot.amplify.aws/src/app.d.ts +++ b/apps/bot.amplify.aws/src/app.d.ts @@ -6,6 +6,7 @@ interface User extends Auth.User { id: string isAdmin: boolean isStaff: boolean + isGuildOwner: boolean } interface AppSession extends Auth.Session { diff --git a/apps/bot.amplify.aws/src/hooks.server.ts b/apps/bot.amplify.aws/src/hooks.server.ts index 2a560668..791150b0 100644 --- a/apps/bot.amplify.aws/src/hooks.server.ts +++ b/apps/bot.amplify.aws/src/hooks.server.ts @@ -3,10 +3,11 @@ import { getUserAccess } from '@hey-amplify/discord' import { sequence } from '@sveltejs/kit/hooks' import cookie from 'cookie' import { prisma, init } from '$lib/db' -import { handle as handleAuth } from '$lib/next-auth' import type { Handle } from '@sveltejs/kit' -import { handleApiAuth } from '$lib/hooks/handle-api-auth' -import { handleSavedGuild } from '$lib/hooks/handle-saved-guild' +import { handleAuth } from '$lib/server/hooks/handle-auth' +import { handleApiAuth } from '$lib/server/hooks/handle-api-auth' +import { handleSavedGuild } from '$lib/server/hooks/handle-saved-guild' +import { handleSetSessionLocals } from '$lib/server/hooks/handle-set-session-locals' /** * Add additional user data to the session @@ -82,6 +83,7 @@ const handleSessionUser: Handle = async ({ event, resolve }) => { export const handle = sequence( handleSavedGuild, handleAuth, + handleSetSessionLocals, // handleSession, // get session from NextAuth.js // handleSessionUser, // add user details to session locals handleApiAuth // protect API routes diff --git a/apps/bot.amplify.aws/src/lib/hooks/handle-api-auth.ts b/apps/bot.amplify.aws/src/lib/server/hooks/handle-api-auth.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/hooks/handle-api-auth.ts rename to apps/bot.amplify.aws/src/lib/server/hooks/handle-api-auth.ts diff --git a/apps/bot.amplify.aws/src/lib/next-auth.ts b/apps/bot.amplify.aws/src/lib/server/hooks/handle-auth.ts similarity index 96% rename from apps/bot.amplify.aws/src/lib/next-auth.ts rename to apps/bot.amplify.aws/src/lib/server/hooks/handle-auth.ts index a21288f5..5e640da0 100644 --- a/apps/bot.amplify.aws/src/lib/next-auth.ts +++ b/apps/bot.amplify.aws/src/lib/server/hooks/handle-auth.ts @@ -12,13 +12,13 @@ import { import { get } from 'svelte/store' import { prisma } from '$lib/db' import { guild } from '$lib/store' -import type { AppSession } from '../app' +import type { AppSession } from '../../../app' /** * @todo use session callback to extend session? * @todo port in changes to apply roles in discord based on GitHub org membership (if integration is enabled) */ -export const handle = SvelteKitAuth({ +export const handleAuth = SvelteKitAuth({ adapter: PrismaAdapter(prisma), secret: process.env.NEXTAUTH_SECRET, providers: [ diff --git a/apps/bot.amplify.aws/src/lib/hooks/handle-saved-guild.ts b/apps/bot.amplify.aws/src/lib/server/hooks/handle-saved-guild.ts similarity index 100% rename from apps/bot.amplify.aws/src/lib/hooks/handle-saved-guild.ts rename to apps/bot.amplify.aws/src/lib/server/hooks/handle-saved-guild.ts diff --git a/apps/bot.amplify.aws/src/lib/server/hooks/handle-set-session-locals.ts b/apps/bot.amplify.aws/src/lib/server/hooks/handle-set-session-locals.ts new file mode 100644 index 00000000..21e5baae --- /dev/null +++ b/apps/bot.amplify.aws/src/lib/server/hooks/handle-set-session-locals.ts @@ -0,0 +1,12 @@ +import type { Handle } from '@sveltejs/kit' + +/** + * Hook to set session on event.locals + */ +export const handleSetSessionLocals: Handle = async ({ event, resolve }) => { + const session = await event.locals.getSession() + if (session) { + event.locals.session = session + } + return resolve(event) +} From 7af8c16681db387b4835d421042c8107b59ff848 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Tue, 21 Mar 2023 16:40:40 -0700 Subject: [PATCH 66/79] migrate from locals.session.guild to locals.guild --- apps/bot.amplify.aws/src/routes/+layout.server.ts | 4 ++-- apps/bot.amplify.aws/src/routes/admin/+page.server.ts | 2 +- .../src/routes/admin/integrations/+page.server.ts | 2 +- .../src/routes/admin/integrations/[code]/+page.server.ts | 4 ++-- .../src/routes/api/admin/commands/+server.ts | 8 ++++---- .../src/routes/api/switch-guild/+server.ts | 2 +- apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/apps/bot.amplify.aws/src/routes/+layout.server.ts b/apps/bot.amplify.aws/src/routes/+layout.server.ts index b18cad73..315ff83a 100644 --- a/apps/bot.amplify.aws/src/routes/+layout.server.ts +++ b/apps/bot.amplify.aws/src/routes/+layout.server.ts @@ -3,7 +3,7 @@ import { Routes, type APIGuild } from 'discord-api-types/v10' import type { LayoutServerLoad } from './$types' export const load: LayoutServerLoad = async ({ locals }) => { - const defaultGuildId = locals.session?.guild + const defaultGuildId = locals?.guild const botGuilds = (await api.get(Routes.userGuilds())) as APIGuild[] const guilds = [] @@ -33,6 +33,6 @@ export const load: LayoutServerLoad = async ({ locals }) => { })), // falling back to `defaultGuildId` assumes the bot is at least a member of the default guild selectedGuild: - guilds.find((g) => g.id === locals?.session?.guild)?.id || defaultGuildId, + guilds.find((g) => g.id === locals?.guild)?.id || defaultGuildId, } } diff --git a/apps/bot.amplify.aws/src/routes/admin/+page.server.ts b/apps/bot.amplify.aws/src/routes/admin/+page.server.ts index e2126ae4..c6a93fd5 100644 --- a/apps/bot.amplify.aws/src/routes/admin/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/admin/+page.server.ts @@ -59,7 +59,7 @@ type AdminPageReturn = { export const load: PageServerLoad = async ({ locals, url }) => { const commands = Array.from(bank.values()) - const guildId = locals.session.guild + const guildId = locals.guild // get guild info const guild = (await api.get(Routes.guild(guildId))) as Guild diff --git a/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts b/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts index 7fed3b28..af5ad4c2 100644 --- a/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/admin/integrations/+page.server.ts @@ -6,7 +6,7 @@ import type { PageServerLoad } from './$types' export const load: PageServerLoad = async ({ locals }) => { const integrations = await prisma.configurationFeature.findMany({ where: { - configurationId: locals.session.guild, + configurationId: locals.guild, feature: { type: { code: FEATURE_TYPES.INTEGRATION, diff --git a/apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+page.server.ts b/apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+page.server.ts index 13406c1e..80b8352c 100644 --- a/apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/admin/integrations/[code]/+page.server.ts @@ -6,7 +6,7 @@ export const load: PageServerLoad = async ({ locals, params }) => { const integration = await prisma.configurationFeature.findUnique({ where: { configurationId_featureCode: { - configurationId: locals.session.guild, + configurationId: locals.guild, featureCode: code.toUpperCase(), }, }, @@ -15,7 +15,7 @@ export const load: PageServerLoad = async ({ locals, params }) => { }, }) return { - configurationId: locals.session.guild, + configurationId: locals.guild, integration: integration?.feature, } } diff --git a/apps/bot.amplify.aws/src/routes/api/admin/commands/+server.ts b/apps/bot.amplify.aws/src/routes/api/admin/commands/+server.ts index 1562dbdf..cc83bba8 100644 --- a/apps/bot.amplify.aws/src/routes/api/admin/commands/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/admin/commands/+server.ts @@ -7,7 +7,7 @@ import { } from '@hey-amplify/discord' export const POST: RequestHandler = async ({ locals }) => { - const list = await registerCommands(undefined, locals.session.guild) + const list = await registerCommands(undefined, locals.guild) if (!list) { return new Response(undefined, { status: 500 }) @@ -28,7 +28,7 @@ export const PUT: RequestHandler = async ({ request, locals }) => { const stored = commands.get(command) if (!stored) return new Response('Invalid command', { status: 400 }) - const registered = await registerCommand(stored, locals.session.guild) + const registered = await registerCommand(stored, locals.guild) if (!registered) { return new Response('Unable to register command', { status: 500 }) @@ -52,11 +52,11 @@ export const DELETE: RequestHandler = async ({ request, locals }) => { } try { - await unregisterCommand(id, locals.session.guild) + await unregisterCommand(id, locals.guild) return new Response('success', { status: 200 }) } catch (error) { console.error( - `Something went wrong unregistering command ${id} for guild ${locals.session.guild}`, + `Something went wrong unregistering command ${id} for guild ${locals.guild}`, error ) return new Response('Something went wrong unregistering the command', { diff --git a/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts b/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts index 7f9285a1..92977878 100644 --- a/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts +++ b/apps/bot.amplify.aws/src/routes/api/switch-guild/+server.ts @@ -21,7 +21,7 @@ export const POST: RequestHandler = async ({ request, locals, url }) => { return new Response('Invalid request', { status: 400 }) } - if (guildId !== locals.session.guild) { + if (guildId !== locals.guild) { const headers = new Headers() headers.set( 'Set-Cookie', diff --git a/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts b/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts index 024efe28..09d7a4f5 100644 --- a/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts +++ b/apps/bot.amplify.aws/src/routes/dashboard/+page.server.ts @@ -387,7 +387,7 @@ export const load: PageServerLoad = async ({ presenceCount: number questions: Questions }> => { - const guildId = locals.session.guild + const guildId = locals.guild const questions = ( await prisma.question.findMany({ where: { From b838b9836269d3860cde059530519dc37f24e7f3 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Tue, 21 Mar 2023 16:40:48 -0700 Subject: [PATCH 67/79] appease typescript gods --- packages/discord/src/client.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/discord/src/client.ts b/packages/discord/src/client.ts index cecdb071..6e3334bb 100644 --- a/packages/discord/src/client.ts +++ b/packages/discord/src/client.ts @@ -190,7 +190,7 @@ client.on(Events.MessageCreate, async (message: Message) => { ) { let record // const messages = await message.channel.messages.fetch() - let tags = [] + let tags: Record[] = [] if (message.channel.parent?.type === ChannelType.GuildForum) { const appliedTagIds = message.channel.appliedTags tags = message.channel.parent.availableTags From 39103b94184510830e61eac02fe949b817f2455c Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 3 Apr 2023 18:47:10 -0700 Subject: [PATCH 68/79] deprecate old session handler --- apps/bot.amplify.aws/src/hooks.server.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/bot.amplify.aws/src/hooks.server.ts b/apps/bot.amplify.aws/src/hooks.server.ts index 791150b0..758285f8 100644 --- a/apps/bot.amplify.aws/src/hooks.server.ts +++ b/apps/bot.amplify.aws/src/hooks.server.ts @@ -11,6 +11,7 @@ import { handleSetSessionLocals } from '$lib/server/hooks/handle-set-session-loc /** * Add additional user data to the session + * @deprecated */ const handleSessionUser: Handle = async ({ event, resolve }) => { const { session } = event.locals @@ -26,7 +27,7 @@ const handleSessionUser: Handle = async ({ event, resolve }) => { if (savedGuild) activeGuild = savedGuild if (session?.user) { - if (!session.guild) session.guild = activeGuild + if (!guild) guild = activeGuild event.locals.session = session const user = await prisma.user.findUnique({ where: { @@ -52,7 +53,7 @@ const handleSessionUser: Handle = async ({ event, resolve }) => { )[0].providerAccountId let access try { - access = await getUserAccess(discordUserId, session.guild) + access = await getUserAccess(discordUserId, guild) } catch (error) { console.error('Error getting access', error) } From f9cabc03a48c6ef382088ac1e9df6937c5bc9c85 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 3 Apr 2023 18:47:30 -0700 Subject: [PATCH 69/79] fix ssm types --- cdk/lib/components/hey-amplify-app.ts | 8 +++++++- cdk/lib/stack.ts | 7 ++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/cdk/lib/components/hey-amplify-app.ts b/cdk/lib/components/hey-amplify-app.ts index 4a12e260..8c5c4928 100644 --- a/cdk/lib/components/hey-amplify-app.ts +++ b/cdk/lib/components/hey-amplify-app.ts @@ -83,7 +83,7 @@ export class HeyAmplifyApp extends Construct { subdomain, } = props - const secrets = {} + const secrets: Record = {} for (const [name, param] of Object.entries(props.secrets)) { secrets[name] = ecs.Secret.fromSsmParameter(param) } @@ -123,6 +123,12 @@ export class HeyAmplifyApp extends Construct { } ) + // const frontendContainer = albFargateService.service.taskDefinition.addContainer('BotFrontend', { + // image: ecs.ContainerImage.fromAsset(docker.context, { + + // }), + // }) + // grant read/write to bucket for Litestream backups bucket.grantReadWrite(albFargateService.service.taskDefinition.taskRole) diff --git a/cdk/lib/stack.ts b/cdk/lib/stack.ts index 9ccfb22f..49cd390c 100644 --- a/cdk/lib/stack.ts +++ b/cdk/lib/stack.ts @@ -1,3 +1,4 @@ +import * as path from 'node:path' import { Stack, StackProps, Tags, RemovalPolicy } from 'aws-cdk-lib' import { Construct } from 'constructs' import * as ec2 from 'aws-cdk-lib/aws-ec2' @@ -41,7 +42,7 @@ export class HeyAmplifyStack extends Stack { ] as const // NOTE: this TypeScript trick is to say `secrets` should include key value pairs where the keys are one of the names in the array above const secrets: Partial< - Record + Record<(typeof requiredSecrets)[number], ssm.IParameter> > = {} for (const secret of requiredSecrets) { @@ -147,10 +148,10 @@ export class HeyAmplifyStack extends Stack { cluster, docker: { name: `${this.appName}-bot`, - context: PROJECT_ROOT, + context: path.join(PROJECT_ROOT, 'apps/discord-bot'), dockerfile: 'Dockerfile', environment: { - DATABASE_URL: `file:${filesystemMountPoint}/${this.envName}.db`, + DATABASE_URL: `file:${filesystemMountPoint}/${this.envName}.db?connection_limit=1`, ...getSvelteKitEnvironmentVariables(this.envName), }, }, From d4788826e8ac5d611c710ae029c211a0cd36bad1 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 3 Apr 2023 18:48:03 -0700 Subject: [PATCH 70/79] improve docker build --- .dockerignore | 6 +++++- Dockerfile | 28 +++++++++++++++++----------- docker-build.sh | 2 ++ docker-compose.yml | 14 +++++++++++++- package.json | 1 + pnpm-lock.yaml | 22 ++++++++++++++++++++++ 6 files changed, 60 insertions(+), 13 deletions(-) create mode 100644 docker-build.sh diff --git a/.dockerignore b/.dockerignore index a5113ad0..94f572d0 100644 --- a/.dockerignore +++ b/.dockerignore @@ -29,4 +29,8 @@ node_modules **/*.db # ignore env files -.env* \ No newline at end of file +.env* + +# take .turbo and .svelte-kit for build cache +!.turbo +!.svelte-kit \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 1145d87b..f3b39248 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,33 +1,39 @@ #syntax=docker/dockerfile:1.4 -# FROM --platform=linux/amd64 node:18-alpine as pnpm-builder +# ARG PLATFORM="linux/amd64" ARG NODE_VERSION="18.14.2" ARG ALPINE_VERSION="3.17" -ARG PNPM_VERSION="7.25.0" -ARG PLATFORM="linux/amd64" -FROM --platform=${PLATFORM} node:${NODE_VERSION}-alpine${ALPINE_VERSION} as pnpm-builder -# RUN apk add --no-cache libc6-compat -# RUN apk update +FROM node:${NODE_VERSION}-alpine${ALPINE_VERSION} as pnpm-builder +ARG PNPM_VERSION="7.30.0" +# for turbo - https://turbo.build/repo/docs/handbook/deploying-with-docker#example +RUN apk add --no-cache libc6-compat +RUN apk update WORKDIR /workspace # Install pnpm -RUN npm install --global pnpm@${PNPM_VERSION} +RUN corepack enable && \ + corepack prepare pnpm@${PNPM_VERSION} --activate # pnpm fetch only requires lockfile, but we'll need to build workspaces COPY pnpm*.yaml ./ COPY patches ./patches -# mount pnpm store as cache & install dependencies +# mount pnpm store as cache & fetch dependencies RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm-store \ - pnpm fetch + pnpm fetch +# build workspace FROM pnpm-builder AS workspace WORKDIR /workspace ENV CI=true # add project source to build COPY . ./ -# install dependencies -RUN pnpm install --frozen-lockfile --offline +# mount .env file +RUN --mount=type=secret,id=env,required=true,target=/workspace/.env \ + pnpm install --frozen-lockfile --offline --silent + +# @todo remove in favor of mounting .env? # expose arguments for VITE environment variables ARG VITE_HOST=http://localhost:3000 ARG VITE_NEXTAUTH_URL=http://localhost:3000 ARG VITE_DISCORD_GUILD_ID=976838371383083068 + # run build RUN pnpm run build # deploy app diff --git a/docker-build.sh b/docker-build.sh new file mode 100644 index 00000000..950e7c7e --- /dev/null +++ b/docker-build.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker buildx build --secret id=env,src=.env . --progress plain --no-cache \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 8389fd9e..90958dd0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,8 @@ version: '3.9' +# secrets: +# env: +# file: ./.env +# external: true services: # MariaDB Database to use with local development db: @@ -25,8 +29,12 @@ services: env_file: - .env environment: - - DATABASE_URL=mysql://example-user:top-secret@db:3306/hey-amplify + # - DATABASE_URL=mysql://example-user:top-secret@db:3306/hey-amplify + - DATABASE_URL=file:/data/local.db - PNPM_STORE_PATH=$$(pnpm store path) + # secrets: + # - source: env + # target: /workspace/.env discord-bot-frontend: image: discord-bot-frontend build: @@ -34,6 +42,8 @@ services: dockerfile: Dockerfile env_file: - .env + volumes: + - ./packages/prisma-client/prisma/data:/data discord-bot: image: discord-bot build: @@ -41,3 +51,5 @@ services: dockerfile: Dockerfile env_file: - .env + volumes: + - ./packages/prisma-client/prisma/data:/data diff --git a/package.json b/package.json index 8b7c2167..f83bf31a 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "@types/prettier": "^2.7.2", "@typescript-eslint/eslint-plugin": "^5.51.0", "@typescript-eslint/parser": "^5.51.0", + "dotenv-cli": "^7.1.0", "eslint": "^8.33.0", "eslint-config-prettier": "^8.6.0", "eslint-plugin-svelte3": "^4.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5645098c..b6826cb6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,6 +17,7 @@ importers: '@types/prettier': ^2.7.2 '@typescript-eslint/eslint-plugin': ^5.51.0 '@typescript-eslint/parser': ^5.51.0 + dotenv-cli: ^7.1.0 eslint: ^8.33.0 eslint-config-prettier: ^8.6.0 eslint-plugin-svelte3: ^4.0.0 @@ -36,6 +37,7 @@ importers: '@types/prettier': 2.7.2 '@typescript-eslint/eslint-plugin': 5.51.0_b635kmla6dsb4frxfihkw4m47e '@typescript-eslint/parser': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 + dotenv-cli: 7.1.0 eslint: 8.33.0 eslint-config-prettier: 8.6.0_eslint@8.33.0 eslint-plugin-svelte3: 4.0.0_eslint@8.33.0 @@ -3872,6 +3874,26 @@ packages: is-obj: 2.0.0 dev: true + /dotenv-cli/7.1.0: + resolution: {integrity: sha512-motytjZFQB3ZtGTIN4c0vnFgv4kuNZ2WxVnGY6PVFiygCzkm3IFBBguDUzezd9HgNA0OYYd6vNCWlozs0Q1Zxg==} + hasBin: true + dependencies: + cross-spawn: 7.0.3 + dotenv: 16.0.3 + dotenv-expand: 10.0.0 + minimist: 1.2.7 + dev: true + + /dotenv-expand/10.0.0: + resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + engines: {node: '>=12'} + dev: true + + /dotenv/16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + engines: {node: '>=12'} + dev: true + /eastasianwidth/0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true From 6305e9ca2abe235de1f4c481f7f502fe65815ff6 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Mon, 3 Apr 2023 18:48:21 -0700 Subject: [PATCH 71/79] add start command --- apps/bot.amplify.aws/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/bot.amplify.aws/package.json b/apps/bot.amplify.aws/package.json index 3d45756b..8be1919e 100644 --- a/apps/bot.amplify.aws/package.json +++ b/apps/bot.amplify.aws/package.json @@ -5,6 +5,7 @@ "license": "Apache-2.0", "private": true, "scripts": { + "start": "node ./build/index.js", "dev": "vite", "build": "vite build", "test": "vitest", From 593a79b8174699df40ab5d50b4346fd8bcd1b110 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Wed, 5 Apr 2023 17:26:36 -0700 Subject: [PATCH 72/79] fix docker build --- Dockerfile | 8 +++++--- apps/bot.amplify.aws/Dockerfile | 2 +- apps/discord-bot/Dockerfile | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index f3b39248..30d2bcb9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,8 +35,10 @@ ARG VITE_NEXTAUTH_URL=http://localhost:3000 ARG VITE_DISCORD_GUILD_ID=976838371383083068 # run build -RUN pnpm run build +RUN --mount=type=secret,id=env,required=true,target=/workspace/.env \ + pnpm run build +# RUN pnpm run build # deploy app -RUN pnpm deploy --filter @aws-amplify/discord-bot-frontend ./dist/bot.amplify.aws +RUN pnpm --filter ./apps/bot.amplify.aws deploy ./build/bot.amplify.aws # deploy bot -RUN pnpm deploy --filter @aws-amplify/discord-bot ./dist/discord-bot \ No newline at end of file +RUN pnpm --filter ./apps/discord-bot deploy ./build/discord-bot \ No newline at end of file diff --git a/apps/bot.amplify.aws/Dockerfile b/apps/bot.amplify.aws/Dockerfile index 459012d0..20136e76 100644 --- a/apps/bot.amplify.aws/Dockerfile +++ b/apps/bot.amplify.aws/Dockerfile @@ -2,7 +2,7 @@ FROM workspace WORKDIR /app # copy built files -COPY --from=builder /workspace/dist/bot.amplify.aws ./dist +COPY --from=builder /workspace/build/bot.amplify.aws ./build # expose port EXPOSE 3000 # start the app diff --git a/apps/discord-bot/Dockerfile b/apps/discord-bot/Dockerfile index 5cee85b9..31b2bb2a 100644 --- a/apps/discord-bot/Dockerfile +++ b/apps/discord-bot/Dockerfile @@ -2,7 +2,7 @@ FROM workspace WORKDIR /app # copy built files -COPY --from=builder /workspace/dist/discord-bot ./dist +COPY --from=builder /workspace/build/discord-bot ./build # expose port EXPOSE 3000 # start the app From 1111104a06170cfb161d3f7282da1b1a2ce1eaf0 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Fri, 7 Apr 2023 16:03:11 -0700 Subject: [PATCH 73/79] fix docker build --- apps/bot.amplify.aws/Dockerfile | 2 +- apps/discord-bot/Dockerfile | 2 +- docker-build.sh | 2 - docker-compose.yml | 69 ++++++++++++++----------------- package.json | 2 +- scripts/docker-build-apps.sh | 3 ++ scripts/docker-build-workspace.sh | 2 + 7 files changed, 39 insertions(+), 43 deletions(-) delete mode 100644 docker-build.sh create mode 100644 scripts/docker-build-apps.sh create mode 100644 scripts/docker-build-workspace.sh diff --git a/apps/bot.amplify.aws/Dockerfile b/apps/bot.amplify.aws/Dockerfile index 20136e76..97e0ded1 100644 --- a/apps/bot.amplify.aws/Dockerfile +++ b/apps/bot.amplify.aws/Dockerfile @@ -2,7 +2,7 @@ FROM workspace WORKDIR /app # copy built files -COPY --from=builder /workspace/build/bot.amplify.aws ./build +COPY --from=workspace /workspace/build/bot.amplify.aws ./build # expose port EXPOSE 3000 # start the app diff --git a/apps/discord-bot/Dockerfile b/apps/discord-bot/Dockerfile index 31b2bb2a..f9fbc454 100644 --- a/apps/discord-bot/Dockerfile +++ b/apps/discord-bot/Dockerfile @@ -2,7 +2,7 @@ FROM workspace WORKDIR /app # copy built files -COPY --from=builder /workspace/build/discord-bot ./build +COPY --from=workspace /workspace/build/discord-bot ./build # expose port EXPOSE 3000 # start the app diff --git a/docker-build.sh b/docker-build.sh deleted file mode 100644 index 950e7c7e..00000000 --- a/docker-build.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker buildx build --secret id=env,src=.env . --progress plain --no-cache \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 90958dd0..e51a135a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,4 @@ version: '3.9' -# secrets: -# env: -# file: ./.env -# external: true services: # MariaDB Database to use with local development db: @@ -19,37 +15,34 @@ services: ports: - 8080:8080 # Monorepo builder - workspace: - image: workspace - depends_on: - - db - build: - context: . - dockerfile: Dockerfile - env_file: - - .env - environment: - # - DATABASE_URL=mysql://example-user:top-secret@db:3306/hey-amplify - - DATABASE_URL=file:/data/local.db - - PNPM_STORE_PATH=$$(pnpm store path) - # secrets: - # - source: env - # target: /workspace/.env - discord-bot-frontend: - image: discord-bot-frontend - build: - context: ./apps/bot.amplify.aws - dockerfile: Dockerfile - env_file: - - .env - volumes: - - ./packages/prisma-client/prisma/data:/data - discord-bot: - image: discord-bot - build: - context: ./apps/discord-bot - dockerfile: Dockerfile - env_file: - - .env - volumes: - - ./packages/prisma-client/prisma/data:/data + # workspace: + # image: workspace + # depends_on: + # - db + # build: + # context: . + # dockerfile: Dockerfile + # env_file: + # - .env + # environment: + # # - DATABASE_URL=mysql://example-user:top-secret@db:3306/hey-amplify + # - DATABASE_URL=file:/data/local.db + # - PNPM_STORE_PATH=$$(pnpm store path) + # discord-bot-frontend: + # image: discord-bot-frontend + # build: + # context: ./apps/bot.amplify.aws + # dockerfile: Dockerfile + # env_file: + # - .env + # volumes: + # - ./packages/prisma-client/prisma/data:/data + # discord-bot: + # image: discord-bot + # build: + # context: ./apps/discord-bot + # dockerfile: Dockerfile + # env_file: + # - .env + # volumes: + # - ./packages/prisma-client/prisma/data:/data diff --git a/package.json b/package.json index f83bf31a..f603d0a2 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "setup-dev": "pnpm install && pnpm start-db --detach && pnpm push-db", "setup-test": "echo 'no setup required :)'", "studio": "prisma studio --schema packages/prisma-client/schema.prisma", - "docker-build-workspace": "docker compose build workspace", + "docker-build-workspace": "sh ./scripts/docker-build-workspace.sh", "docker-build-apps": "docker compose build discord-bot discord-bot-frontend", "docker-build": "pnpm docker-build-workspace && pnpm docker-build-apps" }, diff --git a/scripts/docker-build-apps.sh b/scripts/docker-build-apps.sh new file mode 100644 index 00000000..249b293e --- /dev/null +++ b/scripts/docker-build-apps.sh @@ -0,0 +1,3 @@ +#!/bin/bash +docker buildx build --secret id=env,src=.env ./apps/bot.amplify.aws +docker buildx build --secret id=env,src=.env ./apps/discord-bot \ No newline at end of file diff --git a/scripts/docker-build-workspace.sh b/scripts/docker-build-workspace.sh new file mode 100644 index 00000000..87ff5d23 --- /dev/null +++ b/scripts/docker-build-workspace.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker buildx build --secret id=env,src=.env --tag workspace:latest . \ No newline at end of file From ffbe88a890f1b1f4560f8ab58f44f1cae0b931ad Mon Sep 17 00:00:00 2001 From: josefaidt Date: Fri, 7 Apr 2023 16:17:28 -0700 Subject: [PATCH 74/79] remove unused vite packages, upgrade dependencies --- apps/bot.amplify.aws/package.json | 44 +++--- apps/discord-bot/package.json | 14 +- packages/constants/package.json | 4 +- packages/discord/package.json | 16 +-- packages/features/package.json | 4 +- packages/github/package.json | 6 +- packages/prisma-client/package.json | 4 +- packages/prisma-client/schema.prisma | 2 +- packages/scripts/package.json | 2 +- packages/support/package.json | 14 +- packages/type-helpers/package.json | 2 +- packages/vite-plugin-copy-file/package.json | 24 ---- packages/vite-plugin-copy-file/readme.md | 3 - .../src/vite-plugin-copy-file.ts | 35 ----- packages/vite-plugin-copy-file/tsconfig.json | 3 - packages/vite-plugin-copy-file/vite.config.ts | 10 -- packages/vite-plugin-lib/package.json | 37 ----- packages/vite-plugin-lib/readme.md | 3 - .../vite-plugin-lib/src/vite-plugin-lib.ts | 91 ------------ packages/vite-plugin-lib/tsconfig.json | 3 - packages/vite-plugin-lib/vite.config.ts | 10 -- packages/vite-plugin-server/package.json | 27 ---- packages/vite-plugin-server/readme.md | 3 - .../src/vite-plugin-server.ts | 136 ------------------ packages/vite-plugin-server/tsconfig.json | 3 - packages/vite-plugin-server/vite.config.ts | 10 -- 26 files changed, 56 insertions(+), 454 deletions(-) delete mode 100644 packages/vite-plugin-copy-file/package.json delete mode 100644 packages/vite-plugin-copy-file/readme.md delete mode 100644 packages/vite-plugin-copy-file/src/vite-plugin-copy-file.ts delete mode 100644 packages/vite-plugin-copy-file/tsconfig.json delete mode 100644 packages/vite-plugin-copy-file/vite.config.ts delete mode 100644 packages/vite-plugin-lib/package.json delete mode 100644 packages/vite-plugin-lib/readme.md delete mode 100644 packages/vite-plugin-lib/src/vite-plugin-lib.ts delete mode 100644 packages/vite-plugin-lib/tsconfig.json delete mode 100644 packages/vite-plugin-lib/vite.config.ts delete mode 100644 packages/vite-plugin-server/package.json delete mode 100644 packages/vite-plugin-server/readme.md delete mode 100644 packages/vite-plugin-server/src/vite-plugin-server.ts delete mode 100644 packages/vite-plugin-server/tsconfig.json delete mode 100644 packages/vite-plugin-server/vite.config.ts diff --git a/apps/bot.amplify.aws/package.json b/apps/bot.amplify.aws/package.json index 8be1919e..1558bf1f 100644 --- a/apps/bot.amplify.aws/package.json +++ b/apps/bot.amplify.aws/package.json @@ -13,11 +13,11 @@ "prepare": "svelte-kit sync" }, "dependencies": { - "@auth/core": "^0.4.0", - "@auth/sveltekit": "^0.2.1", + "@auth/core": "^0.5.1", + "@auth/sveltekit": "^0.3.0", "@aws-crypto/sha256-js": "^4.0.0", - "@carbon/styles": "^1.23.0", - "@discordjs/rest": "^1.5.0", + "@carbon/styles": "^1.26.0", + "@discordjs/rest": "^1.7.0", "@hey-amplify/discord": "workspace:*", "@hey-amplify/prisma-client": "workspace:*", "@next-auth/prisma-adapter": "^1.0.5", @@ -25,36 +25,36 @@ "@octokit/graphql": "^5.0.5", "@octokit/rest": "^19.0.7", "cookie": "^0.5.0", - "discord-api-types": "^0.37.35", - "discord.js": "^14.7.1", + "discord-api-types": "^0.37.37", + "discord.js": "^14.9.0", "fast-glob": "^3.2.12", "fuzzy": "^0.1.3", - "svelte": "3.55.1", + "svelte": "3.58.0", "uuid": "^9.0.0", - "zod": "^3.20.6" + "zod": "^3.21.4" }, "devDependencies": { - "@carbon/charts": "^1.6.4", - "@carbon/charts-svelte": "^1.6.4", + "@carbon/charts": "^1.6.14", + "@carbon/charts-svelte": "^1.6.14", "@hey-amplify/constants": "workspace:*", "@hey-amplify/features": "workspace:*", "@hey-amplify/github": "workspace:*", "@hey-amplify/support": "workspace:*", - "@sveltejs/adapter-node": "1.2.0", - "@sveltejs/kit": "1.8.3", + "@sveltejs/adapter-node": "1.2.3", + "@sveltejs/kit": "1.15.2", "@types/cookie": "^0.5.1", - "@vitest/ui": "^0.28.5", - "carbon-components-svelte": "^0.73.1", + "@vitest/ui": "^0.29.8", + "carbon-components-svelte": "^0.73.5", "carbon-icons-svelte": "^11.4.0", "carbon-preprocess-svelte": "^0.9.1", - "d3": "^7.8.2", - "jsdom": "^21.1.0", - "svelte-check": "^3.0.3", - "svelte-preprocess": "^5.0.1", + "d3": "^7.8.4", + "jsdom": "^21.1.1", + "svelte-check": "^3.2.0", + "svelte-preprocess": "^5.0.3", "tslib": "^2.5.0", - "typescript": "^4.9.5", - "vite": "^4.1.3", - "vite-node": "^0.28.5", - "vitest": "^0.28.5" + "typescript": "^5.0.4", + "vite": "^4.2.1", + "vite-node": "^0.29.8", + "vitest": "^0.29.8" } } diff --git a/apps/discord-bot/package.json b/apps/discord-bot/package.json index 6332f817..d7e91abe 100644 --- a/apps/discord-bot/package.json +++ b/apps/discord-bot/package.json @@ -11,14 +11,14 @@ "dependencies": { "@hey-amplify/discord": "workspace:*", "@hey-amplify/prisma-client": "workspace:^1.0.0", - "discord.js": "^14.7.1", - "zod": "^3.20.6" + "discord.js": "^14.9.0", + "zod": "^3.21.4" }, "devDependencies": { - "tsup": "^6.6.2", - "typescript": "^4.9.5", - "vite": "^4.1.1", - "vite-node": "^0.28.5", - "vitest": "^0.28.5" + "tsup": "^6.7.0", + "typescript": "^5.0.4", + "vite": "^4.2.1", + "vite-node": "^0.29.8", + "vitest": "^0.29.8" } } diff --git a/packages/constants/package.json b/packages/constants/package.json index ceaac284..82dd4c89 100644 --- a/packages/constants/package.json +++ b/packages/constants/package.json @@ -17,7 +17,7 @@ }, "dependencies": {}, "devDependencies": { - "tsup": "^6.5.0", - "typescript": "^4.9.5" + "tsup": "^6.7.0", + "typescript": "^5.0.4" } } diff --git a/packages/discord/package.json b/packages/discord/package.json index 496a4181..897e13b6 100644 --- a/packages/discord/package.json +++ b/packages/discord/package.json @@ -17,11 +17,11 @@ "build": "tsup" }, "dependencies": { - "@discordjs/builders": "^1.4.0", - "@discordjs/rest": "^1.5.0", + "@discordjs/builders": "^1.6.1", + "@discordjs/rest": "^1.7.0", "@faker-js/faker": "^7.6.0", - "discord-api-types": "^0.37.33", - "discord.js": "^14.7.1" + "discord-api-types": "^0.37.37", + "discord.js": "^14.9.0" }, "devDependencies": { "@hey-amplify/constants": "workspace:*", @@ -29,10 +29,10 @@ "@hey-amplify/github": "workspace:*", "@hey-amplify/type-helpers": "workspace:*", "@hey-amplify/prisma-client": "workspace:*", - "tsup": "^6.6.2", - "typescript": "^4.9.5", - "vite": "^4.1.1", - "vitest": "^0.28.5" + "tsup": "^6.7.0", + "typescript": "^5.0.4", + "vite": "^4.2.1", + "vitest": "^0.29.8" }, "peerDependencies": { "@hey-amplify/prisma-client": "workspace:*" diff --git a/packages/features/package.json b/packages/features/package.json index a69d6b10..7a477a58 100644 --- a/packages/features/package.json +++ b/packages/features/package.json @@ -21,7 +21,7 @@ "@hey-amplify/prisma-client": "workspace:*" }, "devDependencies": { - "tsup": "^6.6.2", - "typescript": "^4.9.5" + "tsup": "^6.7.0", + "typescript": "^5.0.4" } } diff --git a/packages/github/package.json b/packages/github/package.json index 2523f3a3..3798a172 100644 --- a/packages/github/package.json +++ b/packages/github/package.json @@ -25,8 +25,8 @@ }, "devDependencies": { "@octokit/types": "^9.0.0", - "tsup": "^6.6.2", - "typescript": "^4.9.5", - "vitest": "^0.28.5" + "tsup": "^6.7.0", + "typescript": "^5.0.4", + "vitest": "^0.29.8" } } diff --git a/packages/prisma-client/package.json b/packages/prisma-client/package.json index f7492587..267261cc 100644 --- a/packages/prisma-client/package.json +++ b/packages/prisma-client/package.json @@ -18,9 +18,9 @@ "prepare": "prisma generate" }, "dependencies": { - "@prisma/client": "^4.10.1" + "@prisma/client": "^4.12.0" }, "devDependencies": { - "prisma": "^4.10.1" + "prisma": "^4.12.0" } } diff --git a/packages/prisma-client/schema.prisma b/packages/prisma-client/schema.prisma index 059a129d..ccfafdce 100644 --- a/packages/prisma-client/schema.prisma +++ b/packages/prisma-client/schema.prisma @@ -7,7 +7,7 @@ generator client { } datasource db { - provider = "sqlite" + provider = "mysql" url = env("DATABASE_URL") } diff --git a/packages/scripts/package.json b/packages/scripts/package.json index 7df3e0ec..9904179b 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -12,7 +12,7 @@ "@hey-amplify/support": "workspace:*", "command-line-args": "^5.2.1", "command-line-commands": "^3.0.2", - "command-line-usage": "^6.1.3", + "command-line-usage": "^7.0.1", "picocolors": "^1.0.0" } } diff --git a/packages/support/package.json b/packages/support/package.json index 5cfbd7f5..32e49ea9 100644 --- a/packages/support/package.json +++ b/packages/support/package.json @@ -21,12 +21,12 @@ }, "dependencies": {}, "devDependencies": { - "@aws-sdk/client-ssm": "^3.142.0", - "@types/node": "^18.6.4", - "fast-glob": "^3.2.11", - "rimraf": "^3.0.2", - "typescript": "^4.7.4", - "vite": "^3.0.4", - "vitest": "^0.20.3" + "@aws-sdk/client-ssm": "^3.309.0", + "@types/node": "^18.15.11", + "fast-glob": "^3.2.12", + "rimraf": "^4.4.1", + "typescript": "^5.0.4", + "vite": "^4.2.1", + "vitest": "^0.29.8" } } diff --git a/packages/type-helpers/package.json b/packages/type-helpers/package.json index 398d59a8..a889e0d7 100644 --- a/packages/type-helpers/package.json +++ b/packages/type-helpers/package.json @@ -10,6 +10,6 @@ }, "types": "./index.d.ts", "devDependencies": { - "typescript": "^4.9.5" + "typescript": "^5.0.4" } } diff --git a/packages/vite-plugin-copy-file/package.json b/packages/vite-plugin-copy-file/package.json deleted file mode 100644 index 116a3441..00000000 --- a/packages/vite-plugin-copy-file/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "@hey-amplify/vite-plugin-copy-file", - "type": "module", - "private": true, - "exports": { - ".": { - "import": "./build/vite-plugin-copy-file.js", - "types": "./build/vite-plugin-copy-file.d.ts" - } - }, - "types": "./build/vite-plugin-copy-file.d.ts", - "scripts": { - "build": "vite build" - }, - "dependencies": { - "express": "^4.18.1" - }, - "devDependencies": { - "@hey-amplify/vite-plugin-lib": "workspace:*", - "@types/node": "^18.7.14", - "typescript": "^4.8.2", - "vite": "^3.0.9" - } -} diff --git a/packages/vite-plugin-copy-file/readme.md b/packages/vite-plugin-copy-file/readme.md deleted file mode 100644 index a3dac2bc..00000000 --- a/packages/vite-plugin-copy-file/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# vite-plugin-copy-file - -Copies file(s) to build output diff --git a/packages/vite-plugin-copy-file/src/vite-plugin-copy-file.ts b/packages/vite-plugin-copy-file/src/vite-plugin-copy-file.ts deleted file mode 100644 index 92a8ae30..00000000 --- a/packages/vite-plugin-copy-file/src/vite-plugin-copy-file.ts +++ /dev/null @@ -1,35 +0,0 @@ -import * as fs from 'node:fs/promises' -import * as path from 'node:path' -import * as url from 'node:url' -import type { Plugin, ResolvedConfig } from 'vite' - -export const VitePluginCopyFile = (files: string | string[]): Plugin => { - let config: ResolvedConfig - - return { - name: 'vite-plugin-copy-file', - configResolved: (c) => { - config = c - }, - writeBundle: async () => { - const base = url.pathToFileURL(path.join(config.root, 'package.json')) - const srcRegex = /(?!\.\/)src/ - const filesToCopy = Array.isArray(files) ? files : [files] - for (const fileToCopy of filesToCopy) { - // path relative to the "src" directory or package - let relativePath = fileToCopy - if (srcRegex.test(fileToCopy)) { - // remove `src` from file directory, assume `src` is base - relativePath = fileToCopy.replace(/\/src/, '') - } - const from = url.fileURLToPath(new URL(fileToCopy, base)) - const to = path.join(config.root, config.build.outDir, relativePath) - // copy the file - await fs.copyFile(from, to) - } - }, - } -} - -export const copy = VitePluginCopyFile -export default copy diff --git a/packages/vite-plugin-copy-file/tsconfig.json b/packages/vite-plugin-copy-file/tsconfig.json deleted file mode 100644 index 4082f16a..00000000 --- a/packages/vite-plugin-copy-file/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../tsconfig.json" -} diff --git a/packages/vite-plugin-copy-file/vite.config.ts b/packages/vite-plugin-copy-file/vite.config.ts deleted file mode 100644 index 190c1dad..00000000 --- a/packages/vite-plugin-copy-file/vite.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from 'vite' -import { lib } from '@hey-amplify/vite-plugin-lib' - -export default defineConfig({ - plugins: [ - lib({ - entry: './src/vite-plugin-copy-file.ts', - }), - ], -}) diff --git a/packages/vite-plugin-lib/package.json b/packages/vite-plugin-lib/package.json deleted file mode 100644 index a77b7108..00000000 --- a/packages/vite-plugin-lib/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "@hey-amplify/vite-plugin-lib", - "type": "module", - "private": true, - "exports": { - ".": { - "import": "./build/vite-plugin-lib.js", - "types": "./build/vite-plugin-lib.d.ts" - } - }, - "types": "./build/vite-plugin-lib.d.ts", - "scripts": { - "build": "vite build" - }, - "dependencies": { - "fast-glob": "^3.2.11", - "vite-plugin-dts": "^1.4.1" - }, - "devDependencies": { - "@types/node": "^18.7.14", - "typescript": "^4.8.2", - "vite": "^3.0.9", - "vitest": "^0.22.1" - }, - "peerDependencies": { - "vite": "^3.0.9", - "vitest": "^0.22.1" - }, - "peerDependenciesMeta": { - "vite": { - "optional": false - }, - "vitest": { - "optional": true - } - } -} diff --git a/packages/vite-plugin-lib/readme.md b/packages/vite-plugin-lib/readme.md deleted file mode 100644 index 6fa8199f..00000000 --- a/packages/vite-plugin-lib/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# vite-plugin-lib - -Builds a TypeScript ESM library diff --git a/packages/vite-plugin-lib/src/vite-plugin-lib.ts b/packages/vite-plugin-lib/src/vite-plugin-lib.ts deleted file mode 100644 index 7650b9f0..00000000 --- a/packages/vite-plugin-lib/src/vite-plugin-lib.ts +++ /dev/null @@ -1,91 +0,0 @@ -import * as path from 'node:path' -import glob from 'fast-glob' -import dts from 'vite-plugin-dts' -import type { Plugin, ResolvedConfig, UserConfig } from 'vite' -import type { InlineConfig as VitestConfig } from 'vitest' - -export type VitePluginLibOptions = { - /** - * Entrypoint(s) of the library - * @default "./src/index.ts" - */ - entry: string - /** - * External depedencies - */ - external?: string[] - /** - * override default tsconfig - * @default "@hey-amplify/tsconfig/base.json" - */ - tsconfig?: string - /** - * whether to enable DTS generation - */ - dts?: boolean -} - -export const VitePluginLib = ( - options: VitePluginLibOptions = { - entry: './src/index.ts', - dts: false, - } -): Plugin => { - let config: ResolvedConfig - - return { - name: 'vite-plugin-lib', - enforce: 'pre', - config: async (c, { command }) => { - const { entry, external } = options - - const base: UserConfig & { test: VitestConfig } = { - define: { - 'import.meta.vitest': 'undefined', - }, - build: { - emptyOutDir: true, - target: 'esnext', - sourcemap: true, - outDir: 'build', - ssr: true, - lib: { - entry: path.resolve(entry), - formats: ['es'], - }, - rollupOptions: { - input: await glob('**/!(*.d).ts', { - cwd: path.dirname(path.resolve(entry)).replace(c.root!, ''), - absolute: true, - }), - external: Object.keys(external || {}), - output: { - inlineDynamicImports: false, - preserveModules: true, - preserveModulesRoot: 'src', - }, - }, - }, - test: { - includeSource: ['src/**/*.{js,ts}'], - }, - } - - return base - }, - configResolved: (c) => { - config = c - }, - } -} - -export const lib = (options?: VitePluginLibOptions): Plugin[] => - [ - VitePluginLib(options), - options?.dts && - dts({ - tsConfigFilePath: options?.tsconfig || path.resolve('tsconfig.json'), - copyDtsFiles: true, - }), - ].filter(Boolean) as Plugin[] -export default lib diff --git a/packages/vite-plugin-lib/tsconfig.json b/packages/vite-plugin-lib/tsconfig.json deleted file mode 100644 index 4082f16a..00000000 --- a/packages/vite-plugin-lib/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../tsconfig.json" -} diff --git a/packages/vite-plugin-lib/vite.config.ts b/packages/vite-plugin-lib/vite.config.ts deleted file mode 100644 index ce2fafcf..00000000 --- a/packages/vite-plugin-lib/vite.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from 'vite' -import { lib } from './src/vite-plugin-lib' - -export default defineConfig({ - plugins: [ - lib({ - entry: './src/vite-plugin-lib.ts', - }), - ], -}) diff --git a/packages/vite-plugin-server/package.json b/packages/vite-plugin-server/package.json deleted file mode 100644 index b601c9b1..00000000 --- a/packages/vite-plugin-server/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@hey-amplify/vite-plugin-server", - "type": "module", - "private": true, - "exports": { - ".": { - "import": "./build/vite-plugin-server.js", - "types": "./build/vite-plugin-server.d.ts" - } - }, - "types": "./build/vite-plugin-server.d.ts", - "scripts": { - "build": "vite build" - }, - "dependencies": { - "express": "^4.18.1" - }, - "devDependencies": { - "@hey-amplify/vite-plugin-copy-file": "workspace:*", - "@hey-amplify/vite-plugin-lib": "workspace:*", - "@types/express": "^4.17.13", - "@types/node": "^18.7.14", - "kleur": "^4.1.5", - "typescript": "^4.8.2", - "vite": "^3.0.9" - } -} diff --git a/packages/vite-plugin-server/readme.md b/packages/vite-plugin-server/readme.md deleted file mode 100644 index fe7ded16..00000000 --- a/packages/vite-plugin-server/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# vite-plugin-server - -Builds a custom SvelteKit server diff --git a/packages/vite-plugin-server/src/vite-plugin-server.ts b/packages/vite-plugin-server/src/vite-plugin-server.ts deleted file mode 100644 index 11379205..00000000 --- a/packages/vite-plugin-server/src/vite-plugin-server.ts +++ /dev/null @@ -1,136 +0,0 @@ -import * as path from 'node:path' -import express from 'express' -import colors from 'kleur' -import { build, type Plugin, type ResolvedConfig, type UserConfig } from 'vite' - -/** - * @TODO reinstate server template with support for using the following exports from a custom server file - * - `listener`: listener callback fn to customize xp - * - `server`: http server (returned from `app.listen()`) - * - `app`: Express application - */ - -export type VitePluginServerOptions = { - /** - * The path to the server file (express). - * @default "./src/server.ts" - */ - server?: string - /** - * Enable server in dev mode (no guards for listener and port conflicts) - * @default true - */ - dev?: boolean -} - -export type ServerModule = { - app: express.Express -} - -const defaults = { - server: undefined, - dev: true, -} - -const VitePluginServer = (options?: VitePluginServerOptions): Plugin => { - const opts = { - ...defaults, - ...(options || {}), - } - const userServerFile = path.resolve( - process.cwd(), - opts.server ?? './src/server.ts' - ) - let config: ResolvedConfig - - return { - name: 'vite-plugin-server', - enforce: 'post', - // config: (c) => {}, - configResolved: (c) => { - config = c - }, - configureServer: async (viteDevServer) => { - if (opts.dev) { - viteDevServer.middlewares.use(async (req, res, next) => { - try { - const mod = (await viteDevServer.ssrLoadModule( - `/@fs/${userServerFile}` - )) as ServerModule - - /** - * Create the internal server wrapper - */ - const server = express() - server.use((req, res, next) => { - // @ts-expect-error - attach Vite server to "virtual" server - req.viteServer = viteDevServer - next() - }) - - server.use(mod.app) - // @ts-expect-error - express.handle exists - server.handle(req as any, res) - if (!res.writableEnded) { - next() - } - } catch (error) { - viteDevServer.ssrFixStacktrace(error) - process.exitCode = 1 - next(error) - } - }) - } - }, - closeBundle: async () => { - // we want to run _after_ SvelteKit's adapter runs successfully - // SvelteKit writes to .svelte-kit on `writeBundle`, and the adapter runs on `closeBundle` - // we enforce this plugin on `post` to run after SvelteKit - // https://github.com/sveltejs/kit/blob/master/packages/kit/src/exports/vite/index.js#L471 - if (config.build.ssr || config.mode !== 'production') { - // checking `config.mode` is production may not be the best approach, but we do not want to execute this build in `test` mode (from Vitest) - return - } - - // TODO: dynamic outdir based on user config because SvelteKit is hiding this behind .svelte-kit/output - const outDir = path.join(config.root, 'build') - - const server: UserConfig = { - root: config.root, - define: { - ...(config.define || {}), - $sveltekit_handler: './handler.js', - }, - resolve: { - alias: [...config.resolve.alias], - }, - build: { - outDir, - emptyOutDir: false, // we don't want to overwrite SvelteKit's output - ssr: true, - rollupOptions: { - input: { - server: userServerFile, - }, - external: ['./handler.js'], - }, - }, - } - - try { - const TIMER_MESSAGE = colors.green(' ✔ done') - console.time(TIMER_MESSAGE) - // build the server file - await build(server) - console.timeEnd(TIMER_MESSAGE) - } catch (error) { - throw new Error( - `There was an error building the custom server: ${error.message}` - ) - } - }, - } -} - -export const server = VitePluginServer -export default server diff --git a/packages/vite-plugin-server/tsconfig.json b/packages/vite-plugin-server/tsconfig.json deleted file mode 100644 index 4082f16a..00000000 --- a/packages/vite-plugin-server/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../tsconfig.json" -} diff --git a/packages/vite-plugin-server/vite.config.ts b/packages/vite-plugin-server/vite.config.ts deleted file mode 100644 index d6d20258..00000000 --- a/packages/vite-plugin-server/vite.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from 'vite' -import { lib } from '@hey-amplify/vite-plugin-lib' - -export default defineConfig({ - plugins: [ - lib({ - entry: './src/vite-plugin-server.ts', - }), - ], -}) From e8108ed33b19688566f63bd44eaec16211de34bb Mon Sep 17 00:00:00 2001 From: josefaidt Date: Fri, 7 Apr 2023 16:17:38 -0700 Subject: [PATCH 75/79] upgrade tooling, update lockfile --- package.json | 30 +- pnpm-lock.yaml | 3607 ++++++++++++++++-------------------------------- 2 files changed, 1238 insertions(+), 2399 deletions(-) diff --git a/package.json b/package.json index f603d0a2..2e3232a9 100644 --- a/package.json +++ b/package.json @@ -24,25 +24,25 @@ "docker-build": "pnpm docker-build-workspace && pnpm docker-build-apps" }, "devDependencies": { - "@commitlint/cli": "^17.4.2", - "@commitlint/config-conventional": "^17.4.2", + "@commitlint/cli": "^17.5.1", + "@commitlint/config-conventional": "^17.4.4", "@hey-amplify/scripts": "workspace:*", "@hey-amplify/support": "workspace:*", - "@types/node": "^18.11.19", + "@types/node": "^18.15.11", "@types/prettier": "^2.7.2", - "@typescript-eslint/eslint-plugin": "^5.51.0", - "@typescript-eslint/parser": "^5.51.0", - "dotenv-cli": "^7.1.0", - "eslint": "^8.33.0", - "eslint-config-prettier": "^8.6.0", + "@typescript-eslint/eslint-plugin": "^5.57.1", + "@typescript-eslint/parser": "^5.57.1", + "dotenv-cli": "^7.2.1", + "eslint": "^8.38.0", + "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", - "lint-staged": "^13.1.0", - "prettier": "^2.8.3", - "prettier-plugin-svelte": "^2.9.0", - "prisma": "^4.10.1", - "turbo": "^1.7.3", - "typescript": "^4.9.5", - "vite-node": "^0.28.4" + "lint-staged": "^13.2.1", + "prettier": "^2.8.7", + "prettier-plugin-svelte": "^2.10.0", + "prisma": "^4.12.0", + "turbo": "^1.8.8", + "typescript": "^5.0.4", + "vite-node": "^0.29.8" }, "engines": { "node": ">=18.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b6826cb6..c3f9d9ac 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,55 +9,55 @@ importers: .: specifiers: - '@commitlint/cli': ^17.4.2 - '@commitlint/config-conventional': ^17.4.2 + '@commitlint/cli': ^17.5.1 + '@commitlint/config-conventional': ^17.4.4 '@hey-amplify/scripts': workspace:* '@hey-amplify/support': workspace:* - '@types/node': ^18.11.19 + '@types/node': ^18.15.11 '@types/prettier': ^2.7.2 - '@typescript-eslint/eslint-plugin': ^5.51.0 - '@typescript-eslint/parser': ^5.51.0 - dotenv-cli: ^7.1.0 - eslint: ^8.33.0 - eslint-config-prettier: ^8.6.0 + '@typescript-eslint/eslint-plugin': ^5.57.1 + '@typescript-eslint/parser': ^5.57.1 + dotenv-cli: ^7.2.1 + eslint: ^8.38.0 + eslint-config-prettier: ^8.8.0 eslint-plugin-svelte3: ^4.0.0 - lint-staged: ^13.1.0 - prettier: ^2.8.3 - prettier-plugin-svelte: ^2.9.0 - prisma: ^4.10.1 - turbo: ^1.7.3 - typescript: ^4.9.5 - vite-node: ^0.28.4 + lint-staged: ^13.2.1 + prettier: ^2.8.7 + prettier-plugin-svelte: ^2.10.0 + prisma: ^4.12.0 + turbo: ^1.8.8 + typescript: ^5.0.4 + vite-node: ^0.29.8 devDependencies: - '@commitlint/cli': 17.4.2 - '@commitlint/config-conventional': 17.4.2 + '@commitlint/cli': 17.5.1 + '@commitlint/config-conventional': 17.4.4 '@hey-amplify/scripts': link:packages/scripts '@hey-amplify/support': link:packages/support - '@types/node': 18.11.19 + '@types/node': 18.15.11 '@types/prettier': 2.7.2 - '@typescript-eslint/eslint-plugin': 5.51.0_b635kmla6dsb4frxfihkw4m47e - '@typescript-eslint/parser': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 - dotenv-cli: 7.1.0 - eslint: 8.33.0 - eslint-config-prettier: 8.6.0_eslint@8.33.0 - eslint-plugin-svelte3: 4.0.0_eslint@8.33.0 - lint-staged: 13.1.0 - prettier: 2.8.3 - prettier-plugin-svelte: 2.9.0_prettier@2.8.3 - prisma: 4.10.1 - turbo: 1.7.3 - typescript: 4.9.5 - vite-node: 0.28.4 + '@typescript-eslint/eslint-plugin': 5.57.1_z2kgtpg43567unkcwpmcdtgh2q + '@typescript-eslint/parser': 5.57.1_voubu7prgxjfsfbgx5d4sqnwiy + dotenv-cli: 7.2.1 + eslint: 8.38.0 + eslint-config-prettier: 8.8.0_eslint@8.38.0 + eslint-plugin-svelte3: 4.0.0_eslint@8.38.0 + lint-staged: 13.2.1 + prettier: 2.8.7 + prettier-plugin-svelte: 2.10.0_prettier@2.8.7 + prisma: 4.12.0 + turbo: 1.8.8 + typescript: 5.0.4 + vite-node: 0.29.8_@types+node@18.15.11 apps/bot.amplify.aws: specifiers: - '@auth/core': ^0.4.0 - '@auth/sveltekit': ^0.2.1 + '@auth/core': ^0.5.1 + '@auth/sveltekit': ^0.3.0 '@aws-crypto/sha256-js': ^4.0.0 - '@carbon/charts': ^1.6.4 - '@carbon/charts-svelte': ^1.6.4 - '@carbon/styles': ^1.23.0 - '@discordjs/rest': ^1.5.0 + '@carbon/charts': ^1.6.14 + '@carbon/charts-svelte': ^1.6.14 + '@carbon/styles': ^1.26.0 + '@discordjs/rest': ^1.7.0 '@hey-amplify/constants': workspace:* '@hey-amplify/discord': workspace:* '@hey-amplify/features': workspace:* @@ -68,36 +68,36 @@ importers: '@octokit/auth-app': ^4.0.9 '@octokit/graphql': ^5.0.5 '@octokit/rest': ^19.0.7 - '@sveltejs/adapter-node': 1.2.0 - '@sveltejs/kit': 1.8.3 + '@sveltejs/adapter-node': 1.2.3 + '@sveltejs/kit': 1.15.2 '@types/cookie': ^0.5.1 - '@vitest/ui': ^0.28.5 - carbon-components-svelte: ^0.73.1 + '@vitest/ui': ^0.29.8 + carbon-components-svelte: ^0.73.5 carbon-icons-svelte: ^11.4.0 carbon-preprocess-svelte: ^0.9.1 cookie: ^0.5.0 - d3: ^7.8.2 - discord-api-types: ^0.37.35 - discord.js: ^14.7.1 + d3: ^7.8.4 + discord-api-types: ^0.37.37 + discord.js: ^14.9.0 fast-glob: ^3.2.12 fuzzy: ^0.1.3 - jsdom: ^21.1.0 - svelte: 3.55.1 - svelte-check: ^3.0.3 - svelte-preprocess: ^5.0.1 + jsdom: ^21.1.1 + svelte: 3.58.0 + svelte-check: ^3.2.0 + svelte-preprocess: ^5.0.3 tslib: ^2.5.0 - typescript: ^4.9.5 + typescript: ^5.0.4 uuid: ^9.0.0 - vite: ^4.1.3 - vite-node: ^0.28.5 - vitest: ^0.28.5 - zod: ^3.20.6 + vite: ^4.2.1 + vite-node: ^0.29.8 + vitest: ^0.29.8 + zod: ^3.21.4 dependencies: - '@auth/core': 0.4.0 - '@auth/sveltekit': 0.2.1_4rylcc2rz3gc4fnbb666aauziu + '@auth/core': 0.5.1 + '@auth/sveltekit': 0.3.0_ssp7a2yp5jpcmpup4cfh6jeqky '@aws-crypto/sha256-js': 4.0.0 - '@carbon/styles': 1.23.0 - '@discordjs/rest': 1.5.0 + '@carbon/styles': 1.26.0 + '@discordjs/rest': 1.7.0 '@hey-amplify/discord': link:../../packages/discord '@hey-amplify/prisma-client': link:../../packages/prisma-client '@next-auth/prisma-adapter': 1.0.5 @@ -105,59 +105,59 @@ importers: '@octokit/graphql': 5.0.5 '@octokit/rest': 19.0.7 cookie: 0.5.0 - discord-api-types: 0.37.35 - discord.js: 14.7.1 + discord-api-types: 0.37.37 + discord.js: 14.9.0 fast-glob: 3.2.12 fuzzy: 0.1.3 - svelte: 3.55.1 + svelte: 3.58.0 uuid: 9.0.0 - zod: 3.20.6 + zod: 3.21.4 devDependencies: - '@carbon/charts': 1.6.4_d3@7.8.2 - '@carbon/charts-svelte': 1.6.4_d3@7.8.2+svelte@3.55.1 + '@carbon/charts': 1.6.14_d3@7.8.4 + '@carbon/charts-svelte': 1.6.14_d3@7.8.4+svelte@3.58.0 '@hey-amplify/constants': link:../../packages/constants '@hey-amplify/features': link:../../packages/features '@hey-amplify/github': link:../../packages/github '@hey-amplify/support': link:../../packages/support - '@sveltejs/adapter-node': 1.2.0_@sveltejs+kit@1.8.3 - '@sveltejs/kit': 1.8.3_svelte@3.55.1+vite@4.1.3 + '@sveltejs/adapter-node': 1.2.3_@sveltejs+kit@1.15.2 + '@sveltejs/kit': 1.15.2_svelte@3.58.0+vite@4.2.1 '@types/cookie': 0.5.1 - '@vitest/ui': 0.28.5 - carbon-components-svelte: 0.73.1 + '@vitest/ui': 0.29.8 + carbon-components-svelte: 0.73.5 carbon-icons-svelte: 11.4.0 - carbon-preprocess-svelte: 0.9.1_svelte@3.55.1 - d3: 7.8.2 - jsdom: 21.1.0 - svelte-check: 3.0.3_svelte@3.55.1 - svelte-preprocess: 5.0.1_4x7phaipmicbaooxtnresslofa + carbon-preprocess-svelte: 0.9.1_svelte@3.58.0 + d3: 7.8.4 + jsdom: 21.1.1 + svelte-check: 3.2.0_svelte@3.58.0 + svelte-preprocess: 5.0.3_kxq5ayp4qfv2n6flkngpsntzw4 tslib: 2.5.0 - typescript: 4.9.5 - vite: 4.1.3 - vite-node: 0.28.5 - vitest: 0.28.5_itn5mhdgoxdt6nk7zeh5bmcq5a + typescript: 5.0.4 + vite: 4.2.1 + vite-node: 0.29.8 + vitest: 0.29.8_o37wuudx5bfh5vekeovdm6towm apps/discord-bot: specifiers: '@hey-amplify/discord': workspace:* '@hey-amplify/prisma-client': workspace:^1.0.0 - discord.js: ^14.7.1 - tsup: ^6.6.2 - typescript: ^4.9.5 - vite: ^4.1.1 - vite-node: ^0.28.5 - vitest: ^0.28.5 - zod: ^3.20.6 + discord.js: ^14.9.0 + tsup: ^6.7.0 + typescript: ^5.0.4 + vite: ^4.2.1 + vite-node: ^0.29.8 + vitest: ^0.29.8 + zod: ^3.21.4 dependencies: '@hey-amplify/discord': link:../../packages/discord '@hey-amplify/prisma-client': link:../../packages/prisma-client - discord.js: 14.7.1 - zod: 3.20.6 + discord.js: 14.9.0 + zod: 3.21.4 devDependencies: - tsup: 6.6.2_typescript@4.9.5 - typescript: 4.9.5 - vite: 4.1.1 - vite-node: 0.28.5 - vitest: 0.28.5 + tsup: 6.7.0_typescript@5.0.4 + typescript: 5.0.4 + vite: 4.2.1 + vite-node: 0.29.8 + vitest: 0.29.8 cdk: specifiers: @@ -187,57 +187,57 @@ importers: packages/constants: specifiers: - tsup: ^6.5.0 - typescript: ^4.9.5 + tsup: ^6.7.0 + typescript: ^5.0.4 devDependencies: - tsup: 6.5.0_typescript@4.9.5 - typescript: 4.9.5 + tsup: 6.7.0_typescript@5.0.4 + typescript: 5.0.4 packages/discord: specifiers: - '@discordjs/builders': ^1.4.0 - '@discordjs/rest': ^1.5.0 + '@discordjs/builders': ^1.6.1 + '@discordjs/rest': ^1.7.0 '@faker-js/faker': ^7.6.0 '@hey-amplify/constants': workspace:* '@hey-amplify/features': workspace:* '@hey-amplify/github': workspace:* '@hey-amplify/prisma-client': workspace:* '@hey-amplify/type-helpers': workspace:* - discord-api-types: ^0.37.33 - discord.js: ^14.7.1 - tsup: ^6.6.2 - typescript: ^4.9.5 - vite: ^4.1.1 - vitest: ^0.28.5 - dependencies: - '@discordjs/builders': 1.4.0 - '@discordjs/rest': 1.5.0 + discord-api-types: ^0.37.37 + discord.js: ^14.9.0 + tsup: ^6.7.0 + typescript: ^5.0.4 + vite: ^4.2.1 + vitest: ^0.29.8 + dependencies: + '@discordjs/builders': 1.6.1 + '@discordjs/rest': 1.7.0 '@faker-js/faker': 7.6.0 - discord-api-types: 0.37.33 - discord.js: 14.7.1 + discord-api-types: 0.37.37 + discord.js: 14.9.0 devDependencies: '@hey-amplify/constants': link:../constants '@hey-amplify/features': link:../features '@hey-amplify/github': link:../github '@hey-amplify/prisma-client': link:../prisma-client '@hey-amplify/type-helpers': link:../type-helpers - tsup: 6.6.2_typescript@4.9.5 - typescript: 4.9.5 - vite: 4.1.1 - vitest: 0.28.5 + tsup: 6.7.0_typescript@5.0.4 + typescript: 5.0.4 + vite: 4.2.1 + vitest: 0.29.8 packages/features: specifiers: '@hey-amplify/constants': workspace:* '@hey-amplify/prisma-client': workspace:* - tsup: ^6.6.2 - typescript: ^4.9.5 + tsup: ^6.7.0 + typescript: ^5.0.4 dependencies: '@hey-amplify/constants': link:../constants '@hey-amplify/prisma-client': link:../prisma-client devDependencies: - tsup: 6.6.2_typescript@4.9.5 - typescript: 4.9.5 + tsup: 6.7.0_typescript@5.0.4 + typescript: 5.0.4 packages/github: specifiers: @@ -247,9 +247,9 @@ importers: '@octokit/graphql': ^5.0.5 '@octokit/rest': ^19.0.7 '@octokit/types': ^9.0.0 - tsup: ^6.6.2 - typescript: ^4.9.5 - vitest: ^0.28.5 + tsup: ^6.7.0 + typescript: ^5.0.4 + vitest: ^0.29.8 dependencies: '@hey-amplify/constants': link:../constants '@hey-amplify/prisma-client': link:../prisma-client @@ -258,137 +258,76 @@ importers: '@octokit/rest': 19.0.7 devDependencies: '@octokit/types': 9.0.0 - tsup: 6.6.2_typescript@4.9.5 - typescript: 4.9.5 - vitest: 0.28.5 + tsup: 6.7.0_typescript@5.0.4 + typescript: 5.0.4 + vitest: 0.29.8 packages/prisma-client: specifiers: - '@prisma/client': ^4.10.1 - prisma: ^4.10.1 + '@prisma/client': ^4.12.0 + prisma: ^4.12.0 dependencies: - '@prisma/client': 4.10.1_prisma@4.10.1 + '@prisma/client': 4.12.0_prisma@4.12.0 devDependencies: - prisma: 4.10.1 + prisma: 4.12.0 packages/scripts: specifiers: '@hey-amplify/support': workspace:* command-line-args: ^5.2.1 command-line-commands: ^3.0.2 - command-line-usage: ^6.1.3 + command-line-usage: ^7.0.1 picocolors: ^1.0.0 dependencies: '@hey-amplify/support': link:../support command-line-args: 5.2.1 command-line-commands: 3.0.2 - command-line-usage: 6.1.3 + command-line-usage: 7.0.1 picocolors: 1.0.0 packages/support: specifiers: - '@aws-sdk/client-ssm': ^3.142.0 - '@types/node': ^18.6.4 - fast-glob: ^3.2.11 - rimraf: ^3.0.2 - typescript: ^4.7.4 - vite: ^3.0.4 - vitest: ^0.20.3 + '@aws-sdk/client-ssm': ^3.309.0 + '@types/node': ^18.15.11 + fast-glob: ^3.2.12 + rimraf: ^4.4.1 + typescript: ^5.0.4 + vite: ^4.2.1 + vitest: ^0.29.8 devDependencies: - '@aws-sdk/client-ssm': 3.142.0 - '@types/node': 18.6.5 - fast-glob: 3.2.11 - rimraf: 3.0.2 - typescript: 4.7.4 - vite: 3.0.4 - vitest: 0.20.3 + '@aws-sdk/client-ssm': 3.309.0 + '@types/node': 18.15.11 + fast-glob: 3.2.12 + rimraf: 4.4.1 + typescript: 5.0.4 + vite: 4.2.1_@types+node@18.15.11 + vitest: 0.29.8 packages/type-helpers: specifiers: - typescript: ^4.9.5 - devDependencies: - typescript: 4.9.5 - - packages/vite-plugin-copy-file: - specifiers: - '@hey-amplify/vite-plugin-lib': workspace:* - '@types/node': ^18.7.14 - express: ^4.18.1 - typescript: ^4.8.2 - vite: ^3.0.9 - dependencies: - express: 4.18.1 - devDependencies: - '@hey-amplify/vite-plugin-lib': link:../vite-plugin-lib - '@types/node': 18.7.14 - typescript: 4.8.2 - vite: 3.0.9 - - packages/vite-plugin-lib: - specifiers: - '@types/node': ^18.7.14 - fast-glob: ^3.2.11 - typescript: ^4.8.2 - vite: ^3.0.9 - vite-plugin-dts: ^1.4.1 - vitest: ^0.22.1 - dependencies: - fast-glob: 3.2.11 - vite-plugin-dts: 1.4.1_vite@3.0.9 + typescript: ^5.0.4 devDependencies: - '@types/node': 18.7.14 - typescript: 4.8.2 - vite: 3.0.9 - vitest: 0.22.1 - - packages/vite-plugin-server: - specifiers: - '@hey-amplify/vite-plugin-copy-file': workspace:* - '@hey-amplify/vite-plugin-lib': workspace:* - '@types/express': ^4.17.13 - '@types/node': ^18.7.14 - express: ^4.18.1 - kleur: ^4.1.5 - typescript: ^4.8.2 - vite: ^3.0.9 - dependencies: - express: 4.18.1 - devDependencies: - '@hey-amplify/vite-plugin-copy-file': link:../vite-plugin-copy-file - '@hey-amplify/vite-plugin-lib': link:../vite-plugin-lib - '@types/express': 4.17.13 - '@types/node': 18.7.14 - kleur: 4.1.5 - typescript: 4.8.2 - vite: 3.0.9 + typescript: 5.0.4 packages: - /@auth/core/0.3.0: - resolution: {integrity: sha512-4bmPzEiQKSXD825Jrcgj7igSFghBTpkSQ6U/jnYABJRQGhwnWJ/q9FHxEo6SGZWvYvpjOrvJOWhrP4Xng4CGUQ==} - peerDependencies: - nodemailer: 6.8.0 - peerDependenciesMeta: - nodemailer: - optional: true + /@75lb/deep-merge/1.1.1: + resolution: {integrity: sha512-xvgv6pkMGBA6GwdyJbNAnDmfAIR/DfWhrj9jgWh3TY7gRm3KO46x/GPjRg6wJ0nOepwqrNxFfojebh0Df4h4Tw==} + engines: {node: '>=12.17'} dependencies: - '@panva/hkdf': 1.0.2 - cookie: 0.5.0 - jose: 4.11.2 - oauth4webapi: 2.1.0 - preact: 10.11.3 - preact-render-to-string: 5.2.3_preact@10.11.3 + lodash.assignwith: 4.2.0 + typical: 7.1.1 dev: false - /@auth/core/0.4.0: - resolution: {integrity: sha512-wHVljvVGPmKSjlxQUYZCOL4GGe26YqhT351sA2REE43YskaqRMYh1TVjBxpXcdG8/P8bw2DsHgl+aBEV3P5+KQ==} + /@auth/core/0.5.1: + resolution: {integrity: sha512-t9z8F7dkuVceKWBmMy1fd2t6H+vfRju/YJ1lm+6RnJ7pNEvX5qMR874wg0+cYbWvyZazLi8fFK/FA6I3D5sSkA==} peerDependencies: nodemailer: ^6.8.0 peerDependenciesMeta: nodemailer: optional: true dependencies: - '@panva/hkdf': 1.0.2 + '@panva/hkdf': 1.0.4 cookie: 0.5.0 jose: 4.11.2 oauth4webapi: 2.1.0 @@ -396,51 +335,43 @@ packages: preact-render-to-string: 5.2.3_preact@10.11.3 dev: false - /@auth/sveltekit/0.2.1_4rylcc2rz3gc4fnbb666aauziu: - resolution: {integrity: sha512-uC1xxWLCWsd581yMzOAiOhUudsjA/HHYuFXMOnvxB4gRcxQV9bW3t+GcP2NWWah6gU00kMc7r2JsVhGyPNANGQ==} + /@auth/sveltekit/0.3.0_ssp7a2yp5jpcmpup4cfh6jeqky: + resolution: {integrity: sha512-J9uwaKadzPaQMYec9CYpa9WAjV5EIMEhj4vTuJH6HTp2FJOOJQB5t19WqWv9rYzBVm2rBTPPplQXPI5UKOvg4Q==} peerDependencies: '@sveltejs/kit': ^1.0.0 svelte: ^3.54.0 dependencies: - '@auth/core': 0.3.0 - '@sveltejs/kit': 1.8.3_svelte@3.55.1+vite@4.1.3 - svelte: 3.55.1 + '@auth/core': 0.5.1 + '@sveltejs/kit': 1.15.2_svelte@3.58.0+vite@4.2.1 + svelte: 3.58.0 transitivePeerDependencies: - nodemailer dev: false - /@aws-crypto/ie11-detection/2.0.0: - resolution: {integrity: sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA==} + /@aws-crypto/ie11-detection/3.0.0: + resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} dependencies: tslib: 1.14.1 dev: true - /@aws-crypto/sha256-browser/2.0.0: - resolution: {integrity: sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==} + /@aws-crypto/sha256-browser/3.0.0: + resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} dependencies: - '@aws-crypto/ie11-detection': 2.0.0 - '@aws-crypto/sha256-js': 2.0.1 - '@aws-crypto/supports-web-crypto': 2.0.0 - '@aws-crypto/util': 2.0.1 - '@aws-sdk/types': 3.267.0 + '@aws-crypto/ie11-detection': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-crypto/supports-web-crypto': 3.0.0 + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.306.0 '@aws-sdk/util-locate-window': 3.55.0 '@aws-sdk/util-utf8-browser': 3.109.0 tslib: 1.14.1 dev: true - /@aws-crypto/sha256-js/2.0.0: - resolution: {integrity: sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==} + /@aws-crypto/sha256-js/3.0.0: + resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} dependencies: - '@aws-crypto/util': 2.0.1 - '@aws-sdk/types': 3.267.0 - tslib: 1.14.1 - dev: true - - /@aws-crypto/sha256-js/2.0.1: - resolution: {integrity: sha512-mbHTBSPBvg6o/mN/c18Z/zifM05eJrapj5ggoOIeHIWckvkv5VgGi7r/wYpt+QAO2ySKXLNvH2d8L7bne4xrMQ==} - dependencies: - '@aws-crypto/util': 2.0.1 - '@aws-sdk/types': 3.267.0 + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.306.0 tslib: 1.14.1 dev: true @@ -452,16 +383,16 @@ packages: tslib: 1.14.1 dev: false - /@aws-crypto/supports-web-crypto/2.0.0: - resolution: {integrity: sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA==} + /@aws-crypto/supports-web-crypto/3.0.0: + resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} dependencies: tslib: 1.14.1 dev: true - /@aws-crypto/util/2.0.1: - resolution: {integrity: sha512-JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==} + /@aws-crypto/util/3.0.0: + resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} dependencies: - '@aws-sdk/types': 3.267.0 + '@aws-sdk/types': 3.306.0 '@aws-sdk/util-utf8-browser': 3.109.0 tslib: 1.14.1 dev: true @@ -474,455 +405,520 @@ packages: tslib: 1.14.1 dev: false - /@aws-sdk/abort-controller/3.127.0: - resolution: {integrity: sha512-G77FLYcl9egUoD3ZmR6TX94NMqBMeT53hBGrEE3uVUJV1CwfGKfaF007mPpRZnIB3avnJBQGEK6MrwlCfv2qAw==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/abort-controller/3.306.0: + resolution: {integrity: sha512-ewCvdUrMJMlnkNaqXdG7L2H6O7CDI036y6lkTU8gQqa2lCzZvqBkzz6R5NbWqb8TJPi69Z7lXEITgk2b0+pl6w==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.127.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/client-ssm/3.142.0: - resolution: {integrity: sha512-1EayzP2jg/olxVfB/pbYtJWrSyM0QtQTVwdJyN5EmO+mQp+05e4kheRZ1LcN1yckkj8gOFcqN/6Cbd2MNsJqJQ==} - engines: {node: '>=12.0.0'} - dependencies: - '@aws-crypto/sha256-browser': 2.0.0 - '@aws-crypto/sha256-js': 2.0.0 - '@aws-sdk/client-sts': 3.142.0 - '@aws-sdk/config-resolver': 3.130.0 - '@aws-sdk/credential-provider-node': 3.142.0 - '@aws-sdk/fetch-http-handler': 3.131.0 - '@aws-sdk/hash-node': 3.127.0 - '@aws-sdk/invalid-dependency': 3.127.0 - '@aws-sdk/middleware-content-length': 3.127.0 - '@aws-sdk/middleware-host-header': 3.127.0 - '@aws-sdk/middleware-logger': 3.127.0 - '@aws-sdk/middleware-recursion-detection': 3.127.0 - '@aws-sdk/middleware-retry': 3.127.0 - '@aws-sdk/middleware-serde': 3.127.0 - '@aws-sdk/middleware-signing': 3.130.0 - '@aws-sdk/middleware-stack': 3.127.0 - '@aws-sdk/middleware-user-agent': 3.127.0 - '@aws-sdk/node-config-provider': 3.127.0 - '@aws-sdk/node-http-handler': 3.127.0 - '@aws-sdk/protocol-http': 3.127.0 - '@aws-sdk/smithy-client': 3.142.0 - '@aws-sdk/types': 3.127.0 - '@aws-sdk/url-parser': 3.127.0 - '@aws-sdk/util-base64-browser': 3.109.0 - '@aws-sdk/util-base64-node': 3.55.0 - '@aws-sdk/util-body-length-browser': 3.55.0 - '@aws-sdk/util-body-length-node': 3.55.0 - '@aws-sdk/util-defaults-mode-browser': 3.142.0 - '@aws-sdk/util-defaults-mode-node': 3.142.0 - '@aws-sdk/util-user-agent-browser': 3.127.0 - '@aws-sdk/util-user-agent-node': 3.127.0_rldx5j3uyz672fxizuslsth3gy - '@aws-sdk/util-utf8-browser': 3.109.0 - '@aws-sdk/util-utf8-node': 3.109.0 - '@aws-sdk/util-waiter': 3.127.0 + /@aws-sdk/client-ssm/3.309.0: + resolution: {integrity: sha512-GeM+7Ww3pYKYfiiU67khL8TeJjCaKf25wwf9+dpw8BbVhgyYdlYjL0qp5+LpSBCIGB2SWFUu/ds1emFkSJsopg==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sts': 3.309.0 + '@aws-sdk/config-resolver': 3.306.0 + '@aws-sdk/credential-provider-node': 3.309.0 + '@aws-sdk/fetch-http-handler': 3.306.0 + '@aws-sdk/hash-node': 3.306.0 + '@aws-sdk/invalid-dependency': 3.306.0 + '@aws-sdk/middleware-content-length': 3.306.0 + '@aws-sdk/middleware-endpoint': 3.306.0 + '@aws-sdk/middleware-host-header': 3.306.0 + '@aws-sdk/middleware-logger': 3.306.0 + '@aws-sdk/middleware-recursion-detection': 3.306.0 + '@aws-sdk/middleware-retry': 3.306.0 + '@aws-sdk/middleware-serde': 3.306.0 + '@aws-sdk/middleware-signing': 3.306.0 + '@aws-sdk/middleware-stack': 3.306.0 + '@aws-sdk/middleware-user-agent': 3.306.0 + '@aws-sdk/node-config-provider': 3.306.0 + '@aws-sdk/node-http-handler': 3.306.0 + '@aws-sdk/protocol-http': 3.306.0 + '@aws-sdk/smithy-client': 3.309.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/url-parser': 3.306.0 + '@aws-sdk/util-base64': 3.303.0 + '@aws-sdk/util-body-length-browser': 3.303.0 + '@aws-sdk/util-body-length-node': 3.303.0 + '@aws-sdk/util-defaults-mode-browser': 3.309.0 + '@aws-sdk/util-defaults-mode-node': 3.309.0 + '@aws-sdk/util-endpoints': 3.306.0 + '@aws-sdk/util-retry': 3.306.0 + '@aws-sdk/util-user-agent-browser': 3.306.0 + '@aws-sdk/util-user-agent-node': 3.306.0 + '@aws-sdk/util-utf8': 3.303.0 + '@aws-sdk/util-waiter': 3.306.0 tslib: 2.5.0 uuid: 8.3.2 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-sso/3.142.0: - resolution: {integrity: sha512-Pewcpxq+wqcbB3t3s6KImBUUf+qqBNqMfd2wgQ3PdpYBjlNzrWYLHAnIT1vhIFjOGJXDi/qwF8FX7qbWNUB7Lg==} - engines: {node: '>=12.0.0'} - dependencies: - '@aws-crypto/sha256-browser': 2.0.0 - '@aws-crypto/sha256-js': 2.0.0 - '@aws-sdk/config-resolver': 3.130.0 - '@aws-sdk/fetch-http-handler': 3.131.0 - '@aws-sdk/hash-node': 3.127.0 - '@aws-sdk/invalid-dependency': 3.127.0 - '@aws-sdk/middleware-content-length': 3.127.0 - '@aws-sdk/middleware-host-header': 3.127.0 - '@aws-sdk/middleware-logger': 3.127.0 - '@aws-sdk/middleware-recursion-detection': 3.127.0 - '@aws-sdk/middleware-retry': 3.127.0 - '@aws-sdk/middleware-serde': 3.127.0 - '@aws-sdk/middleware-stack': 3.127.0 - '@aws-sdk/middleware-user-agent': 3.127.0 - '@aws-sdk/node-config-provider': 3.127.0 - '@aws-sdk/node-http-handler': 3.127.0 - '@aws-sdk/protocol-http': 3.127.0 - '@aws-sdk/smithy-client': 3.142.0 - '@aws-sdk/types': 3.127.0 - '@aws-sdk/url-parser': 3.127.0 - '@aws-sdk/util-base64-browser': 3.109.0 - '@aws-sdk/util-base64-node': 3.55.0 - '@aws-sdk/util-body-length-browser': 3.55.0 - '@aws-sdk/util-body-length-node': 3.55.0 - '@aws-sdk/util-defaults-mode-browser': 3.142.0 - '@aws-sdk/util-defaults-mode-node': 3.142.0 - '@aws-sdk/util-user-agent-browser': 3.127.0 - '@aws-sdk/util-user-agent-node': 3.127.0_rldx5j3uyz672fxizuslsth3gy - '@aws-sdk/util-utf8-browser': 3.109.0 - '@aws-sdk/util-utf8-node': 3.109.0 + /@aws-sdk/client-sso-oidc/3.309.0: + resolution: {integrity: sha512-5hQMibuKWxDJo6IN+4ah0gskjJa16R41PqkeAOwExthTTyNzgoVyP9wyhnETyntYlHIBrHEmHTwdG06YiAxm4A==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/config-resolver': 3.306.0 + '@aws-sdk/fetch-http-handler': 3.306.0 + '@aws-sdk/hash-node': 3.306.0 + '@aws-sdk/invalid-dependency': 3.306.0 + '@aws-sdk/middleware-content-length': 3.306.0 + '@aws-sdk/middleware-endpoint': 3.306.0 + '@aws-sdk/middleware-host-header': 3.306.0 + '@aws-sdk/middleware-logger': 3.306.0 + '@aws-sdk/middleware-recursion-detection': 3.306.0 + '@aws-sdk/middleware-retry': 3.306.0 + '@aws-sdk/middleware-serde': 3.306.0 + '@aws-sdk/middleware-stack': 3.306.0 + '@aws-sdk/middleware-user-agent': 3.306.0 + '@aws-sdk/node-config-provider': 3.306.0 + '@aws-sdk/node-http-handler': 3.306.0 + '@aws-sdk/protocol-http': 3.306.0 + '@aws-sdk/smithy-client': 3.309.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/url-parser': 3.306.0 + '@aws-sdk/util-base64': 3.303.0 + '@aws-sdk/util-body-length-browser': 3.303.0 + '@aws-sdk/util-body-length-node': 3.303.0 + '@aws-sdk/util-defaults-mode-browser': 3.309.0 + '@aws-sdk/util-defaults-mode-node': 3.309.0 + '@aws-sdk/util-endpoints': 3.306.0 + '@aws-sdk/util-retry': 3.306.0 + '@aws-sdk/util-user-agent-browser': 3.306.0 + '@aws-sdk/util-user-agent-node': 3.306.0 + '@aws-sdk/util-utf8': 3.303.0 tslib: 2.5.0 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-sts/3.142.0: - resolution: {integrity: sha512-rOa1MTI1h3kTjlHkItAlXGHefM5sjsfw3muhNEhzrZBuhpOrLU8apbiG2rcJqB8m0prMoY39PuG+WquxN4ap6g==} - engines: {node: '>=12.0.0'} - dependencies: - '@aws-crypto/sha256-browser': 2.0.0 - '@aws-crypto/sha256-js': 2.0.0 - '@aws-sdk/config-resolver': 3.130.0 - '@aws-sdk/credential-provider-node': 3.142.0 - '@aws-sdk/fetch-http-handler': 3.131.0 - '@aws-sdk/hash-node': 3.127.0 - '@aws-sdk/invalid-dependency': 3.127.0 - '@aws-sdk/middleware-content-length': 3.127.0 - '@aws-sdk/middleware-host-header': 3.127.0 - '@aws-sdk/middleware-logger': 3.127.0 - '@aws-sdk/middleware-recursion-detection': 3.127.0 - '@aws-sdk/middleware-retry': 3.127.0 - '@aws-sdk/middleware-sdk-sts': 3.130.0 - '@aws-sdk/middleware-serde': 3.127.0 - '@aws-sdk/middleware-signing': 3.130.0 - '@aws-sdk/middleware-stack': 3.127.0 - '@aws-sdk/middleware-user-agent': 3.127.0 - '@aws-sdk/node-config-provider': 3.127.0 - '@aws-sdk/node-http-handler': 3.127.0 - '@aws-sdk/protocol-http': 3.127.0 - '@aws-sdk/smithy-client': 3.142.0 - '@aws-sdk/types': 3.127.0 - '@aws-sdk/url-parser': 3.127.0 - '@aws-sdk/util-base64-browser': 3.109.0 - '@aws-sdk/util-base64-node': 3.55.0 - '@aws-sdk/util-body-length-browser': 3.55.0 - '@aws-sdk/util-body-length-node': 3.55.0 - '@aws-sdk/util-defaults-mode-browser': 3.142.0 - '@aws-sdk/util-defaults-mode-node': 3.142.0 - '@aws-sdk/util-user-agent-browser': 3.127.0 - '@aws-sdk/util-user-agent-node': 3.127.0_rldx5j3uyz672fxizuslsth3gy - '@aws-sdk/util-utf8-browser': 3.109.0 - '@aws-sdk/util-utf8-node': 3.109.0 - entities: 2.2.0 - fast-xml-parser: 3.19.0 + /@aws-sdk/client-sso/3.309.0: + resolution: {integrity: sha512-2Tr3AROBzZOy+BuANlmDrwgyX+Q2kb6SIlANg6b9mrIzlflC48hRH0ngEe4C5RT6RruKIP+6R0al6vAq8lCk6A==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/config-resolver': 3.306.0 + '@aws-sdk/fetch-http-handler': 3.306.0 + '@aws-sdk/hash-node': 3.306.0 + '@aws-sdk/invalid-dependency': 3.306.0 + '@aws-sdk/middleware-content-length': 3.306.0 + '@aws-sdk/middleware-endpoint': 3.306.0 + '@aws-sdk/middleware-host-header': 3.306.0 + '@aws-sdk/middleware-logger': 3.306.0 + '@aws-sdk/middleware-recursion-detection': 3.306.0 + '@aws-sdk/middleware-retry': 3.306.0 + '@aws-sdk/middleware-serde': 3.306.0 + '@aws-sdk/middleware-stack': 3.306.0 + '@aws-sdk/middleware-user-agent': 3.306.0 + '@aws-sdk/node-config-provider': 3.306.0 + '@aws-sdk/node-http-handler': 3.306.0 + '@aws-sdk/protocol-http': 3.306.0 + '@aws-sdk/smithy-client': 3.309.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/url-parser': 3.306.0 + '@aws-sdk/util-base64': 3.303.0 + '@aws-sdk/util-body-length-browser': 3.303.0 + '@aws-sdk/util-body-length-node': 3.303.0 + '@aws-sdk/util-defaults-mode-browser': 3.309.0 + '@aws-sdk/util-defaults-mode-node': 3.309.0 + '@aws-sdk/util-endpoints': 3.306.0 + '@aws-sdk/util-retry': 3.306.0 + '@aws-sdk/util-user-agent-browser': 3.306.0 + '@aws-sdk/util-user-agent-node': 3.306.0 + '@aws-sdk/util-utf8': 3.303.0 tslib: 2.5.0 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/config-resolver/3.130.0: - resolution: {integrity: sha512-7dkCHHI9kRcHW6YNr9/2Ub6XkvU9Fu6H/BnlKbaKlDR8jq7QpaFhPhctOVi5D/NDpxJgALifexFne0dvo3piTw==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/client-sts/3.309.0: + resolution: {integrity: sha512-rBVm50ft5o1FLaCNjSFY4c/lI7qPG5MMhOr4sdvEUaU1Mkniyd6M+3Pch9S3a5NtF0Kfzw9dWQpjAL+nqJaITQ==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/signature-v4': 3.130.0 - '@aws-sdk/types': 3.127.0 - '@aws-sdk/util-config-provider': 3.109.0 - '@aws-sdk/util-middleware': 3.127.0 + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/config-resolver': 3.306.0 + '@aws-sdk/credential-provider-node': 3.309.0 + '@aws-sdk/fetch-http-handler': 3.306.0 + '@aws-sdk/hash-node': 3.306.0 + '@aws-sdk/invalid-dependency': 3.306.0 + '@aws-sdk/middleware-content-length': 3.306.0 + '@aws-sdk/middleware-endpoint': 3.306.0 + '@aws-sdk/middleware-host-header': 3.306.0 + '@aws-sdk/middleware-logger': 3.306.0 + '@aws-sdk/middleware-recursion-detection': 3.306.0 + '@aws-sdk/middleware-retry': 3.306.0 + '@aws-sdk/middleware-sdk-sts': 3.306.0 + '@aws-sdk/middleware-serde': 3.306.0 + '@aws-sdk/middleware-signing': 3.306.0 + '@aws-sdk/middleware-stack': 3.306.0 + '@aws-sdk/middleware-user-agent': 3.306.0 + '@aws-sdk/node-config-provider': 3.306.0 + '@aws-sdk/node-http-handler': 3.306.0 + '@aws-sdk/protocol-http': 3.306.0 + '@aws-sdk/smithy-client': 3.309.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/url-parser': 3.306.0 + '@aws-sdk/util-base64': 3.303.0 + '@aws-sdk/util-body-length-browser': 3.303.0 + '@aws-sdk/util-body-length-node': 3.303.0 + '@aws-sdk/util-defaults-mode-browser': 3.309.0 + '@aws-sdk/util-defaults-mode-node': 3.309.0 + '@aws-sdk/util-endpoints': 3.306.0 + '@aws-sdk/util-retry': 3.306.0 + '@aws-sdk/util-user-agent-browser': 3.306.0 + '@aws-sdk/util-user-agent-node': 3.306.0 + '@aws-sdk/util-utf8': 3.303.0 + fast-xml-parser: 4.1.2 tslib: 2.5.0 + transitivePeerDependencies: + - aws-crt dev: true - /@aws-sdk/credential-provider-env/3.127.0: - resolution: {integrity: sha512-Ig7XhUikRBlnRTYT5JBGzWfYZp68X5vkFVIFCmsHHt/qVy0Nz9raZpmDHicdS1u67yxDkWgCPn/bNevWnM0GFg==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/config-resolver/3.306.0: + resolution: {integrity: sha512-kpqHu6LvNMYxullm+tLCsY6KQ2mZUxZTdyWJKTYLZCTxj4HcGJxf4Jxj9dwFAZVl/clcVPGWcHJaQJjyjwzBzw==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/property-provider': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/util-config-provider': 3.295.0 + '@aws-sdk/util-middleware': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/credential-provider-imds/3.127.0: - resolution: {integrity: sha512-I6KlIBBzmJn/U1KikiC50PK3SspT9G5lkVLBaW5a6YfOcijqVTXfAN3kYzqhfeS0j4IgfJEwKVsjsZfmprJO5A==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/credential-provider-env/3.306.0: + resolution: {integrity: sha512-DTH+aMvMu+LAoWW+yfPkWzFXt/CPNFQ7+/4xiMnc7FWf+tjt+HZIrPECAV2rBVppNCkh7PC+xDSN61PFvBYOsw==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/node-config-provider': 3.127.0 - '@aws-sdk/property-provider': 3.127.0 - '@aws-sdk/types': 3.127.0 - '@aws-sdk/url-parser': 3.127.0 + '@aws-sdk/property-provider': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/credential-provider-ini/3.142.0: - resolution: {integrity: sha512-joMJTxUTNmxURnVmmd7XhtwOwijMjh7z09V8o2EHQMk+ak+rhaRgqb2kTA2nO0J3SRxdO5z5SKkyQgW0d1fY9g==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/credential-provider-imds/3.306.0: + resolution: {integrity: sha512-WdrNhq2MwvjZk2I8Of+bZ/qWHG2hREQpwlBiG3tMeEkuywx7M1x3Rt0eHgiR1sTcm05kxNn0rB4OeWOeek37cA==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/node-config-provider': 3.306.0 + '@aws-sdk/property-provider': 3.306.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/url-parser': 3.306.0 + tslib: 2.5.0 + dev: true + + /@aws-sdk/credential-provider-ini/3.309.0: + resolution: {integrity: sha512-7xAqfbuvEdQdz2YcS5OPWH6uv09pMEW6lvmEwM8tf3gn/c3mxFm0/geFeO3+hnkIjByPM02PW7qQJXmPu1l7AA==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/credential-provider-env': 3.127.0 - '@aws-sdk/credential-provider-imds': 3.127.0 - '@aws-sdk/credential-provider-sso': 3.142.0 - '@aws-sdk/credential-provider-web-identity': 3.127.0 - '@aws-sdk/property-provider': 3.127.0 - '@aws-sdk/shared-ini-file-loader': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/credential-provider-env': 3.306.0 + '@aws-sdk/credential-provider-imds': 3.306.0 + '@aws-sdk/credential-provider-process': 3.306.0 + '@aws-sdk/credential-provider-sso': 3.309.0 + '@aws-sdk/credential-provider-web-identity': 3.306.0 + '@aws-sdk/property-provider': 3.306.0 + '@aws-sdk/shared-ini-file-loader': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/credential-provider-node/3.142.0: - resolution: {integrity: sha512-JkhCKNkEhCS2vgD/qg5hJPatupNLObqts9FXiDia5CF6w8YcHLH+mWSvhUMCUGkunAOvFHDkQL1uPXfoQuJvPg==} - engines: {node: '>=12.0.0'} + /@aws-sdk/credential-provider-node/3.309.0: + resolution: {integrity: sha512-rgf53RH9mcATr+5rRGGqRmoOEceX+XSbQvGM1QRHxROJJiYsZWdBQu9w+UuKcQF03qLMfi4G+6iNHect5TVs2Q==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/credential-provider-env': 3.127.0 - '@aws-sdk/credential-provider-imds': 3.127.0 - '@aws-sdk/credential-provider-ini': 3.142.0 - '@aws-sdk/credential-provider-process': 3.127.0 - '@aws-sdk/credential-provider-sso': 3.142.0 - '@aws-sdk/credential-provider-web-identity': 3.127.0 - '@aws-sdk/property-provider': 3.127.0 - '@aws-sdk/shared-ini-file-loader': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/credential-provider-env': 3.306.0 + '@aws-sdk/credential-provider-imds': 3.306.0 + '@aws-sdk/credential-provider-ini': 3.309.0 + '@aws-sdk/credential-provider-process': 3.306.0 + '@aws-sdk/credential-provider-sso': 3.309.0 + '@aws-sdk/credential-provider-web-identity': 3.306.0 + '@aws-sdk/property-provider': 3.306.0 + '@aws-sdk/shared-ini-file-loader': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/credential-provider-process/3.127.0: - resolution: {integrity: sha512-6v0m2lqkO9J5fNlTl+HjriQNIdfg8mjVST544+5y9EnC/FVmTnIz64vfHveWdNkP/fehFx7wTimNENtoSqCn3A==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/credential-provider-process/3.306.0: + resolution: {integrity: sha512-2RezGskHqJeHtGbK7CqhGNAoqXgQJb7FfPFqwUQ9oVDZS8f145jVwajjHcc7Qn3IwGoqylMF3uXIljUv89uDzA==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/property-provider': 3.127.0 - '@aws-sdk/shared-ini-file-loader': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/property-provider': 3.306.0 + '@aws-sdk/shared-ini-file-loader': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/credential-provider-sso/3.142.0: - resolution: {integrity: sha512-jJvp/A5xrikaeL0DhjhQTvUc0+eF0hN5Nbo+nxpnUOiOOkyqs329g65NI1TmLp/OzDcqQ/8p5vj2+7ufTGEOXQ==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/credential-provider-sso/3.309.0: + resolution: {integrity: sha512-uMphs47O2S9NK7I5CsDttp88X7b/JktGOrW8RTLRw1QURQ8v0uP+MLHFogRtWi4E7+zo86Equ0njlpYlFvrpSA==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-sso': 3.142.0 - '@aws-sdk/property-provider': 3.127.0 - '@aws-sdk/shared-ini-file-loader': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/client-sso': 3.309.0 + '@aws-sdk/property-provider': 3.306.0 + '@aws-sdk/shared-ini-file-loader': 3.306.0 + '@aws-sdk/token-providers': 3.309.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/credential-provider-web-identity/3.127.0: - resolution: {integrity: sha512-85ahDZnLYB3dqkW+cQ0bWt+NVqOoxomTrJoq3IC2q6muebeFrJ0pyf0JEW/RNRzBiUvvsZujzGdWifzWyQKfVg==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/credential-provider-web-identity/3.306.0: + resolution: {integrity: sha512-MOQGQaOtdo4zLQZ1bRjD2n1PUzfNty+sKe+1wlm5bIqTN93UX3S8f0QznucZr7uJxI4Z14ZLwuYeAUV4Tgchlw==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/property-provider': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/property-provider': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/fetch-http-handler/3.131.0: - resolution: {integrity: sha512-eNxmPZQX2IUeBGWHNC7eNTekWn9VIPLYEMKJbKYUBJryxuTJ7TtLeyEK5oakUjMwP1AUvWT+CV7C+8L7uG1omQ==} + /@aws-sdk/fetch-http-handler/3.306.0: + resolution: {integrity: sha512-T8OODOnPpDqkXS+XSMIkd6hf90h833JLN93wq3ibbyD/WvGveufFFHsbsNyccE9+CSv/BjEuN5QbHqTKTp3BlA==} dependencies: - '@aws-sdk/protocol-http': 3.127.0 - '@aws-sdk/querystring-builder': 3.127.0 - '@aws-sdk/types': 3.127.0 - '@aws-sdk/util-base64-browser': 3.109.0 + '@aws-sdk/protocol-http': 3.306.0 + '@aws-sdk/querystring-builder': 3.306.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/util-base64': 3.303.0 tslib: 2.5.0 dev: true - /@aws-sdk/hash-node/3.127.0: - resolution: {integrity: sha512-wx7DKlXdKebH4JcMsOevdsm2oDNMVm36kuMm0XWRIrFWQ/oq7OquDpEMJzWvGqWF/IfFUpb7FhAWZZpALwlcwA==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/hash-node/3.306.0: + resolution: {integrity: sha512-EcSLd6gKoDEEBPZqEv+Ky9gIyefwyyrAJGILGKoYBmcOIY7Y0xKId0hxCa9/1xvWTaVC1u+rA06DGgksZOa78w==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.127.0 - '@aws-sdk/util-buffer-from': 3.55.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/util-buffer-from': 3.303.0 + '@aws-sdk/util-utf8': 3.303.0 tslib: 2.5.0 dev: true - /@aws-sdk/invalid-dependency/3.127.0: - resolution: {integrity: sha512-bxvmtmJ6gIRfOHvh1jAPZBH2mzppEblPjEOFo4mOzXz4U3qPIxeuukCjboMnGK9QEpV2wObWcYYld0vxoRrfiA==} + /@aws-sdk/invalid-dependency/3.306.0: + resolution: {integrity: sha512-9Mkcr+qG7QR4R5bJcA8bBNd8E2x6WaZStsQ3QeFbdQr3V3Tunvra/KlCFsEL55GgU8BZt5isOaHqq7uxs5ILtQ==} dependencies: - '@aws-sdk/types': 3.127.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/is-array-buffer/3.55.0: - resolution: {integrity: sha512-NbiPHVYuPxdqdFd6FxzzN3H1BQn/iWA3ri3Ry7AyLeP/tGs1yzEWMwf8BN8TSMALI0GXT6Sh0GDWy3Ok5xB6DA==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/is-array-buffer/3.303.0: + resolution: {integrity: sha512-IitBTr+pou7v5BrYLFH/SbIf3g1LIgMhcI3bDXBq2FjzmDftj4bW8BOmg05b9YKf2TrrggvJ4yk/jH+yYFXoJQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.5.0 dev: true - /@aws-sdk/middleware-content-length/3.127.0: - resolution: {integrity: sha512-AFmMaIEW3Rzg0TaKB9l/RENLowd7ZEEOpm0trYw1CgUUORWW/ydCsDT7pekPlC25CPbhUmWXCSA4xPFSYOVnDw==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/middleware-content-length/3.306.0: + resolution: {integrity: sha512-JbONf2Ms+/DVRcpFNsKGdOQU94Js56KV+AhlPJmCwLxfyWvQjTt0KxFC1Dd+cjeNEXUduvBarrehgsqFlWnoHQ==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/protocol-http': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/protocol-http': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/middleware-host-header/3.127.0: - resolution: {integrity: sha512-e2gTLJb5lYP9lRV7hN3rKY2l4jv8OygOoHElZJ3Z8KPZskjHelYPcQ8XbdfhSXXxC3vc/0QqN0ResFt3W3Pplg==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/middleware-endpoint/3.306.0: + resolution: {integrity: sha512-i3QRiwgkcsuVN55O7l8I/QGwCypGRZXdYkPjU56LI2w2oiZ82f/nVMNXVc+ZFm2YH7WbCE+5jguw2J7HXdOlyQ==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/protocol-http': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/middleware-serde': 3.306.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/url-parser': 3.306.0 + '@aws-sdk/util-middleware': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/middleware-logger/3.127.0: - resolution: {integrity: sha512-jMNLcZB/ECA7OfkNBLNeAlrLRehyfnUeNQJHW3kcxs9h1+6VxaF6wY+WKozszLI7/3OBzQrFHBQCfRZV7ykSLg==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/middleware-host-header/3.306.0: + resolution: {integrity: sha512-mHDHK9E+c7HwMlrCJ+VFSB6tkq8oJVkYEHCvPkdrnzN/g9P/d/UhPIeGapZXMbAIZEaLpEGqs536mYzeRKZG8A==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.127.0 + '@aws-sdk/protocol-http': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/middleware-recursion-detection/3.127.0: - resolution: {integrity: sha512-tB6WX+Z1kUKTnn5h38XFrTCzoqPKjUZLUjN4Wb27/cbeSiTSKGAZcCXHOJm36Ukorl5arlybQTqGe689EU00Hw==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/middleware-logger/3.306.0: + resolution: {integrity: sha512-1FRHp/QB0Lb+CgP+c9CYW6BZh+q+5pnuOKo/Rd6hjYiM+kT1G/cWdXnMJQBR4rbTCTixbqCnObNJ1EyP/ofQhQ==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/protocol-http': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/middleware-retry/3.127.0: - resolution: {integrity: sha512-ZSvg/AyGUacWnf3i8ZbyImtiCH+NyafF8uV7bITP7JkwPrG+VdNocJZOr88GRM0c1A0jfkOf7+oq+fInPwwiNA==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/middleware-recursion-detection/3.306.0: + resolution: {integrity: sha512-Hpj42ZLmwCy/CtVxi57NTeOEPoUJlivF3VIgowZ9JhaF61cakVKyrJ+f3jwXciDUtuYrdKm5Wf6prW6apWo0YA==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/protocol-http': 3.127.0 - '@aws-sdk/service-error-classification': 3.127.0 - '@aws-sdk/types': 3.127.0 - '@aws-sdk/util-middleware': 3.127.0 + '@aws-sdk/protocol-http': 3.306.0 + '@aws-sdk/types': 3.306.0 + tslib: 2.5.0 + dev: true + + /@aws-sdk/middleware-retry/3.306.0: + resolution: {integrity: sha512-eMyfr/aeurXXDz4x+WVrvLI8fVDP6klJOjziBEWZ/MUNP/hTFhkiQsMVbvT6O4Pspp7+FgCSdcUPG6Os2gK+CQ==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/protocol-http': 3.306.0 + '@aws-sdk/service-error-classification': 3.306.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/util-middleware': 3.306.0 + '@aws-sdk/util-retry': 3.306.0 tslib: 2.5.0 uuid: 8.3.2 dev: true - /@aws-sdk/middleware-sdk-sts/3.130.0: - resolution: {integrity: sha512-FDfs7+ohbhEK3eH3Dshr6JDiL8P72bp3ffeNpPBXuURFqwt4pCmjHuX3SqQR0JIJ2cl3aIdxc17rKaZJfOjtPw==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/middleware-sdk-sts/3.306.0: + resolution: {integrity: sha512-2rSAR3nc5faYuEnh1KxQMCMCkEkJyaDfA3zwWLqZ+/TBCH0PlPkBv+Z9yXmteEki0vI5Hr+e+atTutJZoyG13g==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/middleware-signing': 3.130.0 - '@aws-sdk/property-provider': 3.127.0 - '@aws-sdk/protocol-http': 3.127.0 - '@aws-sdk/signature-v4': 3.130.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/middleware-signing': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/middleware-serde/3.127.0: - resolution: {integrity: sha512-xmWMYV/t9M+b9yHjqaD1noDNJJViI2QwOH7TQZ9VbbrvdVtDrFuS9Sf9He80TBCJqeHShwQN9783W1I3Pu/8kw==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/middleware-serde/3.306.0: + resolution: {integrity: sha512-M3gyPLPduZXMvdgt4XEpVO+3t0ZVPdgeQQwG6JnXv0dgyUizshYs4lrVOAb1KwF6StsmkrAgSN+I273elLiKjA==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.127.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/middleware-signing/3.130.0: - resolution: {integrity: sha512-JePq5XLR9TfRN3RQ0d7Za/bEW5D3xgtD1FNAwHeenWALeozMuQgRPjM5RroCnL/5jY3wuvCZI7cSXeqhawWqmA==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/middleware-signing/3.306.0: + resolution: {integrity: sha512-JhpSriN4xa4a/p5gAPL0OWFKJF4eWYU3K+LLlXBNGMbxg/qNL4skgT4dMFe3ii9EW8kI+r6tpvSgC+lP7/Tyng==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/property-provider': 3.127.0 - '@aws-sdk/protocol-http': 3.127.0 - '@aws-sdk/signature-v4': 3.130.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/property-provider': 3.306.0 + '@aws-sdk/protocol-http': 3.306.0 + '@aws-sdk/signature-v4': 3.306.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/util-middleware': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/middleware-stack/3.127.0: - resolution: {integrity: sha512-S1IoUE5o1vCmjsF5nIE8zlItNOM1UE+lhmZeigF7knXJ9+a6ewMB6POAj/s4eoi0wcn0eSnAGsqJCWMSUjOPLA==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/middleware-stack/3.306.0: + resolution: {integrity: sha512-G//a6MVSxyFVpOMZ+dzT3+w7XblOd2tRJ5g+/okjn3pNBLbo5o9Hu33K/bz0SQjT/m5mU2F9m0wcdCPYbRPysg==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.5.0 dev: true - /@aws-sdk/middleware-user-agent/3.127.0: - resolution: {integrity: sha512-CHxgswoOzdkOEoIq7Oyob3Sx/4FYUv6BhUesAX7MNshaDDsTQPbSWjw5bqZDiL/gO+X/34fvqCVVpVD2GvxW/g==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/middleware-user-agent/3.306.0: + resolution: {integrity: sha512-tP6I+Lbs68muPfdMA6Rfc+8fYo49nEn9A3RMiOU2COClWsmiZatpbK9UYlqIOxeGB/s2jI7hXmQq6tT2LStLSg==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/protocol-http': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/protocol-http': 3.306.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/util-endpoints': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/node-config-provider/3.127.0: - resolution: {integrity: sha512-bAHkASMhLZHT1yv2TX6OJGFV9Lc3t1gKfTMEKdXM2O2YhGfSx9A/qLeJm79oDfnILWQtSS2NicxlRDI2lYGf4g==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/node-config-provider/3.306.0: + resolution: {integrity: sha512-+m+ALxNx5E1zLPPijO1pAbT5tnofLzZFWlnSYBEiOIwzaRU44rLYDqAhgXJkMMbOECkffDrv6ym0oWJIwJI+DA==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/property-provider': 3.127.0 - '@aws-sdk/shared-ini-file-loader': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/property-provider': 3.306.0 + '@aws-sdk/shared-ini-file-loader': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/node-http-handler/3.127.0: - resolution: {integrity: sha512-pyMKvheK8eDwWLgYIRsWy8wiyhsbYYcqkZQs3Eh6upI4E8iCY7eMmhWvHYCibvsO+UjsOwa4cAMOfwnv/Z9s8A==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/node-http-handler/3.306.0: + resolution: {integrity: sha512-qvNSIVdGf0pnWEXsAulIqXk7LML25Zc1yxbujxoAj8oX5y+mDhzQdHKrMgc0FuI4RKoEd9px4DYoUbmTWrrxwA==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/abort-controller': 3.127.0 - '@aws-sdk/protocol-http': 3.127.0 - '@aws-sdk/querystring-builder': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/abort-controller': 3.306.0 + '@aws-sdk/protocol-http': 3.306.0 + '@aws-sdk/querystring-builder': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/property-provider/3.127.0: - resolution: {integrity: sha512-JxenxlTEkWfLrtJqIjaXaJzAVQbbscoCb5bNjmdud07ESLVfWRKJx2nAJdecHKYp2M5NQyqBuFhQ1ELSFYQKCA==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/property-provider/3.306.0: + resolution: {integrity: sha512-37PnbjpANjHys0Y+DVmKUz1JbSGZ/mAndZeplTUsFDUtbNwJRw/fDyWUvGC82JWB4gNSP5muWscFvetZnK2l8A==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.127.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/protocol-http/3.127.0: - resolution: {integrity: sha512-UG83PVuKX40wilG2uRU0Fvz4OY8Bt+bSPOG776DFjwIXYzK7BwpJm9H2XI2HLhS5WxrJHhwrLBRgW6UiykMnFw==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/protocol-http/3.306.0: + resolution: {integrity: sha512-6Z8bqB8Ydz/qG7+lJzjwsjIca2w2zp4nZ2HjxMoUm0NBbVXGDx7H9qy9eOUqEiCbdXbsfK2BmVQreLhFLt056Q==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.127.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/querystring-builder/3.127.0: - resolution: {integrity: sha512-tsoyp4lLPsASPDYWsezGAHD8VJsZbjUNATNAzTCFdH6p+4SKBK83Q5kfXCzxt13M+l3oKbxxIWLvS0kVQFyltQ==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/querystring-builder/3.306.0: + resolution: {integrity: sha512-kvz6fLwE4KojTxbphuo9JPwKKuhau2mmSurnqhtf77t9+0cOh2uzyYhIUtOFewpLj+qGoh4b2EODlJqczc7IKg==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.127.0 - '@aws-sdk/util-uri-escape': 3.55.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/util-uri-escape': 3.303.0 tslib: 2.5.0 dev: true - /@aws-sdk/querystring-parser/3.127.0: - resolution: {integrity: sha512-Vn/Dv+PqUSepp/DzLqq0LJJD8HdPefJCnLbO5WcHCARHSGlyGlZUFEM45k/oEHpTvgMXj/ORaP3A+tLwLu0AmA==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/querystring-parser/3.306.0: + resolution: {integrity: sha512-YjOdLcyS/8sNkFPgnxyUx+cM/P2XFGCA2WjQ0e9AXX8xFFkmnY6U5w2EknQ5zyvKy+R/KAV0KAMJBUB+ofjg0A==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.127.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/service-error-classification/3.127.0: - resolution: {integrity: sha512-wjZY9rnlA8SPrICUumTYicEKtK4/yKB62iadUk66hxe8MrH8JhuHH2NqIad0Pt/bK/YtNVhd3yb4pRapOeY5qQ==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/service-error-classification/3.306.0: + resolution: {integrity: sha512-lmXIVHWU5J60GmmTgyj79kupWYg5ntyNrUPt1P9FYTsXz+tdk4YYH7/2IxZ1XjBr4jEsN56gfSI0cfT07ztQJA==} + engines: {node: '>=14.0.0'} dev: true - /@aws-sdk/shared-ini-file-loader/3.127.0: - resolution: {integrity: sha512-S3Nn4KRTqoJsB/TbRZSWBBUrkckNMR0Juqz7bOB+wupVvddKP6IcpspSC/GX9zgJjVMV8iGisZ6AUsYsC5r+cA==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/shared-ini-file-loader/3.306.0: + resolution: {integrity: sha512-mDmBRN+Y0+EBD5megId97UIJGV/rmRsAds22qy0mmVdD3X7qlxn974btXVgfZyda6qw/pX6hgi8X99Qj6Wjb0w==} + engines: {node: '>=14.0.0'} dependencies: + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/signature-v4/3.130.0: - resolution: {integrity: sha512-g5G1a1NHL2uOoFfC2zQdZcj+wbjgBQPkx6xGdtqNKf9v2kS0n6ap5JUGEaqWE02lUlmWHsoMsS73hXtzwXaBRQ==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/signature-v4/3.306.0: + resolution: {integrity: sha512-yoQTo6wLirKHg34Zhm8tKmfEaK8fOn+psVdMtRs2vGq3uzKLb+YW5zywnujoVwBvygQTWxiDMwRxDduWAisccA==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/is-array-buffer': 3.55.0 - '@aws-sdk/types': 3.127.0 - '@aws-sdk/util-hex-encoding': 3.109.0 - '@aws-sdk/util-middleware': 3.127.0 - '@aws-sdk/util-uri-escape': 3.55.0 + '@aws-sdk/is-array-buffer': 3.303.0 + '@aws-sdk/types': 3.306.0 + '@aws-sdk/util-hex-encoding': 3.295.0 + '@aws-sdk/util-middleware': 3.306.0 + '@aws-sdk/util-uri-escape': 3.303.0 + '@aws-sdk/util-utf8': 3.303.0 tslib: 2.5.0 dev: true - /@aws-sdk/smithy-client/3.142.0: - resolution: {integrity: sha512-G38YWTfSFZb5cOH6IwLct530Uy8pnmJvJFeC1pd1nkKD4PRZb+bI2w4xXSX+znYdLA71RYK620OtVKJlB44PtA==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/smithy-client/3.309.0: + resolution: {integrity: sha512-2+LJD8/J9yoYmfjLZuMTI/IF8qFMMclWdDJaalj4Rzzd7qBWDS3Q23UxpZi9VR155nqpgr/R+TFZMgze1EhRHg==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/middleware-stack': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/middleware-stack': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/types/3.127.0: - resolution: {integrity: sha512-e0wtx2IkOl7rwfKfLH5pPTzQ+d45V7b1WrjeL0WDI8kOu6w+sXmhNxI6uM2kf0k4NiTLN84lW290AEWupey9Og==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/token-providers/3.309.0: + resolution: {integrity: sha512-rB79nQArhVT3l8UglZyinZVm13hFRF4xqzrmSLNknxdlMLamrON/94H7S6lFLywdTags2SUdAxQ/LlStlFf78A==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/client-sso-oidc': 3.309.0 + '@aws-sdk/property-provider': 3.306.0 + '@aws-sdk/shared-ini-file-loader': 3.306.0 + '@aws-sdk/types': 3.306.0 + tslib: 2.5.0 + transitivePeerDependencies: + - aws-crt dev: true /@aws-sdk/types/3.267.0: @@ -930,82 +926,92 @@ packages: engines: {node: '>=14.0.0'} dependencies: tslib: 2.5.0 + dev: false - /@aws-sdk/url-parser/3.127.0: - resolution: {integrity: sha512-njZ7zn41JHRpNfr3BCesVXCLZE0zcWSfEdtRV0ICw0cU1FgYcKELSuY9+gLUB4ci6uc7gq7mPE8+w30FcM4QeA==} + /@aws-sdk/types/3.306.0: + resolution: {integrity: sha512-RnyknWWpQcRmNH7AsNr89sdhOoltCU/4YEwBMw34Eh+/36l7HfA5PdEKbsOkO7MO4+2g5qmmm/AHcnHRvymApg==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/querystring-parser': 3.127.0 - '@aws-sdk/types': 3.127.0 tslib: 2.5.0 dev: true - /@aws-sdk/util-base64-browser/3.109.0: - resolution: {integrity: sha512-lAZ6fyDGiRLaIsKT9qh7P9FGuNyZ4gAbr1YOSQk/5mHtaTuUvxlPptZuInNM/0MPQm6lpcot00D8IWTucn4PbA==} + /@aws-sdk/url-parser/3.306.0: + resolution: {integrity: sha512-mhyOjtycZgxKYo2CoDhDQONuRd5TLfEwmyGWVgFrfubF0LejQ3rkBRLC5zT9TBZ8RJHNlqU2oGdsZCy3JV6Rlw==} dependencies: + '@aws-sdk/querystring-parser': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/util-base64-node/3.55.0: - resolution: {integrity: sha512-UQ/ZuNoAc8CFMpSiRYmevaTsuRKzLwulZTnM8LNlIt9Wx1tpNvqp80cfvVj7yySKROtEi20wq29h31dZf1eYNQ==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/util-base64/3.303.0: + resolution: {integrity: sha512-oj+p/GHHPcZEKjiiOHU/CyNQeh8i+8dfMMzU+VGdoK5jHaVG8h2b+V7GPf7I4wDkG2ySCK5b5Jw5NUHwdTJ13Q==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/util-buffer-from': 3.55.0 + '@aws-sdk/util-buffer-from': 3.303.0 tslib: 2.5.0 dev: true - /@aws-sdk/util-body-length-browser/3.55.0: - resolution: {integrity: sha512-Ei2OCzXQw5N6ZkTMZbamUzc1z+z1R1Ja5tMEagz5BxuX4vWdBObT+uGlSzL8yvTbjoPjnxWA2aXyEqaUP3JS8Q==} + /@aws-sdk/util-body-length-browser/3.303.0: + resolution: {integrity: sha512-T643m0pKzgjAvPFy4W8zL+aszG3T22U8hb6stlMvT0z++Smv8QfIvkIkXjWyH2KlOt5GKliHwdOv8SAi0FSMJQ==} dependencies: tslib: 2.5.0 dev: true - /@aws-sdk/util-body-length-node/3.55.0: - resolution: {integrity: sha512-lU1d4I+9wJwydduXs0SxSfd+mHKjxeyd39VwOv6i2KSwWkPbji9UQqpflKLKw+r45jL7+xU/zfeTUg5Tt/3Gew==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/util-body-length-node/3.303.0: + resolution: {integrity: sha512-/hS8z6e18Le60hJr2TUIFoUjUiAsnQsuDn6DxX74GXhMOHeSwZDJ9jHF39quYkNMmAE37GrVH4MI9vE0pN27qw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.5.0 dev: true - /@aws-sdk/util-buffer-from/3.55.0: - resolution: {integrity: sha512-uVzKG1UgvnV7XX2FPTylBujYMKBPBaq/qFBxfl0LVNfrty7YjpfieQxAe6yRLD+T0Kir/WDQwGvYC+tOYG3IGA==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/util-buffer-from/3.303.0: + resolution: {integrity: sha512-hUU+NW+SW6RNojtAKnnmz+tDShVKlEx2YsS4a5fSfrKRUes+zWz10cxVX0RQfysd3R6tdSHhbjsSj8eCIybheg==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/is-array-buffer': 3.55.0 + '@aws-sdk/is-array-buffer': 3.303.0 tslib: 2.5.0 dev: true - /@aws-sdk/util-config-provider/3.109.0: - resolution: {integrity: sha512-GrAZl/aBv0A28LkyNyq8SPJ5fmViCwz80fWLMeWx/6q5AbivuILogjlWwEZSvZ9zrlHOcFC0+AnCa5pQrjaslw==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/util-config-provider/3.295.0: + resolution: {integrity: sha512-/5Dl1aV2yI8YQjqwmg4RTnl/E9NmNsx7HIwBZt+dTcOrM0LMUwczQBFFcLyqCj/qv5y+VsvLoAAA/OiBT7hb3w==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.5.0 dev: true - /@aws-sdk/util-defaults-mode-browser/3.142.0: - resolution: {integrity: sha512-vVB/CrodMmIfv4v54MyBlKO0sQSI/+Mvs4g5gMyVjmT4a+1gnktJQ9R6ZHQ2/ErGewcra6eH9MU5T0r1kYe0+w==} + /@aws-sdk/util-defaults-mode-browser/3.309.0: + resolution: {integrity: sha512-KTmoR24PhUCT9A8/f5rb7MQvzXqGJY7/VnYxNaQ6AzJZfZ3y3UYfvuJR9LRjWn+zQDy1lnTyjSh5eokf2VBOoQ==} engines: {node: '>= 10.0.0'} dependencies: - '@aws-sdk/property-provider': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/property-provider': 3.306.0 + '@aws-sdk/types': 3.306.0 bowser: 2.11.0 tslib: 2.5.0 dev: true - /@aws-sdk/util-defaults-mode-node/3.142.0: - resolution: {integrity: sha512-13d5RZLO13EDwll3COUq3D4KVsqM63kdf+YjG5mzXR1eXo6GVjghfQfiy0MYM6YbAjTfJxZQkc0nFgWLU8jdyg==} + /@aws-sdk/util-defaults-mode-node/3.309.0: + resolution: {integrity: sha512-3YIEWY6O5kyW6dbV+1jWdlsqjEN76sxY62841v5A9Vr/MGLowhm6YYW8MYWPye9RABl9osTs0NCeL2p6Re+IPw==} engines: {node: '>= 10.0.0'} dependencies: - '@aws-sdk/config-resolver': 3.130.0 - '@aws-sdk/credential-provider-imds': 3.127.0 - '@aws-sdk/node-config-provider': 3.127.0 - '@aws-sdk/property-provider': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/config-resolver': 3.306.0 + '@aws-sdk/credential-provider-imds': 3.306.0 + '@aws-sdk/node-config-provider': 3.306.0 + '@aws-sdk/property-provider': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/util-hex-encoding/3.109.0: - resolution: {integrity: sha512-s8CgTNrn3cLkrdiohfxLuOYPCanzvHn/aH5RW6DaMoeQiG5Hl9QUiP/WtdQ9QQx3xvpQFpmvxIaSBwSgFNLQxA==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/util-endpoints/3.306.0: + resolution: {integrity: sha512-aPTqU4VGhec8LDhKZrfA3/sBHTYRa0favKEo8aEa/vIZJTNBAFlUhvr5z7peAr8gBOtZZcElzX8PiK3jjn3ILw==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/types': 3.306.0 + tslib: 2.5.0 + dev: true + + /@aws-sdk/util-hex-encoding/3.295.0: + resolution: {integrity: sha512-XJcoVo41kHzhe28PBm/rqt5mdCp8R6abwiW9ug1dA6FOoPUO8kBUxDv6xaOmA2hfRvd2ocFfBXaUCBqUowkGcQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.5.0 dev: true @@ -1017,62 +1023,69 @@ packages: tslib: 2.5.0 dev: true - /@aws-sdk/util-middleware/3.127.0: - resolution: {integrity: sha512-EwAPPed9TNqh+Wov2VStLn2NuJ/Wyt7IkZCbCsBuSNp3BFZ1V4gfwTjqtKCtB2LQgQ48MTgWgNCvrH0zjCSPGg==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/util-middleware/3.306.0: + resolution: {integrity: sha512-14CSm1mTrfSNBGbkZu8vSjXYg7DUMfZc74IinOajcFtTswa/6SyiyhU9DK0a837qqwxSfFGpnE2thVeJIF/7FA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.5.0 dev: true - /@aws-sdk/util-uri-escape/3.55.0: - resolution: {integrity: sha512-mmdDLUpFCN2nkfwlLdOM54lTD528GiGSPN1qb8XtGLgZsJUmg3uJSFIN2lPeSbEwJB3NFjVas/rnQC48i7mV8w==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/util-retry/3.306.0: + resolution: {integrity: sha512-zcgTEIehQAIAm4vBNWfXZpDNbIrDM095vZmpbozQwK/pfDqMGvq7j3r9atKuEGTtoomoGoYwj3x/KEhO6JXJLg==} + engines: {node: '>= 14.0.0'} dependencies: + '@aws-sdk/service-error-classification': 3.306.0 tslib: 2.5.0 dev: true - /@aws-sdk/util-user-agent-browser/3.127.0: - resolution: {integrity: sha512-uO2oHmJswuYKJS+GiMdYI8izhpC9M7/jFFvnAmLlTEVwpEi1VX9KePAOF+u5AaBC2kzITo/7dg141XfRHZloIQ==} + /@aws-sdk/util-uri-escape/3.303.0: + resolution: {integrity: sha512-N3ULNuHCL3QzAlCTY+XRRkRQTYCTU8RRuzFCJX0pDpz9t2K+tLT7DbxqupWGNFGl5Xlulf1Is14J3BP/Dx91rA==} + engines: {node: '>=14.0.0'} + dependencies: + tslib: 2.5.0 + dev: true + + /@aws-sdk/util-user-agent-browser/3.306.0: + resolution: {integrity: sha512-uZAtpvCasUdWRlB/nEjN0gf6G7810hT50VyWjpd6mQW78myV8M5fu/R03UFAZ+D8fhqqIdzR/IXDY1QUGp8bCA==} dependencies: - '@aws-sdk/types': 3.127.0 + '@aws-sdk/types': 3.306.0 bowser: 2.11.0 tslib: 2.5.0 dev: true - /@aws-sdk/util-user-agent-node/3.127.0_rldx5j3uyz672fxizuslsth3gy: - resolution: {integrity: sha512-3P/M4ZDD2qMeeoCk7TE/Mw7cG5IjB87F6BP8nI8/oHuaz7j6fsI7D49SNpyjl8JApRynZ122Ad6hwQwRj3isYw==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/util-user-agent-node/3.306.0: + resolution: {integrity: sha512-zLp9wIx7FZ0qFLimYW3lJ1uJM5gqxmmcQjNimUaUq/4a1caDkaiF/QeyyMFva+wIjyHRv22P5abUBjIEZrs5WA==} + engines: {node: '>=14.0.0'} peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: aws-crt: optional: true dependencies: - '@aws-sdk/node-config-provider': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/node-config-provider': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true - patched: true /@aws-sdk/util-utf8-browser/3.109.0: resolution: {integrity: sha512-FmcGSz0v7Bqpl1SE8G1Gc0CtDpug+rvqNCG/szn86JApD/f5x8oByjbEiAyTU2ZH2VevUntx6EW68ulHyH+x+w==} dependencies: tslib: 2.5.0 - /@aws-sdk/util-utf8-node/3.109.0: - resolution: {integrity: sha512-Ti/ZBdvz2eSTElsucjzNmzpyg2MwfD1rXmxD0hZuIF8bPON/0+sZYnWd5CbDw9kgmhy28dmKue086tbZ1G0iLQ==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/util-utf8/3.303.0: + resolution: {integrity: sha512-tZXVuMOIONPOuOGBs/XRdzxv6jUvTM620dRFFIHZwlGiW8bo0x0LlonrzDAJZA4e9ZwmxJIj8Ji13WVRBGvZWg==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/util-buffer-from': 3.55.0 + '@aws-sdk/util-buffer-from': 3.303.0 tslib: 2.5.0 dev: true - /@aws-sdk/util-waiter/3.127.0: - resolution: {integrity: sha512-E5qrRpBJS8dmClqSDW1pWVMKzCG/mxabG6jVUtlW/WLHnl/znxGaOQc6tnnwKik0nEq/4DpT9fEfPUz9JiLrkw==} - engines: {node: '>= 12.0.0'} + /@aws-sdk/util-waiter/3.306.0: + resolution: {integrity: sha512-/cCmEaxGJOVKHuuzm4zM3aY2Un7pJGyewcd9WWvLjZIoF9jCCqyjmsxM+OXdCjs7NOdo41cValYhILYI+nD8Tg==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/abort-controller': 3.127.0 - '@aws-sdk/types': 3.127.0 + '@aws-sdk/abort-controller': 3.306.0 + '@aws-sdk/types': 3.306.0 tslib: 2.5.0 dev: true @@ -1101,31 +1114,31 @@ packages: resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} dev: true - /@carbon/charts-svelte/1.6.4_d3@7.8.2+svelte@3.55.1: - resolution: {integrity: sha512-aH+1mGYoEfz8nfjBlufOPqv/Hd/m0EHOgsImFNSFydntVasU8TUX4HCD3uVuUrzxmM4h5NL9vWrViw/BO7FH1w==} + /@carbon/charts-svelte/1.6.14_d3@7.8.4+svelte@3.58.0: + resolution: {integrity: sha512-qqvO6897nd9CxXcePCMAfVeJ2UEiXra3cEmbS4+Fy8HhHEg5imPRMm5+NmChjdI9jnMkWMwF6vjES7YmeUDA4A==} requiresBuild: true peerDependencies: svelte: ^3.31.x dependencies: - '@carbon/charts': 1.6.4_d3@7.8.2 + '@carbon/charts': 1.6.14_d3@7.8.4 '@carbon/telemetry': 0.1.0 - svelte: 3.55.1 + svelte: 3.58.0 transitivePeerDependencies: - d3 - sass dev: true - /@carbon/charts/1.6.4_d3@7.8.2: - resolution: {integrity: sha512-S61fiKuFd1XBB2bHYsyQsozdrVjDNk0ZmbGBUXA2vUcNG8OTIHQEbCU//pO77Wc+cR+YgXyYmsQ3e9QjlxANbQ==} + /@carbon/charts/1.6.14_d3@7.8.4: + resolution: {integrity: sha512-XOmGGOyALRYZZg4F88qa63U6zsto+jSF017agZcKuY5VxQZ5Tv2+s2A2yMgUE2phKpwkCNLqVIJrHUTmAQu+YA==} requiresBuild: true peerDependencies: d3: 7.x dependencies: - '@carbon/styles': 1.23.0 + '@carbon/styles': 1.26.0 '@carbon/telemetry': 0.1.0 '@carbon/utils-position': 1.1.1 carbon-components: 10.56.0 - d3: 7.8.2 + d3: 7.8.4 d3-cloud: 1.2.5 d3-sankey: 0.12.3 date-fns: 2.8.1 @@ -1135,35 +1148,35 @@ packages: - sass dev: true - /@carbon/colors/11.12.0: - resolution: {integrity: sha512-rN/e6EXgS1RM8C/K0qQ/4/zE+En8iMGDE9u6BNLQ9ig2V2KTYncCdhItJW0rAbL7tt8xeP0UrACijS/XCqsm6w==} + /@carbon/colors/11.13.0: + resolution: {integrity: sha512-SYuU7KC8aNwekd8hoUSFja+b9/w2QHkfMORSWKzwdUWkLZo84xdaMmtqy2pGeyWDw/a+Q2UxeJPzUHiL6UqnxA==} - /@carbon/feature-flags/0.12.0: - resolution: {integrity: sha512-7jspPbQNk//S787QDtDI/jAGEt2MKc0aHJEQ32UFXXNb8hIr/VpVQTTu7OZoUiSF23F3Dsnr4HcEXsj6Nq9Ikw==} + /@carbon/feature-flags/0.13.0: + resolution: {integrity: sha512-nca4aTE8Ss5NzjjK6fxR+mM63e0hDmH3nT3zDZ2pRQ23QoJzcmhZmaWQoLGd6ONa52vAuPWcVPPg/bynN07Q9w==} - /@carbon/grid/11.11.0: - resolution: {integrity: sha512-07U2cC5lgvy7gWveUtE0wuYUxu6Dndglnajy1FJAeV7BEd2t6cgU/t7AOaL8RhoXPjE7tarN5tnZImw5nmzQYQ==} + /@carbon/grid/11.12.0: + resolution: {integrity: sha512-NzTIYjSQWtcN0f51t5yP3lurvDM+sdMpyCgy80fIwENMT8szHaJoQMmB3LrMR09eBh1VUEHcQhoRxsud0sFAqw==} dependencies: - '@carbon/layout': 11.11.0 + '@carbon/layout': 11.12.0 - /@carbon/layout/11.11.0: - resolution: {integrity: sha512-0AuBxoJ+4HiYDIou0xR/jRtGDjTZ2ew1qeViQd04aM0GdZDGhjPTwU9u9CLCKAZEK4dYcewqWat1FQI4diYaOA==} + /@carbon/layout/11.12.0: + resolution: {integrity: sha512-KZbpV8e3WnIuCJ9N9Nk7kWO8OofCwB7zGPQLOW1ZKvtSgnChQ0+XhCyrRF8Gh62tDwoGdmqdH2P1uDVTchfcQQ==} - /@carbon/motion/11.9.0: - resolution: {integrity: sha512-kLWvm0Y6QH+2sZm+TKk5PPHONlZZFFY5QelyZrCkKlzB5oU2Nne597ETHnu1SomOscDqJjc/zhkxIsx9dJLBIw==} + /@carbon/motion/11.10.0: + resolution: {integrity: sha512-eKQTBvfgTI+txk4BjRTjObOnQ9/uWSRurzIQK4qXsRJZuxvyJTChw+0pKMjohfpzOOnv5E1XxyfM3MWURaGe6Q==} - /@carbon/styles/1.23.0: - resolution: {integrity: sha512-t806EWLGcQuJz2baCtWygyLGtFH9mHRA30AdBVTVNd+yUDyBuU9wChJ5OdFNZkUbhiFw1Sj/Dap6I+zruLfkDw==} + /@carbon/styles/1.26.0: + resolution: {integrity: sha512-A7K4sFBQsm8qXN1Wmw/B1OVtf1pDqBlAbgrs7lFuC7YpSD87xy0oHwHiCVXvLLvJgszjOi/5AT4VB7wF/EmbLQ==} peerDependencies: sass: ^1.33.0 dependencies: - '@carbon/colors': 11.12.0 - '@carbon/feature-flags': 0.12.0 - '@carbon/grid': 11.11.0 - '@carbon/layout': 11.11.0 - '@carbon/motion': 11.9.0 - '@carbon/themes': 11.16.0 - '@carbon/type': 11.15.0 + '@carbon/colors': 11.13.0 + '@carbon/feature-flags': 0.13.0 + '@carbon/grid': 11.12.0 + '@carbon/layout': 11.12.0 + '@carbon/motion': 11.10.0 + '@carbon/themes': 11.17.0 + '@carbon/type': 11.16.0 '@ibm/plex': 6.0.0-next.6 /@carbon/telemetry/0.1.0: @@ -1171,34 +1184,34 @@ packages: hasBin: true dev: true - /@carbon/themes/11.16.0: - resolution: {integrity: sha512-t5323D66p5M6ev9HwMo5tQUE5M1zQP+fa2KExOkHzyJXQfbR3rDSL3y8O/ALrnLgYfBKTftQCGOcUnxhR3LOTQ==} + /@carbon/themes/11.17.0: + resolution: {integrity: sha512-bx3gxx3bexljIS2he6aSWUfrCsxjc/CPtYvx5GP5t0v9yg1SU98jes7uq042baMH37KWZRAJyRMVQ4ytzipAWw==} dependencies: - '@carbon/colors': 11.12.0 - '@carbon/layout': 11.11.0 - '@carbon/type': 11.15.0 + '@carbon/colors': 11.13.0 + '@carbon/layout': 11.12.0 + '@carbon/type': 11.16.0 color: 4.2.3 - /@carbon/type/11.15.0: - resolution: {integrity: sha512-oJm8imiLUF5x7AYaiuExhGfhF/aep8STvV4ckQ9VrPCVFwytJ1haJFmyDU2ssYNiTfgjVN0foy6sNbHMZYM0pg==} + /@carbon/type/11.16.0: + resolution: {integrity: sha512-qlW2GDRPFsybLDPLo/294pd7MmOM6lYai1Jb7UQgCPxbKGnLLPZUJgQluTZzQCDwcEwEISnavLydFnliwTSOuQ==} dependencies: - '@carbon/grid': 11.11.0 - '@carbon/layout': 11.11.0 + '@carbon/grid': 11.12.0 + '@carbon/layout': 11.12.0 /@carbon/utils-position/1.1.1: resolution: {integrity: sha512-W8ykraEzr9WsH8+6+FgI6lmK4elFxH8Uy9+XDbDTvyVbF6fq5jgi4dPCDd1AoCtUBCcLAehInhReDaFM3DrM6w==} dev: true - /@commitlint/cli/17.4.2: - resolution: {integrity: sha512-0rPGJ2O1owhpxMIXL9YJ2CgPkdrFLKZElIZHXDN8L8+qWK1DGH7Q7IelBT1pchXTYTuDlqkOTdh//aTvT3bSUA==} + /@commitlint/cli/17.5.1: + resolution: {integrity: sha512-pRRgGSzdHQHehxZbGA3qF6wVPyl+EEQgTe/t321rtMLFbuJ7nRj2waS17s/v5oEbyZtiY5S8PGB6XtEIm0I+Sg==} engines: {node: '>=v14'} hasBin: true dependencies: - '@commitlint/format': 17.4.0 - '@commitlint/lint': 17.4.2 - '@commitlint/load': 17.4.2 - '@commitlint/read': 17.4.2 - '@commitlint/types': 17.4.0 + '@commitlint/format': 17.4.4 + '@commitlint/lint': 17.4.4 + '@commitlint/load': 17.5.0 + '@commitlint/read': 17.5.1 + '@commitlint/types': 17.4.4 execa: 5.1.1 lodash.isfunction: 3.0.9 resolve-from: 5.0.0 @@ -1209,26 +1222,26 @@ packages: - '@swc/wasm' dev: true - /@commitlint/config-conventional/17.4.2: - resolution: {integrity: sha512-JVo1moSj5eDMoql159q8zKCU8lkOhQ+b23Vl3LVVrS6PXDLQIELnJ34ChQmFVbBdSSRNAbbXnRDhosFU+wnuHw==} + /@commitlint/config-conventional/17.4.4: + resolution: {integrity: sha512-u6ztvxqzi6NuhrcEDR7a+z0yrh11elY66nRrQIpqsqW6sZmpxYkDLtpRH8jRML+mmxYQ8s4qqF06Q/IQx5aJeQ==} engines: {node: '>=v14'} dependencies: conventional-changelog-conventionalcommits: 5.0.0 dev: true - /@commitlint/config-validator/17.4.0: - resolution: {integrity: sha512-Sa/+8KNpDXz4zT4bVbz2fpFjvgkPO6u2V2fP4TKgt6FjmOw2z3eEX859vtfeaTav/ukBw0/0jr+5ZTZp9zCBhA==} + /@commitlint/config-validator/17.4.4: + resolution: {integrity: sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.4.0 + '@commitlint/types': 17.4.4 ajv: 8.11.0 dev: true - /@commitlint/ensure/17.4.0: - resolution: {integrity: sha512-7oAxt25je0jeQ/E0O/M8L3ADb1Cvweu/5lc/kYF8g/kXatI0wxGE5La52onnAUAWeWlsuvBNar15WcrmDmr5Mw==} + /@commitlint/ensure/17.4.4: + resolution: {integrity: sha512-AHsFCNh8hbhJiuZ2qHv/m59W/GRE9UeOXbkOqxYMNNg9pJ7qELnFcwj5oYpa6vzTSHtPGKf3C2yUFNy1GGHq6g==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.4.0 + '@commitlint/types': 17.4.4 lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 lodash.snakecase: 4.1.1 @@ -1241,50 +1254,50 @@ packages: engines: {node: '>=v14'} dev: true - /@commitlint/format/17.4.0: - resolution: {integrity: sha512-Z2bWAU5+f1YZh9W76c84J8iLIWIvvm+mzqogTz0Nsc1x6EHW0Z2gI38g5HAjB0r0I3ZjR15IDEJKhsxyblcyhA==} + /@commitlint/format/17.4.4: + resolution: {integrity: sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.4.0 + '@commitlint/types': 17.4.4 chalk: 4.1.2 dev: true - /@commitlint/is-ignored/17.4.2: - resolution: {integrity: sha512-1b2Y2qJ6n7bHG9K6h8S4lBGUl6kc7mMhJN9gy1SQfUZqe92ToDjUTtgNWb6LbzR1X8Cq4SEus4VU8Z/riEa94Q==} + /@commitlint/is-ignored/17.4.4: + resolution: {integrity: sha512-Y3eo1SFJ2JQDik4rWkBC4tlRIxlXEFrRWxcyrzb1PUT2k3kZ/XGNuCDfk/u0bU2/yS0tOA/mTjFsV+C4qyACHw==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.4.0 + '@commitlint/types': 17.4.4 semver: 7.3.8 dev: true - /@commitlint/lint/17.4.2: - resolution: {integrity: sha512-HcymabrdBhsDMNzIv146+ZPNBPBK5gMNsVH+el2lCagnYgCi/4ixrHooeVyS64Fgce2K26+MC7OQ4vVH8wQWVw==} + /@commitlint/lint/17.4.4: + resolution: {integrity: sha512-qgkCRRFjyhbMDWsti/5jRYVJkgYZj4r+ZmweZObnbYqPUl5UKLWMf9a/ZZisOI4JfiPmRktYRZ2JmqlSvg+ccw==} engines: {node: '>=v14'} dependencies: - '@commitlint/is-ignored': 17.4.2 - '@commitlint/parse': 17.4.2 - '@commitlint/rules': 17.4.2 - '@commitlint/types': 17.4.0 + '@commitlint/is-ignored': 17.4.4 + '@commitlint/parse': 17.4.4 + '@commitlint/rules': 17.4.4 + '@commitlint/types': 17.4.4 dev: true - /@commitlint/load/17.4.2: - resolution: {integrity: sha512-Si++F85rJ9t4hw6JcOw1i2h0fdpdFQt0YKwjuK4bk9KhFjyFkRxvR3SB2dPaMs+EwWlDrDBGL+ygip1QD6gmPw==} + /@commitlint/load/17.5.0: + resolution: {integrity: sha512-l+4W8Sx4CD5rYFsrhHH8HP01/8jEP7kKf33Xlx2Uk2out/UKoKPYMOIRcDH5ppT8UXLMV+x6Wm5osdRKKgaD1Q==} engines: {node: '>=v14'} dependencies: - '@commitlint/config-validator': 17.4.0 + '@commitlint/config-validator': 17.4.4 '@commitlint/execute-rule': 17.4.0 - '@commitlint/resolve-extends': 17.4.0 - '@commitlint/types': 17.4.0 - '@types/node': 18.11.19 + '@commitlint/resolve-extends': 17.4.4 + '@commitlint/types': 17.4.4 + '@types/node': 18.15.11 chalk: 4.1.2 cosmiconfig: 8.0.0 - cosmiconfig-typescript-loader: 4.3.0_q6dimmvgduffavfq3obt6abtea + cosmiconfig-typescript-loader: 4.3.0_yrgh2fbk3fyss5lzwhhtg6tyla lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.1_qqdszkrtcshgbphghj7vnvrrby - typescript: 4.9.5 + ts-node: 10.9.1_bhanhq442dy43ncydsavgi4jfi + typescript: 5.0.4 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1295,46 +1308,46 @@ packages: engines: {node: '>=v14'} dev: true - /@commitlint/parse/17.4.2: - resolution: {integrity: sha512-DK4EwqhxfXpyCA+UH8TBRIAXAfmmX4q9QRBz/2h9F9sI91yt6mltTrL6TKURMcjUVmgaB80wgS9QybNIyVBIJA==} + /@commitlint/parse/17.4.4: + resolution: {integrity: sha512-EKzz4f49d3/OU0Fplog7nwz/lAfXMaDxtriidyGF9PtR+SRbgv4FhsfF310tKxs6EPj8Y+aWWuX3beN5s+yqGg==} engines: {node: '>=v14'} dependencies: - '@commitlint/types': 17.4.0 + '@commitlint/types': 17.4.4 conventional-changelog-angular: 5.0.13 conventional-commits-parser: 3.2.4 dev: true - /@commitlint/read/17.4.2: - resolution: {integrity: sha512-hasYOdbhEg+W4hi0InmXHxtD/1favB4WdwyFxs1eOy/DvMw6+2IZBmATgGOlqhahsypk4kChhxjAFJAZ2F+JBg==} + /@commitlint/read/17.5.1: + resolution: {integrity: sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg==} engines: {node: '>=v14'} dependencies: '@commitlint/top-level': 17.4.0 - '@commitlint/types': 17.4.0 + '@commitlint/types': 17.4.4 fs-extra: 11.1.0 git-raw-commits: 2.0.11 minimist: 1.2.7 dev: true - /@commitlint/resolve-extends/17.4.0: - resolution: {integrity: sha512-3JsmwkrCzoK8sO22AzLBvNEvC1Pmdn/65RKXzEtQMy6oYMl0Snrq97a5bQQEFETF0VsvbtUuKttLqqgn99OXRQ==} + /@commitlint/resolve-extends/17.4.4: + resolution: {integrity: sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A==} engines: {node: '>=v14'} dependencies: - '@commitlint/config-validator': 17.4.0 - '@commitlint/types': 17.4.0 + '@commitlint/config-validator': 17.4.4 + '@commitlint/types': 17.4.4 import-fresh: 3.3.0 lodash.mergewith: 4.6.2 resolve-from: 5.0.0 resolve-global: 1.0.0 dev: true - /@commitlint/rules/17.4.2: - resolution: {integrity: sha512-OGrPsMb9Fx3/bZ64/EzJehY9YDSGWzp81Pj+zJiY+r/NSgJI3nUYdlS37jykNIugzazdEXfMtQ10kmA+Kx2pZQ==} + /@commitlint/rules/17.4.4: + resolution: {integrity: sha512-0tgvXnHi/mVcyR8Y8mjTFZIa/FEQXA4uEutXS/imH2v1UNkYDSEMsK/68wiXRpfW1euSgEdwRkvE1z23+yhNrQ==} engines: {node: '>=v14'} dependencies: - '@commitlint/ensure': 17.4.0 + '@commitlint/ensure': 17.4.4 '@commitlint/message': 17.4.2 '@commitlint/to-lines': 17.4.0 - '@commitlint/types': 17.4.0 + '@commitlint/types': 17.4.4 execa: 5.1.1 dev: true @@ -1350,8 +1363,8 @@ packages: find-up: 5.0.0 dev: true - /@commitlint/types/17.4.0: - resolution: {integrity: sha512-2NjAnq5IcxY9kXtUeO2Ac0aPpvkuOmwbH/BxIm36XXK5LtWFObWJWjXOA+kcaABMrthjWu6la+FUpyYFMHRvbA==} + /@commitlint/types/17.4.4: + resolution: {integrity: sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==} engines: {node: '>=v14'} dependencies: chalk: 4.1.2 @@ -1364,39 +1377,47 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@discordjs/builders/1.4.0: - resolution: {integrity: sha512-nEeTCheTTDw5kO93faM1j8ZJPonAX86qpq/QVoznnSa8WWcCgJpjlu6GylfINTDW6o7zZY0my2SYdxx2mfNwGA==} + /@discordjs/builders/1.6.1: + resolution: {integrity: sha512-CCcLwn/8ANhlAbhlE18fcaN0hfXTen53/JiwZs1t9oE/Cqa9maA8ZRarkCIsXF4J7J/MYnd0J6IsxeKsq+f6mw==} engines: {node: '>=16.9.0'} dependencies: - '@discordjs/util': 0.1.0 + '@discordjs/formatters': 0.3.0 + '@discordjs/util': 0.2.0 '@sapphire/shapeshift': 3.8.1 - discord-api-types: 0.37.35 + discord-api-types: 0.37.37 fast-deep-equal: 3.1.3 - ts-mixer: 6.0.2 + ts-mixer: 6.0.3 tslib: 2.5.0 dev: false - /@discordjs/collection/1.3.0: - resolution: {integrity: sha512-ylt2NyZ77bJbRij4h9u/wVy7qYw/aDqQLWnadjvDqW/WoWCxrsX6M3CIw9GVP5xcGCDxsrKj5e0r5evuFYwrKg==} + /@discordjs/collection/1.5.0: + resolution: {integrity: sha512-suyVndkEAAWrGxyw/CPGdtXoRRU6AUNkibtnbJevQzpelkJh3Q1gQqWDpqf5i39CnAn5+LrN0YS+cULeEjq2Yw==} engines: {node: '>=16.9.0'} dev: false - /@discordjs/rest/1.5.0: - resolution: {integrity: sha512-lXgNFqHnbmzp5u81W0+frdXN6Etf4EUi8FAPcWpSykKd8hmlWh1xy6BmE0bsJypU1pxohaA8lQCgp70NUI3uzA==} + /@discordjs/formatters/0.3.0: + resolution: {integrity: sha512-Fc4MomalbP8HMKEMor3qUiboAKDtR7PSBoPjwm7WYghVRwgJlj5WYvUsriLsxeKk8+Qq2oy+HJlGTUkGvX0YnA==} engines: {node: '>=16.9.0'} dependencies: - '@discordjs/collection': 1.3.0 - '@discordjs/util': 0.1.0 + discord-api-types: 0.37.37 + dev: false + + /@discordjs/rest/1.7.0: + resolution: {integrity: sha512-r2HzmznRIo8IDGYBWqQfkEaGN1LrFfWQd3dSyC4tOpMU8nuVvFUEw6V/lwnG44jyOq+vgyDny2fxeUDMt9I4aQ==} + engines: {node: '>=16.9.0'} + dependencies: + '@discordjs/collection': 1.5.0 + '@discordjs/util': 0.2.0 '@sapphire/async-queue': 1.5.0 - '@sapphire/snowflake': 3.2.2 - discord-api-types: 0.37.35 - file-type: 18.2.0 + '@sapphire/snowflake': 3.4.0 + discord-api-types: 0.37.37 + file-type: 18.2.1 tslib: 2.5.0 - undici: 5.18.0 + undici: 5.21.0 dev: false - /@discordjs/util/0.1.0: - resolution: {integrity: sha512-e7d+PaTLVQav6rOc2tojh2y6FE8S7REkqLldq1XF4soCx74XB/DIjbVbVLtBemf0nLW77ntz0v+o5DytKwFNLQ==} + /@discordjs/util/0.2.0: + resolution: {integrity: sha512-/8qNbebFzLWKOOg+UV+RB8itp4SmU5jw0tBUD3ifElW6rYNOj1Ku5JaSW7lLl/WgjjxF01l/1uQPCzkwr110vg==} engines: {node: '>=16.9.0'} dev: false @@ -1409,29 +1430,12 @@ packages: dev: true optional: true - /@esbuild/android-arm/0.16.17: - resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - /@esbuild/android-arm/0.17.7: resolution: {integrity: sha512-Np6Lg8VUiuzHP5XvHU7zfSVPN4ILdiOhxA1GQ1uvCK2T2l3nI8igQV0c9FJx4hTkq8WGqhGEvn5UuRH8jMkExg==} engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64/0.16.17: - resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true optional: true /@esbuild/android-arm64/0.17.7: @@ -1440,15 +1444,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64/0.16.17: - resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true optional: true /@esbuild/android-x64/0.17.7: @@ -1457,15 +1452,6 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64/0.16.17: - resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true optional: true /@esbuild/darwin-arm64/0.17.7: @@ -1474,15 +1460,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64/0.16.17: - resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true optional: true /@esbuild/darwin-x64/0.17.7: @@ -1491,15 +1468,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64/0.16.17: - resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true optional: true /@esbuild/freebsd-arm64/0.17.7: @@ -1508,15 +1476,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64/0.16.17: - resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true optional: true /@esbuild/freebsd-x64/0.17.7: @@ -1525,15 +1484,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm/0.16.17: - resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true optional: true /@esbuild/linux-arm/0.17.7: @@ -1542,15 +1492,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64/0.16.17: - resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true optional: true /@esbuild/linux-arm64/0.17.7: @@ -1559,15 +1500,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32/0.16.17: - resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true optional: true /@esbuild/linux-ia32/0.17.7: @@ -1576,7 +1508,6 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-loong64/0.15.9: @@ -1588,29 +1519,12 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.16.17: - resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-loong64/0.17.7: resolution: {integrity: sha512-H1g+AwwcqYQ/Hl/sMcopRcNLY/fysIb/ksDfCa3/kOaHQNhBrLeDYw+88VAFV5U6oJL9GqnmUj72m9Nv3th3hA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el/0.16.17: - resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true optional: true /@esbuild/linux-mips64el/0.17.7: @@ -1619,15 +1533,6 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64/0.16.17: - resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true optional: true /@esbuild/linux-ppc64/0.17.7: @@ -1636,15 +1541,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64/0.16.17: - resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true optional: true /@esbuild/linux-riscv64/0.17.7: @@ -1653,15 +1549,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x/0.16.17: - resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true optional: true /@esbuild/linux-s390x/0.17.7: @@ -1670,15 +1557,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64/0.16.17: - resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true optional: true /@esbuild/linux-x64/0.17.7: @@ -1687,15 +1565,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64/0.16.17: - resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true optional: true /@esbuild/netbsd-x64/0.17.7: @@ -1704,15 +1573,6 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64/0.16.17: - resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true optional: true /@esbuild/openbsd-x64/0.17.7: @@ -1721,15 +1581,6 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64/0.16.17: - resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true optional: true /@esbuild/sunos-x64/0.17.7: @@ -1738,15 +1589,6 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64/0.16.17: - resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true optional: true /@esbuild/win32-arm64/0.17.7: @@ -1755,15 +1597,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32/0.16.17: - resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true optional: true /@esbuild/win32-ia32/0.17.7: @@ -1772,15 +1605,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64/0.16.17: - resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true optional: true /@esbuild/win32-x64/0.17.7: @@ -1789,16 +1613,30 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true - /@eslint/eslintrc/1.4.1: - resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} + /@eslint-community/eslint-utils/4.4.0_eslint@8.38.0: + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.38.0 + eslint-visitor-keys: 3.4.0 + dev: true + + /@eslint-community/regexpp/4.5.0: + resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc/2.0.2: + resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.4.1 + espree: 9.5.1 globals: 13.20.0 ignore: 5.2.0 import-fresh: 3.3.0 @@ -1809,6 +1647,11 @@ packages: - supports-color dev: true + /@eslint/js/8.38.0: + resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@faker-js/faker/7.6.0: resolution: {integrity: sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==} engines: {node: '>=14.0.0', npm: '>=6.0.0'} @@ -1860,45 +1703,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@microsoft/api-extractor-model/7.23.3: - resolution: {integrity: sha512-HpsWzG6jrWHrTlIg53kmp/IVQPBHUZc+8dunnr9VXrmDjVBehaXxp9A6jhTQ/bd7W1m5TYfAvwCmseC1+9FCuA==} - dependencies: - '@microsoft/tsdoc': 0.14.1 - '@microsoft/tsdoc-config': 0.16.1 - '@rushstack/node-core-library': 3.51.1 - dev: false - - /@microsoft/api-extractor/7.29.5: - resolution: {integrity: sha512-+vqO/TAGw9xXANpvTjA4y5ADcaRuYuBoJ9IfoAHubrGuxKG6GoW3P2tfdgwteLz95CnlftBxYp+3NG/mf05P9Q==} - hasBin: true - dependencies: - '@microsoft/api-extractor-model': 7.23.3 - '@microsoft/tsdoc': 0.14.1 - '@microsoft/tsdoc-config': 0.16.1 - '@rushstack/node-core-library': 3.51.1 - '@rushstack/rig-package': 0.3.14 - '@rushstack/ts-command-line': 4.12.2 - colors: 1.2.5 - lodash: 4.17.21 - resolve: 1.17.0 - semver: 7.3.8 - source-map: 0.6.1 - typescript: 4.7.4 - dev: false - - /@microsoft/tsdoc-config/0.16.1: - resolution: {integrity: sha512-2RqkwiD4uN6MLnHFljqBlZIXlt/SaUT6cuogU1w2ARw4nKuuppSmR0+s+NC+7kXBQykd9zzu0P4HtBpZT5zBpQ==} - dependencies: - '@microsoft/tsdoc': 0.14.1 - ajv: 6.12.6 - jju: 1.4.0 - resolve: 1.19.0 - dev: false - - /@microsoft/tsdoc/0.14.1: - resolution: {integrity: sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw==} - dev: false - /@next-auth/prisma-adapter/1.0.5: resolution: {integrity: sha512-VqMS11IxPXrPGXw6Oul6jcyS/n8GLOWzRMrPr3EMdtD6eOalM6zz05j08PcNiis8QzkfuYnCv49OvufTuaEwYQ==} peerDependencies: @@ -2115,15 +1919,15 @@ packages: dependencies: '@octokit/openapi-types': 16.0.0 - /@panva/hkdf/1.0.2: - resolution: {integrity: sha512-MSAs9t3Go7GUkMhpKC44T58DJ5KGk2vBo+h1cqQeqlMfdGkxaVB78ZWpv9gYi/g2fa4sopag9gJsNvS8XGgWJA==} + /@panva/hkdf/1.0.4: + resolution: {integrity: sha512-003xWiCuvePbLaPHT+CRuaV4GlyCAVm6XYSbBZDHoWZGn1mNkVKFaDbGJjjxmEFvizUwlCoM6O18FCBMMky2zQ==} dev: false /@polka/url/1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} - /@prisma/client/4.10.1_prisma@4.10.1: - resolution: {integrity: sha512-VonXLJZybdt8e5XZH5vnIGCRNnIh6OMX1FS3H/yzMGLT3STj5TJ/OkMcednrvELgk8PK89Vo3aSh51MWNO0axA==} + /@prisma/client/4.12.0_prisma@4.12.0: + resolution: {integrity: sha512-j9/ighfWwux97J2dS15nqhl60tYoH8V0IuSsgZDb6bCFcQD3fXbXmxjYC8GHhIgOk3lB7Pq+8CwElz2MiDpsSg==} engines: {node: '>=14.17'} requiresBuild: true peerDependencies: @@ -2132,16 +1936,16 @@ packages: prisma: optional: true dependencies: - '@prisma/engines-version': 4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19 - prisma: 4.10.1 + '@prisma/engines-version': 4.12.0-67.659ef412370fa3b41cd7bf6e94587c1dfb7f67e7 + prisma: 4.12.0 dev: false - /@prisma/engines-version/4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19: - resolution: {integrity: sha512-tsjTho7laDhf9EJ9EnDxAPEf7yrigSMDhniXeU4YoWc7azHAs4GPxRi2P9LTFonmHkJLMOLjR77J1oIP8Ife1w==} + /@prisma/engines-version/4.12.0-67.659ef412370fa3b41cd7bf6e94587c1dfb7f67e7: + resolution: {integrity: sha512-JIHNj5jlXb9mcaJwakM0vpgRYJIAurxTUqM0iX0tfEQA5XLZ9ONkIckkhuAKdAzocZ+80GYg7QSsfpjg7OxbOA==} dev: false - /@prisma/engines/4.10.1: - resolution: {integrity: sha512-B3tcTxjx196nuAu1GOTKO9cGPUgTFHYRdkPkTS4m5ptb2cejyBlH9X7GOfSt3xlI7p4zAJDshJP4JJivCg9ouA==} + /@prisma/engines/4.12.0: + resolution: {integrity: sha512-0alKtnxhNB5hYU+ymESBlGI4b9XrGGSdv7Ud+8TE/fBNOEhIud0XQsAR+TrvUZgS4na5czubiMsODw0TUrgkIA==} requiresBuild: true /@rollup/plugin-commonjs/24.0.1_rollup@3.14.0: @@ -2208,35 +2012,6 @@ packages: rollup: 3.14.0 dev: true - /@rushstack/node-core-library/3.51.1: - resolution: {integrity: sha512-xLoUztvGpaT5CphDexDPt2WbBx8D68VS5tYOkwfr98p90y0f/wepgXlTA/q5MUeZGGucASiXKp5ysdD+GPYf9A==} - dependencies: - '@types/node': 12.20.24 - colors: 1.2.5 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.17.0 - semver: 7.3.8 - z-schema: 5.0.4 - dev: false - - /@rushstack/rig-package/0.3.14: - resolution: {integrity: sha512-Ic9EN3kWJCK6iOxEDtwED9nrM146zCDrQaUxbeGOF+q/VLZ/HNHPw+aLqrqmTl0ZT66Sf75Qk6OG+rySjTorvQ==} - dependencies: - resolve: 1.17.0 - strip-json-comments: 3.1.1 - dev: false - - /@rushstack/ts-command-line/4.12.2: - resolution: {integrity: sha512-poBtnumLuWmwmhCEkVAgynWgtnF9Kygekxyp4qtQUSbBrkuyPQTL85c8Cva1YfoUpOdOXxezMAkUt0n5SNKGqw==} - dependencies: - '@types/argparse': 1.0.38 - argparse: 1.0.10 - colors: 1.2.5 - string-argv: 0.3.1 - dev: false - /@sapphire/async-queue/1.5.0: resolution: {integrity: sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} @@ -2250,25 +2025,25 @@ packages: lodash: 4.17.21 dev: false - /@sapphire/snowflake/3.2.2: - resolution: {integrity: sha512-ula2O0kpSZtX9rKXNeQMrHwNd7E4jPDJYUXmEGTFdMRfyfMw+FPyh04oKMjAiDuOi64bYgVkOV3MjK+loImFhQ==} + /@sapphire/snowflake/3.4.0: + resolution: {integrity: sha512-zZxymtVO6zeXVMPds+6d7gv/OfnCc25M1Z+7ZLB0oPmeMTPeRWVPQSS16oDJy5ZsyCOLj7M6mbZml5gWXcVRNw==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} dev: false - /@sveltejs/adapter-node/1.2.0_@sveltejs+kit@1.8.3: - resolution: {integrity: sha512-j0nxkrNZ4zBkOIOtqHUET5l8qvcFo64xNL2xv8F1QICkz746o5DVCGaJEPC3B2X2fTklXExxe80yXZhf38p6zg==} + /@sveltejs/adapter-node/1.2.3_@sveltejs+kit@1.15.2: + resolution: {integrity: sha512-Fv6NyVpVWYA63KRaV6dDjcU8ytcWFiUr0siJOoHl+oWy5WHNEuRiJOUdiZzYbZo8MmvFaCoxHkTgPrVQhpqaRA==} peerDependencies: '@sveltejs/kit': ^1.0.0 dependencies: '@rollup/plugin-commonjs': 24.0.1_rollup@3.14.0 '@rollup/plugin-json': 6.0.0_rollup@3.14.0 '@rollup/plugin-node-resolve': 15.0.1_rollup@3.14.0 - '@sveltejs/kit': 1.8.3_svelte@3.55.1+vite@4.1.3 + '@sveltejs/kit': 1.15.2_svelte@3.58.0+vite@4.2.1 rollup: 3.14.0 dev: true - /@sveltejs/kit/1.8.3_svelte@3.55.1+vite@4.1.3: - resolution: {integrity: sha512-32tiLy5PPpt2lquK2p53/5wR+ghAXw0HymIBEezmwmwtzx7Xf36xw3RG3fDYQ9gyzon89T+JRweXgAv/qhhvSQ==} + /@sveltejs/kit/1.15.2_svelte@3.58.0+vite@4.2.1: + resolution: {integrity: sha512-rLNxZrjbrlPf8AWW8GAU4L/Vvu17e9v8EYl7pUip7x72lTft7RcxeP3z7tsrHpMSBBxC9o4XdKzFvz1vMZyXZw==} engines: {node: ^16.14 || >=18} hasBin: true requiresBuild: true @@ -2276,25 +2051,25 @@ packages: svelte: ^3.54.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.1+vite@4.1.3 + '@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.58.0+vite@4.2.1 '@types/cookie': 0.5.1 cookie: 0.5.0 devalue: 4.3.0 esm-env: 1.0.0 kleur: 4.1.5 - magic-string: 0.29.0 + magic-string: 0.30.0 mime: 3.0.0 sade: 1.8.1 set-cookie-parser: 2.5.1 sirv: 2.0.2 - svelte: 3.55.1 + svelte: 3.58.0 tiny-glob: 0.2.9 undici: 5.20.0 - vite: 4.1.3 + vite: 4.2.1 transitivePeerDependencies: - supports-color - /@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.1+vite@4.1.3: + /@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.58.0+vite@4.2.1: resolution: {integrity: sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==} engines: {node: ^14.18.0 || >= 16} peerDependencies: @@ -2305,10 +2080,10 @@ packages: deepmerge: 4.3.0 kleur: 4.1.5 magic-string: 0.27.0 - svelte: 3.55.1 - svelte-hmr: 0.15.1_svelte@3.55.1 - vite: 4.1.3 - vitefu: 0.2.4_vite@4.1.3 + svelte: 3.58.0 + svelte-hmr: 0.15.1_svelte@3.58.0 + vite: 4.2.1 + vitefu: 0.2.4_vite@4.2.1 transitivePeerDependencies: - supports-color @@ -2319,15 +2094,7 @@ packages: /@tootallnate/once/2.0.0: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} - - /@ts-morph/common/0.13.0: - resolution: {integrity: sha512-fEJ6j7Cu8yiWjA4UmybOBH9Efgb/64ZTWuvCF4KysGu4xz8ettfyaqFt8WZ1btCxXsGZJjZ2/3svOF6rL+UFdQ==} - dependencies: - fast-glob: 3.2.12 - minimatch: 5.1.0 - mkdirp: 1.0.4 - path-browserify: 1.0.1 - dev: false + dev: true /@tsconfig/node10/1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} @@ -2345,17 +2112,6 @@ packages: resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} dev: true - /@types/argparse/1.0.38: - resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: false - - /@types/body-parser/1.19.2: - resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} - dependencies: - '@types/connect': 3.4.35 - '@types/node': 18.11.19 - dev: true - /@types/btoa-lite/1.0.0: resolution: {integrity: sha512-wJsiX1tosQ+J5+bY5LrSahHxr2wT+uME5UDwdN1kg4frt40euqA+wzECkmq4t5QbveHiJepfdThgQrPw6KiSlg==} dev: false @@ -2366,24 +2122,10 @@ packages: '@types/chai': 4.3.4 dev: true - /@types/chai/4.3.1: - resolution: {integrity: sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==} - dev: true - - /@types/chai/4.3.3: - resolution: {integrity: sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==} - dev: true - /@types/chai/4.3.4: resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} dev: true - /@types/connect/3.4.35: - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} - dependencies: - '@types/node': 18.11.19 - dev: true - /@types/cookie/0.5.1: resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} @@ -2391,23 +2133,6 @@ packages: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true - /@types/express-serve-static-core/4.17.29: - resolution: {integrity: sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==} - dependencies: - '@types/node': 18.11.19 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 - dev: true - - /@types/express/4.17.13: - resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==} - dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.29 - '@types/qs': 6.9.7 - '@types/serve-static': 1.13.10 - dev: true - /@types/json-schema/7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true @@ -2415,35 +2140,19 @@ packages: /@types/jsonwebtoken/9.0.1: resolution: {integrity: sha512-c5ltxazpWabia/4UzhIoaDcIza4KViOQhdbjRlfcIGVnsE3c3brkz9Z+F/EeJIECOQP7W7US2hNE930cWWkPiw==} dependencies: - '@types/node': 18.11.19 + '@types/node': 18.15.11 dev: false /@types/lru-cache/5.1.1: resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} dev: false - /@types/mime/1.3.2: - resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} - dev: true - /@types/minimist/1.2.2: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/node/12.20.24: - resolution: {integrity: sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==} - dev: false - - /@types/node/18.11.19: - resolution: {integrity: sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw==} - - /@types/node/18.6.5: - resolution: {integrity: sha512-Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw==} - dev: true - - /@types/node/18.7.14: - resolution: {integrity: sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==} - dev: true + /@types/node/18.15.11: + resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==} /@types/node/18.7.16: resolution: {integrity: sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==} @@ -2461,14 +2170,6 @@ packages: resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} dev: true - /@types/qs/6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} - dev: true - - /@types/range-parser/1.2.4: - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} - dev: true - /@types/resolve/1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true @@ -2476,32 +2177,25 @@ packages: /@types/sass/1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 18.11.19 + '@types/node': 18.15.11 dev: true /@types/semver/7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true - /@types/serve-static/1.13.10: - resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} - dependencies: - '@types/mime': 1.3.2 - '@types/node': 18.11.19 - dev: true - /@types/uuid/9.0.1: resolution: {integrity: sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==} dev: true - /@types/ws/8.5.3: - resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} + /@types/ws/8.5.4: + resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} dependencies: - '@types/node': 18.11.19 + '@types/node': 18.15.11 dev: false - /@typescript-eslint/eslint-plugin/5.51.0_b635kmla6dsb4frxfihkw4m47e: - resolution: {integrity: sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==} + /@typescript-eslint/eslint-plugin/5.57.1_z2kgtpg43567unkcwpmcdtgh2q: + resolution: {integrity: sha512-1MeobQkQ9tztuleT3v72XmY0XuKXVXusAhryoLuU5YZ+mXoYKZP9SQ7Flulh1NX4DTjpGTc2b/eMu4u7M7dhnQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -2511,25 +2205,25 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 - '@typescript-eslint/scope-manager': 5.51.0 - '@typescript-eslint/type-utils': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 - '@typescript-eslint/utils': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 + '@eslint-community/regexpp': 4.5.0 + '@typescript-eslint/parser': 5.57.1_voubu7prgxjfsfbgx5d4sqnwiy + '@typescript-eslint/scope-manager': 5.57.1 + '@typescript-eslint/type-utils': 5.57.1_voubu7prgxjfsfbgx5d4sqnwiy + '@typescript-eslint/utils': 5.57.1_voubu7prgxjfsfbgx5d4sqnwiy debug: 4.3.4 - eslint: 8.33.0 + eslint: 8.38.0 grapheme-splitter: 1.0.4 ignore: 5.2.0 natural-compare-lite: 1.4.0 - regexpp: 3.2.0 - semver: 7.3.7 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + semver: 7.3.8 + tsutils: 3.21.0_typescript@5.0.4 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.51.0_4vsywjlpuriuw3tl5oq6zy5a64: - resolution: {integrity: sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA==} + /@typescript-eslint/parser/5.57.1_voubu7prgxjfsfbgx5d4sqnwiy: + resolution: {integrity: sha512-hlA0BLeVSA/wBPKdPGxoVr9Pp6GutGoY380FEhbVi0Ph4WNe8kLvqIRx76RSQt1lynZKfrXKs0/XeEk4zZycuA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -2538,26 +2232,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.51.0 - '@typescript-eslint/types': 5.51.0 - '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.5 + '@typescript-eslint/scope-manager': 5.57.1 + '@typescript-eslint/types': 5.57.1 + '@typescript-eslint/typescript-estree': 5.57.1_typescript@5.0.4 debug: 4.3.4 - eslint: 8.33.0 - typescript: 4.9.5 + eslint: 8.38.0 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.51.0: - resolution: {integrity: sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==} + /@typescript-eslint/scope-manager/5.57.1: + resolution: {integrity: sha512-N/RrBwEUKMIYxSKl0oDK5sFVHd6VI7p9K5MyUlVYAY6dyNb/wHUqndkTd3XhpGlXgnQsBkRZuu4f9kAHghvgPw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.51.0 - '@typescript-eslint/visitor-keys': 5.51.0 + '@typescript-eslint/types': 5.57.1 + '@typescript-eslint/visitor-keys': 5.57.1 dev: true - /@typescript-eslint/type-utils/5.51.0_4vsywjlpuriuw3tl5oq6zy5a64: - resolution: {integrity: sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ==} + /@typescript-eslint/type-utils/5.57.1_voubu7prgxjfsfbgx5d4sqnwiy: + resolution: {integrity: sha512-/RIPQyx60Pt6ga86hKXesXkJ2WOS4UemFrmmq/7eOyiYjYv/MUSHPlkhU6k9T9W1ytnTJueqASW+wOmW4KrViw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -2566,23 +2260,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.51.0_4vsywjlpuriuw3tl5oq6zy5a64 + '@typescript-eslint/typescript-estree': 5.57.1_typescript@5.0.4 + '@typescript-eslint/utils': 5.57.1_voubu7prgxjfsfbgx5d4sqnwiy debug: 4.3.4 - eslint: 8.33.0 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + eslint: 8.38.0 + tsutils: 3.21.0_typescript@5.0.4 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.51.0: - resolution: {integrity: sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==} + /@typescript-eslint/types/5.57.1: + resolution: {integrity: sha512-bSs4LOgyV3bJ08F5RDqO2KXqg3WAdwHCu06zOqcQ6vqbTJizyBhuh1o1ImC69X4bV2g1OJxbH71PJqiO7Y1RuA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.51.0_typescript@4.9.5: - resolution: {integrity: sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==} + /@typescript-eslint/typescript-estree/5.57.1_typescript@5.0.4: + resolution: {integrity: sha512-A2MZqD8gNT0qHKbk2wRspg7cHbCDCk2tcqt6ScCFLr5Ru8cn+TCfM786DjPhqwseiS+PrYwcXht5ztpEQ6TFTw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -2590,70 +2284,70 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.51.0 - '@typescript-eslint/visitor-keys': 5.51.0 + '@typescript-eslint/types': 5.57.1 + '@typescript-eslint/visitor-keys': 5.57.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.7 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + semver: 7.3.8 + tsutils: 3.21.0_typescript@5.0.4 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.51.0_4vsywjlpuriuw3tl5oq6zy5a64: - resolution: {integrity: sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==} + /@typescript-eslint/utils/5.57.1_voubu7prgxjfsfbgx5d4sqnwiy: + resolution: {integrity: sha512-kN6vzzf9NkEtawECqze6v99LtmDiUJCVpvieTFA1uL7/jDghiJGubGZ5csicYHU1Xoqb3oH/R5cN5df6W41Nfg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: + '@eslint-community/eslint-utils': 4.4.0_eslint@8.38.0 '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.51.0 - '@typescript-eslint/types': 5.51.0 - '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.5 - eslint: 8.33.0 + '@typescript-eslint/scope-manager': 5.57.1 + '@typescript-eslint/types': 5.57.1 + '@typescript-eslint/typescript-estree': 5.57.1_typescript@5.0.4 + eslint: 8.38.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.33.0 - semver: 7.3.7 + semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.51.0: - resolution: {integrity: sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==} + /@typescript-eslint/visitor-keys/5.57.1: + resolution: {integrity: sha512-RjQrAniDU0CEk5r7iphkm731zKlFiUjvcBS2yHAg8WWqFMCaCrD0rKEVOMUyMMcbGPZ0bPp56srkGWrgfZqLRA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.51.0 - eslint-visitor-keys: 3.3.0 + '@typescript-eslint/types': 5.57.1 + eslint-visitor-keys: 3.4.0 dev: true - /@vitest/expect/0.28.5: - resolution: {integrity: sha512-gqTZwoUTwepwGIatnw4UKpQfnoyV0Z9Czn9+Lo2/jLIt4/AXLTn+oVZxlQ7Ng8bzcNkR+3DqLJ08kNr8jRmdNQ==} + /@vitest/expect/0.29.8: + resolution: {integrity: sha512-xlcVXn5I5oTq6NiZSY3ykyWixBxr5mG8HYtjvpgg6KaqHm0mvhX18xuwl5YGxIRNt/A5jidd7CWcNHrSvgaQqQ==} dependencies: - '@vitest/spy': 0.28.5 - '@vitest/utils': 0.28.5 + '@vitest/spy': 0.29.8 + '@vitest/utils': 0.29.8 chai: 4.3.7 dev: true - /@vitest/runner/0.28.5: - resolution: {integrity: sha512-NKkHtLB+FGjpp5KmneQjTcPLWPTDfB7ie+MmF1PnUBf/tGe2OjGxWyB62ySYZ25EYp9krR5Bw0YPLS/VWh1QiA==} + /@vitest/runner/0.29.8: + resolution: {integrity: sha512-FzdhnRDwEr/A3Oo1jtIk/B952BBvP32n1ObMEb23oEJNO+qO5cBet6M2XWIDQmA7BDKGKvmhUf2naXyp/2JEwQ==} dependencies: - '@vitest/utils': 0.28.5 + '@vitest/utils': 0.29.8 p-limit: 4.0.0 pathe: 1.1.0 dev: true - /@vitest/spy/0.28.5: - resolution: {integrity: sha512-7if6rsHQr9zbmvxN7h+gGh2L9eIIErgf8nSKYDlg07HHimCxp4H6I/X/DPXktVPPLQfiZ1Cw2cbDIx9fSqDjGw==} + /@vitest/spy/0.29.8: + resolution: {integrity: sha512-VdjBe9w34vOMl5I5mYEzNX8inTxrZ+tYUVk9jxaZJmHFwmDFC/GV3KBFTA/JKswr3XHvZL+FE/yq5EVhb6pSAw==} dependencies: tinyspy: 1.0.2 dev: true - /@vitest/ui/0.28.5: - resolution: {integrity: sha512-hzzZzv38mH/LMFh54QEJpWFuGixZZBOD+C0fHU81d1lsvochPwNZhWJbuRJQNyZLSMZYCYW4hF6PpNQJXDHDmg==} + /@vitest/ui/0.29.8: + resolution: {integrity: sha512-+vbLd+c1R/XUWfzJsWeyjeiw13fwJ95I5tguxaqXRg61y9iYUKesVljg7Pttp2uo7VK+kAjvY91J41NZ1Vx3vg==} dependencies: fast-glob: 3.2.12 flatted: 3.2.7 @@ -2662,13 +2356,12 @@ packages: sirv: 2.0.2 dev: true - /@vitest/utils/0.28.5: - resolution: {integrity: sha512-UyZdYwdULlOa4LTUSwZ+Paz7nBHGTT72jKwdFSV4IjHF1xsokp+CabMdhjvVhYwkLfO88ylJT46YMilnkSARZA==} + /@vitest/utils/0.29.8: + resolution: {integrity: sha512-qGzuf3vrTbnoY+RjjVVIBYfuWMjn3UMUqyQtdGNZ6ZIIyte7B37exj6LaVkrZiUTvzSadVvO/tJm8AEgbGCBPg==} dependencies: cli-truncate: 3.1.0 diff: 5.1.0 loupe: 2.3.6 - picocolors: 1.0.0 pretty-format: 27.5.1 dev: true @@ -2684,14 +2377,6 @@ packages: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true - /accepts/1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - dev: false - /acorn-globals/7.0.1: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: @@ -2725,6 +2410,7 @@ packages: debug: 4.3.4 transitivePeerDependencies: - supports-color + dev: true /aggregate-error/3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} @@ -2741,6 +2427,7 @@ packages: fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 + dev: true /ajv/8.11.0: resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} @@ -2773,6 +2460,7 @@ packages: engines: {node: '>=4'} dependencies: color-convert: 1.9.3 + dev: true /ansi-styles/4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} @@ -2806,12 +2494,6 @@ packages: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: true - /argparse/1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: false - /argparse/2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true @@ -2826,8 +2508,9 @@ packages: engines: {node: '>=8'} dev: false - /array-flatten/1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + /array-back/6.2.2: + resolution: {integrity: sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==} + engines: {node: '>=12.17'} dev: false /array-ify/1.0.0: @@ -2900,6 +2583,7 @@ packages: /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true /before-after-hook/2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} @@ -2910,26 +2594,6 @@ packages: engines: {node: '>=8'} dev: true - /body-parser/1.20.0: - resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dependencies: - bytes: 3.1.2 - content-type: 1.0.4 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.10.3 - raw-body: 2.5.1 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /bowser/2.11.0: resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} dev: true @@ -2945,6 +2609,7 @@ packages: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 + dev: true /braces/3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} @@ -2973,16 +2638,6 @@ packages: engines: {node: '>=6'} dev: true - /bundle-require/3.1.2_esbuild@0.15.9: - resolution: {integrity: sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.13' - dependencies: - esbuild: 0.15.9 - load-tsconfig: 0.2.3 - dev: true - /bundle-require/4.0.1_esbuild@0.17.7: resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2999,23 +2654,11 @@ packages: dependencies: streamsearch: 1.1.0 - /bytes/3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - dev: false - /cac/6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} dev: true - /call-bind/1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.1.2 - dev: false - /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -3035,8 +2678,8 @@ packages: engines: {node: '>=6'} dev: true - /carbon-components-svelte/0.73.1: - resolution: {integrity: sha512-kI/VEcxYl7LVsLJeDsg1rhB86g/NXQt80yzQDnFmbW4CEt7e3nCG9Bo3oNIWIFiwvbPVHhBeo4VhiqH08Qxd7g==} + /carbon-components-svelte/0.73.5: + resolution: {integrity: sha512-emHxfMurN6ZiBCnPB6VErw/uKoXCuTBB70Q/woj+9DhTtKoGT1ejBZ75DUxXoDP/n7ZEGJ/y1dmqQ8xM3TJ8Hg==} dependencies: flatpickr: 4.6.9 dev: true @@ -3055,11 +2698,11 @@ packages: resolution: {integrity: sha512-p/llZde2kP2BI9SOqM+QFKGfQnYrW+4dVxF1rAYriEADXDsjt9EYlh+KpQ5qf4JpXAq+e2+TB/r/lIG1xdUbAQ==} dev: true - /carbon-preprocess-svelte/0.9.1_svelte@3.55.1: + /carbon-preprocess-svelte/0.9.1_svelte@3.58.0: resolution: {integrity: sha512-i0hj5JrpSeu1F6q5Hehn4Qe3mpb1oXi57ybbsTF2TexFBGtzaBDQ3/mmXBKRNuk4PVQCtTIXQe4vk1A6Uyso6g==} dependencies: purgecss: 4.1.3 - svelte-preprocess: 4.10.7_4x7phaipmicbaooxtnresslofa + svelte-preprocess: 4.10.7_aswnnyxiuwffgztcffmr7c7eny typescript: 4.9.5 transitivePeerDependencies: - '@babel/core' @@ -3080,19 +2723,6 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /chai/4.3.6: - resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.2 - deep-eql: 3.0.1 - get-func-name: 2.0.0 - loupe: 2.3.6 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - /chai/4.3.7: resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} engines: {node: '>=4'} @@ -3106,6 +2736,13 @@ packages: type-detect: 4.0.8 dev: true + /chalk-template/0.4.0: + resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==} + engines: {node: '>=12'} + dependencies: + chalk: 4.1.2 + dev: false + /chalk/2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -3113,6 +2750,7 @@ packages: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 + dev: true /chalk/4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -3121,6 +2759,11 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 + /chalk/5.2.0: + resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + /check-error/1.0.2: resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} dev: true @@ -3176,14 +2819,11 @@ packages: wrap-ansi: 7.0.0 dev: true - /code-block-writer/11.0.3: - resolution: {integrity: sha512-NiujjUFB4SwScJq2bwbYUtXbZhBSlY6vYzm++3Q6oC+U+injTqfPYFK8wS9COOmb2lueqp0ZRB4nK1VYeHgNyw==} - dev: false - /color-convert/1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 + dev: true /color-convert/2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -3193,6 +2833,7 @@ packages: /color-name/1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -3214,11 +2855,6 @@ packages: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: true - /colors/1.2.5: - resolution: {integrity: sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==} - engines: {node: '>=0.1.90'} - dev: false - /combined-stream/1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -3243,21 +2879,20 @@ packages: array-back: 4.0.2 dev: false - /command-line-usage/6.1.3: - resolution: {integrity: sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==} - engines: {node: '>=8.0.0'} + /command-line-usage/7.0.1: + resolution: {integrity: sha512-NCyznE//MuTjwi3y84QVUGEOT+P5oto1e1Pk/jFPVdPPfsG03qpTIl3yw6etR+v73d0lXsoojRpvbru2sqePxQ==} + engines: {node: '>=12.20.0'} dependencies: - array-back: 4.0.2 - chalk: 2.4.2 - table-layout: 1.0.2 - typical: 5.2.0 + array-back: 6.2.2 + chalk-template: 0.4.0 + table-layout: 3.0.2 + typical: 7.1.1 dev: false - /commander/2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - requiresBuild: true - dev: false - optional: true + /commander/10.0.0: + resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} + engines: {node: '>=14'} + dev: true /commander/4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} @@ -3274,11 +2909,6 @@ packages: engines: {node: '>= 12'} dev: true - /commander/9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - dev: true - /commondir/1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true @@ -3299,18 +2929,6 @@ packages: engines: {node: '>= 14.17.0'} dev: true - /content-disposition/0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - dependencies: - safe-buffer: 5.2.1 - dev: false - - /content-type/1.0.4: - resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} - engines: {node: '>= 0.6'} - dev: false - /conventional-changelog-angular/5.0.13: resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} engines: {node: '>=10'} @@ -3341,15 +2959,11 @@ packages: through2: 4.0.2 dev: true - /cookie-signature/1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: false - /cookie/0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} - /cosmiconfig-typescript-loader/4.3.0_q6dimmvgduffavfq3obt6abtea: + /cosmiconfig-typescript-loader/4.3.0_yrgh2fbk3fyss5lzwhhtg6tyla: resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==} engines: {node: '>=12', npm: '>=6'} peerDependencies: @@ -3358,10 +2972,10 @@ packages: ts-node: '>=10' typescript: '>=3' dependencies: - '@types/node': 18.11.19 + '@types/node': 18.15.11 cosmiconfig: 8.0.0 - ts-node: 10.9.1_qqdszkrtcshgbphghj7vnvrrby - typescript: 4.9.5 + ts-node: 10.9.1_bhanhq442dy43ncydsavgi4jfi + typescript: 5.0.4 dev: true /cosmiconfig/8.0.0: @@ -3393,19 +3007,11 @@ packages: hasBin: true dev: true - /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'} + /cssstyle/3.0.0: + resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==} + engines: {node: '>=14'} dependencies: - cssom: 0.3.8 + rrweb-cssom: 0.6.0 dev: true /d3-array/2.12.1: @@ -3653,8 +3259,8 @@ packages: d3-transition: 3.0.1_d3-selection@3.0.0 dev: true - /d3/7.8.2: - resolution: {integrity: sha512-WXty7qOGSHb7HR7CfOzwN1Gw04MUOzN8qh9ZUsvwycIMb4DYMpY9xczZ6jUorGtO6bR9BPMPaueIKwiDxu9uiQ==} + /d3/7.8.4: + resolution: {integrity: sha512-q2WHStdhiBtD8DMmhDPyJmXUxr6VWRngKyiJ5EfXMxPw+tqT6BhNjhJZ4w3BHsNm3QoVfZLY8Orq/qPFczwKRA==} engines: {node: '>=12'} dependencies: d3-array: 3.2.0 @@ -3694,30 +3300,19 @@ packages: engines: {node: '>=8'} dev: true - /data-urls/3.0.2: - resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} - engines: {node: '>=12'} + /data-urls/4.0.0: + resolution: {integrity: sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==} + engines: {node: '>=14'} dependencies: abab: 2.0.6 whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 + whatwg-url: 12.0.1 dev: true /date-fns/2.8.1: resolution: {integrity: sha512-EL/C8IHvYRwAHYgFRse4MGAPSqlJVlOrhVYZ75iQBKrnv+ZedmYsgwH3t+BCDuZDXpoo07+q9j4qgSSOa7irJg==} dev: true - /debug/2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - dev: false - /debug/4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -3746,14 +3341,6 @@ packages: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} dev: true - /deep-eql/3.0.1: - resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} - engines: {node: '>=0.12'} - dependencies: - ms: 2.1.2 - type-detect: 4.0.8 - dev: true - /deep-eql/4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} @@ -3761,11 +3348,6 @@ packages: type-detect: 4.0.8 dev: true - /deep-extend/0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: false - /deep-is/0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -3785,20 +3367,10 @@ packages: engines: {node: '>=0.4.0'} dev: true - /depd/2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: false - /deprecation/2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} dev: false - /destroy/1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: false - /detect-indent/6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} @@ -3824,30 +3396,27 @@ packages: path-type: 4.0.0 dev: true - /discord-api-types/0.37.33: - resolution: {integrity: sha512-ZMH5RU3q1pvYS+2wGUJ5Zvy8jMGTQ4wCpbDlIQDkbIL/k6kJwBPsXnCg81g2GywlOuf0f8ezakxVSe+sZuY6ig==} - dev: false - - /discord-api-types/0.37.35: - resolution: {integrity: sha512-iyKZ/82k7FX3lcmHiAvvWu5TmyfVo78RtghBV/YsehK6CID83k5SI03DKKopBcln+TiEIYw5MGgq7SJXSpNzMg==} + /discord-api-types/0.37.37: + resolution: {integrity: sha512-LDMBKzl/zbvHO/yCzno5hevuA6lFIXJwdKSJZQrB+1ToDpFfN9thK+xxgZNR4aVkI7GHRDja0p4Sl2oYVPnHYg==} dev: false - /discord.js/14.7.1: - resolution: {integrity: sha512-1FECvqJJjjeYcjSm0IGMnPxLqja/pmG1B0W2l3lUY2Gi4KXiyTeQmU1IxWcbXHn2k+ytP587mMWqva2IA87EbA==} + /discord.js/14.9.0: + resolution: {integrity: sha512-ygGms5xP4hG+QrrY9k7d/OYCzMltSMtdl/2Snzq/nLCiZo+Sna91Ulv9l0+B5Jd/Czcq37B7wJAnmja7GOa+bg==} engines: {node: '>=16.9.0'} dependencies: - '@discordjs/builders': 1.4.0 - '@discordjs/collection': 1.3.0 - '@discordjs/rest': 1.5.0 - '@discordjs/util': 0.1.0 - '@sapphire/snowflake': 3.2.2 - '@types/ws': 8.5.3 - discord-api-types: 0.37.35 + '@discordjs/builders': 1.6.1 + '@discordjs/collection': 1.5.0 + '@discordjs/formatters': 0.3.0 + '@discordjs/rest': 1.7.0 + '@discordjs/util': 0.2.0 + '@sapphire/snowflake': 3.4.0 + '@types/ws': 8.5.4 + discord-api-types: 0.37.37 fast-deep-equal: 3.1.3 lodash.snakecase: 4.1.1 tslib: 2.5.0 - undici: 5.18.0 - ws: 8.12.0 + undici: 5.21.0 + ws: 8.13.0 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -3874,8 +3443,8 @@ packages: is-obj: 2.0.0 dev: true - /dotenv-cli/7.1.0: - resolution: {integrity: sha512-motytjZFQB3ZtGTIN4c0vnFgv4kuNZ2WxVnGY6PVFiygCzkm3IFBBguDUzezd9HgNA0OYYd6vNCWlozs0Q1Zxg==} + /dotenv-cli/7.2.1: + resolution: {integrity: sha512-ODHbGTskqRtXAzZapDPvgNuDVQApu4oKX8lZW7Y0+9hKA6le1ZJlyRS687oU9FXjOVEDU/VFV6zI125HzhM1UQ==} hasBin: true dependencies: cross-spawn: 7.0.3 @@ -3904,10 +3473,6 @@ packages: safe-buffer: 5.2.1 dev: false - /ee-first/1.1.1: - resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} - dev: false - /emoji-regex/8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true @@ -3916,15 +3481,6 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true - /encodeurl/1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - dev: false - - /entities/2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - dev: true - /entities/4.4.0: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} @@ -3940,14 +3496,6 @@ packages: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true - /esbuild-android-64/0.14.48: - resolution: {integrity: sha512-3aMjboap/kqwCUpGWIjsk20TtxVoKck8/4Tu19rubh7t5Ra0Yrpg30Mt1QXXlipOazrEceGeWurXKeFJgkPOUg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - /esbuild-android-64/0.15.9: resolution: {integrity: sha512-HQCX7FJn9T4kxZQkhPjNZC7tBWZqJvhlLHPU2SFzrQB/7nDXjmTIFpFTjt7Bd1uFpeXmuwf5h5fZm+x/hLnhbw==} engines: {node: '>=12'} @@ -3957,14 +3505,6 @@ packages: dev: true optional: true - /esbuild-android-arm64/0.14.48: - resolution: {integrity: sha512-vptI3K0wGALiDq+EvRuZotZrJqkYkN5282iAfcffjI5lmGG9G1ta/CIVauhY42MBXwEgDJkweiDcDMRLzBZC4g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - /esbuild-android-arm64/0.15.9: resolution: {integrity: sha512-E6zbLfqbFVCNEKircSHnPiSTsm3fCRxeIMPfrkS33tFjIAoXtwegQfVZqMGR0FlsvVxp2NEDOUz+WW48COCjSg==} engines: {node: '>=12'} @@ -3974,14 +3514,6 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.14.48: - resolution: {integrity: sha512-gGQZa4+hab2Va/Zww94YbshLuWteyKGD3+EsVon8EWTWhnHFRm5N9NbALNbwi/7hQ/hM1Zm4FuHg+k6BLsl5UA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - /esbuild-darwin-64/0.15.9: resolution: {integrity: sha512-gI7dClcDN/HHVacZhTmGjl0/TWZcGuKJ0I7/xDGJwRQQn7aafZGtvagOFNmuOq+OBFPhlPv1T6JElOXb0unkSQ==} engines: {node: '>=12'} @@ -3991,14 +3523,6 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.14.48: - resolution: {integrity: sha512-bFjnNEXjhZT+IZ8RvRGNJthLWNHV5JkCtuOFOnjvo5pC0sk2/QVk0Qc06g2PV3J0TcU6kaPC3RN9yy9w2PSLEA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - /esbuild-darwin-arm64/0.15.9: resolution: {integrity: sha512-VZIMlcRN29yg/sv7DsDwN+OeufCcoTNaTl3Vnav7dL/nvsApD7uvhVRbgyMzv0zU/PP0xRhhIpTyc7lxEzHGSw==} engines: {node: '>=12'} @@ -4008,14 +3532,6 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.14.48: - resolution: {integrity: sha512-1NOlwRxmOsnPcWOGTB10JKAkYSb2nue0oM1AfHWunW/mv3wERfJmnYlGzL3UAOIUXZqW8GeA2mv+QGwq7DToqA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - /esbuild-freebsd-64/0.15.9: resolution: {integrity: sha512-uM4z5bTvuAXqPxrI204txhlsPIolQPWRMLenvGuCPZTnnGlCMF2QLs0Plcm26gcskhxewYo9LkkmYSS5Czrb5A==} engines: {node: '>=12'} @@ -4025,14 +3541,6 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.14.48: - resolution: {integrity: sha512-gXqKdO8wabVcYtluAbikDH2jhXp+Klq5oCD5qbVyUG6tFiGhrC9oczKq3vIrrtwcxDQqK6+HDYK8Zrd4bCA9Gw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - /esbuild-freebsd-arm64/0.15.9: resolution: {integrity: sha512-HHDjT3O5gWzicGdgJ5yokZVN9K9KG05SnERwl9nBYZaCjcCgj/sX8Ps1jvoFSfNCO04JSsHSOWo4qvxFuj8FoA==} engines: {node: '>=12'} @@ -4042,14 +3550,6 @@ packages: dev: true optional: true - /esbuild-linux-32/0.14.48: - resolution: {integrity: sha512-ghGyDfS289z/LReZQUuuKq9KlTiTspxL8SITBFQFAFRA/IkIvDpnZnCAKTCjGXAmUqroMQfKJXMxyjJA69c/nQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - /esbuild-linux-32/0.15.9: resolution: {integrity: sha512-AQIdE8FugGt1DkcekKi5ycI46QZpGJ/wqcMr7w6YUmOmp2ohQ8eO4sKUsOxNOvYL7hGEVwkndSyszR6HpVHLFg==} engines: {node: '>=12'} @@ -4059,14 +3559,6 @@ packages: dev: true optional: true - /esbuild-linux-64/0.14.48: - resolution: {integrity: sha512-vni3p/gppLMVZLghI7oMqbOZdGmLbbKR23XFARKnszCIBpEMEDxOMNIKPmMItQrmH/iJrL1z8Jt2nynY0bE1ug==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - /esbuild-linux-64/0.15.9: resolution: {integrity: sha512-4RXjae7g6Qs7StZyiYyXTZXBlfODhb1aBVAjd+ANuPmMhWthQilWo7rFHwJwL7DQu1Fjej2sODAVwLbcIVsAYQ==} engines: {node: '>=12'} @@ -4076,14 +3568,6 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.14.48: - resolution: {integrity: sha512-+VfSV7Akh1XUiDNXgqgY1cUP1i2vjI+BmlyXRfVz5AfV3jbpde8JTs5Q9sYgaoq5cWfuKfoZB/QkGOI+QcL1Tw==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - /esbuild-linux-arm/0.15.9: resolution: {integrity: sha512-3Zf2GVGUOI7XwChH3qrnTOSqfV1V4CAc/7zLVm4lO6JT6wbJrTgEYCCiNSzziSju+J9Jhf9YGWk/26quWPC6yQ==} engines: {node: '>=12'} @@ -4093,14 +3577,6 @@ packages: dev: true optional: true - /esbuild-linux-arm64/0.14.48: - resolution: {integrity: sha512-3CFsOlpoxlKPRevEHq8aAntgYGYkE1N9yRYAcPyng/p4Wyx0tPR5SBYsxLKcgPB9mR8chHEhtWYz6EZ+H199Zw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - /esbuild-linux-arm64/0.15.9: resolution: {integrity: sha512-a+bTtxJmYmk9d+s2W4/R1SYKDDAldOKmWjWP0BnrWtDbvUBNOm++du0ysPju4mZVoEFgS1yLNW+VXnG/4FNwdQ==} engines: {node: '>=12'} @@ -4110,14 +3586,6 @@ packages: dev: true optional: true - /esbuild-linux-mips64le/0.14.48: - resolution: {integrity: sha512-cs0uOiRlPp6ymknDnjajCgvDMSsLw5mST2UXh+ZIrXTj2Ifyf2aAP3Iw4DiqgnyYLV2O/v/yWBJx+WfmKEpNLA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - /esbuild-linux-mips64le/0.15.9: resolution: {integrity: sha512-Zn9HSylDp89y+TRREMDoGrc3Z4Hs5u56ozZLQCiZAUx2+HdbbXbWdjmw3FdTJ/i7t5Cew6/Q+6kfO3KCcFGlyw==} engines: {node: '>=12'} @@ -4127,14 +3595,6 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.14.48: - resolution: {integrity: sha512-+2F0vJMkuI0Wie/wcSPDCqXvSFEELH7Jubxb7mpWrA/4NpT+/byjxDz0gG6R1WJoeDefcrMfpBx4GFNN1JQorQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - /esbuild-linux-ppc64le/0.15.9: resolution: {integrity: sha512-OEiOxNAMH9ENFYqRsWUj3CWyN3V8P3ZXyfNAtX5rlCEC/ERXrCEFCJji/1F6POzsXAzxvUJrTSTCy7G6BhA6Fw==} engines: {node: '>=12'} @@ -4144,14 +3604,6 @@ packages: dev: true optional: true - /esbuild-linux-riscv64/0.14.48: - resolution: {integrity: sha512-BmaK/GfEE+5F2/QDrIXteFGKnVHGxlnK9MjdVKMTfvtmudjY3k2t8NtlY4qemKSizc+QwyombGWTBDc76rxePA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true - /esbuild-linux-riscv64/0.15.9: resolution: {integrity: sha512-ukm4KsC3QRausEFjzTsOZ/qqazw0YvJsKmfoZZm9QW27OHjk2XKSQGGvx8gIEswft/Sadp03/VZvAaqv5AIwNA==} engines: {node: '>=12'} @@ -4161,14 +3613,6 @@ packages: dev: true optional: true - /esbuild-linux-s390x/0.14.48: - resolution: {integrity: sha512-tndw/0B9jiCL+KWKo0TSMaUm5UWBLsfCKVdbfMlb3d5LeV9WbijZ8Ordia8SAYv38VSJWOEt6eDCdOx8LqkC4g==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - /esbuild-linux-s390x/0.15.9: resolution: {integrity: sha512-uDOQEH55wQ6ahcIKzQr3VyjGc6Po/xblLGLoUk3fVL1qjlZAibtQr6XRfy5wPJLu/M2o0vQKLq4lyJ2r1tWKcw==} engines: {node: '>=12'} @@ -4178,14 +3622,6 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.14.48: - resolution: {integrity: sha512-V9hgXfwf/T901Lr1wkOfoevtyNkrxmMcRHyticybBUHookznipMOHoF41Al68QBsqBxnITCEpjjd4yAos7z9Tw==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - optional: true - /esbuild-netbsd-64/0.15.9: resolution: {integrity: sha512-yWgxaYTQz+TqX80wXRq6xAtb7GSBAp6gqLKfOdANg9qEmAI1Bxn04IrQr0Mzm4AhxvGKoHzjHjMgXbCCSSDxcw==} engines: {node: '>=12'} @@ -4195,14 +3631,6 @@ packages: dev: true optional: true - /esbuild-openbsd-64/0.14.48: - resolution: {integrity: sha512-+IHf4JcbnnBl4T52egorXMatil/za0awqzg2Vy6FBgPcBpisDWT2sVz/tNdrK9kAqj+GZG/jZdrOkj7wsrNTKA==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true - /esbuild-openbsd-64/0.15.9: resolution: {integrity: sha512-JmS18acQl4iSAjrEha1MfEmUMN4FcnnrtTaJ7Qg0tDCOcgpPPQRLGsZqhes0vmx8VA6IqRyScqXvaL7+Q0Uf3A==} engines: {node: '>=12'} @@ -4212,14 +3640,6 @@ packages: dev: true optional: true - /esbuild-sunos-64/0.14.48: - resolution: {integrity: sha512-77m8bsr5wOpOWbGi9KSqDphcq6dFeJyun8TA+12JW/GAjyfTwVtOnN8DOt6DSPUfEV+ltVMNqtXUeTeMAxl5KA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - optional: true - /esbuild-sunos-64/0.15.9: resolution: {integrity: sha512-UKynGSWpzkPmXW3D2UMOD9BZPIuRaSqphxSCwScfEE05Be3KAmvjsBhht1fLzKpiFVJb0BYMd4jEbWMyJ/z1hQ==} engines: {node: '>=12'} @@ -4229,14 +3649,6 @@ packages: dev: true optional: true - /esbuild-windows-32/0.14.48: - resolution: {integrity: sha512-EPgRuTPP8vK9maxpTGDe5lSoIBHGKO/AuxDncg5O3NkrPeLNdvvK8oywB0zGaAZXxYWfNNSHskvvDgmfVTguhg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - /esbuild-windows-32/0.15.9: resolution: {integrity: sha512-aqXvu4/W9XyTVqO/hw3rNxKE1TcZiEYHPsXM9LwYmKSX9/hjvfIJzXwQBlPcJ/QOxedfoMVH0YnhhQ9Ffb0RGA==} engines: {node: '>=12'} @@ -4246,14 +3658,6 @@ packages: dev: true optional: true - /esbuild-windows-64/0.14.48: - resolution: {integrity: sha512-YmpXjdT1q0b8ictSdGwH3M8VCoqPpK1/UArze3X199w6u8hUx3V8BhAi1WjbsfDYRBanVVtduAhh2sirImtAvA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true - /esbuild-windows-64/0.15.9: resolution: {integrity: sha512-zm7h91WUmlS4idMtjvCrEeNhlH7+TNOmqw5dJPJZrgFaxoFyqYG6CKDpdFCQXdyKpD5yvzaQBOMVTCBVKGZDEg==} engines: {node: '>=12'} @@ -4263,14 +3667,6 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.14.48: - resolution: {integrity: sha512-HHaOMCsCXp0rz5BT2crTka6MPWVno121NKApsGs/OIW5QC0ggC69YMGs1aJct9/9FSUF4A1xNE/cLvgB5svR4g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - /esbuild-windows-arm64/0.15.9: resolution: {integrity: sha512-yQEVIv27oauAtvtuhJVfSNMztJJX47ismRS6Sv2QMVV9RM+6xjbMWuuwM2nxr5A2/gj/mu2z9YlQxiwoFRCfZA==} engines: {node: '>=12'} @@ -4280,33 +3676,6 @@ packages: dev: true optional: true - /esbuild/0.14.48: - resolution: {integrity: sha512-w6N1Yn5MtqK2U1/WZTX9ZqUVb8IOLZkZ5AdHkT6x3cHDMVsYWC7WPdiLmx19w3i4Rwzy5LqsEMtVihG3e4rFzA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - esbuild-android-64: 0.14.48 - esbuild-android-arm64: 0.14.48 - esbuild-darwin-64: 0.14.48 - esbuild-darwin-arm64: 0.14.48 - esbuild-freebsd-64: 0.14.48 - esbuild-freebsd-arm64: 0.14.48 - esbuild-linux-32: 0.14.48 - esbuild-linux-64: 0.14.48 - esbuild-linux-arm: 0.14.48 - esbuild-linux-arm64: 0.14.48 - esbuild-linux-mips64le: 0.14.48 - esbuild-linux-ppc64le: 0.14.48 - esbuild-linux-riscv64: 0.14.48 - esbuild-linux-s390x: 0.14.48 - esbuild-netbsd-64: 0.14.48 - esbuild-openbsd-64: 0.14.48 - esbuild-sunos-64: 0.14.48 - esbuild-windows-32: 0.14.48 - esbuild-windows-64: 0.14.48 - esbuild-windows-arm64: 0.14.48 - /esbuild/0.15.9: resolution: {integrity: sha512-OnYr1rkMVxtmMHIAKZLMcEUlJmqcbxBz9QoBU8G9v455na0fuzlT/GLu6l+SRghrk0Mm2fSSciMmzV43Q8e0Gg==} engines: {node: '>=12'} @@ -4337,35 +3706,6 @@ packages: esbuild-windows-arm64: 0.15.9 dev: true - /esbuild/0.16.17: - resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.16.17 - '@esbuild/android-arm64': 0.16.17 - '@esbuild/android-x64': 0.16.17 - '@esbuild/darwin-arm64': 0.16.17 - '@esbuild/darwin-x64': 0.16.17 - '@esbuild/freebsd-arm64': 0.16.17 - '@esbuild/freebsd-x64': 0.16.17 - '@esbuild/linux-arm': 0.16.17 - '@esbuild/linux-arm64': 0.16.17 - '@esbuild/linux-ia32': 0.16.17 - '@esbuild/linux-loong64': 0.16.17 - '@esbuild/linux-mips64el': 0.16.17 - '@esbuild/linux-ppc64': 0.16.17 - '@esbuild/linux-riscv64': 0.16.17 - '@esbuild/linux-s390x': 0.16.17 - '@esbuild/linux-x64': 0.16.17 - '@esbuild/netbsd-x64': 0.16.17 - '@esbuild/openbsd-x64': 0.16.17 - '@esbuild/sunos-x64': 0.16.17 - '@esbuild/win32-arm64': 0.16.17 - '@esbuild/win32-ia32': 0.16.17 - '@esbuild/win32-x64': 0.16.17 - /esbuild/0.17.7: resolution: {integrity: sha512-+5hHlrK108fT6C6/40juy0w4DYKtyZ5NjfBlTccBdsFutR7WBxpIY633JzZJewdsCy8xWA/u2z0MSniIJwufYg==} engines: {node: '>=12'} @@ -4394,20 +3734,16 @@ packages: '@esbuild/win32-arm64': 0.17.7 '@esbuild/win32-ia32': 0.17.7 '@esbuild/win32-x64': 0.17.7 - dev: true /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} dev: true - /escape-html/1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: false - /escape-string-regexp/1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} + dev: true /escape-string-regexp/4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} @@ -4427,22 +3763,22 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier/8.6.0_eslint@8.33.0: - resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==} + /eslint-config-prettier/8.8.0_eslint@8.38.0: + resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.33.0 + eslint: 8.38.0 dev: true - /eslint-plugin-svelte3/4.0.0_eslint@8.33.0: + /eslint-plugin-svelte3/4.0.0_eslint@8.38.0: resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} peerDependencies: eslint: '>=8.0.0' svelte: ^3.2.0 dependencies: - eslint: 8.33.0 + eslint: 8.38.0 dev: true /eslint-scope/5.1.1: @@ -4461,32 +3797,20 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.33.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.33.0 - eslint-visitor-keys: 2.1.0 - dev: true - - /eslint-visitor-keys/2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true - - /eslint-visitor-keys/3.3.0: - resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + /eslint-visitor-keys/3.4.0: + resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.33.0: - resolution: {integrity: sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==} + /eslint/8.38.0: + resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.4.1 + '@eslint-community/eslint-utils': 4.4.0_eslint@8.38.0 + '@eslint-community/regexpp': 4.5.0 + '@eslint/eslintrc': 2.0.2 + '@eslint/js': 8.38.0 '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -4497,10 +3821,9 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.33.0 - eslint-visitor-keys: 3.3.0 - espree: 9.4.1 - esquery: 1.4.0 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 + esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 @@ -4521,7 +3844,6 @@ packages: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.1 - regexpp: 3.2.0 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 @@ -4532,13 +3854,13 @@ packages: /esm-env/1.0.0: resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} - /espree/9.4.1: - resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} + /espree/9.5.1: + resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.8.2 acorn-jsx: 5.3.2_acorn@8.8.2 - eslint-visitor-keys: 3.3.0 + eslint-visitor-keys: 3.4.0 dev: true /esprima/4.0.1: @@ -4547,8 +3869,8 @@ packages: hasBin: true dev: true - /esquery/1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} + /esquery/1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 @@ -4580,11 +3902,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /etag/1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - dev: false - /execa/5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -4600,13 +3917,13 @@ packages: strip-final-newline: 2.0.0 dev: true - /execa/6.1.0: - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /execa/7.1.1: + resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 - human-signals: 3.0.1 + human-signals: 4.3.1 is-stream: 3.0.0 merge-stream: 2.0.0 npm-run-path: 5.1.0 @@ -4615,58 +3932,9 @@ packages: strip-final-newline: 3.0.0 dev: true - /express/4.18.1: - resolution: {integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==} - engines: {node: '>= 0.10.0'} - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.0 - content-disposition: 0.5.4 - content-type: 1.0.4 - cookie: 0.5.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.10.3 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: false - /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-glob/3.2.11: - resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - /fast-glob/3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} @@ -4679,14 +3947,17 @@ packages: /fast-json-stable-stringify/2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true /fast-levenshtein/2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true - /fast-xml-parser/3.19.0: - resolution: {integrity: sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==} + /fast-xml-parser/4.1.2: + resolution: {integrity: sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg==} hasBin: true + dependencies: + strnum: 1.0.5 dev: true /fastq/1.13.0: @@ -4701,8 +3972,8 @@ packages: flat-cache: 3.0.4 dev: true - /file-type/18.2.0: - resolution: {integrity: sha512-M3RQMWY3F2ykyWZ+IHwNCjpnUmukYhtdkGGC1ZVEUb0ve5REGF7NNJ4Q9ehCUabtQKtSVFOMbFTXgJlFb0DQIg==} + /file-type/18.2.1: + resolution: {integrity: sha512-Yw5MtnMv7vgD2/6Bjmmuegc8bQEVA9GmAyaR18bMYWKqsWDG9wgYZ1j4I6gNMF5Y5JBDcUcjRQqNQx7Y8uotcg==} engines: {node: '>=14.16'} dependencies: readable-web-to-node-stream: 3.0.2 @@ -4716,21 +3987,6 @@ packages: dependencies: to-regex-range: 5.0.1 - /finalhandler/1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: false - /find-replace/3.0.0: resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} engines: {node: '>=4.0.0'} @@ -4783,25 +4039,6 @@ packages: mime-types: 2.1.35 dev: true - /forwarded/0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: false - - /fresh/0.5.2: - resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} - engines: {node: '>= 0.6'} - dev: false - - /fs-extra/10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: false - /fs-extra/11.1.0: resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} engines: {node: '>=14.14'} @@ -4811,15 +4048,6 @@ packages: universalify: 2.0.0 dev: true - /fs-extra/7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: false - /fs-extra/9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} @@ -4858,14 +4086,6 @@ packages: resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} dev: true - /get-intrinsic/1.1.2: - resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.3 - dev: false - /get-stream/6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -4929,6 +4149,16 @@ packages: once: 1.4.0 dev: true + /glob/9.3.4: + resolution: {integrity: sha512-qaSc49hojMOv1EPM4EuyITjDSgSKI0rthoHnvE81tcOi1SCVndHko7auqxdQ14eiQG2NDBJBE86+2xIrbIvrbA==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + fs.realpath: 1.0.0 + minimatch: 8.0.3 + minipass: 4.2.5 + path-scurry: 1.6.3 + dev: true + /global-dirs/0.1.1: resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} engines: {node: '>=4'} @@ -4963,6 +4193,7 @@ packages: /graceful-fs/4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: true /grapheme-splitter/1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} @@ -4976,16 +4207,12 @@ packages: /has-flag/3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} + dev: true /has-flag/4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - /has-symbols/1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: false - /has/1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} @@ -5010,17 +4237,6 @@ packages: whatwg-encoding: 2.0.0 dev: true - /http-errors/2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - /http-proxy-agent/5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} @@ -5047,21 +4263,11 @@ packages: engines: {node: '>=10.17.0'} dev: true - /human-signals/3.0.1: - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} - engines: {node: '>=12.20.0'} + /human-signals/4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} dev: true - /iconv-lite/0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2 - debug: 4.3.4 - safer-buffer: 2.1.2 - dev: false - /iconv-lite/0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -5086,11 +4292,6 @@ packages: resolve-from: 4.0.0 dev: true - /import-lazy/4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - dev: false - /imurmurhash/0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -5124,11 +4325,6 @@ packages: engines: {node: '>=12'} dev: true - /ipaddr.js/1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: false - /is-arrayish/0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true @@ -5234,10 +4430,6 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /jju/1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: false - /jose/4.11.2: resolution: {integrity: sha512-njj0VL2TsIxCtgzhO+9RRobBvws4oYyCM8TpvoUQwl/MbIM3NFJRR9+e6x0sS5xXaP1t6OCBkaBME98OV9zU5A==} dev: false @@ -5262,8 +4454,8 @@ packages: argparse: 2.0.1 dev: true - /jsdom/21.1.0: - resolution: {integrity: sha512-m0lzlP7qOtthD918nenK3hdItSd2I+V3W9IrBcB36sqDwG+KnUs66IF5GY7laGWUnlM9vTsD0W1QwSEBYWWcJg==} + /jsdom/21.1.1: + resolution: {integrity: sha512-Jjgdmw48RKcdAIQyUD1UdBh2ecH7VqwaXPN3ehoZN6MqgVbMn+lRm1aAT1AsdJRAJpwfa4IpwgzySn61h2qu3w==} engines: {node: '>=14'} peerDependencies: canvas: ^2.5.0 @@ -5274,9 +4466,8 @@ packages: abab: 2.0.6 acorn: 8.8.2 acorn-globals: 7.0.1 - cssom: 0.5.0 - cssstyle: 2.3.0 - data-urls: 3.0.2 + cssstyle: 3.0.0 + data-urls: 4.0.0 decimal.js: 10.4.3 domexception: 4.0.0 escodegen: 2.0.0 @@ -5287,6 +4478,7 @@ packages: is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.2 parse5: 7.1.2 + rrweb-cssom: 0.6.0 saxes: 6.0.0 symbol-tree: 3.2.4 tough-cookie: 4.1.2 @@ -5294,8 +4486,8 @@ packages: webidl-conversions: 7.0.0 whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 - ws: 8.12.0 + whatwg-url: 12.0.1 + ws: 8.13.0 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -5309,6 +4501,7 @@ packages: /json-schema-traverse/0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true /json-schema-traverse/1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} @@ -5322,18 +4515,13 @@ packages: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: true - /jsonfile/4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.10 - dev: false - /jsonfile/6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 optionalDependencies: graceful-fs: 4.2.10 + dev: true /jsonparse/1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} @@ -5394,8 +4582,8 @@ packages: type-check: 0.4.0 dev: true - /lilconfig/2.0.6: - resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} + /lilconfig/2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} dev: true @@ -5403,21 +4591,21 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /lint-staged/13.1.0: - resolution: {integrity: sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ==} + /lint-staged/13.2.1: + resolution: {integrity: sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: + chalk: 5.2.0 cli-truncate: 3.1.0 - colorette: 2.0.19 - commander: 9.5.0 + commander: 10.0.0 debug: 4.3.4 - execa: 6.1.0 - lilconfig: 2.0.6 + execa: 7.1.1 + lilconfig: 2.1.0 listr2: 5.0.7 micromatch: 4.0.5 normalize-path: 3.0.0 - object-inspect: 1.12.2 + object-inspect: 1.12.3 pidtree: 0.6.0 string-argv: 0.3.1 yaml: 2.2.1 @@ -5473,6 +4661,10 @@ packages: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: true + /lodash.assignwith/4.2.0: + resolution: {integrity: sha512-ZznplvbvtjK2gMvnQ1BR/zqPFZmS6jbK4p+6Up4xcRYA7yMIwxHCfbTcrYxXKzzqLsQ05eJPVznEW3tuwV7k1g==} + dev: false + /lodash.camelcase/4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} @@ -5480,14 +4672,6 @@ packages: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true - /lodash.get/4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: false - - /lodash.isequal/4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: false - /lodash.isfunction/3.0.9: resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} dev: true @@ -5559,6 +4743,11 @@ packages: dependencies: yallist: 4.0.0 + /lru-cache/7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + dev: true + /magic-string/0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: @@ -5571,8 +4760,8 @@ packages: dependencies: '@jridgewell/sourcemap-codec': 1.4.14 - /magic-string/0.29.0: - resolution: {integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==} + /magic-string/0.30.0: + resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.14 @@ -5591,11 +4780,6 @@ packages: engines: {node: '>=8'} dev: true - /media-typer/0.3.0: - resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} - engines: {node: '>= 0.6'} - dev: false - /meow/8.1.2: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} engines: {node: '>=10'} @@ -5613,10 +4797,6 @@ packages: yargs-parser: 20.2.9 dev: true - /merge-descriptors/1.0.1: - resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} - dev: false - /merge-stream/2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true @@ -5625,11 +4805,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /methods/1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - dev: false - /micromatch/4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -5640,18 +4815,14 @@ packages: /mime-db/1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + dev: true /mime-types/2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - - /mime/1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - dev: false + dev: true /mime/3.0.0: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} @@ -5684,6 +4855,14 @@ packages: engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 + dev: true + + /minimatch/8.0.3: + resolution: {integrity: sha512-tEEvU9TkZgnFDCtpnrEYnPsjT7iUx42aXfs4bzmQ5sMA09/6hZY0jeZcGkXyDagiBOvkUjNo8Viom+Me6+2x7g==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true /minimist-options/4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} @@ -5698,6 +4877,11 @@ packages: resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} dev: true + /minipass/4.2.5: + resolution: {integrity: sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==} + engines: {node: '>=8'} + dev: true + /mkdirp/0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -5705,12 +4889,6 @@ packages: minimist: 1.2.7 dev: true - /mkdirp/1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: false - /mlly/0.5.16: resolution: {integrity: sha512-LaJ8yuh4v0zEmge/g3c7jjFlhoCPfQn6RCjXgm9A0Qiuochq4BcuOxVfWmdnCoLTlg2MV+hqhOek+W2OhG0Lwg==} dependencies: @@ -5737,10 +4915,6 @@ packages: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} - /ms/2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: false - /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -5769,11 +4943,6 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /negotiator/0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: false - /node-fetch/2.6.9: resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} engines: {node: 4.x || >=6.0.0} @@ -5837,15 +5006,9 @@ packages: engines: {node: '>=0.10.0'} dev: true - /object-inspect/1.12.2: - resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} - - /on-finished/2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - dependencies: - ee-first: 1.1.1 - dev: false + /object-inspect/1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: true /once/1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -5960,15 +5123,6 @@ packages: entities: 4.4.0 dev: true - /parseurl/1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - dev: false - - /path-browserify/1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - dev: false - /path-exists/4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -5992,9 +5146,13 @@ packages: /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - /path-to-regexp/0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: false + /path-scurry/1.6.3: + resolution: {integrity: sha512-RAmB+n30SlN+HnNx6EbcpoDy9nwdpcGPnEKrJnu6GZoDWBdIjo1UQMVtW2ybtC7LC2oKLcMq8y5g8WnKLiod9g==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 7.18.3 + minipass: 4.2.5 + dev: true /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -6068,7 +5226,7 @@ packages: ts-node: optional: true dependencies: - lilconfig: 2.0.6 + lilconfig: 2.1.0 yaml: 1.10.2 dev: true @@ -6080,15 +5238,6 @@ packages: util-deprecate: 1.0.2 dev: true - /postcss/8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - /postcss/8.4.16: resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==} engines: {node: ^10 || ^12 || >=14} @@ -6096,6 +5245,7 @@ packages: nanoid: 3.3.4 picocolors: 1.0.0 source-map-js: 1.0.2 + dev: true /postcss/8.4.21: resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} @@ -6128,17 +5278,17 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-plugin-svelte/2.9.0_prettier@2.8.3: - resolution: {integrity: sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==} + /prettier-plugin-svelte/2.10.0_prettier@2.8.7: + resolution: {integrity: sha512-GXMY6t86thctyCvQq+jqElO+MKdB09BkL3hexyGP3Oi8XLKRFaJP1ud/xlWCZ9ZIa2BxHka32zhHfcuU+XsRQg==} peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 dependencies: - prettier: 2.8.3 + prettier: 2.8.7 dev: true - /prettier/2.8.3: - resolution: {integrity: sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==} + /prettier/2.8.7: + resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -6156,21 +5306,13 @@ packages: resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} dev: false - /prisma/4.10.1: - resolution: {integrity: sha512-0jDxgg+DruB1kHVNlcspXQB9au62IFfVg9drkhzXudszHNUAQn0lVuu+T8np0uC2z1nKD5S3qPeCyR8u5YFLnA==} + /prisma/4.12.0: + resolution: {integrity: sha512-xqVper4mbwl32BWzLpdznHAYvYDWQQWK2tBfXjdUD397XaveRyAP7SkBZ6kFlIg8kKayF4hvuaVtYwXd9BodAg==} engines: {node: '>=14.17'} hasBin: true requiresBuild: true dependencies: - '@prisma/engines': 4.10.1 - - /proxy-addr/2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false + '@prisma/engines': 4.12.0 /psl/1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} @@ -6179,6 +5321,12 @@ packages: /punycode/2.1.1: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} engines: {node: '>=6'} + dev: true + + /punycode/2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: true /purgecss/4.1.3: resolution: {integrity: sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==} @@ -6195,13 +5343,6 @@ packages: engines: {node: '>=0.6.0', teleport: '>=0.2.0'} dev: true - /qs/6.10.3: - resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==} - engines: {node: '>=0.6'} - dependencies: - side-channel: 1.0.4 - dev: false - /querystringify/2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} dev: true @@ -6214,21 +5355,6 @@ packages: engines: {node: '>=8'} dev: true - /range-parser/1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - dev: false - - /raw-body/2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - dev: false - /react-is/17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: true @@ -6282,16 +5408,6 @@ packages: strip-indent: 3.0.0 dev: true - /reduce-flatten/2.0.0: - resolution: {integrity: sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==} - engines: {node: '>=6'} - dev: false - - /regexpp/3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true - /require-directory/2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -6327,19 +5443,6 @@ packages: global-dirs: 0.1.1 dev: true - /resolve/1.17.0: - resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} - dependencies: - path-parse: 1.0.7 - dev: false - - /resolve/1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - dependencies: - is-core-module: 2.9.0 - path-parse: 1.0.7 - dev: false - /resolve/1.22.1: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true @@ -6378,17 +5481,18 @@ packages: glob: 7.2.3 dev: true + /rimraf/4.4.1: + resolution: {integrity: sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==} + engines: {node: '>=14'} + hasBin: true + dependencies: + glob: 9.3.4 + dev: true + /robust-predicates/3.0.1: resolution: {integrity: sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==} dev: true - /rollup/2.76.0: - resolution: {integrity: sha512-9jwRIEY1jOzKLj3nsY/yot41r19ITdQrhs+q3ggNWhr9TQgduHqANvPpS32RNpzGklJu3G1AJfvlZLi/6wFgWA==} - engines: {node: '>=10.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - /rollup/2.78.1: resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==} engines: {node: '>=10.0.0'} @@ -6403,6 +5507,18 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 + dev: true + + /rollup/3.20.2: + resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + + /rrweb-cssom/0.6.0: + resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} + dev: true /run-parallel/1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -6430,6 +5546,7 @@ packages: /safer-buffer/2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true /sander/0.5.1: resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} @@ -6467,46 +5584,9 @@ packages: dependencies: lru-cache: 6.0.0 - /send/0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: false - - /serve-static/1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - dev: false - /set-cookie-parser/2.5.1: resolution: {integrity: sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==} - /setprototypeof/1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false - /shebang-command/2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -6519,14 +5599,6 @@ packages: engines: {node: '>=8'} dev: true - /side-channel/1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.2 - object-inspect: 1.12.2 - dev: false - /siginfo/2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true @@ -6614,6 +5686,7 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} requiresBuild: true + dev: true /source-map/0.8.0-beta.0: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} @@ -6655,23 +5728,19 @@ packages: readable-stream: 3.6.0 dev: true - /sprintf-js/1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: false - /stackback/0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true - - /statuses/2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false + dev: true /std-env/3.3.2: resolution: {integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==} dev: true + /stream-read-all/3.0.1: + resolution: {integrity: sha512-EWZT9XOceBPlVJRrYcykW8jyRSZYbkb/0ZK36uLEmoWVO5gxBOnntNTseNzfREsqxqdfEGQrD8SXQ3QWbBmq8A==} + engines: {node: '>=10'} + dev: false + /streamsearch/1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} @@ -6679,6 +5748,7 @@ packages: /string-argv/0.3.1: resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} engines: {node: '>=0.6.19'} + dev: true /string-width/4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -6737,6 +5807,7 @@ packages: /strip-json-comments/3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + dev: true /strip-literal/1.0.1: resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} @@ -6744,6 +5815,10 @@ packages: acorn: 8.8.2 dev: true + /strnum/1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + dev: true + /strtok3/7.0.0: resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==} engines: {node: '>=14.16'} @@ -6770,6 +5845,7 @@ packages: engines: {node: '>=4'} dependencies: has-flag: 3.0.0 + dev: true /supports-color/7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} @@ -6781,8 +5857,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /svelte-check/3.0.3_svelte@3.55.1: - resolution: {integrity: sha512-ByBFXo3bfHRGIsYEasHkdMhLkNleVfszX/Ns1oip58tPJlKdo5Ssr8kgVIuo5oq00hss8AIcdesuy0Xt0BcTvg==} + /svelte-check/3.2.0_svelte@3.58.0: + resolution: {integrity: sha512-6ZnscN8dHEN5Eq5LgIzjj07W9nc9myyBH+diXsUAuiY/3rt0l65/LCIQYlIuoFEjp2F1NhXqZiJwV9omPj9tMw==} hasBin: true peerDependencies: svelte: ^3.55.0 @@ -6793,9 +5869,9 @@ packages: import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 3.55.1 - svelte-preprocess: 5.0.1_4x7phaipmicbaooxtnresslofa - typescript: 4.9.5 + svelte: 3.58.0 + svelte-preprocess: 5.0.3_kxq5ayp4qfv2n6flkngpsntzw4 + typescript: 5.0.4 transitivePeerDependencies: - '@babel/core' - coffeescript @@ -6808,15 +5884,15 @@ packages: - sugarss dev: true - /svelte-hmr/0.15.1_svelte@3.55.1: + /svelte-hmr/0.15.1_svelte@3.58.0: resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: '>=3.19.0' dependencies: - svelte: 3.55.1 + svelte: 3.58.0 - /svelte-preprocess/4.10.7_4x7phaipmicbaooxtnresslofa: + /svelte-preprocess/4.10.7_aswnnyxiuwffgztcffmr7c7eny: resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -6863,12 +5939,12 @@ packages: magic-string: 0.25.9 sorcery: 0.10.0 strip-indent: 3.0.0 - svelte: 3.55.1 + svelte: 3.58.0 typescript: 4.9.5 dev: true - /svelte-preprocess/5.0.1_4x7phaipmicbaooxtnresslofa: - resolution: {integrity: sha512-0HXyhCoc9rsW4zGOgtInylC6qj259E1hpFnJMJWTf+aIfeqh4O/QHT31KT2hvPEqQfdjmqBR/kO2JDkkciBLrQ==} + /svelte-preprocess/5.0.3_kxq5ayp4qfv2n6flkngpsntzw4: + resolution: {integrity: sha512-GrHF1rusdJVbOZOwgPWtpqmaexkydznKzy5qIC2FabgpFyKN57bjMUUUqPRfbBXK5igiEWn1uO/DXsa2vJ5VHA==} engines: {node: '>= 14.10.0'} requiresBuild: true peerDependencies: @@ -6882,7 +5958,7 @@ packages: stylus: ^0.55.0 sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 svelte: ^3.23.0 - typescript: ^3.9.5 || ^4.0.0 + typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' peerDependenciesMeta: '@babel/core': optional: true @@ -6906,31 +5982,34 @@ packages: optional: true dependencies: '@types/pug': 2.0.6 - '@types/sass': 1.43.1 detect-indent: 6.1.0 magic-string: 0.27.0 sorcery: 0.11.0 strip-indent: 3.0.0 - svelte: 3.55.1 - typescript: 4.9.5 + svelte: 3.58.0 + typescript: 5.0.4 dev: true - /svelte/3.55.1: - resolution: {integrity: sha512-S+87/P0Ve67HxKkEV23iCdAh/SX1xiSfjF1HOglno/YTbSTW7RniICMCofWGdJJbdjw3S+0PfFb1JtGfTXE0oQ==} + /svelte/3.58.0: + resolution: {integrity: sha512-brIBNNB76mXFmU/Kerm4wFnkskBbluBDCjx/8TcpYRb298Yh2dztS2kQ6bhtjMcvUhd5ynClfwpz5h2gnzdQ1A==} engines: {node: '>= 8'} /symbol-tree/3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true - /table-layout/1.0.2: - resolution: {integrity: sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==} - engines: {node: '>=8.0.0'} + /table-layout/3.0.2: + resolution: {integrity: sha512-rpyNZYRw+/C+dYkcQ3Pr+rLxW4CfHpXjPDnG7lYhdRoUcZTUt+KEsX+94RGp/aVp/MQU35JCITv2T/beY4m+hw==} + engines: {node: '>=12.17'} + hasBin: true dependencies: - array-back: 4.0.2 - deep-extend: 0.6.0 - typical: 5.2.0 - wordwrapjs: 4.0.1 + '@75lb/deep-merge': 1.1.1 + array-back: 6.2.2 + command-line-args: 5.2.1 + command-line-usage: 7.0.1 + stream-read-all: 3.0.1 + typical: 7.1.1 + wordwrapjs: 5.1.0 dev: false /text-extensions/1.9.0: @@ -6975,18 +6054,8 @@ packages: resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==} dev: true - /tinypool/0.2.4: - resolution: {integrity: sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==} - engines: {node: '>=14.0.0'} - dev: true - - /tinypool/0.3.1: - resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==} - engines: {node: '>=14.0.0'} - dev: true - - /tinyspy/1.0.0: - resolution: {integrity: sha512-FI5B2QdODQYDRjfuLF+OrJ8bjWRMCXokQPcwKm0W3IzcbUmBNv536cQc7eXGoAuXphZwgx1DFbqImwzz08Fnhw==} + /tinypool/0.4.0: + resolution: {integrity: sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==} engines: {node: '>=14.0.0'} dev: true @@ -7001,11 +6070,6 @@ packages: dependencies: is-number: 7.0.0 - /toidentifier/1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false - /token-types/5.0.1: resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} engines: {node: '>=14.16'} @@ -7035,14 +6099,14 @@ packages: /tr46/1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} dependencies: - punycode: 2.1.1 + punycode: 2.3.0 dev: true - /tr46/3.0.0: - resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} - engines: {node: '>=12'} + /tr46/4.1.1: + resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} + engines: {node: '>=14'} dependencies: - punycode: 2.1.1 + punycode: 2.3.0 dev: true /tree-kill/1.2.2: @@ -7059,18 +6123,11 @@ packages: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /ts-mixer/6.0.2: - resolution: {integrity: sha512-zvHx3VM83m2WYCE8XL99uaM7mFwYSkjR2OZti98fabHrwkjsCvgwChda5xctein3xGOyaQhtTeDq/1H/GNvF3A==} - dev: false - - /ts-morph/14.0.0: - resolution: {integrity: sha512-tO8YQ1dP41fw8GVmeQAdNsD8roZi1JMqB7YwZrqU856DvmG5/710e41q2XauzTYrygH9XmMryaFeLo+kdCziyA==} - dependencies: - '@ts-morph/common': 0.13.0 - code-block-writer: 11.0.3 + /ts-mixer/6.0.3: + resolution: {integrity: sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ==} dev: false - /ts-node/10.9.1_qqdszkrtcshgbphghj7vnvrrby: + /ts-node/10.9.1_bhanhq442dy43ncydsavgi4jfi: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -7089,14 +6146,14 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 18.11.19 + '@types/node': 18.15.11 acorn: 8.8.2 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.9.5 + typescript: 5.0.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -7107,50 +6164,14 @@ packages: /tslib/2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - /tsup/6.5.0_typescript@4.9.5: - resolution: {integrity: sha512-36u82r7rYqRHFkD15R20Cd4ercPkbYmuvRkz3Q1LCm5BsiFNUgpo36zbjVhCOgvjyxNBWNKHsaD5Rl8SykfzNA==} - engines: {node: '>=14'} - hasBin: true - peerDependencies: - '@swc/core': ^1 - postcss: ^8.4.12 - typescript: ^4.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - postcss: - optional: true - typescript: - optional: true - dependencies: - bundle-require: 3.1.2_esbuild@0.15.9 - cac: 6.7.14 - chokidar: 3.5.3 - debug: 4.3.4 - esbuild: 0.15.9 - execa: 5.1.1 - globby: 11.1.0 - joycon: 3.1.1 - postcss-load-config: 3.1.4 - resolve-from: 5.0.0 - rollup: 3.14.0 - source-map: 0.8.0-beta.0 - sucrase: 3.29.0 - tree-kill: 1.2.2 - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - - ts-node - dev: true - - /tsup/6.6.2_typescript@4.9.5: - resolution: {integrity: sha512-+yQ6SI4rVtp1+YpcYOePumJLEVQ896CDNRt9dJ2L/DeMnLf1+FTOCVw5eioLBH0xLdHgogO9NQ6vPNF5MfkSJw==} - engines: {node: '>=14'} + /tsup/6.7.0_typescript@5.0.4: + resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==} + engines: {node: '>=14.18'} hasBin: true peerDependencies: '@swc/core': ^1 postcss: ^8.4.12 - typescript: ^4.1.0 + typescript: '>=4.1.0' peerDependenciesMeta: '@swc/core': optional: true @@ -7169,85 +6190,85 @@ packages: joycon: 3.1.1 postcss-load-config: 3.1.4 resolve-from: 5.0.0 - rollup: 3.14.0 + rollup: 3.20.2 source-map: 0.8.0-beta.0 sucrase: 3.29.0 tree-kill: 1.2.2 - typescript: 4.9.5 + typescript: 5.0.4 transitivePeerDependencies: - supports-color - ts-node dev: true - /tsutils/3.21.0_typescript@4.9.5: + /tsutils/3.21.0_typescript@5.0.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 5.0.4 dev: true - /turbo-darwin-64/1.7.3: - resolution: {integrity: sha512-7j9+j1CVztmdevnClT3rG/GRhULf3ukwmv+l48l8uwsXNI53zLso+UYMql6RsjZDbD6sESwh0CHeKNwGmOylFA==} + /turbo-darwin-64/1.8.8: + resolution: {integrity: sha512-18cSeIm7aeEvIxGyq7PVoFyEnPpWDM/0CpZvXKHpQ6qMTkfNt517qVqUTAwsIYqNS8xazcKAqkNbvU1V49n65Q==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64/1.7.3: - resolution: {integrity: sha512-puS9+pqpiy4MrIvWRBTg3qfO2+JPXR7reQcXQ7qUreuyAJnSw9H9/TIHjeK6FFxUfQbmruylPtH6dNpfcML9CA==} + /turbo-darwin-arm64/1.8.8: + resolution: {integrity: sha512-ruGRI9nHxojIGLQv1TPgN7ud4HO4V8mFBwSgO6oDoZTNuk5ybWybItGR+yu6fni5vJoyMHXOYA2srnxvOc7hjQ==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64/1.7.3: - resolution: {integrity: sha512-BnbpgcK8Wag6fhnff7tMaecswmFHN/T56VIDnjcwcJnK9H3jdwpjwZlmcDtkoslzjPj3VuqHyqLDMvSb3ejXSg==} + /turbo-linux-64/1.8.8: + resolution: {integrity: sha512-N/GkHTHeIQogXB1/6ZWfxHx+ubYeb8Jlq3b/3jnU4zLucpZzTQ8XkXIAfJG/TL3Q7ON7xQ8yGOyGLhHL7MpFRg==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64/1.7.3: - resolution: {integrity: sha512-+epY+0dfjmAJNZHfj7rID2hENRaeM3D0Ijqkhh/M53o46fQMwPNqI5ff9erh+f9r8sWuTpVnRlZeu7TE1P/Okw==} + /turbo-linux-arm64/1.8.8: + resolution: {integrity: sha512-hKqLbBHgUkYf2Ww8uBL9UYdBFQ5677a7QXdsFhONXoACbDUPvpK4BKlz3NN7G4NZ+g9dGju+OJJjQP0VXRHb5w==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64/1.7.3: - resolution: {integrity: sha512-/2Z8WB4fASlq/diO6nhmHYuDCRPm3dkdUE6yhwQarXPOm936m4zj3xGQA2eSWMpvfst4xjVxxU7P7HOIOyWChA==} + /turbo-windows-64/1.8.8: + resolution: {integrity: sha512-2ndjDJyzkNslXxLt+PQuU21AHJWc8f6MnLypXy3KsN4EyX/uKKGZS0QJWz27PeHg0JS75PVvhfFV+L9t9i+Yyg==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64/1.7.3: - resolution: {integrity: sha512-UD9Uhop42xj1l1ba5LRdwqRq1Of+RgqQuv+QMd1xOAZ2FXn/91uhkfLv+H4Pkiw7XdUohOxpj/FcOvjCiiUxGw==} + /turbo-windows-arm64/1.8.8: + resolution: {integrity: sha512-xCA3oxgmW9OMqpI34AAmKfOVsfDljhD5YBwgs0ZDsn5h3kCHhC4x9W5dDk1oyQ4F5EXSH3xVym5/xl1J6WRpUg==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo/1.7.3: - resolution: {integrity: sha512-mrqo72vPQO6ykmARThaNP/KXPDuBDSqDXfkUxD8hX1ET3YSFbOWJixlHU32tPtiFIhScIKbEGShEVWBrLeM0wg==} + /turbo/1.8.8: + resolution: {integrity: sha512-qYJ5NjoTX+591/x09KgsDOPVDUJfU9GoS+6jszQQlLp1AHrf1wRFA3Yps8U+/HTG03q0M4qouOfOLtRQP4QypA==} hasBin: true requiresBuild: true optionalDependencies: - turbo-darwin-64: 1.7.3 - turbo-darwin-arm64: 1.7.3 - turbo-linux-64: 1.7.3 - turbo-linux-arm64: 1.7.3 - turbo-windows-64: 1.7.3 - turbo-windows-arm64: 1.7.3 + turbo-darwin-64: 1.8.8 + turbo-darwin-arm64: 1.8.8 + turbo-linux-64: 1.8.8 + turbo-linux-arm64: 1.8.8 + turbo-windows-64: 1.8.8 + turbo-windows-arm64: 1.8.8 dev: true /type-check/0.3.2: @@ -7294,25 +6315,6 @@ packages: engines: {node: '>=8'} dev: true - /type-is/1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typescript/4.7.4: - resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} - engines: {node: '>=4.2.0'} - hasBin: true - - /typescript/4.8.2: - resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - /typescript/4.8.3: resolution: {integrity: sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==} engines: {node: '>=4.2.0'} @@ -7325,14 +6327,20 @@ packages: hasBin: true dev: true + /typescript/5.0.4: + resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} + engines: {node: '>=12.20'} + hasBin: true + dev: true + /typical/4.0.0: resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} engines: {node: '>=8'} dev: false - /typical/5.2.0: - resolution: {integrity: sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==} - engines: {node: '>=8'} + /typical/7.1.1: + resolution: {integrity: sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==} + engines: {node: '>=12.17'} dev: false /ufo/0.8.5: @@ -7343,18 +6351,18 @@ packages: resolution: {integrity: sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==} dev: true - /undici/5.18.0: - resolution: {integrity: sha512-1iVwbhonhFytNdg0P4PqyIAXbdlVZVebtPDvuM36m66mRw4OGrCm2MYynJv/UENFLdP13J1nPVQzVE2zTs1OeA==} + /undici/5.20.0: + resolution: {integrity: sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==} engines: {node: '>=12.18'} dependencies: busboy: 1.6.0 - dev: false - /undici/5.20.0: - resolution: {integrity: sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==} + /undici/5.21.0: + resolution: {integrity: sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA==} engines: {node: '>=12.18'} dependencies: busboy: 1.6.0 + dev: false /universal-github-app-jwt/1.1.1: resolution: {integrity: sha512-G33RTLrIBMFmlDV4u4CBF7dh71eWwykck4XgaxaIVeZKOYZRAAxvcGMRFTUclVY6xoUPQvO4Ne5wKGxYm/Yy9w==} @@ -7367,11 +6375,6 @@ packages: resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} dev: false - /universalify/0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: false - /universalify/0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} @@ -7380,16 +6383,13 @@ packages: /universalify/2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - - /unpipe/1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - dev: false + dev: true /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.1.1 + punycode: 2.3.0 + dev: true /url-parse/1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} @@ -7401,11 +6401,6 @@ packages: /util-deprecate/1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - /utils-merge/1.0.1: - resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} - engines: {node: '>= 0.4.0'} - dev: false - /uuid/8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -7426,16 +6421,6 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /validator/13.7.0: - resolution: {integrity: sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==} - engines: {node: '>= 0.10'} - dev: false - - /vary/1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: false - /vite-node/0.23.4: resolution: {integrity: sha512-8VuDGwTWIvwPYcbw8ZycMlwAwqCmqZfLdFrDK75+o+6bWYpede58k6AAXN9ioU+icW82V4u1MzkxLVhhIoQ9xA==} engines: {node: '>=v14.16.0'} @@ -7453,8 +6438,8 @@ packages: - terser dev: true - /vite-node/0.28.4: - resolution: {integrity: sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ==} + /vite-node/0.29.8: + resolution: {integrity: sha512-b6OtCXfk65L6SElVM20q5G546yu10/kNrhg08afEoWlFRJXFq9/6glsvSVY+aI6YeC1tu2TtAqI2jHEQmOmsFw==} engines: {node: '>=v14.16.0'} hasBin: true dependencies: @@ -7463,19 +6448,19 @@ packages: mlly: 1.1.0 pathe: 1.1.0 picocolors: 1.0.0 - source-map: 0.6.1 - source-map-support: 0.5.21 - vite: 3.1.3 + vite: 4.2.1 transitivePeerDependencies: + - '@types/node' - less - sass - stylus + - sugarss - supports-color - terser dev: true - /vite-node/0.28.5: - resolution: {integrity: sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==} + /vite-node/0.29.8_@types+node@18.15.11: + resolution: {integrity: sha512-b6OtCXfk65L6SElVM20q5G546yu10/kNrhg08afEoWlFRJXFq9/6glsvSVY+aI6YeC1tu2TtAqI2jHEQmOmsFw==} engines: {node: '>=v14.16.0'} hasBin: true dependencies: @@ -7484,88 +6469,17 @@ packages: mlly: 1.1.0 pathe: 1.1.0 picocolors: 1.0.0 - source-map: 0.6.1 - source-map-support: 0.5.21 - vite: 3.1.3 + vite: 4.2.1_@types+node@18.15.11 transitivePeerDependencies: + - '@types/node' - less - sass - stylus + - sugarss - supports-color - terser dev: true - /vite-plugin-dts/1.4.1_vite@3.0.9: - resolution: {integrity: sha512-jo7E4ZeheD2o48oGiI3EygPbej7ZkGFHg3GVTt7Wuo6NgzThLvuzGGuduaFpnhJOGi1piDFsu6oui/wDKIIORQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - vite: '>=2.4.4' - dependencies: - '@microsoft/api-extractor': 7.29.5 - '@rushstack/node-core-library': 3.51.1 - chalk: 4.1.2 - debug: 4.3.4 - fast-glob: 3.2.12 - fs-extra: 10.1.0 - ts-morph: 14.0.0 - vite: 3.0.9 - transitivePeerDependencies: - - supports-color - dev: false - - /vite/3.0.4: - resolution: {integrity: sha512-NU304nqnBeOx2MkQnskBQxVsa0pRAH5FphokTGmyy8M3oxbvw7qAXts2GORxs+h/2vKsD+osMhZ7An6yK6F1dA==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - less: '*' - sass: '*' - stylus: '*' - terser: ^5.4.0 - peerDependenciesMeta: - less: - optional: true - sass: - optional: true - stylus: - optional: true - terser: - optional: true - dependencies: - esbuild: 0.14.48 - postcss: 8.4.14 - resolve: 1.22.1 - rollup: 2.76.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /vite/3.0.9: - resolution: {integrity: sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - less: '*' - sass: '*' - stylus: '*' - terser: ^5.4.0 - peerDependenciesMeta: - less: - optional: true - sass: - optional: true - stylus: - optional: true - terser: - optional: true - dependencies: - esbuild: 0.14.48 - postcss: 8.4.16 - resolve: 1.22.1 - rollup: 2.76.0 - optionalDependencies: - fsevents: 2.3.2 - /vite/3.1.3: resolution: {integrity: sha512-/3XWiktaopByM5bd8dqvHxRt5EEgRikevnnrpND0gRfNkrMrPaGGexhtLCzv15RcCMtV2CLw+BPas8YFeSG0KA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -7593,8 +6507,8 @@ packages: fsevents: 2.3.2 dev: true - /vite/4.1.1: - resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} + /vite/4.2.1: + resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -7618,16 +6532,15 @@ packages: terser: optional: true dependencies: - esbuild: 0.16.17 + esbuild: 0.17.7 postcss: 8.4.21 resolve: 1.22.1 - rollup: 3.14.0 + rollup: 3.20.2 optionalDependencies: fsevents: 2.3.2 - dev: true - /vite/4.1.3: - resolution: {integrity: sha512-0Zqo4/Fr/swSOBmbl+HAAhOjrqNwju+yTtoe4hQX9UsARdcuc9njyOdr6xU0DDnV7YP0RT6mgTTOiRtZgxfCxA==} + /vite/4.2.1_@types+node@18.15.11: + resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -7651,14 +6564,16 @@ packages: terser: optional: true dependencies: - esbuild: 0.16.17 + '@types/node': 18.15.11 + esbuild: 0.17.7 postcss: 8.4.21 resolve: 1.22.1 - rollup: 3.14.0 + rollup: 3.20.2 optionalDependencies: fsevents: 2.3.2 + dev: true - /vitefu/0.2.4_vite@4.1.3: + /vitefu/0.2.4_vite@4.2.1: resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: vite: ^3.0.0 || ^4.0.0 @@ -7666,52 +6581,10 @@ packages: vite: optional: true dependencies: - vite: 4.1.3 - - /vitest/0.20.3: - resolution: {integrity: sha512-cXMjTbZxBBUUuIF3PUzEGPLJWtIMeURBDXVxckSHpk7xss4JxkiiWh5cnIlfGyfJne2Ii3QpbiRuFL5dMJtljw==} - engines: {node: '>=v14.16.0'} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' - c8: '*' - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - c8: - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/chai': 4.3.1 - '@types/chai-subset': 1.3.3 - '@types/node': 18.11.19 - chai: 4.3.6 - debug: 4.3.4 - local-pkg: 0.4.2 - tinypool: 0.2.4 - tinyspy: 1.0.0 - vite: 3.1.3 - transitivePeerDependencies: - - less - - sass - - stylus - - supports-color - - terser - dev: true + vite: 4.2.1 - /vitest/0.22.1: - resolution: {integrity: sha512-+x28YTnSLth4KbXg7MCzoDAzPJlJex7YgiZbUh6YLp0/4PqVZ7q7/zyfdL0OaPtKTpNiQFPpMC8Y2MSzk8F7dw==} + /vitest/0.29.8: + resolution: {integrity: sha512-JIAVi2GK5cvA6awGpH0HvH/gEG9PZ0a/WoxdiV3PmqK+3CjQMf8c+J/Vhv4mdZ2nRyXFw66sAg6qz7VNkaHfDQ==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: @@ -7720,6 +6593,9 @@ packages: '@vitest/ui': '*' happy-dom: '*' jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -7731,53 +6607,20 @@ packages: optional: true jsdom: optional: true - dependencies: - '@types/chai': 4.3.3 - '@types/chai-subset': 1.3.3 - '@types/node': 18.11.19 - chai: 4.3.6 - debug: 4.3.4 - local-pkg: 0.4.2 - tinypool: 0.2.4 - tinyspy: 1.0.2 - vite: 3.1.3 - transitivePeerDependencies: - - less - - sass - - stylus - - supports-color - - terser - dev: true - - /vitest/0.28.5: - resolution: {integrity: sha512-pyCQ+wcAOX7mKMcBNkzDwEHRGqQvHUl0XnoHR+3Pb1hytAHISgSxv9h0gUiSiYtISXUU3rMrKiKzFYDrI6ZIHA==} - engines: {node: '>=v14.16.0'} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': + playwright: optional: true - happy-dom: + safaridriver: optional: true - jsdom: + webdriverio: optional: true dependencies: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 - '@types/node': 18.11.19 - '@vitest/expect': 0.28.5 - '@vitest/runner': 0.28.5 - '@vitest/spy': 0.28.5 - '@vitest/utils': 0.28.5 + '@types/node': 18.15.11 + '@vitest/expect': 0.29.8 + '@vitest/runner': 0.29.8 + '@vitest/spy': 0.29.8 + '@vitest/utils': 0.29.8 acorn: 8.8.2 acorn-walk: 8.2.0 cac: 6.7.14 @@ -7790,21 +6633,22 @@ packages: std-env: 3.3.2 strip-literal: 1.0.1 tinybench: 2.3.1 - tinypool: 0.3.1 + tinypool: 0.4.0 tinyspy: 1.0.2 - vite: 3.1.3 - vite-node: 0.28.5 + vite: 4.2.1_@types+node@18.15.11 + vite-node: 0.29.8_@types+node@18.15.11 why-is-node-running: 2.2.2 transitivePeerDependencies: - less - sass - stylus + - sugarss - supports-color - terser dev: true - /vitest/0.28.5_itn5mhdgoxdt6nk7zeh5bmcq5a: - resolution: {integrity: sha512-pyCQ+wcAOX7mKMcBNkzDwEHRGqQvHUl0XnoHR+3Pb1hytAHISgSxv9h0gUiSiYtISXUU3rMrKiKzFYDrI6ZIHA==} + /vitest/0.29.8_o37wuudx5bfh5vekeovdm6towm: + resolution: {integrity: sha512-JIAVi2GK5cvA6awGpH0HvH/gEG9PZ0a/WoxdiV3PmqK+3CjQMf8c+J/Vhv4mdZ2nRyXFw66sAg6qz7VNkaHfDQ==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: @@ -7813,6 +6657,9 @@ packages: '@vitest/ui': '*' happy-dom: '*' jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -7824,21 +6671,27 @@ packages: optional: true jsdom: optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true dependencies: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 - '@types/node': 18.11.19 - '@vitest/expect': 0.28.5 - '@vitest/runner': 0.28.5 - '@vitest/spy': 0.28.5 - '@vitest/ui': 0.28.5 - '@vitest/utils': 0.28.5 + '@types/node': 18.15.11 + '@vitest/expect': 0.29.8 + '@vitest/runner': 0.29.8 + '@vitest/spy': 0.29.8 + '@vitest/ui': 0.29.8 + '@vitest/utils': 0.29.8 acorn: 8.8.2 acorn-walk: 8.2.0 cac: 6.7.14 chai: 4.3.7 debug: 4.3.4 - jsdom: 21.1.0 + jsdom: 21.1.1 local-pkg: 0.4.2 pathe: 1.1.0 picocolors: 1.0.0 @@ -7846,15 +6699,16 @@ packages: std-env: 3.3.2 strip-literal: 1.0.1 tinybench: 2.3.1 - tinypool: 0.3.1 + tinypool: 0.4.0 tinyspy: 1.0.2 - vite: 3.1.3 - vite-node: 0.28.5 + vite: 4.2.1_@types+node@18.15.11 + vite-node: 0.29.8_@types+node@18.15.11 why-is-node-running: 2.2.2 transitivePeerDependencies: - less - sass - stylus + - sugarss - supports-color - terser dev: true @@ -7897,11 +6751,11 @@ packages: engines: {node: '>=12'} dev: true - /whatwg-url/11.0.0: - resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} - engines: {node: '>=12'} + /whatwg-url/12.0.1: + resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} + engines: {node: '>=14'} dependencies: - tr46: 3.0.0 + tr46: 4.1.1 webidl-conversions: 7.0.0 dev: true @@ -7942,12 +6796,9 @@ packages: engines: {node: '>=0.10.0'} dev: true - /wordwrapjs/4.0.1: - resolution: {integrity: sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==} - engines: {node: '>=8.0.0'} - dependencies: - reduce-flatten: 2.0.0 - typical: 5.2.0 + /wordwrapjs/5.1.0: + resolution: {integrity: sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==} + engines: {node: '>=12.17'} dev: false /wrap-ansi/6.2.0: @@ -7971,8 +6822,8 @@ packages: /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - /ws/8.12.0: - resolution: {integrity: sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==} + /ws/8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -8048,18 +6899,6 @@ packages: engines: {node: '>=12.20'} dev: true - /z-schema/5.0.4: - resolution: {integrity: sha512-gm/lx3hDzJNcLwseIeQVm1UcwhWIKpSB4NqH89pTBtFns4k/HDHudsICtvG05Bvw/Mv3jMyk700y5dadueLHdA==} - engines: {node: '>=8.0.0'} - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.7.0 - optionalDependencies: - commander: 2.20.3 - dev: false - - /zod/3.20.6: - resolution: {integrity: sha512-oyu0m54SGCtzh6EClBVqDDlAYRz4jrVtKwQ7ZnsEmMI9HnzuZFj8QFwAY1M5uniIYACdGvv0PBWPF2kO0aNofA==} + /zod/3.21.4: + resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: false From ab2d1888a5036b4fef2dfb9bbefefcdb1fb18d4d Mon Sep 17 00:00:00 2001 From: josefaidt Date: Fri, 7 Apr 2023 16:17:50 -0700 Subject: [PATCH 76/79] remove unused apps from docker-compose --- docker-compose.yml | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index e51a135a..c420e34e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,35 +14,3 @@ services: restart: always ports: - 8080:8080 - # Monorepo builder - # workspace: - # image: workspace - # depends_on: - # - db - # build: - # context: . - # dockerfile: Dockerfile - # env_file: - # - .env - # environment: - # # - DATABASE_URL=mysql://example-user:top-secret@db:3306/hey-amplify - # - DATABASE_URL=file:/data/local.db - # - PNPM_STORE_PATH=$$(pnpm store path) - # discord-bot-frontend: - # image: discord-bot-frontend - # build: - # context: ./apps/bot.amplify.aws - # dockerfile: Dockerfile - # env_file: - # - .env - # volumes: - # - ./packages/prisma-client/prisma/data:/data - # discord-bot: - # image: discord-bot - # build: - # context: ./apps/discord-bot - # dockerfile: Dockerfile - # env_file: - # - .env - # volumes: - # - ./packages/prisma-client/prisma/data:/data From 70eaa973448054b32cffc8fcb1c941f5ca4da374 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Fri, 7 Apr 2023 16:18:01 -0700 Subject: [PATCH 77/79] add comment for working with prisma and files --- .env.sample | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env.sample b/.env.sample index 09ea217c..de342621 100644 --- a/.env.sample +++ b/.env.sample @@ -10,7 +10,7 @@ VITE_DISCORD_GUILD_ID=$DISCORD_GUILD_ID DISCORD_AUTH_CLIENT_ID=$DISCORD_APP_ID DISCORD_AUTH_CLIENT_SECRET=oauthclientsecret -# Database URL for prisma (relative to prisma directory) +# Database URL for prisma (relative to prisma directory if using a file) DATABASE_URL="mysql://root:super-top-secret@localhost:3306/hey-amplify" # GitHub->Discord release webhook From f0620c44677a750ea453c8ed9d0901023ed8fcdc Mon Sep 17 00:00:00 2001 From: josefaidt Date: Fri, 7 Apr 2023 16:44:07 -0700 Subject: [PATCH 78/79] fix prisma init/seeding --- package.json | 9 +++++++-- packages/prisma-client/package.json | 5 ++++- .../prisma-client/scripts/init.ts | 17 +++++++++++++---- packages/prisma-client/scripts/package.json | 3 +++ .../prisma-client/scripts}/seed.ts | 14 ++++++++++---- pnpm-lock.yaml | 11 ++++++++++- 6 files changed, 47 insertions(+), 12 deletions(-) rename apps/bot.amplify.aws/src/lib/db.ts => packages/prisma-client/scripts/init.ts (81%) create mode 100644 packages/prisma-client/scripts/package.json rename {scripts => packages/prisma-client/scripts}/seed.ts (93%) diff --git a/package.json b/package.json index 2e3232a9..5544cf85 100644 --- a/package.json +++ b/package.json @@ -15,10 +15,11 @@ "check": "prettier --check .", "lint": "eslint .", "test": "turbo run test", - "push-db": "prisma db push --schema packages/prisma-client/schema.prisma", + "push-db": "prisma db push", + "seed-db": "prisma db seed", "setup-dev": "pnpm install && pnpm start-db --detach && pnpm push-db", "setup-test": "echo 'no setup required :)'", - "studio": "prisma studio --schema packages/prisma-client/schema.prisma", + "studio": "prisma studio", "docker-build-workspace": "sh ./scripts/docker-build-workspace.sh", "docker-build-apps": "docker compose build discord-bot discord-bot-frontend", "docker-build": "pnpm docker-build-workspace && pnpm docker-build-apps" @@ -48,6 +49,10 @@ "node": ">=18.0.0", "pnpm": ">=7.29.3" }, + "prisma": { + "schema": "./packages/prisma-client/schema.prisma", + "seed": "vite-node ./packages/prisma-client/scripts/init.ts" + }, "prettier": { "tabWidth": 2, "bracketSpacing": true, diff --git a/packages/prisma-client/package.json b/packages/prisma-client/package.json index 267261cc..e5382d0c 100644 --- a/packages/prisma-client/package.json +++ b/packages/prisma-client/package.json @@ -14,13 +14,16 @@ "types": "./build/generated/client/index.d.ts", "scripts": { "build": "prisma generate", - "db-push": "prisma db push", "prepare": "prisma generate" }, "dependencies": { "@prisma/client": "^4.12.0" }, "devDependencies": { + "@faker-js/faker": "^7.6.0", + "@hey-amplify/constants": "workspace:*", + "@hey-amplify/discord": "workspace:*", + "@hey-amplify/features": "workspace:*", "prisma": "^4.12.0" } } diff --git a/apps/bot.amplify.aws/src/lib/db.ts b/packages/prisma-client/scripts/init.ts similarity index 81% rename from apps/bot.amplify.aws/src/lib/db.ts rename to packages/prisma-client/scripts/init.ts index 3ca12418..fc3583e1 100644 --- a/apps/bot.amplify.aws/src/lib/db.ts +++ b/packages/prisma-client/scripts/init.ts @@ -1,10 +1,9 @@ -import { PrismaClient } from '@hey-amplify/prisma-client' -import { ACCESS_LEVELS, FEATURE_TYPES } from './constants' +import { PrismaClient } from '../build/generated/client/index.js' +import { ACCESS_LEVELS, FEATURE_TYPES } from '@hey-amplify/constants' import { integrations, types as featureTypes } from '@hey-amplify/features' import { createCommandFeatures } from '@hey-amplify/discord' -export const prisma = new PrismaClient() - +const prisma = new PrismaClient() const DB_INIT_MESSAGE = '[database] init' export async function init() { @@ -67,3 +66,13 @@ export async function init() { } console.timeEnd(DB_INIT_MESSAGE) } + +init() + .then(async () => { + await prisma.$disconnect() + }) + .catch(async (e) => { + console.error(e) + await prisma.$disconnect() + process.exit(1) + }) diff --git a/packages/prisma-client/scripts/package.json b/packages/prisma-client/scripts/package.json new file mode 100644 index 00000000..3dbc1ca5 --- /dev/null +++ b/packages/prisma-client/scripts/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/scripts/seed.ts b/packages/prisma-client/scripts/seed.ts similarity index 93% rename from scripts/seed.ts rename to packages/prisma-client/scripts/seed.ts index 47bdb793..1ef1e9f6 100644 --- a/scripts/seed.ts +++ b/packages/prisma-client/scripts/seed.ts @@ -1,7 +1,13 @@ import { faker } from '@faker-js/faker' -import { prisma, init } from '$lib/db' -import { ACCESS_LEVELS } from '$lib/constants' -import type { DiscordUser, DiscordRole, Prisma } from '@prisma/client' +import { ACCESS_LEVELS } from '@hey-amplify/constants' +import { PrismaClient } from '../build/generated/client/index.js' +import type { + DiscordUser, + DiscordRole, + Prisma, +} from '../build/generated/client/index.js' + +const prisma = new PrismaClient() function createFakeUsers(): Prisma.DiscordUserCreateInput[] { return Array.from({ length: 10 }).map((_, i) => ({ @@ -163,4 +169,4 @@ try { await seed() } catch (error) { throw new Error(`Unable to seed database: ${error.message}`) -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c3f9d9ac..5baab7e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -264,12 +264,22 @@ importers: packages/prisma-client: specifiers: + '@faker-js/faker': ^7.6.0 + '@hey-amplify/constants': workspace:* + '@hey-amplify/discord': workspace:* + '@hey-amplify/features': workspace:* '@prisma/client': ^4.12.0 prisma: ^4.12.0 + vite-node: ^0.29.8 dependencies: '@prisma/client': 4.12.0_prisma@4.12.0 devDependencies: + '@faker-js/faker': 7.6.0 + '@hey-amplify/constants': link:../constants + '@hey-amplify/discord': link:../discord + '@hey-amplify/features': link:../features prisma: 4.12.0 + vite-node: 0.29.8 packages/scripts: specifiers: @@ -1655,7 +1665,6 @@ packages: /@faker-js/faker/7.6.0: resolution: {integrity: sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==} engines: {node: '>=14.0.0', npm: '>=6.0.0'} - dev: false /@humanwhocodes/config-array/0.11.8: resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} From 598087045108da80d72b5b43d10cb035446ac928 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Fri, 7 Apr 2023 16:44:15 -0700 Subject: [PATCH 79/79] as const --- packages/constants/src/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/constants/src/index.ts b/packages/constants/src/index.ts index 0b9f3b36..8e022d66 100644 --- a/packages/constants/src/index.ts +++ b/packages/constants/src/index.ts @@ -6,7 +6,7 @@ export const ACCESS_LEVELS = { STAFF: 'STAFF', CONTRIBUTOR: 'CONTRIBUTOR', MEMBER: 'MEMBER', -} +} as const /** * Feature codes to be used with frontend and bot apps @@ -14,7 +14,7 @@ export const ACCESS_LEVELS = { */ export const FEATURE_CODES = { GITHUB: 'GITHUB', -} +} as const /** * Feature types describe the types of features we support @@ -24,4 +24,4 @@ export const FEATURE_CODES = { export const FEATURE_TYPES = { COMMAND: 'COMMAND', INTEGRATION: 'INTEGRATION', -} +} as const