diff --git a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/events/event-list-item.tsx b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/events/event-list-item.tsx index 5ad0b8b7..17d1609d 100644 --- a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/events/event-list-item.tsx +++ b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/events/event-list-item.tsx @@ -113,7 +113,7 @@ export function EventListItem(props: EventListItemProps) {
- {createdAt.toLocaleTimeString()} + {createdAt.toLocaleString()}
diff --git a/apps/dashboard/src/app/(app)/[organizationSlug]/page.tsx b/apps/dashboard/src/app/(app)/[organizationSlug]/page.tsx index 9194222f..10f4371b 100644 --- a/apps/dashboard/src/app/(app)/[organizationSlug]/page.tsx +++ b/apps/dashboard/src/app/(app)/[organizationSlug]/page.tsx @@ -2,13 +2,9 @@ import { FullPageEmptyState } from '@/components/full-page-empty-state'; import FullWidthNavbar from '@/components/full-width-navbar'; import { ProjectCard } from '@/components/projects/project-card'; import SignOutButton from '@/components/sign-out-button'; -import { notFound, redirect } from 'next/navigation'; +import { redirect } from 'next/navigation'; -import { - getCurrentOrganizations, - getCurrentProjects, - getOrganizationBySlug, -} from '@openpanel/db'; +import { getCurrentOrganizations, getCurrentProjects } from '@openpanel/db'; interface PageProps { params: { diff --git a/apps/dashboard/src/app/(auth)/live-events/index.tsx b/apps/dashboard/src/app/(auth)/live-events/index.tsx index 1e08500f..b5fd9bb1 100644 --- a/apps/dashboard/src/app/(auth)/live-events/index.tsx +++ b/apps/dashboard/src/app/(auth)/live-events/index.tsx @@ -4,7 +4,7 @@ import LiveEvents from './live-events'; const LiveEventsServer = async () => { const events = await getEvents( - 'SELECT * FROM events ORDER BY created_at LIMIT 30' + 'SELECT * FROM events ORDER BY created_at DESC LIMIT 30' ); return ; }; diff --git a/apps/dashboard/src/app/(onboarding)/onboarding/onboarding-tracking.tsx b/apps/dashboard/src/app/(onboarding)/onboarding/onboarding-tracking.tsx index d2d5edc1..17cfe446 100644 --- a/apps/dashboard/src/app/(onboarding)/onboarding/onboarding-tracking.tsx +++ b/apps/dashboard/src/app/(onboarding)/onboarding/onboarding-tracking.tsx @@ -3,70 +3,21 @@ import { useEffect } from 'react'; import AnimateHeight from '@/components/animate-height'; import { ButtonContainer } from '@/components/button-container'; +import { CheckboxItem } from '@/components/forms/checkbox-item'; import { InputWithLabel } from '@/components/forms/input-with-label'; import { Button } from '@/components/ui/button'; -import { Switch } from '@/components/ui/switch'; import { api, handleError } from '@/trpc/client'; -import { cn } from '@/utils/cn'; import { zodResolver } from '@hookform/resolvers/zod'; -import type { LucideIcon } from 'lucide-react'; import { MonitorIcon, ServerIcon, SmartphoneIcon } from 'lucide-react'; import { useRouter } from 'next/navigation'; -import type { ControllerRenderProps, SubmitHandler } from 'react-hook-form'; +import type { SubmitHandler } from 'react-hook-form'; import { Controller, useForm, useWatch } from 'react-hook-form'; import type { z } from 'zod'; -import type { IServiceOrganization } from '@openpanel/db'; import { zOnboardingProject } from '@openpanel/validation'; import OnboardingLayout, { OnboardingDescription } from '../onboarding-layout'; -function CheckboxGroup({ - label, - description, - Icon, - children, - onChange, - value, - disabled, - error, -}: { - label: string; - description: string; - Icon: LucideIcon; - children?: React.ReactNode; - error?: string; -} & ControllerRenderProps) { - const randId = Math.random().toString(36).substring(7); - return ( -
- - {children} -
- ); -} - type IForm = z.infer; const Tracking = () => { @@ -149,7 +100,7 @@ const Tracking = () => { name="website" control={form.control} render={({ field }) => ( - { /> - + )} /> ( - { name="backend" control={form.control} render={({ field }) => ( - ( + ( + { label, description, Icon, children, onChange, value, disabled, error }, + ref + ) => { + const id = slug(label); + return ( +
+ + {children} +
+ ); + } +); + +CheckboxItem.displayName = 'CheckboxItem'; diff --git a/apps/dashboard/src/components/full-width-navbar.tsx b/apps/dashboard/src/components/full-width-navbar.tsx index 4d2c350a..82fee243 100644 --- a/apps/dashboard/src/components/full-width-navbar.tsx +++ b/apps/dashboard/src/components/full-width-navbar.tsx @@ -1,3 +1,5 @@ +'use client'; + import { cn } from '@/utils/cn'; import { Logo } from './logo'; diff --git a/apps/dashboard/src/components/projects/project-card.tsx b/apps/dashboard/src/components/projects/project-card.tsx index 35e80a53..6ea49797 100644 --- a/apps/dashboard/src/components/projects/project-card.tsx +++ b/apps/dashboard/src/components/projects/project-card.tsx @@ -1,5 +1,4 @@ import { shortNumber } from '@/hooks/useNumerFormatter'; -import Link from 'next/link'; import { escape } from 'sqlstring'; import type { IServiceProject } from '@openpanel/db'; @@ -18,7 +17,7 @@ export async function ProjectCard({ ), chQuery<{ total: number; month: number; day: number }>( ` - SELECT + SELECT ( SELECT count(DISTINCT profile_id) as count FROM events WHERE project_id = ${escape(id)} ) as total, @@ -32,8 +31,11 @@ export async function ProjectCard({ ), ]); + // For some unknown reason I get when navigating back to this page when using + // Should be solved: https://github.com/vercel/next.js/issues/61336 + // But still get the error return ( - @@ -64,6 +66,6 @@ export async function ProjectCard({ - + ); } diff --git a/apps/docs/package.json b/apps/docs/package.json index 6df3c31e..1cbee3db 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -12,7 +12,7 @@ "with-env": "dotenv -e ../../.env -c --" }, "dependencies": { - "next": "~14.0.4", + "next": "~14.2.1", "nextra": "^2.13.4", "nextra-theme-docs": "^2.13.4", "react": "18.2.0", diff --git a/apps/public/package.json b/apps/public/package.json index ed2e008b..077752df 100644 --- a/apps/public/package.json +++ b/apps/public/package.json @@ -33,7 +33,7 @@ "embla-carousel-autoplay": "8.0.0-rc22", "embla-carousel-react": "8.0.0-rc22", "lucide-react": "^0.323.0", - "next": "~14.0.4", + "next": "~14.2.1", "react": "18.2.0", "react-animate-height": "^3.2.3", "react-dom": "18.2.0", diff --git a/packages/db/src/services/organization.service.ts b/packages/db/src/services/organization.service.ts index 668f9aff..9f1b9b0b 100644 --- a/packages/db/src/services/organization.service.ts +++ b/packages/db/src/services/organization.service.ts @@ -4,6 +4,7 @@ import type { OrganizationInvitation, OrganizationMembership, } from '@clerk/nextjs/dist/types/server'; +import { sort, sortBy } from 'ramda'; import type { ProjectAccess } from '../prisma-client'; import { db } from '../prisma-client'; @@ -18,6 +19,7 @@ export function transformOrganization(org: Organization) { id: org.id, name: org.name, slug: org.slug!, + createdAt: org.createdAt, }; } @@ -27,7 +29,10 @@ export async function getCurrentOrganizations() { const organizations = await clerkClient.users.getOrganizationMembershipList({ userId: session.userId, }); - return organizations.map((item) => transformOrganization(item.organization)); + return sort( + (a, b) => a.createdAt - b.createdAt, + organizations.map((item) => transformOrganization(item.organization)) + ); } export function getOrganizationBySlug(slug: string) { diff --git a/packages/db/src/services/project.service.ts b/packages/db/src/services/project.service.ts index 600cedb9..5b6d4bfc 100644 --- a/packages/db/src/services/project.service.ts +++ b/packages/db/src/services/project.service.ts @@ -65,5 +65,8 @@ export async function getCurrentProjects(organizationSlug: string) { include: { access: true, }, + orderBy: { + eventsCount: 'desc', + }, }); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4dc2279d..a6a450e6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -450,7 +450,7 @@ importers: version: 3.2.5 prettier-plugin-tailwindcss: specifier: ^0.5.11 - version: 0.5.11(prettier@3.2.5) + version: 0.5.11(@ianvs/prettier-plugin-sort-imports@4.1.1)(prettier@3.2.5) tailwindcss: specifier: ^3.4.1 version: 3.4.1 @@ -461,14 +461,14 @@ importers: apps/docs: dependencies: next: - specifier: ~14.0.4 - version: 14.0.4(react-dom@18.2.0)(react@18.2.0) + specifier: ~14.2.1 + version: 14.2.1(react-dom@18.2.0)(react@18.2.0) nextra: specifier: ^2.13.4 - version: 2.13.4(next@14.0.4)(react-dom@18.2.0)(react@18.2.0) + version: 2.13.4(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) nextra-theme-docs: specifier: ^2.13.4 - version: 2.13.4(next@14.0.4)(nextra@2.13.4)(react-dom@18.2.0)(react@18.2.0) + version: 2.13.4(next@14.2.1)(nextra@2.13.4)(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -526,7 +526,7 @@ importers: version: link:../../packages/db '@openpanel/nextjs': specifier: 0.0.6-beta - version: 0.0.6-beta(next@14.0.4)(react-dom@18.2.0)(react@18.2.0) + version: 0.0.6-beta(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-alert-dialog': specifier: ^1.0.5 version: 1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.56)(react-dom@18.2.0)(react@18.2.0) @@ -585,8 +585,8 @@ importers: specifier: ^0.323.0 version: 0.323.0(react@18.2.0) next: - specifier: ~14.0.4 - version: 14.0.4(react-dom@18.2.0)(react@18.2.0) + specifier: ~14.2.1 + version: 14.2.1(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -808,7 +808,7 @@ importers: dependencies: '@clerk/nextjs': specifier: ^4.29.7 - version: 4.29.7(next@14.0.4)(react-dom@18.2.0)(react@18.2.0) + version: 4.29.7(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) '@clickhouse/client': specifier: ^0.2.9 version: 0.2.9 @@ -2854,26 +2854,6 @@ packages: - react dev: false - /@clerk/nextjs@4.29.7(next@14.0.4)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-tPvIp4GXCsjcKankLRpPPQGDWmpmlB2tm+p656/OUUmzPMeDnk5Euc86HjSk+5C9BAHVatrveRth6fHa4yzNhQ==} - engines: {node: '>=14'} - peerDependencies: - next: '>=10' - react: ^17.0.2 || ^18.0.0-0 - react-dom: ^17.0.2 || ^18.0.0-0 - dependencies: - '@clerk/backend': 0.38.1(react@18.2.0) - '@clerk/clerk-react': 4.30.5(react@18.2.0) - '@clerk/clerk-sdk-node': 4.13.9(react@18.2.0) - '@clerk/shared': 1.3.1(react@18.2.0) - '@clerk/types': 3.62.0 - next: 14.0.4(react-dom@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) - tslib: 2.4.1 - dev: false - /@clerk/nextjs@4.29.7(next@14.2.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-tPvIp4GXCsjcKankLRpPPQGDWmpmlB2tm+p656/OUUmzPMeDnk5Euc86HjSk+5C9BAHVatrveRth6fHa4yzNhQ==} engines: {node: '>=14'} @@ -4320,10 +4300,6 @@ packages: '@napi-rs/simple-git-win32-x64-msvc': 0.1.16 dev: false - /@next/env@14.0.4: - resolution: {integrity: sha512-irQnbMLbUNQpP1wcE5NstJtbuA/69kRfzBrpAD7Gsn8zm/CY6YQYc3HQBz8QPxwISG26tIm5afvvVbu508oBeQ==} - dev: false - /@next/env@14.1.0: resolution: {integrity: sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==} dev: false @@ -4338,15 +4314,6 @@ packages: glob: 10.3.10 dev: false - /@next/swc-darwin-arm64@14.0.4: - resolution: {integrity: sha512-mF05E/5uPthWzyYDyptcwHptucf/jj09i2SXBPwNzbgBNc+XnwzrL0U6BmPjQeOL+FiB+iG1gwBeq7mlDjSRPg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@next/swc-darwin-arm64@14.1.0: resolution: {integrity: sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ==} engines: {node: '>= 10'} @@ -4365,15 +4332,6 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@14.0.4: - resolution: {integrity: sha512-IZQ3C7Bx0k2rYtrZZxKKiusMTM9WWcK5ajyhOZkYYTCc8xytmwSzR1skU7qLgVT/EY9xtXDG0WhY6fyujnI3rw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@next/swc-darwin-x64@14.1.0: resolution: {integrity: sha512-1jgudN5haWxiAl3O1ljUS2GfupPmcftu2RYJqZiMJmmbBT5M1XDffjUtRUzP4W3cBHsrvkfOFdQ71hAreNQP6g==} engines: {node: '>= 10'} @@ -4392,15 +4350,6 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu@14.0.4: - resolution: {integrity: sha512-VwwZKrBQo/MGb1VOrxJ6LrKvbpo7UbROuyMRvQKTFKhNaXjUmKTu7wxVkIuCARAfiI8JpaWAnKR+D6tzpCcM4w==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm64-gnu@14.1.0: resolution: {integrity: sha512-RHo7Tcj+jllXUbK7xk2NyIDod3YcCPDZxj1WLIYxd709BQ7WuRYl3OWUNG+WUfqeQBds6kvZYlc42NJJTNi4tQ==} engines: {node: '>= 10'} @@ -4419,15 +4368,6 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@14.0.4: - resolution: {integrity: sha512-8QftwPEW37XxXoAwsn+nXlodKWHfpMaSvt81W43Wh8dv0gkheD+30ezWMcFGHLI71KiWmHK5PSQbTQGUiidvLQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm64-musl@14.1.0: resolution: {integrity: sha512-v6kP8sHYxjO8RwHmWMJSq7VZP2nYCkRVQ0qolh2l6xroe9QjbgV8siTbduED4u0hlk0+tjS6/Tuy4n5XCp+l6g==} engines: {node: '>= 10'} @@ -4446,15 +4386,6 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@14.0.4: - resolution: {integrity: sha512-/s/Pme3VKfZAfISlYVq2hzFS8AcAIOTnoKupc/j4WlvF6GQ0VouS2Q2KEgPuO1eMBwakWPB1aYFIA4VNVh667A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-x64-gnu@14.1.0: resolution: {integrity: sha512-zJ2pnoFYB1F4vmEVlb/eSe+VH679zT1VdXlZKX+pE66grOgjmKJHKacf82g/sWE4MQ4Rk2FMBCRnX+l6/TVYzQ==} engines: {node: '>= 10'} @@ -4473,15 +4404,6 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@14.0.4: - resolution: {integrity: sha512-m8z/6Fyal4L9Bnlxde5g2Mfa1Z7dasMQyhEhskDATpqr+Y0mjOBZcXQ7G5U+vgL22cI4T7MfvgtrM2jdopqWaw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-x64-musl@14.1.0: resolution: {integrity: sha512-rbaIYFt2X9YZBSbH/CwGAjbBG2/MrACCVu2X0+kSykHzHnYH5FjHxwXLkcoJ10cX0aWCEynpu+rP76x0914atg==} engines: {node: '>= 10'} @@ -4500,15 +4422,6 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@14.0.4: - resolution: {integrity: sha512-7Wv4PRiWIAWbm5XrGz3D8HUkCVDMMz9igffZG4NB1p4u1KoItwx9qjATHz88kwCEal/HXmbShucaslXCQXUM5w==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-arm64-msvc@14.1.0: resolution: {integrity: sha512-o1N5TsYc8f/HpGt39OUQpQ9AKIGApd3QLueu7hXk//2xq5Z9OxmV6sQfNp8C7qYmiOlHYODOGqNNa0e9jvchGQ==} engines: {node: '>= 10'} @@ -4527,15 +4440,6 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@14.0.4: - resolution: {integrity: sha512-zLeNEAPULsl0phfGb4kdzF/cAVIfaC7hY+kt0/d+y9mzcZHsMS3hAS829WbJ31DkSlVKQeHEjZHIdhN+Pg7Gyg==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-ia32-msvc@14.1.0: resolution: {integrity: sha512-XXIuB1DBRCFwNO6EEzCTMHT5pauwaSj4SWs7CYnME57eaReAKBXCnkUE80p/pAZcewm7hs+vGvNqDPacEXHVkw==} engines: {node: '>= 10'} @@ -4554,15 +4458,6 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@14.0.4: - resolution: {integrity: sha512-yEh2+R8qDlDCjxVpzOTEpBLQTEFAcP2A8fUFLaWNap9GitYKkKv1//y2S6XY6zsR4rCOPRpU7plYDR+az2n30A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-x64-msvc@14.1.0: resolution: {integrity: sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==} engines: {node: '>= 10'} @@ -4615,7 +4510,7 @@ packages: rimraf: 3.0.2 dev: false - /@openpanel/nextjs@0.0.6-beta(next@14.0.4)(react-dom@18.2.0)(react@18.2.0): + /@openpanel/nextjs@0.0.6-beta(next@14.2.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-/QH1MBpV3txVX+gHKAWqjAo17ThR4NtlDHnSt9g/A3Px2VVCIwENBAXKiY5zBd/NV5EGz0hHAHaPeHd41Ix64A==} peerDependencies: next: ^12.0.0 || ^13.0.0 || ^14.0.0 @@ -4623,7 +4518,7 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@openpanel/web': 0.0.6-beta - next: 14.0.4(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -8144,6 +8039,7 @@ packages: /caniuse-lite@1.0.30001587: resolution: {integrity: sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA==} + dev: true /caniuse-lite@1.0.30001596: resolution: {integrity: sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==} @@ -13541,26 +13437,14 @@ packages: - supports-color dev: false - /next-seo@6.5.0(next@14.0.4)(react-dom@18.2.0)(react@18.2.0): + /next-seo@6.5.0(next@14.2.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-MfzUeWTN/x/rsKp/1n0213eojO97lIl0unxqbeCY+6pAucViHDA8GSLRRcXpgjsSmBxfCFdfpu7LXbt4ANQoNQ==} peerDependencies: next: ^8.1.1-canary.54 || >=9.0.0 react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - next: 14.0.4(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - /next-themes@0.2.1(next@14.0.4)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} - peerDependencies: - next: '*' - react: '*' - react-dom: '*' - dependencies: - next: 14.0.4(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -13577,46 +13461,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /next@14.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-qbwypnM7327SadwFtxXnQdGiKpkuhaRLE2uq62/nRul9cj9KhQ5LhHmlziTNqUidZotw/Q1I9OjirBROdUJNgA==} - engines: {node: '>=18.17.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - sass: - optional: true - dependencies: - '@next/env': 14.0.4 - '@swc/helpers': 0.5.2 - busboy: 1.6.0 - caniuse-lite: 1.0.30001587 - graceful-fs: 4.2.11 - postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) - watchpack: 2.4.0 - optionalDependencies: - '@next/swc-darwin-arm64': 14.0.4 - '@next/swc-darwin-x64': 14.0.4 - '@next/swc-linux-arm64-gnu': 14.0.4 - '@next/swc-linux-arm64-musl': 14.0.4 - '@next/swc-linux-x64-gnu': 14.0.4 - '@next/swc-linux-x64-musl': 14.0.4 - '@next/swc-win32-arm64-msvc': 14.0.4 - '@next/swc-win32-ia32-msvc': 14.0.4 - '@next/swc-win32-x64-msvc': 14.0.4 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - dev: false - /next@14.1.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==} engines: {node: '>=18.17.0'} @@ -13698,7 +13542,7 @@ packages: - babel-plugin-macros dev: false - /nextra-theme-docs@2.13.4(next@14.0.4)(nextra@2.13.4)(react-dom@18.2.0)(react@18.2.0): + /nextra-theme-docs@2.13.4(next@14.2.1)(nextra@2.13.4)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2XOoMfwBCTYBt8ds4ZHftt9Wyf2XsykiNo02eir/XEYB+sGeUoE77kzqfidjEOKCSzOHYbK9BDMcg2+B/2vYRw==} peerDependencies: next: '>=9.5.3' @@ -13715,17 +13559,17 @@ packages: git-url-parse: 13.1.1 intersection-observer: 0.12.2 match-sorter: 6.3.4 - next: 14.0.4(react-dom@18.2.0)(react@18.2.0) - next-seo: 6.5.0(next@14.0.4)(react-dom@18.2.0)(react@18.2.0) - next-themes: 0.2.1(next@14.0.4)(react-dom@18.2.0)(react@18.2.0) - nextra: 2.13.4(next@14.0.4)(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(react-dom@18.2.0)(react@18.2.0) + next-seo: 6.5.0(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) + next-themes: 0.2.1(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) + nextra: 2.13.4(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) scroll-into-view-if-needed: 3.1.0 zod: 3.22.4 dev: false - /nextra@2.13.4(next@14.0.4)(react-dom@18.2.0)(react@18.2.0): + /nextra@2.13.4(next@14.2.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-7of2rSBxuUa3+lbMmZwG9cqgftcoNOVQLTT6Rxf3EhBR9t1EI7b43dted8YoqSNaigdE3j1CoyNkX8N/ZzlEpw==} engines: {node: '>=16'} peerDependencies: @@ -13745,7 +13589,7 @@ packages: gray-matter: 4.0.3 katex: 0.16.9 lodash.get: 4.4.2 - next: 14.0.4(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(react-dom@18.2.0)(react@18.2.0) next-mdx-remote: 4.4.1(react-dom@18.2.0)(react@18.2.0) p-limit: 3.1.0 react: 18.2.0 @@ -14582,58 +14426,6 @@ packages: '@ianvs/prettier-plugin-sort-imports': 4.1.1(prettier@3.2.5) prettier: 3.2.5 - /prettier-plugin-tailwindcss@0.5.11(prettier@3.2.5): - resolution: {integrity: sha512-AvI/DNyMctyyxGOjyePgi/gqj5hJYClZ1avtQvLlqMT3uDZkRbi4HhGUpok3DRzv9z7Lti85Kdj3s3/1CeNI0w==} - engines: {node: '>=14.21.3'} - peerDependencies: - '@ianvs/prettier-plugin-sort-imports': '*' - '@prettier/plugin-pug': '*' - '@shopify/prettier-plugin-liquid': '*' - '@trivago/prettier-plugin-sort-imports': '*' - prettier: ^3.0 - prettier-plugin-astro: '*' - prettier-plugin-css-order: '*' - prettier-plugin-import-sort: '*' - prettier-plugin-jsdoc: '*' - prettier-plugin-marko: '*' - prettier-plugin-organize-attributes: '*' - prettier-plugin-organize-imports: '*' - prettier-plugin-style-order: '*' - prettier-plugin-svelte: '*' - prettier-plugin-twig-melody: '*' - peerDependenciesMeta: - '@ianvs/prettier-plugin-sort-imports': - optional: true - '@prettier/plugin-pug': - optional: true - '@shopify/prettier-plugin-liquid': - optional: true - '@trivago/prettier-plugin-sort-imports': - optional: true - prettier-plugin-astro: - optional: true - prettier-plugin-css-order: - optional: true - prettier-plugin-import-sort: - optional: true - prettier-plugin-jsdoc: - optional: true - prettier-plugin-marko: - optional: true - prettier-plugin-organize-attributes: - optional: true - prettier-plugin-organize-imports: - optional: true - prettier-plugin-style-order: - optional: true - prettier-plugin-svelte: - optional: true - prettier-plugin-twig-melody: - optional: true - dependencies: - prettier: 3.2.5 - dev: true - /prettier@3.2.5: resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} @@ -17332,14 +17124,6 @@ packages: makeerror: 1.0.12 dev: false - /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} - engines: {node: '>=10.13.0'} - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - dev: false - /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: