diff --git a/apps/docs/rum/overview.mdx b/apps/docs/rum/overview.mdx
index 976bef7d..4de5b647 100644
--- a/apps/docs/rum/overview.mdx
+++ b/apps/docs/rum/overview.mdx
@@ -18,3 +18,34 @@ We are currently tracking the following metrics:
- **LCP**: Largest Contentful Paint
- **CLS**: Cumulative Layout Shift
- **INP**: Interaction to Next Paint
+
+## Get started 🚀
+
+We currently only support NextJS applications, other frameworks are coming soon.
+
+To get started, you need to install our package in your application.
+
+```bash
+pnpm add @openstatus/next-monitoring -E
+```
+
+Then, you need to add the following snippet to your `layout.tsx` file:
+
+```tsx
+import { OpenStatusProvider } from "@openstatus/next-monitoring";
+
+export default function RootLayout({
+ children,
+}: Readonly<{
+ children: React.ReactNode;
+}>) {
+ return (
+
+
+
+ {children}
+
+
+ );
+}
+```
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/rum/(overview)/_components/MetricCard.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/rum/(overview)/_components/MetricCard.tsx
new file mode 100644
index 00000000..a9a70a3f
--- /dev/null
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/rum/(overview)/_components/MetricCard.tsx
@@ -0,0 +1,24 @@
+import { Card } from "@tremor/react";
+
+import { api } from "@/trpc/server";
+
+export const RUMMetricCard = async ({
+ event,
+}: {
+ event: "CLS" | "FCP" | "FID" | "INP" | "LCP" | "TTFB";
+}) => {
+ const data = await api.rumRouter.GetEventMetricsForWorkspace.query({
+ event: event,
+ });
+ console.log(data);
+ return (
+
+
+ {event}
+
+
+ {data.median}
+
+
+ );
+};
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/rum/layout.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/rum/layout.tsx
new file mode 100644
index 00000000..2b0b362d
--- /dev/null
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/rum/layout.tsx
@@ -0,0 +1,20 @@
+import * as React from "react";
+
+import { Header } from "@/components/dashboard/header";
+import AppPageLayout from "@/components/layout/app-page-layout";
+
+export default async function Layout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+
+
+ {children}
+
+ );
+}
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/rum/loading.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/rum/loading.tsx
new file mode 100644
index 00000000..50c068b8
--- /dev/null
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/rum/loading.tsx
@@ -0,0 +1,11 @@
+import { DataTableSkeleton } from "@/components/data-table/data-table-skeleton";
+import { DataTableToolbarSkeleton } from "@/components/data-table/data-table-toolbar-skeleton";
+
+export default function Loading() {
+ return (
+
+
+
+
+ );
+}
diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/rum/page.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/rum/page.tsx
new file mode 100644
index 00000000..57707d32
--- /dev/null
+++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/rum/page.tsx
@@ -0,0 +1,28 @@
+import * as React from "react";
+import { notFound } from "next/navigation";
+
+import { api } from "@/trpc/server";
+import { RUMMetricCard } from "./(overview)/_components/MetricCard";
+
+export const dynamic = "force-dynamic";
+
+export default async function RUMPage() {
+ const workspace = await api.workspace.getWorkspace.query();
+
+ if (!workspace) {
+ return notFound();
+ }
+ if (workspace.dsn === null) {
+ return <>The feature is currently in beta and will be released soon.>;
+ }
+ return (
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/web/src/components/data-table/monitor/columns.tsx b/apps/web/src/components/data-table/monitor/columns.tsx
index c1e94114..64dc7e6a 100644
--- a/apps/web/src/components/data-table/monitor/columns.tsx
+++ b/apps/web/src/components/data-table/monitor/columns.tsx
@@ -70,8 +70,8 @@ export const columns: ColumnDef<{
if (!Array.isArray(value)) return true;
// REMINDER: if one value is found, return true
// we could consider restricting it to all the values have to be found
- return value.some(
- (item) => row.original.tags?.some((tag) => tag.name === item),
+ return value.some((item) =>
+ row.original.tags?.some((tag) => tag.name === item),
);
},
},
diff --git a/apps/web/src/components/status-update/events.tsx b/apps/web/src/components/status-update/events.tsx
index d3021922..0083019a 100644
--- a/apps/web/src/components/status-update/events.tsx
+++ b/apps/web/src/components/status-update/events.tsx
@@ -32,8 +32,8 @@ export function Events({
open || !collabsible
? sortedArray
: sortedArray.length > 0
- ? [sortedArray[0]]
- : [];
+ ? [sortedArray[0]]
+ : [];
//
return (
diff --git a/apps/web/src/config/pages.ts b/apps/web/src/config/pages.ts
index a50c809c..1b4e7a8c 100644
--- a/apps/web/src/config/pages.ts
+++ b/apps/web/src/config/pages.ts
@@ -176,6 +176,14 @@ export const pagesConfig = [
segment: "notifications",
children: notificationsPagesConfig,
},
+ {
+ title: "Real User Monitoring",
+ description: "Where you can see all the notifications.",
+ href: "/rum",
+ icon: "bell",
+ segment: "rum",
+ children: notificationsPagesConfig,
+ },
{
title: "Settings",
description: "Your workspace settings",
diff --git a/apps/web/src/env.ts b/apps/web/src/env.ts
index f9e908e1..6a7f9af8 100644
--- a/apps/web/src/env.ts
+++ b/apps/web/src/env.ts
@@ -22,6 +22,9 @@ export const env = createEnv({
GCP_PRIVATE_KEY: z.string(),
CRON_SECRET: z.string(),
EXTERNAL_API_URL: z.string().url(),
+ CLICKHOUSE_URL: z.string(),
+ CLICKHOUSE_USERNAME: z.string(),
+ CLICKHOUSE_PASSWORD: z.string(),
},
client: {
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: z.string().min(1),
@@ -62,6 +65,9 @@ export const env = createEnv({
GCP_PRIVATE_KEY: process.env.GCP_PRIVATE_KEY,
CRON_SECRET: process.env.CRON_SECRET,
EXTERNAL_API_URL: process.env.EXTERNAL_API_URL,
+ CLICKHOUSE_URL: process.env.CLICKHOUSE_URL,
+ CLICKHOUSE_USERNAME: process.env.CLICKHOUSE_USERNAME,
+ CLICKHOUSE_PASSWORD: process.env.CLICKHOUSE_PASSWORD,
},
skipValidation: true,
});
diff --git a/apps/web/src/trpc/shared.ts b/apps/web/src/trpc/shared.ts
index 32ae05bf..6bed7dd2 100644
--- a/apps/web/src/trpc/shared.ts
+++ b/apps/web/src/trpc/shared.ts
@@ -10,7 +10,7 @@ const getBaseUrl = () => {
return `http://localhost:3000`;
};
-const lambdas = ["clerkRouter", "stripeRouter"];
+const lambdas = ["clerkRouter", "stripeRouter", "rumRouter"];
export const endingLink = (opts?: {
headers?: HTTPHeaders | (() => HTTPHeaders);
diff --git a/package.json b/package.json
index 616355fa..f785f618 100644
--- a/package.json
+++ b/package.json
@@ -11,16 +11,16 @@
"test": "turbo run test"
},
"devDependencies": {
- "@ianvs/prettier-plugin-sort-imports": "4.1.0",
+ "@ianvs/prettier-plugin-sort-imports": "4.2.1",
"@openstatus/eslint-config": "workspace:*",
"@turbo/gen": "1.10.12",
"eslint": "8.50.0",
- "prettier": "3.0.3",
- "prettier-plugin-tailwindcss": "0.5.4",
+ "prettier": "3.2.5",
+ "prettier-plugin-tailwindcss": "0.5.14",
"turbo": "1.10.12",
"typescript": "5.4.5"
},
- "packageManager": "pnpm@9.0.5",
+ "packageManager": "pnpm@9.0.6",
"name": "openstatus",
"workspaces": [
"apps/*",
diff --git a/packages/api/package.json b/packages/api/package.json
index 52a220b5..3a4bbb86 100644
--- a/packages/api/package.json
+++ b/packages/api/package.json
@@ -17,16 +17,18 @@
"@t3-oss/env-core": "0.7.0",
"@trpc/client": "10.45.1",
"@trpc/server": "10.45.1",
+ "nanoid": "5.0.7",
+ "nanoid-dictionary": "5.0.0-beta.1",
+ "next": "14.2.1",
"random-word-slugs": "0.1.7",
"stripe": "13.8.0",
"superjson": "1.13.3",
- "zod": "3.22.4",
- "next": "14.2.1"
+ "zod": "3.22.4"
},
"devDependencies": {
"@openstatus/tsconfig": "workspace:*",
- "typescript": "5.4.5",
- "bun-types": "1.0.8"
+ "bun-types": "1.0.8",
+ "typescript": "5.4.5"
},
"keywords": [],
"author": "",
diff --git a/packages/api/src/lambda.ts b/packages/api/src/lambda.ts
index d479d2f3..71189073 100644
--- a/packages/api/src/lambda.ts
+++ b/packages/api/src/lambda.ts
@@ -1,4 +1,5 @@
import { clerkRouter } from "./router/clerk/webhook";
+import { rumRouter } from "./router/rum";
import { stripeRouter } from "./router/stripe";
import { createTRPCRouter } from "./trpc";
@@ -6,8 +7,7 @@ import { createTRPCRouter } from "./trpc";
export const lambdaRouter = createTRPCRouter({
clerkRouter: clerkRouter,
stripeRouter: stripeRouter,
- // TODO: Add open api router
- // See trpc-openapi
+ rumRouter: rumRouter,
});
export { stripe } from "./router/stripe/shared";
diff --git a/packages/api/src/router/clerk/webhook.ts b/packages/api/src/router/clerk/webhook.ts
index 148174c0..b09c6e81 100644
--- a/packages/api/src/router/clerk/webhook.ts
+++ b/packages/api/src/router/clerk/webhook.ts
@@ -1,4 +1,6 @@
-import { generateSlug } from "random-word-slugs";
+import { customAlphabet } from "nanoid";
+import { alphanumeric } from "nanoid-dictionary";
+import * as randomWordSlugs from "random-word-slugs";
import * as z from "zod";
import { analytics, trackAnalytics } from "@openstatus/analytics";
@@ -40,7 +42,7 @@ export const webhookRouter = createTRPCRouter({
let slug: string | undefined = undefined;
while (!slug) {
- slug = generateSlug(2);
+ slug = randomWordSlugs.generateSlug(2);
const slugAlreadyExists = await opts.ctx.db
.select()
.from(workspace)
@@ -51,10 +53,12 @@ export const webhookRouter = createTRPCRouter({
slug = undefined;
}
}
+ const lowercaseRandomString = customAlphabet(alphanumeric, 10);
+ const dsn = `os_rum_${lowercaseRandomString}`;
const workspaceResult = await opts.ctx.db
.insert(workspace)
- .values({ slug, name: "" })
+ .values({ slug, name: "", dsn })
.returning({ id: workspace.id })
.get();
await opts.ctx.db
diff --git a/packages/api/src/router/rum/index.ts b/packages/api/src/router/rum/index.ts
new file mode 100644
index 00000000..a9a6e912
--- /dev/null
+++ b/packages/api/src/router/rum/index.ts
@@ -0,0 +1,40 @@
+import { z } from "zod";
+
+import { createTRPCRouter, protectedProcedure } from "../../trpc";
+
+const event = z.enum(["CLS", "FCP", "FID", "INP", "LCP", "TTFB"]);
+
+export const rumRouter = createTRPCRouter({
+ GetEventMetricsForWorkspace: protectedProcedure
+ .input(
+ z.object({
+ event: event,
+ }),
+ )
+ .query(async (opts) => {
+ try {
+ const data = await opts.ctx.clickhouseClient.query({
+ query: `select
+ event_name,
+ quantile(0.5)(value) as median
+ from
+ cwv
+ where
+ dsn = '${opts.ctx.workspace.dsn}'
+ and event_name = '${opts.input.event}'
+ group by
+ event_name
+`,
+ format: "JSONEachRow",
+ });
+ const result = await data.json();
+ const schema = z.array(
+ z.object({ event_name: z.string(), median: z.number() }),
+ );
+ return schema.parse(result)[0];
+ } catch (e) {
+ console.error(e);
+ throw e;
+ }
+ }),
+});
diff --git a/packages/api/src/trpc.ts b/packages/api/src/trpc.ts
index 5ae3f9f3..074b5fec 100644
--- a/packages/api/src/trpc.ts
+++ b/packages/api/src/trpc.ts
@@ -8,7 +8,7 @@ import { inferAsyncReturnType, initTRPC, TRPCError } from "@trpc/server";
import superjson from "superjson";
import { ZodError } from "zod";
-import { db, eq, schema } from "@openstatus/db";
+import { clickhouseClient, db, eq, schema } from "@openstatus/db";
import type { User, Workspace } from "@openstatus/db/src/schema";
/**
@@ -40,6 +40,7 @@ export const createInnerTRPCContext = (opts: CreateContextOptions) => {
return {
...opts,
db,
+ clickhouseClient,
};
};
diff --git a/packages/db/env.mjs b/packages/db/env.mjs
index 769471e6..2c6f3728 100644
--- a/packages/db/env.mjs
+++ b/packages/db/env.mjs
@@ -5,6 +5,9 @@ export const env = createEnv({
server: {
DATABASE_URL: z.string().min(1),
DATABASE_AUTH_TOKEN: z.string().min(1),
+ CLICKHOUSE_URL: z.string(),
+ CLICKHOUSE_USERNAME: z.string(),
+ CLICKHOUSE_PASSWORD: z.string(),
},
runtimeEnv: {
DATABASE_URL:
@@ -13,6 +16,9 @@ export const env = createEnv({
? "http://127.0.0.1:8080"
: process.env.DATABASE_URL,
DATABASE_AUTH_TOKEN: process.env.DATABASE_AUTH_TOKEN,
+ CLICKHOUSE_URL: process.env.CLICKHOUSE_URL,
+ CLICKHOUSE_USERNAME: process.env.CLICKHOUSE_USERNAME,
+ CLICKHOUSE_PASSWORD: process.env.CLICKHOUSE_PASSWORD,
},
skipValidation: true,
});
diff --git a/packages/db/package.json b/packages/db/package.json
index c93da528..e3e14e17 100644
--- a/packages/db/package.json
+++ b/packages/db/package.json
@@ -12,10 +12,11 @@
"dev": "turso dev --db-file openstatus.db"
},
"dependencies": {
+ "@clickhouse/client-web": "1.0.1",
"@libsql/client": "0.6.0",
"@t3-oss/env-core": "0.7.0",
"dotenv": "16.3.1",
- "drizzle-orm": "0.30.7",
+ "drizzle-orm": "0.30.9",
"drizzle-zod": "0.5.1",
"zod": "3.22.4"
},
@@ -25,7 +26,7 @@
"@types/node": "20.8.0",
"better-sqlite3": "9.4.1",
"bufferutil": "4.0.7",
- "drizzle-kit": "0.20.14",
+ "drizzle-kit": "0.20.17",
"encoding": "0.1.13",
"typescript": "5.4.5",
"utf-8-validate": "6.0.3"
diff --git a/packages/db/src/clickhouse/client.ts b/packages/db/src/clickhouse/client.ts
index 5f7dac66..ee2066bc 100644
--- a/packages/db/src/clickhouse/client.ts
+++ b/packages/db/src/clickhouse/client.ts
@@ -1,13 +1,15 @@
-// import { createClient } from "@clickhouse/client-web";
+import { createClient } from "@clickhouse/client-web";
-// import { env } from "../../env.mjs";
+import { env } from "../../env.mjs";
-// const clickhouseClient = createClient({
-// url: env.CLICKHOUSE_URL,
-// username: env.CLICKHOUSE_USERNAME,
-// password: env.CLICKHOUSE_PASSWORD,
-// database: "default",
-// /* configuration */
-// });
+// This client can only be used in node.js environment
-// export { clickhouseClient };
+const clickhouseClient = createClient({
+ host: env.CLICKHOUSE_URL,
+ username: env.CLICKHOUSE_USERNAME,
+ password: env.CLICKHOUSE_PASSWORD,
+ database: "default",
+ /* configuration */
+});
+
+export { clickhouseClient };
diff --git a/packages/db/src/index.ts b/packages/db/src/index.ts
index 7a41e7c0..75bca223 100644
--- a/packages/db/src/index.ts
+++ b/packages/db/src/index.ts
@@ -1,4 +1,4 @@
export * as schema from "./schema";
export * from "drizzle-orm";
export * from "./db";
-// export * from "./clickhouse/client";
+export * from "./clickhouse/client";
diff --git a/packages/tracker/src/tracker.ts b/packages/tracker/src/tracker.ts
index a9174b32..7eb32538 100644
--- a/packages/tracker/src/tracker.ts
+++ b/packages/tracker/src/tracker.ts
@@ -162,8 +162,8 @@ export class Tracker {
const status = incidents.length
? Status.Incident
: isMissingData
- ? Status.Unknown
- : this.calculateUptimeStatus([props]);
+ ? Status.Unknown
+ : this.calculateUptimeStatus([props]);
const variant = statusDetails[status].variant;
const label = statusDetails[status].short;
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d887edc5..8ba57838 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -9,8 +9,8 @@ importers:
.:
devDependencies:
'@ianvs/prettier-plugin-sort-imports':
- specifier: 4.1.0
- version: 4.1.0(prettier@3.0.3)
+ specifier: 4.2.1
+ version: 4.2.1(prettier@3.2.5)
'@openstatus/eslint-config':
specifier: workspace:*
version: link:packages/config/eslint
@@ -21,11 +21,11 @@ importers:
specifier: 8.50.0
version: 8.50.0
prettier:
- specifier: 3.0.3
- version: 3.0.3
+ specifier: 3.2.5
+ version: 3.2.5
prettier-plugin-tailwindcss:
- specifier: 0.5.4
- version: 0.5.4(@ianvs/prettier-plugin-sort-imports@4.1.0(prettier@3.0.3))(prettier@3.0.3)
+ specifier: 0.5.14
+ version: 0.5.14(@ianvs/prettier-plugin-sort-imports@4.2.1(prettier@3.2.5))(prettier@3.2.5)
turbo:
specifier: 1.10.12
version: 1.10.12
@@ -229,7 +229,7 @@ importers:
dependencies:
'@clerk/nextjs':
specifier: 4.29.9
- version: 4.29.9(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 4.29.9(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@google-cloud/tasks':
specifier: 5.0.0
version: 5.0.0(encoding@0.1.13)
@@ -256,7 +256,7 @@ importers:
version: link:../../packages/emails
'@openstatus/next-monitoring':
specifier: 0.0.2
- version: 0.0.2(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)
+ version: 0.0.2(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)
'@openstatus/notification-discord':
specifier: workspace:*
version: link:../../packages/notifications/discord
@@ -292,7 +292,7 @@ importers:
version: 7.100.1
'@sentry/nextjs':
specifier: 7.100.1
- version: 7.100.1(encoding@0.1.13)(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)
+ version: 7.100.1(encoding@0.1.13)(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)
'@stripe/stripe-js':
specifier: 2.1.6
version: 2.1.6
@@ -316,7 +316,7 @@ importers:
version: 10.45.1(@trpc/server@10.45.1)
'@trpc/next':
specifier: 10.45.1
- version: 10.45.1(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.1(@trpc/server@10.45.1))(@trpc/react-query@10.45.1(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.1(@trpc/server@10.45.1))(@trpc/server@10.45.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.45.1)(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 10.45.1(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.1(@trpc/server@10.45.1))(@trpc/react-query@10.45.1(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.1(@trpc/server@10.45.1))(@trpc/server@10.45.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.45.1)(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@trpc/react-query':
specifier: 10.45.1
version: 10.45.1(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.1(@trpc/server@10.45.1))(@trpc/server@10.45.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
@@ -370,16 +370,16 @@ importers:
version: 5.0.1
next:
specifier: 14.2.1
- version: 14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
next-contentlayer:
specifier: 0.3.4
- version: 0.3.4(contentlayer@0.3.4(esbuild@0.19.12))(esbuild@0.19.12)(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 0.3.4(contentlayer@0.3.4(esbuild@0.19.12))(esbuild@0.19.12)(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
next-plausible:
specifier: 3.12.0
- version: 3.12.0(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 3.12.0(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
next-themes:
specifier: 0.2.1
- version: 0.2.1(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 0.2.1(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react:
specifier: 18.2.0
version: 18.2.0
@@ -513,7 +513,7 @@ importers:
dependencies:
'@clerk/nextjs':
specifier: 4.29.9
- version: 4.29.9(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 4.29.9(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@openstatus/analytics':
specifier: workspace:*
version: link:../analytics
@@ -541,9 +541,15 @@ importers:
'@trpc/server':
specifier: 10.45.1
version: 10.45.1
+ nanoid:
+ specifier: 5.0.7
+ version: 5.0.7
+ nanoid-dictionary:
+ specifier: 5.0.0-beta.1
+ version: 5.0.0-beta.1
next:
specifier: 14.2.1
- version: 14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
random-word-slugs:
specifier: 0.1.7
version: 0.1.7
@@ -618,6 +624,9 @@ importers:
packages/db:
dependencies:
+ '@clickhouse/client-web':
+ specifier: 1.0.1
+ version: 1.0.1
'@libsql/client':
specifier: 0.6.0
version: 0.6.0(bufferutil@4.0.7)(utf-8-validate@6.0.3)
@@ -628,11 +637,11 @@ importers:
specifier: 16.3.1
version: 16.3.1
drizzle-orm:
- specifier: 0.30.7
- version: 0.30.7(@cloudflare/workers-types@4.20240405.0)(@libsql/client@0.6.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.4.1)(@types/react@18.2.64)(better-sqlite3@9.4.1)(bun-types@1.0.11)(react@18.2.0)
+ specifier: 0.30.9
+ version: 0.30.9(@cloudflare/workers-types@4.20240405.0)(@libsql/client@0.6.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.4.1)(@types/react@18.2.64)(better-sqlite3@9.4.1)(bun-types@1.0.11)(react@18.2.0)
drizzle-zod:
specifier: 0.5.1
- version: 0.5.1(drizzle-orm@0.30.7(@cloudflare/workers-types@4.20240405.0)(@libsql/client@0.6.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.4.1)(@types/react@18.2.64)(better-sqlite3@9.4.1)(bun-types@1.0.11)(react@18.2.0))(zod@3.22.4)
+ version: 0.5.1(drizzle-orm@0.30.9(@cloudflare/workers-types@4.20240405.0)(@libsql/client@0.6.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.4.1)(@types/react@18.2.64)(better-sqlite3@9.4.1)(bun-types@1.0.11)(react@18.2.0))(zod@3.22.4)
zod:
specifier: 3.22.4
version: 3.22.4
@@ -653,8 +662,8 @@ importers:
specifier: 4.0.7
version: 4.0.7
drizzle-kit:
- specifier: 0.20.14
- version: 0.20.14
+ specifier: 0.20.17
+ version: 0.20.17
encoding:
specifier: 0.1.13
version: 0.1.13
@@ -731,7 +740,7 @@ importers:
version: 18.2.21
next:
specifier: 14.2.1
- version: 14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
typescript:
specifier: 5.4.5
version: 5.4.5
@@ -777,7 +786,7 @@ importers:
version: 18.2.21
next:
specifier: 14.2.1
- version: 14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
typescript:
specifier: 5.4.5
version: 5.4.5
@@ -802,7 +811,7 @@ importers:
version: 18.2.21
next:
specifier: 14.2.1
- version: 14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
typescript:
specifier: 5.4.5
version: 5.4.5
@@ -839,7 +848,7 @@ importers:
version: 18.2.21
next:
specifier: 14.2.1
- version: 14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
typescript:
specifier: 5.4.5
version: 5.4.5
@@ -1013,7 +1022,7 @@ importers:
version: 3.3.0
next-themes:
specifier: 0.2.1
- version: 0.2.1(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ version: 0.2.1(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react:
specifier: 18.2.0
version: 18.2.0
@@ -1306,20 +1315,24 @@ packages:
resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==}
engines: {node: '>=6.9.0'}
- '@babel/compat-data@7.23.2':
- resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==}
+ '@babel/code-frame@7.24.2':
+ resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.24.4':
+ resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==}
engines: {node: '>=6.9.0'}
- '@babel/core@7.23.2':
- resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==}
+ '@babel/core@7.24.4':
+ resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==}
engines: {node: '>=6.9.0'}
- '@babel/generator@7.23.0':
- resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==}
+ '@babel/generator@7.24.4':
+ resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-compilation-targets@7.22.15':
- resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==}
+ '@babel/helper-compilation-targets@7.23.6':
+ resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
engines: {node: '>=6.9.0'}
'@babel/helper-environment-visitor@7.22.20':
@@ -1338,8 +1351,8 @@ packages:
resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-transforms@7.23.0':
- resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==}
+ '@babel/helper-module-transforms@7.23.3':
+ resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
@@ -1352,28 +1365,32 @@ packages:
resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
engines: {node: '>=6.9.0'}
- '@babel/helper-string-parser@7.22.5':
- resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
+ '@babel/helper-string-parser@7.24.1':
+ resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
engines: {node: '>=6.9.0'}
'@babel/helper-validator-identifier@7.22.20':
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-option@7.22.15':
- resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==}
+ '@babel/helper-validator-option@7.23.5':
+ resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
engines: {node: '>=6.9.0'}
- '@babel/helpers@7.23.2':
- resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==}
+ '@babel/helpers@7.24.4':
+ resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==}
engines: {node: '>=6.9.0'}
'@babel/highlight@7.22.20':
resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.23.0':
- resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==}
+ '@babel/highlight@7.24.2':
+ resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.24.4':
+ resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==}
engines: {node: '>=6.0.0'}
hasBin: true
@@ -1389,12 +1406,16 @@ packages:
resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
engines: {node: '>=6.9.0'}
- '@babel/traverse@7.23.2':
- resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==}
+ '@babel/template@7.24.0':
+ resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.23.0':
- resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==}
+ '@babel/traverse@7.24.1':
+ resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.24.0':
+ resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
engines: {node: '>=6.9.0'}
'@biomejs/biome@1.6.3':
@@ -1490,9 +1511,15 @@ packages:
'@clickhouse/client-common@0.3.0':
resolution: {integrity: sha512-LcfJfyMglUTbGuDN/s6e/R3LwtbQXpv6juIJID+tVXxcGzPijhDB+XXQpqbprunqnm48vHmLfCB6/68Pgp5qvg==}
+ '@clickhouse/client-common@1.0.1':
+ resolution: {integrity: sha512-3L6e0foP6VOktScoi6XWMjJyOpKCWgLUYgPVxP2c7gm6Kotq+iRmmmXtXTSg7B7uozcLZycTtPfIw2d80SYsYw==}
+
'@clickhouse/client-web@0.3.0':
resolution: {integrity: sha512-zx/oJ2M+YIMTiTNdRAACpJGKqlJ47LE9Y4DzyZgki37q3QYoCCXOzGk5Jpq9MFFHwYW+9OMx9RIk80VvuSx4mw==}
+ '@clickhouse/client-web@1.0.1':
+ resolution: {integrity: sha512-gKmfOxJ3+6kFtlmQaBd0sOz8t8lAiJcBfR9sx1Cmk4M38T5xxza7ZWhyGs3O6I7nJkU60RuM1MY8Woct6vMtRg==}
+
'@cloudflare/kv-asset-handler@0.3.1':
resolution: {integrity: sha512-lKN2XCfKCmpKb86a1tl4GIwsJYDy9TGuwjhDELLmpKygQhw8X2xR4dusgpC5Tg7q1pB96Eb0rBo81kxSILQMwA==}
@@ -1606,9 +1633,6 @@ packages:
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
engines: {node: '>=12'}
- '@drizzle-team/studio@0.0.39':
- resolution: {integrity: sha512-c5Hkm7MmQC2n5qAsKShjQrHoqlfGslB8+qWzsGGZ+2dHMRTNG60UuzalF0h0rvBax5uzPXuGkYLGaQ+TUX3yMw==}
-
'@effect-ts/core@0.60.5':
resolution: {integrity: sha512-qi1WrtJA90XLMnj2hnUszW9Sx4dXP03ZJtCc5DiUBIOhF4Vw7plfb65/bdBySPoC9s7zy995TdUX1XBSxUkl5w==}
@@ -2281,6 +2305,10 @@ packages:
peerDependencies:
tailwindcss: ^3.0
+ '@hono/node-server@1.11.1':
+ resolution: {integrity: sha512-GW1Iomhmm1o4Z+X57xGby8A35Cu9UZLL7pSMdqDBkD99U5cywff8F+8hLk5aBTzNubnsFAvWQ/fZjNwPsEn9lA==}
+ engines: {node: '>=18.14.1'}
+
'@hono/sentry@1.0.0':
resolution: {integrity: sha512-GbPxgpGuasM2zRCSaA77MPWu4KDcuk/EMf7JJykjCvnOTbjmtr7FovNxsvg7xlXCIjZDgLmqBaoJMi3AxbeIAA==}
peerDependencies:
@@ -2321,10 +2349,10 @@ packages:
'@humanwhocodes/object-schema@2.0.1':
resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
- '@ianvs/prettier-plugin-sort-imports@4.1.0':
- resolution: {integrity: sha512-IAXeTLU24k6mRPa6mFbW1qZJ/j0m3OeH44wyijWyr+YqqdNtBnfHxAntOAATS9iDfrT01NesKGsdzqnXdDQa/A==}
+ '@ianvs/prettier-plugin-sort-imports@4.2.1':
+ resolution: {integrity: sha512-NKN1LVFWUDGDGr3vt+6Ey3qPeN/163uR1pOPAlkWpgvAqgxQ6kSdUf1F0it8aHUtKRUzEGcK38Wxd07O61d7+Q==}
peerDependencies:
- '@vue/compiler-sfc': '>=3.0.0'
+ '@vue/compiler-sfc': 2.7.x || 3.x
prettier: 2 || 3
peerDependenciesMeta:
'@vue/compiler-sfc':
@@ -2357,6 +2385,10 @@ packages:
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
engines: {node: '>=6.0.0'}
+ '@jridgewell/gen-mapping@0.3.5':
+ resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
+ engines: {node: '>=6.0.0'}
+
'@jridgewell/resolve-uri@3.1.1':
resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
engines: {node: '>=6.0.0'}
@@ -2365,12 +2397,19 @@ packages:
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
engines: {node: '>=6.0.0'}
+ '@jridgewell/set-array@1.2.1':
+ resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
+ engines: {node: '>=6.0.0'}
+
'@jridgewell/sourcemap-codec@1.4.15':
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
'@jridgewell/trace-mapping@0.3.20':
resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
+ '@jridgewell/trace-mapping@0.3.25':
+ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+
'@jridgewell/trace-mapping@0.3.9':
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
@@ -4477,6 +4516,11 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
+ browserslist@4.23.0:
+ resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
buffer-equal-constant-time@1.0.1:
resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==}
@@ -4552,6 +4596,9 @@ packages:
caniuse-lite@1.0.30001585:
resolution: {integrity: sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==}
+ caniuse-lite@1.0.30001612:
+ resolution: {integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==}
+
capnp-ts@0.7.0:
resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==}
@@ -5043,8 +5090,8 @@ packages:
resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==}
engines: {node: '>=0.4.0'}
- drizzle-kit@0.20.14:
- resolution: {integrity: sha512-0fHv3YIEaUcSVPSGyaaBfOi9bmpajjhbJNdPsRMIUvYdLVxBu9eGjH8mRc3Qk7HVmEidFc/lhG1YyJhoXrn5yA==}
+ drizzle-kit@0.20.17:
+ resolution: {integrity: sha512-mLVDS4nXmO09wFVlzGrdshWnAL+U9eQGC5zRs6hTN6Q9arwQGWU2XnZ17I8BM8Quau8CQRx3Ms6VPgRWJFVp7Q==}
hasBin: true
drizzle-orm@0.30.7:
@@ -5127,6 +5174,86 @@ packages:
sqlite3:
optional: true
+ drizzle-orm@0.30.9:
+ resolution: {integrity: sha512-VOiCFsexErmgqvNCOmbzmqDCZzZsHoz6SkWAjTFxsTr1AllKDbDJ2+GgedLXsXMDgpg/ljDG1zItIFeZtiO2LA==}
+ peerDependencies:
+ '@aws-sdk/client-rds-data': '>=3'
+ '@cloudflare/workers-types': '>=3'
+ '@electric-sql/pglite': '>=0.1.1'
+ '@libsql/client': '*'
+ '@neondatabase/serverless': '>=0.1'
+ '@op-engineering/op-sqlite': '>=2'
+ '@opentelemetry/api': ^1.4.1
+ '@planetscale/database': '>=1'
+ '@types/better-sqlite3': '*'
+ '@types/pg': '*'
+ '@types/react': '>=18'
+ '@types/sql.js': '*'
+ '@vercel/postgres': '>=0.8.0'
+ '@xata.io/client': '*'
+ better-sqlite3: '>=7'
+ bun-types: '*'
+ expo-sqlite: '>=13.2.0'
+ knex: '*'
+ kysely: '*'
+ mysql2: '>=2'
+ pg: '>=8'
+ postgres: '>=3'
+ react: '>=18'
+ sql.js: '>=1'
+ sqlite3: '>=5'
+ peerDependenciesMeta:
+ '@aws-sdk/client-rds-data':
+ optional: true
+ '@cloudflare/workers-types':
+ optional: true
+ '@electric-sql/pglite':
+ optional: true
+ '@libsql/client':
+ optional: true
+ '@neondatabase/serverless':
+ optional: true
+ '@op-engineering/op-sqlite':
+ optional: true
+ '@opentelemetry/api':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@types/better-sqlite3':
+ optional: true
+ '@types/pg':
+ optional: true
+ '@types/react':
+ optional: true
+ '@types/sql.js':
+ optional: true
+ '@vercel/postgres':
+ optional: true
+ '@xata.io/client':
+ optional: true
+ better-sqlite3:
+ optional: true
+ bun-types:
+ optional: true
+ expo-sqlite:
+ optional: true
+ knex:
+ optional: true
+ kysely:
+ optional: true
+ mysql2:
+ optional: true
+ pg:
+ optional: true
+ postgres:
+ optional: true
+ react:
+ optional: true
+ sql.js:
+ optional: true
+ sqlite3:
+ optional: true
+
drizzle-zod@0.5.1:
resolution: {integrity: sha512-C/8bvzUH/zSnVfwdSibOgFjLhtDtbKYmkbPbUCq46QZyZCH6kODIMSOgZ8R7rVjoI+tCj3k06MRJMDqsIeoS4A==}
peerDependencies:
@@ -5150,6 +5277,9 @@ packages:
electron-to-chromium@1.4.563:
resolution: {integrity: sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw==}
+ electron-to-chromium@1.4.750:
+ resolution: {integrity: sha512-9ItEpeu15hW5m8jKdriL+BQrgwDTXEL9pn4SkillWFu73ZNNNQ2BKKLS+ZHv2vC9UkNhosAeyfxOf/5OSeTCPA==}
+
emitter-component@1.1.2:
resolution: {integrity: sha512-QdXO3nXOzZB4pAjM0n6ZE+R9/+kPpECA/XSELIcc54NeYVnBqIk+4DFiBgK+8QbV3mdvTG6nedl7dTYgO+5wDw==}
@@ -6768,6 +6898,9 @@ packages:
mz@2.7.0:
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+ nanoid-dictionary@5.0.0-beta.1:
+ resolution: {integrity: sha512-xBkL9zzkNjzJ/UnmWyiOUDVX/COoi05eS0oU28RYKFFQhdnzO5dTOPbVZ/fCFgIOGr1zNinDHJ68mm/KQfcgcw==}
+
nanoid@3.3.6:
resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -6783,6 +6916,11 @@ packages:
engines: {node: ^18 || >=20}
hasBin: true
+ nanoid@5.0.7:
+ resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==}
+ engines: {node: ^18 || >=20}
+ hasBin: true
+
napi-build-utils@1.0.2:
resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==}
@@ -6884,6 +7022,9 @@ packages:
node-releases@2.0.13:
resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
+ node-releases@2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+
nopt@6.0.0:
resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==}
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
@@ -7194,15 +7335,15 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
- prettier-plugin-tailwindcss@0.5.4:
- resolution: {integrity: sha512-QZzzB1bID6qPsKHTeA9qPo1APmmxfFrA5DD3LQ+vbTmAnY40eJI7t9Q1ocqel2EKMWNPLJqdTDWZj1hKYgqSgg==}
+ prettier-plugin-tailwindcss@0.5.14:
+ resolution: {integrity: sha512-Puaz+wPUAhFp8Lo9HuciYKM2Y2XExESjeT+9NQoVFXZsPPnc9VYss2SpxdQ6vbatmt8/4+SN0oe0I1cPDABg9Q==}
engines: {node: '>=14.21.3'}
peerDependencies:
'@ianvs/prettier-plugin-sort-imports': '*'
'@prettier/plugin-pug': '*'
'@shopify/prettier-plugin-liquid': '*'
- '@shufo/prettier-plugin-blade': '*'
'@trivago/prettier-plugin-sort-imports': '*'
+ '@zackad/prettier-plugin-twig-melody': '*'
prettier: ^3.0
prettier-plugin-astro: '*'
prettier-plugin-css-order: '*'
@@ -7211,9 +7352,9 @@ packages:
prettier-plugin-marko: '*'
prettier-plugin-organize-attributes: '*'
prettier-plugin-organize-imports: '*'
+ prettier-plugin-sort-imports: '*'
prettier-plugin-style-order: '*'
prettier-plugin-svelte: '*'
- prettier-plugin-twig-melody: '*'
peerDependenciesMeta:
'@ianvs/prettier-plugin-sort-imports':
optional: true
@@ -7221,10 +7362,10 @@ packages:
optional: true
'@shopify/prettier-plugin-liquid':
optional: true
- '@shufo/prettier-plugin-blade':
- optional: true
'@trivago/prettier-plugin-sort-imports':
optional: true
+ '@zackad/prettier-plugin-twig-melody':
+ optional: true
prettier-plugin-astro:
optional: true
prettier-plugin-css-order:
@@ -7239,15 +7380,15 @@ packages:
optional: true
prettier-plugin-organize-imports:
optional: true
+ prettier-plugin-sort-imports:
+ optional: true
prettier-plugin-style-order:
optional: true
prettier-plugin-svelte:
optional: true
- prettier-plugin-twig-melody:
- optional: true
- prettier@3.0.3:
- resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==}
+ prettier@3.2.5:
+ resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
engines: {node: '>=14'}
hasBin: true
@@ -9275,20 +9416,25 @@ snapshots:
'@babel/highlight': 7.22.20
chalk: 2.4.2
- '@babel/compat-data@7.23.2': {}
+ '@babel/code-frame@7.24.2':
+ dependencies:
+ '@babel/highlight': 7.24.2
+ picocolors: 1.0.0
+
+ '@babel/compat-data@7.24.4': {}
- '@babel/core@7.23.2':
+ '@babel/core@7.24.4':
dependencies:
'@ampproject/remapping': 2.2.1
- '@babel/code-frame': 7.22.13
- '@babel/generator': 7.23.0
- '@babel/helper-compilation-targets': 7.22.15
- '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2)
- '@babel/helpers': 7.23.2
- '@babel/parser': 7.23.0
- '@babel/template': 7.22.15
- '@babel/traverse': 7.23.2
- '@babel/types': 7.23.0
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.4
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4)
+ '@babel/helpers': 7.24.4
+ '@babel/parser': 7.24.4
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.1
+ '@babel/types': 7.24.0
convert-source-map: 2.0.0
debug: 4.3.4
gensync: 1.0.0-beta.2
@@ -9297,18 +9443,18 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/generator@7.23.0':
+ '@babel/generator@7.24.4':
dependencies:
- '@babel/types': 7.23.0
- '@jridgewell/gen-mapping': 0.3.3
- '@jridgewell/trace-mapping': 0.3.20
+ '@babel/types': 7.24.0
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
jsesc: 2.5.2
- '@babel/helper-compilation-targets@7.22.15':
+ '@babel/helper-compilation-targets@7.23.6':
dependencies:
- '@babel/compat-data': 7.23.2
- '@babel/helper-validator-option': 7.22.15
- browserslist: 4.22.1
+ '@babel/compat-data': 7.24.4
+ '@babel/helper-validator-option': 7.23.5
+ browserslist: 4.23.0
lru-cache: 5.1.1
semver: 6.3.1
@@ -9317,19 +9463,19 @@ snapshots:
'@babel/helper-function-name@7.23.0':
dependencies:
'@babel/template': 7.22.15
- '@babel/types': 7.23.0
+ '@babel/types': 7.24.0
'@babel/helper-hoist-variables@7.22.5':
dependencies:
- '@babel/types': 7.23.0
+ '@babel/types': 7.24.0
'@babel/helper-module-imports@7.22.15':
dependencies:
- '@babel/types': 7.23.0
+ '@babel/types': 7.24.0
- '@babel/helper-module-transforms@7.23.0(@babel/core@7.23.2)':
+ '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4)':
dependencies:
- '@babel/core': 7.23.2
+ '@babel/core': 7.24.4
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-module-imports': 7.22.15
'@babel/helper-simple-access': 7.22.5
@@ -9338,23 +9484,23 @@ snapshots:
'@babel/helper-simple-access@7.22.5':
dependencies:
- '@babel/types': 7.23.0
+ '@babel/types': 7.24.0
'@babel/helper-split-export-declaration@7.22.6':
dependencies:
- '@babel/types': 7.23.0
+ '@babel/types': 7.24.0
- '@babel/helper-string-parser@7.22.5': {}
+ '@babel/helper-string-parser@7.24.1': {}
'@babel/helper-validator-identifier@7.22.20': {}
- '@babel/helper-validator-option@7.22.15': {}
+ '@babel/helper-validator-option@7.23.5': {}
- '@babel/helpers@7.23.2':
+ '@babel/helpers@7.24.4':
dependencies:
- '@babel/template': 7.22.15
- '@babel/traverse': 7.23.2
- '@babel/types': 7.23.0
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.1
+ '@babel/types': 7.24.0
transitivePeerDependencies:
- supports-color
@@ -9364,9 +9510,16 @@ snapshots:
chalk: 2.4.2
js-tokens: 4.0.0
- '@babel/parser@7.23.0':
+ '@babel/highlight@7.24.2':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.0.0
+
+ '@babel/parser@7.24.4':
dependencies:
- '@babel/types': 7.23.0
+ '@babel/types': 7.24.0
'@babel/runtime-corejs3@7.23.2':
dependencies:
@@ -9379,28 +9532,34 @@ snapshots:
'@babel/template@7.22.15':
dependencies:
- '@babel/code-frame': 7.22.13
- '@babel/parser': 7.23.0
- '@babel/types': 7.23.0
+ '@babel/code-frame': 7.24.2
+ '@babel/parser': 7.24.4
+ '@babel/types': 7.24.0
- '@babel/traverse@7.23.2':
+ '@babel/template@7.24.0':
dependencies:
- '@babel/code-frame': 7.22.13
- '@babel/generator': 7.23.0
+ '@babel/code-frame': 7.24.2
+ '@babel/parser': 7.24.4
+ '@babel/types': 7.24.0
+
+ '@babel/traverse@7.24.1':
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.4
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-function-name': 7.23.0
'@babel/helper-hoist-variables': 7.22.5
'@babel/helper-split-export-declaration': 7.22.6
- '@babel/parser': 7.23.0
- '@babel/types': 7.23.0
+ '@babel/parser': 7.24.4
+ '@babel/types': 7.24.0
debug: 4.3.4
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- '@babel/types@7.23.0':
+ '@babel/types@7.24.0':
dependencies:
- '@babel/helper-string-parser': 7.22.5
+ '@babel/helper-string-parser': 7.24.1
'@babel/helper-validator-identifier': 7.22.20
to-fast-properties: 2.0.0
@@ -9478,14 +9637,14 @@ snapshots:
transitivePeerDependencies:
- react
- '@clerk/nextjs@4.29.9(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+ '@clerk/nextjs@4.29.9(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
'@clerk/backend': 0.38.3(react@18.2.0)
'@clerk/clerk-react': 4.30.7(react@18.2.0)
'@clerk/clerk-sdk-node': 4.13.11(react@18.2.0)
'@clerk/shared': 1.3.3(react@18.2.0)
'@clerk/types': 3.62.1
- next: 14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ next: 14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
path-to-regexp: 6.2.1
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -9505,10 +9664,16 @@ snapshots:
'@clickhouse/client-common@0.3.0': {}
+ '@clickhouse/client-common@1.0.1': {}
+
'@clickhouse/client-web@0.3.0':
dependencies:
'@clickhouse/client-common': 0.3.0
+ '@clickhouse/client-web@1.0.1':
+ dependencies:
+ '@clickhouse/client-common': 1.0.1
+
'@cloudflare/kv-asset-handler@0.3.1':
dependencies:
mime: 3.0.0
@@ -9659,10 +9824,6 @@ snapshots:
dependencies:
'@jridgewell/trace-mapping': 0.3.9
- '@drizzle-team/studio@0.0.39':
- dependencies:
- superjson: 2.2.1
-
'@effect-ts/core@0.60.5':
dependencies:
'@effect-ts/system': 0.57.5
@@ -10085,6 +10246,8 @@ snapshots:
dependencies:
tailwindcss: 3.3.2(ts-node@10.9.1(@types/node@20.8.0)(typescript@5.4.5))
+ '@hono/node-server@1.11.1': {}
+
'@hono/sentry@1.0.0(hono@4.0.0)':
dependencies:
hono: 4.0.0
@@ -10133,14 +10296,14 @@ snapshots:
'@humanwhocodes/object-schema@2.0.1': {}
- '@ianvs/prettier-plugin-sort-imports@4.1.0(prettier@3.0.3)':
+ '@ianvs/prettier-plugin-sort-imports@4.2.1(prettier@3.2.5)':
dependencies:
- '@babel/core': 7.23.2
- '@babel/generator': 7.23.0
- '@babel/parser': 7.23.0
- '@babel/traverse': 7.23.2
- '@babel/types': 7.23.0
- prettier: 3.0.3
+ '@babel/core': 7.24.4
+ '@babel/generator': 7.24.4
+ '@babel/parser': 7.24.4
+ '@babel/traverse': 7.24.1
+ '@babel/types': 7.24.0
+ prettier: 3.2.5
semver: 7.5.4
transitivePeerDependencies:
- supports-color
@@ -10195,10 +10358,18 @@ snapshots:
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/trace-mapping': 0.3.20
+ '@jridgewell/gen-mapping@0.3.5':
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.25
+
'@jridgewell/resolve-uri@3.1.1': {}
'@jridgewell/set-array@1.1.2': {}
+ '@jridgewell/set-array@1.2.1': {}
+
'@jridgewell/sourcemap-codec@1.4.15': {}
'@jridgewell/trace-mapping@0.3.20':
@@ -10206,6 +10377,11 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.1
'@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping@0.3.25':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+
'@jridgewell/trace-mapping@0.3.9':
dependencies:
'@jridgewell/resolve-uri': 3.1.1
@@ -10449,9 +10625,9 @@ snapshots:
'@one-ini/wasm@0.1.1': {}
- '@openstatus/next-monitoring@0.0.2(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)':
+ '@openstatus/next-monitoring@0.0.2(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)':
dependencies:
- next: 14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ next: 14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react: 18.2.0
'@opentelemetry/api-logs@0.39.1':
@@ -11576,7 +11752,7 @@ snapshots:
localforage: 1.10.0
tslib: 2.6.2
- '@sentry/nextjs@7.100.1(encoding@0.1.13)(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)':
+ '@sentry/nextjs@7.100.1(encoding@0.1.13)(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)':
dependencies:
'@rollup/plugin-commonjs': 24.0.0(rollup@2.78.0)
'@sentry/core': 7.100.1
@@ -11588,7 +11764,7 @@ snapshots:
'@sentry/vercel-edge': 7.100.1
'@sentry/webpack-plugin': 1.21.0(encoding@0.1.13)
chalk: 3.0.0
- next: 14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ next: 14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react: 18.2.0
resolve: 1.22.8
rollup: 2.78.0
@@ -12074,13 +12250,13 @@ snapshots:
dependencies:
'@trpc/server': 10.45.1
- '@trpc/next@10.45.1(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.1(@trpc/server@10.45.1))(@trpc/react-query@10.45.1(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.1(@trpc/server@10.45.1))(@trpc/server@10.45.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.45.1)(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
+ '@trpc/next@10.45.1(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.1(@trpc/server@10.45.1))(@trpc/react-query@10.45.1(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.1(@trpc/server@10.45.1))(@trpc/server@10.45.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@10.45.1)(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)':
dependencies:
'@tanstack/react-query': 4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@trpc/client': 10.45.1(@trpc/server@10.45.1)
'@trpc/react-query': 10.45.1(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/client@10.45.1(@trpc/server@10.45.1))(@trpc/server@10.45.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@trpc/server': 10.45.1
- next: 14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ next: 14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -12749,6 +12925,13 @@ snapshots:
node-releases: 2.0.13
update-browserslist-db: 1.0.13(browserslist@4.22.1)
+ browserslist@4.23.0:
+ dependencies:
+ caniuse-lite: 1.0.30001612
+ electron-to-chromium: 1.4.750
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13(browserslist@4.23.0)
+
buffer-equal-constant-time@1.0.1: {}
buffer-from@1.1.2: {}
@@ -12817,6 +13000,8 @@ snapshots:
caniuse-lite@1.0.30001585: {}
+ caniuse-lite@1.0.30001612: {}
+
capnp-ts@0.7.0:
dependencies:
debug: 4.3.4
@@ -13296,10 +13481,11 @@ snapshots:
dependencies:
wordwrap: 1.0.0
- drizzle-kit@0.20.14:
+ drizzle-kit@0.20.17:
dependencies:
- '@drizzle-team/studio': 0.0.39
'@esbuild-kit/esm-loader': 2.6.5
+ '@hono/node-server': 1.11.1
+ '@hono/zod-validator': 0.2.1(hono@4.2.2)(zod@3.22.4)
camelcase: 7.0.1
chalk: 5.3.0
commander: 9.5.0
@@ -13308,9 +13494,11 @@ snapshots:
esbuild-register: 3.5.0(esbuild@0.19.12)
glob: 8.1.0
hanji: 0.0.5
+ hono: 4.2.2
json-diff: 0.9.0
minimatch: 7.4.6
semver: 7.5.4
+ superjson: 2.2.1
zod: 3.22.4
transitivePeerDependencies:
- supports-color
@@ -13335,9 +13523,19 @@ snapshots:
bun-types: 1.0.11
react: 18.2.0
- drizzle-zod@0.5.1(drizzle-orm@0.30.7(@cloudflare/workers-types@4.20240405.0)(@libsql/client@0.6.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.4.1)(@types/react@18.2.64)(better-sqlite3@9.4.1)(bun-types@1.0.11)(react@18.2.0))(zod@3.22.4):
+ drizzle-orm@0.30.9(@cloudflare/workers-types@4.20240405.0)(@libsql/client@0.6.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.4.1)(@types/react@18.2.64)(better-sqlite3@9.4.1)(bun-types@1.0.11)(react@18.2.0):
+ optionalDependencies:
+ '@cloudflare/workers-types': 4.20240405.0
+ '@libsql/client': 0.6.0(bufferutil@4.0.7)(utf-8-validate@6.0.3)
+ '@opentelemetry/api': 1.4.1
+ '@types/react': 18.2.64
+ better-sqlite3: 9.4.1
+ bun-types: 1.0.11
+ react: 18.2.0
+
+ drizzle-zod@0.5.1(drizzle-orm@0.30.9(@cloudflare/workers-types@4.20240405.0)(@libsql/client@0.6.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.4.1)(@types/react@18.2.64)(better-sqlite3@9.4.1)(bun-types@1.0.11)(react@18.2.0))(zod@3.22.4):
dependencies:
- drizzle-orm: 0.30.7(@cloudflare/workers-types@4.20240405.0)(@libsql/client@0.6.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.4.1)(@types/react@18.2.64)(better-sqlite3@9.4.1)(bun-types@1.0.11)(react@18.2.0)
+ drizzle-orm: 0.30.9(@cloudflare/workers-types@4.20240405.0)(@libsql/client@0.6.0(bufferutil@4.0.7)(utf-8-validate@6.0.3))(@opentelemetry/api@1.4.1)(@types/react@18.2.64)(better-sqlite3@9.4.1)(bun-types@1.0.11)(react@18.2.0)
zod: 3.22.4
duplexify@4.1.2:
@@ -13362,6 +13560,8 @@ snapshots:
electron-to-chromium@1.4.563: {}
+ electron-to-chromium@1.4.750: {}
+
emitter-component@1.1.2: {}
emoji-regex@8.0.0: {}
@@ -15705,12 +15905,16 @@ snapshots:
object-assign: 4.1.1
thenify-all: 1.6.0
+ nanoid-dictionary@5.0.0-beta.1: {}
+
nanoid@3.3.6: {}
nanoid@5.0.1: {}
nanoid@5.0.2: {}
+ nanoid@5.0.7: {}
+
napi-build-utils@1.0.2: {}
natural-compare@1.4.0: {}
@@ -15719,12 +15923,12 @@ snapshots:
netmask@2.0.2: {}
- next-contentlayer@0.3.4(contentlayer@0.3.4(esbuild@0.19.12))(esbuild@0.19.12)(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+ next-contentlayer@0.3.4(contentlayer@0.3.4(esbuild@0.19.12))(esbuild@0.19.12)(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
'@contentlayer/core': 0.3.4(esbuild@0.19.12)
'@contentlayer/utils': 0.3.4
contentlayer: 0.3.4(esbuild@0.19.12)
- next: 14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ next: 14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
transitivePeerDependencies:
@@ -15733,21 +15937,21 @@ snapshots:
- markdown-wasm
- supports-color
- next-plausible@3.12.0(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+ next-plausible@3.12.0(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
- next: 14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ next: 14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- next-themes@0.2.1(next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+ next-themes@0.2.1(next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
- next: 14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
+ next: 14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
next-tick@1.1.0: {}
- next@14.2.1(@babel/core@7.23.2)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
+ next@14.2.1(@babel/core@7.24.4)(@opentelemetry/api@1.4.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
dependencies:
'@next/env': 14.2.1
'@swc/helpers': 0.5.5
@@ -15757,7 +15961,7 @@ snapshots:
postcss: 8.4.31
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- styled-jsx: 5.1.1(@babel/core@7.23.2)(react@18.2.0)
+ styled-jsx: 5.1.1(@babel/core@7.24.4)(react@18.2.0)
optionalDependencies:
'@next/swc-darwin-arm64': 14.2.1
'@next/swc-darwin-x64': 14.2.1
@@ -15822,6 +16026,8 @@ snapshots:
node-releases@2.0.13: {}
+ node-releases@2.0.14: {}
+
nopt@6.0.0:
dependencies:
abbrev: 1.1.1
@@ -16169,13 +16375,13 @@ snapshots:
prelude-ls@1.2.1: {}
- prettier-plugin-tailwindcss@0.5.4(@ianvs/prettier-plugin-sort-imports@4.1.0(prettier@3.0.3))(prettier@3.0.3):
+ prettier-plugin-tailwindcss@0.5.14(@ianvs/prettier-plugin-sort-imports@4.2.1(prettier@3.2.5))(prettier@3.2.5):
dependencies:
- prettier: 3.0.3
+ prettier: 3.2.5
optionalDependencies:
- '@ianvs/prettier-plugin-sort-imports': 4.1.0(prettier@3.0.3)
+ '@ianvs/prettier-plugin-sort-imports': 4.2.1(prettier@3.2.5)
- prettier@3.0.3: {}
+ prettier@3.2.5: {}
pretty-format@29.7.0:
dependencies:
@@ -17003,12 +17209,12 @@ snapshots:
dependencies:
inline-style-parser: 0.1.1
- styled-jsx@5.1.1(@babel/core@7.23.2)(react@18.2.0):
+ styled-jsx@5.1.1(@babel/core@7.24.4)(react@18.2.0):
dependencies:
client-only: 0.0.1
react: 18.2.0
optionalDependencies:
- '@babel/core': 7.23.2
+ '@babel/core': 7.24.4
sucrase@3.34.0:
dependencies:
@@ -17549,6 +17755,12 @@ snapshots:
escalade: 3.1.1
picocolors: 1.0.0
+ update-browserslist-db@1.0.13(browserslist@4.23.0):
+ dependencies:
+ browserslist: 4.23.0
+ escalade: 3.1.1
+ picocolors: 1.0.0
+
update-check@1.5.4:
dependencies:
registry-auth-token: 3.3.2