Openstatus www.openstatus.dev

trying oxc (#1574)

* trying oxc

* ci: apply automated fixes

* small await missing

* ci: apply automated fixes

* more await

* some await

* fix stuff

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

authored by

Thibault Le Ouay
autofix-ci[bot]
and committed by
GitHub
cc9bba3a 820c7a30

+316 -67
+4
.oxlintrc.json
··· 1 + { 2 + "$schema": "./node_modules/oxlint/configuration_schema.json", 3 + "ignorePatterns": ["**/*.test.ts"] 4 + }
+2 -2
apps/dashboard/src/app/(dashboard)/monitors/[id]/nav-actions.tsx
··· 67 67 68 68 const actions = getActions({ 69 69 edit: () => router.push(`/monitors/${id}/edit`), 70 - "copy-id": () => { 71 - navigator.clipboard.writeText(id); 70 + "copy-id": async () => { 71 + await navigator.clipboard.writeText(id); 72 72 toast.success("Monitor ID copied to clipboard"); 73 73 }, 74 74 clone: () => {
+4 -4
apps/dashboard/src/app/(dashboard)/onboarding/client.tsx
··· 97 97 ); 98 98 const createMonitorMutation = useMutation( 99 99 trpc.monitor.new.mutationOptions({ 100 - onSuccess: (data) => { 101 - setSearchParams({ step: "2" }); 100 + onSuccess: async (data) => { 101 + await setSearchParams({ step: "2" }); 102 102 if (data.active) { 103 103 triggerCheckMutation.mutate({ id: data.id }); 104 104 } ··· 111 111 ); 112 112 const createPageMutation = useMutation( 113 113 trpc.page.create.mutationOptions({ 114 - onSuccess: () => { 115 - setSearchParams({ step: "next" }); 114 + onSuccess: async () => { 115 + await setSearchParams({ step: "next" }); 116 116 refetch(); 117 117 queryClient.invalidateQueries({ 118 118 queryKey: trpc.page.list.queryKey(),
+1 -1
apps/dashboard/src/app/(dashboard)/status-pages/[id]/maintenances/layout.tsx
··· 10 10 params: Promise<{ id: string }>; 11 11 }) { 12 12 const { id } = await params; 13 - const queryClient = await getQueryClient(); 13 + const queryClient = getQueryClient(); 14 14 15 15 await queryClient.prefetchQuery( 16 16 trpc.maintenance.list.queryOptions({
+2 -2
apps/dashboard/src/app/(dashboard)/status-pages/[id]/nav-actions.tsx
··· 42 42 43 43 const actions = getActions({ 44 44 edit: () => router.push(`/status-pages/${id}/edit`), 45 - "copy-id": () => { 46 - navigator.clipboard.writeText(id); 45 + "copy-id": async () => { 46 + await navigator.clipboard.writeText(id); 47 47 toast.success("Status Page ID copied to clipboard"); 48 48 }, 49 49 });
+4 -2
apps/dashboard/src/app/(dashboard)/status-pages/[id]/status-reports/page.tsx
··· 35 35 ); 36 36 const createStatusReportMutation = useMutation( 37 37 trpc.statusReport.create.mutationOptions({ 38 - onSuccess: (statusReport) => { 38 + onSuccess: async (statusReport) => { 39 39 // TODO: move to server 40 40 if (statusReport.notifySubscribers) { 41 - sendStatusReportUpdateMutation.mutateAsync({ id: statusReport.id }); 41 + await sendStatusReportUpdateMutation.mutateAsync({ 42 + id: statusReport.id, 43 + }); 42 44 } 43 45 // 44 46 refetch();
+2 -2
apps/dashboard/src/components/data-table/private-locations/data-table-row-actions.tsx
··· 25 25 const { data: monitors } = useQuery(trpc.monitor.list.queryOptions()); 26 26 const updatePrivateLocationMutation = useMutation( 27 27 trpc.privateLocation.update.mutationOptions({ 28 - onSuccess: () => { 29 - queryClient.invalidateQueries({ 28 + onSuccess: async () => { 29 + await queryClient.invalidateQueries({ 30 30 queryKey: trpc.privateLocation.list.queryKey(), 31 31 }); 32 32 },
-2
apps/dashboard/src/components/forms/monitor/form-visibility.tsx
··· 24 24 import { zodResolver } from "@hookform/resolvers/zod"; 25 25 import { Lock } from "lucide-react"; 26 26 import NextLink from "next/link"; 27 - import { useParams } from "next/navigation"; 28 27 import { useTransition } from "react"; 29 28 import { useForm } from "react-hook-form"; 30 29 import { toast } from "sonner"; ··· 53 52 }, 54 53 }); 55 54 const [isPending, startTransition] = useTransition(); 56 - const { id } = useParams<{ id: string }>(); 57 55 58 56 function submitAction(values: FormValues) { 59 57 if (isPending) return;
+2 -2
apps/dashboard/src/components/nav/nav-feedback.tsx
··· 123 123 }, [open, feedbackMutation]); 124 124 125 125 useEffect(() => { 126 - const down = (e: KeyboardEvent) => { 126 + const down = async (e: KeyboardEvent) => { 127 127 if (open && (e.metaKey || e.ctrlKey) && e.key === "Enter") { 128 - form.handleSubmit(onSubmit)(); 128 + await form.handleSubmit(onSubmit)(); 129 129 } 130 130 131 131 const target = e.target as HTMLElement;
+2 -2
apps/dashboard/src/components/nav/nav-status-pages.tsx
··· 115 115 const isActive = pathname.startsWith(`/status-pages/${item.id}/`); 116 116 const actions = getActions({ 117 117 edit: () => router.push(`/status-pages/${item.id}/edit`), 118 - "copy-id": () => { 119 - navigator.clipboard.writeText(item.id.toString()); 118 + "copy-id": async () => { 119 + await navigator.clipboard.writeText(item.id.toString()); 120 120 toast.success("Status Page ID copied to clipboard"); 121 121 }, 122 122 });
+1 -1
apps/dashboard/src/components/ui/data-table/data-table-skeleton.tsx
··· 39 39 </TableRow> 40 40 </TableHeader> 41 41 <TableBody> 42 - {new Array(rows).fill(0).map((_, i) => ( 42 + {[rows].fill(0).map((_, i) => ( 43 43 <TableRow key={i} className="hover:bg-transparent"> 44 44 <TableCell> 45 45 <Skeleton className="my-1.5 h-4 w-full max-w-40" />
+1 -2
apps/server/tsconfig.json
··· 8 8 "jsxImportSource": "react", 9 9 "allowJs": true, 10 10 "types": ["bun-types"], 11 - "baseUrl": ".", 12 11 "paths": { 13 - "@/*": ["src/*"] 12 + "@/*": ["./src/*"] 14 13 } 15 14 } 16 15 }
-1
apps/status-page/tsconfig.json
··· 1 1 { 2 2 "extends": "@openstatus/tsconfig/nextjs.json", 3 3 "compilerOptions": { 4 - "baseUrl": ".", 5 4 "paths": { 6 5 "@/*": ["./src/*"] 7 6 },
+2 -2
apps/web/src/app/(landing)/play/checker/api/route.ts
··· 36 36 } 37 37 38 38 if (check.state === "success") { 39 - storeCheckerData({ check, id }); 39 + await storeCheckerData({ check, id }); 40 40 } 41 41 42 42 return encoder.encode( ··· 68 68 const { url, method } = json; 69 69 70 70 const uuid = crypto.randomUUID().replace(/-/g, ""); 71 - storeBaseCheckerData({ url, method, id: uuid }); 71 + await storeBaseCheckerData({ url, method, id: uuid }); 72 72 73 73 const iterator = makeIterator({ url, method, id: uuid }); 74 74 const stream = iteratorToStream(iterator);
+2 -2
apps/web/src/app/(landing)/play/checker/client.tsx
··· 68 68 }, [urlId]); 69 69 70 70 // Helper function to update both local state and URL 71 - const updateId: React.Dispatch<React.SetStateAction<string | null>> = ( 71 + const updateId: React.Dispatch<React.SetStateAction<string | null>> = async ( 72 72 newId, 73 73 ) => { 74 74 const value = typeof newId === "function" ? newId(id) : newId; 75 75 setId(value); 76 - setSearchParams({ id: value }); 76 + await setSearchParams({ id: value }); 77 77 }; 78 78 79 79 return (
+1 -1
apps/web/src/content/mdx.tsx
··· 241 241 className, 242 242 ...props 243 243 }: React.ComponentProps<typeof Image>) { 244 - const { src, alt, width, height, ...rest } = props; 244 + const { src, alt, ...rest } = props; 245 245 246 246 if (!src || typeof src !== "string") { 247 247 return (
+1 -1
apps/web/src/lib/utils.ts
··· 53 53 }; 54 54 55 55 export async function copyToClipboard(value: string) { 56 - navigator.clipboard.writeText(value); 56 + await navigator.clipboard.writeText(value); 57 57 } 58 58 59 59 export function numberFormatter(value: number) {
+2 -2
apps/web/tsconfig.json
··· 2 2 "extends": "@openstatus/tsconfig/nextjs.json", 3 3 "compilerOptions": { 4 4 "moduleResolution": "bundler", 5 - "baseUrl": ".", 6 5 "paths": { 7 - "@/*": ["./src/*"] 6 + "@/*": ["./src/*"], 7 + "*": ["./*"] 8 8 }, 9 9 "plugins": [{ "name": "next" }], 10 10 "strictNullChecks": true,
+6
package.json
··· 9 9 "format:fix": "pnpm biome check --fix --unsafe .", 10 10 "lint:fix": "pnpm biome lint --write --unsafe .", 11 11 "lint:turbo": "turbo run lint", 12 + "lint:oxc": "oxlint .", 13 + "lint:oxc-type": "oxlint . --type-aware --fix --fix-suggestions", 14 + "format:oxc": "oxfmt --check", 12 15 "dev:web": "turbo run dev --filter='./apps/web' --filter='./packages/db'", 13 16 "dev:status-page": "turbo run dev --filter='./apps/status-page' --filter='./packages/db'", 14 17 "dev:dashboard": "turbo run dev --filter='./apps/dashboard' --filter='./packages/db'", ··· 19 22 "devDependencies": { 20 23 "@biomejs/biome": "1.8.3", 21 24 "@turbo/gen": "1.13.3", 25 + "oxfmt": "0.18.0", 26 + "oxlint": "1.30.0", 27 + "oxlint-tsgolint": "0.9.1", 22 28 "@types/node": "24.0.8", 23 29 "knip": "5.75.1", 24 30 "turbo": "2.6.3",
-1
packages/api/src/router/monitor.ts
··· 106 106 regions, 107 107 headers, 108 108 notifications, 109 - id, 110 109 pages, 111 110 tags, 112 111 statusAssertions,
+1 -1
packages/api/src/router/notification.ts
··· 318 318 }); 319 319 } 320 320 321 - db.transaction(async (tx) => { 321 + await db.transaction(async (tx) => { 322 322 await tx 323 323 .update(notification) 324 324 .set({
+1 -1
packages/api/src/router/statusReport.ts
··· 496 496 }), 497 497 ) 498 498 .mutation(async (opts) => { 499 - opts.ctx.db.transaction(async (tx) => { 499 + await opts.ctx.db.transaction(async (tx) => { 500 500 await tx 501 501 .update(statusReport) 502 502 .set({
+7 -3
packages/notifications/email/src/mock.ts
··· 22 22 status: "active", 23 23 method: "GET", 24 24 deletedAt: null, 25 + otelEndpoint: null, 26 + otelHeaders: [], 27 + followRedirects: false, 28 + retry: 3, 25 29 }; 26 30 27 31 const notification: Notification = { ··· 37 41 const cronTimestamp = Date.now(); 38 42 39 43 if (process.env.NODE_ENV === "development") { 40 - sendDegraded({ 44 + await sendDegraded({ 41 45 monitor, 42 46 notification, 43 47 cronTimestamp, 44 48 }); 45 49 46 - sendAlert({ 50 + await sendAlert({ 47 51 monitor, 48 52 notification, 49 53 statusCode: 500, 50 54 cronTimestamp, 51 55 }); 52 56 53 - sendRecovery({ 57 + await sendRecovery({ 54 58 monitor, 55 59 notification, 56 60 cronTimestamp,
+5 -11
packages/notifications/pagerduty/src/index.ts
··· 34 34 35 35 const { name } = monitor; 36 36 37 - for await (const integrationKey of notificationData.integration_keys) { 38 - // biome-ignore lint/correctness/noUnusedVariables: <explanation> 39 - const { integration_key, type } = integrationKey; 37 + for (const integrationKey of notificationData.integration_keys) { 38 + const { integration_key } = integrationKey; 40 39 const event = triggerEventPayloadSchema.parse({ 41 40 routing_key: integration_key, 42 41 dedup_key: `${monitor.id}}-${incidentId}`, ··· 83 82 const notificationData = PagerDutySchema.parse(JSON.parse(data.pagerduty)); 84 83 const { name } = monitor; 85 84 86 - for await (const integrationKey of notificationData.integration_keys) { 87 - // biome-ignore lint/correctness/noUnusedVariables: <explanation> 88 - const { integration_key, type } = integrationKey; 85 + for (const integrationKey of notificationData.integration_keys) { 86 + const { integration_key } = integrationKey; 89 87 90 88 const event = triggerEventPayloadSchema.parse({ 91 89 routing_key: integration_key, ··· 117 115 export const sendRecovery = async ({ 118 116 monitor, 119 117 notification, 120 - // biome-ignore lint/correctness/noUnusedVariables: <explanation> 121 - statusCode, 122 - // biome-ignore lint/correctness/noUnusedVariables: <explanation> 123 - message, 124 118 incidentId, 125 119 }: { 126 120 monitor: Monitor; ··· 136 130 137 131 const notificationData = PagerDutySchema.parse(JSON.parse(data.pagerduty)); 138 132 139 - for await (const integrationKey of notificationData.integration_keys) { 133 + for (const integrationKey of notificationData.integration_keys) { 140 134 const event = resolveEventPayloadSchema.parse({ 141 135 routing_key: integrationKey.integration_key, 142 136 dedup_key: `${monitor.id}}-${incidentId}`,
+263 -19
pnpm-lock.yaml
··· 23 23 knip: 24 24 specifier: 5.75.1 25 25 version: 5.75.1(@types/node@24.0.8)(typescript@5.9.3) 26 + oxfmt: 27 + specifier: 0.18.0 28 + version: 0.18.0 29 + oxlint: 30 + specifier: 1.30.0 31 + version: 1.30.0(oxlint-tsgolint@0.9.1) 32 + oxlint-tsgolint: 33 + specifier: 0.9.1 34 + version: 0.9.1 26 35 turbo: 27 36 specifier: 2.6.3 28 37 version: 2.6.3 ··· 67 76 version: 0.15.15 68 77 '@openpanel/nextjs': 69 78 specifier: 1.0.8 70 - version: 1.0.8(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 79 + version: 1.0.8(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 71 80 '@openstatus/analytics': 72 81 specifier: workspace:* 73 82 version: link:../../packages/analytics ··· 202 211 version: 1.2.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 203 212 '@sentry/nextjs': 204 213 specifier: 10.31.0 205 - version: 10.31.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2)(webpack@5.103.0) 214 + version: 10.31.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2)(webpack@5.103.0) 206 215 '@stripe/stripe-js': 207 216 specifier: 2.1.6 208 217 version: 2.1.6 ··· 217 226 version: 11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3) 218 227 '@trpc/next': 219 228 specifier: 11.4.4 220 - version: 11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3) 229 + version: 11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3) 221 230 '@trpc/react-query': 222 231 specifier: 11.4.4 223 232 version: 11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3) ··· 256 265 version: 0.4.6(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 257 266 nuqs: 258 267 specifier: 2.8.5 259 - version: 2.8.5(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2) 268 + version: 2.8.5(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2) 260 269 random-word-slugs: 261 270 specifier: 0.1.7 262 271 version: 0.1.7 ··· 554 563 version: 0.15.15 555 564 '@openpanel/nextjs': 556 565 specifier: 1.0.8 557 - version: 1.0.8(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 566 + version: 1.0.8(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 558 567 '@openstatus/analytics': 559 568 specifier: workspace:* 560 569 version: link:../../packages/analytics ··· 644 653 version: 1.2.7(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 645 654 '@sentry/nextjs': 646 655 specifier: 10.31.0 647 - version: 10.31.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2)(webpack@5.103.0) 656 + version: 10.31.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2)(webpack@5.103.0) 648 657 '@stripe/stripe-js': 649 658 specifier: 2.1.6 650 659 version: 2.1.6 ··· 659 668 version: 11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3) 660 669 '@trpc/next': 661 670 specifier: 11.4.4 662 - version: 11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3) 671 + version: 11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3) 663 672 '@trpc/react-query': 664 673 specifier: 11.4.4 665 674 version: 11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3) ··· 695 704 version: 5.0.0-beta.29(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2) 696 705 next-plausible: 697 706 specifier: 3.12.5 698 - version: 3.12.5(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 707 + version: 3.12.5(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 699 708 next-themes: 700 709 specifier: 0.4.6 701 710 version: 0.4.6(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 702 711 nuqs: 703 712 specifier: 2.8.5 704 - version: 2.8.5(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2) 713 + version: 2.8.5(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2) 705 714 react: 706 715 specifier: 19.2.2 707 716 version: 19.2.2 ··· 798 807 version: 0.15.15 799 808 '@openpanel/nextjs': 800 809 specifier: 1.0.8 801 - version: 1.0.8(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 810 + version: 1.0.8(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 802 811 '@openstatus/analytics': 803 812 specifier: workspace:* 804 813 version: link:../../packages/analytics ··· 873 882 version: 1.1.9(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 874 883 '@sentry/nextjs': 875 884 specifier: 10.31.0 876 - version: 10.31.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2)(webpack@5.103.0) 885 + version: 10.31.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2)(webpack@5.103.0) 877 886 '@stripe/stripe-js': 878 887 specifier: 2.1.6 879 888 version: 2.1.6 ··· 900 909 version: 11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3) 901 910 '@trpc/next': 902 911 specifier: 11.4.4 903 - version: 11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3) 912 + version: 11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3) 904 913 '@trpc/react-query': 905 914 specifier: 11.4.4 906 915 version: 11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3) ··· 954 963 version: 5.0.0(@types/react@19.2.2)(react@19.2.2) 955 964 next-plausible: 956 965 specifier: 3.12.5 957 - version: 3.12.5(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 966 + version: 3.12.5(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 958 967 next-themes: 959 968 specifier: 0.4.6 960 969 version: 0.4.6(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 961 970 nuqs: 962 971 specifier: 2.8.5 963 - version: 2.8.5(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2) 972 + version: 2.8.5(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2) 964 973 random-word-slugs: 965 974 specifier: 0.1.7 966 975 version: 0.1.7 ··· 3968 3977 cpu: [x64] 3969 3978 os: [win32] 3970 3979 3980 + '@oxfmt/darwin-arm64@0.18.0': 3981 + resolution: {integrity: sha512-Dp3mOFUtLtG/0eDclI3rx2be5FEnUxh2T6zlq7Zx5Q1c+DS9LJF8H97nQx+O/OU+o0e0J90kN8Msf9v3j7Hhsg==} 3982 + cpu: [arm64] 3983 + os: [darwin] 3984 + 3985 + '@oxfmt/darwin-x64@0.18.0': 3986 + resolution: {integrity: sha512-Oe3KS4tdfLq+f1Ebje7D9BF7/0xmBYSMN6dWatSko1xfvu8oCZzKcNCcbwz0a8rBnoH/BnIiGFUEbgJDnA/JLQ==} 3987 + cpu: [x64] 3988 + os: [darwin] 3989 + 3990 + '@oxfmt/linux-arm64-gnu@0.18.0': 3991 + resolution: {integrity: sha512-zW9z8LrAgL9bswgsaFOnQmoImCbq9YQST8B15FAoTeZYr9sb/VfdD6/PQEBLCptYlFmoTvmDNHjppi9g61NwHQ==} 3992 + cpu: [arm64] 3993 + os: [linux] 3994 + 3995 + '@oxfmt/linux-arm64-musl@0.18.0': 3996 + resolution: {integrity: sha512-mFnpcasZZv1s/+6YDPradhIgR2G7GWr+mnzgJMIKQOJAtX3b0vzG+FE4f7hDIZPEUhC0hvZSd8f31FjAtrX0aQ==} 3997 + cpu: [arm64] 3998 + os: [linux] 3999 + 4000 + '@oxfmt/linux-x64-gnu@0.18.0': 4001 + resolution: {integrity: sha512-G1AXQNHVkPgVgRrAvDYdNi0x3gkvVyEmpL6WLMwoSjMnwYWQLt5/jrndHbS2Db8/CcmMo6VPP8lUQGvM4TRVaQ==} 4002 + cpu: [x64] 4003 + os: [linux] 4004 + 4005 + '@oxfmt/linux-x64-musl@0.18.0': 4006 + resolution: {integrity: sha512-M/KEIMHDr5lcK9gDxgIGr9xVwX7Pfl3PZs+6e8SySuckMgoJMkee6uWxhMdxws3dfU94saAkVmNQzM2+l3hvtA==} 4007 + cpu: [x64] 4008 + os: [linux] 4009 + 4010 + '@oxfmt/win32-arm64@0.18.0': 4011 + resolution: {integrity: sha512-LunuNBTLOgfkYFjiHOeNHD/Ii5paO/GVyNPSEYBwEPULbdeMGnjHqxzQHLGU8QIQjwu55mp4uuBP0DAXTli2TQ==} 4012 + cpu: [arm64] 4013 + os: [win32] 4014 + 4015 + '@oxfmt/win32-x64@0.18.0': 4016 + resolution: {integrity: sha512-0kJJwn4FPeGJ4uV6ofOCiY+oBKWg+RWpRjYc9bywTjDbxWR6JAqtuXkiARCJej8UD/rJeXnHYTF78sFALkwZyA==} 4017 + cpu: [x64] 4018 + os: [win32] 4019 + 4020 + '@oxlint-tsgolint/darwin-arm64@0.9.1': 4021 + resolution: {integrity: sha512-vk+8kChWqN+F+QUOvp4/6jDTlDCzXPgYGkxdi6EOUSOmCP1ix0uYOlIi/ytH2imXmC8YfPgLR/1BhqbsuDKuew==} 4022 + cpu: [arm64] 4023 + os: [darwin] 4024 + 4025 + '@oxlint-tsgolint/darwin-x64@0.9.1': 4026 + resolution: {integrity: sha512-yXmqr7El17+Oo56fWkPdUluU8d0jWxwRwAe1QZ0Xprxul9FHJeR/O2oYuBUngvCi02dbt0VZlwgJXcljQEdHlQ==} 4027 + cpu: [x64] 4028 + os: [darwin] 4029 + 4030 + '@oxlint-tsgolint/linux-arm64@0.9.1': 4031 + resolution: {integrity: sha512-ukLb35BHSsxXaVEe8eIvYXMTxOdv8K4CySmtkWyc0pJT0q8zh85by1bsREWAP2hZc0wN0ClHjZHPdKY3958Jwg==} 4032 + cpu: [arm64] 4033 + os: [linux] 4034 + 4035 + '@oxlint-tsgolint/linux-x64@0.9.1': 4036 + resolution: {integrity: sha512-kkxSS/meANLun4dHep2wnfvo8OHJKgdxzuY3RoooSWorVqw3/K5Qttmo0OQFt7UNq/oisn0YTaNhV28S0nAWyQ==} 4037 + cpu: [x64] 4038 + os: [linux] 4039 + 4040 + '@oxlint-tsgolint/win32-arm64@0.9.1': 4041 + resolution: {integrity: sha512-F9tiZZRn3x+kjXJC8GAE5C5xkvD8b8unoFeh7mS5W4USAH8+AzYydzLev5rAW2uXdOqtkO30EJl0ygl68Zlb8w==} 4042 + cpu: [arm64] 4043 + os: [win32] 4044 + 4045 + '@oxlint-tsgolint/win32-x64@0.9.1': 4046 + resolution: {integrity: sha512-DKTBgKUbycKNYgpWpglEHzkgiNVSG1rZmfiqw7w31keAq8q7avNGhz2WNmsRvXh8IGNw1PMb7vgxwUK8eyXIeg==} 4047 + cpu: [x64] 4048 + os: [win32] 4049 + 4050 + '@oxlint/darwin-arm64@1.30.0': 4051 + resolution: {integrity: sha512-vIiTk1FBObXHvaG3WK/SpwCZP06fuHhSrn8mK2hEs2uSFWG63WgvLAHSGhI4U1X29JGf36zhfUzuKirDIVdKBQ==} 4052 + cpu: [arm64] 4053 + os: [darwin] 4054 + 4055 + '@oxlint/darwin-x64@1.30.0': 4056 + resolution: {integrity: sha512-DP4ueul8Vza52gJX1/+jyXQjUsgjmPe4Pq5uYOVa8k2V8cKRb2JzBls+DugbeP7yzKNTmlSp3J2mUnHQXuntLA==} 4057 + cpu: [x64] 4058 + os: [darwin] 4059 + 4060 + '@oxlint/linux-arm64-gnu@1.30.0': 4061 + resolution: {integrity: sha512-1e9NvTvjzG6t1tnUzNU9HZTVwNwhZw2BDQxwIsXV743g54BIkvyZNNXOEGic/Jw4IuIXHzpX3ztVWZaSzvDopg==} 4062 + cpu: [arm64] 4063 + os: [linux] 4064 + 4065 + '@oxlint/linux-arm64-musl@1.30.0': 4066 + resolution: {integrity: sha512-szb5RB8Tbk756/z/GAdmUn+H1E2815BbcM7s6JZYQgyCJxR0RCL1yFXgKyz3BjIDqzR98Tw8H3g4TeJbN2etAg==} 4067 + cpu: [arm64] 4068 + os: [linux] 4069 + 4070 + '@oxlint/linux-x64-gnu@1.30.0': 4071 + resolution: {integrity: sha512-yOWGu4a82yA8xLusaznW41IF5ZkvBNz/U++M2/tCYAQUoJKSfJuAS5AhApRMKZLKeX0Vmdagh0YwvC+e98QG0w==} 4072 + cpu: [x64] 4073 + os: [linux] 4074 + 4075 + '@oxlint/linux-x64-musl@1.30.0': 4076 + resolution: {integrity: sha512-qL1902VF4EMTZTZdJEIzzUQ+UD0IbH+IW6dhYZXbP9nTXJnItW1fk4cyJq5zfUVu1IoVwKK2FP1jUMqEsBlWTw==} 4077 + cpu: [x64] 4078 + os: [linux] 4079 + 4080 + '@oxlint/win32-arm64@1.30.0': 4081 + resolution: {integrity: sha512-QK6C1djHKI7g1l5g6W9vkz9sd+sn1QJe6PbaV2sWFjVVoT0tO6LWygVWaci09ZHYVJ+lnCbbaFEgZ9jQhIs05A==} 4082 + cpu: [arm64] 4083 + os: [win32] 4084 + 4085 + '@oxlint/win32-x64@1.30.0': 4086 + resolution: {integrity: sha512-tbPnJIBUKke9KpceV+DpGyfN3LdhGaEPJHSuD4/mUEwP9Kk6IKSoDNih681RVGhgvaEZg3uHmQr6n9Uh0P3Yrg==} 4087 + cpu: [x64] 4088 + os: [win32] 4089 + 3971 4090 '@pagefind/darwin-arm64@1.4.0': 3972 4091 resolution: {integrity: sha512-2vMqkbv3lbx1Awea90gTaBsvpzgRs7MuSgKDxW0m9oV1GPZCZbZBJg/qL83GIUEN2BFlY46dtUZi54pwH+/pTQ==} 3973 4092 cpu: [arm64] ··· 9199 9318 oxc-resolver@11.15.0: 9200 9319 resolution: {integrity: sha512-Hk2J8QMYwmIO9XTCUiOH00+Xk2/+aBxRUnhrSlANDyCnLYc32R1WSIq1sU2yEdlqd53FfMpPEpnBYIKQMzliJw==} 9201 9320 9321 + oxfmt@0.18.0: 9322 + resolution: {integrity: sha512-XqVS+LQi7ARsFlIftB69+jGN2qQaJNBjQU2b9ZQYt+iaUV9digh+dBIsU0isQIZhaQ1ihxGFfsTYQXE/Oak8Qw==} 9323 + engines: {node: ^20.19.0 || >=22.12.0} 9324 + hasBin: true 9325 + 9326 + oxlint-tsgolint@0.9.1: 9327 + resolution: {integrity: sha512-w1lIvUDkkiAPFyo268SFGrdh1LQ3Lcs1XShES7I4X75TliQA0os5XJ5hNZ4lYsSevqcofgEtq4xq7rBumv69iQ==} 9328 + hasBin: true 9329 + 9330 + oxlint@1.30.0: 9331 + resolution: {integrity: sha512-6Mcpj7Gn26QNRUpue9kRZKQg623mH10kLPl597sNCOfXeUZHTglrc2O54eskHMRA+tR7c0u73nW4GPwSFePLkA==} 9332 + engines: {node: ^20.19.0 || >=22.12.0} 9333 + hasBin: true 9334 + peerDependencies: 9335 + oxlint-tsgolint: '>=0.8.1' 9336 + peerDependenciesMeta: 9337 + oxlint-tsgolint: 9338 + optional: true 9339 + 9202 9340 p-limit@3.1.0: 9203 9341 resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 9204 9342 engines: {node: '>=10'} ··· 10340 10478 10341 10479 tinygradient@1.1.5: 10342 10480 resolution: {integrity: sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==} 10481 + 10482 + tinypool@2.0.0: 10483 + resolution: {integrity: sha512-/RX9RzeH2xU5ADE7n2Ykvmi9ED3FBGPAjw9u3zucrNNaEBIO0HPSYgL0NT7+3p147ojeSdaVu08F6hjpv31HJg==} 10484 + engines: {node: ^20.0.0 || >=22.0.0} 10343 10485 10344 10486 title-case@2.1.1: 10345 10487 resolution: {integrity: sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==} ··· 13131 13273 '@openpanel/web': 1.0.1 13132 13274 astro: 5.13.7(@types/node@24.10.1)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.53.3)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.1) 13133 13275 13134 - '@openpanel/nextjs@1.0.8(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)': 13276 + '@openpanel/nextjs@1.0.8(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)': 13135 13277 dependencies: 13136 13278 '@openpanel/web': 1.0.1 13137 13279 next: 16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2) ··· 13439 13581 '@oxc-resolver/binding-win32-x64-msvc@11.15.0': 13440 13582 optional: true 13441 13583 13584 + '@oxfmt/darwin-arm64@0.18.0': 13585 + optional: true 13586 + 13587 + '@oxfmt/darwin-x64@0.18.0': 13588 + optional: true 13589 + 13590 + '@oxfmt/linux-arm64-gnu@0.18.0': 13591 + optional: true 13592 + 13593 + '@oxfmt/linux-arm64-musl@0.18.0': 13594 + optional: true 13595 + 13596 + '@oxfmt/linux-x64-gnu@0.18.0': 13597 + optional: true 13598 + 13599 + '@oxfmt/linux-x64-musl@0.18.0': 13600 + optional: true 13601 + 13602 + '@oxfmt/win32-arm64@0.18.0': 13603 + optional: true 13604 + 13605 + '@oxfmt/win32-x64@0.18.0': 13606 + optional: true 13607 + 13608 + '@oxlint-tsgolint/darwin-arm64@0.9.1': 13609 + optional: true 13610 + 13611 + '@oxlint-tsgolint/darwin-x64@0.9.1': 13612 + optional: true 13613 + 13614 + '@oxlint-tsgolint/linux-arm64@0.9.1': 13615 + optional: true 13616 + 13617 + '@oxlint-tsgolint/linux-x64@0.9.1': 13618 + optional: true 13619 + 13620 + '@oxlint-tsgolint/win32-arm64@0.9.1': 13621 + optional: true 13622 + 13623 + '@oxlint-tsgolint/win32-x64@0.9.1': 13624 + optional: true 13625 + 13626 + '@oxlint/darwin-arm64@1.30.0': 13627 + optional: true 13628 + 13629 + '@oxlint/darwin-x64@1.30.0': 13630 + optional: true 13631 + 13632 + '@oxlint/linux-arm64-gnu@1.30.0': 13633 + optional: true 13634 + 13635 + '@oxlint/linux-arm64-musl@1.30.0': 13636 + optional: true 13637 + 13638 + '@oxlint/linux-x64-gnu@1.30.0': 13639 + optional: true 13640 + 13641 + '@oxlint/linux-x64-musl@1.30.0': 13642 + optional: true 13643 + 13644 + '@oxlint/win32-arm64@1.30.0': 13645 + optional: true 13646 + 13647 + '@oxlint/win32-x64@1.30.0': 13648 + optional: true 13649 + 13442 13650 '@pagefind/darwin-arm64@1.4.0': 13443 13651 optional: true 13444 13652 ··· 15011 15219 15012 15220 '@sentry/core@9.47.1': {} 15013 15221 15014 - '@sentry/nextjs@10.31.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2)(webpack@5.103.0)': 15222 + '@sentry/nextjs@10.31.0(@opentelemetry/context-async-hooks@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2)(webpack@5.103.0)': 15015 15223 dependencies: 15016 15224 '@opentelemetry/api': 1.9.0 15017 15225 '@opentelemetry/semantic-conventions': 1.38.0 ··· 15714 15922 '@trpc/server': 11.4.4(typescript@5.9.3) 15715 15923 typescript: 5.9.3 15716 15924 15717 - '@trpc/next@11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3)': 15925 + '@trpc/next@11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/react-query@11.4.4(@tanstack/react-query@5.81.5(react@19.2.2))(@trpc/client@11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3))(@trpc/server@11.4.4(typescript@5.9.3))(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2)(typescript@5.9.3)': 15718 15926 dependencies: 15719 15927 '@trpc/client': 11.4.4(@trpc/server@11.4.4(typescript@5.9.3))(typescript@5.9.3) 15720 15928 '@trpc/server': 11.4.4(typescript@5.9.3) ··· 19180 19388 - '@types/react' 19181 19389 - supports-color 19182 19390 19183 - next-plausible@3.12.5(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2): 19391 + next-plausible@3.12.5(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react-dom@19.2.2(react@19.2.2))(react@19.2.2): 19184 19392 dependencies: 19185 19393 next: 16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2) 19186 19394 react: 19.2.2 ··· 19277 19485 dependencies: 19278 19486 boolbase: 1.0.0 19279 19487 19280 - nuqs@2.8.5(next@16.0.10(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2): 19488 + nuqs@2.8.5(next@16.0.10(@babel/core@7.28.5)(@opentelemetry/api@1.9.0)(react-dom@19.2.2(react@19.2.2))(react@19.2.2))(react@19.2.2): 19281 19489 dependencies: 19282 19490 '@standard-schema/spec': 1.0.0 19283 19491 react: 19.2.2 ··· 19414 19622 '@oxc-resolver/binding-win32-ia32-msvc': 11.15.0 19415 19623 '@oxc-resolver/binding-win32-x64-msvc': 11.15.0 19416 19624 19625 + oxfmt@0.18.0: 19626 + dependencies: 19627 + tinypool: 2.0.0 19628 + optionalDependencies: 19629 + '@oxfmt/darwin-arm64': 0.18.0 19630 + '@oxfmt/darwin-x64': 0.18.0 19631 + '@oxfmt/linux-arm64-gnu': 0.18.0 19632 + '@oxfmt/linux-arm64-musl': 0.18.0 19633 + '@oxfmt/linux-x64-gnu': 0.18.0 19634 + '@oxfmt/linux-x64-musl': 0.18.0 19635 + '@oxfmt/win32-arm64': 0.18.0 19636 + '@oxfmt/win32-x64': 0.18.0 19637 + 19638 + oxlint-tsgolint@0.9.1: 19639 + optionalDependencies: 19640 + '@oxlint-tsgolint/darwin-arm64': 0.9.1 19641 + '@oxlint-tsgolint/darwin-x64': 0.9.1 19642 + '@oxlint-tsgolint/linux-arm64': 0.9.1 19643 + '@oxlint-tsgolint/linux-x64': 0.9.1 19644 + '@oxlint-tsgolint/win32-arm64': 0.9.1 19645 + '@oxlint-tsgolint/win32-x64': 0.9.1 19646 + 19647 + oxlint@1.30.0(oxlint-tsgolint@0.9.1): 19648 + optionalDependencies: 19649 + '@oxlint/darwin-arm64': 1.30.0 19650 + '@oxlint/darwin-x64': 1.30.0 19651 + '@oxlint/linux-arm64-gnu': 1.30.0 19652 + '@oxlint/linux-arm64-musl': 1.30.0 19653 + '@oxlint/linux-x64-gnu': 1.30.0 19654 + '@oxlint/linux-x64-musl': 1.30.0 19655 + '@oxlint/win32-arm64': 1.30.0 19656 + '@oxlint/win32-x64': 1.30.0 19657 + oxlint-tsgolint: 0.9.1 19658 + 19417 19659 p-limit@3.1.0: 19418 19660 dependencies: 19419 19661 yocto-queue: 0.1.0 ··· 20882 21124 dependencies: 20883 21125 '@types/tinycolor2': 1.4.6 20884 21126 tinycolor2: 1.6.0 21127 + 21128 + tinypool@2.0.0: {} 20885 21129 20886 21130 title-case@2.1.1: 20887 21131 dependencies: