From 641abb4ec14ec01afe81ca240a6a71445840b188 Mon Sep 17 00:00:00 2001 From: Aman Varshney Date: Sun, 26 Apr 2026 12:42:10 +0530 Subject: [PATCH] chore: update oxc tooling and format --- .claude/settings.json | 3 +- .coderabbit.yaml | 2 +- .github/workflows/eclipse-publish.yml | 2 +- .github/workflows/lychee.yml | 6 +- .oxfmtrc.json | 9 +- .oxlintrc.json | 8 +- apps/blog/next.config.mjs | 4 +- apps/blog/package.json | 12 +- apps/blog/scripts/lint.ts | 32 +- apps/blog/source.config.ts | 26 +- apps/blog/src/app/(blog)/[slug]/page.tsx | 37 +- apps/blog/src/app/(blog)/layout.tsx | 5 +- apps/blog/src/app/(blog)/page.tsx | 13 +- apps/blog/src/app/api/newsletter/route.ts | 48 +- apps/blog/src/app/api/search/route.ts | 2 +- apps/blog/src/app/global.css | 129 +- apps/blog/src/app/layout.tsx | 12 +- apps/blog/src/app/not-found.tsx | 35 +- apps/blog/src/app/og/image.png/route.tsx | 16 +- apps/blog/src/app/robots.ts | 6 +- apps/blog/src/app/rss.xml/route.ts | 2 +- apps/blog/src/app/sitemap.ts | 7 +- .../blog/src/components/AuthorAvatarGroup.tsx | 6 +- apps/blog/src/components/BlogGrid.tsx | 8 +- apps/blog/src/components/BlogShare.tsx | 12 +- .../blog/src/components/CategoryTagFilter.tsx | 86 +- apps/blog/src/components/Employee.tsx | 9 +- apps/blog/src/components/Hex.tsx | 2 +- apps/blog/src/components/Meetup.tsx | 11 +- apps/blog/src/components/PostCard.tsx | 4 +- apps/blog/src/components/Quote.tsx | 6 +- apps/blog/src/components/TweetEmbed.tsx | 48 +- .../src/components/navigation-wrapper.tsx | 11 +- apps/blog/src/components/search-toggle.tsx | 22 +- apps/blog/src/components/search.tsx | 18 +- apps/blog/src/components/utm-persistence.tsx | 4 +- apps/blog/src/lib/authors.ts | 4 +- apps/blog/src/lib/blog-metadata.ts | 3 +- apps/blog/src/lib/rss.ts | 14 +- apps/blog/src/lib/search-types.ts | 16 +- apps/blog/src/lib/source.tsx | 6 +- apps/blog/src/lib/url.ts | 167 +- apps/blog/src/mdx-components.tsx | 10 +- apps/docs/content/docs.v6/meta.json | 10 +- .../orm/more/dev-environment/meta.json | 5 +- .../docs.v6/orm/more/internals/meta.json | 4 +- .../docs.v6/orm/more/upgrades/meta.json | 7 +- .../debugging-and-troubleshooting/meta.json | 6 +- .../content/docs/console/features/meta.json | 4 +- apps/docs/content/docs/console/more/meta.json | 5 +- .../content/docs/guides/frameworks/meta.json | 17 +- .../content/docs/guides/runtimes/meta.json | 2 +- .../docs/guides/upgrade-prisma-orm/meta.json | 9 +- .../content/docs/management-api/meta.json | 2 +- .../supported-databases/meta.json | 10 +- .../docs/orm/more/dev-environment/meta.json | 5 +- .../debugging-and-troubleshooting/meta.json | 5 +- .../prisma-client/deployment/edge/meta.json | 7 +- .../observability-and-logging/meta.json | 2 +- .../orm/prisma-client/type-safety/meta.json | 6 +- .../content/docs/orm/prisma-migrate/meta.json | 7 +- .../content/docs/orm/prisma-schema/meta.json | 7 +- .../content/docs/query-insights/meta.json | 5 +- apps/docs/cspell.json | 4 +- apps/docs/next.config.mjs | 4 +- apps/docs/scripts/add-url-frontmatter.ts | 7 +- apps/docs/scripts/fetch-openapi.ts | 11 +- apps/docs/scripts/generate-docs.ts | 28 +- apps/docs/scripts/lint-external-links.ts | 8 +- apps/docs/scripts/lint-links.ts | 41 +- apps/docs/source.config.ts | 12 +- apps/docs/src/app/(docs)/(default)/layout.tsx | 3 +- apps/docs/src/app/(docs)/sitemap.ts | 6 +- .../src/app/(docs)/v6/[[...slug]]/page.tsx | 21 +- apps/docs/src/app/(docs)/v6/layout.tsx | 55 +- apps/docs/src/app/api/github-webhook/route.ts | 18 +- apps/docs/src/app/api/newsletter/route.ts | 19 +- apps/docs/src/app/api/search/route.ts | 28 +- apps/docs/src/app/global-error.tsx | 6 +- apps/docs/src/app/global.css | 12 +- apps/docs/src/app/layout.tsx | 12 +- apps/docs/src/app/llms.txt/route.ts | 8 +- apps/docs/src/app/not-found.tsx | 5 +- apps/docs/src/app/og/[...slug]/route.tsx | 24 +- apps/docs/src/app/robots.ts | 30 +- apps/docs/src/app/rss.xml/route.ts | 4 +- apps/docs/src/components/ai-chat-sidebar.tsx | 116 +- .../components/ai-elements/conversation.tsx | 22 +- .../src/components/ai-elements/copy-chat.tsx | 2 +- apps/docs/src/components/ai-elements/index.ts | 34 +- .../src/components/ai-elements/message.tsx | 43 +- .../components/ai-elements/prompt-input.tsx | 30 +- .../src/components/ai-elements/shimmer.tsx | 25 +- .../src/components/ai-elements/spinner.tsx | 8 +- .../src/components/ai-elements/suggestion.tsx | 19 +- .../interactive-examples.tsx | 15 +- .../src/components/layout/language-toggle.tsx | 4 +- apps/docs/src/components/layout/link-item.tsx | 38 +- .../src/components/layout/notebook/client.tsx | 111 +- .../src/components/layout/notebook/index.tsx | 181 +- .../layout/notebook/page/client.tsx | 102 +- .../components/layout/notebook/page/index.tsx | 60 +- .../components/layout/notebook/sidebar.tsx | 77 +- .../src/components/layout/search-toggle.tsx | 24 +- apps/docs/src/components/layout/shared.tsx | 30 +- .../src/components/layout/sidebar/base.tsx | 78 +- .../components/layout/sidebar/link-item.tsx | 22 +- .../components/layout/sidebar/page-tree.tsx | 24 +- .../layout/sidebar/tabs/dropdown.tsx | 104 +- .../components/layout/sidebar/tabs/index.tsx | 18 +- .../src/components/layout/theme-toggle.tsx | 34 +- .../docs/src/components/not-found-tracker.tsx | 10 +- apps/docs/src/components/search.tsx | 39 +- .../src/components/sidebar-badge-provider.tsx | 2 +- apps/docs/src/components/sidebar-banner.tsx | 4 +- apps/docs/src/components/status-indicator.tsx | 4 +- apps/docs/src/components/structured-data.tsx | 70 +- apps/docs/src/components/toc/clerk.tsx | 30 +- apps/docs/src/components/toc/default.tsx | 26 +- apps/docs/src/components/toc/index.tsx | 22 +- .../src/components/toc/tracked-wrapper.tsx | 9 +- apps/docs/src/components/ui/button.tsx | 20 +- apps/docs/src/components/ui/collapsible.tsx | 10 +- apps/docs/src/components/ui/input-group.tsx | 74 +- apps/docs/src/components/ui/input.tsx | 4 +- apps/docs/src/components/ui/popover.tsx | 16 +- apps/docs/src/components/ui/scroll-area.tsx | 22 +- apps/docs/src/components/ui/textarea.tsx | 31 +- apps/docs/src/components/utm-persistence.tsx | 4 +- apps/docs/src/components/version-switcher.tsx | 35 +- apps/docs/src/hooks/use-ai-chat.ts | 5 +- apps/docs/src/hooks/use-chat-persistence.ts | 27 +- apps/docs/src/hooks/use-mobile.ts | 4 +- apps/docs/src/lib/get-llm-text.ts | 4 +- apps/docs/src/lib/merge-refs.ts | 4 +- apps/docs/src/lib/openapi.ts | 17 +- apps/docs/src/lib/rss.ts | 19 +- apps/docs/src/lib/source.ts | 9 +- apps/docs/src/lib/urls.ts | 20 +- apps/docs/src/mdx-components.tsx | 10 +- apps/docs/tsconfig.json | 26 +- apps/docs/vercel.json | 7391 ++++++++++++++--- apps/eclipse/cli.json | 2 +- apps/eclipse/content/design-system/meta.json | 9 +- .../content/design-system/tokens/meta.json | 8 +- apps/eclipse/package.json | 2 +- apps/eclipse/postcss.config.mjs | 2 +- apps/eclipse/source.config.ts | 53 +- .../app/(design-system)/[[...slug]]/page.tsx | 24 +- .../src/app/(design-system)/layout.tsx | 19 +- .../src/app/(design-system)/sitemap.ts | 12 +- apps/eclipse/src/app/global.css | 12 +- apps/eclipse/src/app/layout.tsx | 13 +- .../chart-examples/interactive-examples.tsx | 5 +- .../interactive-examples.tsx | 15 +- .../src/components/layout/language-toggle.tsx | 4 +- .../src/components/layout/link-item.tsx | 32 +- .../src/components/layout/notebook/client.tsx | 99 +- .../src/components/layout/notebook/index.tsx | 67 +- .../layout/notebook/page/client.tsx | 102 +- .../components/layout/notebook/page/index.tsx | 56 +- .../components/layout/notebook/sidebar.tsx | 77 +- .../src/components/layout/search-toggle.tsx | 24 +- apps/eclipse/src/components/layout/shared.tsx | 30 +- .../src/components/layout/sidebar/base.tsx | 78 +- .../components/layout/sidebar/link-item.tsx | 22 +- .../components/layout/sidebar/page-tree.tsx | 24 +- .../layout/sidebar/tabs/dropdown.tsx | 104 +- .../components/layout/sidebar/tabs/index.tsx | 18 +- .../src/components/layout/theme-toggle.tsx | 34 +- apps/eclipse/src/components/search.tsx | 7 +- .../switch-examples/interactive-examples.tsx | 26 +- apps/eclipse/src/components/toc/clerk.tsx | 30 +- apps/eclipse/src/components/toc/default.tsx | 26 +- apps/eclipse/src/components/toc/index.tsx | 22 +- apps/eclipse/src/components/ui/button.tsx | 20 +- .../eclipse/src/components/ui/collapsible.tsx | 10 +- apps/eclipse/src/components/ui/popover.tsx | 16 +- .../eclipse/src/components/ui/scroll-area.tsx | 22 +- apps/eclipse/src/lib/layout.shared.tsx | 26 +- apps/eclipse/src/lib/merge-refs.ts | 4 +- apps/eclipse/src/lib/source.ts | 14 +- apps/eclipse/src/lib/urls.ts | 2 +- apps/site/next.config.mjs | 46 +- apps/site/package.json | 6 +- apps/site/source.config.ts | 12 +- apps/site/src/app/(index)/page.tsx | 1 - apps/site/src/app/about/page.tsx | 90 +- apps/site/src/app/api/newsletter/route.ts | 19 +- apps/site/src/app/api/search/route.ts | 47 +- apps/site/src/app/careers/page.tsx | 42 +- .../site/src/app/changelog/[...slug]/page.tsx | 10 +- apps/site/src/app/changelog/layout.tsx | 6 +- apps/site/src/app/changelog/page.tsx | 24 +- apps/site/src/app/client/page.tsx | 16 +- apps/site/src/app/community/page.tsx | 35 +- apps/site/src/app/ecosystem/page.tsx | 19 +- apps/site/src/app/enterprise/page.tsx | 54 +- .../src/app/event-code-of-conduct/page.tsx | 9 +- apps/site/src/app/events/events-data.ts | 9 +- apps/site/src/app/events/page.tsx | 16 +- apps/site/src/app/global.css | 439 +- apps/site/src/app/layout.tsx | 10 +- apps/site/src/app/llms-content.ts | 7 +- .../app/mcp/_components/capability-cards.tsx | 15 +- .../src/app/mcp/_components/mcp-bubble.tsx | 17 +- .../app/mcp/_components/mcp-hero-section.tsx | 14 +- apps/site/src/app/mcp/page.tsx | 6 +- apps/site/src/app/migrate/page.tsx | 3 +- .../src/app/newsletter/newsletter-signup.tsx | 19 +- apps/site/src/app/newsletter/page.tsx | 19 +- apps/site/src/app/og/image.png/route.tsx | 11 +- apps/site/src/app/orm/page.tsx | 63 +- apps/site/src/app/partners/page.tsx | 106 +- apps/site/src/app/partners/tos/page.tsx | 5 +- apps/site/src/app/postgres/page.tsx | 7 +- apps/site/src/app/pricing/page.tsx | 4 +- .../src/app/pricing/pricing-calculator.tsx | 123 +- .../src/app/pricing/pricing-hero-plans.tsx | 39 +- apps/site/src/app/query-insights/page.tsx | 58 +- apps/site/src/app/robots.ts | 6 +- apps/site/src/app/showcase/page.tsx | 3 +- apps/site/src/app/stack/page.tsx | 10 +- apps/site/src/app/stack/stack-data.ts | 3 +- apps/site/src/app/studio/page.tsx | 4 +- apps/site/src/app/support-policy/page.tsx | 171 +- apps/site/src/app/support/page.tsx | 16 +- apps/site/src/app/terms/page.tsx | 3 +- apps/site/src/app/typedsql/page.tsx | 19 +- apps/site/src/components/careers/WorldMap.tsx | 12 +- .../components/careers/challenges.module.css | 680 +- .../components/careers/flexible.module.css | 340 +- apps/site/src/components/careers/masonry.tsx | 8 +- .../src/components/careers/open-roles.tsx | 54 +- .../components/careers/worldmap.module.css | 152 +- apps/site/src/components/client/api.tsx | 52 +- .../site/src/components/client/technology.tsx | 10 +- .../src/components/console-cta-button.tsx | 9 +- .../enterprise/footer-accordion.tsx | 21 +- apps/site/src/components/enterprise/form.tsx | 5 +- apps/site/src/components/glitch-particles.tsx | 7 +- .../src/components/homepage/antigravity.tsx | 45 +- apps/site/src/components/homepage/bento.tsx | 22 +- .../homepage/card-section/card-section.tsx | 11 +- .../homepage/card-section/logo-grid.tsx | 132 +- .../homepage/testimonials/index.tsx | 9 +- .../testimonials/testimonial-item.tsx | 16 +- apps/site/src/components/legal-accordion.tsx | 8 +- apps/site/src/components/marquee.tsx | 6 +- .../site/src/components/migrate/hero-code.tsx | 16 +- .../src/components/navigation-wrapper.tsx | 11 +- apps/site/src/components/orm/info-stats.tsx | 4 +- apps/site/src/components/partners/form.tsx | 5 +- .../components/partners/partners-table.tsx | 45 +- apps/site/src/components/postgres.tsx | 8 +- .../prisma-with/community-section.tsx | 10 +- apps/site/src/components/prisma-with/hero.tsx | 30 +- .../components/prisma-with/how-section.tsx | 8 +- .../prisma-with/resources-section.tsx | 5 +- .../components/prisma-with/why-section.tsx | 4 +- apps/site/src/components/query-insights.tsx | 30 +- apps/site/src/components/scroll-carousel.tsx | 42 +- .../src/components/showcase/post-card.tsx | 12 +- .../src/components/support/search-toggle.tsx | 22 +- apps/site/src/components/support/search.tsx | 7 +- .../src/components/support/support-card.tsx | 6 +- apps/site/src/components/technology.tsx | 10 +- apps/site/src/components/utm-persistence.tsx | 7 +- apps/site/src/data/event-code-of-conduct.tsx | 65 +- apps/site/src/data/partners-tos.tsx | 188 +- apps/site/src/data/privacy.tsx | 165 +- apps/site/src/data/showcase.ts | 9 +- apps/site/src/data/sla.tsx | 60 +- apps/site/src/data/terms.tsx | 632 +- apps/site/src/lib/changelog-source.tsx | 25 +- apps/site/src/lib/shiki_prisma.ts | 20 +- apps/site/src/lib/site-metadata.ts | 3 +- apps/site/src/lib/sitemap.ts | 29 +- apps/site/src/lib/url.ts | 26 +- apps/site/tailwind.config.ts | 4 +- packages/eclipse/package.json | 24 +- packages/eclipse/postcss.config.mjs | 2 +- packages/eclipse/src/components/accordion.tsx | 24 +- packages/eclipse/src/components/action.tsx | 230 +- packages/eclipse/src/components/alert.tsx | 17 +- packages/eclipse/src/components/avatar.tsx | 15 +- packages/eclipse/src/components/badge.tsx | 15 +- packages/eclipse/src/components/banner.tsx | 66 +- .../eclipse/src/components/breadcrumb.tsx | 85 +- packages/eclipse/src/components/button.tsx | 7 +- packages/eclipse/src/components/card.tsx | 106 +- packages/eclipse/src/components/chart.tsx | 60 +- packages/eclipse/src/components/checkbox.tsx | 4 +- packages/eclipse/src/components/codeblock.tsx | 60 +- packages/eclipse/src/components/dialog.tsx | 32 +- .../eclipse/src/components/dropdown-menu.tsx | 25 +- packages/eclipse/src/components/empty.tsx | 9 +- packages/eclipse/src/components/field.tsx | 49 +- packages/eclipse/src/components/files.tsx | 28 +- packages/eclipse/src/components/index.ts | 16 +- .../eclipse/src/components/inline-toc.tsx | 12 +- packages/eclipse/src/components/input.tsx | 10 +- packages/eclipse/src/components/label.tsx | 9 +- .../eclipse/src/components/radio-group.tsx | 8 +- packages/eclipse/src/components/select.tsx | 26 +- packages/eclipse/src/components/separator.tsx | 31 +- packages/eclipse/src/components/statistic.tsx | 8 +- packages/eclipse/src/components/steps.tsx | 9 +- packages/eclipse/src/components/table.tsx | 66 +- packages/eclipse/src/components/tabs.tsx | 16 +- packages/eclipse/src/components/textarea.tsx | 8 +- .../eclipse/src/components/type-table.tsx | 27 +- .../eclipse/src/components/ui/accordion.tsx | 5 +- packages/eclipse/src/components/ui/button.tsx | 20 +- .../eclipse/src/components/ui/codetabs.tsx | 18 +- packages/eclipse/src/components/ui/tabs.tsx | 12 +- packages/eclipse/src/index.ts | 2 +- packages/eclipse/src/lib/cn.ts | 2 +- packages/eclipse/src/lib/merge-refs.ts | 4 +- packages/eclipse/src/styles/fonts.css | 54 +- packages/eclipse/src/styles/globals.css | 1295 ++- packages/eclipse/src/styles/steps.css | 28 +- packages/ui/src/components/aspect-ratio.tsx | 6 +- .../ui/src/components/author-avatar-group.tsx | 15 +- packages/ui/src/components/drawer.tsx | 63 +- packages/ui/src/components/dropdown-menu.tsx | 33 +- packages/ui/src/components/footer-badges.tsx | 46 +- packages/ui/src/components/footer.tsx | 53 +- .../ui/src/components/navigation-menu.tsx | 16 +- packages/ui/src/components/newsletter.tsx | 20 +- packages/ui/src/components/pdp-status.tsx | 17 +- packages/ui/src/components/post-card.tsx | 32 +- packages/ui/src/components/quote.tsx | 19 +- packages/ui/src/components/star-count.tsx | 4 +- packages/ui/src/components/theme-provider.tsx | 16 +- packages/ui/src/components/theme-toggle.tsx | 58 +- packages/ui/src/components/tooltip-info.tsx | 7 +- packages/ui/src/components/tooltip.tsx | 34 +- .../ui/src/components/utm-persistence.tsx | 37 +- packages/ui/src/components/web-navigation.tsx | 5 +- packages/ui/src/components/youtube-player.tsx | 4 +- packages/ui/src/data/footer.ts | 18 +- packages/ui/src/hooks/use-newsletter.ts | 7 +- packages/ui/src/lib/rss.ts | 8 +- packages/ui/src/lib/utm.ts | 3 +- packages/ui/src/styles/globals.css | 286 +- pnpm-lock.yaml | 330 +- pnpm-workspace.yaml | 6 +- tsconfig.json | 6 +- 349 files changed, 11350 insertions(+), 8846 deletions(-) diff --git a/.claude/settings.json b/.claude/settings.json index 2c63c08510..0967ef424b 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -1,2 +1 @@ -{ -} +{} diff --git a/.coderabbit.yaml b/.coderabbit.yaml index 039871fc3e..a8f2a20219 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -22,4 +22,4 @@ reviews: unit_tests: enabled: false chat: - art: false \ No newline at end of file + art: false diff --git a/.github/workflows/eclipse-publish.yml b/.github/workflows/eclipse-publish.yml index 94e5b9f78c..a3574c9592 100644 --- a/.github/workflows/eclipse-publish.yml +++ b/.github/workflows/eclipse-publish.yml @@ -132,4 +132,4 @@ jobs: echo "" >> "$GITHUB_STEP_SUMMARY" echo "- Tag: $TAG" >> "$GITHUB_STEP_SUMMARY" echo "- GitHub release: https://github.com/${{ github.repository }}/releases/tag/$TAG" >> "$GITHUB_STEP_SUMMARY" - echo "- https://www.npmjs.com/package/@prisma/eclipse/v/$VERSION" >> "$GITHUB_STEP_SUMMARY" \ No newline at end of file + echo "- https://www.npmjs.com/package/@prisma/eclipse/v/$VERSION" >> "$GITHUB_STEP_SUMMARY" diff --git a/.github/workflows/lychee.yml b/.github/workflows/lychee.yml index 66c7df86f4..176c8bf574 100644 --- a/.github/workflows/lychee.yml +++ b/.github/workflows/lychee.yml @@ -3,8 +3,8 @@ name: 🍈 Lychee on: pull_request: paths: - - 'apps/docs/content/**' - - '.github/workflows/lychee.yml' + - "apps/docs/content/**" + - ".github/workflows/lychee.yml" concurrency: group: lychee-${{ github.event.pull_request.number }} @@ -189,4 +189,4 @@ jobs: else echo "Failing based on first run results" exit ${{ steps.lychee.outputs.exit_code }} - fi \ No newline at end of file + fi diff --git a/.oxfmtrc.json b/.oxfmtrc.json index 00eafc1c1b..ab41043bb6 100644 --- a/.oxfmtrc.json +++ b/.oxfmtrc.json @@ -1,4 +1,11 @@ { "$schema": "./node_modules/oxfmt/configuration_schema.json", - "ignorePatterns": ["**/dist/**", "**/.next/**", "**/.source/**"] + "ignorePatterns": [ + "**/dist/**", + "**/.next/**", + "**/.source/**", + "**/public/**", + "**/*.md", + "**/*.mdx" + ] } diff --git a/.oxlintrc.json b/.oxlintrc.json index c6225a55df..ef668634ac 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -140,5 +140,11 @@ "builtin": true }, "globals": {}, - "ignorePatterns": ["**/dist/**", "**/.next/**", "**/.source/**", "**/node_modules/**"] + "ignorePatterns": [ + "**/dist/**", + "**/.next/**", + "**/.source/**", + "**/node_modules/**", + "**/public/**" + ] } diff --git a/apps/blog/next.config.mjs b/apps/blog/next.config.mjs index b09bf6f61e..04befc1642 100644 --- a/apps/blog/next.config.mjs +++ b/apps/blog/next.config.mjs @@ -194,9 +194,7 @@ const securityHeaders = [ }, ]; -const allowedDevOrigins = ( - process.env.ALLOWED_DEV_ORIGINS ?? "localhost,127.0.0.1,192.168.1.48" -) +const allowedDevOrigins = (process.env.ALLOWED_DEV_ORIGINS ?? "localhost,127.0.0.1,192.168.1.48") .split(",") .map((origin) => origin.trim()) .filter(Boolean); diff --git a/apps/blog/package.json b/apps/blog/package.json index bee104d494..d36f5f3e16 100644 --- a/apps/blog/package.json +++ b/apps/blog/package.json @@ -14,23 +14,23 @@ }, "dependencies": { "@base-ui/react": "catalog:", - "@mixedbread/sdk": "catalog:", + "@fumadocs/base-ui": "catalog:", "@fumadocs/cli": "catalog:", - "@prisma/eclipse": "workspace:^", + "@mixedbread/sdk": "catalog:", "@prisma-docs/ui": "workspace:*", + "@prisma/eclipse": "workspace:^", "cors": "^2.8.6", "fumadocs-core": "catalog:", "fumadocs-mdx": "catalog:", "fumadocs-openapi": "catalog:", "fumadocs-ui": "catalog:", - "@fumadocs/base-ui": "catalog:", "lucide-react": "catalog:", "next": "catalog:", "npm-to-yarn": "catalog:", + "posthog-js": "catalog:", "react": "catalog:", "react-dom": "catalog:", "react-tweet": "catalog:", - "posthog-js": "catalog:", "remark-directive": "catalog:", "zod": "catalog:" }, @@ -40,11 +40,11 @@ "@types/node": "catalog:", "@types/react": "catalog:", "@types/react-dom": "catalog:", + "babel-plugin-react-compiler": "catalog:", "next-validate-link": "catalog:", "postcss": "catalog:", "tailwindcss": "catalog:", "tsx": "catalog:", - "typescript": "catalog:", - "babel-plugin-react-compiler": "catalog:" + "typescript": "catalog:" } } diff --git a/apps/blog/scripts/lint.ts b/apps/blog/scripts/lint.ts index cf4dfb3d78..62fc9ac221 100644 --- a/apps/blog/scripts/lint.ts +++ b/apps/blog/scripts/lint.ts @@ -1,15 +1,10 @@ -import { - type FileObject, - printErrors, - scanURLs, - validateFiles, -} from 'next-validate-link'; -import type { InferPageType } from 'fumadocs-core/source'; +import { type FileObject, printErrors, scanURLs, validateFiles } from "next-validate-link"; +import type { InferPageType } from "fumadocs-core/source"; -import { register } from 'node:module'; -register('fumadocs-mdx/node/loader', import.meta.url); +import { register } from "node:module"; +register("fumadocs-mdx/node/loader", import.meta.url); -const { blog } = await import('@/lib/source'); +const { blog } = await import("@/lib/source"); const blogPages = blog.getPages().map((page) => { return { value: { slug: page.slugs }, @@ -17,12 +12,11 @@ const blogPages = blog.getPages().map((page) => { }; }); - async function checkLinks() { const scanned = await scanURLs({ - preset: 'next', + preset: "next", populate: { - '(blog)/[slug]': blogPages, + "(blog)/[slug]": blogPages, }, }); @@ -31,11 +25,11 @@ async function checkLinks() { scanned, markdown: { components: { - Card: { attributes: ['href'] }, - Cards: { attributes: ['href'] }, + Card: { attributes: ["href"] }, + Cards: { attributes: ["href"] }, }, }, - checkRelativePaths: 'as-url', + checkRelativePaths: "as-url", }), true, ); @@ -46,12 +40,12 @@ function getHeadings({ data }: InferPageType): string[] { } function getFiles() { - console.log("Validating Files") + console.log("Validating Files"); const blogPromises = blog.getPages().map( async (page): Promise => ({ - path: page.absolutePath ?? '', - content: await page.data.getText('raw'), + path: page.absolutePath ?? "", + content: await page.data.getText("raw"), url: page.url, data: page.data, }), diff --git a/apps/blog/source.config.ts b/apps/blog/source.config.ts index afc9a15bc5..0ba8a62bc4 100644 --- a/apps/blog/source.config.ts +++ b/apps/blog/source.config.ts @@ -1,14 +1,7 @@ import remarkDirective from "remark-directive"; -import { - remarkDirectiveAdmonition, - remarkMdxFiles, -} from "fumadocs-core/mdx-plugins"; +import { remarkDirectiveAdmonition, remarkMdxFiles } from "fumadocs-core/mdx-plugins"; import { remarkImage } from "fumadocs-core/mdx-plugins"; -import { - defineCollections, - defineConfig, - frontmatterSchema, -} from "fumadocs-mdx/config"; +import { defineCollections, defineConfig, frontmatterSchema } from "fumadocs-mdx/config"; import lastModified from "fumadocs-mdx/plugins/last-modified"; import { z } from "zod"; import convert from "npm-to-yarn"; @@ -67,9 +60,18 @@ export default defineConfig({ persist: { id: "package-manager" }, // Custom package managers to add --bun flag for bunx commands packageManagers: [ - { command: (cmd: string) => convert(cmd.replace(/^npm init -y$/, "npm init"), "npm"), name: "npm" }, - { command: (cmd: string) => convert(cmd.replace(/^npm init -y$/, "npm init"), "pnpm"), name: "pnpm" }, - { command: (cmd: string) => convert(cmd.replace(/^npm init -y$/, "npm init"), "yarn"), name: "yarn" }, + { + command: (cmd: string) => convert(cmd.replace(/^npm init -y$/, "npm init"), "npm"), + name: "npm", + }, + { + command: (cmd: string) => convert(cmd.replace(/^npm init -y$/, "npm init"), "pnpm"), + name: "pnpm", + }, + { + command: (cmd: string) => convert(cmd.replace(/^npm init -y$/, "npm init"), "yarn"), + name: "yarn", + }, { command: (cmd: string) => { const converted = convert(cmd.replace(/^npm init -y$/, "npm init"), "bun"); diff --git a/apps/blog/src/app/(blog)/[slug]/page.tsx b/apps/blog/src/app/(blog)/[slug]/page.tsx index a55038216e..fbcf806972 100644 --- a/apps/blog/src/app/(blog)/[slug]/page.tsx +++ b/apps/blog/src/app/(blog)/[slug]/page.tsx @@ -3,21 +3,13 @@ import { notFound } from "next/navigation"; import { getMDXComponents } from "@/mdx-components"; import { createRelativeLink } from "fumadocs-ui/mdx"; import { blog } from "@/lib/source"; -import { - Badge, - InlineTOC, - Separator, -} from "@prisma/eclipse"; +import { Badge, InlineTOC, Separator } from "@prisma/eclipse"; import { JsonLd } from "@prisma-docs/ui/components/json-ld"; import { FooterNewsletterForm } from "@prisma-docs/ui/components/newsletter"; import { BlogShare } from "@/components/BlogShare"; import { AuthorAvatarGroup } from "@/components/AuthorAvatarGroup"; -import { - getBaseUrl, - withBlogBasePath, - withBlogBasePathForImageSrc, -} from "@/lib/url"; +import { getBaseUrl, withBlogBasePath, withBlogBasePathForImageSrc } from "@/lib/url"; import Link from "next/link"; import type { Metadata } from "next"; @@ -83,19 +75,18 @@ function getBlogPostingJsonLd(page: ReturnType): BlogPostin const canonicalPath = withBlogBasePath(page.url); const canonicalUrl = toAbsoluteUrl(canonicalPath); const imagePath = page.data.metaImagePath ?? page.data.heroImagePath; - const imageUrl = imagePath - ? toAbsoluteUrl(withBlogBasePathForImageSrc(imagePath)) - : undefined; + const imageUrl = imagePath ? toAbsoluteUrl(withBlogBasePathForImageSrc(imagePath)) : undefined; const authorNames = Array.isArray(page.data.authors) ? page.data.authors - .filter((author): author is string => typeof author === "string") - .map((author) => author.trim()) - .filter(Boolean) + .filter((author): author is string => typeof author === "string") + .map((author) => author.trim()) + .filter(Boolean) : []; const datePublished = toIsoDate(page.data.date); - const dateModified = toIsoDate((page.data as { lastModified?: unknown }).lastModified) ?? datePublished; + const dateModified = + toIsoDate((page.data as { lastModified?: unknown }).lastModified) ?? datePublished; const jsonLd: BlogPostingSchema = { "@context": "https://schema.org", @@ -140,9 +131,7 @@ function getBlogPostingJsonLd(page: ReturnType): BlogPostin return jsonLd; } -export default async function Page(props: { - params: Promise<{ slug: string }>; -}) { +export default async function Page(props: { params: Promise<{ slug: string }> }) { const params = await props.params; const page = blog.getPage([params.slug]); @@ -159,10 +148,7 @@ export default async function Page(props: {
{/* Title + meta */}
- + ← Back to Blog

@@ -195,10 +181,8 @@ export default async function Page(props: { hover:bg-background-ppg/50 hover:border-stroke-ppg/50 hover:text-foreground-ppg" - /> - ))}

)} @@ -207,7 +191,6 @@ export default async function Page(props: { {/* Body */}
-

{page.data.excerpt}

- + {children}