There you will find the API keys section which allows you to generate a key for use. More information on this can be found on the Cal Authentication page.
Use API key in your Cal trigger node credentials in n8n.
-
\ No newline at end of file
+
diff --git a/packages/app-store/n8n/api/add.ts b/packages/app-store/n8n/api/add.ts
index b4c95f1426..49ac6be693 100644
--- a/packages/app-store/n8n/api/add.ts
+++ b/packages/app-store/n8n/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/office365calendar/lib/CalendarService.ts b/packages/app-store/office365calendar/lib/CalendarService.ts
index 6823ce0823..ebc0bf5346 100644
--- a/packages/app-store/office365calendar/lib/CalendarService.ts
+++ b/packages/app-store/office365calendar/lib/CalendarService.ts
@@ -1,4 +1,4 @@
-import { Calendar as OfficeCalendar, User } from "@microsoft/microsoft-graph-types-beta";
+import type { Calendar as OfficeCalendar, User } from "@microsoft/microsoft-graph-types-beta";
import { getLocation, getRichDescription } from "@calcom/lib/CalEventParser";
import { handleErrorsJson, handleErrorsRaw } from "@calcom/lib/errors";
@@ -12,9 +12,9 @@ import type {
IntegrationCalendar,
NewCalendarEventType,
} from "@calcom/types/Calendar";
-import { CredentialPayload } from "@calcom/types/Credential";
+import type { CredentialPayload } from "@calcom/types/Credential";
-import { O365AuthCredentials } from "../types/Office365Calendar";
+import type { O365AuthCredentials } from "../types/Office365Calendar";
import { getOfficeAppKeys } from "./getOfficeAppKeys";
interface IRequest {
diff --git a/packages/app-store/office365video/components/InstallAppButton.tsx b/packages/app-store/office365video/components/InstallAppButton.tsx
index 778d00423c..a5cbdafd43 100644
--- a/packages/app-store/office365video/components/InstallAppButton.tsx
+++ b/packages/app-store/office365video/components/InstallAppButton.tsx
@@ -1,6 +1,6 @@
import { useState } from "react";
-import { InstallAppButtonProps } from "../../types";
+import type { InstallAppButtonProps } from "../../types";
import AddIntegration from "./AccountDialog";
export default function InstallAppButton(props: InstallAppButtonProps) {
diff --git a/packages/app-store/office365video/lib/VideoApiAdapter.ts b/packages/app-store/office365video/lib/VideoApiAdapter.ts
index 9c59d395dc..44c096b4aa 100644
--- a/packages/app-store/office365video/lib/VideoApiAdapter.ts
+++ b/packages/app-store/office365video/lib/VideoApiAdapter.ts
@@ -1,10 +1,10 @@
-import { Prisma } from "@prisma/client";
+import type { Prisma } from "@prisma/client";
import { handleErrorsJson, handleErrorsRaw } from "@calcom/lib/errors";
import { HttpError } from "@calcom/lib/http-error";
import prisma from "@calcom/prisma";
import type { CalendarEvent } from "@calcom/types/Calendar";
-import { CredentialPayload } from "@calcom/types/Credential";
+import type { CredentialPayload } from "@calcom/types/Credential";
import type { PartialReference } from "@calcom/types/EventManager";
import type { VideoApiAdapter, VideoCallData } from "@calcom/types/VideoApiAdapter";
diff --git a/packages/app-store/pipedream/api/add.ts b/packages/app-store/pipedream/api/add.ts
index 3b4b5384ef..269ab32227 100644
--- a/packages/app-store/pipedream/api/add.ts
+++ b/packages/app-store/pipedream/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/plausible/api/add.ts b/packages/app-store/plausible/api/add.ts
index 8f569c854c..44d56bb0fa 100644
--- a/packages/app-store/plausible/api/add.ts
+++ b/packages/app-store/plausible/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/plausible/components/EventTypeAppCardInterface.tsx b/packages/app-store/plausible/components/EventTypeAppCardInterface.tsx
index 9066d98024..1d35515358 100644
--- a/packages/app-store/plausible/components/EventTypeAppCardInterface.tsx
+++ b/packages/app-store/plausible/components/EventTypeAppCardInterface.tsx
@@ -5,7 +5,7 @@ import AppCard from "@calcom/app-store/_components/AppCard";
import type { EventTypeAppCardComponent } from "@calcom/app-store/types";
import { TextField } from "@calcom/ui";
-import { appDataSchema } from "../zod";
+import type { appDataSchema } from "../zod";
const EventTypeAppCard: EventTypeAppCardComponent = function EventTypeAppCard({ app }) {
const [getAppData, setAppData] = useAppContextWithSchema();
diff --git a/packages/app-store/qr_code/api/add.ts b/packages/app-store/qr_code/api/add.ts
index 8f569c854c..44d56bb0fa 100644
--- a/packages/app-store/qr_code/api/add.ts
+++ b/packages/app-store/qr_code/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/qr_code/components/EventTypeAppCardInterface.tsx b/packages/app-store/qr_code/components/EventTypeAppCardInterface.tsx
index 9146f836a1..e716cca742 100644
--- a/packages/app-store/qr_code/components/EventTypeAppCardInterface.tsx
+++ b/packages/app-store/qr_code/components/EventTypeAppCardInterface.tsx
@@ -5,7 +5,7 @@ import AppCard from "@calcom/app-store/_components/AppCard";
import type { EventTypeAppCardComponent } from "@calcom/app-store/types";
import { Tooltip } from "@calcom/ui";
-import { appDataSchema } from "../zod";
+import type { appDataSchema } from "../zod";
const EventTypeAppCard: EventTypeAppCardComponent = function EventTypeAppCard({ eventType, app }) {
const [getAppData, setAppData] = useAppContextWithSchema();
diff --git a/packages/app-store/rainbow/DESCRIPTION.md b/packages/app-store/rainbow/DESCRIPTION.md
index d8e1257f1d..cde42e0c27 100644
--- a/packages/app-store/rainbow/DESCRIPTION.md
+++ b/packages/app-store/rainbow/DESCRIPTION.md
@@ -6,4 +6,3 @@ items:
---
Token gate bookings based on NFTs, DAO tokens, and ERC-20 tokens. Rainbow supports dozens of trusted Ethereum wallet apps to verify token ownership. Available blockchains are Ethereum mainnet, Arbitrum, Optimism, and Polygon mainnet.
-
diff --git a/packages/app-store/rainbow/api/add.ts b/packages/app-store/rainbow/api/add.ts
index 5834fdbd88..b209b5fb19 100644
--- a/packages/app-store/rainbow/api/add.ts
+++ b/packages/app-store/rainbow/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/rainbow/components/EventTypeAppCardInterface.tsx b/packages/app-store/rainbow/components/EventTypeAppCardInterface.tsx
index c5be915de6..0e64fd44aa 100644
--- a/packages/app-store/rainbow/components/EventTypeAppCardInterface.tsx
+++ b/packages/app-store/rainbow/components/EventTypeAppCardInterface.tsx
@@ -5,7 +5,7 @@ import AppCard from "@calcom/app-store/_components/AppCard";
import RainbowInstallForm from "@calcom/app-store/rainbow/components/RainbowInstallForm";
import type { EventTypeAppCardComponent } from "@calcom/app-store/types";
-import { appDataSchema } from "../zod";
+import type { appDataSchema } from "../zod";
const EventTypeAppCard: EventTypeAppCardComponent = function EventTypeAppCard({ app }) {
const [getAppData, setAppData] = useAppContextWithSchema();
diff --git a/packages/app-store/rainbow/components/RainbowInstallForm.tsx b/packages/app-store/rainbow/components/RainbowInstallForm.tsx
index 2f05d7f7f0..3de2c3e518 100644
--- a/packages/app-store/rainbow/components/RainbowInstallForm.tsx
+++ b/packages/app-store/rainbow/components/RainbowInstallForm.tsx
@@ -1,11 +1,11 @@
-import { z } from "zod";
+import type { z } from "zod";
-import { SetAppDataGeneric } from "@calcom/app-store/EventTypeAppContext";
+import type { SetAppDataGeneric } from "@calcom/app-store/EventTypeAppContext";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { SUPPORTED_CHAINS_FOR_FORM } from "@calcom/rainbow/utils/ethereum";
import { Select } from "@calcom/ui";
-import { appDataSchema } from "../zod";
+import type { appDataSchema } from "../zod";
type RainbowInstallFormProps = {
setAppData: SetAppDataGeneric;
diff --git a/packages/app-store/raycast/api/add.ts b/packages/app-store/raycast/api/add.ts
index 7f13c0244e..8b788d621c 100644
--- a/packages/app-store/raycast/api/add.ts
+++ b/packages/app-store/raycast/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/salesforce/lib/CalendarService.ts b/packages/app-store/salesforce/lib/CalendarService.ts
index 4d23c11d0a..93ce6762f0 100644
--- a/packages/app-store/salesforce/lib/CalendarService.ts
+++ b/packages/app-store/salesforce/lib/CalendarService.ts
@@ -1,4 +1,5 @@
-import jsforce, { TokenResponse } from "jsforce";
+import type { TokenResponse } from "jsforce";
+import jsforce from "jsforce";
import { RRule } from "rrule";
import { getLocation } from "@calcom/lib/CalEventParser";
@@ -12,7 +13,7 @@ import type {
NewCalendarEventType,
Person,
} from "@calcom/types/Calendar";
-import { CredentialPayload } from "@calcom/types/Credential";
+import type { CredentialPayload } from "@calcom/types/Credential";
import getAppKeysFromSlug from "../../_utils/getAppKeysFromSlug";
diff --git a/packages/app-store/sendgrid/lib/CalendarService.ts b/packages/app-store/sendgrid/lib/CalendarService.ts
index 162eeff94d..de1bd8cc02 100644
--- a/packages/app-store/sendgrid/lib/CalendarService.ts
+++ b/packages/app-store/sendgrid/lib/CalendarService.ts
@@ -1,6 +1,7 @@
import z from "zod";
-import Sendgrid, { SendgridNewContact } from "@calcom/lib/Sendgrid";
+import type { SendgridNewContact } from "@calcom/lib/Sendgrid";
+import Sendgrid from "@calcom/lib/Sendgrid";
import { symmetricDecrypt } from "@calcom/lib/crypto";
import logger from "@calcom/lib/logger";
import type {
@@ -10,7 +11,7 @@ import type {
IntegrationCalendar,
NewCalendarEventType,
} from "@calcom/types/Calendar";
-import { CredentialPayload } from "@calcom/types/Credential";
+import type { CredentialPayload } from "@calcom/types/Credential";
const apiKeySchema = z.object({
encrypted: z.string(),
diff --git a/packages/app-store/signal/api/add.ts b/packages/app-store/signal/api/add.ts
index 8f569c854c..44d56bb0fa 100644
--- a/packages/app-store/signal/api/add.ts
+++ b/packages/app-store/signal/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/sirius_video/api/add.ts b/packages/app-store/sirius_video/api/add.ts
index 8f569c854c..44d56bb0fa 100644
--- a/packages/app-store/sirius_video/api/add.ts
+++ b/packages/app-store/sirius_video/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/stripepayment/DESCRIPTION.md b/packages/app-store/stripepayment/DESCRIPTION.md
index 189bb307c4..8a30ef11a3 100644
--- a/packages/app-store/stripepayment/DESCRIPTION.md
+++ b/packages/app-store/stripepayment/DESCRIPTION.md
@@ -7,4 +7,4 @@ items:
- /api/app-store/stripepayment/stripe5.jpg
---
-Stripe provides payment infrastructure for everyone from startups to Fortune 500 companies. They provide payment processing software as well as application programming interfaces (APIs) for mobile applications as well as e-commerce websites processing payments from (but not limited to) credit cards, debit cards, digital wallets, Google Pay, Apple Pay, Bank Transfers, Alipay and WeChat.
\ No newline at end of file
+Stripe provides payment infrastructure for everyone from startups to Fortune 500 companies. They provide payment processing software as well as application programming interfaces (APIs) for mobile applications as well as e-commerce websites processing payments from (but not limited to) credit cards, debit cards, digital wallets, Google Pay, Apple Pay, Bank Transfers, Alipay and WeChat.
diff --git a/packages/app-store/stripepayment/api/add.ts b/packages/app-store/stripepayment/api/add.ts
index 1f82f1e4f1..ba481f3e8f 100644
--- a/packages/app-store/stripepayment/api/add.ts
+++ b/packages/app-store/stripepayment/api/add.ts
@@ -1,6 +1,6 @@
import type { NextApiRequest, NextApiResponse } from "next";
import stringify from "qs-stringify";
-import Stripe from "stripe";
+import type Stripe from "stripe";
import { z } from "zod";
import { WEBAPP_URL } from "@calcom/lib/constants";
diff --git a/packages/app-store/stripepayment/api/callback.ts b/packages/app-store/stripepayment/api/callback.ts
index bc2b1d5b53..c89abc239e 100644
--- a/packages/app-store/stripepayment/api/callback.ts
+++ b/packages/app-store/stripepayment/api/callback.ts
@@ -1,11 +1,12 @@
-import { Prisma } from "@prisma/client";
+import type { Prisma } from "@prisma/client";
import type { NextApiRequest, NextApiResponse } from "next";
import { stringify } from "querystring";
import prisma from "@calcom/prisma";
import getInstalledAppPath from "../../_utils/getInstalledAppPath";
-import stripe, { StripeData } from "../lib/server";
+import type { StripeData } from "../lib/server";
+import stripe from "../lib/server";
function getReturnToValueFromQueryState(req: NextApiRequest) {
let returnTo = "";
diff --git a/packages/app-store/stripepayment/api/paymentCallback.ts b/packages/app-store/stripepayment/api/paymentCallback.ts
index 85af159ee2..e10df2d0bc 100644
--- a/packages/app-store/stripepayment/api/paymentCallback.ts
+++ b/packages/app-store/stripepayment/api/paymentCallback.ts
@@ -1,11 +1,11 @@
-import { NextApiRequest, NextApiResponse } from "next";
+import type { NextApiRequest, NextApiResponse } from "next";
import z from "zod";
import { getCustomerAndCheckoutSession } from "@calcom/app-store/stripepayment/lib/getCustomerAndCheckoutSession";
import { WEBAPP_URL } from "@calcom/lib/constants";
import { defaultHandler, defaultResponder } from "@calcom/lib/server";
import { prisma } from "@calcom/prisma";
-import { Prisma } from "@calcom/prisma/client";
+import type { Prisma } from "@calcom/prisma/client";
const querySchema = z.object({
callbackUrl: z.string().transform((url) => {
diff --git a/packages/app-store/stripepayment/api/subscription.ts b/packages/app-store/stripepayment/api/subscription.ts
index 857d8066c4..1d15027747 100644
--- a/packages/app-store/stripepayment/api/subscription.ts
+++ b/packages/app-store/stripepayment/api/subscription.ts
@@ -1,11 +1,11 @@
import type { NextApiRequest, NextApiResponse } from "next";
-import Stripe from "stripe";
+import type Stripe from "stripe";
import { getPremiumMonthlyPlanPriceId } from "@calcom/app-store/stripepayment/lib/utils";
import { checkPremiumUsername } from "@calcom/features/ee/common/lib/checkPremiumUsername";
import { WEBAPP_URL } from "@calcom/lib/constants";
import prisma from "@calcom/prisma";
-import { Prisma } from "@calcom/prisma/client";
+import type { Prisma } from "@calcom/prisma/client";
import { getStripeCustomerIdFromUserId } from "../lib/customer";
import stripe from "../lib/server";
diff --git a/packages/app-store/stripepayment/components/EventTypeAppCardInterface.tsx b/packages/app-store/stripepayment/components/EventTypeAppCardInterface.tsx
index a90adf2457..98e713b0ee 100644
--- a/packages/app-store/stripepayment/components/EventTypeAppCardInterface.tsx
+++ b/packages/app-store/stripepayment/components/EventTypeAppCardInterface.tsx
@@ -9,7 +9,7 @@ import { WEBAPP_URL } from "@calcom/lib/constants";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { Alert, TextField } from "@calcom/ui";
-import { appDataSchema } from "../zod";
+import type { appDataSchema } from "../zod";
const EventTypeAppCard: EventTypeAppCardComponent = function EventTypeAppCard({ app, eventType }) {
const { asPath } = useRouter();
diff --git a/packages/app-store/stripepayment/lib/PaymentService.ts b/packages/app-store/stripepayment/lib/PaymentService.ts
index 7271b6ecd6..957797b16e 100644
--- a/packages/app-store/stripepayment/lib/PaymentService.ts
+++ b/packages/app-store/stripepayment/lib/PaymentService.ts
@@ -1,16 +1,16 @@
-import { Booking, Payment, Prisma } from "@prisma/client";
+import type { Booking, Payment, Prisma } from "@prisma/client";
import Stripe from "stripe";
import { v4 as uuidv4 } from "uuid";
import z from "zod";
import { sendAwaitingPaymentEmail } from "@calcom/emails";
-import { IAbstractPaymentService } from "@calcom/lib/PaymentService";
+import type { IAbstractPaymentService } from "@calcom/lib/PaymentService";
import { getErrorFromUnknown } from "@calcom/lib/errors";
import prisma from "@calcom/prisma";
-import { CalendarEvent } from "@calcom/types/Calendar";
+import type { CalendarEvent } from "@calcom/types/Calendar";
import { createPaymentLink } from "./client";
-import { StripePaymentData } from "./server";
+import type { StripePaymentData } from "./server";
const stripeCredentialKeysSchema = z.object({
stripe_user_id: z.string(),
diff --git a/packages/app-store/stripepayment/lib/client/getStripe.ts b/packages/app-store/stripepayment/lib/client/getStripe.ts
index b53453933a..b618bf5825 100644
--- a/packages/app-store/stripepayment/lib/client/getStripe.ts
+++ b/packages/app-store/stripepayment/lib/client/getStripe.ts
@@ -1,4 +1,4 @@
-import { Stripe } from "@stripe/stripe-js";
+import type { Stripe } from "@stripe/stripe-js";
import { loadStripe } from "@stripe/stripe-js/pure";
export type Maybe = T | undefined | null;
diff --git a/packages/app-store/tandemvideo/lib/VideoApiAdapter.ts b/packages/app-store/tandemvideo/lib/VideoApiAdapter.ts
index 28ad87b21a..9f7b959959 100644
--- a/packages/app-store/tandemvideo/lib/VideoApiAdapter.ts
+++ b/packages/app-store/tandemvideo/lib/VideoApiAdapter.ts
@@ -1,10 +1,10 @@
-import { Prisma } from "@prisma/client";
+import type { Prisma } from "@prisma/client";
import { handleErrorsJson, handleErrorsRaw } from "@calcom/lib/errors";
import { HttpError } from "@calcom/lib/http-error";
import prisma from "@calcom/prisma";
import type { CalendarEvent } from "@calcom/types/Calendar";
-import { CredentialPayload } from "@calcom/types/Credential";
+import type { CredentialPayload } from "@calcom/types/Credential";
import type { PartialReference } from "@calcom/types/EventManager";
import type { VideoApiAdapter, VideoCallData } from "@calcom/types/VideoApiAdapter";
diff --git a/packages/app-store/telegram/api/add.ts b/packages/app-store/telegram/api/add.ts
index 8f569c854c..44d56bb0fa 100644
--- a/packages/app-store/telegram/api/add.ts
+++ b/packages/app-store/telegram/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/templates/_auth-based-app/README.md b/packages/app-store/templates/_auth-based-app/README.md
index b3d6e23ef2..2fcc280ebe 100644
--- a/packages/app-store/templates/_auth-based-app/README.md
+++ b/packages/app-store/templates/_auth-based-app/README.md
@@ -1,2 +1,3 @@
## TODO:
-Identify an ideal app among existing auth based apps and add it here
\ No newline at end of file
+
+Identify an ideal app among existing auth based apps and add it here
diff --git a/packages/app-store/templates/_calendar/README.md b/packages/app-store/templates/_calendar/README.md
index 124b3749c6..6059799d78 100644
--- a/packages/app-store/templates/_calendar/README.md
+++ b/packages/app-store/templates/_calendar/README.md
@@ -1 +1 @@
-Calendar apps are not streamlined and thus a template for it needs some good amount of work
\ No newline at end of file
+Calendar apps are not streamlined and thus a template for it needs some good amount of work
diff --git a/packages/app-store/templates/basic/api/add.ts b/packages/app-store/templates/basic/api/add.ts
index f8c6354180..9a4afb9b2c 100644
--- a/packages/app-store/templates/basic/api/add.ts
+++ b/packages/app-store/templates/basic/api/add.ts
@@ -1,5 +1,5 @@
import { createDefaultInstallation } from "@calcom/app-store/_utils/installation";
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import appConfig from "../config.json";
diff --git a/packages/app-store/templates/booking-pages-tag/DESCRIPTION.md b/packages/app-store/templates/booking-pages-tag/DESCRIPTION.md
index 02c40f00ac..a4b15502c3 100644
--- a/packages/app-store/templates/booking-pages-tag/DESCRIPTION.md
+++ b/packages/app-store/templates/booking-pages-tag/DESCRIPTION.md
@@ -5,4 +5,4 @@ items:
- 3.jpeg
---
-{DESCRIPTION}
\ No newline at end of file
+{DESCRIPTION}
diff --git a/packages/app-store/templates/booking-pages-tag/api/add.ts b/packages/app-store/templates/booking-pages-tag/api/add.ts
index f8c6354180..9a4afb9b2c 100644
--- a/packages/app-store/templates/booking-pages-tag/api/add.ts
+++ b/packages/app-store/templates/booking-pages-tag/api/add.ts
@@ -1,5 +1,5 @@
import { createDefaultInstallation } from "@calcom/app-store/_utils/installation";
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import appConfig from "../config.json";
diff --git a/packages/app-store/templates/booking-pages-tag/components/EventTypeAppCardInterface.tsx b/packages/app-store/templates/booking-pages-tag/components/EventTypeAppCardInterface.tsx
index 77c5b45b59..d86dc6a17c 100644
--- a/packages/app-store/templates/booking-pages-tag/components/EventTypeAppCardInterface.tsx
+++ b/packages/app-store/templates/booking-pages-tag/components/EventTypeAppCardInterface.tsx
@@ -5,7 +5,7 @@ import AppCard from "@calcom/app-store/_components/AppCard";
import type { EventTypeAppCardComponent } from "@calcom/app-store/types";
import { TextField } from "@calcom/ui";
-import { appDataSchema } from "../zod";
+import type { appDataSchema } from "../zod";
const EventTypeAppCard: EventTypeAppCardComponent = function EventTypeAppCard({ app }) {
const [getAppData, setAppData] = useAppContextWithSchema();
diff --git a/packages/app-store/templates/event-type-app-card/DESCRIPTION.md b/packages/app-store/templates/event-type-app-card/DESCRIPTION.md
index 30a038f826..a4b15502c3 100644
--- a/packages/app-store/templates/event-type-app-card/DESCRIPTION.md
+++ b/packages/app-store/templates/event-type-app-card/DESCRIPTION.md
@@ -6,4 +6,3 @@ items:
---
{DESCRIPTION}
-
diff --git a/packages/app-store/templates/event-type-app-card/api/add.ts b/packages/app-store/templates/event-type-app-card/api/add.ts
index f8c6354180..9a4afb9b2c 100644
--- a/packages/app-store/templates/event-type-app-card/api/add.ts
+++ b/packages/app-store/templates/event-type-app-card/api/add.ts
@@ -1,5 +1,5 @@
import { createDefaultInstallation } from "@calcom/app-store/_utils/installation";
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import appConfig from "../config.json";
diff --git a/packages/app-store/templates/event-type-app-card/components/EventTypeAppCardInterface.tsx b/packages/app-store/templates/event-type-app-card/components/EventTypeAppCardInterface.tsx
index 8eaa31e84c..74770964e7 100644
--- a/packages/app-store/templates/event-type-app-card/components/EventTypeAppCardInterface.tsx
+++ b/packages/app-store/templates/event-type-app-card/components/EventTypeAppCardInterface.tsx
@@ -5,7 +5,7 @@ import AppCard from "@calcom/app-store/_components/AppCard";
import type { EventTypeAppCardComponent } from "@calcom/app-store/types";
import { FiSunrise, FiSunset } from "@calcom/ui/components/icon";
-import { appDataSchema } from "../zod";
+import type { appDataSchema } from "../zod";
const EventTypeAppCard: EventTypeAppCardComponent = function EventTypeAppCard({ eventType, app }) {
const [getAppData, setAppData] = useAppContextWithSchema();
diff --git a/packages/app-store/templates/event-type-location-video-static/DESCRIPTION.md b/packages/app-store/templates/event-type-location-video-static/DESCRIPTION.md
index 02c40f00ac..a4b15502c3 100644
--- a/packages/app-store/templates/event-type-location-video-static/DESCRIPTION.md
+++ b/packages/app-store/templates/event-type-location-video-static/DESCRIPTION.md
@@ -5,4 +5,4 @@ items:
- 3.jpeg
---
-{DESCRIPTION}
\ No newline at end of file
+{DESCRIPTION}
diff --git a/packages/app-store/templates/event-type-location-video-static/api/add.ts b/packages/app-store/templates/event-type-location-video-static/api/add.ts
index f8c6354180..9a4afb9b2c 100644
--- a/packages/app-store/templates/event-type-location-video-static/api/add.ts
+++ b/packages/app-store/templates/event-type-location-video-static/api/add.ts
@@ -1,5 +1,5 @@
import { createDefaultInstallation } from "@calcom/app-store/_utils/installation";
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import appConfig from "../config.json";
diff --git a/packages/app-store/templates/general-app-settings/DESCRIPTION.md b/packages/app-store/templates/general-app-settings/DESCRIPTION.md
index 02c40f00ac..a4b15502c3 100644
--- a/packages/app-store/templates/general-app-settings/DESCRIPTION.md
+++ b/packages/app-store/templates/general-app-settings/DESCRIPTION.md
@@ -5,4 +5,4 @@ items:
- 3.jpeg
---
-{DESCRIPTION}
\ No newline at end of file
+{DESCRIPTION}
diff --git a/packages/app-store/templates/general-app-settings/api/add.ts b/packages/app-store/templates/general-app-settings/api/add.ts
index f8c6354180..9a4afb9b2c 100644
--- a/packages/app-store/templates/general-app-settings/api/add.ts
+++ b/packages/app-store/templates/general-app-settings/api/add.ts
@@ -1,5 +1,5 @@
import { createDefaultInstallation } from "@calcom/app-store/_utils/installation";
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import appConfig from "../config.json";
diff --git a/packages/app-store/templates/link-as-an-app/api/add.ts b/packages/app-store/templates/link-as-an-app/api/add.ts
index d27cdfd098..37dda83e44 100644
--- a/packages/app-store/templates/link-as-an-app/api/add.ts
+++ b/packages/app-store/templates/link-as-an-app/api/add.ts
@@ -1,5 +1,5 @@
import { createDefaultInstallation } from "@calcom/app-store/_utils/installation";
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import appConfig from "../config.json";
diff --git a/packages/app-store/typeform/api/add.ts b/packages/app-store/typeform/api/add.ts
index dc41ae123c..7f6af388be 100644
--- a/packages/app-store/typeform/api/add.ts
+++ b/packages/app-store/typeform/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/typeform/playwright/tests/basic.e2e.ts b/packages/app-store/typeform/playwright/tests/basic.e2e.ts
index ce52acb620..dcbee5aea2 100644
--- a/packages/app-store/typeform/playwright/tests/basic.e2e.ts
+++ b/packages/app-store/typeform/playwright/tests/basic.e2e.ts
@@ -1,11 +1,13 @@
-import { Page, expect } from "@playwright/test";
+import type { Page } from "@playwright/test";
+import { expect } from "@playwright/test";
import {
addForm as addRoutingForm,
addOneFieldAndDescriptionAndSaveForm,
} from "@calcom/app-store/ee/routing-forms/playwright/tests/basic.e2e";
import { CAL_URL } from "@calcom/lib/constants";
-import { Fixtures, test } from "@calcom/web/playwright/lib/fixtures";
+import type { Fixtures } from "@calcom/web/playwright/lib/fixtures";
+import { test } from "@calcom/web/playwright/lib/fixtures";
const installApps = async (page: Page, users: Fixtures["users"]) => {
const user = await users.create(
diff --git a/packages/app-store/types.d.ts b/packages/app-store/types.d.ts
index 37c8b91951..ed44f5f0c6 100644
--- a/packages/app-store/types.d.ts
+++ b/packages/app-store/types.d.ts
@@ -1,9 +1,9 @@
-import React from "react";
-import { z } from "zod";
+import type React from "react";
+import type { z } from "zod";
-import { _EventTypeModel } from "@calcom/prisma/zod";
-import { RouterOutputs } from "@calcom/trpc/react";
-import { ButtonProps } from "@calcom/ui";
+import type { _EventTypeModel } from "@calcom/prisma/zod";
+import type { RouterOutputs } from "@calcom/trpc/react";
+import type { ButtonProps } from "@calcom/ui";
export type IntegrationOAuthCallbackState = {
returnTo: string;
diff --git a/packages/app-store/utils.ts b/packages/app-store/utils.ts
index 2e5de4e8db..4ef88f073e 100644
--- a/packages/app-store/utils.ts
+++ b/packages/app-store/utils.ts
@@ -1,13 +1,14 @@
import { Prisma } from "@prisma/client";
-import { TFunction } from "next-i18next";
-import { z } from "zod";
+import type { TFunction } from "next-i18next";
+import type { z } from "zod";
// If you import this file on any app it should produce circular dependency
// import appStore from "./index";
import { appStoreMetadata } from "@calcom/app-store/appStoreMetaData";
-import { defaultLocations, EventLocationType } from "@calcom/app-store/locations";
-import { EventTypeModel } from "@calcom/prisma/zod";
-import { EventTypeMetaDataSchema } from "@calcom/prisma/zod-utils";
+import type { EventLocationType } from "@calcom/app-store/locations";
+import { defaultLocations } from "@calcom/app-store/locations";
+import type { EventTypeModel } from "@calcom/prisma/zod";
+import type { EventTypeMetaDataSchema } from "@calcom/prisma/zod-utils";
import type { App, AppMeta } from "@calcom/types/App";
type LocationOption = {
@@ -148,7 +149,7 @@ function getApps(userCredentials: CredentialData[]) {
};
}
- const credential: typeof credentials[number] | null = credentials[0] || null;
+ const credential: (typeof credentials)[number] | null = credentials[0] || null;
return {
...appMeta,
/**
diff --git a/packages/app-store/vimcal/api/add.ts b/packages/app-store/vimcal/api/add.ts
index b1cbdc1ac1..8a7e247023 100644
--- a/packages/app-store/vimcal/api/add.ts
+++ b/packages/app-store/vimcal/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/vital/api/callback.ts b/packages/app-store/vital/api/callback.ts
index 1147a77e79..ecdb278849 100644
--- a/packages/app-store/vital/api/callback.ts
+++ b/packages/app-store/vital/api/callback.ts
@@ -1,4 +1,4 @@
-import { Prisma } from "@prisma/client";
+import type { Prisma } from "@prisma/client";
import type { NextApiRequest, NextApiResponse } from "next";
import prisma from "@calcom/prisma";
diff --git a/packages/app-store/vital/api/save.ts b/packages/app-store/vital/api/save.ts
index 96bb9a5ee5..8348fb5d6d 100644
--- a/packages/app-store/vital/api/save.ts
+++ b/packages/app-store/vital/api/save.ts
@@ -1,4 +1,4 @@
-import { Prisma } from "@prisma/client";
+import type { Prisma } from "@prisma/client";
import type { NextApiRequest, NextApiResponse } from "next";
import { ZodError } from "zod";
diff --git a/packages/app-store/vital/api/settings.ts b/packages/app-store/vital/api/settings.ts
index 86da2d2759..cbaf8df97b 100644
--- a/packages/app-store/vital/api/settings.ts
+++ b/packages/app-store/vital/api/settings.ts
@@ -1,5 +1,5 @@
import type { NextApiRequest, NextApiResponse } from "next";
-import { JSONObject } from "superjson/dist/types";
+import type { JSONObject } from "superjson/dist/types";
import prisma from "@calcom/prisma";
diff --git a/packages/app-store/vital/api/token.ts b/packages/app-store/vital/api/token.ts
index ae083b4c3b..ab38427e22 100644
--- a/packages/app-store/vital/api/token.ts
+++ b/packages/app-store/vital/api/token.ts
@@ -1,4 +1,4 @@
-import { Prisma } from "@prisma/client";
+import type { Prisma } from "@prisma/client";
import type { NextApiRequest, NextApiResponse } from "next";
import { WEBAPP_URL } from "@calcom/lib/constants";
diff --git a/packages/app-store/vital/api/webhook.ts b/packages/app-store/vital/api/webhook.ts
index fcd3f2c0e9..b49c17d5f4 100644
--- a/packages/app-store/vital/api/webhook.ts
+++ b/packages/app-store/vital/api/webhook.ts
@@ -1,4 +1,5 @@
-import { BookingStatus, Prisma } from "@prisma/client";
+import type { Prisma } from "@prisma/client";
+import { BookingStatus } from "@prisma/client";
import type { NextApiRequest, NextApiResponse } from "next";
import queue from "queue";
diff --git a/packages/app-store/vital/components/InstallAppButton.tsx b/packages/app-store/vital/components/InstallAppButton.tsx
index 0c29769f00..232cceb785 100644
--- a/packages/app-store/vital/components/InstallAppButton.tsx
+++ b/packages/app-store/vital/components/InstallAppButton.tsx
@@ -1,6 +1,6 @@
import { useState } from "react";
-import { InstallAppButtonProps } from "../../types";
+import type { InstallAppButtonProps } from "../../types";
export default function InstallAppButton(props: InstallAppButtonProps) {
const getLinkToken = async () => {
diff --git a/packages/app-store/vital/lib/reschedule.ts b/packages/app-store/vital/lib/reschedule.ts
index 169ecf8b55..d216a987cf 100644
--- a/packages/app-store/vital/lib/reschedule.ts
+++ b/packages/app-store/vital/lib/reschedule.ts
@@ -1,4 +1,5 @@
-import { Booking, BookingReference, BookingStatus, User } from "@prisma/client";
+import type { Booking, BookingReference, User } from "@prisma/client";
+import { BookingStatus } from "@prisma/client";
import type { TFunction } from "next-i18next";
import { CalendarEventBuilder } from "@calcom/core/builders/CalendarEvent/builder";
diff --git a/packages/app-store/weather_in_your_calendar/api/add.ts b/packages/app-store/weather_in_your_calendar/api/add.ts
index 8f569c854c..44d56bb0fa 100644
--- a/packages/app-store/weather_in_your_calendar/api/add.ts
+++ b/packages/app-store/weather_in_your_calendar/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/whatsapp/DESCRIPTION.md b/packages/app-store/whatsapp/DESCRIPTION.md
index 6fc6397a2e..88ee147287 100644
--- a/packages/app-store/whatsapp/DESCRIPTION.md
+++ b/packages/app-store/whatsapp/DESCRIPTION.md
@@ -5,4 +5,4 @@ items:
- /api/app-store/whatsapp/3.jpg
---
-Schedule a chat with your guests or have a WhatsApp Video call.
\ No newline at end of file
+Schedule a chat with your guests or have a WhatsApp Video call.
diff --git a/packages/app-store/whatsapp/api/add.ts b/packages/app-store/whatsapp/api/add.ts
index 8f569c854c..44d56bb0fa 100644
--- a/packages/app-store/whatsapp/api/add.ts
+++ b/packages/app-store/whatsapp/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/whereby/DESCRIPTION.md b/packages/app-store/whereby/DESCRIPTION.md
index 9cc18e9f7d..5477309ffc 100644
--- a/packages/app-store/whereby/DESCRIPTION.md
+++ b/packages/app-store/whereby/DESCRIPTION.md
@@ -4,4 +4,4 @@ items:
- /api/app-store/whereby/whereby2.webp
---
-Whereby's the easiest way to connect over video – with no app or software download required. Connect with anyone, anywhere with zero hassle.
\ No newline at end of file
+Whereby's the easiest way to connect over video – with no app or software download required. Connect with anyone, anywhere with zero hassle.
diff --git a/packages/app-store/wipemycalother/components/confirmDialog.tsx b/packages/app-store/wipemycalother/components/confirmDialog.tsx
index d8023feb95..98c40d8202 100644
--- a/packages/app-store/wipemycalother/components/confirmDialog.tsx
+++ b/packages/app-store/wipemycalother/components/confirmDialog.tsx
@@ -1,6 +1,7 @@
import { ClockIcon } from "@heroicons/react/outline";
import { useMutation } from "@tanstack/react-query";
-import { Dispatch, SetStateAction, useState } from "react";
+import type { Dispatch, SetStateAction } from "react";
+import { useState } from "react";
import dayjs from "@calcom/dayjs";
import { useLocale } from "@calcom/lib/hooks/useLocale";
diff --git a/packages/app-store/wipemycalother/lib/reschedule.ts b/packages/app-store/wipemycalother/lib/reschedule.ts
index cd423846c1..5e735097f2 100644
--- a/packages/app-store/wipemycalother/lib/reschedule.ts
+++ b/packages/app-store/wipemycalother/lib/reschedule.ts
@@ -1,4 +1,5 @@
-import { Booking, BookingReference, BookingStatus, User } from "@prisma/client";
+import type { Booking, BookingReference, User } from "@prisma/client";
+import { BookingStatus } from "@prisma/client";
import type { TFunction } from "next-i18next";
import { CalendarEventBuilder } from "@calcom/core/builders/CalendarEvent/builder";
diff --git a/packages/app-store/wordpress/DESCRIPTION.md b/packages/app-store/wordpress/DESCRIPTION.md
index 5b5c61f6e6..d8e878b94f 100644
--- a/packages/app-store/wordpress/DESCRIPTION.md
+++ b/packages/app-store/wordpress/DESCRIPTION.md
@@ -1,16 +1,17 @@
-Embedded booking pages right into your wordpress page.
+Embedded booking pages right into your wordpress page.
#### FEATURES
+
- Add Cal.com booking calendar to any WordPress page/post with a simple shortcode.
- Display your Cal.com booking calendar inline or in a popup.
- Customize your booking button to suit you.
#### SHORTCODE
-[cal url=/username/meetingid type=2 text="Schedule a call with me"]
+[cal url=/username/meetingid type=2 text="Schedule a call with me"]
#### SHORTCODE CUSTOMIZATION
+
- url: URL of the booking calendar
- type: Add inline or popup embed. Inline embed: 1, Popup embed: 2
- text: For popup embed, customize the text/button that triggers the popup.
-
diff --git a/packages/app-store/wordpress/api/add.ts b/packages/app-store/wordpress/api/add.ts
index f4b106f9d4..8f15564741 100644
--- a/packages/app-store/wordpress/api/add.ts
+++ b/packages/app-store/wordpress/api/add.ts
@@ -1,4 +1,4 @@
-import { AppDeclarativeHandler } from "@calcom/types/AppHandler";
+import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import { createDefaultInstallation } from "../../_utils/installation";
import appConfig from "../config.json";
diff --git a/packages/app-store/zapier/components/TemplateCard.tsx b/packages/app-store/zapier/components/TemplateCard.tsx
index 34b955858f..2eee775cdd 100644
--- a/packages/app-store/zapier/components/TemplateCard.tsx
+++ b/packages/app-store/zapier/components/TemplateCard.tsx
@@ -1,6 +1,6 @@
import { Button } from "@calcom/ui";
-import { Template } from "./AppSettingsInterface";
+import type { Template } from "./AppSettingsInterface";
export default function TemplateCard({ template }: { template: Template }) {
return (
diff --git a/packages/app-store/zapier/pages/setup/_getStaticProps.tsx b/packages/app-store/zapier/pages/setup/_getStaticProps.tsx
index b73a0786cc..05b728d3fe 100644
--- a/packages/app-store/zapier/pages/setup/_getStaticProps.tsx
+++ b/packages/app-store/zapier/pages/setup/_getStaticProps.tsx
@@ -1,4 +1,4 @@
-import { GetStaticPropsContext } from "next";
+import type { GetStaticPropsContext } from "next";
import getAppKeysFromSlug from "../../../_utils/getAppKeysFromSlug";
diff --git a/packages/app-store/zoomvideo/lib/VideoApiAdapter.ts b/packages/app-store/zoomvideo/lib/VideoApiAdapter.ts
index 6d01a93430..ca00ee9a75 100644
--- a/packages/app-store/zoomvideo/lib/VideoApiAdapter.ts
+++ b/packages/app-store/zoomvideo/lib/VideoApiAdapter.ts
@@ -2,10 +2,10 @@ import { z } from "zod";
import dayjs from "@calcom/dayjs";
import prisma from "@calcom/prisma";
-import { Credential } from "@calcom/prisma/client";
+import type { Credential } from "@calcom/prisma/client";
import { Frequency } from "@calcom/prisma/zod-utils";
import type { CalendarEvent } from "@calcom/types/Calendar";
-import { CredentialPayload } from "@calcom/types/Credential";
+import type { CredentialPayload } from "@calcom/types/Credential";
import type { PartialReference } from "@calcom/types/EventManager";
import type { VideoApiAdapter, VideoCallData } from "@calcom/types/VideoApiAdapter";
diff --git a/packages/config/eslint-preset.js b/packages/config/eslint-preset.js
index a0eeee0c8a..8825b059ed 100644
--- a/packages/config/eslint-preset.js
+++ b/packages/config/eslint-preset.js
@@ -5,7 +5,6 @@ module.exports = {
plugins: ["unused-imports"],
parserOptions: {
tsconfigRootDir: __dirname,
- project: ["./tsconfig.json"],
project: ["./apps/*/tsconfig.json", "./packages/*/tsconfig.json"],
},
settings: {
@@ -32,6 +31,18 @@ module.exports = {
extends: ["plugin:@typescript-eslint/recommended", "plugin:@calcom/eslint/recommended"],
plugins: ["@typescript-eslint", "@calcom/eslint"],
parser: "@typescript-eslint/parser",
+ rules: {
+ "@typescript-eslint/consistent-type-imports": [
+ "error",
+ {
+ prefer: "type-imports",
+ // TODO: enable this once prettier supports it
+ // fixStyle: "inline-type-imports",
+ fixStyle: "separate-type-imports",
+ disallowTypeAnnotations: false,
+ },
+ ],
+ },
overrides: [
{
files: ["playwright/**/*.{tsx,ts}"],
diff --git a/packages/config/package.json b/packages/config/package.json
index 8c9312bab1..302ff87adf 100644
--- a/packages/config/package.json
+++ b/packages/config/package.json
@@ -10,10 +10,10 @@
],
"dependencies": {
"@calcom/eslint-plugin-eslint": "*",
- "eslint-config-next": "^13.1.1",
- "eslint-config-prettier": "^8.5.0",
- "eslint-config-turbo": "^0.0.3",
- "eslint-plugin-playwright": "^0.9.0",
+ "eslint-config-next": "^13.1.6",
+ "eslint-config-prettier": "^8.6.0",
+ "eslint-config-turbo": "^0.0.7",
+ "eslint-plugin-playwright": "^0.12.0",
"eslint-plugin-prettier": "^4.2.1"
},
"devDependencies": {
@@ -21,11 +21,11 @@
"@tailwindcss/line-clamp": "^0.4.0",
"@tailwindcss/typography": "^0.5.4",
"@trivago/prettier-plugin-sort-imports": "3.2.0",
- "@typescript-eslint/eslint-plugin": "^5.33.1",
- "@typescript-eslint/parser": "^5.33.1",
- "eslint": "^8.22.0",
+ "@typescript-eslint/eslint-plugin": "^5.52.0",
+ "@typescript-eslint/parser": "^5.52.0",
+ "eslint": "^8.34.0",
"eslint-plugin-unused-imports": "^2.0.0",
- "prettier": "^2.7.1",
+ "prettier": "^2.8.4",
"prettier-plugin-tailwindcss": "^0.1.13",
"tailwind-scrollbar": "^2.0.1",
"tailwindcss": "^3.2.1",
diff --git a/packages/emails/src/renderEmail.ts b/packages/emails/src/renderEmail.ts
index bb0cce8a31..4404c94a47 100644
--- a/packages/emails/src/renderEmail.ts
+++ b/packages/emails/src/renderEmail.ts
@@ -4,7 +4,7 @@ import * as templates from "./templates";
function renderEmail(
template: K,
- props: React.ComponentProps
+ props: React.ComponentProps<(typeof templates)[K]>
) {
const Component = templates[template];
return (
diff --git a/packages/embeds/embed-core/package.json b/packages/embeds/embed-core/package.json
index 4e38daf641..a363ef5fed 100644
--- a/packages/embeds/embed-core/package.json
+++ b/packages/embeds/embed-core/package.json
@@ -24,6 +24,7 @@
"dev-real": "vite dev --port 3100",
"type-check": "tsc --pretty --noEmit",
"lint": "eslint --ext .ts,.js src",
+ "lint:fix": "eslint --ext .ts,.js src --fix",
"embed-tests": "yarn playwright test --config=playwright/config/playwright.config.ts",
"embed-tests-quick": "QUICK=true yarn embed-tests",
"embed-tests-update-snapshots:ci": "yarn embed-tests-quick --update-snapshots",
@@ -43,7 +44,7 @@
},
"devDependencies": {
"autoprefixer": "^10.4.12",
- "eslint": "^8.22.0",
+ "eslint": "^8.34.0",
"npm-run-all": "^4.1.5",
"postcss": "^8.4.18",
"tailwindcss": "^3.2.1",
diff --git a/packages/embeds/embed-core/src/FloatingButton/FloatingButton.ts b/packages/embeds/embed-core/src/FloatingButton/FloatingButton.ts
index 484fa3088b..5a4aad9913 100644
--- a/packages/embeds/embed-core/src/FloatingButton/FloatingButton.ts
+++ b/packages/embeds/embed-core/src/FloatingButton/FloatingButton.ts
@@ -1,4 +1,4 @@
-import { CalWindow } from "../embed";
+import type { CalWindow } from "../embed";
import getFloatingButtonHtml from "./FloatingButtonHtml";
export class FloatingButton extends HTMLElement {
diff --git a/packages/embeds/embed-core/src/Inline/inline.ts b/packages/embeds/embed-core/src/Inline/inline.ts
index a1f1c260d4..98ba5c47e9 100644
--- a/packages/embeds/embed-core/src/Inline/inline.ts
+++ b/packages/embeds/embed-core/src/Inline/inline.ts
@@ -1,4 +1,4 @@
-import { CalWindow } from "../embed";
+import type { CalWindow } from "../embed";
import loaderCss from "../loader.css";
import { getErrorString } from "../utils";
import inlineHtml from "./inlineHtml";
diff --git a/packages/embeds/embed-core/src/ModalBox/ModalBox.ts b/packages/embeds/embed-core/src/ModalBox/ModalBox.ts
index a592566e03..b9e5787ce4 100644
--- a/packages/embeds/embed-core/src/ModalBox/ModalBox.ts
+++ b/packages/embeds/embed-core/src/ModalBox/ModalBox.ts
@@ -1,4 +1,4 @@
-import { CalWindow } from "../embed";
+import type { CalWindow } from "../embed";
import loaderCss from "../loader.css";
import { getErrorString } from "../utils";
import modalBoxHtml from "./ModalBoxHtml";
diff --git a/packages/embeds/embed-core/src/embed-iframe.ts b/packages/embeds/embed-core/src/embed-iframe.ts
index addb350572..26c61f38fb 100644
--- a/packages/embeds/embed-core/src/embed-iframe.ts
+++ b/packages/embeds/embed-core/src/embed-iframe.ts
@@ -1,5 +1,6 @@
import { useRouter } from "next/router";
-import { useState, useEffect, CSSProperties } from "react";
+import type { CSSProperties } from "react";
+import { useState, useEffect } from "react";
import { sdkActionManager } from "./sdk-event";
diff --git a/packages/embeds/embed-core/src/embed.ts b/packages/embeds/embed-core/src/embed.ts
index 8f279311e9..9a2c47a4bd 100644
--- a/packages/embeds/embed-core/src/embed.ts
+++ b/packages/embeds/embed-core/src/embed.ts
@@ -1,7 +1,7 @@
import { FloatingButton } from "./FloatingButton/FloatingButton";
import { Inline } from "./Inline/inline";
import { ModalBox } from "./ModalBox/ModalBox";
-import { methods, UiConfig } from "./embed-iframe";
+import type { methods, UiConfig } from "./embed-iframe";
import css from "./embed.css";
import { SdkActionManager } from "./sdk-action-manager";
import allCss from "./tailwind.generated.css";
@@ -428,7 +428,7 @@ export class Cal {
method,
arg,
}: // TODO: Need some TypeScript magic here to remove hardcoded types
- | { method: "ui"; arg: Parameters[0] }
+ | { method: "ui"; arg: Parameters<(typeof methods)["ui"]>[0] }
| { method: "parentKnowsIframeReady"; arg: undefined }) {
if (!this.iframeReady) {
this.iframeDoQueue.push({ method, arg });
diff --git a/packages/embeds/embed-core/src/preview.ts b/packages/embeds/embed-core/src/preview.ts
index 6a9168aafb..030d4846c5 100644
--- a/packages/embeds/embed-core/src/preview.ts
+++ b/packages/embeds/embed-core/src/preview.ts
@@ -1,4 +1,4 @@
-import { CalWindow } from "./embed";
+import type { CalWindow } from "./embed";
const WEBAPP_URL =
import.meta.env.EMBED_PUBLIC_WEBAPP_URL || `https://${import.meta.env.EMBED_PUBLIC_VERCEL_URL}`;
diff --git a/packages/embeds/embed-react/package.json b/packages/embeds/embed-react/package.json
index 0344e608ae..2585b44e8f 100644
--- a/packages/embeds/embed-react/package.json
+++ b/packages/embeds/embed-react/package.json
@@ -41,10 +41,10 @@
}
},
"devDependencies": {
- "@types/react": "^18.0.17",
- "@types/react-dom": "^18.0.6",
- "@vitejs/plugin-react": "^1.3.2",
- "eslint": "^8.22.0",
+ "@types/react": "18.0.26",
+ "@types/react-dom": "18.0.9",
+ "@vitejs/plugin-react": "1.3.2",
+ "eslint": "^8.34.0",
"npm-run-all": "^4.1.5",
"typescript": "^4.9.4",
"vite": "^2.9.15"
diff --git a/packages/embeds/embed-react/src/index.ts b/packages/embeds/embed-react/src/index.ts
index 196ae4d55f..1ba24fd6a3 100644
--- a/packages/embeds/embed-react/src/index.ts
+++ b/packages/embeds/embed-react/src/index.ts
@@ -1,4 +1,4 @@
-import { CalWindow } from "@calcom/embed-core";
+import type { CalWindow } from "@calcom/embed-core";
import EmbedSnippet from "@calcom/embed-snippet";
import Cal from "./Cal";
diff --git a/packages/embeds/embed-snippet/package.json b/packages/embeds/embed-snippet/package.json
index e234603943..bc119a7e34 100644
--- a/packages/embeds/embed-snippet/package.json
+++ b/packages/embeds/embed-snippet/package.json
@@ -24,7 +24,7 @@
],
"types": "./dist/index.d.ts",
"devDependencies": {
- "eslint": "^8.22.0",
+ "eslint": "^8.34.0",
"typescript": "^4.9.4"
},
"dependencies": {
diff --git a/packages/embeds/embed-snippet/src/index.ts b/packages/embeds/embed-snippet/src/index.ts
index ab9d2a5b1d..997d72cfc3 100644
--- a/packages/embeds/embed-snippet/src/index.ts
+++ b/packages/embeds/embed-snippet/src/index.ts
@@ -4,7 +4,7 @@
* As we want to keep control on the size of this snippet but we want some portion of it to be still readable.
* So, write the code that you need directly but keep it short.
*/
-import { CalWindow } from "@calcom/embed-core";
+import type { CalWindow } from "@calcom/embed-core";
const WEBAPP_URL =
import.meta.env.EMBED_PUBLIC_WEBAPP_URL || `https://${import.meta.env.EMBED_PUBLIC_VERCEL_URL}`;
diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json
index 2dcbdec19d..3d2c1ff29c 100644
--- a/packages/eslint-plugin/package.json
+++ b/packages/eslint-plugin/package.json
@@ -4,9 +4,9 @@
"version": "0.1.0",
"main": "./src/index.js",
"dependencies": {
- "@typescript-eslint/parser": "^5.33.1",
- "@typescript-eslint/utils": "^5.33.1",
- "eslint": "^8.22.0",
+ "@typescript-eslint/parser": "^5.52.0",
+ "@typescript-eslint/utils": "^5.52.0",
+ "eslint": "^8.34.0",
"ts-node": "^10.9.1",
"typescript": "^4.9.4"
},
diff --git a/packages/features/auth/PermissionContainer.tsx b/packages/features/auth/PermissionContainer.tsx
index e5865aec43..dbe4a8222d 100644
--- a/packages/features/auth/PermissionContainer.tsx
+++ b/packages/features/auth/PermissionContainer.tsx
@@ -1,7 +1,7 @@
+import { UserPermissionRole } from "@prisma/client";
import { useSession } from "next-auth/react";
-import { FC, Fragment } from "react";
-
-import { UserPermissionRole } from ".prisma/client";
+import type { FC } from "react";
+import { Fragment } from "react";
type AdminRequiredProps = {
as?: keyof JSX.IntrinsicElements;
diff --git a/packages/features/ee/payments/pages/payment.tsx b/packages/features/ee/payments/pages/payment.tsx
index fc2839700d..c39a072276 100644
--- a/packages/features/ee/payments/pages/payment.tsx
+++ b/packages/features/ee/payments/pages/payment.tsx
@@ -1,15 +1,14 @@
-import { GetServerSidePropsContext } from "next";
+import { BookingStatus } from "@prisma/client";
+import type { GetServerSidePropsContext } from "next";
import { z } from "zod";
-import { StripePaymentData } from "@calcom/app-store/stripepayment/lib/server";
+import type { StripePaymentData } from "@calcom/app-store/stripepayment/lib/server";
import prisma from "@calcom/prisma";
import { EventTypeMetaDataSchema } from "@calcom/prisma/zod-utils";
import type { inferSSRProps } from "@calcom/types/inferSSRProps";
import { ssrInit } from "@server/lib/ssr";
-import { BookingStatus } from ".prisma/client";
-
export type PaymentPageProps = inferSSRProps;
const querySchema = z.object({
diff --git a/packages/lib/CalendarService.ts b/packages/lib/CalendarService.ts
index 96f3a25a22..de8dd69551 100644
--- a/packages/lib/CalendarService.ts
+++ b/packages/lib/CalendarService.ts
@@ -1,13 +1,13 @@
/* eslint-disable @typescript-eslint/triple-slash-reference */
///
-import { Prisma } from "@prisma/client";
+import type { Prisma } from "@prisma/client";
import ICAL from "ical.js";
import type { Attendee, DateArray, DurationObject, Person } from "ics";
import { createEvent } from "ics";
+import type { DAVAccount } from "tsdav";
import {
createAccount,
createCalendarObject,
- DAVAccount,
deleteCalendarObject,
fetchCalendarObjects,
fetchCalendars,
@@ -26,7 +26,7 @@ import type {
IntegrationCalendar,
NewCalendarEventType,
} from "@calcom/types/Calendar";
-import { CredentialPayload } from "@calcom/types/Credential";
+import type { CredentialPayload } from "@calcom/types/Credential";
import { getLocation, getRichDescription } from "./CalEventParser";
import { symmetricDecrypt } from "./crypto";
diff --git a/packages/lib/CloseComeUtils.ts b/packages/lib/CloseComeUtils.ts
index 5e06113dbd..d9f6dccdc0 100644
--- a/packages/lib/CloseComeUtils.ts
+++ b/packages/lib/CloseComeUtils.ts
@@ -1,12 +1,13 @@
import type { CalendarEvent } from "@calcom/types/Calendar";
-import CloseCom, {
+import type {
CloseComCustomActivityCreate,
CloseComCustomActivityFieldGet,
CloseComCustomContactFieldGet,
CloseComFieldOptions,
CloseComLead,
} from "./CloseCom";
+import type CloseCom from "./CloseCom";
import { APP_NAME } from "./constants";
export async function getCloseComContactIds(
diff --git a/packages/lib/PaymentService.ts b/packages/lib/PaymentService.ts
index c81f9fce57..cfc6d5ef41 100644
--- a/packages/lib/PaymentService.ts
+++ b/packages/lib/PaymentService.ts
@@ -1,6 +1,6 @@
-import { Payment, Prisma, Booking } from "@prisma/client";
+import type { Payment, Prisma, Booking } from "@prisma/client";
-import { CalendarEvent } from "@calcom/types/Calendar";
+import type { CalendarEvent } from "@calcom/types/Calendar";
export interface IAbstractPaymentService {
create(
diff --git a/packages/lib/Sendgrid.ts b/packages/lib/Sendgrid.ts
index bf9fe90809..6677094fee 100644
--- a/packages/lib/Sendgrid.ts
+++ b/packages/lib/Sendgrid.ts
@@ -1,6 +1,6 @@
import client from "@sendgrid/client";
-import { ClientRequest } from "@sendgrid/client/src/request";
-import { ClientResponse } from "@sendgrid/client/src/response";
+import type { ClientRequest } from "@sendgrid/client/src/request";
+import type { ClientResponse } from "@sendgrid/client/src/response";
import logger from "@calcom/lib/logger";
diff --git a/packages/lib/auth.ts b/packages/lib/auth.ts
index 2b17bb0815..4eb1102e45 100644
--- a/packages/lib/auth.ts
+++ b/packages/lib/auth.ts
@@ -2,7 +2,8 @@ import { IdentityProvider } from "@prisma/client";
import { compare, hash } from "bcryptjs";
import type { NextApiRequest } from "next";
import type { Session } from "next-auth";
-import { getSession as getSessionInner, GetSessionParams } from "next-auth/react";
+import type { GetSessionParams } from "next-auth/react";
+import { getSession as getSessionInner } from "next-auth/react";
import { HttpError } from "@calcom/lib/http-error";
diff --git a/packages/lib/availability.ts b/packages/lib/availability.ts
index 3e40631bc2..f9574269a7 100644
--- a/packages/lib/availability.ts
+++ b/packages/lib/availability.ts
@@ -1,6 +1,7 @@
import type { Availability } from "@prisma/client";
-import dayjs, { ConfigType } from "@calcom/dayjs";
+import type { ConfigType } from "@calcom/dayjs";
+import dayjs from "@calcom/dayjs";
import type { Schedule, TimeRange, WorkingHours } from "@calcom/types/schedule";
import { nameOfDay } from "./weekday";
diff --git a/packages/lib/date-fns/index.ts b/packages/lib/date-fns/index.ts
index d1bab2bf7a..57658bcb04 100644
--- a/packages/lib/date-fns/index.ts
+++ b/packages/lib/date-fns/index.ts
@@ -1,4 +1,5 @@
-import dayjs, { Dayjs } from "@calcom/dayjs";
+import type { Dayjs } from "@calcom/dayjs";
+import dayjs from "@calcom/dayjs";
// converts a date to 2022-04-25 for example.
export const yyyymmdd = (date: Date | Dayjs) =>
diff --git a/packages/lib/defaultEvents.ts b/packages/lib/defaultEvents.ts
index bbda3e688a..cf9cdf0723 100644
--- a/packages/lib/defaultEvents.ts
+++ b/packages/lib/defaultEvents.ts
@@ -1,8 +1,10 @@
-import { PeriodType, Prisma, SchedulingType } from "@prisma/client";
+import type { Prisma } from "@prisma/client";
+import { PeriodType, SchedulingType } from "@prisma/client";
import { DailyLocationType } from "@calcom/app-store/locations";
-import { userSelect } from "@calcom/prisma/selects";
-import { CustomInputSchema, EventTypeMetaDataSchema } from "@calcom/prisma/zod-utils";
+import type { userSelect } from "@calcom/prisma/selects";
+import type { CustomInputSchema } from "@calcom/prisma/zod-utils";
+import { EventTypeMetaDataSchema } from "@calcom/prisma/zod-utils";
type User = Prisma.UserGetPayload;
diff --git a/packages/lib/findDurationType.ts b/packages/lib/findDurationType.ts
index 5d09e3348b..fa16ca6f11 100644
--- a/packages/lib/findDurationType.ts
+++ b/packages/lib/findDurationType.ts
@@ -1,4 +1,5 @@
-import { DurationType, MINUTES_IN_DAY, MINUTES_IN_HOUR } from "./convertToNewDurationType";
+import type { DurationType } from "./convertToNewDurationType";
+import { MINUTES_IN_DAY, MINUTES_IN_HOUR } from "./convertToNewDurationType";
export default function findDurationType(value: number): DurationType {
if (value % MINUTES_IN_DAY === 0) return "days";
diff --git a/packages/lib/getEventTypeById.ts b/packages/lib/getEventTypeById.ts
index 9eb70e47ca..5bf2ae1630 100644
--- a/packages/lib/getEventTypeById.ts
+++ b/packages/lib/getEventTypeById.ts
@@ -1,8 +1,9 @@
-import { Prisma, PrismaClient } from "@prisma/client";
+import type { PrismaClient } from "@prisma/client";
+import { Prisma } from "@prisma/client";
-import { StripeData } from "@calcom/app-store/stripepayment/lib/server";
+import type { StripeData } from "@calcom/app-store/stripepayment/lib/server";
import { getEventTypeAppData, getLocationGroupedOptions } from "@calcom/app-store/utils";
-import { LocationObject } from "@calcom/core/location";
+import type { LocationObject } from "@calcom/core/location";
import { parseBookingLimit, parseRecurringEvent } from "@calcom/lib";
import getEnabledApps from "@calcom/lib/apps/getEnabledApps";
import { CAL_URL } from "@calcom/lib/constants";
diff --git a/packages/lib/getPaymentAppData.ts b/packages/lib/getPaymentAppData.ts
index 8cdadade88..fa9ccc4d6a 100644
--- a/packages/lib/getPaymentAppData.ts
+++ b/packages/lib/getPaymentAppData.ts
@@ -1,8 +1,9 @@
-import { z } from "zod";
+import type { z } from "zod";
-import { appDataSchemas } from "@calcom/app-store/apps.schemas.generated";
-import { appDataSchema } from "@calcom/app-store/stripepayment/zod";
-import { EventTypeAppsList, getEventTypeAppData } from "@calcom/app-store/utils";
+import type { appDataSchemas } from "@calcom/app-store/apps.schemas.generated";
+import type { appDataSchema } from "@calcom/app-store/stripepayment/zod";
+import type { EventTypeAppsList } from "@calcom/app-store/utils";
+import { getEventTypeAppData } from "@calcom/app-store/utils";
export default function getPaymentAppData(
eventType: Parameters[0],
diff --git a/packages/lib/hooks/useKeyPress.ts b/packages/lib/hooks/useKeyPress.ts
index 8ee7e83c17..e5e430b0a9 100644
--- a/packages/lib/hooks/useKeyPress.ts
+++ b/packages/lib/hooks/useKeyPress.ts
@@ -1,4 +1,5 @@
-import { useState, useEffect, RefObject } from "react";
+import type { RefObject } from "react";
+import { useState, useEffect } from "react";
export function useKeyPress(
targetKey: string,
diff --git a/packages/lib/hooks/useOnclickOutside.ts b/packages/lib/hooks/useOnclickOutside.ts
index ad7872aa98..6174f2ad07 100644
--- a/packages/lib/hooks/useOnclickOutside.ts
+++ b/packages/lib/hooks/useOnclickOutside.ts
@@ -1,4 +1,5 @@
-import React, { useEffect } from "react";
+import type React from "react";
+import { useEffect } from "react";
export default function useOnClickOutside(
ref: React.RefObject,
diff --git a/packages/lib/hooks/useTheme.tsx b/packages/lib/hooks/useTheme.tsx
index de2b6bcb84..ed9e29c0dc 100644
--- a/packages/lib/hooks/useTheme.tsx
+++ b/packages/lib/hooks/useTheme.tsx
@@ -2,7 +2,7 @@ import { useTheme as useNextTheme } from "next-themes";
import { useEffect, useState } from "react";
import { useEmbedTheme } from "@calcom/embed-core/embed-iframe";
-import { Maybe } from "@calcom/trpc/server";
+import type { Maybe } from "@calcom/trpc/server";
// makes sure the ui doesn't flash
export default function useTheme(theme?: Maybe) {
diff --git a/packages/lib/i18n.ts b/packages/lib/i18n.ts
index 6e2d08e2f5..4b26a28743 100644
--- a/packages/lib/i18n.ts
+++ b/packages/lib/i18n.ts
@@ -1,8 +1,8 @@
/* eslint-disable @typescript-eslint/no-var-requires */
import parser from "accept-language-parser";
-import { IncomingMessage } from "http";
+import type { IncomingMessage } from "http";
-import { Maybe } from "@calcom/trpc/server";
+import type { Maybe } from "@calcom/trpc/server";
const { i18n } = require("@calcom/config/next-i18next.config");
diff --git a/packages/lib/isBookingLimits.ts b/packages/lib/isBookingLimits.ts
index ae8455ad93..16d66cfe7e 100644
--- a/packages/lib/isBookingLimits.ts
+++ b/packages/lib/isBookingLimits.ts
@@ -1,5 +1,5 @@
import { bookingLimitsType } from "@calcom/prisma/zod-utils";
-import { BookingLimit } from "@calcom/types/Calendar";
+import type { BookingLimit } from "@calcom/types/Calendar";
export function isBookingLimit(obj: unknown): obj is BookingLimit {
return bookingLimitsType.safeParse(obj).success;
diff --git a/packages/lib/isOutOfBounds.tsx b/packages/lib/isOutOfBounds.tsx
index 11216b1ea7..eeba900c3f 100644
--- a/packages/lib/isOutOfBounds.tsx
+++ b/packages/lib/isOutOfBounds.tsx
@@ -1,4 +1,5 @@
-import { EventType, PeriodType } from "@prisma/client";
+import type { EventType } from "@prisma/client";
+import { PeriodType } from "@prisma/client";
import dayjs from "@calcom/dayjs";
diff --git a/packages/lib/next-seo.config.ts b/packages/lib/next-seo.config.ts
index d39e7c58ca..22431488bf 100644
--- a/packages/lib/next-seo.config.ts
+++ b/packages/lib/next-seo.config.ts
@@ -1,8 +1,8 @@
-import { DefaultSeoProps, NextSeoProps } from "next-seo";
+import type { DefaultSeoProps, NextSeoProps } from "next-seo";
import { APP_NAME, SEO_IMG_DEFAULT, SEO_IMG_OGIMG } from "@calcom/lib/constants";
-import { AppImageProps, MeetingImageProps } from "./OgImages";
+import type { AppImageProps, MeetingImageProps } from "./OgImages";
export type HeadSeoProps = {
title: string;
diff --git a/packages/lib/payment/deletePayment.ts b/packages/lib/payment/deletePayment.ts
index ea7954caf8..b4e1fb4ce7 100644
--- a/packages/lib/payment/deletePayment.ts
+++ b/packages/lib/payment/deletePayment.ts
@@ -1,6 +1,6 @@
-import appStore from "@calcom/app-store";
+import type { AppCategories, Payment, Prisma } from "@prisma/client";
-import { AppCategories, Payment, Prisma } from ".prisma/client";
+import appStore from "@calcom/app-store";
const deletePayment = async (
paymentId: Payment["id"],
diff --git a/packages/lib/payment/handlePayment.ts b/packages/lib/payment/handlePayment.ts
index 05565979fe..dcded8e6e8 100644
--- a/packages/lib/payment/handlePayment.ts
+++ b/packages/lib/payment/handlePayment.ts
@@ -1,9 +1,9 @@
-import appStore from "@calcom/app-store";
-import { EventTypeAppsList } from "@calcom/app-store/utils";
-import { EventTypeModel } from "@calcom/prisma/zod";
-import { CalendarEvent } from "@calcom/types/Calendar";
+import type { AppCategories, Prisma } from "@prisma/client";
-import { AppCategories, Prisma } from ".prisma/client";
+import appStore from "@calcom/app-store";
+import type { EventTypeAppsList } from "@calcom/app-store/utils";
+import type { EventTypeModel } from "@calcom/prisma/zod";
+import type { CalendarEvent } from "@calcom/types/Calendar";
const handlePayment = async (
evt: CalendarEvent,
diff --git a/packages/lib/payment/handleRefundError.ts b/packages/lib/payment/handleRefundError.ts
index acb61826e5..9332a5aa77 100644
--- a/packages/lib/payment/handleRefundError.ts
+++ b/packages/lib/payment/handleRefundError.ts
@@ -1,5 +1,5 @@
import { sendOrganizerPaymentRefundFailedEmail } from "@calcom/emails";
-import { CalendarEvent } from "@calcom/types/Calendar";
+import type { CalendarEvent } from "@calcom/types/Calendar";
const handleRefundError = async (opts: { event: CalendarEvent; reason: string; paymentId: string }) => {
console.error(`refund failed: ${opts.reason} for booking '${opts.event.uid}'`);
diff --git a/packages/lib/recurringStrings.ts b/packages/lib/recurringStrings.ts
index 81301c8cde..df41371c8c 100644
--- a/packages/lib/recurringStrings.ts
+++ b/packages/lib/recurringStrings.ts
@@ -1,4 +1,4 @@
-import { TFunction } from "next-i18next";
+import type { TFunction } from "next-i18next";
import { Frequency } from "@calcom/prisma/zod-utils";
import type { RecurringEvent } from "@calcom/types/Calendar";
diff --git a/packages/lib/sanitizeCalendarObject.ts b/packages/lib/sanitizeCalendarObject.ts
index 19c52c8dc2..65c368a711 100644
--- a/packages/lib/sanitizeCalendarObject.ts
+++ b/packages/lib/sanitizeCalendarObject.ts
@@ -1,4 +1,4 @@
-import { DAVObject } from "tsdav";
+import type { DAVObject } from "tsdav";
export const sanitizeCalendarObject = (obj: DAVObject) => {
return obj.data
diff --git a/packages/lib/server/checkBookingLimits.ts b/packages/lib/server/checkBookingLimits.ts
index a187ead226..386b628567 100644
--- a/packages/lib/server/checkBookingLimits.ts
+++ b/packages/lib/server/checkBookingLimits.ts
@@ -1,6 +1,6 @@
import dayjs from "@calcom/dayjs";
import prisma from "@calcom/prisma";
-import { BookingLimit } from "@calcom/types/Calendar";
+import type { BookingLimit } from "@calcom/types/Calendar";
import { HttpError } from "../http-error";
import { parseBookingLimit } from "../isBookingLimits";
diff --git a/packages/lib/server/getLuckyUser.ts b/packages/lib/server/getLuckyUser.ts
index 26f3f65436..5d0be1969d 100644
--- a/packages/lib/server/getLuckyUser.ts
+++ b/packages/lib/server/getLuckyUser.ts
@@ -1,4 +1,4 @@
-import { User } from "@prisma/client";
+import type { User } from "@prisma/client";
import prisma from "@calcom/prisma";
diff --git a/packages/lib/server/getServerErrorFromUnknown.ts b/packages/lib/server/getServerErrorFromUnknown.ts
index dd4766ca9f..977705d735 100644
--- a/packages/lib/server/getServerErrorFromUnknown.ts
+++ b/packages/lib/server/getServerErrorFromUnknown.ts
@@ -1,6 +1,7 @@
import { PrismaClientKnownRequestError, NotFoundError } from "@prisma/client/runtime";
import Stripe from "stripe";
-import { ZodError, ZodIssue } from "zod";
+import type { ZodIssue } from "zod";
+import { ZodError } from "zod";
import { HttpError } from "../http-error";
diff --git a/packages/lib/server/revalidateCalendarCache.ts b/packages/lib/server/revalidateCalendarCache.ts
index ce580f2d7f..b8dd68e088 100644
--- a/packages/lib/server/revalidateCalendarCache.ts
+++ b/packages/lib/server/revalidateCalendarCache.ts
@@ -1,4 +1,4 @@
-import { NextApiResponse } from "next";
+import type { NextApiResponse } from "next";
import dayjs from "@calcom/dayjs";
diff --git a/packages/lib/serverConfig.ts b/packages/lib/serverConfig.ts
index d492f27778..46c6dca0a5 100644
--- a/packages/lib/serverConfig.ts
+++ b/packages/lib/serverConfig.ts
@@ -1,5 +1,5 @@
-import SendmailTransport from "nodemailer/lib/sendmail-transport";
-import SMTPConnection from "nodemailer/lib/smtp-connection";
+import type SendmailTransport from "nodemailer/lib/sendmail-transport";
+import type SMTPConnection from "nodemailer/lib/smtp-connection";
import { isENVDev } from "@calcom/lib/env";
diff --git a/packages/lib/slots.ts b/packages/lib/slots.ts
index 81a00b43fb..181749c1b2 100644
--- a/packages/lib/slots.ts
+++ b/packages/lib/slots.ts
@@ -1,5 +1,6 @@
-import dayjs, { Dayjs } from "@calcom/dayjs";
-import { WorkingHours, TimeRange as DateOverride } from "@calcom/types/schedule";
+import type { Dayjs } from "@calcom/dayjs";
+import dayjs from "@calcom/dayjs";
+import type { WorkingHours, TimeRange as DateOverride } from "@calcom/types/schedule";
import { getWorkingHours } from "./availability";
@@ -175,7 +176,7 @@ const getSlots = ({
const computedLocalAvailability: TimeFrame[] = [];
let tempComputeTimeFrame: TimeFrame | undefined;
const computeLength = localWorkingHours.length - 1;
- const makeTimeFrame = (item: typeof localWorkingHours[0]): TimeFrame => ({
+ const makeTimeFrame = (item: (typeof localWorkingHours)[0]): TimeFrame => ({
userIds: item.userId ? [item.userId] : [],
startTime: item.startTime,
endTime: item.endTime,
diff --git a/packages/lib/sync/ISyncService.ts b/packages/lib/sync/ISyncService.ts
index 631f0a0d8e..8b2a17788c 100644
--- a/packages/lib/sync/ISyncService.ts
+++ b/packages/lib/sync/ISyncService.ts
@@ -1,4 +1,4 @@
-import logger from "@calcom/lib/logger";
+import type logger from "@calcom/lib/logger";
import { default as webPrisma } from "@calcom/prisma";
export type UserInfo = {
diff --git a/packages/lib/sync/SyncServiceManager.ts b/packages/lib/sync/SyncServiceManager.ts
index 990eaab306..4c9851889a 100644
--- a/packages/lib/sync/SyncServiceManager.ts
+++ b/packages/lib/sync/SyncServiceManager.ts
@@ -1,8 +1,8 @@
-import { MembershipRole } from "@prisma/client";
+import type { MembershipRole } from "@prisma/client";
import logger from "@calcom/lib/logger";
-import { ConsoleUserInfoType, TeamInfoType, WebUserInfoType } from "./ISyncService";
+import type { ConsoleUserInfoType, TeamInfoType, WebUserInfoType } from "./ISyncService";
import services from "./services";
import CloseComService from "./services/CloseComService";
diff --git a/packages/lib/sync/services/CloseComService.ts b/packages/lib/sync/services/CloseComService.ts
index 8acbd3e6c5..9b730038e9 100644
--- a/packages/lib/sync/services/CloseComService.ts
+++ b/packages/lib/sync/services/CloseComService.ts
@@ -1,10 +1,13 @@
import { MembershipRole } from "@prisma/client";
-import CloseCom, { CloseComFieldOptions, CloseComLead } from "@calcom/lib/CloseCom";
+import type { CloseComFieldOptions, CloseComLead } from "@calcom/lib/CloseCom";
+import CloseCom from "@calcom/lib/CloseCom";
import { getCloseComContactIds, getCloseComLeadId, getCustomFieldsIds } from "@calcom/lib/CloseComeUtils";
import logger from "@calcom/lib/logger";
-import SyncServiceCore, { TeamInfoType } from "@calcom/lib/sync/ISyncService";
-import ISyncService, { ConsoleUserInfoType, WebUserInfoType } from "@calcom/lib/sync/ISyncService";
+import type { TeamInfoType } from "@calcom/lib/sync/ISyncService";
+import SyncServiceCore from "@calcom/lib/sync/ISyncService";
+import type { ConsoleUserInfoType, WebUserInfoType } from "@calcom/lib/sync/ISyncService";
+import type ISyncService from "@calcom/lib/sync/ISyncService";
// Cal.com Custom Contact Fields
const calComCustomContactFields: CloseComFieldOptions = [
diff --git a/packages/lib/sync/services/SendgridService.ts b/packages/lib/sync/services/SendgridService.ts
index cfc26e460a..8d4762d357 100644
--- a/packages/lib/sync/services/SendgridService.ts
+++ b/packages/lib/sync/services/SendgridService.ts
@@ -1,7 +1,9 @@
import logger from "@calcom/lib/logger";
-import Sendgrid, { SendgridFieldOptions, SendgridNewContact } from "../../Sendgrid";
-import ISyncService, { ConsoleUserInfoType, WebUserInfoType } from "../ISyncService";
+import type { SendgridFieldOptions, SendgridNewContact } from "../../Sendgrid";
+import Sendgrid from "../../Sendgrid";
+import type { ConsoleUserInfoType, WebUserInfoType } from "../ISyncService";
+import type ISyncService from "../ISyncService";
import SyncServiceCore from "../ISyncService";
// Cal.com Custom Contact Fields
diff --git a/packages/lib/sync/services/index.ts b/packages/lib/sync/services/index.ts
index bf91d8c967..3b5b0af93b 100644
--- a/packages/lib/sync/services/index.ts
+++ b/packages/lib/sync/services/index.ts
@@ -1,4 +1,4 @@
-import { ISyncServices } from "../ISyncService";
+import type { ISyncServices } from "../ISyncService";
import SendgridService from "./SendgridService";
const services: ISyncServices[] = [
diff --git a/packages/lib/telemetry.ts b/packages/lib/telemetry.ts
index a41165c753..f2d08299ec 100644
--- a/packages/lib/telemetry.ts
+++ b/packages/lib/telemetry.ts
@@ -1,5 +1,5 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import { CollectOpts, EventHandler } from "next-collect";
+import type { NextApiRequest, NextApiResponse } from "next";
+import type { CollectOpts, EventHandler } from "next-collect";
import { useCollector } from "next-collect/client";
// Importing types so we're not directly importing next/server
import type { NextRequest, NextResponse } from "next/server";
diff --git a/packages/lib/test/builder.ts b/packages/lib/test/builder.ts
index 2ced6fe7ff..6ebabd4f78 100644
--- a/packages/lib/test/builder.ts
+++ b/packages/lib/test/builder.ts
@@ -1,7 +1,8 @@
import { faker } from "@faker-js/faker";
-import { Booking, BookingStatus, EventType, Prisma, Webhook } from "@prisma/client";
+import type { Booking, EventType, Prisma, Webhook } from "@prisma/client";
+import { BookingStatus } from "@prisma/client";
-import { CalendarEvent, Person, VideoCallData } from "@calcom/types/Calendar";
+import type { CalendarEvent, Person, VideoCallData } from "@calcom/types/Calendar";
export const buildVideoCallData = (callData?: Partial): VideoCallData => {
return {
diff --git a/packages/trpc/server/routers/viewer/bookings.tsx b/packages/trpc/server/routers/viewer/bookings.tsx
index cd1013ddc0..d3d36bb837 100644
--- a/packages/trpc/server/routers/viewer/bookings.tsx
+++ b/packages/trpc/server/routers/viewer/bookings.tsx
@@ -1,16 +1,18 @@
-import {
+import type {
BookingReference,
- BookingStatus,
EventType,
- MembershipRole,
- Prisma,
- SchedulingType,
User,
- WebhookTriggerEvents,
Workflow,
WorkflowsOnEventTypes,
WorkflowStep,
PrismaPromise,
+} from "@prisma/client";
+import {
+ BookingStatus,
+ MembershipRole,
+ Prisma,
+ SchedulingType,
+ WebhookTriggerEvents,
WorkflowMethods,
} from "@prisma/client";
import type { TFunction } from "next-i18next";
@@ -36,7 +38,8 @@ import {
} from "@calcom/emails";
import { scheduleWorkflowReminders } from "@calcom/features/ee/workflows/lib/reminders/reminderScheduler";
import getWebhooks from "@calcom/features/webhooks/lib/getWebhooks";
-import sendPayload, { EventTypeInfo } from "@calcom/features/webhooks/lib/sendPayload";
+import type { EventTypeInfo } from "@calcom/features/webhooks/lib/sendPayload";
+import sendPayload from "@calcom/features/webhooks/lib/sendPayload";
import { isPrismaObjOrUndefined, parseRecurringEvent } from "@calcom/lib";
import logger from "@calcom/lib/logger";
import { getTranslation } from "@calcom/lib/server";
@@ -325,7 +328,7 @@ export const bookingsRouter = router({
const recurringInfo = recurringInfoBasic.map(
(
- info: typeof recurringInfoBasic[number]
+ info: (typeof recurringInfoBasic)[number]
): {
recurringEventId: string | null;
count: number;
diff --git a/packages/trpc/server/routers/viewer/eventTypes.ts b/packages/trpc/server/routers/viewer/eventTypes.ts
index e774886d71..3e28821f4d 100644
--- a/packages/trpc/server/routers/viewer/eventTypes.ts
+++ b/packages/trpc/server/routers/viewer/eventTypes.ts
@@ -13,9 +13,9 @@ import { CAL_URL } from "@calcom/lib/constants";
import getEventTypeById from "@calcom/lib/getEventTypeById";
import { baseEventTypeSelect, baseUserSelect } from "@calcom/prisma";
import { _DestinationCalendarModel, _EventTypeModel } from "@calcom/prisma/zod";
+import type { CustomInputSchema } from "@calcom/prisma/zod-utils";
import {
customInputSchema,
- CustomInputSchema,
EventTypeMetaDataSchema,
stringOrNumber,
userMetadata as userMetadataSchema,
@@ -271,7 +271,7 @@ export const eventTypesRouter = router({
throw new TRPCError({ code: "INTERNAL_SERVER_ERROR" });
}
- const mapEventType = (eventType: typeof user.eventTypes[number]) => ({
+ const mapEventType = (eventType: (typeof user.eventTypes)[number]) => ({
...eventType,
users: !!eventType.hosts?.length ? eventType.hosts.map((host) => host.user) : eventType.users,
// @FIXME: cc @hariombalhara This is failing with production data
@@ -300,8 +300,8 @@ export const eventTypesRouter = router({
type EventTypeGroup = {
teamId?: number | null;
profile: {
- slug: typeof user["username"];
- name: typeof user["name"];
+ slug: (typeof user)["username"];
+ name: (typeof user)["name"];
image?: string;
};
metadata: {
diff --git a/packages/trpc/server/routers/viewer/teams.tsx b/packages/trpc/server/routers/viewer/teams.tsx
index b0a55cd6ce..e96543e124 100644
--- a/packages/trpc/server/routers/viewer/teams.tsx
+++ b/packages/trpc/server/routers/viewer/teams.tsx
@@ -687,7 +687,7 @@ export const viewerTeamsRouter = router({
},
},
});
- type UserMap = Record;
+ type UserMap = Record;
// flattern users to be unique by id
const users = teams
.flatMap((t) => t.members)
diff --git a/packages/types/Calendar.d.ts b/packages/types/Calendar.d.ts
index 55e4b59779..605e633274 100644
--- a/packages/types/Calendar.d.ts
+++ b/packages/types/Calendar.d.ts
@@ -117,7 +117,7 @@ export interface BookingLimit {
export type AppsStatus = {
appName: string;
- type: typeof App["type"];
+ type: (typeof App)["type"];
success: number;
failures: number;
errors: string[];
diff --git a/packages/types/Credential.d.ts b/packages/types/Credential.d.ts
index 265d4ca978..9db77c2ff7 100644
--- a/packages/types/Credential.d.ts
+++ b/packages/types/Credential.d.ts
@@ -1,4 +1,4 @@
-import { Prisma } from ".prisma/client";
+import type { Prisma } from "@prisma/client";
/*
* The logic on this it's just using Credential Type doesn't reflect that some fields can be
diff --git a/packages/ui/components/alert/Alert.tsx b/packages/ui/components/alert/Alert.tsx
index c208e5bdf6..699262be54 100644
--- a/packages/ui/components/alert/Alert.tsx
+++ b/packages/ui/components/alert/Alert.tsx
@@ -1,6 +1,6 @@
import { CheckCircleIcon, ExclamationIcon, InformationCircleIcon, XCircleIcon } from "@heroicons/react/solid";
import classNames from "classnames";
-import { ReactNode } from "react";
+import type { ReactNode } from "react";
import { FiInfo } from "../icon";
diff --git a/packages/ui/components/apps/AllApps.tsx b/packages/ui/components/apps/AllApps.tsx
index 630b632249..0f44c696cb 100644
--- a/packages/ui/components/apps/AllApps.tsx
+++ b/packages/ui/components/apps/AllApps.tsx
@@ -1,6 +1,7 @@
import { useAutoAnimate } from "@formkit/auto-animate/react";
import { useRouter } from "next/router";
-import { UIEvent, useEffect, useRef, useState } from "react";
+import type { UIEvent } from "react";
+import { useEffect, useRef, useState } from "react";
import { classNames } from "@calcom/lib";
import { useLocale } from "@calcom/lib/hooks/useLocale";
diff --git a/packages/ui/components/apps/AppCard.tsx b/packages/ui/components/apps/AppCard.tsx
index d478e74441..e3c7f92153 100644
--- a/packages/ui/components/apps/AppCard.tsx
+++ b/packages/ui/components/apps/AppCard.tsx
@@ -4,7 +4,7 @@ import { useEffect, useState } from "react";
import useAddAppMutation from "@calcom/app-store/_utils/useAddAppMutation";
import { InstallAppButton } from "@calcom/app-store/components";
import { useLocale } from "@calcom/lib/hooks/useLocale";
-import { AppFrontendPayload as App } from "@calcom/types/App";
+import type { AppFrontendPayload as App } from "@calcom/types/App";
import type { CredentialFrontendPayload as Credential } from "@calcom/types/Credential";
import { Button } from "../button";
diff --git a/packages/ui/components/apps/PopularAppsSlider.tsx b/packages/ui/components/apps/PopularAppsSlider.tsx
index 3c95ff2e70..260f60bb97 100644
--- a/packages/ui/components/apps/PopularAppsSlider.tsx
+++ b/packages/ui/components/apps/PopularAppsSlider.tsx
@@ -1,5 +1,5 @@
import { useLocale } from "@calcom/lib/hooks/useLocale";
-import { AppFrontendPayload as App } from "@calcom/types/App";
+import type { AppFrontendPayload as App } from "@calcom/types/App";
import { AppCard } from "./AppCard";
import { Slider } from "./Slider";
diff --git a/packages/ui/components/apps/Slider.tsx b/packages/ui/components/apps/Slider.tsx
index b84ffee7e7..76ccda870b 100644
--- a/packages/ui/components/apps/Slider.tsx
+++ b/packages/ui/components/apps/Slider.tsx
@@ -1,7 +1,9 @@
-import Glide, { Options } from "@glidejs/glide";
+import type { Options } from "@glidejs/glide";
+import Glide from "@glidejs/glide";
import "@glidejs/glide/dist/css/glide.core.min.css";
import "@glidejs/glide/dist/css/glide.theme.min.css";
-import { ComponentProps, FC, useEffect, useRef } from "react";
+import type { ComponentProps, FC } from "react";
+import { useEffect, useRef } from "react";
import { useLocale } from "@calcom/lib/hooks/useLocale";
diff --git a/packages/ui/components/apps/_storybookData.ts b/packages/ui/components/apps/_storybookData.ts
index 4307562c76..8994519230 100644
--- a/packages/ui/components/apps/_storybookData.ts
+++ b/packages/ui/components/apps/_storybookData.ts
@@ -1,4 +1,4 @@
-import { AppFrontendPayload as App } from "@calcom/types/App";
+import type { AppFrontendPayload as App } from "@calcom/types/App";
export const _SBApps: App[] = [
{
diff --git a/packages/ui/components/avatar/Avatar.tsx b/packages/ui/components/avatar/Avatar.tsx
index ea64cd953d..d5f127b66c 100644
--- a/packages/ui/components/avatar/Avatar.tsx
+++ b/packages/ui/components/avatar/Avatar.tsx
@@ -5,7 +5,7 @@ import Link from "next/link";
import classNames from "@calcom/lib/classNames";
import { defaultAvatarSrc } from "@calcom/lib/defaultAvatarImage";
-import { Maybe } from "@trpc/server";
+import type { Maybe } from "@trpc/server";
import { FiCheck } from "../icon";
diff --git a/packages/ui/components/badge/Badge.tsx b/packages/ui/components/badge/Badge.tsx
index 2eac4f1736..91e220cb25 100644
--- a/packages/ui/components/badge/Badge.tsx
+++ b/packages/ui/components/badge/Badge.tsx
@@ -1,7 +1,7 @@
import { GoPrimitiveDot } from "react-icons/go";
import classNames from "@calcom/lib/classNames";
-import { SVGComponent } from "@calcom/types/SVGComponent";
+import type { SVGComponent } from "@calcom/types/SVGComponent";
const badgeClassNameByVariant = {
default: "bg-orange-100 text-orange-800",
diff --git a/packages/ui/components/button/Button.tsx b/packages/ui/components/button/Button.tsx
index 91c17f2511..016470fdae 100644
--- a/packages/ui/components/button/Button.tsx
+++ b/packages/ui/components/button/Button.tsx
@@ -1,10 +1,12 @@
-import { cva, VariantProps } from "class-variance-authority";
-import Link, { LinkProps } from "next/link";
+import type { VariantProps } from "class-variance-authority";
+import { cva } from "class-variance-authority";
+import type { LinkProps } from "next/link";
+import Link from "next/link";
import React, { forwardRef } from "react";
import classNames from "@calcom/lib/classNames";
import { applyStyleToMultipleVariants } from "@calcom/lib/cva";
-import { SVGComponent } from "@calcom/types/SVGComponent";
+import type { SVGComponent } from "@calcom/types/SVGComponent";
import { FiPlus } from "../icon";
import { Tooltip } from "../tooltip";
diff --git a/packages/ui/components/button/LinkIconButton.tsx b/packages/ui/components/button/LinkIconButton.tsx
index e57846a6b1..f43f6027e2 100644
--- a/packages/ui/components/button/LinkIconButton.tsx
+++ b/packages/ui/components/button/LinkIconButton.tsx
@@ -1,6 +1,6 @@
import React from "react";
-import { SVGComponent } from "@calcom/types/SVGComponent";
+import type { SVGComponent } from "@calcom/types/SVGComponent";
interface LinkIconButtonProps extends React.ButtonHTMLAttributes {
Icon: SVGComponent;
diff --git a/packages/ui/components/buttonGroup/ButtonGroup.tsx b/packages/ui/components/buttonGroup/ButtonGroup.tsx
index b3982aee48..1401d2a4fd 100644
--- a/packages/ui/components/buttonGroup/ButtonGroup.tsx
+++ b/packages/ui/components/buttonGroup/ButtonGroup.tsx
@@ -21,7 +21,7 @@ export function ButtonGroup({ children, combined = false, containerProps }: Prop
"flex",
!combined
? "space-x-2 rtl:space-x-reverse"
- : "ltr:[&>*:first-child]:ml-0 ltr:[&>*:first-child]:rounded-l-md ltr:[&>*:first-child]:border-l rtl:[&>*:first-child]:rounded-r-md rtl:[&>*:first-child]:border-r ltr:[&>*:last-child]:rounded-r-md rtl:[&>*:last-child]:rounded-l-md [&_button]:rounded-none [&_a]:rounded-none [&>a]:-ml-[1px] hover:[&>a]:z-[1] [&>button]:-ml-[1px] hover:[&>button]:z-[1]",
+ : "[&_a]:rounded-none ltr:[&>*:first-child]:ml-0 ltr:[&>*:first-child]:rounded-l-md ltr:[&>*:first-child]:border-l rtl:[&>*:first-child]:rounded-r-md rtl:[&>*:first-child]:border-r ltr:[&>*:last-child]:rounded-r-md rtl:[&>*:last-child]:rounded-l-md [&_button]:rounded-none [&>a]:-ml-[1px] hover:[&>a]:z-[1] [&>button]:-ml-[1px] hover:[&>button]:z-[1]",
containerProps?.className
)}>
{children}
diff --git a/packages/ui/components/card/Card.tsx b/packages/ui/components/card/Card.tsx
index d2acc03e15..6b4a08e634 100644
--- a/packages/ui/components/card/Card.tsx
+++ b/packages/ui/components/card/Card.tsx
@@ -1,6 +1,6 @@
// @TODO: turn this into a more generic component that has the same Props API as MUI https://mui.com/material-ui/react-card/
import Link from "next/link";
-import { ReactNode } from "react";
+import type { ReactNode } from "react";
import React from "react";
import classNames from "@calcom/lib/classNames";
diff --git a/packages/ui/components/card/FormCard.tsx b/packages/ui/components/card/FormCard.tsx
index 53aeb2a5ab..adf63c252e 100644
--- a/packages/ui/components/card/FormCard.tsx
+++ b/packages/ui/components/card/FormCard.tsx
@@ -2,7 +2,8 @@ import Link from "next/link";
import { classNames } from "@calcom/lib";
-import { Badge, BadgeProps } from "../..";
+import type { BadgeProps } from "../..";
+import { Badge } from "../..";
import { Divider } from "../divider";
import { FiArrowDown, FiArrowUp, FiTrash } from "../icon";
diff --git a/packages/ui/components/dialog/ConfirmationDialogContent.tsx b/packages/ui/components/dialog/ConfirmationDialogContent.tsx
index ed245d16c0..578cee497c 100644
--- a/packages/ui/components/dialog/ConfirmationDialogContent.tsx
+++ b/packages/ui/components/dialog/ConfirmationDialogContent.tsx
@@ -1,5 +1,6 @@
import * as DialogPrimitive from "@radix-ui/react-dialog";
-import React, { PropsWithChildren, ReactNode } from "react";
+import type { PropsWithChildren, ReactNode } from "react";
+import React from "react";
import { useLocale } from "@calcom/lib/hooks/useLocale";
diff --git a/packages/ui/components/dialog/Dialog.tsx b/packages/ui/components/dialog/Dialog.tsx
index a8083191e5..b30a327da0 100644
--- a/packages/ui/components/dialog/Dialog.tsx
+++ b/packages/ui/components/dialog/Dialog.tsx
@@ -1,14 +1,16 @@
import * as DialogPrimitive from "@radix-ui/react-dialog";
import { useRouter } from "next/router";
-import React, { ReactNode, useState } from "react";
+import type { ReactNode } from "react";
+import React, { useState } from "react";
import classNames from "@calcom/lib/classNames";
import { useLocale } from "@calcom/lib/hooks/useLocale";
-import { SVGComponent } from "@calcom/types/SVGComponent";
+import type { SVGComponent } from "@calcom/types/SVGComponent";
-import { Button, ButtonProps } from "../../components/button";
+import type { ButtonProps } from "../../components/button";
+import { Button } from "../../components/button";
-export type DialogProps = React.ComponentProps & {
+export type DialogProps = React.ComponentProps<(typeof DialogPrimitive)["Root"]> & {
name?: string;
clearQueryParamsOnClose?: string[];
};
@@ -55,7 +57,7 @@ export function Dialog(props: DialogProps) {
return {children};
}
-type DialogContentProps = React.ComponentProps & {
+type DialogContentProps = React.ComponentProps<(typeof DialogPrimitive)["Content"]> & {
size?: "xl" | "lg" | "md";
type?: "creation" | "confirmation";
title?: string;
@@ -142,7 +144,7 @@ export const DialogTrigger = DialogPrimitive.Trigger;
export function DialogClose(
props: {
- dialogCloseProps?: React.ComponentProps;
+ dialogCloseProps?: React.ComponentProps<(typeof DialogPrimitive)["Close"]>;
children?: ReactNode;
onClick?: (e: React.MouseEvent) => void;
disabled?: boolean;
diff --git a/packages/ui/components/editor/plugins/ToolbarPlugin.tsx b/packages/ui/components/editor/plugins/ToolbarPlugin.tsx
index e2ed05a223..d265e858c9 100644
--- a/packages/ui/components/editor/plugins/ToolbarPlugin.tsx
+++ b/packages/ui/components/editor/plugins/ToolbarPlugin.tsx
@@ -12,18 +12,14 @@ import { $createHeadingNode, $isHeadingNode } from "@lexical/rich-text";
import { $isAtNodeEnd, $wrapNodes } from "@lexical/selection";
import { $getNearestNodeOfType, mergeRegister } from "@lexical/utils";
import classNames from "classnames";
+import type { EditorState, GridSelection, LexicalEditor, NodeSelection, RangeSelection } from "lexical";
import {
$createParagraphNode,
$getRoot,
$getSelection,
$insertNodes,
$isRangeSelection,
- EditorState,
FORMAT_TEXT_COMMAND,
- GridSelection,
- LexicalEditor,
- NodeSelection,
- RangeSelection,
SELECTION_CHANGE_COMMAND,
} from "lexical";
import { useCallback, useEffect, useRef, useState } from "react";
@@ -32,7 +28,7 @@ import { createPortal } from "react-dom";
import { Button } from "../../button";
import { Dropdown, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../../form/dropdown";
import { FiChevronDown } from "../../icon";
-import { TextEditorProps } from "../Editor";
+import type { TextEditorProps } from "../Editor";
import { AddVariablesDropdown } from "./AddVariablesDropdown";
const LowPriority = 1;
diff --git a/packages/ui/components/empty-screen/EmptyScreen.tsx b/packages/ui/components/empty-screen/EmptyScreen.tsx
index d27e7c874d..02251bd9b1 100644
--- a/packages/ui/components/empty-screen/EmptyScreen.tsx
+++ b/packages/ui/components/empty-screen/EmptyScreen.tsx
@@ -1,7 +1,8 @@
-import React, { ReactNode } from "react";
-import { IconType } from "react-icons";
+import type { ReactNode } from "react";
+import React from "react";
+import type { IconType } from "react-icons";
-import { SVGComponent } from "@calcom/types/SVGComponent";
+import type { SVGComponent } from "@calcom/types/SVGComponent";
import { Button } from "../../components/button";
diff --git a/packages/ui/components/errorBoundary/ErrorBoundary.tsx b/packages/ui/components/errorBoundary/ErrorBoundary.tsx
index 0d78df256a..a1523ae329 100644
--- a/packages/ui/components/errorBoundary/ErrorBoundary.tsx
+++ b/packages/ui/components/errorBoundary/ErrorBoundary.tsx
@@ -1,4 +1,5 @@
-import React, { ErrorInfo } from "react";
+import type { ErrorInfo } from "react";
+import React from "react";
class ErrorBoundary extends React.Component<
{ children: React.ReactNode; message?: string },
diff --git a/packages/ui/components/form/checkbox/Checkbox.tsx b/packages/ui/components/form/checkbox/Checkbox.tsx
index 670df098ba..e44c346fab 100644
--- a/packages/ui/components/form/checkbox/Checkbox.tsx
+++ b/packages/ui/components/form/checkbox/Checkbox.tsx
@@ -1,4 +1,5 @@
-import React, { forwardRef, InputHTMLAttributes } from "react";
+import type { InputHTMLAttributes } from "react";
+import React, { forwardRef } from "react";
import classNames from "@calcom/lib/classNames";
diff --git a/packages/ui/components/form/checkbox/MultiSelectCheckboxes.tsx b/packages/ui/components/form/checkbox/MultiSelectCheckboxes.tsx
index cbfbef8deb..f9bf6f7d44 100644
--- a/packages/ui/components/form/checkbox/MultiSelectCheckboxes.tsx
+++ b/packages/ui/components/form/checkbox/MultiSelectCheckboxes.tsx
@@ -1,6 +1,8 @@
-import React, { Dispatch, SetStateAction } from "react";
-import { components, GroupBase, OptionProps } from "react-select";
-import { Props } from "react-select";
+import type { Dispatch, SetStateAction } from "react";
+import React from "react";
+import type { GroupBase, OptionProps } from "react-select";
+import { components } from "react-select";
+import type { Props } from "react-select";
import { classNames } from "@calcom/lib";
import { useLocale } from "@calcom/lib/hooks/useLocale";
diff --git a/packages/ui/components/form/dropdown/Dropdown.tsx b/packages/ui/components/form/dropdown/Dropdown.tsx
index 23c789c7d6..b682d70925 100644
--- a/packages/ui/components/form/dropdown/Dropdown.tsx
+++ b/packages/ui/components/form/dropdown/Dropdown.tsx
@@ -1,16 +1,17 @@
import { CheckCircleIcon } from "@heroicons/react/outline";
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
import Link from "next/link";
-import { ComponentProps, forwardRef } from "react";
+import type { ComponentProps } from "react";
+import { forwardRef } from "react";
import { classNames } from "@calcom/lib";
-import { SVGComponent } from "@calcom/types/SVGComponent";
+import type { SVGComponent } from "@calcom/types/SVGComponent";
-import { ButtonColor } from "../../button/Button";
+import type { ButtonColor } from "../../button/Button";
export const Dropdown = DropdownMenuPrimitive.Root;
-type DropdownMenuTriggerProps = ComponentProps;
+type DropdownMenuTriggerProps = ComponentProps<(typeof DropdownMenuPrimitive)["Trigger"]>;
export const DropdownMenuTrigger = forwardRef(
({ className = "", ...props }, forwardedRef) => (
;
+type DropdownMenuContentProps = ComponentProps<(typeof DropdownMenuPrimitive)["Content"]>;
export const DropdownMenuContent = forwardRef(
({ children, sideOffset = 2, align = "end", ...props }, forwardedRef) => {
return (
@@ -49,12 +50,12 @@ export const DropdownMenuContent = forwardRef;
+type DropdownMenuLabelProps = ComponentProps<(typeof DropdownMenuPrimitive)["Label"]>;
export const DropdownMenuLabel = (props: DropdownMenuLabelProps) => (
);
-type DropdownMenuItemProps = ComponentProps;
+type DropdownMenuItemProps = ComponentProps<(typeof DropdownMenuPrimitive)["CheckboxItem"]>;
export const DropdownMenuItem = forwardRef(
({ className = "", ...props }, forwardedRef) => (
;
+type DropdownMenuCheckboxItemProps = ComponentProps<(typeof DropdownMenuPrimitive)["CheckboxItem"]>;
export const DropdownMenuCheckboxItem = forwardRef(
({ children, ...props }, forwardedRef) => {
return (
@@ -85,7 +86,7 @@ DropdownMenuCheckboxItem.displayName = "DropdownMenuCheckboxItem";
export const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
-type DropdownMenuRadioItemProps = ComponentProps;
+type DropdownMenuRadioItemProps = ComponentProps<(typeof DropdownMenuPrimitive)["RadioItem"]>;
export const DropdownMenuRadioItem = forwardRef(
({ children, ...props }, forwardedRef) => {
return (
@@ -146,7 +147,7 @@ export const DropdownItem = (props: DropdownItemProps) => {
);
};
-type DropdownMenuSeparatorProps = ComponentProps;
+type DropdownMenuSeparatorProps = ComponentProps<(typeof DropdownMenuPrimitive)["Separator"]>;
export const DropdownMenuSeparator = forwardRef(
({ className = "", ...props }, forwardedRef) => {
return (
diff --git a/packages/ui/components/form/inputs/HintOrErrors.tsx b/packages/ui/components/form/inputs/HintOrErrors.tsx
index d050044649..14ad3945e9 100644
--- a/packages/ui/components/form/inputs/HintOrErrors.tsx
+++ b/packages/ui/components/form/inputs/HintOrErrors.tsx
@@ -1,4 +1,5 @@
-import { FieldValues, useFormContext } from "react-hook-form";
+import type { FieldValues } from "react-hook-form";
+import { useFormContext } from "react-hook-form";
import { FiCheck, FiCircle, FiInfo, FiX } from "../../icon";
diff --git a/packages/ui/components/form/inputs/Input.tsx b/packages/ui/components/form/inputs/Input.tsx
index e5a36b9701..698111d65b 100644
--- a/packages/ui/components/form/inputs/Input.tsx
+++ b/packages/ui/components/form/inputs/Input.tsx
@@ -1,5 +1,7 @@
-import React, { forwardRef, ReactElement, ReactNode, Ref, useCallback, useId, useState } from "react";
-import { FieldValues, FormProvider, SubmitHandler, useFormContext, UseFormReturn } from "react-hook-form";
+import type { ReactElement, ReactNode, Ref } from "react";
+import React, { forwardRef, useCallback, useId, useState } from "react";
+import type { FieldValues, SubmitHandler, UseFormReturn } from "react-hook-form";
+import { FormProvider, useFormContext } from "react-hook-form";
import classNames from "@calcom/lib/classNames";
import { getErrorFromUnknown } from "@calcom/lib/errors";
diff --git a/packages/ui/components/form/select/Select.tsx b/packages/ui/components/form/select/Select.tsx
index ebc243c197..e2ce0095f3 100644
--- a/packages/ui/components/form/select/Select.tsx
+++ b/packages/ui/components/form/select/Select.tsx
@@ -1,7 +1,6 @@
import { useId } from "@radix-ui/react-id";
import * as React from "react";
-import ReactSelect, {
- components as reactSelectComponents,
+import type {
GroupBase,
Props,
SingleValue,
@@ -9,6 +8,7 @@ import ReactSelect, {
SelectComponentsConfig,
MenuPlacement,
} from "react-select";
+import ReactSelect, { components as reactSelectComponents } from "react-select";
import classNames from "@calcom/lib/classNames";
import { useLocale } from "@calcom/lib/hooks/useLocale";
diff --git a/packages/ui/components/form/select/components.tsx b/packages/ui/components/form/select/components.tsx
index 9d63b1b224..a50bc43c5c 100644
--- a/packages/ui/components/form/select/components.tsx
+++ b/packages/ui/components/form/select/components.tsx
@@ -1,5 +1,4 @@
-import {
- components as reactSelectComponents,
+import type {
ControlProps,
GroupBase,
InputProps,
@@ -10,6 +9,7 @@ import {
SingleValueProps,
ValueContainerProps,
} from "react-select";
+import { components as reactSelectComponents } from "react-select";
import { classNames } from "@calcom/lib";
diff --git a/packages/ui/components/form/selectimproved/components/Item.tsx b/packages/ui/components/form/selectimproved/components/Item.tsx
index a1ac1715ce..2d437568db 100755
--- a/packages/ui/components/form/selectimproved/components/Item.tsx
+++ b/packages/ui/components/form/selectimproved/components/Item.tsx
@@ -4,7 +4,7 @@ import { FiCheck } from "react-icons/fi";
import { classNames as cn } from "@calcom/lib";
import { useSelectContext } from "./SelectProvider";
-import { Option } from "./type";
+import type { Option } from "./type";
interface ItemProps {
item: Option;
diff --git a/packages/ui/components/form/selectimproved/components/Options.tsx b/packages/ui/components/form/selectimproved/components/Options.tsx
index 456dc406bd..feab464a12 100755
--- a/packages/ui/components/form/selectimproved/components/Options.tsx
+++ b/packages/ui/components/form/selectimproved/components/Options.tsx
@@ -6,7 +6,7 @@ import { useKeyPress } from "@calcom/lib/hooks/useKeyPress";
import { Label } from "../../inputs/Label";
import Item from "./Item";
import { SelectContext } from "./SelectProvider";
-import { Option } from "./type";
+import type { Option } from "./type";
interface OptionsProps {
list: T[];
diff --git a/packages/ui/components/form/selectimproved/components/Select.tsx b/packages/ui/components/form/selectimproved/components/Select.tsx
index 7407e9e7e2..8db99e6e06 100755
--- a/packages/ui/components/form/selectimproved/components/Select.tsx
+++ b/packages/ui/components/form/selectimproved/components/Select.tsx
@@ -8,7 +8,7 @@ import { FiX, FiChevronDown } from "../../../icon";
import Options from "./Options";
import SearchInput from "./SearchInput";
import SelectProvider from "./SelectProvider";
-import { Option } from "./type";
+import type { Option } from "./type";
interface SelectProps {
options: T[];
diff --git a/packages/ui/components/form/selectimproved/components/SelectProvider.tsx b/packages/ui/components/form/selectimproved/components/SelectProvider.tsx
index d8648da86f..adbc7e782f 100644
--- a/packages/ui/components/form/selectimproved/components/SelectProvider.tsx
+++ b/packages/ui/components/form/selectimproved/components/SelectProvider.tsx
@@ -1,6 +1,6 @@
import React, { createContext, useContext, useMemo } from "react";
-import { ClassNames, Option } from "./type";
+import type { ClassNames, Option } from "./type";
interface Store {
selectedItems: Option | Option[] | null;
diff --git a/packages/ui/components/form/switch/SettingsToggle.tsx b/packages/ui/components/form/switch/SettingsToggle.tsx
index b3c1dda661..a18fce67bf 100644
--- a/packages/ui/components/form/switch/SettingsToggle.tsx
+++ b/packages/ui/components/form/switch/SettingsToggle.tsx
@@ -1,5 +1,5 @@
import { useAutoAnimate } from "@formkit/auto-animate/react";
-import { ReactNode } from "react";
+import type { ReactNode } from "react";
import { Label } from "..";
import Switch from "./Switch";
diff --git a/packages/ui/components/form/timezone-select/TimezoneSelect.tsx b/packages/ui/components/form/timezone-select/TimezoneSelect.tsx
index 38a6ef9d86..40430460dd 100644
--- a/packages/ui/components/form/timezone-select/TimezoneSelect.tsx
+++ b/packages/ui/components/form/timezone-select/TimezoneSelect.tsx
@@ -1,10 +1,6 @@
import { useMemo } from "react";
-import BaseSelect, {
- allTimezones,
- ITimezoneOption,
- ITimezone,
- Props as SelectProps,
-} from "react-timezone-select";
+import type { ITimezoneOption, ITimezone, Props as SelectProps } from "react-timezone-select";
+import BaseSelect, { allTimezones } from "react-timezone-select";
import { getReactSelectProps } from "../select";
diff --git a/packages/ui/components/form/wizard/WizardForm.tsx b/packages/ui/components/form/wizard/WizardForm.tsx
index 6d413ea2fb..ad16c01931 100644
--- a/packages/ui/components/form/wizard/WizardForm.tsx
+++ b/packages/ui/components/form/wizard/WizardForm.tsx
@@ -1,6 +1,7 @@
import { noop } from "lodash";
import { useRouter } from "next/router";
-import { Dispatch, SetStateAction, useEffect, useState } from "react";
+import type { Dispatch, SetStateAction } from "react";
+import { useEffect, useState } from "react";
import classNames from "@calcom/lib/classNames";
diff --git a/packages/ui/components/head-seo/HeadSeo.tsx b/packages/ui/components/head-seo/HeadSeo.tsx
index 977a9d42f5..81c01203eb 100644
--- a/packages/ui/components/head-seo/HeadSeo.tsx
+++ b/packages/ui/components/head-seo/HeadSeo.tsx
@@ -1,14 +1,10 @@
import merge from "lodash/merge";
-import { NextSeo, NextSeoProps } from "next-seo";
+import type { NextSeoProps } from "next-seo";
+import { NextSeo } from "next-seo";
import { useRouter } from "next/router";
-import {
- AppImageProps,
- constructAppImage,
- constructGenericImage,
- constructMeetingImage,
- MeetingImageProps,
-} from "@calcom/lib/OgImages";
+import type { AppImageProps, MeetingImageProps } from "@calcom/lib/OgImages";
+import { constructAppImage, constructGenericImage, constructMeetingImage } from "@calcom/lib/OgImages";
import { getBrowserInfo } from "@calcom/lib/browser/browser.utils";
import { APP_NAME } from "@calcom/lib/constants";
import { seoConfig, getSeoImage } from "@calcom/lib/next-seo.config";
diff --git a/packages/ui/components/image-uploader/ImageUploader.tsx b/packages/ui/components/image-uploader/ImageUploader.tsx
index 303381e547..686c890515 100644
--- a/packages/ui/components/image-uploader/ImageUploader.tsx
+++ b/packages/ui/components/image-uploader/ImageUploader.tsx
@@ -1,5 +1,6 @@
import * as SliderPrimitive from "@radix-ui/react-slider";
-import { FormEvent, useCallback, useEffect, useState } from "react";
+import type { FormEvent } from "react";
+import { useCallback, useEffect, useState } from "react";
import Cropper from "react-easy-crop";
import { useLocale } from "@calcom/lib/hooks/useLocale";
diff --git a/packages/ui/components/layout/ShellSubHeading.tsx b/packages/ui/components/layout/ShellSubHeading.tsx
index 6752aac2ef..7f95a3e28d 100644
--- a/packages/ui/components/layout/ShellSubHeading.tsx
+++ b/packages/ui/components/layout/ShellSubHeading.tsx
@@ -1,4 +1,4 @@
-import { ReactNode } from "react";
+import type { ReactNode } from "react";
import { classNames } from "@calcom/lib";
diff --git a/packages/ui/components/navigation/tabs/HorizontalTabItem.tsx b/packages/ui/components/navigation/tabs/HorizontalTabItem.tsx
index f71f9b589f..0ebe7db6de 100644
--- a/packages/ui/components/navigation/tabs/HorizontalTabItem.tsx
+++ b/packages/ui/components/navigation/tabs/HorizontalTabItem.tsx
@@ -1,10 +1,10 @@
import Link from "next/link";
import { useRouter } from "next/router";
-import { ComponentProps } from "react";
+import type { ComponentProps } from "react";
import classNames from "@calcom/lib/classNames";
import { useLocale } from "@calcom/lib/hooks/useLocale";
-import { SVGComponent } from "@calcom/types/SVGComponent";
+import type { SVGComponent } from "@calcom/types/SVGComponent";
import { Avatar } from "../../avatar";
import { SkeletonText } from "../../skeleton";
diff --git a/packages/ui/components/navigation/tabs/HorizontalTabs.tsx b/packages/ui/components/navigation/tabs/HorizontalTabs.tsx
index 16babfe0a8..b8229b7c0b 100644
--- a/packages/ui/components/navigation/tabs/HorizontalTabs.tsx
+++ b/packages/ui/components/navigation/tabs/HorizontalTabs.tsx
@@ -1,4 +1,5 @@
-import HorizontalTabItem, { HorizontalTabItemProps } from "./HorizontalTabItem";
+import type { HorizontalTabItemProps } from "./HorizontalTabItem";
+import HorizontalTabItem from "./HorizontalTabItem";
export interface NavTabProps {
tabs: HorizontalTabItemProps[];
diff --git a/packages/ui/components/navigation/tabs/VerticalTabItem.tsx b/packages/ui/components/navigation/tabs/VerticalTabItem.tsx
index 5ef08a088c..06dab62437 100644
--- a/packages/ui/components/navigation/tabs/VerticalTabItem.tsx
+++ b/packages/ui/components/navigation/tabs/VerticalTabItem.tsx
@@ -1,10 +1,11 @@
import Link from "next/link";
import { useRouter } from "next/router";
-import { ComponentProps, Fragment } from "react";
+import type { ComponentProps } from "react";
+import { Fragment } from "react";
import classNames from "@calcom/lib/classNames";
import { useLocale } from "@calcom/lib/hooks/useLocale";
-import { SVGComponent } from "@calcom/types/SVGComponent";
+import type { SVGComponent } from "@calcom/types/SVGComponent";
import { FiChevronRight, FiExternalLink } from "../../icon";
import { Skeleton } from "../../skeleton";
diff --git a/packages/ui/components/navigation/tabs/VerticalTabs.tsx b/packages/ui/components/navigation/tabs/VerticalTabs.tsx
index 1a20dedbe0..49574c25fc 100644
--- a/packages/ui/components/navigation/tabs/VerticalTabs.tsx
+++ b/packages/ui/components/navigation/tabs/VerticalTabs.tsx
@@ -1,6 +1,7 @@
import { classNames } from "@calcom/lib";
-import VerticalTabItem, { VerticalTabItemProps } from "./VerticalTabItem";
+import type { VerticalTabItemProps } from "./VerticalTabItem";
+import VerticalTabItem from "./VerticalTabItem";
export { VerticalTabItem };
diff --git a/packages/ui/components/table/TableActions.tsx b/packages/ui/components/table/TableActions.tsx
index 537774527f..81e372d577 100644
--- a/packages/ui/components/table/TableActions.tsx
+++ b/packages/ui/components/table/TableActions.tsx
@@ -1,7 +1,9 @@
-import React, { FC } from "react";
-import { IconType } from "react-icons/lib";
+import type { FC } from "react";
+import React from "react";
+import type { IconType } from "react-icons/lib";
-import { Button, ButtonBaseProps } from "../button";
+import type { ButtonBaseProps } from "../button";
+import { Button } from "../button";
import {
Dropdown,
DropdownMenuContent,
diff --git a/packages/ui/components/top-banner/TopBanner.tsx b/packages/ui/components/top-banner/TopBanner.tsx
index 231076c883..a1e8bf2215 100644
--- a/packages/ui/components/top-banner/TopBanner.tsx
+++ b/packages/ui/components/top-banner/TopBanner.tsx
@@ -1,7 +1,7 @@
import { XIcon } from "@heroicons/react/solid";
import classNames from "classnames";
import noop from "lodash/noop";
-import { ReactNode } from "react";
+import type { ReactNode } from "react";
import { FiAlertTriangle, FiInfo } from "../icon";
diff --git a/packages/ui/form/AddressInput.tsx b/packages/ui/form/AddressInput.tsx
index 95c2a4a37b..4d39431da6 100644
--- a/packages/ui/form/AddressInput.tsx
+++ b/packages/ui/form/AddressInput.tsx
@@ -1,7 +1,7 @@
-import { UseFormReturn } from "react-hook-form";
-import { Props } from "react-phone-number-input/react-hook-form";
+import type { UseFormReturn } from "react-hook-form";
+import type { Props } from "react-phone-number-input/react-hook-form";
-import { EventLocationType } from "@calcom/app-store/locations";
+import type { EventLocationType } from "@calcom/app-store/locations";
import { FiMapPin } from "../components/icon";
diff --git a/packages/ui/form/MultiSelectCheckboxes.tsx b/packages/ui/form/MultiSelectCheckboxes.tsx
index 286a98b00e..47a0c13d4b 100644
--- a/packages/ui/form/MultiSelectCheckboxes.tsx
+++ b/packages/ui/form/MultiSelectCheckboxes.tsx
@@ -3,9 +3,11 @@
* All new changes should be made to the V2 file in
* `/packages/ui/v2/core/form/MultiSelectCheckboxes.tsx`
*/
-import React, { Dispatch, SetStateAction } from "react";
-import { components, GroupBase, OptionProps } from "react-select";
-import { Props } from "react-select";
+import type { Dispatch, SetStateAction } from "react";
+import React from "react";
+import type { GroupBase, OptionProps } from "react-select";
+import { components } from "react-select";
+import type { Props } from "react-select";
import { useLocale } from "@calcom/lib/hooks/useLocale";
diff --git a/packages/ui/form/PhoneInput.tsx b/packages/ui/form/PhoneInput.tsx
index 90c7a6cc97..27e247e040 100644
--- a/packages/ui/form/PhoneInput.tsx
+++ b/packages/ui/form/PhoneInput.tsx
@@ -1,4 +1,5 @@
-import BasePhoneInput, { Props } from "react-phone-number-input/react-hook-form";
+import type { Props } from "react-phone-number-input/react-hook-form";
+import BasePhoneInput from "react-phone-number-input/react-hook-form";
import "react-phone-number-input/style.css";
export type PhoneInputProps = Props<
diff --git a/packages/ui/form/Select.tsx b/packages/ui/form/Select.tsx
index d09dcd78cb..838dbd00a1 100644
--- a/packages/ui/form/Select.tsx
+++ b/packages/ui/form/Select.tsx
@@ -1,4 +1,5 @@
-import ReactSelect, { components, GroupBase, InputProps, Props } from "react-select";
+import type { GroupBase, InputProps, Props } from "react-select";
+import ReactSelect, { components } from "react-select";
import classNames from "@calcom/lib/classNames";
diff --git a/packages/ui/form/TimezoneSelect.tsx b/packages/ui/form/TimezoneSelect.tsx
index 40d17d66eb..03b62ec2e3 100644
--- a/packages/ui/form/TimezoneSelect.tsx
+++ b/packages/ui/form/TimezoneSelect.tsx
@@ -1,11 +1,7 @@
import classNames from "classnames";
import { components } from "react-select";
-import BaseSelect, {
- allTimezones,
- ITimezone,
- ITimezoneOption,
- Props as SelectProps,
-} from "react-timezone-select";
+import type { ITimezone, ITimezoneOption, Props as SelectProps } from "react-timezone-select";
+import BaseSelect, { allTimezones } from "react-timezone-select";
import { InputComponent } from "../components/form/select/components";
diff --git a/packages/ui/form/fields.tsx b/packages/ui/form/fields.tsx
index 59a989264d..b9b3b1d884 100644
--- a/packages/ui/form/fields.tsx
+++ b/packages/ui/form/fields.tsx
@@ -1,6 +1,8 @@
import { useId } from "@radix-ui/react-id";
-import React, { forwardRef, ReactElement, ReactNode, Ref } from "react";
-import { FieldValues, FormProvider, SubmitHandler, useFormContext, UseFormReturn } from "react-hook-form";
+import type { ReactElement, ReactNode, Ref } from "react";
+import React, { forwardRef } from "react";
+import type { FieldValues, SubmitHandler, UseFormReturn } from "react-hook-form";
+import { FormProvider, useFormContext } from "react-hook-form";
import classNames from "@calcom/lib/classNames";
import { getErrorFromUnknown } from "@calcom/lib/errors";
diff --git a/packages/ui/form/radio-area/Radio.tsx b/packages/ui/form/radio-area/Radio.tsx
index 8b892c900b..6d4e336d93 100644
--- a/packages/ui/form/radio-area/Radio.tsx
+++ b/packages/ui/form/radio-area/Radio.tsx
@@ -1,5 +1,5 @@
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
-import { ReactNode } from "react";
+import type { ReactNode } from "react";
import classNames from "@calcom/lib/classNames";
diff --git a/packages/ui/form/radio-area/Select.tsx b/packages/ui/form/radio-area/Select.tsx
index 6371db64b7..4bd82a3adf 100644
--- a/packages/ui/form/radio-area/Select.tsx
+++ b/packages/ui/form/radio-area/Select.tsx
@@ -1,7 +1,7 @@
import { ChevronDownIcon } from "@heroicons/react/solid";
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@radix-ui/react-collapsible";
import React from "react";
-import { FieldValues, Path, UseFormReturn } from "react-hook-form";
+import type { FieldValues, Path, UseFormReturn } from "react-hook-form";
import classNames from "@calcom/lib/classNames";
import { useLocale } from "@calcom/lib/hooks/useLocale";
diff --git a/packages/ui/package.json b/packages/ui/package.json
index eb3d9f5df4..3efa7ac300 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -38,8 +38,8 @@
"devDependencies": {
"@calcom/config": "*",
"@calcom/tsconfig": "*",
- "@types/react": "^18.0.17",
- "@types/react-dom": "^18.0.6",
+ "@types/react": "18.0.26",
+ "@types/react-dom": "18.0.9",
"typescript": "^4.9.4"
}
}
diff --git a/yarn.lock b/yarn.lock
index 4830775426..e27ebdb51f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -990,10 +990,10 @@
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.4.tgz#95c86de137bf0317f3a570e1b6e996b427299747"
integrity sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==
-"@babel/compat-data@^7.20.0":
- version "7.20.1"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.1.tgz#f2e6ef7790d8c8dbf03d379502dcc246dcce0b30"
- integrity sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==
+"@babel/compat-data@^7.20.5":
+ version "7.20.14"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.14.tgz#4106fc8b755f3e3ee0a0a7c27dde5de1d2b2baf8"
+ integrity sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==
"@babel/core@7.12.9":
version "7.12.9"
@@ -1082,24 +1082,24 @@
semver "^6.3.0"
"@babel/core@^7.17.10":
- version "7.20.2"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.2.tgz#8dc9b1620a673f92d3624bd926dc49a52cf25b92"
- integrity sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==
+ version "7.20.12"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d"
+ integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==
dependencies:
"@ampproject/remapping" "^2.1.0"
"@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.20.2"
- "@babel/helper-compilation-targets" "^7.20.0"
- "@babel/helper-module-transforms" "^7.20.2"
- "@babel/helpers" "^7.20.1"
- "@babel/parser" "^7.20.2"
- "@babel/template" "^7.18.10"
- "@babel/traverse" "^7.20.1"
- "@babel/types" "^7.20.2"
+ "@babel/generator" "^7.20.7"
+ "@babel/helper-compilation-targets" "^7.20.7"
+ "@babel/helper-module-transforms" "^7.20.11"
+ "@babel/helpers" "^7.20.7"
+ "@babel/parser" "^7.20.7"
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.20.12"
+ "@babel/types" "^7.20.7"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
- json5 "^2.2.1"
+ json5 "^2.2.2"
semver "^6.3.0"
"@babel/core@^7.18.10":
@@ -1216,15 +1216,6 @@
"@jridgewell/gen-mapping" "^0.3.2"
jsesc "^2.5.1"
-"@babel/generator@^7.20.1", "@babel/generator@^7.20.2":
- version "7.20.3"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.3.tgz#e58c9ae2f7bf7fdf4899160cf1e04400a82cd641"
- integrity sha512-Wl5ilw2UD1+ZYprHVprxHZJCFeBWlzZYOovE4SDYLZnqCOD11j+0QzNeEWKLLTWM7nixrZEh7vNIyb76MyJg3A==
- dependencies:
- "@babel/types" "^7.20.2"
- "@jridgewell/gen-mapping" "^0.3.2"
- jsesc "^2.5.1"
-
"@babel/helper-annotate-as-pure@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
@@ -1280,14 +1271,15 @@
browserslist "^4.21.3"
semver "^6.3.0"
-"@babel/helper-compilation-targets@^7.20.0":
- version "7.20.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a"
- integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==
+"@babel/helper-compilation-targets@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb"
+ integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==
dependencies:
- "@babel/compat-data" "^7.20.0"
+ "@babel/compat-data" "^7.20.5"
"@babel/helper-validator-option" "^7.18.6"
browserslist "^4.21.3"
+ lru-cache "^5.1.1"
semver "^6.3.0"
"@babel/helper-create-class-features-plugin@^7.18.6":
@@ -1445,7 +1437,7 @@
dependencies:
"@babel/types" "^7.18.6"
-"@babel/helper-module-transforms@^7.12.1":
+"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.20.11":
version "7.20.11"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0"
integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==
@@ -1515,20 +1507,6 @@
"@babel/traverse" "^7.19.6"
"@babel/types" "^7.19.4"
-"@babel/helper-module-transforms@^7.20.2":
- version "7.20.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz#ac53da669501edd37e658602a21ba14c08748712"
- integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==
- dependencies:
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-module-imports" "^7.18.6"
- "@babel/helper-simple-access" "^7.20.2"
- "@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/helper-validator-identifier" "^7.19.1"
- "@babel/template" "^7.18.10"
- "@babel/traverse" "^7.20.1"
- "@babel/types" "^7.20.2"
-
"@babel/helper-optimise-call-expression@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe"
@@ -1556,7 +1534,7 @@
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f"
integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==
-"@babel/helper-plugin-utils@^7.19.0":
+"@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629"
integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==
@@ -1721,14 +1699,14 @@
"@babel/traverse" "^7.19.4"
"@babel/types" "^7.19.4"
-"@babel/helpers@^7.20.1":
- version "7.20.1"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.1.tgz#2ab7a0fcb0a03b5bf76629196ed63c2d7311f4c9"
- integrity sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==
+"@babel/helpers@^7.20.7":
+ version "7.20.13"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.13.tgz#e3cb731fb70dc5337134cadc24cbbad31cc87ad2"
+ integrity sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==
dependencies:
- "@babel/template" "^7.18.10"
- "@babel/traverse" "^7.20.1"
- "@babel/types" "^7.20.0"
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.20.13"
+ "@babel/types" "^7.20.7"
"@babel/highlight@^7.16.7":
version "7.16.10"
@@ -1788,10 +1766,10 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.6.tgz#b923430cb94f58a7eae8facbffa9efd19130e7f8"
integrity sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA==
-"@babel/parser@^7.20.1", "@babel/parser@^7.20.2":
- version "7.20.3"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.3.tgz#5358cf62e380cf69efcb87a7bb922ff88bfac6e2"
- integrity sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==
+"@babel/parser@^7.20.13":
+ version "7.20.15"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89"
+ integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
version "7.18.6"
@@ -2375,15 +2353,15 @@
"@babel/types" "^7.18.6"
"@babel/plugin-transform-react-jsx@^7.17.3":
- version "7.19.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz#b3cbb7c3a00b92ec8ae1027910e331ba5c500eb9"
- integrity sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==
+ version "7.20.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.13.tgz#f950f0b0c36377503d29a712f16287cedf886cbb"
+ integrity sha512-MmTZx/bkUrfJhhYAYt3Urjm+h8DQGrPrnKQ94jLo7NLuOU+T89a7IByhKmrb8SKhrIYIQ0FN0CHMbnFRen4qNw==
dependencies:
"@babel/helper-annotate-as-pure" "^7.18.6"
"@babel/helper-module-imports" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.19.0"
+ "@babel/helper-plugin-utils" "^7.20.2"
"@babel/plugin-syntax-jsx" "^7.18.6"
- "@babel/types" "^7.19.0"
+ "@babel/types" "^7.20.7"
"@babel/plugin-transform-react-jsx@^7.18.10":
version "7.18.10"
@@ -2845,19 +2823,19 @@
debug "^4.1.0"
globals "^11.1.0"
-"@babel/traverse@^7.20.1":
- version "7.20.1"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.1.tgz#9b15ccbf882f6d107eeeecf263fbcdd208777ec8"
- integrity sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==
+"@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13":
+ version "7.20.13"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.13.tgz#817c1ba13d11accca89478bd5481b2d168d07473"
+ integrity sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==
dependencies:
"@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.20.1"
+ "@babel/generator" "^7.20.7"
"@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-function-name" "^7.19.0"
"@babel/helper-hoist-variables" "^7.18.6"
"@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/parser" "^7.20.1"
- "@babel/types" "^7.20.0"
+ "@babel/parser" "^7.20.13"
+ "@babel/types" "^7.20.7"
debug "^4.1.0"
globals "^11.1.0"
@@ -2921,7 +2899,7 @@
"@babel/helper-validator-identifier" "^7.19.1"
to-fast-properties "^2.0.0"
-"@babel/types@^7.20.0", "@babel/types@^7.20.2":
+"@babel/types@^7.20.2":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.2.tgz#67ac09266606190f496322dbaff360fdaa5e7842"
integrity sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==
@@ -3025,17 +3003,6 @@
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
-"@daily-co/daily-js@^0.26.0":
- version "0.26.0"
- resolved "https://registry.yarnpkg.com/@daily-co/daily-js/-/daily-js-0.26.0.tgz#f90828b80e7d7ceaa29e5bb3a7e666c96a37c3b0"
- integrity sha512-JLKiTQs4HFKSzR5ES8GANPSbbs8Ri8HbJXSx54bYO6Y9bR5jr46cP0YlOwfxZIrPEXT3g3Jvt/Q1yRWqljZYVQ==
- dependencies:
- "@babel/runtime" "^7.12.5"
- bowser "^2.8.1"
- events "^3.1.0"
- fast-equals "^1.6.3"
- lodash "^4.17.15"
-
"@daily-co/daily-js@^0.37.0":
version "0.37.0"
resolved "https://registry.yarnpkg.com/@daily-co/daily-js/-/daily-js-0.37.0.tgz#39efac8003b3676d3ff21535fcdb38265815126d"
@@ -3223,7 +3190,7 @@
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028"
integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==
-"@eslint/eslintrc@^1.0.5", "@eslint/eslintrc@^1.3.0":
+"@eslint/eslintrc@^1.0.5":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f"
integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==
@@ -3238,6 +3205,21 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
+"@eslint/eslintrc@^1.4.1":
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e"
+ integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.3.2"
+ espree "^9.4.0"
+ globals "^13.19.0"
+ ignore "^5.2.0"
+ import-fresh "^3.2.1"
+ js-yaml "^4.1.0"
+ minimatch "^3.1.2"
+ strip-json-comments "^3.1.1"
+
"@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.3":
version "2.6.3"
resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.3.tgz#39ddece7300b336276bad6c02f6a9f1a082caa05"
@@ -3987,14 +3969,14 @@
node-fetch "^2.6.0"
url-parse "^1.4.3"
-"@humanwhocodes/config-array@^0.10.4":
- version "0.10.4"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c"
- integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==
+"@humanwhocodes/config-array@^0.11.8":
+ version "0.11.8"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
+ integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==
dependencies:
"@humanwhocodes/object-schema" "^1.2.1"
debug "^4.1.1"
- minimatch "^3.0.4"
+ minimatch "^3.0.5"
"@humanwhocodes/config-array@^0.9.2":
version "0.9.5"
@@ -4005,10 +3987,10 @@
debug "^4.1.1"
minimatch "^3.0.4"
-"@humanwhocodes/gitignore-to-minimatch@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d"
- integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==
+"@humanwhocodes/module-importer@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
+ integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
"@humanwhocodes/object-schema@^1.2.1":
version "1.2.1"
@@ -4973,10 +4955,10 @@
resolved "https://registry.yarnpkg.com/@next/env/-/env-13.1.1.tgz#6ff26488dc7674ef2bfdd1ca28fe43eed1113bea"
integrity sha512-vFMyXtPjSAiOXOywMojxfKIqE3VWN5RCAx+tT3AS3pcKjMLFTCJFUWsKv8hC+87Z1F4W3r68qTwDFZIFmd5Xkw==
-"@next/eslint-plugin-next@13.1.1":
- version "13.1.1"
- resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-13.1.1.tgz#cc5e419cc85587f73f2ac0046a91df01dc6fef8b"
- integrity sha512-SBrOFS8PC3nQ5aeZmawJkjKkWjwK9RoxvBSv/86nZp0ubdoVQoko8r8htALd9ufp16NhacCdqhu9bzZLDWtALQ==
+"@next/eslint-plugin-next@13.1.6":
+ version "13.1.6"
+ resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-13.1.6.tgz#ad8be22dd3d8aee9a9bd9a2507e2c55a2f7ebdd9"
+ integrity sha512-o7cauUYsXjzSJkay8wKjpKJf2uLzlggCsGUkPu3lP09Pv97jYlekTC20KJrjQKmSv5DXV0R/uks2ZXhqjNkqAw==
dependencies:
glob "7.1.7"
@@ -5063,7 +5045,7 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
-"@nodelib/fs.walk@^1.2.3":
+"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
version "1.2.8"
resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
@@ -5602,28 +5584,6 @@
"@radix-ui/react-use-previous" "1.0.0"
"@radix-ui/react-visually-hidden" "1.0.1"
-"@radix-ui/react-popover@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-popover/-/react-popover-1.0.0.tgz#5ee72013089fdf9038417fc1eb98a749c17457fd"
- integrity sha512-osxFFO0TiZ9ABpEOitZu0R1Fdd+tSpJgAqLZxRLLdZQ7ya0onSODcITp5hXDVuYQeVXH6pKEBGwXN6ZGjZ0a5g==
- dependencies:
- "@babel/runtime" "^7.13.10"
- "@radix-ui/primitive" "1.0.0"
- "@radix-ui/react-compose-refs" "1.0.0"
- "@radix-ui/react-context" "1.0.0"
- "@radix-ui/react-dismissable-layer" "1.0.0"
- "@radix-ui/react-focus-guards" "1.0.0"
- "@radix-ui/react-focus-scope" "1.0.0"
- "@radix-ui/react-id" "1.0.0"
- "@radix-ui/react-popper" "1.0.0"
- "@radix-ui/react-portal" "1.0.0"
- "@radix-ui/react-presence" "1.0.0"
- "@radix-ui/react-primitive" "1.0.0"
- "@radix-ui/react-slot" "1.0.0"
- "@radix-ui/react-use-controllable-state" "1.0.0"
- aria-hidden "^1.1.1"
- react-remove-scroll "2.5.4"
-
"@radix-ui/react-popover@^1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@radix-ui/react-popover/-/react-popover-1.0.2.tgz#f761c8aafb61519522b8e80501c589e619073a2c"
@@ -8362,7 +8322,7 @@
dependencies:
"@types/node" "*"
-"@types/node@*", "@types/node@16.9.1", "@types/node@18.11.15", "@types/node@>=4.0", "@types/node@>=8.1.0", "@types/node@^12.12.54", "@types/node@^12.12.6", "@types/node@^14.0.10 || ^16.0.0", "@types/node@^14.14.20 || ^16.0.0":
+"@types/node@*", "@types/node@16.9.1", "@types/node@>=4.0", "@types/node@>=8.1.0", "@types/node@^12.12.54", "@types/node@^12.12.6", "@types/node@^14.0.10 || ^16.0.0", "@types/node@^14.14.20 || ^16.0.0":
version "16.9.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.1.tgz#0611b37db4246c937feef529ddcc018cf8e35708"
integrity sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==
@@ -8445,10 +8405,10 @@
dependencies:
"@types/react" "*"
-"@types/react-dom@18.0.9", "@types/react-dom@^18.0.0", "@types/react-dom@^18.0.6":
- version "18.0.8"
- resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.8.tgz#d2606d855186cd42cc1b11e63a71c39525441685"
- integrity sha512-C3GYO0HLaOkk9dDAz3Dl4sbe4AKUGTCfFIZsz3n/82dPNN8Du533HzKatDxeUYWu24wJgMP1xICqkWk1YOLOIw==
+"@types/react-dom@18.0.9", "@types/react-dom@^18.0.0":
+ version "18.0.9"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.9.tgz#ffee5e4bfc2a2f8774b15496474f8e7fe8d0b504"
+ integrity sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==
dependencies:
"@types/react" "*"
@@ -8495,10 +8455,10 @@
dependencies:
"@types/react" "*"
-"@types/react@*", "@types/react@16 || 17 || 18", "@types/react@18.0.26", "@types/react@^18.0.17":
- version "18.0.17"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.17.tgz#4583d9c322d67efe4b39a935d223edcc7050ccf4"
- integrity sha512-38ETy4tL+rn4uQQi7mB81G7V1g0u2ryquNmsVIOKUAEIDK+3CUjZ6rSRpdvS99dNBnkLFL83qfmtLacGOTIhwQ==
+"@types/react@*", "@types/react@16 || 17 || 18", "@types/react@18.0.26":
+ version "18.0.26"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.26.tgz#8ad59fc01fef8eaf5c74f4ea392621749f0b7917"
+ integrity sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
@@ -8523,6 +8483,11 @@
dependencies:
"@types/node" "*"
+"@types/semver@^7.3.12":
+ version "7.3.13"
+ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91"
+ integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==
+
"@types/serve-static@*":
version "1.13.10"
resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9"
@@ -8684,31 +8649,22 @@
resolved "https://registry.yarnpkg.com/@types/yoga-layout/-/yoga-layout-1.9.2.tgz#efaf9e991a7390dc081a0b679185979a83a9639a"
integrity sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==
-"@typescript-eslint/eslint-plugin@^5.33.1":
- version "5.33.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.1.tgz#c0a480d05211660221eda963cc844732fe9b1714"
- integrity sha512-S1iZIxrTvKkU3+m63YUOxYPKaP+yWDQrdhxTglVDVEVBf+aCSw85+BmJnyUaQQsk5TXFG/LpBu9fa+LrAQ91fQ==
+"@typescript-eslint/eslint-plugin@^5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz#5fb0d43574c2411f16ea80f5fc335b8eaa7b28a8"
+ integrity sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==
dependencies:
- "@typescript-eslint/scope-manager" "5.33.1"
- "@typescript-eslint/type-utils" "5.33.1"
- "@typescript-eslint/utils" "5.33.1"
+ "@typescript-eslint/scope-manager" "5.52.0"
+ "@typescript-eslint/type-utils" "5.52.0"
+ "@typescript-eslint/utils" "5.52.0"
debug "^4.3.4"
- functional-red-black-tree "^1.0.1"
+ 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-eslint/parser@^5.33.1":
- version "5.33.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.33.1.tgz#e4b253105b4d2a4362cfaa4e184e2d226c440ff3"
- integrity sha512-IgLLtW7FOzoDlmaMoXdxG8HOCByTBXrB1V2ZQYSEV1ggMmJfAkMWTwUjjzagS6OkfpySyhKFkBw7A9jYmcHpZA==
- dependencies:
- "@typescript-eslint/scope-manager" "5.33.1"
- "@typescript-eslint/types" "5.33.1"
- "@typescript-eslint/typescript-estree" "5.33.1"
- debug "^4.3.4"
-
"@typescript-eslint/parser@^5.42.0":
version "5.48.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.0.tgz#02803355b23884a83e543755349809a50b7ed9ba"
@@ -8719,13 +8675,15 @@
"@typescript-eslint/typescript-estree" "5.48.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@5.33.1":
- version "5.33.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.33.1.tgz#8d31553e1b874210018ca069b3d192c6d23bc493"
- integrity sha512-8ibcZSqy4c5m69QpzJn8XQq9NnqAToC8OdH/W6IXPXv83vRyEDPYLdjAlUx8h/rbusq6MkW4YdQzURGOqsn3CA==
+"@typescript-eslint/parser@^5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4"
+ integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==
dependencies:
- "@typescript-eslint/types" "5.33.1"
- "@typescript-eslint/visitor-keys" "5.33.1"
+ "@typescript-eslint/scope-manager" "5.52.0"
+ "@typescript-eslint/types" "5.52.0"
+ "@typescript-eslint/typescript-estree" "5.52.0"
+ debug "^4.3.4"
"@typescript-eslint/scope-manager@5.48.0":
version "5.48.0"
@@ -8735,37 +8693,33 @@
"@typescript-eslint/types" "5.48.0"
"@typescript-eslint/visitor-keys" "5.48.0"
-"@typescript-eslint/type-utils@5.33.1":
- version "5.33.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.33.1.tgz#1a14e94650a0ae39f6e3b77478baff002cec4367"
- integrity sha512-X3pGsJsD8OiqhNa5fim41YtlnyiWMF/eKsEZGsHID2HcDqeSC5yr/uLOeph8rNF2/utwuI0IQoAK3fpoxcLl2g==
+"@typescript-eslint/scope-manager@5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz#a993d89a0556ea16811db48eabd7c5b72dcb83d1"
+ integrity sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==
dependencies:
- "@typescript-eslint/utils" "5.33.1"
+ "@typescript-eslint/types" "5.52.0"
+ "@typescript-eslint/visitor-keys" "5.52.0"
+
+"@typescript-eslint/type-utils@5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz#9fd28cd02e6f21f5109e35496df41893f33167aa"
+ integrity sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==
+ dependencies:
+ "@typescript-eslint/typescript-estree" "5.52.0"
+ "@typescript-eslint/utils" "5.52.0"
debug "^4.3.4"
tsutils "^3.21.0"
-"@typescript-eslint/types@5.33.1":
- version "5.33.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.33.1.tgz#3faef41793d527a519e19ab2747c12d6f3741ff7"
- integrity sha512-7K6MoQPQh6WVEkMrMW5QOA5FO+BOwzHSNd0j3+BlBwd6vtzfZceJ8xJ7Um2XDi/O3umS8/qDX6jdy2i7CijkwQ==
-
"@typescript-eslint/types@5.48.0":
version "5.48.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.0.tgz#d725da8dfcff320aab2ac6f65c97b0df30058449"
integrity sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==
-"@typescript-eslint/typescript-estree@5.33.1":
- version "5.33.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.1.tgz#a573bd360790afdcba80844e962d8b2031984f34"
- integrity sha512-JOAzJ4pJ+tHzA2pgsWQi4804XisPHOtbvwUyqsuuq8+y5B5GMZs7lI1xDWs6V2d7gE/Ez5bTGojSK12+IIPtXA==
- dependencies:
- "@typescript-eslint/types" "5.33.1"
- "@typescript-eslint/visitor-keys" "5.33.1"
- debug "^4.3.4"
- globby "^11.1.0"
- is-glob "^4.0.3"
- semver "^7.3.7"
- tsutils "^3.21.0"
+"@typescript-eslint/types@5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b"
+ integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==
"@typescript-eslint/typescript-estree@5.48.0":
version "5.48.0"
@@ -8780,25 +8734,32 @@
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/utils@5.33.1", "@typescript-eslint/utils@^5.33.1":
- version "5.33.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.33.1.tgz#171725f924fe1fe82bb776522bb85bc034e88575"
- integrity sha512-uphZjkMaZ4fE8CR4dU7BquOV6u0doeQAr8n6cQenl/poMaIyJtBu8eys5uk6u5HiDH01Mj5lzbJ5SfeDz7oqMQ==
+"@typescript-eslint/typescript-estree@5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca"
+ integrity sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==
+ dependencies:
+ "@typescript-eslint/types" "5.52.0"
+ "@typescript-eslint/visitor-keys" "5.52.0"
+ debug "^4.3.4"
+ globby "^11.1.0"
+ is-glob "^4.0.3"
+ semver "^7.3.7"
+ tsutils "^3.21.0"
+
+"@typescript-eslint/utils@5.52.0", "@typescript-eslint/utils@^5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.52.0.tgz#b260bb5a8f6b00a0ed51db66bdba4ed5e4845a72"
+ integrity sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==
dependencies:
"@types/json-schema" "^7.0.9"
- "@typescript-eslint/scope-manager" "5.33.1"
- "@typescript-eslint/types" "5.33.1"
- "@typescript-eslint/typescript-estree" "5.33.1"
+ "@types/semver" "^7.3.12"
+ "@typescript-eslint/scope-manager" "5.52.0"
+ "@typescript-eslint/types" "5.52.0"
+ "@typescript-eslint/typescript-estree" "5.52.0"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
-
-"@typescript-eslint/visitor-keys@5.33.1":
- version "5.33.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.1.tgz#0155c7571c8cd08956580b880aea327d5c34a18b"
- integrity sha512-nwIxOK8Z2MPWltLKMLOEZwmfBZReqUdbEoHQXeCpa+sRVARe5twpJGHCB4dk9903Yaf0nMAlGbQfaAH92F60eg==
- dependencies:
- "@typescript-eslint/types" "5.33.1"
- eslint-visitor-keys "^3.3.0"
+ semver "^7.3.7"
"@typescript-eslint/visitor-keys@5.48.0":
version "5.48.0"
@@ -8808,6 +8769,14 @@
"@typescript-eslint/types" "5.48.0"
eslint-visitor-keys "^3.3.0"
+"@typescript-eslint/visitor-keys@5.52.0":
+ version "5.52.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz#e38c971259f44f80cfe49d97dbffa38e3e75030f"
+ integrity sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==
+ dependencies:
+ "@typescript-eslint/types" "5.52.0"
+ eslint-visitor-keys "^3.3.0"
+
"@vanilla-extract/css@1.7.0":
version "1.7.0"
resolved "https://registry.yarnpkg.com/@vanilla-extract/css/-/css-1.7.0.tgz#7276830c7741b17b7a70720be88c9083682f5206"
@@ -8869,7 +8838,7 @@
satori "0.0.44"
yoga-wasm-web "0.1.2"
-"@vitejs/plugin-react@^1.3.2":
+"@vitejs/plugin-react@1.3.2":
version "1.3.2"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-1.3.2.tgz#2fcf0b6ce9bcdcd4cec5c760c199779d5657ece1"
integrity sha512-aurBNmMo0kz1O4qRoY+FM4epSA39y3ShWGuqfLRA/3z0oEJAdtoSfgA3aO98/PCCHAqMaduLxIxErWrVKIFzXA==
@@ -13621,12 +13590,12 @@ escodegen@^2.0.0:
optionalDependencies:
source-map "~0.6.1"
-eslint-config-next@^13.1.1:
- version "13.1.1"
- resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-13.1.1.tgz#b1a6602b0a339820585d4b2f8d2e08866b6699a7"
- integrity sha512-/5S2XGWlGaiqrRhzpn51ux5JUSLwx8PVK2keLi5xk7QmhfYB8PqE6R6SlVw6hgnf/VexvUXSrlNJ/su00NhtHQ==
+eslint-config-next@^13.1.6:
+ version "13.1.6"
+ resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-13.1.6.tgz#ab6894fe5b80080f1e9b9306d1c4b0003230620e"
+ integrity sha512-0cg7h5wztg/SoLAlxljZ0ZPUQ7i6QKqRiP4M2+MgTZtxWwNKb2JSwNc18nJ6/kXBI6xYvPraTbQSIhAuVw6czw==
dependencies:
- "@next/eslint-plugin-next" "13.1.1"
+ "@next/eslint-plugin-next" "13.1.6"
"@rushstack/eslint-patch" "^1.1.3"
"@typescript-eslint/parser" "^5.42.0"
eslint-import-resolver-node "^0.3.6"
@@ -13636,17 +13605,17 @@ eslint-config-next@^13.1.1:
eslint-plugin-react "^7.31.7"
eslint-plugin-react-hooks "^4.5.0"
-eslint-config-prettier@^8.5.0:
- version "8.5.0"
- resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1"
- integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==
+eslint-config-prettier@^8.6.0:
+ version "8.6.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207"
+ integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==
-eslint-config-turbo@^0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/eslint-config-turbo/-/eslint-config-turbo-0.0.3.tgz#61a3b6fdc4186bb6832ab4b48bb6ed2d3bad57a8"
- integrity sha512-hK5MlxDugUWZV9ZKcyfNwLXrlMuM2wPgAUk51cUFBC3nXRCVmCA9uSRFBZsyAIurN1wH7mS7G1NBo5F8VkF7lQ==
+eslint-config-turbo@^0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/eslint-config-turbo/-/eslint-config-turbo-0.0.7.tgz#1a4ef7b28df40fb168a695e34d58d1d25477aab3"
+ integrity sha512-WbrGlyfs94rOXrhombi1wjIAYGdV2iosgJRndOZtmDQeq5GLTzYmBUCJQZWtLBEBUPCj96RxZ2OL7Cn+xv/Azg==
dependencies:
- eslint-plugin-turbo "0.0.3"
+ eslint-plugin-turbo "0.0.7"
eslint-import-resolver-node@^0.3.6:
version "0.3.6"
@@ -13714,10 +13683,10 @@ eslint-plugin-jsx-a11y@^6.5.1:
language-tags "^1.0.5"
minimatch "^3.0.4"
-eslint-plugin-playwright@^0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-playwright/-/eslint-plugin-playwright-0.9.0.tgz#e14ac6c834f2704b293fc3f45cd40d771ec2e840"
- integrity sha512-5bxAhiKjRASSgtQ4IipwtdesgQ8GT9m0PK61Uqxclu/TpiZS4eaAksydVeiiSPIOQph5GvuuLA7+oBS0WkWO6w==
+eslint-plugin-playwright@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-playwright/-/eslint-plugin-playwright-0.12.0.tgz#0c728e07c217b5ea48acef46c52eefba9cf8ebd3"
+ integrity sha512-KXuzQjVzca5irMT/7rvzJKsVDGbQr43oQPc8i+SLEBqmfrTxlwMwRqfv9vtZqh4hpU0jmrnA/EOfwtls+5QC1w==
eslint-plugin-prettier@^4.2.1:
version "4.2.1"
@@ -13777,10 +13746,10 @@ eslint-plugin-react@^7.31.7:
semver "^6.3.0"
string.prototype.matchall "^4.0.8"
-eslint-plugin-turbo@0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/eslint-plugin-turbo/-/eslint-plugin-turbo-0.0.3.tgz#9d86895732f95b0c236d6363177a52368fffdc71"
- integrity sha512-QjidATGxWtaB9QUrD3NocUySmsgWKZlBMFlw4kX2IIjRLAxMPwukk90h3ZTaNXyRHuaQsrEgh7hhlCZoxP0TTw==
+eslint-plugin-turbo@0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-turbo/-/eslint-plugin-turbo-0.0.7.tgz#b70155dfeddc530f2f3ca383d850145f22e92fa6"
+ integrity sha512-iajOH8eD4jha3duztGVBD1BEmvNrQBaA/y3HFHf91vMDRYRwH7BpHSDFtxydDpk5ghlhRxG299SFxz7D6z4MBQ==
eslint-plugin-unused-imports@^2.0.0:
version "2.0.0"
@@ -13879,14 +13848,15 @@ eslint@8.4.1:
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
-eslint@^8.22.0:
- version "8.22.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.22.0.tgz#78fcb044196dfa7eef30a9d65944f6f980402c48"
- integrity sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==
+eslint@^8.34.0:
+ version "8.34.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6"
+ integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==
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.10.0"
chalk "^4.0.0"
cross-spawn "^7.0.2"
@@ -13896,21 +13866,21 @@ eslint@^8.22.0:
eslint-scope "^7.1.1"
eslint-utils "^3.0.0"
eslint-visitor-keys "^3.3.0"
- espree "^9.3.3"
+ espree "^9.4.0"
esquery "^1.4.0"
esutils "^2.0.2"
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.1"
- globals "^13.15.0"
- globby "^11.1.0"
+ glob-parent "^6.0.2"
+ globals "^13.19.0"
grapheme-splitter "^1.0.4"
ignore "^5.2.0"
import-fresh "^3.0.0"
imurmurhash "^0.1.4"
is-glob "^4.0.0"
+ is-path-inside "^3.0.3"
+ js-sdsl "^4.1.4"
js-yaml "^4.1.0"
json-stable-stringify-without-jsonify "^1.0.1"
levn "^0.4.1"
@@ -13922,7 +13892,6 @@ eslint@^8.22.0:
strip-ansi "^6.0.1"
strip-json-comments "^3.1.0"
text-table "^0.2.0"
- v8-compile-cache "^2.0.3"
espree@9.2.0:
version "9.2.0"
@@ -13933,7 +13902,7 @@ espree@9.2.0:
acorn-jsx "^5.3.1"
eslint-visitor-keys "^3.1.0"
-espree@^9.2.0, espree@^9.3.3:
+espree@^9.2.0:
version "9.3.3"
resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d"
integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==
@@ -13951,6 +13920,15 @@ espree@^9.3.2:
acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.3.0"
+espree@^9.4.0:
+ version "9.4.1"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd"
+ integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==
+ dependencies:
+ acorn "^8.8.0"
+ acorn-jsx "^5.3.2"
+ eslint-visitor-keys "^3.3.0"
+
esprima@^4.0.0, esprima@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
@@ -15588,6 +15566,13 @@ globals@^13.15.0:
dependencies:
type-fest "^0.20.2"
+globals@^13.19.0:
+ version "13.20.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
+ integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
+ dependencies:
+ type-fest "^0.20.2"
+
globals@^13.6.0:
version "13.16.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-13.16.0.tgz#9be4aca28f311aaeb974ea54978ebbb5e35ce46a"
@@ -17140,6 +17125,11 @@ is-object@^1.0.1:
resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf"
integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==
+is-path-inside@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
+ integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
+
is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
@@ -18006,6 +17996,11 @@ js-md4@^0.3.2:
resolved "https://registry.yarnpkg.com/js-md4/-/js-md4-0.3.2.tgz#cd3b3dc045b0c404556c81ddb5756c23e59d7cf5"
integrity sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==
+js-sdsl@^4.1.4:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711"
+ integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==
+
js-sha3@0.8.0, js-sha3@^0.8.0:
version "0.8.0"
resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840"
@@ -18219,6 +18214,11 @@ json5@^2.1.2, json5@^2.1.3, json5@^2.2.1:
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
+json5@^2.2.2:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+
jsonfile@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
@@ -19468,10 +19468,10 @@ methods@^1.1.2, methods@~1.1.2:
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
-micro@^9.4.1:
- version "9.4.1"
- resolved "https://registry.yarnpkg.com/micro/-/micro-9.4.1.tgz#3a7eedd96718d8569a324475cd1967441df4b3c7"
- integrity sha512-Lpjcbp6Y9GJIfewxDfTmu9eW0rt0MGo+Gs1d3yJLFa7mhErtKkCngGhDbA/O1gqUjEwsHh+jWPg8BJ0Bx4AgFA==
+micro@^10.0.1:
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/micro/-/micro-10.0.1.tgz#2601e02b0dacd2eaee77e9de18f12b2e595c5951"
+ integrity sha512-9uwZSsUrqf6+4FLLpiPj5TRWQv5w5uJrJwsx1LR/TjqvQmKC1XnGQ9OHrFwR3cbZ46YqPqxO/XJCOpWnqMPw2Q==
dependencies:
arg "4.1.0"
content-type "1.0.4"
@@ -19923,7 +19923,7 @@ minimalistic-crypto-utils@^1.0.1:
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
-minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
+minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
@@ -20314,6 +20314,11 @@ native-duplexpair@^1.0.0:
resolved "https://registry.yarnpkg.com/native-duplexpair/-/native-duplexpair-1.0.0.tgz#7899078e64bf3c8a3d732601b3d40ff05db58fa0"
integrity sha512-E7QQoM+3jvNtlmyfqRZ0/U75VFgCls+fSkbml2MpgWkWyz3ox8Y58gNhfuziuQYGNNQAbFZJQck55LHCnCK6CA==
+natural-compare-lite@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4"
+ integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==
+
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@@ -20341,21 +20346,6 @@ next-api-middleware@^1.0.1:
dependencies:
debug "^4.3.2"
-next-auth@^4.10.3:
- version "4.17.0"
- resolved "https://registry.yarnpkg.com/next-auth/-/next-auth-4.17.0.tgz#776d2a0999d4e2eb56968cad282c1ecd37516a2c"
- integrity sha512-aN2tdnjS0MDeUpB2tBDOaWnegkgeMWrsccujbXRGMJ607b+EwRcy63MFGSr0OAboDJEe0902piXQkt94GqF8Qw==
- dependencies:
- "@babel/runtime" "^7.16.3"
- "@panva/hkdf" "^1.0.1"
- cookie "^0.5.0"
- jose "^4.9.3"
- oauth "^0.9.15"
- openid-client "^5.1.0"
- preact "^10.6.3"
- preact-render-to-string "^5.1.19"
- uuid "^8.3.2"
-
next-auth@^4.18.8:
version "4.19.2"
resolved "https://registry.yarnpkg.com/next-auth/-/next-auth-4.19.2.tgz#8dbdc4886d4f006e7c67c77ab56e0aec5693064d"
@@ -22065,10 +22055,10 @@ prettier-plugin-tailwindcss@^0.1.13:
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.0.tgz#b6a5bf1284026ae640f17f7ff5658a7567fc0d18"
integrity sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==
-prettier@^2.7.1:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64"
- integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==
+prettier@^2.8.4:
+ version "2.8.4"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3"
+ integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==
pretty-error@^2.1.1:
version "2.1.2"
@@ -22679,7 +22669,7 @@ react-docgen@^6.0.0-alpha.0:
resolve "^1.17.0"
strip-indent "^3.0.0"
-react-dom@18.2.0, react-dom@^18.2.0:
+react-dom@^18.2.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
@@ -23067,7 +23057,7 @@ react-window@^1.8.7:
"@babel/runtime" "^7.0.0"
memoize-one ">=3.1.1 <6"
-react@18.2.0, react@^18.2.0:
+react@^18.2.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==