From 64b3c102f5415e299e5a8e72a241d3ebedce4894 Mon Sep 17 00:00:00 2001 From: Carla Goncalves Date: Wed, 6 May 2026 16:35:32 +0100 Subject: [PATCH 01/15] Add fixes for homepage --- apps/site/src/app/(index)/page.tsx | 4 +- apps/site/src/app/global.css | 397 +++++++++--------- .../site/src/components/homepage/copy-btn.tsx | 9 +- 3 files changed, 208 insertions(+), 202 deletions(-) diff --git a/apps/site/src/app/(index)/page.tsx b/apps/site/src/app/(index)/page.tsx index 50a3286202..1a7d5c0fbc 100644 --- a/apps/site/src/app/(index)/page.tsx +++ b/apps/site/src/app/(index)/page.tsx @@ -187,7 +187,7 @@ export default function SiteHome() { {/* Pricing CTA Section */} -
+

Build anything. @@ -241,7 +241,7 @@ export default function SiteHome() { Deploy a Postgres database instantly.

-
+
*:not(i) { - text-decoration: underline; - text-underline-offset: 3px; + text-decoration: underline; + text-underline-offset: 3px; } .link-btn.orm { - color: var(--color-background-orm-reverse) !important; + color: var(--color-background-orm-reverse) !important; } .link-btn.orm:hover { - color: var(--color-foreground-orm-reverse-strong) !important; + color: var(--color-foreground-orm-reverse-strong) !important; } .link-btn.ppg { - color: var(--color-background-ppg-reverse) !important; + color: var(--color-background-ppg-reverse) !important; } .link-btn.ppg:hover { - color: var(--color-foreground-ppg-reverse-strong) !important; + color: var(--color-foreground-ppg-reverse-strong) !important; } .legal-hero-gradient::before { - content: ""; - position: absolute; - inset-inline: 0; - top: 0; - height: 600px; - z-index: -1; - background: linear-gradient(180deg, #edeef9 0%, transparent 100%); + content: ""; + position: absolute; + inset-inline: 0; + top: 0; + height: 600px; + z-index: -1; + background: linear-gradient(180deg, #edeef9 0%, transparent 100%); } .dark .legal-hero-gradient::before { - background: linear-gradient(180deg, #171937 0%, transparent 100%); + background: linear-gradient(180deg, #171937 0%, transparent 100%); } body { - background: var(--color-background-default); + background: var(--color-background-default); } @keyframes slide-down { - from { - transform: translateY(0%); - } - to { - transform: translateY(50%); - } + from { + transform: translateY(0%); + } + to { + transform: translateY(50%); + } } @keyframes slide-down-2 { - from { - transform: translateY(-50%); - } - to { - transform: translateY(0%); - } + from { + transform: translateY(-50%); + } + to { + transform: translateY(0%); + } } @keyframes slide-up { - from { - transform: translateY(0%); - } - to { - transform: translateY(-50%); - } + from { + transform: translateY(0%); + } + to { + transform: translateY(-50%); + } } @keyframes slide-up-2 { - from { - transform: translateY(50%); - } - to { - transform: translateY(0%); - } + from { + transform: translateY(50%); + } + to { + transform: translateY(0%); + } } @keyframes marquee-up { - from { - transform: translateY(0); - } - to { - transform: translateY(calc(-100% - var(--gap))); - } + from { + transform: translateY(0); + } + to { + transform: translateY(calc(-100% - var(--gap))); + } } .newsletter-bg { - background: linear-gradient( - 59deg, - color-mix(in srgb, var(--color-foreground-ppg) 30%, transparent) 6.53%, - var(--color-background-default) 74.71% - ); + background: linear-gradient( + 59deg, + color-mix(in srgb, var(--color-foreground-ppg) 30%, transparent) 6.53%, + var(--color-background-default) 74.71% + ); } @keyframes mcp-cursor-blink { - 0%, - 48% { - opacity: 1; - } - 52%, - 100% { - opacity: 0; - } + 0%, + 48% { + opacity: 1; + } + 52%, + 100% { + opacity: 0; + } } .mcp-type-cursor { - animation: mcp-cursor-blink 1s step-end infinite; + animation: mcp-cursor-blink 1s step-end infinite; } @keyframes glitch-1 { - 0% { - clip-path: inset(20% 0 60% 0); - } - 20% { - clip-path: inset(10% 0 85% 0); - } - 40% { - clip-path: inset(40% 0 40% 0); - } - 60% { - clip-path: inset(80% 0 5% 0); - } - 80% { - clip-path: inset(50% 0 30% 0); - } - 100% { - clip-path: inset(25% 0 55% 0); - } + 0% { + clip-path: inset(20% 0 60% 0); + } + 20% { + clip-path: inset(10% 0 85% 0); + } + 40% { + clip-path: inset(40% 0 40% 0); + } + 60% { + clip-path: inset(80% 0 5% 0); + } + 80% { + clip-path: inset(50% 0 30% 0); + } + 100% { + clip-path: inset(25% 0 55% 0); + } } @keyframes glitch-2 { - 0% { - clip-path: inset(80% 0 5% 0); - } - 20% { - clip-path: inset(50% 0 30% 0); - } - 40% { - clip-path: inset(20% 0 60% 0); - } - 60% { - clip-path: inset(10% 0 85% 0); - } - 80% { - clip-path: inset(40% 0 40% 0); - } - 100% { - clip-path: inset(75% 0 15% 0); - } + 0% { + clip-path: inset(80% 0 5% 0); + } + 20% { + clip-path: inset(50% 0 30% 0); + } + 40% { + clip-path: inset(20% 0 60% 0); + } + 60% { + clip-path: inset(10% 0 85% 0); + } + 80% { + clip-path: inset(40% 0 40% 0); + } + 100% { + clip-path: inset(75% 0 15% 0); + } } .box { - display: flex; - height: 300px; - cursor: pointer; - flex-direction: column; - align-items: flex-start; - gap: 16px; - z-index: 10; - border-radius: 9px; - border: 1px solid var(--color-stroke-neutral); - opacity: 0; - overflow: hidden; - position: relative; - transform: scale(0.9) translateY(20px); - background: linear-gradient( - 180deg, - var(--color-background-default) 0%, - var(--color-background-ppg) 262.5% - ); - transition: background 0.3s ease; + display: flex; + height: 300px; + cursor: pointer; + flex-direction: column; + align-items: flex-start; + gap: 16px; + z-index: 10; + border-radius: 9px; + opacity: 0; + overflow: hidden; + position: relative; + transform: scale(0.9) translateY(20px); + background: linear-gradient( + 180deg, + var(--color-background-default) 0%, + var(--color-background-ppg) 262.5% + ); + transition: background 0.3s ease; } .box.orm { - background: linear-gradient( - 180deg, - var(--color-background-default) 0%, - var(--color-background-orm) 262.5% - ) !important; + background: linear-gradient( + 180deg, + var(--color-background-default) 0%, + var(--color-background-orm) 262.5% + ) !important; } .box-visible { - opacity: 1; - transform: scale(1) translateY(0); - transition: - opacity 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), - transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), - border-color 0.3s ease, - box-shadow 0.3s ease, - background 0.3s ease; + opacity: 1; + transform: scale(1) translateY(0); + transition: + opacity 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), + transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), + border-color 0.3s ease, + box-shadow 0.3s ease, + background 0.3s ease; } .box::before { - content: ""; - position: absolute; - inset: 0; - border-radius: 8px; - padding: 1px; - background: var(--color-stroke-neutral); - -webkit-mask: - linear-gradient(#fff 0 0) content-box, - linear-gradient(#fff 0 0); - mask-composite: exclude; - pointer-events: none; - transition: background 0.3s ease; - z-index: 1; + content: ""; + position: absolute; + inset: 0; + border-radius: 8px; + padding: 1px; + background: var(--color-stroke-neutral); + -webkit-mask: + linear-gradient(#fff 0 0) content-box, + linear-gradient(#fff 0 0); + mask-composite: exclude; + pointer-events: none; + transition: background 0.3s ease; + z-index: 1; } /* Dark mode hover effect */ .box:hover::before { - background: conic-gradient( - from var(--angle, 0deg) at 50% 50%, - var(--color-teal-400) 0deg, - rgba(22, 163, 148, 0.3) 30deg, - rgba(22, 29, 43, 0.8) 90deg, - rgba(22, 29, 43, 0.8) 270deg, - rgba(22, 163, 148, 0.3) 330deg, - var(--color-teal-400) 360deg - ); + background: conic-gradient( + from var(--angle, 0deg) at 50% 50%, + var(--color-teal-400) 0deg, + rgba(22, 163, 148, 0.3) 30deg, + rgba(22, 29, 43, 0.8) 90deg, + rgba(22, 29, 43, 0.8) 270deg, + rgba(22, 163, 148, 0.3) 330deg, + var(--color-teal-400) 360deg + ); } /* Light mode hover effect */ [data-theme="light"] .box:hover::before { - background: conic-gradient( - from var(--angle, 0deg) at 50% 50%, - var(--color-teal-400) 0deg, - rgba(22, 163, 148, 0.3) 30deg, - rgba(229, 231, 235, 0.8) 90deg, - rgba(229, 231, 235, 0.8) 270deg, - rgba(22, 163, 148, 0.3) 330deg, - var(--color-teal-400) 360deg - ); + background: conic-gradient( + from var(--angle, 0deg) at 50% 50%, + var(--color-teal-400) 0deg, + rgba(22, 163, 148, 0.3) 30deg, + rgba(229, 231, 235, 0.8) 90deg, + rgba(229, 231, 235, 0.8) 270deg, + rgba(22, 163, 148, 0.3) 330deg, + var(--color-teal-400) 360deg + ); } /* Dark mode hover effect */ .box.orm:hover::before { - background: conic-gradient( - from var(--angle, 0deg) at 50% 50%, - var(--color-indigo-400) 0deg, - rgba(22, 163, 148, 0.3) 30deg, - rgba(22, 29, 43, 0.8) 90deg, - rgba(22, 29, 43, 0.8) 270deg, - rgba(22, 163, 148, 0.3) 330deg, - var(--color-indigo-400) 360deg - ); + background: conic-gradient( + from var(--angle, 0deg) at 50% 50%, + var(--color-indigo-400) 0deg, + rgba(22, 163, 148, 0.3) 30deg, + rgba(22, 29, 43, 0.8) 90deg, + rgba(22, 29, 43, 0.8) 270deg, + rgba(22, 163, 148, 0.3) 330deg, + var(--color-indigo-400) 360deg + ); } /* Light mode hover effect */ [data-theme="light"] .box.orm:hover::before { - background: conic-gradient( - from var(--angle, 0deg) at 50% 50%, - var(--color-indigo-400) 0deg, - rgba(22, 163, 148, 0.3) 30deg, - rgba(229, 231, 235, 0.8) 90deg, - rgba(229, 231, 235, 0.8) 270deg, - rgba(22, 163, 148, 0.3) 330deg, - var(--color-indigo-400) 360deg - ); + background: conic-gradient( + from var(--angle, 0deg) at 50% 50%, + var(--color-indigo-400) 0deg, + rgba(22, 163, 148, 0.3) 30deg, + rgba(229, 231, 235, 0.8) 90deg, + rgba(229, 231, 235, 0.8) 270deg, + rgba(22, 163, 148, 0.3) 330deg, + var(--color-indigo-400) 360deg + ); } .box:hover { - transform: translateY(-1px) scale(1.005); + transform: translateY(-1px) scale(1.005); } .box:hover img { - mask-image: none; + mask-image: none; } /* Animation play state utilities */ .diff-add { - background: var(--color-background-orm); - width: 100%; - display: inline-block; + background: var(--color-background-orm); + width: 100%; + display: inline-block; } diff --git a/apps/site/src/components/homepage/copy-btn.tsx b/apps/site/src/components/homepage/copy-btn.tsx index 78736cbde1..8bc21a1102 100644 --- a/apps/site/src/components/homepage/copy-btn.tsx +++ b/apps/site/src/components/homepage/copy-btn.tsx @@ -1,5 +1,11 @@ "use client"; -import { Button, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@prisma/eclipse"; +import { + Button, + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from "@prisma/eclipse"; import { useState } from "react"; export const CopyCode = ({ @@ -30,6 +36,7 @@ export const CopyCode = ({ size={buttonSize} onClick={() => copyText()} onMouseEnter={() => setTooltip("Copy")} + onMouseLeave={() => tooltip === "Copy" && setTooltip(undefined)} className={buttonClassName} > {children} From 8c9b0a02826c4dd5b8c92eb04b1affbc33ec24c7 Mon Sep 17 00:00:00 2001 From: Carla Goncalves Date: Thu, 7 May 2026 12:11:23 +0100 Subject: [PATCH 02/15] Update logo-grid Update postgres page --- apps/site/src/app/postgres/page.tsx | 13 +- .../homepage/card-section/card-section.tsx | 21 ++- .../homepage/card-section/logo-grid.tsx | 157 ++++++++++-------- apps/site/src/components/postgres.tsx | 10 +- apps/site/src/data/postgres.json | 3 +- 5 files changed, 121 insertions(+), 83 deletions(-) diff --git a/apps/site/src/app/postgres/page.tsx b/apps/site/src/app/postgres/page.tsx index 104efadc34..632b375488 100644 --- a/apps/site/src/app/postgres/page.tsx +++ b/apps/site/src/app/postgres/page.tsx @@ -35,7 +35,7 @@ const twoCol = [ { content: ( <> -

+

The database
you already know

@@ -60,7 +60,7 @@ const twoCol = [ { content: ( <> -

+

Instant provisioning with
zero configuration @@ -85,7 +85,7 @@ const twoCol = [ { content: ( <> -

+

Production-ready
from day one

@@ -119,12 +119,15 @@ export const metadata = createPageMetadata({ export default async function SiteHome() { return (
- +
-
+
Prisma Postgres
diff --git a/apps/site/src/components/homepage/card-section/card-section.tsx b/apps/site/src/components/homepage/card-section/card-section.tsx index 227e2b8297..f95dee1aeb 100644 --- a/apps/site/src/components/homepage/card-section/card-section.tsx +++ b/apps/site/src/components/homepage/card-section/card-section.tsx @@ -98,7 +98,10 @@ const ThemeImagePair = ({ }: ThemeImagePairProps) => (
{alt} {alt} { ); }; -const SectionVisual = ({ item, isLcpImage }: { item: TwoColumnItem; isLcpImage: boolean }) => { +const SectionVisual = ({ + item, + isLcpImage, +}: { + item: TwoColumnItem; + isLcpImage: boolean; +}) => { if (item.visualType === "other") { return item.other ? <>{item.other} : null; } @@ -247,7 +259,8 @@ export const CardSection = ({ cardSection }: CardSectionProps) => { if (!containerRef.current) return; const container = containerRef.current; - const position = container.getBoundingClientRect().y * -1 + window.innerHeight * 0.8; + const position = + container.getBoundingClientRect().y * -1 + window.innerHeight * 0.8; setProgressHeight(position); diff --git a/apps/site/src/components/homepage/card-section/logo-grid.tsx b/apps/site/src/components/homepage/card-section/logo-grid.tsx index 51184b0beb..9110614339 100644 --- a/apps/site/src/components/homepage/card-section/logo-grid.tsx +++ b/apps/site/src/components/homepage/card-section/logo-grid.tsx @@ -42,11 +42,13 @@ const LogoBar = ({ pauseOnHover?: boolean; duplicateCount?: number; }) => { - const duplicatedLogos = Array.from({ length: duplicateCount }, (_, setIndex) => - logos.map((logo, logoIndex) => ({ - logo, - key: `${setIndex}-${logoIndex}`, - })), + const duplicatedLogos = Array.from( + { length: duplicateCount }, + (_, setIndex) => + logos.map((logo, logoIndex) => ({ + logo, + key: `${setIndex}-${logoIndex}`, + })), ).flat(); return ( @@ -60,7 +62,9 @@ const LogoBar = ({ href={item.logo.link} className={cn( "w-[85px] h-[85px] md:w-[60px] md:h-[60px] flex-shrink-0 rounded-xl z-[1] bg-background-default border flex items-center justify-center p-3 md:p-2 transition-[opacity_0.2s_ease,filter_0.2s_ease,transform_0.2s_ease,background_0.2s_ease,border-color_0.2s_ease] cursor-pointer opacity-80 mr-6 md:mr-2 hover:opacity-100", - color === "orm" ? "hover:border-foreground-orm" : "hover:border-foreground-ppg", + color === "orm" + ? "hover:border-foreground-orm" + : "hover:border-foreground-ppg", )} target="_blank" rel="noopener noreferrer" @@ -96,29 +100,30 @@ interface LogoGridProps { // ============================================================================ const LogoImage = memo(({ logo, size }: { logo: Logo; size: number }) => { - const lightImageUrl = logo.mobileImageUrl ?? logo.imageUrl; - const darkImageUrl = logo.imageUrlLight ?? logo.imageUrl; + const lightImageUrl = logo.mobileImageUrl ?? logo.imageUrlLight; + const darkImageUrl = logo.imageUrl; const hasThemeVariant = lightImageUrl !== darkImageUrl; const imageClassName = "w-full aspect-square rounded-lg object-contain"; return ( <> - {logo.alt} - {hasThemeVariant && ( + {lightImageUrl && ( {logo.alt} )} + {console.log(lightImageUrl, darkImageUrl, logo)} + {logo.alt} ); }); @@ -129,36 +134,40 @@ LogoImage.displayName = "LogoImage"; // SPOTLIGHT MODE COMPONENT // ============================================================================ -const SpotlightMode = memo(({ logos, color }: { logos: Logo[]; color?: "orm" | "ppg" }) => { - const logoSize = 50; - const visibleLogos = logos.slice(0, 21); - - return ( - -
- {/* Logo grid */} -
-
- {visibleLogos.map((logo, index) => ( - - - - ))} +const SpotlightMode = memo( + ({ logos, color }: { logos: Logo[]; color?: "orm" | "ppg" }) => { + const logoSize = 50; + const visibleLogos = logos.slice(0, 21); + + return ( + +
+ {/* Logo grid */} +
+
+ {visibleLogos.map((logo, index) => ( + + + + ))} +
-
- - ); -}); + + ); + }, +); SpotlightMode.displayName = "SpotlightMode"; @@ -166,31 +175,33 @@ SpotlightMode.displayName = "SpotlightMode"; // TRACK MODE COMPONENT // ============================================================================ -const TrackMode = memo(({ logos, color }: { logos: Logo[]; color?: "orm" | "ppg" }) => { - // Split logos into 3 even groups - const logosPerBar = Math.ceil(logos.length / 3); - const logosBar1 = logos.slice(0, logosPerBar); - const logosBar2 = logos.slice(logosPerBar, logosPerBar * 2); - const logosBar3 = logos.slice(logosPerBar * 2); +const TrackMode = memo( + ({ logos, color }: { logos: Logo[]; color?: "orm" | "ppg" }) => { + // Split logos into 3 even groups + const logosPerBar = Math.ceil(logos.length / 3); + const logosBar1 = logos.slice(0, logosPerBar); + const logosBar2 = logos.slice(logosPerBar, logosPerBar * 2); + const logosBar3 = logos.slice(logosPerBar * 2); - return ( -
-
- - - -
- ); -}); + return ( +
+
+ + + +
+ ); + }, +); TrackMode.displayName = "TrackMode"; @@ -198,7 +209,11 @@ TrackMode.displayName = "TrackMode"; // MAIN COMPONENT // ============================================================================ -export const LogoGrid = ({ logos: propLogos, type = "spotlight", color }: LogoGridProps) => { +export const LogoGrid = ({ + logos: propLogos, + type = "spotlight", + color, +}: LogoGridProps) => { const logos = propLogos?.length ? propLogos : defaultLogosData; const content = type === "track" ? ( diff --git a/apps/site/src/components/postgres.tsx b/apps/site/src/components/postgres.tsx index cfd606465e..817fbb3de1 100644 --- a/apps/site/src/components/postgres.tsx +++ b/apps/site/src/components/postgres.tsx @@ -2,7 +2,13 @@ import Image from "next/image"; import parse from "html-react-parser"; -import { CodeBlock, Tabs, TabsList, TabsTrigger, TabsContent } from "@prisma/eclipse"; +import { + CodeBlock, + Tabs, + TabsList, + TabsTrigger, + TabsContent, +} from "@prisma/eclipse"; type HowSectionData = { tabs?: { @@ -48,7 +54,7 @@ export function PostgresTabs({ data }: { data: HowSectionData }) {
-

+

{body.title}

diff --git a/apps/site/src/data/postgres.json b/apps/site/src/data/postgres.json index 3bd081c745..e99a2f66cb 100644 --- a/apps/site/src/data/postgres.json +++ b/apps/site/src/data/postgres.json @@ -134,7 +134,8 @@ { "link": "/docs/guides/frameworks/nextjs", "title": "Next.js", - "imageUrl": "/icons/technologies/nextjs.svg", + "imageUrlLight": "/icons/technologies/nextjs.svg", + "imageUrl": "/icons/technologies/nextjs-light.svg", "alt": "Next.js" }, { From f57f0ff47af37f8f90246325d8b66a7064ab927d Mon Sep 17 00:00:00 2001 From: Carla Goncalves Date: Thu, 7 May 2026 12:44:31 +0100 Subject: [PATCH 03/15] Pricing, studio --- apps/site/src/app/changelog/page.tsx | 26 ++- apps/site/src/app/orm/page.tsx | 12 +- .../app/pricing/pricing-comparison-table.tsx | 16 +- .../src/app/pricing/pricing-hero-plans.tsx | 55 ++++-- apps/site/src/app/query-insights/page.tsx | 2 +- apps/site/src/app/stack/page.tsx | 12 +- apps/site/src/app/studio/page.tsx | 16 +- apps/site/src/app/support-policy/page.tsx | 161 +++++++++++------- .../ui/src/components/navigation-menu.tsx | 4 +- 9 files changed, 194 insertions(+), 110 deletions(-) diff --git a/apps/site/src/app/changelog/page.tsx b/apps/site/src/app/changelog/page.tsx index a5a6357c4a..3668820a4a 100644 --- a/apps/site/src/app/changelog/page.tsx +++ b/apps/site/src/app/changelog/page.tsx @@ -1,6 +1,9 @@ import Link from "next/link"; import { Badge } from "@prisma/eclipse"; -import { getReleaseNotePreview, getSortedReleaseNotes } from "@/lib/changelog-source"; +import { + getReleaseNotePreview, + getSortedReleaseNotes, +} from "@/lib/changelog-source"; import { createPageMetadata } from "@/lib/page-metadata"; import { formatDate, formatTag } from "@/lib/format"; @@ -30,7 +33,7 @@ export default async function ChangelogPage() {

-
+
Changelog
@@ -39,7 +42,8 @@ export default async function ChangelogPage() {

- Here you’ll find all improvements and updates we’ve made to our products. + Here you’ll find all improvements and updates we’ve made to our + products.

@@ -58,9 +62,17 @@ export default async function ChangelogPage() {
- + {tags.length > 0 ? ( - + ) : null} {formatDate(new Date(entry.data.date).toISOString())} @@ -70,7 +82,9 @@ export default async function ChangelogPage() { {entry.data.title} {summary ? ( -

{summary}

+

+ {summary} +

) : null}
diff --git a/apps/site/src/app/orm/page.tsx b/apps/site/src/app/orm/page.tsx index 926c84ef9a..44bc0c356a 100644 --- a/apps/site/src/app/orm/page.tsx +++ b/apps/site/src/app/orm/page.tsx @@ -76,9 +76,7 @@ const twoCol = [ content: ( <>
-
- Why Prisma ORM -
+
Why Prisma ORM

Delightful DB workflows

@@ -140,7 +138,7 @@ const twoCol_2 = [ content: (
-
+
Prisma Benchmarks

@@ -180,9 +178,7 @@ const twoCol_2 = [ content: (
-
- Prisma Client -
+
Prisma Client

Type-safe database client

@@ -297,7 +293,7 @@ export default function ORM() {
-
+
Prisma ORM
diff --git a/apps/site/src/app/pricing/pricing-comparison-table.tsx b/apps/site/src/app/pricing/pricing-comparison-table.tsx index 9f52e665f2..5264dbdcb2 100644 --- a/apps/site/src/app/pricing/pricing-comparison-table.tsx +++ b/apps/site/src/app/pricing/pricing-comparison-table.tsx @@ -9,7 +9,11 @@ import { TableHeader, TableRow, } from "@prisma/eclipse"; -import { type ComparisonCell, type Symbol, comparisonSections } from "./pricing-data"; +import { + type ComparisonCell, + type Symbol, + comparisonSections, +} from "./pricing-data"; function renderCell(cell: ComparisonCell, currency: Symbol): string { if (typeof cell === "string") return cell; @@ -22,13 +26,11 @@ export function PricingComparisonTable({ currency }: { currency: Symbol }) { - - {comparisonSections[0]?.title} - + {["Free", "Starter", "Pro", "Business"].map((label) => ( {section.title} @@ -66,7 +68,7 @@ export function PricingComparisonTable({ currency }: { currency: Symbol }) { key={label} className="hover:bg-transparent border-b border-background-neutral-reverse-weak" > - + {label} {row.slice(1).map((cell, valueIndex) => ( diff --git a/apps/site/src/app/pricing/pricing-hero-plans.tsx b/apps/site/src/app/pricing/pricing-hero-plans.tsx index 9edc09116c..10c0beae92 100644 --- a/apps/site/src/app/pricing/pricing-hero-plans.tsx +++ b/apps/site/src/app/pricing/pricing-hero-plans.tsx @@ -64,12 +64,14 @@ export function PricingHeroPlans({ - - Prisma ORM will always be free - +
+ + + Prisma ORM will always be free + +
} />

@@ -84,7 +86,10 @@ export function PricingHeroPlans({
- onCurrencyChange(value as Symbol)} + > @@ -106,7 +111,9 @@ export function PricingHeroPlans({
)}
@@ -190,9 +208,11 @@ export function PricingHeroPlans({ })}
diff --git a/apps/site/src/app/query-insights/page.tsx b/apps/site/src/app/query-insights/page.tsx index 0a3115d744..22c7c17596 100644 --- a/apps/site/src/app/query-insights/page.tsx +++ b/apps/site/src/app/query-insights/page.tsx @@ -17,7 +17,7 @@ export default async function Page() {
-
+
Query insights
diff --git a/apps/site/src/app/stack/page.tsx b/apps/site/src/app/stack/page.tsx index 954ba01265..e0a8540e1e 100644 --- a/apps/site/src/app/stack/page.tsx +++ b/apps/site/src/app/stack/page.tsx @@ -4,7 +4,11 @@ import { Layers } from "lucide-react"; import Image from "next/image"; import Link from "next/link"; import { cn } from "@/lib/cn"; -import { stackCategories, type StackCategory, type StackLinkItem } from "./stack-data"; +import { + stackCategories, + type StackCategory, + type StackLinkItem, +} from "./stack-data"; const title = "Prisma in your stack | Prisma"; const description = @@ -24,7 +28,7 @@ export default function StackPage() {
-
+
Prisma Stack
@@ -43,7 +47,9 @@ export default function StackPage() {

{category.title}

-

{category.description}

+

+ {category.description} +

{category.items.map((item: StackLinkItem) => ( diff --git a/apps/site/src/app/studio/page.tsx b/apps/site/src/app/studio/page.tsx index a04d5f0476..fc1820bd19 100644 --- a/apps/site/src/app/studio/page.tsx +++ b/apps/site/src/app/studio/page.tsx @@ -115,7 +115,7 @@ export default function StudioPage() {
-
+

@@ -133,19 +140,32 @@ export default function SupportPolicyPage() {
- Platform plan - Support plan - Discord - Contact via Console + + Platform plan + + + Support plan + + + Discord + + + Contact via Console + Email via support@prisma.io - Dedicated contact + + Dedicated contact + {supportChannels.map((row) => ( - + {row.platformPlan} @@ -162,7 +182,9 @@ export default function SupportPolicyPage() { - + ))} @@ -177,8 +199,9 @@ export default function SupportPolicyPage() { Response Times

- We aim to respond to all requests in a timely manner. Requests are prioritized based - on the requester's plan and the severity of the issue. + We aim to respond to all requests in a timely manner. Requests + are prioritized based on the requester's plan and the severity + of the issue.

@@ -186,14 +209,23 @@ export default function SupportPolicyPage() {
- Platform plan - Support plan - Response time + + Platform plan + + + Support plan + + + Response time + {responseTimes.map((row) => ( - + {row.platformPlan} @@ -216,12 +248,12 @@ export default function SupportPolicyPage() {

- Our business hours are 9am-5pm CET on regular weekdays, Monday to Friday, except for - public holidays in Germany. + Our business hours are 9am-5pm CET on regular weekdays, Monday + to Friday, except for public holidays in Germany.

- We provide additional coverage under our dedicated support plans for customers on - our Enterprise plan. + We provide additional coverage under our dedicated support plans + for customers on our Enterprise plan.

@@ -238,21 +270,29 @@ export default function SupportPolicyPage() { Severity levels

- The severity level is indicated by the customer when submitting a support request. - Prisma may set, upgrade, or downgrade the severity level at its discretion based on - the information available. + The severity level is indicated by the customer when submitting + a support request. Prisma may set, upgrade, or downgrade the + severity level at its discretion based on the information + available.

- Level - Definition + + Level + + + Definition + {severityLevels.map((row) => ( - + {row.level} @@ -272,26 +312,29 @@ export default function SupportPolicyPage() {
  1. - Production Environment means an environment serving your - end-users or customers. + Production Environment means an environment + serving your end-users or customers.
  2. - Initial Response means an initial response to a support request - that, at a minimum, acknowledges receipt of the request. + Initial Response means an initial response to + a support request that, at a minimum, acknowledges receipt of + the request.
  3. - Support Services means the product and services support that - Prisma has agreed to provide to you, the customer. + Support Services means the product and + services support that Prisma has agreed to provide to you, the + customer.
  4. - Workaround means a method that can be used by the customer to - avoid an error or issue without substantially impairing their use of the software - or services. + Workaround means a method that can be used by + the customer to avoid an error or issue without substantially + impairing their use of the software or services.
  5. - Unscheduled Service Outage refers to an interruption of the - service, not previously communicated to the customer, that causes the customer's - projects to be unavailable to end users. This does not include any downtime + Unscheduled Service Outage refers to an + interruption of the service, not previously communicated to + the customer, that causes the customer's projects to be + unavailable to end users. This does not include any downtime planned by the customer.
@@ -307,11 +350,13 @@ export default function SupportPolicyPage() { Etiquette

- Prisma is dedicated to providing a positive experience for everyone using our - support services. Please communicate in a professional and respectful manner. Prisma - reserves the right to cease providing support services if communication includes - abusive, profane, or otherwise inappropriate language. More information is available - in our Code of Conduct. + Prisma is dedicated to providing a positive experience for + everyone using our support services. Please communicate in a + professional and respectful manner. Prisma reserves the right to + cease providing support services if communication includes + abusive, profane, or otherwise inappropriate language. More + information is available in our{" "} + Code of Conduct.

diff --git a/packages/ui/src/components/navigation-menu.tsx b/packages/ui/src/components/navigation-menu.tsx index c13933b1cc..5c9a6ae9bc 100644 --- a/packages/ui/src/components/navigation-menu.tsx +++ b/packages/ui/src/components/navigation-menu.tsx @@ -194,7 +194,7 @@ function NavigationMenuContent({ - + From 3c14f765b2db644fba7cc8c73f5ca78f6c6b53f8 Mon Sep 17 00:00:00 2001 From: Carla Goncalves Date: Thu, 7 May 2026 12:52:17 +0100 Subject: [PATCH 04/15] Update MCP Hero --- .../app/mcp/_components/mcp-hero-section.tsx | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/apps/site/src/app/mcp/_components/mcp-hero-section.tsx b/apps/site/src/app/mcp/_components/mcp-hero-section.tsx index a251113925..f5f0fb98ee 100644 --- a/apps/site/src/app/mcp/_components/mcp-hero-section.tsx +++ b/apps/site/src/app/mcp/_components/mcp-hero-section.tsx @@ -24,10 +24,10 @@ export function McpHeroSection({ return (
-
+
-

+

Prisma MCP Server

@@ -43,7 +43,10 @@ export function McpHeroSection({ /> - + _ @@ -80,7 +83,10 @@ export function McpHeroSection({
@@ -92,7 +98,9 @@ export function McpHeroSection({

- {mobileText ?? `${line1} ${line2}`} + + {mobileText ?? `${line1} ${line2}`} + {line1}
From fec5c9c49cef8094a932f9b763d17ab449c0e79c Mon Sep 17 00:00:00 2001 From: Carla Goncalves Date: Fri, 8 May 2026 09:22:49 +0100 Subject: [PATCH 05/15] Update blog! --- .../index.mdx | 4 +-- .../blog/accelerate-ipv6-first/index.mdx | 2 +- .../index.mdx | 6 +--- .../accelerate-static-ip-support/index.mdx | 2 +- .../index.mdx | 2 +- .../index.mdx | 4 +-- .../index.mdx | 4 +-- .../blog/announcing-prisma-6-18-0/index.mdx | 2 +- .../blog/announcing-prisma-6-19-0/index.mdx | 2 +- .../index.mdx | 1 - .../index.mdx | 2 +- .../index.mdx | 3 +- .../index.mdx | 1 - .../index.mdx | 2 +- .../blog/cockroach-ga-5JrD9XVWQDYL/index.mdx | 1 - .../blog/data-platform-static-ips/index.mdx | 2 +- .../index.mdx | 2 +- .../index.mdx | 4 +-- .../index.mdx | 2 +- .../index.mdx | 2 +- .../blog/how-bucket-uses-prisma-orm/index.mdx | 2 +- .../index.mdx | 2 +- .../index.mdx | 2 +- .../index.mdx | 2 +- .../index.mdx | 2 +- .../index.mdx | 3 +- .../index.mdx | 4 +-- .../index.mdx | 4 +-- .../index.mdx | 2 +- .../index.mdx | 2 +- .../index.mdx | 2 +- .../index.mdx | 2 +- .../index.mdx | 1 - .../index.mdx | 1 - .../index.mdx | 1 - .../index.mdx | 1 - .../index.mdx | 2 +- .../index.mdx | 3 -- .../index.mdx | 2 +- .../index.mdx | 2 +- .../index.mdx | 2 +- .../blog/prisma-5-f66prwkjx72s/index.mdx | 1 - .../index.mdx | 1 - .../index.mdx | 3 +- .../prisma-data-proxy-xb16ba0p21/index.mdx | 3 +- .../index.mdx | 2 +- .../prisma-migrate-dx-primitives/index.mdx | 2 +- .../prisma-migrate-ga-b5eno5g08d0b/index.mdx | 2 +- .../prisma-mongodb-preview-release/index.mdx | 2 +- .../index.mdx | 3 +- .../prisma-optimize-early-access/index.mdx | 2 +- .../index.mdx | 2 +- .../index.mdx | 1 - .../index.mdx | 1 - .../index.mdx | 1 - .../index.mdx | 2 +- .../index.mdx | 3 +- .../index.mdx | 2 +- .../index.mdx | 6 ---- .../index.mdx | 2 +- .../index.mdx | 3 +- .../index.mdx | 3 +- .../index.mdx | 3 +- .../content/blog/why-prisma-2024/index.mdx | 2 +- .../content/blog/wnip-q1-dsk0golh8v/index.mdx | 3 +- .../blog/wnip-q2-2022-pmn7rulcj8x/index.mdx | 2 +- .../content/blog/wnip-q3-hpk7pyth8v/index.mdx | 2 +- .../blog/wnip-q4-2022-f66prwkjx72s/index.mdx | 2 +- .../content/blog/wnip-q4-dsk0golh8v/index.mdx | 2 +- apps/blog/next.config.mjs | 10 +++--- apps/blog/source.config.ts | 31 +++++++++++++------ apps/blog/src/app/(blog)/[slug]/page.tsx | 19 ++++++++++-- apps/blog/src/components/BlogHomeClient.tsx | 25 +++++++++++---- packages/ui/src/components/post-card.tsx | 5 +-- 74 files changed, 123 insertions(+), 124 deletions(-) diff --git a/apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx b/apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx index b9963bfe48..12df3fbd84 100644 --- a/apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx +++ b/apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx @@ -11,7 +11,7 @@ heroImagePath: "/accelerate-ga-release-I9cQM6bSf2g6/imgs/hero-de83f5f843f2a86abd heroImageAlt: "Prisma Accelerate now in General Availability" tags: - "announcement" - - "data-platform" + - "platform" --- Now in General Availability: Dive into [Prisma Accelerate](https://pris.ly/accelerate-blog), enhancing global database connections with connection pooling and edge caching for fast data access. @@ -90,4 +90,4 @@ With the rise in data complexity, developers encounter mounting challenges in ma We are incredibly excited about Prisma Accelerate and can't wait to see what you’ll build with it. As you dive in, please share your thoughts, engage with us on [Discord](https://pris.ly/discord), and let's build amazing data-driven applications together! -[Get started with Prisma Accelerate](https://pris.ly/accelerate-blog) \ No newline at end of file +[Get started with Prisma Accelerate](https://pris.ly/accelerate-blog) diff --git a/apps/blog/content/blog/accelerate-ipv6-first/index.mdx b/apps/blog/content/blog/accelerate-ipv6-first/index.mdx index aa1f039ab6..14ce808005 100644 --- a/apps/blog/content/blog/accelerate-ipv6-first/index.mdx +++ b/apps/blog/content/blog/accelerate-ipv6-first/index.mdx @@ -9,7 +9,7 @@ metaDescription: "In July 2023, AWS announced the decision to begin charging for metaImagePath: "/accelerate-ipv6-first/imgs/meta-b5bac6d735ee17d003b0a06190a5fa5c0e3fcc15-1266x713.png" heroImagePath: "/accelerate-ipv6-first/imgs/hero-248d5719caeee73ee2c7f94a7d194de949af1524-844x475.svg" tags: - - "data-platform" + - "platform" --- In July 2023, [AWS announced](https://aws.amazon.com/blogs/aws/new-aws-public-ipv4-address-charge-public-ip-insights/) the decision to begin charging for IPv4 addresses beginning in February 2024. This move had a major impact on [Prisma Accelerate](https://www.prisma.io/data-platform/accelerate) for reasons we’ll get into, prompting us to go all-in on IPv6. Join us for a deep dive into how we approached our IPv6 migration, lessons learned, and the outcome for users of Prisma Accelerate. diff --git a/apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx b/apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx index 66c19e3b59..5e735a2310 100644 --- a/apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx +++ b/apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx @@ -11,7 +11,7 @@ heroImagePath: "/accelerate-preview-release-ab229e69ed2/imgs/hero-587aeef34568af heroImageAlt: "Accelerate in Preview" tags: - "announcement" - - "data-platform" + - "platform" --- [Prisma Accelerate](https://www.prisma.io/data-platform/accelerate) is now available to everyone in Preview! Make your application faster with our powerful global cache and scalable connection pooler. [Get started now](https://pris.ly/pdp), and let us know what you think. @@ -123,7 +123,3 @@ Get started to supercharge your application with Prisma Accelerate! Try it out a     [Read the docs](https://www.prisma.io/docs/data-platform/accelerate/what-is-accelerate) - - - - diff --git a/apps/blog/content/blog/accelerate-static-ip-support/index.mdx b/apps/blog/content/blog/accelerate-static-ip-support/index.mdx index 2cf79f15ad..9c5684e317 100644 --- a/apps/blog/content/blog/accelerate-static-ip-support/index.mdx +++ b/apps/blog/content/blog/accelerate-static-ip-support/index.mdx @@ -11,7 +11,7 @@ heroImagePath: "/accelerate-static-ip-support/imgs/hero-06da453a2597f2571d34972e heroImageAlt: "Enable Static IP in Prisma Accelerate" tags: - "announcement" - - "data-platform" + - "platform" --- [Prisma Accelerate](https://www.prisma.io/data-platform/accelerate) introduces Static IP support, enabling secure connections to your database with predictable IPs for controlled access and minimized exposure. This allows connections from Accelerate to databases requiring trusted IP access. diff --git a/apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx b/apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx index 9039de9bb9..ed15579046 100644 --- a/apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx +++ b/apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/amplication-customer-story-nmlkBNlLlxnN/imgs/meta-4baa84e48a0da heroImagePath: "/amplication-customer-story-nmlkBNlLlxnN/imgs/hero-b1fb9ec0c8fca054011688621bfe51ea1836af10-844x474.svg" heroImageAlt: "How Prisma helps Amplication evolutionize backend development" tags: - - "user-success-story" + - "case-study" --- [Amplication](https://amplication.com/) is an open-source development tool. It helps you develop quality Node.js applications without spending time on repetitive coding tasks. It’s perfect for both backend and fullstack developers. diff --git a/apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx b/apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx index 939789a554..c0119a4f73 100644 --- a/apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx +++ b/apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx @@ -11,7 +11,7 @@ heroImagePath: "/announcing-accelerate-usrvpi6sfkv4/imgs/hero-9c6258461d73719ceb heroImageAlt: "Introducing Accelerate in Early Access" tags: - "announcement" - - "data-platform" + - "platform" --- Query up to 1000x faster on any Prisma-supported database with our distributed cache and scalable connection pool for Serverless apps. @@ -34,5 +34,3 @@ We're so excited to have you join us on this journey, and we can't wait to hear
[Get on the waitlist](https://www.prisma.io/data-platform/accelerate) - - diff --git a/apps/blog/content/blog/announcing-on-demand-cache-invalidation-for-prisma-accelerate/index.mdx b/apps/blog/content/blog/announcing-on-demand-cache-invalidation-for-prisma-accelerate/index.mdx index 64a40088c5..345bd6f36e 100644 --- a/apps/blog/content/blog/announcing-on-demand-cache-invalidation-for-prisma-accelerate/index.mdx +++ b/apps/blog/content/blog/announcing-on-demand-cache-invalidation-for-prisma-accelerate/index.mdx @@ -10,8 +10,8 @@ metaImagePath: "/announcing-on-demand-cache-invalidation-for-prisma-accelerate/i heroImagePath: "/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/hero-4100fa47bccf0620564331dda7e0c65bcd069ef2-844x474.svg" heroImageAlt: "Prisma Accelerate's cache invalidation API in a code block" tags: - - "data-platform" - - "release" + - "platform" + - "announcement" --- Caching with Prisma Accelerate can significantly boost performance for read-heavy applications while reducing strain on your database. On-demand cache invalidation gives you precise control over refreshes, simplifying management and optimization while ensuring that up-to-date information is always served. diff --git a/apps/blog/content/blog/announcing-prisma-6-18-0/index.mdx b/apps/blog/content/blog/announcing-prisma-6-18-0/index.mdx index c27e4dc5ac..d014cefbbe 100644 --- a/apps/blog/content/blog/announcing-prisma-6-18-0/index.mdx +++ b/apps/blog/content/blog/announcing-prisma-6-18-0/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/announcing-prisma-6-18-0/imgs/meta-85fc09231b7180336b63d1da7fe4 heroImagePath: "/announcing-prisma-6-18-0/imgs/hero-6903d477604982ce17726b525221e1e1de6eb1a1-844x474.svg" heroImageAlt: "Prisma 6.18.0 Release " tags: - - "release" + - "announcement" - "orm" --- diff --git a/apps/blog/content/blog/announcing-prisma-6-19-0/index.mdx b/apps/blog/content/blog/announcing-prisma-6-19-0/index.mdx index 1edc3fb145..79405118e1 100644 --- a/apps/blog/content/blog/announcing-prisma-6-19-0/index.mdx +++ b/apps/blog/content/blog/announcing-prisma-6-19-0/index.mdx @@ -11,7 +11,7 @@ heroImagePath: "/announcing-prisma-6-19-0/imgs/hero-21b965afb8b247bc0f088a71d844 tags: - "prisma-postgres" - "orm" - - "release" + - "announcement" --- We just released Prisma 6.19.0 ORM, which includes several bug fixes and improvements. We’ve also included a bunch of improvements to managing your Prisma Postgres Connection, connection pooling, and local Prisma Postgres within VS Code. diff --git a/apps/blog/content/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/index.mdx b/apps/blog/content/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/index.mdx index a7f5ea4552..ead477aad8 100644 --- a/apps/blog/content/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/index.mdx +++ b/apps/blog/content/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/index.mdx @@ -9,7 +9,6 @@ metaDescription: "Prisma ORM now supports the ability to write raw sql queries a metaImagePath: "/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/meta-6212889ff7d56ad41636c0f7938159b1fd740651-1688x948.png" heroImagePath: "/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/hero-9d1c710f959ab75107576ad53720a7731c75797a-844x474.png" tags: - - "release" - "orm" - "announcement" --- diff --git a/apps/blog/content/blog/bringing-prisma-orm-to-react-native-and-expo/index.mdx b/apps/blog/content/blog/bringing-prisma-orm-to-react-native-and-expo/index.mdx index a80aa6ad75..36c1cddea6 100644 --- a/apps/blog/content/blog/bringing-prisma-orm-to-react-native-and-expo/index.mdx +++ b/apps/blog/content/blog/bringing-prisma-orm-to-react-native-and-expo/index.mdx @@ -9,7 +9,7 @@ metaDescription: "Prisma ORM now provides Early Access support for React Native metaImagePath: "/bringing-prisma-orm-to-react-native-and-expo/imgs/meta-289f00bdde5d5f308f3faa684d09f647974d77b6-1200x630.png" heroImagePath: "/bringing-prisma-orm-to-react-native-and-expo/imgs/hero-bbb1e7f6b0f7bef3d318fac96652548cad0ef0b5-844x474.svg" tags: - - "release" + - "announcement" --- Prisma ORM now provides Early Access support for React Native and Expo, fulfilling a popular community request. The integration introduces *reactive queries*, using React hooks to auto-update the UI when the underlying data changes. diff --git a/apps/blog/content/blog/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/index.mdx b/apps/blog/content/blog/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/index.mdx index 2d4a4d43f0..96b0948a13 100644 --- a/apps/blog/content/blog/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/index.mdx +++ b/apps/blog/content/blog/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/index.mdx @@ -9,9 +9,8 @@ metaDescription: "Prisma ORM now supports Cloudflare D1 databases. Read this art metaImagePath: "/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/meta-9804cde42d974d63b5a3b8bc951c13aeb9187101-1266x711.png" heroImagePath: "/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/hero-66fc05379af15d65fd3dd6d792c9a575db648895-844x474.png" tags: - - "announcement" - "orm" - - "release" + - "announcement" --- Cloudflare has been pioneering the edge computing landscape since the introduction of Workers in 2017. With [D1](https://developers.cloudflare.com/d1/), Cloudflare recently released a native serverless database. We’re excited to announce that you can now talk to D1 using Prisma ORM! diff --git a/apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx b/apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx index e333d3fd86..6b163c2125 100644 --- a/apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx +++ b/apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx @@ -12,7 +12,6 @@ heroImageAlt: "Prisma Client Extensions" tags: - "orm" - "announcement" - - "release" --- With the release of version [4.16.0](https://github.com/prisma/prisma/releases/tag/4.16.0) of the Prisma ORM, [Client extensions](https://www.prisma.io/docs/orm/prisma-client/client-extensions) are now Generally Available! This new feature allows users to extend and customize Prisma Client to meet their individual use cases. diff --git a/apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx b/apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx index f1153c6bae..1e0cc4754d 100644 --- a/apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx +++ b/apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/client-extensions-preview-8t3w27xkrxxn/imgs/meta-5ca8711a05c2f8 heroImagePath: "/client-extensions-preview-8t3w27xkrxxn/imgs/hero-1b0474b02ed0759af1c6e3f3bcba5d4ebb1d970b-844x474.svg" heroImageAlt: "Prisma Client Just Became a Lot More Flexible: Prisma Client Extensions (Preview)" tags: - - "release" + - "announcement" - "orm" --- diff --git a/apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx b/apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx index 9b07080e30..3bf2bbff17 100644 --- a/apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx +++ b/apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx @@ -11,7 +11,6 @@ heroImagePath: "/cockroach-ga-5JrD9XVWQDYL/imgs/hero-ebf53ec190dab44f271d4f0dd1a heroImageAlt: "Prisma Support for CockroachDB Is Production Ready" tags: - "announcement" - - "release" - "orm" --- diff --git a/apps/blog/content/blog/data-platform-static-ips/index.mdx b/apps/blog/content/blog/data-platform-static-ips/index.mdx index 94cc6e297a..8e4d40ebf1 100644 --- a/apps/blog/content/blog/data-platform-static-ips/index.mdx +++ b/apps/blog/content/blog/data-platform-static-ips/index.mdx @@ -11,7 +11,7 @@ heroImagePath: "/data-platform-static-ips/imgs/hero-f9991a96b6b8ce0fa61dead52814 heroImageAlt: "Enabling static egress IPs in the Prisma Data Platform" tags: - "announcement" - - "data-platform" + - "platform" --- We're launching Early Access support for static egress IPs. Keep your databases secure by ensuring that the Prisma diff --git a/apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx b/apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx index 7adf6122c5..f14fd23792 100644 --- a/apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx +++ b/apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/elsevier-customer-story-SsAASKagMHtN/imgs/hero-4eaa561121a70374 heroImagePath: "/elsevier-customer-story-SsAASKagMHtN/imgs/hero-4eaa561121a703742d0016b7a60b69e0cc262dc8-1692x852.png" heroImageAlt: "Elsevier" tags: - - "user-success-story" + - "case-study" --- Elsevier is a global leader in information and analytics in scientific publishing, and helps researchers and healthcare professionals advance science and improve health outcomes for the benefit of society. diff --git a/apps/blog/content/blog/formbricks-and-prisma-accelerate-solving-scalability-together/index.mdx b/apps/blog/content/blog/formbricks-and-prisma-accelerate-solving-scalability-together/index.mdx index e5ca1bad32..94c31feb54 100644 --- a/apps/blog/content/blog/formbricks-and-prisma-accelerate-solving-scalability-together/index.mdx +++ b/apps/blog/content/blog/formbricks-and-prisma-accelerate-solving-scalability-together/index.mdx @@ -10,8 +10,8 @@ metaImagePath: "/formbricks-and-prisma-accelerate-solving-scalability-together/i heroImagePath: "/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/hero-2dedf610e6c3e1bfd7d7d262e086c9ced48412fa-804x474.svg" heroImageAlt: "Prisma Accelerate Logo and Formbricks Logo" tags: - - "data-platform" - - "user-success-story" + - "platform" + - "case-study" --- Explore Formbricks' journey, an open-source survey platform, as they effectively tackled scalability challenges with [Prisma Accelerate](https://www.prisma.io/data-platform/accelerate?utm_source=blog&utm_medium=customer-story-formbricks). Learn how they strategically integrated it to manage growing user demands and maintained high performance. diff --git a/apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx b/apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx index 4735d962ef..60f9cf5db0 100644 --- a/apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx +++ b/apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/grover-customer-success-story-nxkWGcGNuvFd/imgs/meta-cb12105173 heroImagePath: "/grover-customer-success-story-nxkWGcGNuvFd/imgs/hero-3fcd833a161c68af69d2c13eafb3369f343e0856-844x474.svg" heroImageAlt: "How Grover Moves Faster with Prisma" tags: - - "user-success-story" + - "case-study" --- Grover offers monthly tech product subscriptions and splits work on its services across many teams. Some teams have recently found huge productivity gains by adopting Prisma. Read on to find out how Prisma has benefited Grover and how you can benefit as well. diff --git a/apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx b/apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx index 847697cf9e..2d69931b1b 100644 --- a/apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx +++ b/apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/he heroImagePath: "/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero-b0f3d722a514f161e410fc12ccf0e00e562b5ecb-1692x852.jpg" heroImageAlt: "How Prisma Helps Rapha Manage Their Mobile Application Data" tags: - - "user-success-story" + - "case-study" --- Rapha is a company dedicated to redefining comfort, performance, and style for cyclists around the world, whether beginners or World Tour professionals. Learn how Prisma helps Rapha build consistent data APIs across various teams and platforms. diff --git a/apps/blog/content/blog/how-bucket-uses-prisma-orm/index.mdx b/apps/blog/content/blog/how-bucket-uses-prisma-orm/index.mdx index 1d6f360968..56c72a2f64 100644 --- a/apps/blog/content/blog/how-bucket-uses-prisma-orm/index.mdx +++ b/apps/blog/content/blog/how-bucket-uses-prisma-orm/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/how-bucket-uses-prisma-orm/imgs/meta-2912dd24525d0768088b7b6c62 heroImagePath: "/how-bucket-uses-prisma-orm/imgs/hero-529b3d14590540555baed7e42696fe030fb8d435-855x480.png" heroImageAlt: "Prisma Logo and Bucket Logo" tags: - - "user-success-story" + - "case-study" - "orm" --- diff --git a/apps/blog/content/blog/how-deno-and-prisma-partnered-to-power-per-branch-databases/index.mdx b/apps/blog/content/blog/how-deno-and-prisma-partnered-to-power-per-branch-databases/index.mdx index c35122147a..535071d781 100644 --- a/apps/blog/content/blog/how-deno-and-prisma-partnered-to-power-per-branch-databases/index.mdx +++ b/apps/blog/content/blog/how-deno-and-prisma-partnered-to-power-per-branch-databases/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/how-deno-and-prisma-partnered-to-power-per-branch-databases/img heroImagePath: "/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/hero-45aa700bfa2da328ccb88b64d312672e25c2b263-844x474.svg" heroImageAlt: "Deno and Prisma Partnership" tags: - - "user-success-story" + - "case-study" - "prisma-postgres" --- diff --git a/apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx b/apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx index 68867446af..8c238ef40e 100644 --- a/apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx +++ b/apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-sca heroImagePath: "/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/hero-6c079320ad9b2a389f2419759abe8b2089f4b2d4-870x438.png" heroImageAlt: "How migrating from Sequelize to Prisma allowed Invisible to scale" tags: - - "user-success-story" + - "case-study" --- Invisible is a B2B productivity startup that allows its users to automate and outsource any complex workflow or business process through [Worksharing](https://www.invisible.co/our-platform). Prisma played a crucial role in allowing Invisible to future proof their tech stack and in supporting its scale. diff --git a/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx b/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx index eafcf2c034..9f45c99093 100644 --- a/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx +++ b/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/meta-16b heroImagePath: "/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/hero-39edebe28834872f6ce4c951529f02ea55725adc-844x474.svg" heroImageAlt: "How Prisma & Serverless Fit Together" tags: - - "serverless" + - "case-study" --- As we shift towards a serverless world, we create new opportunities and new problems to be solved. One problem has Prisma's attention: how to make databases fit into a serverless world. diff --git a/apps/blog/content/blog/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/index.mdx b/apps/blog/content/blog/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/index.mdx index 6f49f6914d..529d647fce 100644 --- a/apps/blog/content/blog/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/index.mdx +++ b/apps/blog/content/blog/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/index.mdx @@ -9,7 +9,7 @@ metaDescription: "Learn how Prisma Accelerate has contributed to Solin's success metaImagePath: "/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/meta-1ca84fbcd21cf4ba2965d4581c6b2e4ccbeba496-1688x948.png" heroImagePath: "/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/hero-501535574f7a2c835073bf096890b78dd3ee3490-844x474.svg" tags: - - "user-success-story" + - "case-study" --- [Solin](https://www.solin.stream/), a leading fitness marketplace for creators, has improved its platform by integrating [Prisma Accelerate](https://www.prisma.io/data-platform/accelerate). This story highlights how Prisma Accelerate has contributed to Solin's success by enhancing performance and reliability with its scalable connection pool and global database cache. diff --git a/apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx b/apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx index 1cbd8b5f46..10962cc163 100644 --- a/apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx +++ b/apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx @@ -10,7 +10,6 @@ metaImagePath: "/how-to-improve-startup-times-kdRB9MjPEv/imgs/meta-76ae590ec7aff heroImagePath: "/how-to-improve-startup-times-kdRB9MjPEv/imgs/hero-e09fcabd4fa41b7b452a43664dea361d78f10e82-844x474.svg" heroImageAlt: "Best Practices To Speed Up Your Serverless Applications" tags: - - "serverless" - "education" --- @@ -250,4 +249,4 @@ To quickly recap, we suggest you: - Keep your function as simple as you can - Consider using provisioned concurrency if you are willing to deal with the financial tradeoffs -Thanks for following along, and we hope this information helps! +Thanks for following along, and we hope this information helps! diff --git a/apps/blog/content/blog/introducing-auto-scaling-for-prisma-accelerate/index.mdx b/apps/blog/content/blog/introducing-auto-scaling-for-prisma-accelerate/index.mdx index c61ab67e4f..7cbfd13fd3 100644 --- a/apps/blog/content/blog/introducing-auto-scaling-for-prisma-accelerate/index.mdx +++ b/apps/blog/content/blog/introducing-auto-scaling-for-prisma-accelerate/index.mdx @@ -10,8 +10,8 @@ metaImagePath: "/introducing-auto-scaling-for-prisma-accelerate/imgs/meta-10e47c heroImagePath: "/introducing-auto-scaling-for-prisma-accelerate/imgs/hero-6643cd3fa55e6b2554f2256149a7ea9e62df3258-844x474.svg" heroImageAlt: "Connection pooling using multiple instances of accelerate's connection poolers " tags: - - "data-platform" - - "release" + - "platform" + - "announcement" --- Since its initial release, [Prisma Accelerate](https://pris.ly/as-accelerate) has served close to 10 billion queries already! And it continues to get better: With the addition of auto-scaling, Prisma Accelerate is even better at helping applications scale and removing concerns about database connection bottlenecks. diff --git a/apps/blog/content/blog/introducing-platform-environments/index.mdx b/apps/blog/content/blog/introducing-platform-environments/index.mdx index f030857686..971221d763 100644 --- a/apps/blog/content/blog/introducing-platform-environments/index.mdx +++ b/apps/blog/content/blog/introducing-platform-environments/index.mdx @@ -10,8 +10,8 @@ metaImagePath: "/introducing-platform-environments/imgs/meta-5c40baf506e9ff75d27 heroImagePath: "/introducing-platform-environments/imgs/hero-aa4a9432e7742d1f7b3468e632869ef802833652-870x480.svg" heroImageAlt: "Introducing Platform Environments" tags: - - "data-platform" - - "release" + - "platform" + - "announcement" --- 🎉 We're thrilled to introduce Platform Environments and a new Early Access feature that enables accessing the Prisma Data Platform from the Prisma CLI! diff --git a/apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx b/apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx index 32d0af2cc1..7621774309 100644 --- a/apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx +++ b/apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero-97ed1e5446 heroImagePath: "/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero-97ed1e5446a02b6a9c6be975ada9fd1d26f31173-1692x852.png" heroImageAlt: "How iopool refactored their app in less than 6 months with Prisma" tags: - - "user-success-story" + - "case-study" --- In 2020, iopool realized that their architecture was slowing them down and preventing them from innovating. They decided to switch to Lambda functions and a relational database powered by Prisma. Read on to learn how this has helped them move fast with confidence and has greatly simplified their development process. diff --git a/apps/blog/content/blog/make-your-applications-fast-globally/index.mdx b/apps/blog/content/blog/make-your-applications-fast-globally/index.mdx index 98600ff997..328032eb72 100644 --- a/apps/blog/content/blog/make-your-applications-fast-globally/index.mdx +++ b/apps/blog/content/blog/make-your-applications-fast-globally/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/make-your-applications-fast-globally/imgs/meta-804c14efc98c90c5 heroImagePath: "/make-your-applications-fast-globally/imgs/hero-b39a1db6bced5d4927ad0e3215e309eaa4f944ae-844x474.svg" heroImageAlt: "Illustration of global servers and cloud connections with text 'Make your application fast globally'" tags: - - "serverless" + - "case-study" --- Modern serverless and edge runtimes have made it easier than ever to deploy fast, scalable applications. But as apps grow more distributed, performance issues often shift away from code, and toward infrastructure. diff --git a/apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx b/apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx index 90be819ac2..9ae3e0fbc6 100644 --- a/apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx +++ b/apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/mongodb-general-availability-pixnun6mffmu/imgs/meta-53ef0fef7dc heroImagePath: "/mongodb-general-availability-pixnun6mffmu/imgs/hero-d05dec22b9afb5e6e91b3a8048677f4d4021f3ac-844x474.svg" heroImageAlt: "Prisma Adds Support for MongoDB " tags: - - "release" + - "announcement" - "orm" --- diff --git a/apps/blog/content/blog/organize-your-prisma-schema-with-multi-file-support/index.mdx b/apps/blog/content/blog/organize-your-prisma-schema-with-multi-file-support/index.mdx index d2b3c0392c..e3f866fa1c 100644 --- a/apps/blog/content/blog/organize-your-prisma-schema-with-multi-file-support/index.mdx +++ b/apps/blog/content/blog/organize-your-prisma-schema-with-multi-file-support/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/organize-your-prisma-schema-with-multi-file-support/imgs/meta-2 heroImagePath: "/organize-your-prisma-schema-with-multi-file-support/imgs/hero-5df6e670b8b37555a5d3caf40521722d9613b705-844x474.svg" heroImageAlt: "An image showing several .prisma files with the text \"Split your schema!\"" tags: - - "release" + - "announcement" - "orm" --- diff --git a/apps/blog/content/blog/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/index.mdx b/apps/blog/content/blog/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/index.mdx index 8341858a51..f9c46d1e97 100644 --- a/apps/blog/content/blog/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/index.mdx +++ b/apps/blog/content/blog/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/index.mdx @@ -11,7 +11,6 @@ heroImagePath: "/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more tags: - "orm" - "announcement" - - "release" --- This week comes packed with major improvements for Prisma Postgres & Prisma ORM: Better local development, UI workflows in VS Code for viewing & managing local DBs, new features for Prisma Postgres, a remote MCP server & more! diff --git a/apps/blog/content/blog/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/index.mdx b/apps/blog/content/blog/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/index.mdx index 6976c1640f..28e607c7ff 100644 --- a/apps/blog/content/blog/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/index.mdx +++ b/apps/blog/content/blog/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/index.mdx @@ -9,7 +9,6 @@ metaDescription: "Check out the latest Prisma release with our new ESM-compatibl metaImagePath: "/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/meta-dcedaa0abf8db7a6e8f8fa30b3a2493752251653-1266x711.png" heroImagePath: "/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/hero-59d3944084b95fb426e8f670cd3ee12ec2b6ef0e-844x474.svg" tags: - - "release" - "announcement" --- diff --git a/apps/blog/content/blog/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/index.mdx b/apps/blog/content/blog/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/index.mdx index 6e09896f14..b6bf347719 100644 --- a/apps/blog/content/blog/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/index.mdx +++ b/apps/blog/content/blog/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/index.mdx @@ -11,7 +11,6 @@ heroImagePath: "/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-mo tags: - "orm" - "announcement" - - "release" --- AI coding tools are powerful—but sometimes too powerful. With [Prisma ORM v6.15.0](https://pris.ly/release/6.15.0), we’re adding new guardrails to stop AI agents from wiping your database without your explicit confirmation, plus major improvements to Prisma Client, serverless connections, and Prisma Postgres. diff --git a/apps/blog/content/blog/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/index.mdx b/apps/blog/content/blog/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/index.mdx index 5b76a8d0da..0965eaaf74 100644 --- a/apps/blog/content/blog/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/index.mdx +++ b/apps/blog/content/blog/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/index.mdx @@ -9,7 +9,6 @@ metaDescription: "What’s new: Prisma ORM without Rust in Preview for MySQL & N metaImagePath: "/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/meta-f3f4386ecb62981d836ac001e9ad7d7bf3983817-1266x711.png" heroImagePath: "/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/hero-3fe13fbc2fb282c40babce1bbdd9090f848862d9-844x474.svg" tags: - - "release" - "announcement" - "orm" --- diff --git a/apps/blog/content/blog/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/index.mdx b/apps/blog/content/blog/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/index.mdx index b8cdc650ee..e494592975 100644 --- a/apps/blog/content/blog/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/index.mdx +++ b/apps/blog/content/blog/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/index.mdx @@ -11,7 +11,7 @@ heroImagePath: "/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for- heroImageAlt: "Cover image for launch blog post" tags: - "orm" - - "release" + - "announcement" --- We just released Prisma [ORM v6.17.0](https://pris.ly/release/6.17.0) with several bug fixes and improvements. Additionally, connecting to Prisma Postgres using your favorite ORM or DB tool is now Generally Available. Check out the article for even more updates! diff --git a/apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx b/apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx index 7c30df2824..a523a2102b 100644 --- a/apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx +++ b/apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx @@ -10,7 +10,6 @@ metaImagePath: "/overcoming-challenges-in-serverless-and-edge-environments-TQtON heroImagePath: "/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/hero-bb568fc69c26ec5a3d262e4e598ea35dd95aa7b0-844x474.svg" heroImageAlt: "Overcoming Database Challenges in Serverless & Edge Applications" tags: - - "serverless" - "education" --- @@ -191,5 +190,3 @@ While applications without a backing data store can be transitioned without too At the end of the day, edge and serverless computing are more tools in a software engineer's tool belt. As an engineering organization you must first understand the work necessary to move your stateful application to a stateless environment. In some cases, it might not be the right move! In other cases, these deployment strategies are an excellent choice and you can get great benefits while expending a little extra time to make sure that your application is serverless-ready. > **Note**: At Prisma, we're excited about the new paradigms of serverless and edge deployments! To learn what we're building to make it easier for developers to build data-driven applications in these new environments, check out [Accelerate](https://www.prisma.io/data-platform/accelerate) and [Prisma Postgres](https://www.prisma.io/postgres) and follow us on [X/Twitter](https://pris.ly/x). - - diff --git a/apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx b/apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx index 213584d026..a85e205a67 100644 --- a/apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx +++ b/apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx @@ -11,7 +11,7 @@ metaImagePath: "/panther-customer-story-pdmdrrhtupsl/imgs/meta-5eae06d23538e0fc1 heroImagePath: "/panther-customer-story-pdmdrrhtupsl/imgs/hero-c5d900fa6ca968fa3166f7d9faff39ee6df0fc04-846x426.svg" heroImageAlt: "How Panther champions talent over geography with Prisma" tags: - - "user-success-story" + - "case-study" --- [Panther](https://www.panther.co/) fully leverages Prisma and a cutting edge tech stack to power a domain-driven architecture that allows its developers to build and maintain seamlessly a complex platform with multiple services. This allows Panther to ensure that its customers can automate global payroll and compliance for their remote teams with one click. diff --git a/apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx b/apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx index 326b78cfee..1ba4f74257 100644 --- a/apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx +++ b/apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/pearly-plan-customer-success-pdmdrRhTupve/imgs/meta-d09ee96143c heroImagePath: "/pearly-plan-customer-success-pdmdrRhTupve/imgs/hero-865b17cd27fdb1bc38c55016a41fd23b3ea650a0-870x439.svg" heroImageAlt: "How Prisma Allowed Pearly to Scale Quickly with an Ultra-Lean Team" tags: - - "user-success-story" + - "case-study" --- Pearly provides a platform for dentists to create better and reliable revenue streams and affordable care plans for their patients. Learn how Prisma has helped them scale quickly with an ultra-lean team. diff --git a/apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx b/apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx index 241314fda3..aa867a2e4f 100644 --- a/apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx +++ b/apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero-e88c5bf7940 heroImagePath: "/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero-e88c5bf7940e203a79d806c2f7ab3ff3d177b7ee-1692x852.png" heroImageAlt: "How Poppy Uses Prisma Client to Ship Confidently" tags: - - "user-success-story" + - "case-study" --- Poppy offers rides of all kinds through its mobile app. Whether it's a car, scooter, or e-step, Poppy has it. Prisma plays a vital role in helping Poppy ship quickly and confidently and is a big reason they've just hit 1.5 million total rides taken. diff --git a/apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx b/apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx index 31b0135e76..5bf13a44d4 100644 --- a/apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx +++ b/apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx @@ -11,7 +11,6 @@ heroImagePath: "/prisma-5-f66prwkjx72s/imgs/hero-4d31da0f724c13e75aae400cb385bbd heroImageAlt: "Prisma 5" tags: - "announcement" - - "release" - "orm" --- diff --git a/apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx b/apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx index ac1613d26d..e73fbca7fd 100644 --- a/apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx +++ b/apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx @@ -12,7 +12,6 @@ metaImagePath: "/prisma-and-serverless-73hbgKnZ6t/imgs/73248ed5f8354b102c538279e heroImagePath: "/prisma-and-serverless-73hbgKnZ6t/imgs/e70e892329074189eda737c807804fda0b018a05-844x474.svg" heroImageAlt: "How We Sped Up Serverless Cold Starts with Prisma by 9x" tags: - - "serverless" - "orm" excerpt: "Cold starts are a huge roadblock for a fast user experience with serverless applications — but also inherently unavoidable. Let's explore what contributes to cold starts and how we made every serverless app built using Prisma ORM even faster." --- diff --git a/apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx b/apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx index 2b4e0f2aa3..2460121901 100644 --- a/apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx +++ b/apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx @@ -11,7 +11,7 @@ heroImagePath: "/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/ heroImageAlt: "The Prisma Data Platform" tags: - "announcement" - - "data-platform" + - "platform" --- The Prisma Data Platform includes a Data Proxy, a Data Browser, and a Query Console that integrates with your current development pipeline. @@ -96,4 +96,3 @@ Thousands of developers choose the Prisma ORM to think less about databases and
[Get started with the Prisma Data Platform](https://cloud.prisma.io/) - diff --git a/apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx b/apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx index 3a2b185c6b..c7b4505cf2 100644 --- a/apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx +++ b/apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx @@ -12,7 +12,7 @@ heroImagePath: "/prisma-data-proxy-xb16ba0p21/imgs/hero-bb301a00397c84e302d829b9 heroImageAlt: "Database Access in Serverless Environments with the Prisma Data Proxy" tags: - "announcement" - - "data-platform" + - "platform" --- Databases connection management in serverless functions is a major issue for many developers. The Prisma Data Proxy (Early Access) solves this problem by managing a connection pool. @@ -115,4 +115,3 @@ This article remains a useful explanation of why serverless workloads need conne - Use [Prisma Accelerate](https://www.prisma.io/accelerate) if you want managed connection pooling and caching for Prisma ORM. - Use [Prisma Postgres](https://www.prisma.io/postgres) if you want a managed Postgres database that works well with Prisma ORM. - Use the current [Prisma Client deployment docs](https://www.prisma.io/docs/orm/prisma-client/deployment/serverless/deploy-to-vercel) for up-to-date serverless deployment guidance. - diff --git a/apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx b/apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx index 7880ce0b68..82ba55642b 100644 --- a/apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx +++ b/apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/meta-8 heroImagePath: "/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/hero-89857b3836a02963a6943bf9903eadb7f467452b-846x426.png" heroImageAlt: "Microsoft SQL Server Support in Prisma is Production-Ready" tags: - - "release" + - "announcement" --- Today we are excited to announce that Prisma support for SQL Server and Azure SQL is Generally Available and ready for production! Prisma helps developers be productive and confident when building data-intensive applications. [Try it out](https://www.prisma.io/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-sqlserver?utm_source=blog&utm_medium=blog&utm_campaign=sqlserver-ga) diff --git a/apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx b/apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx index 1e9119bb88..ca6189f4ac 100644 --- a/apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx +++ b/apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/prisma-migrate-dx-primitives/imgs/meta-b291800991f4a03d10765a87 heroImagePath: "/prisma-migrate-dx-primitives/imgs/hero-e6a865656b510a2942651367168029c0be4b650c-844x474.svg" heroImageAlt: "Improving Prisma Migrate DX with two new commands" tags: - - "release" + - "announcement" - "orm" --- diff --git a/apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx b/apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx index 82100e8d39..4c52a3bc1d 100644 --- a/apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx +++ b/apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/prisma-migrate-ga-b5eno5g08d0b/imgs/meta-434780a05dbd2e625fda9f heroImagePath: "/prisma-migrate-ga-b5eno5g08d0b/imgs/hero-32d0c4e15bdc25944dcbcfbe7064746f94cef116-1692x852.png" heroImageAlt: "Hassle-Free Database Migrations with Prisma Migrate" tags: - - "release" + - "announcement" - "orm" --- diff --git a/apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx b/apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx index f1c2aa7cff..5a9a3da05c 100644 --- a/apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx +++ b/apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/prisma-mongodb-preview-release/imgs/meta-60df4c09d5d1951a4fc642 heroImagePath: "/prisma-mongodb-preview-release/imgs/hero-0ba86c703ae4de5651fe3afa7a2a181b0cacdb24-865x436.svg" heroImageAlt: "Prisma 2.27 Adds Preview Support for MongoDB" tags: - - "release" + - "announcement" --- Today we are excited to expand the range of supported databases with preview support of **MongoDB**. [Try it out](https://www.prisma.io/docs/getting-started/setup-prisma/start-from-scratch/mongodb-typescript-mongodb) and let us know what you think! diff --git a/apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx b/apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx index 7345b2a6da..025b0b87c9 100644 --- a/apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx +++ b/apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx @@ -12,7 +12,7 @@ heroImagePath: "/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero-fe681554d217f heroImageAlt: "A Collaborative Data Browser for Your Database on the Web" tags: - "education" - - "data-platform" + - "platform" --- Prisma's online data browser allows you to easily collaborate with your team on your data. [Try the Early Access version](https://cloud.prisma.io/ @@ -96,4 +96,3 @@ Please help us improve the online data browser by sharing any issues, bugs and q
[Share Feedback](https://github.com/prisma/studio/issues/new?assignees=&labels=topic%3A+hosted+data+browser&template=hosted-data-browser-bug-report.md&title=) - diff --git a/apps/blog/content/blog/prisma-optimize-early-access/index.mdx b/apps/blog/content/blog/prisma-optimize-early-access/index.mdx index dc7fd1c8b6..85057ad23b 100644 --- a/apps/blog/content/blog/prisma-optimize-early-access/index.mdx +++ b/apps/blog/content/blog/prisma-optimize-early-access/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/prisma-optimize-early-access/imgs/meta-a56f096666836c7d8e6671d0 heroImagePath: "/prisma-optimize-early-access/imgs/hero-4d64d1524a5186d98e489b0aa2d0b884ceff3ef0-844x474.svg" heroImageAlt: "Prisma Optimize in Early Access" tags: - - "release" + - "announcement" --- :::warning diff --git a/apps/blog/content/blog/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/index.mdx b/apps/blog/content/blog/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/index.mdx index 54c1fce414..536f019ded 100644 --- a/apps/blog/content/blog/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/index.mdx +++ b/apps/blog/content/blog/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/index.mdx @@ -9,7 +9,7 @@ metaDescription: "The v6.6.0 Prisma ORM release is packed with exciting features metaImagePath: "/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/meta-5f4d224e4d334fff70c4eadb8b2cbef237acd3ba-1266x711.png" heroImagePath: "/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/hero-836040fb8ba1449adfeb3b608ae710d2bd2d6449-844x474.svg" tags: - - "release" + - "announcement" - "orm" --- diff --git a/apps/blog/content/blog/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/index.mdx b/apps/blog/content/blog/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/index.mdx index 51dc8c4a5d..53d41d887d 100644 --- a/apps/blog/content/blog/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/index.mdx +++ b/apps/blog/content/blog/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/index.mdx @@ -9,7 +9,6 @@ metaDescription: "We just released Prisma ORM v6.14.0 with the ability to define metaImagePath: "/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/meta-20e5d5b2879055d3aba22acf59aaa6c37933050a-1266x711.png" heroImagePath: "/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/hero-72c1a4cbd495ed6f219e870b19056a529c5e03c7-844x474.svg" tags: - - "release" - "announcement" - "orm" --- diff --git a/apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx b/apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx index 8e52e16384..158a5bea09 100644 --- a/apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx +++ b/apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx @@ -12,7 +12,6 @@ heroImageAlt: "SQLite on the Edge: Prisma Support for Turso is in Early Access" tags: - "orm" - "announcement" - - "release" --- [Turso](https://turso.tech/) is an edge-hosted, distributed database that's based on [libSQL](https://turso.tech/libsql), an open-source and open-contribution fork of [SQLite](https://sqlite.org/), enabling you to bring data closer to your application and minimize query latency. diff --git a/apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx b/apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx index 91940e0797..52b61fe4b1 100644 --- a/apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx +++ b/apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx @@ -11,7 +11,6 @@ heroImagePath: "/read-replicas-prisma-client-extension-f66prwk56wow/imgs/hero-a7 heroImageAlt: "Introducing the Read Replicas Extension for Prisma Client" tags: - "orm" - - "release" - "announcement" --- diff --git a/apps/blog/content/blog/saving-black-friday-with-connection-pooling/index.mdx b/apps/blog/content/blog/saving-black-friday-with-connection-pooling/index.mdx index 22b7e5d8ab..af4e55f716 100644 --- a/apps/blog/content/blog/saving-black-friday-with-connection-pooling/index.mdx +++ b/apps/blog/content/blog/saving-black-friday-with-connection-pooling/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/saving-black-friday-with-connection-pooling/imgs/meta-6d20845cc heroImagePath: "/saving-black-friday-with-connection-pooling/imgs/hero-038b90e253764d69963a9b4ef3891d95fe6bbaa2-844x474.svg" heroImageAlt: "Chart displaying peak load on servers during Black Friday" tags: - - "data-platform" + - "platform" --- Connection pooling is crucial for ensuring your data-driven app can handle massive load without failure. In this blog, we explore how connection pooling with Accelerate can save an online e‑commerce platform deployed in a serverless environment during peak traffic on Black Friday. diff --git a/apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx b/apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx index eafb88f7b2..5debf9c8c8 100644 --- a/apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx +++ b/apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx @@ -11,8 +11,7 @@ heroImagePath: "/serverless-database-drivers-KML1ehXORxZV/imgs/hero-57908d058c34 heroImageAlt: "Support for Serverless Database Drivers in Prisma ORM Is Now in Preview" tags: - "orm" - - "serverless" - - "release" + - "announcement" --- Prisma is releasing Preview support for serverless database drivers from [Neon](#use-neon-with-neondatabaseserverless) and [PlanetScale](#use-planetscale-with-planetscaledatabase). This feature allows Prisma users to leverage the existing database drivers for communication with their database without long-lived TCP connections! diff --git a/apps/blog/content/blog/studio-for-prisma-postgres-view-and-edit-your-data-online/index.mdx b/apps/blog/content/blog/studio-for-prisma-postgres-view-and-edit-your-data-online/index.mdx index b4ba6de2b1..75fc3c4c1a 100644 --- a/apps/blog/content/blog/studio-for-prisma-postgres-view-and-edit-your-data-online/index.mdx +++ b/apps/blog/content/blog/studio-for-prisma-postgres-view-and-edit-your-data-online/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/ heroImagePath: "/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/hero-b9eb48224460d3dd63221a55e6322efd9f81e833-844x474.svg" tags: - "announcement" - - "data-platform" + - "platform" --- Prisma Studio is now available in the [Platform Console](http://console.prisma.io) for [Prisma Postgres](https://www.prisma.io/blog/announcing-prisma-postgres-early-access) databases. It’s the easiest way to explore and manipulate the data in your Prisma Postgres instance. Try it out now and let us know your feedback! diff --git a/apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx b/apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx index 1e067355ec..a736f69dac 100644 --- a/apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx +++ b/apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx @@ -10,7 +10,6 @@ metaImagePath: "/tracing-launch-announcement-pmk4rlpc0ll/imgs/meta-3de44ed88cad8 heroImagePath: "/tracing-launch-announcement-pmk4rlpc0ll/imgs/hero-e70fb09d875e161b9445bd00b298b6264d85362a-844x474.svg" heroImageAlt: "Prisma Support for Tracing and Metrics Is Now in Preview" tags: - - "release" - "announcement" - "orm" --- @@ -104,8 +103,3 @@ We are eager to hear from you! Try out these features and let us know what you t 📈 Share your [feedback on metrics](https://github.com/prisma/prisma/issues/13579). 🚀 If you plan to use these features for mission critical applications, please [contact us](https://prisma-data.typeform.com/to/D91R9T4i) to discuss your use case. - - - - - diff --git a/apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx b/apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx index c6779da639..10a1e69ac2 100644 --- a/apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx +++ b/apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx @@ -11,7 +11,7 @@ metaImagePath: "/tryg-customer-story-pdmdrRhTupvd/imgs/meta-4b9d0487846e751fc305 heroImagePath: "/tryg-customer-story-pdmdrRhTupvd/imgs/hero-efb10e8cb1102a57b7c9d1b71e7120cf47a8f068-846x426.png" heroImageAlt: "How Tryg has leveraged Prisma to democratize data" tags: - - "user-success-story" + - "case-study" --- Tryg saved huge amounts of time thanks to its “360” Data Broker platform that accelerated development cycles by removing the overhead incurred by configuring environments manually. diff --git a/apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx b/apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx index 089fbaff99..9648472c00 100644 --- a/apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx +++ b/apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/vscode-extension-prisma-rust-webassembly/imgs/meta-494b96fe117e heroImagePath: "/vscode-extension-prisma-rust-webassembly/imgs/hero-aa75a645380cd5b1759ad90ed111c2889eb1d5a8-870x454.png" heroImageAlt: "Improving the Prisma Visual Studio Code Extension with WebAssembly" tags: - - "release" + - "announcement" --- he Prisma Visual Studio Code extension is a key pillar of Prisma's developer experience. It enables you as a @@ -127,4 +127,3 @@ Upgrade the extension in VS Code for the same developer experience you love. ## Prisma is hiring If you found this blog post interesting and want to work on the future of developer tools for databases, Prisma is hiring! Check out our current [open positions](https://www.prisma.io/careers). - diff --git a/apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx b/apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx index eba4ca93f8..c068eb50b4 100644 --- a/apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx +++ b/apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero-d9d93ef80b07 heroImagePath: "/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero-d9d93ef80b0722fa2c50737272fd764619c66972-1692x852.png" heroImageAlt: "What's new in Prisma? (Q1/21)" tags: - - "release" + - "announcement" --- Learn about everything that has happened in the Prisma ecosystem and community from January to March 2021. @@ -817,4 +817,3 @@ The best places to stay up-to-date about what we are currently working on are [G We are currently working on a [connector for MongoDB](https://www.notion.so/prismaio/Support-MongoDB-9f115ebf4a754069a7d7eaae94dc4651) and are hoping to have an Early Access version of it ready in the next three months. Another major area we are focusing on is the development of a _cloud product_ that will make it easier for teams and larger organizations to collaborate on Prisma projects. To get an initial impression of what we are planning, you can [watch the talks from the Prisma Enterprise Event](https://prisma-data.typeform.com/to/YUln0miL). Stay tuned and keep an eye out for more articles on this blog in the next few weeks 👀 - diff --git a/apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx b/apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx index 9941a0dfd9..e7206cf005 100644 --- a/apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx +++ b/apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/meta-63928bca38d2 heroImagePath: "/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/hero-05546705b2ebe131d6a20b897c7bcb5616a60495-844x474.svg" heroImageAlt: "What's new in Prisma? (Q2/21)" tags: - - "release" + - "announcement" --- Learn about everything that has happened in the Prisma ecosystem and community from April to June 2021. @@ -550,4 +550,3 @@ Also, **we are hiring** for various roles! If you're interested in joining us an The best places to stay up-to-date about what we are currently working on are [GitHub issues](https://github.com/prisma/prisma/issues) and our public [roadmap](https://pris.ly/roadmap). (Mongo DB support coming soon 👀) You can also engage in conversations in our [Slack channel](https://slack.prisma.io), start a discussion on [GitHub](https://github.com/prisma/prisma/discussions) or join one of the many [Prisma meetups](https://www.prisma.io/community) around the world. - diff --git a/apps/blog/content/blog/why-prisma-2024/index.mdx b/apps/blog/content/blog/why-prisma-2024/index.mdx index 3fdf5fc775..6f37c6dbda 100644 --- a/apps/blog/content/blog/why-prisma-2024/index.mdx +++ b/apps/blog/content/blog/why-prisma-2024/index.mdx @@ -12,7 +12,7 @@ heroImagePath: "/why-prisma-2024/imgs/hero-a1ecc2ab21f5c90ec0fcaefa8b6edcb76568b heroImageAlt: "Why Use Prisma to Build Your Data Layer in 2024?" tags: - "orm" - - "data-platform" + - "platform" --- Prisma provides a robust suite of tools for building a scaleable, performant, and secure data layer! Using the most popular TypeScript ORM as foundation—and enhancing it with connection pooling, global caching, query insights, and more—you’re perfectly equipped to scale your app to millions of users. diff --git a/apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx b/apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx index bf51575898..924b306e5a 100644 --- a/apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx +++ b/apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/wnip-q1-dsk0golh8v/imgs/meta-e22bcc2581574927cdd406404700fda3e9 heroImagePath: "/wnip-q1-dsk0golh8v/imgs/hero-ca96e8f08146b21676bd4faa9978dc1a2cd9a2c5-870x438.png" heroImageAlt: "What's new in Prisma? (Q1/22)" tags: - - "release" + - "announcement" --- Learn about everything in the Prisma ecosystem and community from January to March 2022. @@ -712,4 +712,3 @@ The best places to stay up-to-date about what we're currently working on are [Gi You can also engage in conversations in our [Slack channel](https://slack.prisma.io), and start a discussion on [GitHub](https://github.com/prisma/prisma/discussions) or join one of the many [Prisma meetups](https://www.prisma.io/community) around the world. If you never want to miss any news from the Prisma community, [follow us on X/Twitter](https://pris.ly/x). - diff --git a/apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx b/apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx index e1c82c7e3a..ed556a9196 100644 --- a/apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx +++ b/apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/wnip-q2-2022-pmn7rulcj8x/imgs/meta-299642e5f461a1e5ef5ef3b5171f heroImagePath: "/wnip-q2-2022-pmn7rulcj8x/imgs/hero-fa9e8efd5bfc7d38784f178886df9098cfd402e9-870x438.png" heroImageAlt: "What's new in Prisma? (Q2/22)" tags: - - "release" + - "announcement" --- Learn about everything in the Prisma ecosystem and community from April to July 2022. diff --git a/apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx b/apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx index 81ab52cd2d..d4f006f42a 100644 --- a/apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx +++ b/apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/wnip-q3-hpk7pyth8v/imgs/hero-0bf3438608c28b9ef3150de53f989a640c heroImagePath: "/wnip-q3-hpk7pyth8v/imgs/hero-0bf3438608c28b9ef3150de53f989a640c833311-1692x852.png" heroImageAlt: "What's new in Prisma? (Q3/21)" tags: - - "release" + - "announcement" --- Learn about everything that has happened in the Prisma ecosystem and community from July to September 2021. diff --git a/apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx b/apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx index 0b4c3635e2..136e8cc1e1 100644 --- a/apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx +++ b/apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/wnip-q4-2022-f66prwkjx72s/imgs/hero-2a1d85280674d8ee68aa0122190 heroImagePath: "/wnip-q4-2022-f66prwkjx72s/imgs/hero-2a1d85280674d8ee68aa0122190539f17f9774fd-2230x1124.png" heroImageAlt: "What's new in Prisma? (Q4/22)" tags: - - "release" + - "announcement" --- Here’s all you need to know about the Prisma ecosystem and community from August to December 2022. diff --git a/apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx b/apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx index 733a88adb3..76a88c375b 100644 --- a/apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx +++ b/apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/wnip-q4-dsk0golh8v/imgs/meta-ff86a30923498fa56a5cbddf6750801a5c heroImagePath: "/wnip-q4-dsk0golh8v/imgs/hero-a3f37c182ad811688a9551cfdf4a3ded6e129c85-844x474.svg" heroImageAlt: "What's new in Prisma? (Q4/21)" tags: - - "release" + - "announcement" --- Learn about everything that has happened in the Prisma ecosystem and community from July to September 2021. diff --git a/apps/blog/next.config.mjs b/apps/blog/next.config.mjs index 873525e9a3..1d8869a808 100644 --- a/apps/blog/next.config.mjs +++ b/apps/blog/next.config.mjs @@ -198,7 +198,9 @@ 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); @@ -210,13 +212,11 @@ const config = { const tagSlugs = [ "ai", "announcement", - "data-platform", + "platform", "education", "orm", "prisma-postgres", - "release", - "serverless", - "user-success-story", + "case-study", ]; return [ diff --git a/apps/blog/source.config.ts b/apps/blog/source.config.ts index 0ba8a62bc4..f4f818b202 100644 --- a/apps/blog/source.config.ts +++ b/apps/blog/source.config.ts @@ -1,7 +1,14 @@ 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"; @@ -28,12 +35,10 @@ export const blogPosts = defineCollections({ "ai", "studio", "announcement", - "data-platform", + "platform", "orm", - "serverless", - "release", "education", - "user-success-story", + "case-study", ]), ) .optional(), @@ -61,20 +66,26 @@ export default defineConfig({ // Custom package managers to add --bun flag for bunx commands packageManagers: [ { - command: (cmd: string) => convert(cmd.replace(/^npm init -y$/, "npm init"), "npm"), + 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"), + 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"), + 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"); + const converted = convert( + cmd.replace(/^npm init -y$/, "npm init"), + "bun", + ); if (!converted) return undefined; return converted.replace(/^bun x /, "bunx --bun "); }, diff --git a/apps/blog/src/app/(blog)/[slug]/page.tsx b/apps/blog/src/app/(blog)/[slug]/page.tsx index 068b22171a..6ed5d92885 100644 --- a/apps/blog/src/app/(blog)/[slug]/page.tsx +++ b/apps/blog/src/app/(blog)/[slug]/page.tsx @@ -16,6 +16,7 @@ import { } from "@/lib/url"; import Link from "next/link"; import type { Metadata } from "next"; +import { cn } from "@prisma-docs/ui/lib/cn"; interface TOCItem { title: string; @@ -118,7 +119,7 @@ function getBlogPostingJsonLd( logo: { "@type": "ImageObject", url: "https://www.prisma.io/logo.png", - } + }, }, }; @@ -177,7 +178,7 @@ export default async function Page(props: { > ← Back to Blog -

+

{page.data.title}

@@ -222,6 +223,20 @@ export default async function Page(props: { ( +

+ + {props.children} + + +

+ ), })} />
diff --git a/apps/blog/src/components/BlogHomeClient.tsx b/apps/blog/src/components/BlogHomeClient.tsx index e508f9b07b..11e1cfcaf4 100644 --- a/apps/blog/src/components/BlogHomeClient.tsx +++ b/apps/blog/src/components/BlogHomeClient.tsx @@ -74,7 +74,8 @@ export function BlogHomeClient({ items, uniqueTags }: BlogHomeClientProps) { const tagFromQuery = searchParams.get("tag") ?? undefined; const validTags = new Set(uniqueTags); - const currentCategory = tagFromQuery && validTags.has(tagFromQuery) ? tagFromQuery : SHOW_ALL; + const currentCategory = + tagFromQuery && validTags.has(tagFromQuery) ? tagFromQuery : SHOW_ALL; const filteredItems = currentCategory === SHOW_ALL @@ -82,13 +83,19 @@ export function BlogHomeClient({ items, uniqueTags }: BlogHomeClientProps) { : items.filter((item) => item.tags?.includes(currentCategory)); const totalPages = Math.max(1, Math.ceil(filteredItems.length / PAGE_SIZE)); - const currentPage = Math.max(1, Math.min(parsePage(searchParams.get("page")), totalPages)); + const currentPage = Math.max( + 1, + Math.min(parsePage(searchParams.get("page")), totalPages), + ); const shouldShowFeatured = currentCategory === SHOW_ALL && currentPage === 1; const featuredPost = shouldShowFeatured ? filteredItems[0] : undefined; const postsToRender = shouldShowFeatured ? filteredItems.slice(1, PAGE_SIZE) - : filteredItems.slice((currentPage - 1) * PAGE_SIZE, currentPage * PAGE_SIZE); + : filteredItems.slice( + (currentPage - 1) * PAGE_SIZE, + currentPage * PAGE_SIZE, + ); const paginationSequence = getPaginationSequence(totalPages, currentPage); @@ -98,7 +105,7 @@ export function BlogHomeClient({ items, uniqueTags }: BlogHomeClientProps) {
@@ -115,7 +122,10 @@ export function BlogHomeClient({ items, uniqueTags }: BlogHomeClientProps) { @@ -140,7 +150,10 @@ export function BlogHomeClient({ items, uniqueTags }: BlogHomeClientProps) { ))} diff --git a/packages/ui/src/components/post-card.tsx b/packages/ui/src/components/post-card.tsx index 7137821c74..db4dce916a 100644 --- a/packages/ui/src/components/post-card.tsx +++ b/packages/ui/src/components/post-card.tsx @@ -45,10 +45,7 @@ export function PostCard({ ); const titleClassName = cn( - "text-foreground-neutral font-mona-sans mt-4 mb-2", - isFeatured - ? "text-2xl font-bold" - : "text-md md:text-lg font-[650] sm:font-bold", + "text-foreground-neutral mt-4 mb-2 type-heading-xl", ); const excerptClassName = cn( "text-sm text-foreground-neutral-weak line-clamp-2", From 2c268a3944cdeb6b4088edbd0d5cc33bbfa82f55 Mon Sep 17 00:00:00 2001 From: Carla Goncalves Date: Fri, 8 May 2026 09:26:39 +0100 Subject: [PATCH 06/15] Update blog regex for h2 --- .../blog/prisma-6-8-0-release/index.mdx | 2 +- apps/blog/src/app/(blog)/[slug]/page.tsx | 29 ++++++++++--------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/apps/blog/content/blog/prisma-6-8-0-release/index.mdx b/apps/blog/content/blog/prisma-6-8-0-release/index.mdx index 20e011e889..a8497e1eec 100644 --- a/apps/blog/content/blog/prisma-6-8-0-release/index.mdx +++ b/apps/blog/content/blog/prisma-6-8-0-release/index.mdx @@ -117,7 +117,7 @@ You can now deploy your Prisma Postgres instance in Singapore and bring your app [Follow us on X and vote on the next poll](https://pris.ly/x?utm_source=blog&utm_content=cta_button) -## **Stay in the loop** +## Stay in the loop We’re working to build a more powerful developer experience with Prisma 6.8.0 and beyond. From local-first database development and real-time documentation lookups to edge-ready Deno deployments, it's all designed to keep you coding, *not configuring*. diff --git a/apps/blog/src/app/(blog)/[slug]/page.tsx b/apps/blog/src/app/(blog)/[slug]/page.tsx index 6ed5d92885..f628db804a 100644 --- a/apps/blog/src/app/(blog)/[slug]/page.tsx +++ b/apps/blog/src/app/(blog)/[slug]/page.tsx @@ -223,20 +223,23 @@ export default async function Page(props: { ( -

- { + const final_id = props.children + .toLowerCase() + .replaceAll(" ", "-") + .replace(/[^a-z0-9-]/g, ""); + return ( +

- {props.children} - - -

- ), + + {props.children} + + +

+ ); + }, })} />
From 9784f593616d6c1255dc4cf627718d0e7d651d3c Mon Sep 17 00:00:00 2001 From: Carla Goncalves Date: Fri, 8 May 2026 09:29:51 +0100 Subject: [PATCH 07/15] Update text extract --- apps/blog/src/app/(blog)/[slug]/page.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/blog/src/app/(blog)/[slug]/page.tsx b/apps/blog/src/app/(blog)/[slug]/page.tsx index f628db804a..29ca7bc30c 100644 --- a/apps/blog/src/app/(blog)/[slug]/page.tsx +++ b/apps/blog/src/app/(blog)/[slug]/page.tsx @@ -1,3 +1,4 @@ +import React from "react"; import { formatTag, formatDate } from "@/lib/format"; import { notFound } from "next/navigation"; import { getMDXComponents } from "@/mdx-components"; @@ -153,6 +154,15 @@ function getBlogPostingJsonLd( return jsonLd; } +function extractText(node: React.ReactNode): string { + if (typeof node === "string") return node; + if (typeof node === "number") return String(node); + if (Array.isArray(node)) return node.map(extractText).join(""); + if (React.isValidElement(node)) + return extractText((node.props as { children?: React.ReactNode }).children); + return ""; +} + export default async function Page(props: { params: Promise<{ slug: string }>; }) { @@ -224,7 +234,7 @@ export default async function Page(props: { components={getMDXComponents({ a: createRelativeLink(blog, page), h2: (props) => { - const final_id = props.children + const final_id = extractText(props.children) .toLowerCase() .replaceAll(" ", "-") .replace(/[^a-z0-9-]/g, ""); From a69be0c3dd9a59d75c65bd3ef4ada09284b578f5 Mon Sep 17 00:00:00 2001 From: Carla Goncalves Date: Fri, 8 May 2026 09:38:54 +0100 Subject: [PATCH 08/15] remove missalignment --- packages/ui/src/components/newsletter.tsx | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/packages/ui/src/components/newsletter.tsx b/packages/ui/src/components/newsletter.tsx index 7481ebe29a..c8b201cc4a 100644 --- a/packages/ui/src/components/newsletter.tsx +++ b/packages/ui/src/components/newsletter.tsx @@ -5,7 +5,9 @@ import { Button, Input } from "@prisma/eclipse"; import { cn } from "@prisma-docs/ui/lib/cn"; import { useNewsletter } from "../hooks/use-newsletter"; -const icon = (name: string) => ; +const icon = (name: string) => ( + +); type ColorType = "orm" | "ppg" | undefined; @@ -16,9 +18,19 @@ type FooterNewsletterFormProps = { apiUrl?: string; }; -export const FooterNewsletterForm = ({ blog = false, apiUrl }: FooterNewsletterFormProps) => { - const { email, setEmail, isSubmitting, isSubmitted, isAlreadySubscribed, error, subscribe } = - useNewsletter({ apiUrl }); +export const FooterNewsletterForm = ({ + blog = false, + apiUrl, +}: FooterNewsletterFormProps) => { + const { + email, + setEmail, + isSubmitting, + isSubmitted, + isAlreadySubscribed, + error, + subscribe, + } = useNewsletter({ apiUrl }); const buttonText = blog ? "Sign up" : "Subscribe"; @@ -86,7 +98,7 @@ export const FooterNewsletterForm = ({ blog = false, apiUrl }: FooterNewsletterF />
-
+
{statusMessage ? (

Date: Fri, 8 May 2026 10:18:27 +0100 Subject: [PATCH 09/15] Fix things per coderabbit --- .../index.mdx | 2 +- apps/blog/src/app/(blog)/[slug]/page.tsx | 17 +++++++++++++---- .../homepage/card-section/logo-grid.tsx | 1 - 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx b/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx index 9f45c99093..09a2e07b84 100644 --- a/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx +++ b/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx @@ -10,7 +10,7 @@ metaImagePath: "/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/meta-16b heroImagePath: "/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/hero-39edebe28834872f6ce4c951529f02ea55725adc-844x474.svg" heroImageAlt: "How Prisma & Serverless Fit Together" tags: - - "case-study" + - "platform" --- As we shift towards a serverless world, we create new opportunities and new problems to be solved. One problem has Prisma's attention: how to make databases fit into a serverless world. diff --git a/apps/blog/src/app/(blog)/[slug]/page.tsx b/apps/blog/src/app/(blog)/[slug]/page.tsx index 29ca7bc30c..8bac229e23 100644 --- a/apps/blog/src/app/(blog)/[slug]/page.tsx +++ b/apps/blog/src/app/(blog)/[slug]/page.tsx @@ -234,10 +234,19 @@ export default async function Page(props: { components={getMDXComponents({ a: createRelativeLink(blog, page), h2: (props) => { - const final_id = extractText(props.children) - .toLowerCase() - .replaceAll(" ", "-") - .replace(/[^a-z0-9-]/g, ""); + const providedId = + typeof (props as { id?: unknown }).id === "string" + ? ((props as { id?: string }).id ?? "") + : ""; + const final_id = + providedId || + extractText(props.children) + .trim() + .toLowerCase() + .replace(/\s+/g, "-") + .replace(/[^a-z0-9-]/g, "") + .replace(/-+/g, "-") + .replace(/^-|-$/g, ""); return (

{ className={cn(imageClassName, "block dark:hidden")} /> )} - {console.log(lightImageUrl, darkImageUrl, logo)} Date: Fri, 8 May 2026 15:45:30 +0100 Subject: [PATCH 10/15] Update nextjs for dark mode --- apps/site/public/icons/technologies/nextjs-light.svg | 2 +- .../src/components/homepage/card-section/default-logos.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/site/public/icons/technologies/nextjs-light.svg b/apps/site/public/icons/technologies/nextjs-light.svg index 8b5ae1b5ab..90de0507c1 100644 --- a/apps/site/public/icons/technologies/nextjs-light.svg +++ b/apps/site/public/icons/technologies/nextjs-light.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/apps/site/src/components/homepage/card-section/default-logos.json b/apps/site/src/components/homepage/card-section/default-logos.json index 6888c85b7a..18ec1dab2a 100644 --- a/apps/site/src/components/homepage/card-section/default-logos.json +++ b/apps/site/src/components/homepage/card-section/default-logos.json @@ -55,8 +55,8 @@ }, { "link": "https://www.prisma.io/docs/guides/nextjs", - "imageUrl": "/icons/technologies/nextjs.svg", - "imageUrlLight": "/icons/technologies/nextjs-light.svg", + "imageUrlLight": "/icons/technologies/nextjs.svg", + "imageUrl": "/icons/technologies/nextjs-light.svg", "alt": "Next.js" }, { From 31bee9f4026b82c15ac330aceb8bc545dca51117 Mon Sep 17 00:00:00 2001 From: Carla Goncalves Date: Fri, 8 May 2026 15:57:07 +0100 Subject: [PATCH 11/15] Update navigation mobile --- apps/site/src/app/layout.tsx | 8 +++++++- packages/ui/src/components/navigation-menu.tsx | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/site/src/app/layout.tsx b/apps/site/src/app/layout.tsx index eec0f014eb..b1530894bc 100644 --- a/apps/site/src/app/layout.tsx +++ b/apps/site/src/app/layout.tsx @@ -3,7 +3,7 @@ import { createSiteStructuredData } from "@/lib/structured-data"; import { getBaseUrl } from "@/lib/url"; import "./global.css"; import { Inter } from "next/font/google"; -import type { Metadata } from "next"; +import type { Metadata, Viewport } from "next"; import Script from "next/script"; import type React from "react"; import { SITE_HOME_DESCRIPTION, SITE_HOME_TITLE } from "@/lib/site-metadata"; @@ -22,6 +22,12 @@ const inter = Inter({ variable: "--font-inter", }); +export const viewport: Viewport = { + width: "device-width", + initialScale: 1, + viewportFit: "cover", +}; + export const metadata: Metadata = { metadataBase: new URL(getBaseUrl()), title: SITE_HOME_TITLE, diff --git a/packages/ui/src/components/navigation-menu.tsx b/packages/ui/src/components/navigation-menu.tsx index 5c9a6ae9bc..065ea12567 100644 --- a/packages/ui/src/components/navigation-menu.tsx +++ b/packages/ui/src/components/navigation-menu.tsx @@ -461,7 +461,7 @@ function NavigationMobileMenu({ buttonVariant?: "ppg" | "orm"; }) { return ( -
+
{links.map((link) => link.url ? ( @@ -482,7 +482,7 @@ function NavigationMobileMenu({ ) : null, )}
-
+
From 9ba43bc44a4203fa643bfa8cb774955248e6c399 Mon Sep 17 00:00:00 2001 From: Carla Goncalves Date: Fri, 8 May 2026 15:58:20 +0100 Subject: [PATCH 12/15] Update eyebrow for orm --- apps/site/src/app/orm/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/site/src/app/orm/page.tsx b/apps/site/src/app/orm/page.tsx index 44bc0c356a..a6e067a958 100644 --- a/apps/site/src/app/orm/page.tsx +++ b/apps/site/src/app/orm/page.tsx @@ -293,7 +293,7 @@ export default function ORM() {
-
+
Prisma ORM
From 7a67d81b9d090a7d9cb3e604f589b79f23f3a8d0 Mon Sep 17 00:00:00 2001 From: Carla Goncalves Date: Fri, 8 May 2026 15:59:01 +0100 Subject: [PATCH 13/15] Update studio color --- apps/site/src/app/studio/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/site/src/app/studio/page.tsx b/apps/site/src/app/studio/page.tsx index fc1820bd19..5bba390527 100644 --- a/apps/site/src/app/studio/page.tsx +++ b/apps/site/src/app/studio/page.tsx @@ -115,7 +115,7 @@ export default function StudioPage() {
-
+