Skip to content

Deploy web surfaces to Prisma Compute#7967

Open
sorenbs wants to merge 4 commits into
mainfrom
codex/deployed-to-compute-readme
Open

Deploy web surfaces to Prisma Compute#7967
sorenbs wants to merge 4 commits into
mainfrom
codex/deployed-to-compute-readme

Conversation

@sorenbs

@sorenbs sorenbs commented Jun 19, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Documentation
    • Added a “Deployed to Compute” section to the README with live URLs, screenshots, and an obstacles report for the Compute deployment.
  • Chores
    • Updated blog build settings to better support Compute deployments (conditional standalone output and asset prefix handling).
    • Updated git ignore patterns for Compute and Playwright artifacts.
  • Content
    • Cleared large sets of legacy blog posts/pages from the repository, while adding new Accelerate cacheStrategy examples to one post.

@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
blog Ready Ready Preview, Comment Jun 19, 2026 11:35am
docs Ready Ready Preview, Comment Jun 19, 2026 11:35am
eclipse Ready Ready Preview, Comment Jun 19, 2026 11:35am
site Ready Ready Preview, Comment Jun 19, 2026 11:35am

Request Review

@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 4c4c816e-fa6b-4f99-8790-a57f63b7ac24

📥 Commits

Reviewing files that changed from the base of the PR and between fc80b02 and 0ea23f4.

📒 Files selected for processing (1)
  • README.md
✅ Files skipped from review due to trivial changes (1)
  • README.md

Walkthrough

The blog Next.js config gains a PRISMA_COMPUTE_DEPLOY flag that conditionally enables standalone output, workspace-rooted file tracing, and drops the static asset prefix. Gitignore is updated with Compute artifact patterns. A new README section documents the live Compute deployment URLs, screenshots, and an obstacles report mapping specific blockers to their resolutions. One blog MDX post adds cacheStrategy examples; many older MDX posts have their content pruned.

Changes

Blog Compute Deployment Adaptation

Layer / File(s) Summary
Blog Next.js config: Compute standalone output and asset prefix
apps/blog/next.config.mjs
Derives workspaceRoot from import.meta.url, reads isPrismaComputeDeploy from PRISMA_COMPUTE_DEPLOY, conditionally sets output: "standalone", outputFileTracingRoot, turbopack.root, and omits assetPrefix under Compute.
Gitignore: Compute artifacts and Playwright CLI directory
.gitignore
Adds .compute, .compute-pruned-*, and .playwright-cli/ ignore patterns; replaces prisma-next/ with .prisma/ in the local Prisma-next section.
README: DEPLOYED TO COMPUTE documentation
README.md
Adds live URLs table for homepage, docs, and blog Compute endpoints; includes per-surface screenshots; documents an Obstacles Report table mapping deployment blockers to specific config changes and workflow resolutions.
Blog content: cacheStrategy examples
apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx
Adds Prisma Client cacheStrategy examples demonstrating ttl, swr, and combined ttl + swr configurations in prisma.user.findMany queries.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Deploy web surfaces to Prisma Compute' directly and concisely describes the main objective of the changeset—deploying web surfaces to Prisma Compute infrastructure.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@argos-ci

argos-ci Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) ⚠️ Changes detected (Review) 1 changed Jun 19, 2026, 11:40 AM

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (4)
apps/blog/next.config.mjs (1)

214-216: 💤 Low value

Consider whether outputFileTracingRoot and turbopack.root should be conditional.

These settings are applied unconditionally (both Compute and non-Compute builds), while output and assetPrefix are conditional. If workspace-rooted tracing is only required for Compute deployments, you may want to guard them with isPrismaComputeDeploy. However, if they improve monorepo dependency resolution in all build modes, the current unconditional approach is fine.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/blog/next.config.mjs` around lines 214 - 216, Review whether the
`outputFileTracingRoot` and `turbopack.root` configuration options in the
Next.js config are only required for Compute deployments or needed for all build
modes. If they are Compute-specific (like the conditional `output` and
`assetPrefix` settings above them), wrap them with the `isPrismaComputeDeploy`
conditional check. If they improve monorepo dependency resolution in all build
modes, the current unconditional approach is appropriate and no change is
needed.
apps/docs/src/app/api/search/route.ts (1)

118-123: ⚡ Quick win

Consider logging when the API key is missing.

The site search route logs a warning when the Mixedbread client is unavailable. This route silently returns an empty array, which may hinder troubleshooting during deployment.

📋 Suggested logging addition
 export function GET(...args: Parameters<SearchApi["GET"]>) {
   const api = getSearchApi();
-  if (!api) return NextResponse.json([]);
+  if (!api) {
+    console.warn("Docs search called but MIXEDBREAD_API_KEY is not set");
+    return NextResponse.json([]);
+  }

   return api.GET(...args);
 }

As per the site search route (apps/site/src/app/api/search/route.ts:114-117), which logs errors when the Mixedbread client is null.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/docs/src/app/api/search/route.ts` around lines 118 - 123, The GET
function in this file silently returns an empty array when getSearchApi()
returns null, which makes it difficult to troubleshoot deployment issues.
Similar to the search route in apps/site/src/app/api/search/route.ts (lines
114-117) which logs a warning when the Mixedbread client is unavailable, add
logging to the conditional block in the GET function here that checks if api is
falsy. Include a warning or error log message that indicates the search API is
not available before returning the empty response.
apps/blog/src/app/api/search/route.ts (1)

60-65: ⚡ Quick win

Consider logging when the API key is missing.

The site search route logs a warning when the Mixedbread client is unavailable, helping operators diagnose configuration issues. This route silently returns an empty array, which may make troubleshooting harder.

📋 Suggested logging addition
 export function GET(...args: Parameters<SearchApi["GET"]>) {
   const api = getSearchApi();
-  if (!api) return NextResponse.json([]);
+  if (!api) {
+    console.warn("Blog search called but MIXEDBREAD_API_KEY is not set");
+    return NextResponse.json([]);
+  }

   return api.GET(...args);
 }

As per the site search route (apps/site/src/app/api/search/route.ts:114-117), which logs errors when the Mixedbread client is null.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/blog/src/app/api/search/route.ts` around lines 60 - 65, The GET function
in the search route silently returns an empty array when getSearchApi returns
null without any logging, making it difficult for operators to diagnose
configuration issues. Add a warning or error log statement in the GET function
when the api is null (in the if (!api) condition) to log that the search API is
unavailable, similar to how the Mixedbread client unavailability is logged in
the site search route.
scripts/compute-static-snapshot.mjs (1)

56-56: 💤 Low value

Consider extracting the timeout to a named constant.

The 180-second timeout is embedded as 180_000 with no context. A named constant like SNAPSHOT_TIMEOUT_MS would improve readability.

♻️ Suggested refactor
+const SNAPSHOT_TIMEOUT_MS = 180_000;
+
 async function waitForSnapshot(url) {
   const started = Date.now();
   let lastError;
 
-  while (Date.now() - started < 180_000) {
+  while (Date.now() - started < SNAPSHOT_TIMEOUT_MS) {
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/compute-static-snapshot.mjs` at line 56, The magic number 180_000
appears directly in the while loop condition without any explanation of what it
represents. Extract this timeout value into a named constant called
SNAPSHOT_TIMEOUT_MS at the top of the file, then replace the hardcoded 180_000
with a reference to this constant. This improves code readability by making the
intent clear that this is a snapshot timeout duration measured in milliseconds.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@package.json`:
- Line 16: The `@prisma/compute-sdk` dependency is specified with version ^0.28.0,
which does not exist in the published registry. Update this dependency in
package.json to use an available version, specifically 0.23.0 which is the
latest published version. This will resolve installation failures and ensure the
package can be properly resolved during npm install.

In `@scripts/compute-static-snapshot.mjs`:
- Around line 73-92: The startStandaloneServer function spawns a child process
without handling error conditions such as missing bun executable, missing
server.js file, or immediate process exit failures. Add an 'error' event
listener to the child process to catch spawn failures and log descriptive error
messages, and add an 'exit' event listener to detect if the server process exits
immediately with a non-zero exit code so that failures are reported immediately
rather than allowing waitForSnapshot to retry for 180 seconds.

---

Nitpick comments:
In `@apps/blog/next.config.mjs`:
- Around line 214-216: Review whether the `outputFileTracingRoot` and
`turbopack.root` configuration options in the Next.js config are only required
for Compute deployments or needed for all build modes. If they are
Compute-specific (like the conditional `output` and `assetPrefix` settings above
them), wrap them with the `isPrismaComputeDeploy` conditional check. If they
improve monorepo dependency resolution in all build modes, the current
unconditional approach is appropriate and no change is needed.

In `@apps/blog/src/app/api/search/route.ts`:
- Around line 60-65: The GET function in the search route silently returns an
empty array when getSearchApi returns null without any logging, making it
difficult for operators to diagnose configuration issues. Add a warning or error
log statement in the GET function when the api is null (in the if (!api)
condition) to log that the search API is unavailable, similar to how the
Mixedbread client unavailability is logged in the site search route.

In `@apps/docs/src/app/api/search/route.ts`:
- Around line 118-123: The GET function in this file silently returns an empty
array when getSearchApi() returns null, which makes it difficult to troubleshoot
deployment issues. Similar to the search route in
apps/site/src/app/api/search/route.ts (lines 114-117) which logs a warning when
the Mixedbread client is unavailable, add logging to the conditional block in
the GET function here that checks if api is falsy. Include a warning or error
log message that indicates the search API is not available before returning the
empty response.

In `@scripts/compute-static-snapshot.mjs`:
- Line 56: The magic number 180_000 appears directly in the while loop condition
without any explanation of what it represents. Extract this timeout value into a
named constant called SNAPSHOT_TIMEOUT_MS at the top of the file, then replace
the hardcoded 180_000 with a reference to this constant. This improves code
readability by making the intent clear that this is a snapshot timeout duration
measured in milliseconds.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: bbd12154-5109-4b14-a1b2-fb433f4a0b48

📥 Commits

Reviewing files that changed from the base of the PR and between ea2aa11 and cdd9966.

⛔ Files ignored due to path filters (4)
  • docs/compute-deploy/prisma-compute-blog.png is excluded by !**/*.png
  • docs/compute-deploy/prisma-compute-docs.png is excluded by !**/*.png
  • docs/compute-deploy/prisma-compute-homepage.png is excluded by !**/*.png
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (15)
  • .gitignore
  • README.md
  • apps/blog/next.config.mjs
  • apps/blog/src/app/api/search/route.ts
  • apps/docs/next.config.mjs
  • apps/docs/src/app/(docs)/(default)/[[...slug]]/page.tsx
  • apps/docs/src/app/api/search/route.ts
  • apps/docs/src/app/llms.mdx/[[...slug]]/route.ts
  • apps/docs/src/app/llms/[...slug]/route.ts
  • apps/docs/src/app/og/[...slug]/route.tsx
  • apps/site/next.config.mjs
  • package.json
  • prisma.compute.ts
  • scripts/compute-static-snapshot.mjs
  • turbo.json

Comment thread package.json
"lint:spellcheck": "turbo run lint:spellcheck --filter=docs"
},
"devDependencies": {
"@prisma/compute-sdk": "^0.28.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

What is the latest version of @prisma/compute-sdk npm package?

💡 Result:

The latest version of the @prisma/compute-sdk npm package is 0.23.0 [1]. While the official npm registry page currently lists 0.22.0 as the most recently updated version on June 3, 2026 [2][3][4], the package is also available via the jsDelivr CDN, which documents version 0.23.0 as part of its available files [1].

Citations:


Update @prisma/compute-sdk to an available version.

The specified version ^0.28.0 does not exist. The latest published version is 0.23.0. Update the dependency to use an existing version to avoid installation failures.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@package.json` at line 16, The `@prisma/compute-sdk` dependency is specified
with version ^0.28.0, which does not exist in the published registry. Update
this dependency in package.json to use an available version, specifically 0.23.0
which is the latest published version. This will resolve installation failures
and ensure the package can be properly resolved during npm install.

Comment thread scripts/compute-static-snapshot.mjs Outdated
Comment on lines +73 to +92
function startStandaloneServer() {
const serverPath = path.join(appDir, ".next/standalone", target.appDir, "server.js");
const child = spawn("bun", [serverPath], {
cwd: repoRoot,
env: {
...process.env,
HOSTNAME: "127.0.0.1",
NEXT_TELEMETRY_DISABLED: "1",
NODE_ENV: "production",
PORT: port,
PRISMA_COMPUTE_DEPLOY: "true",
},
stdio: ["ignore", "pipe", "pipe"],
});

child.stdout.on("data", (chunk) => process.stdout.write(chunk));
child.stderr.on("data", (chunk) => process.stderr.write(chunk));

return child;
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add error handling for server spawn failures.

The script spawns the standalone server but doesn't handle cases where:

  • The bun executable is not found
  • The server.js file doesn't exist (if the Turbo build failed silently)
  • The server process exits immediately with an error

Without error handlers, waitForSnapshot will retry for 180 seconds before timing out with an unclear error message.

🛡️ Proposed fix
 function startStandaloneServer() {
   const serverPath = path.join(appDir, ".next/standalone", target.appDir, "server.js");
   const child = spawn("bun", [serverPath], {
     cwd: repoRoot,
     env: {
       ...process.env,
       HOSTNAME: "127.0.0.1",
       NEXT_TELEMETRY_DISABLED: "1",
       NODE_ENV: "production",
       PORT: port,
       PRISMA_COMPUTE_DEPLOY: "true",
     },
     stdio: ["ignore", "pipe", "pipe"],
   });
 
+  child.on("error", (error) => {
+    console.error("Failed to spawn server:", error.message);
+  });
+
+  child.on("exit", (code, signal) => {
+    if (code !== null && code !== 0) {
+      console.error(`Server exited with code ${code}`);
+    } else if (signal !== null) {
+      console.error(`Server killed by signal ${signal}`);
+    }
+  });
+
   child.stdout.on("data", (chunk) => process.stdout.write(chunk));
   child.stderr.on("data", (chunk) => process.stderr.write(chunk));
 
   return child;
 }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
function startStandaloneServer() {
const serverPath = path.join(appDir, ".next/standalone", target.appDir, "server.js");
const child = spawn("bun", [serverPath], {
cwd: repoRoot,
env: {
...process.env,
HOSTNAME: "127.0.0.1",
NEXT_TELEMETRY_DISABLED: "1",
NODE_ENV: "production",
PORT: port,
PRISMA_COMPUTE_DEPLOY: "true",
},
stdio: ["ignore", "pipe", "pipe"],
});
child.stdout.on("data", (chunk) => process.stdout.write(chunk));
child.stderr.on("data", (chunk) => process.stderr.write(chunk));
return child;
}
function startStandaloneServer() {
const serverPath = path.join(appDir, ".next/standalone", target.appDir, "server.js");
const child = spawn("bun", [serverPath], {
cwd: repoRoot,
env: {
...process.env,
HOSTNAME: "127.0.0.1",
NEXT_TELEMETRY_DISABLED: "1",
NODE_ENV: "production",
PORT: port,
PRISMA_COMPUTE_DEPLOY: "true",
},
stdio: ["ignore", "pipe", "pipe"],
});
child.on("error", (error) => {
console.error("Failed to spawn server:", error.message);
});
child.on("exit", (code, signal) => {
if (code !== null && code !== 0) {
console.error(`Server exited with code ${code}`);
} else if (signal !== null) {
console.error(`Server killed by signal ${signal}`);
}
});
child.stdout.on("data", (chunk) => process.stdout.write(chunk));
child.stderr.on("data", (chunk) => process.stderr.write(chunk));
return child;
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/compute-static-snapshot.mjs` around lines 73 - 92, The
startStandaloneServer function spawns a child process without handling error
conditions such as missing bun executable, missing server.js file, or immediate
process exit failures. Add an 'error' event listener to the child process to
catch spawn failures and log descriptive error messages, and add an 'exit' event
listener to detect if the server process exits immediately with a non-zero exit
code so that failures are reported immediately rather than allowing
waitForSnapshot to retry for 180 seconds.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
README.md (1)

43-43: 💤 Low value

Minor grammar suggestion: consider hyphenating compound modifier.

Line 43 reads "does not ship sibling generated files automatically." For clarity and consistency with modern style guides, consider: "does not ship sibling-generated files automatically" or "does not ship generated sibling files automatically."

This is optional and does not affect meaning, but hyphenating compound modifiers is a stylistic best practice.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 43, In the README.md file, locate the phrase "does not
ship sibling generated files automatically" on line 43. Apply proper hyphenation
to the compound modifier by changing it to either "does not ship
sibling-generated files automatically" or "does not ship generated sibling files
automatically" to improve grammar clarity and consistency with modern style
guides.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@README.md`:
- Line 43: In the README.md file, locate the phrase "does not ship sibling
generated files automatically" on line 43. Apply proper hyphenation to the
compound modifier by changing it to either "does not ship sibling-generated
files automatically" or "does not ship generated sibling files automatically" to
improve grammar clarity and consistency with modern style guides.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 32abfdd8-08c1-46aa-a42d-a11991c5789d

📥 Commits

Reviewing files that changed from the base of the PR and between cdd9966 and fc80b02.

⛔ Files ignored due to path filters (145)
  • apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/48bf68ea87d144f63f476efc98b9ba9d5ccb29a8-400x400.jpg is excluded by !**/*.jpg
  • apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/832974c6ad7e1bb0e8ca928e5d1a0b58ccfe8220-800x800.jpg is excluded by !**/*.jpg
  • apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/formbricks.svg is excluded by !**/*.svg
  • apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/hero-de83f5f843f2a86abd05659c94c3069e7577a0f5-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/logo-cal.svg is excluded by !**/*.svg
  • apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/meta-42554fa75736c00b0ca55e1e440dde26f43dcb3f-1266x711.png is excluded by !**/*.png
  • apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/connection-pool-located-in-the-database-region.png is excluded by !**/*.png
  • apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/global-cache.png is excluded by !**/*.png
  • apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/hero-587aeef34568af2258cd4e5f0453710b0b94259c-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/meta-3a75c0ed5f8837980765d5b7589367216653d6b7-1266x711.png is excluded by !**/*.png
  • apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero-ebd9548e6d9cfb33c4e35eac48e11a80532a8d30-1440x960.jpg is excluded by !**/*.jpg
  • apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/hero-1bdf6237d95ded8d448f28db203012147fdcd39e-846x426.png is excluded by !**/*.png
  • apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/meta-de28b5e0df55c52078065ee2ae0b44d6cdf0da1e-1692x852.png is excluded by !**/*.png
  • apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/159914408-83d5bddb-e3e7-46fa-9d47-f247ce42c68b.jpeg is excluded by !**/*.jpeg
  • apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/amplication-prisma-diagram2.png is excluded by !**/*.png
  • apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/amplication-ui.png is excluded by !**/*.png
  • apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/hero-b1fb9ec0c8fca054011688621bfe51ea1836af10-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/meta-4baa84e48a0da8e13e23367137d5a17515119aaf-2881x1620.png is excluded by !**/*.png
  • apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/hero-9c6258461d73719cebc60136dd4e976d79306dcb-845x475.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/meta-25afee16878423e24c7aff2bb3fe49a433996d03-1200x631.png is excluded by !**/*.png
  • apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/discord-screenshot.png is excluded by !**/*.png
  • apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/hero-7ae00282956a1f6a68f815b4cffee5ee1b1ce934-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/meta-388b596e6a40f7eeaf42604a4645c93dd051af6a-1267x712.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/5YEs4IC.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/YWeTRfU.mp4 is excluded by !**/*.mp4
  • apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/cQRivY4.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/hero-11436ec45c7ccbc812212d1d6d7c8794d9514f2f-1692x852.jpg is excluded by !**/*.jpg
  • apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/kPGJU6j.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/AG34kGB.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/bFUA7LC.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/gqbGz7b.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/hero-34a26858c7de3cad0d84a376d12b58b82ee10da0-1200x630.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/l1Jg54Y.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/hero-d719c9276cc4c57665d4a32cc5fdae5b5bfcad50-1200x630.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/meta-eeacc461f1965ed958af330fc9dc93f635920b43-1200x630.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/hero-1735a3ccb59d21fc0d32410b0b3ac83242fcd020-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/meta-470fec1fa04cf5fccadfadd70b449d857ee62116-1688x948.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/playground-1.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/playground-2.png is excluded by !**/*.png
  • apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/playground-3.png is excluded by !**/*.png
  • apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/hero-807c11a11df0567a4b2ac96a0cac738b916d7416-1692x852.png is excluded by !**/*.png
  • apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/meta-29585f8afef1e4c94930404a027807ca6ec0c2e3-2398x1208.png is excluded by !**/*.png
  • apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/nexus-jsdoc.png is excluded by !**/*.png
  • apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero-c4f6ff1ce0178636ddc08d50f408c042800bac92-1270x714.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/hero-9f73d35216a42b2bb796a971053669fbc90e36ee-846x426.svg is excluded by !**/*.svg
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/meta-9eae0d75afddb1fce65c68320479268f4cdcffd3-1692x852.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/modern-backend-3-auth-flow.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/grading-app-schema.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero-df67ee11927bde800c1ba033b94e182ab3565110-1692x852.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero-d3aa9c3e0b081fe4d675e11574d1bbcf8ea9de46-1692x852.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/modern-backend-4-actions-enable.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/modern-backend-4-actions-tab.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/modern-backend-4-github-new-secret.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/modern-backend-4-github-no-secrets-arrow.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/modern-backend-4-github-secrets.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/modern-backend-4-heroku-api-key.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/modern-backend-4-workflow-run-deploy-job.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/modern-backend-4-workflow-run-details.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/modern-backend-4-workflow-run-test-job.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/modern-backend-4-workflow-run.png is excluded by !**/*.png
  • apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero-21fe21324bb4e62111c88b37b71091676e29f616-1692x852.png is excluded by !**/*.png
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/1-a-first-request.png is excluded by !**/*.png
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/1-b-subsequent.png is excluded by !**/*.png
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/2-a-with-cache.png is excluded by !**/*.png
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/2-a-without-cache.png is excluded by !**/*.png
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/3-a-with-cache.png is excluded by !**/*.png
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/3-a-without-cache.png is excluded by !**/*.png
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/4-a-cache-syncronization.png is excluded by !**/*.png
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/5-a-granularity.png is excluded by !**/*.png
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/6-cache-utilization.png is excluded by !**/*.png
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/7-cache-avalanche.png is excluded by !**/*.png
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/hero-ce90e81e707c3b5735077783e1db72216b8a56dd-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/meta-72680f73691cdf86b51087621b4b0e79ac12fde7-1266x712.png is excluded by !**/*.png
  • apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/hero-0e8c20420d860a393f68694b8bab707306822df3-1692x852.png is excluded by !**/*.png
  • apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/meta-711f2d3f2094907c22c0ef2dd88e69992f950026-2400x1256.png is excluded by !**/*.png
  • apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/svelte-typescript-1.png is excluded by !**/*.png
  • apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/svelte-typescript-2.png is excluded by !**/*.png
  • apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/svelte-typescript-3.png is excluded by !**/*.png
  • apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/svelte-typescript-4.png is excluded by !**/*.png
  • apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/svelte-typescript-5.png is excluded by !**/*.png
  • apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/svelte-typescript-6.png is excluded by !**/*.png
  • apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/svelte-typescript-7.png is excluded by !**/*.png
  • apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/svelte-typescript-8.png is excluded by !**/*.png
  • apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/hero-b404c12ca7de2f9288368dacbce578b790bfd66d-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/meta-50e7e57ea5967ad67ce89e682aca57f5e19fd65a-1266x712.png is excluded by !**/*.png
  • apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/hero-1b0474b02ed0759af1c6e3f3bcba5d4ebb1d970b-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/meta-5ca8711a05c2f835cfce511739e46b5f6df982cd-1266x712.png is excluded by !**/*.png
  • apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/hero-726190b9f3c5c097cc8cfa5dc08581458138758f-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/meta-c3dfb4dc0d8bc7d99b379b6e68668c6135aca53c-1266x711.png is excluded by !**/*.png
  • apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/cockroach-diagram.png is excluded by !**/*.png
  • apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/hero-ebf53ec190dab44f271d4f0dd1ad658507f55b66-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/meta-77148d314c74789939fb2b2af2bf3f82378cebc0-1920x1080.png is excluded by !**/*.png
  • apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/migration.png is excluded by !**/*.png
  • apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/release-notes.png is excluded by !**/*.png
  • apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/statements.png is excluded by !**/*.png
  • apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/0*sPafc6eXHJvRSJhZ.png is excluded by !**/*.png
  • apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/hero-a86c8de527177e03b9e08b9f1f1522dc1debbc6d-559x361.png is excluded by !**/*.png
  • apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/meta-cc730c78d87244cb877764a6a4a850b2c9223871-1200x775.png is excluded by !**/*.png
  • apps/blog/public/coo-announcement-aer1fgviirjb/imgs/hero-c79e2c7b7f4cd64f5be9677d4fab38140809b0f9-1267x711.png is excluded by !**/*.png
  • apps/blog/public/data-platform-static-ips/imgs/hero-f9991a96b6b8ce0fa61dead528141fa1e8b911be-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/data-platform-static-ips/imgs/meta-725058cd14e118302aa8e56bbaf31e46436bfc91-1269x640.png is excluded by !**/*.png
  • apps/blog/public/data-platform-static-ips/imgs/pdp-static-egress-demo.gif is excluded by !**/*.gif
  • apps/blog/public/data-platform-static-ips/imgs/pdp-static-egress-project.gif is excluded by !**/*.gif
  • apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/hero-f388984fa1fe34f5d79d884f6f599c22a4107fa1-846x426.png is excluded by !**/*.png
  • apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/meta-8befd7df92cc32135332ef9c28b41e076e2c8998-1251x630.png is excluded by !**/*.png
  • apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/network-waterfall.png is excluded by !**/*.png
  • apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/server-components-demo.png is excluded by !**/*.png
  • apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/spotify-artist-details.png is excluded by !**/*.png
  • apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/traditional-and-server-components-comparison.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/1fc839965595779722b9fca14e1e517d94aa9726-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/41eccd0c9a716384d9635415e90e434abfda6c58-1692x952.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/Screenshot_2022-07-11_at_16.53.33.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/Screenshot_2022-07-12_at_15.46.25.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/Screenshot_2022-07-12_at_16.11.16.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/Screenshot_2022-07-12_at_16.13.16.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/Screenshot_2022-07-12_at_17.40.23.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/Screenshot_2022-07-12_at_17.41.31.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/Screenshot_2022-07-12_at_17.44.48.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/Screenshot_2022-07-12_at_21.09.08.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/add-database-url.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/create-project.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/name-your-project.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/project-dashboard.png is excluded by !**/*.png
  • apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/set_env_variables_and_deploy.png is excluded by !**/*.png
  • apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/hero-23097a272172cd3791887b9664ecd25e4dc65cff-843x474.svg is excluded by !**/*.svg
  • apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/meta-3155f43f9648d3e4eedd05759f69d6876b72d313-1265x711.png is excluded by !**/*.png
  • apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/hero-2e402be560690da1dd594236284a8efa71a8f82f-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/meta-96de5fd29833ae651da6ecc88c021bb9d84eba1b-1266x711.png is excluded by !**/*.png
  • apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/hero-99f1530d6ebe62110fd2839ba4f0185795ee5db4-1200x630.png is excluded by !**/*.png
  • apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/wJCyxVy.png is excluded by !**/*.png
  • apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/115104730-06d2f780-9f63-11eb-9f82-f7bd75d58558.png is excluded by !**/*.png
  • apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/115109659-bfa72f80-9f7f-11eb-9fde-f995c6f51262.png is excluded by !**/*.png
  • apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/115110406-ef583680-9f83-11eb-9155-753600312788.png is excluded by !**/*.png
  • apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/1_btqXg9fLTExVjRDyrY1vsA.jpeg is excluded by !**/*.jpeg
  • apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/hero-2982f7850de70f0c52daa613dae904b463342823-1692x852.png is excluded by !**/*.png
  • apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/finished-ui.png is excluded by !**/*.png
  • apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/hero-2f58c7e9701e7f9a0250db211bdf5284da11d2d8-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/localhost.png is excluded by !**/*.png
  • apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/messages-displayed.png is excluded by !**/*.png
  • apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/meta-dc0f147b1428391e4b3d0374523d45639d1318a6-1269x715.png is excluded by !**/*.png
  • apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/tailwind-complete.png is excluded by !**/*.png
  • apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/user-displayed.png is excluded by !**/*.png
  • apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/vite-starter.png is excluded by !**/*.png
  • apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/hero-838c88ca3817165045cc051d8845880e5a313baf-844x474.svg is excluded by !**/*.svg
  • apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/meta-06962f83ac8be93c511d0ef6cbc29e2cff49e387-1269x715.png is excluded by !**/*.png
📒 Files selected for processing (154)
  • .gitignore
  • README.md
  • apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx
  • apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx
  • apps/blog/content/blog/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/index.mdx
  • apps/blog/content/blog/ambassador-program-nxkWGcGNuvFx/index.mdx
  • apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx
  • apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx
  • apps/blog/content/blog/announcing-discord-1LiAOpS7lxV9/index.mdx
  • apps/blog/content/blog/announcing-prisma-2-n0v98rzc8br1/index.mdx
  • apps/blog/content/blog/announcing-prisma-2-zq1s745db8i5/index.mdx
  • apps/blog/content/blog/announcing-prisma-day-50cg22nn40qk/index.mdx
  • apps/blog/content/blog/announcing-prisma-playground-xeywknkj0e1p/index.mdx
  • apps/blog/content/blog/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/index.mdx
  • apps/blog/content/blog/announcing-upcoming-course-8s41wdqrlgc7/index.mdx
  • apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/index.mdx
  • apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/index.mdx
  • apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/index.mdx
  • apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/index.mdx
  • apps/blog/content/blog/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/index.mdx
  • apps/blog/content/blog/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/index.mdx
  • apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx
  • apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx
  • apps/blog/content/blog/cloudflare-partnership-qerefgvwirjq/index.mdx
  • apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx
  • apps/blog/content/blog/connections-edges-nodes-in-relay-758d358aa4c7/index.mdx
  • apps/blog/content/blog/coo-announcement-aer1fgviirjb/index.mdx
  • apps/blog/content/blog/data-platform-static-ips/index.mdx
  • apps/blog/content/blog/database-access-in-react-server-components-r2xgk9aztgdf/index.mdx
  • apps/blog/content/blog/database-access-on-the-edge-8F0t1s1BqOJE/index.mdx
  • apps/blog/content/blog/datadx-event-recap-z5pcp6hzbz5m/index.mdx
  • apps/blog/content/blog/datadx-manifesto-ikgyqj170k8h/index.mdx
  • apps/blog/content/blog/datamodel-v11-lrzqy1f56c90/index.mdx
  • apps/blog/content/blog/documenting-apis-mjjpZ7E7NkVP/index.mdx
  • apps/blog/content/blog/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/index.mdx
  • apps/blog/content/blog/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/index.mdx
  • apps/blog/content/blog/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/index.mdx
  • apps/blog/content/blog/e2e-type-safety-graphql-react-4-JaHA8GbkER/index.mdx
  • apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx
  • apps/blog/content/blog/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/index.mdx
  • apps/blog/content/blog/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-oklidw1rhw/index.mdx
  • apps/blog/content/blog/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/index.mdx
  • apps/blog/content/blog/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/index.mdx
  • apps/blog/content/blog/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/index.mdx
  • apps/blog/content/blog/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/index.mdx
  • apps/blog/content/blog/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/index.mdx
  • apps/blog/content/blog/getting-started-with-relay-modern-46f8de6bd6ec/index.mdx
  • apps/blog/content/blog/graphql-directive-permissions-authorization-made-easy-54c076b5368e/index.mdx
  • apps/blog/content/blog/graphql-eu-18-eiw8bishe2di/index.mdx
  • apps/blog/content/blog/graphql-middleware-zie3iphithxy/index.mdx
  • apps/blog/content/blog/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/index.mdx
  • apps/blog/content/blog/graphql-sdl-schema-definition-language-6755bcb9ce51/index.mdx
  • apps/blog/content/blog/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/index.mdx
  • apps/blog/content/blog/graphql-server-basics-the-network-layer-51d97d21861/index.mdx
  • apps/blog/content/blog/graphql-server-basics-the-schema-ac5e2950214e/index.mdx
  • apps/blog/content/blog/graphql-vs-firebase-496498546142/index.mdx
  • apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx
  • apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx
  • apps/blog/content/blog/how-do-graphql-remote-schemas-work-7118237c89d7/index.mdx
  • apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx
  • apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx
  • apps/blog/content/blog/how-prisma-supports-transactions-x45s1d5l0ww1/index.mdx
  • apps/blog/content/blog/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/index.mdx
  • apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx
  • apps/blog/content/blog/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/index.mdx
  • apps/blog/content/blog/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/index.mdx
  • apps/blog/content/blog/improving-performance-with-apollo-query-batching-66455ea9d8b/index.mdx
  • apps/blog/content/blog/improving-prismas-release-process-yaey8deiwaex/index.mdx
  • apps/blog/content/blog/improving-query-performance-using-indexes-1-zuLNZwBkuL/index.mdx
  • apps/blog/content/blog/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/index.mdx
  • apps/blog/content/blog/improving-query-performance-using-indexes-3-kduk351qv1/index.mdx
  • apps/blog/content/blog/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/index.mdx
  • apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx
  • apps/blog/content/blog/jamstack-with-nextjs-prisma-jamstackN3XT/index.mdx
  • apps/blog/content/blog/labelbox-simnycbotiok/index.mdx
  • apps/blog/content/blog/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/index.mdx
  • apps/blog/content/blog/metrics-tutorial-prisma-pmoldgq10kz/index.mdx
  • apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx
  • apps/blog/content/blog/monitoring-best-practices-monitor5g08d0b/index.mdx
  • apps/blog/content/blog/nestjs-prisma-authentication-7D056s1s0k3l/index.mdx
  • apps/blog/content/blog/nestjs-prisma-error-handling-7D056s1kOop2/index.mdx
  • apps/blog/content/blog/nestjs-prisma-relational-data-7D056s1kOabc/index.mdx
  • apps/blog/content/blog/nestjs-prisma-rest-api-7D056s1BmOL0/index.mdx
  • apps/blog/content/blog/nestjs-prisma-validation-7D056s1kOla1/index.mdx
  • apps/blog/content/blog/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/index.mdx
  • apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx
  • apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx
  • apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx
  • apps/blog/content/blog/performance-engineering-aeduv0rei0jk/index.mdx
  • apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx
  • apps/blog/content/blog/prisma-2-beta-b7bcl0gd8d8e/index.mdx
  • apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx
  • apps/blog/content/blog/prisma-adopts-semver-strictly/index.mdx
  • apps/blog/content/blog/prisma-and-graphql-mfl5y2r7t49c/index.mdx
  • apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx
  • apps/blog/content/blog/prisma-client-preview-ahph4o1umail/index.mdx
  • apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx
  • apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx
  • apps/blog/content/blog/prisma-day-2022-announcement-v8t178dsf/index.mdx
  • apps/blog/content/blog/prisma-foss-fund-announcement-XW9DqI1HC24L/index.mdx
  • apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx
  • apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx
  • apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx
  • apps/blog/content/blog/prisma-migrate-preview-b5eno5g08d0b/index.mdx
  • apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx
  • apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx
  • apps/blog/content/blog/prisma-preview-cockroach-db-release/index.mdx
  • apps/blog/content/blog/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/index.mdx
  • apps/blog/content/blog/prisma-raises-series-a-saks1zr7kip6/index.mdx
  • apps/blog/content/blog/prisma-sql-server-support-preview-a4anl2gd8d3a/index.mdx
  • apps/blog/content/blog/prisma-studio-3rtf78dg99fe/index.mdx
  • apps/blog/content/blog/prisma-the-complete-orm-inw24qjeawmb/index.mdx
  • apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx
  • apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx
  • apps/blog/content/blog/relay-moderns-connection-directive-1ecd8322f5c8/index.mdx
  • apps/blog/content/blog/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/index.mdx
  • apps/blog/content/blog/restructure-announcement-1a9ek279du8j/index.mdx
  • apps/blog/content/blog/satisfies-operator-ur8ys8ccq7zb/index.mdx
  • apps/blog/content/blog/series-b-announcement-v8t12ksi6x/index.mdx
  • apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx
  • apps/blog/content/blog/state-of-prisma-2-december-rcrwcqyu655e/index.mdx
  • apps/blog/content/blog/sveltekit-prisma-kvCOEoeQlC/index.mdx
  • apps/blog/content/blog/testing-series-1-8eRB5p0Y8o/index.mdx
  • apps/blog/content/blog/testing-series-2-xPhjjmIEsM/index.mdx
  • apps/blog/content/blog/testing-series-3-aBUyF8nxAn/index.mdx
  • apps/blog/content/blog/testing-series-4-OVXtDis201/index.mdx
  • apps/blog/content/blog/testing-series-5-xWogenROXm/index.mdx
  • apps/blog/content/blog/the-guild-takes-over-oss-libraries-vvluy2i4uevs/index.mdx
  • apps/blog/content/blog/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/index.mdx
  • apps/blog/content/blog/top-5-reasons-to-use-graphql-b60cfa683511/index.mdx
  • apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx
  • apps/blog/content/blog/tracing-tutorial-prisma-pmkddgq1lm2/index.mdx
  • apps/blog/content/blog/try-prisma-announcment-Kv6bwRcdjd/index.mdx
  • apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx
  • apps/blog/content/blog/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/index.mdx
  • apps/blog/content/blog/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/index.mdx
  • apps/blog/content/blog/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/index.mdx
  • apps/blog/content/blog/tweets-for-trees-arboreal/index.mdx
  • apps/blog/content/blog/type-safe-js-with-jsdoc-typeSaf3js/index.mdx
  • apps/blog/content/blog/using-graphql-nexus-with-a-database-pmyl3660ncst/index.mdx
  • apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx
  • apps/blog/content/blog/watch-prisma-day-talks-z11sg6ipb3i1/index.mdx
  • apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx
  • apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx
  • apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx
  • apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx
  • apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx
  • apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx
  • apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx
💤 Files with no reviewable changes (46)
  • apps/blog/content/blog/cloudflare-partnership-qerefgvwirjq/index.mdx
  • apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx
  • apps/blog/content/blog/database-access-on-the-edge-8F0t1s1BqOJE/index.mdx
  • apps/blog/content/blog/coo-announcement-aer1fgviirjb/index.mdx
  • apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx
  • apps/blog/content/blog/data-platform-static-ips/index.mdx
  • apps/blog/content/blog/connections-edges-nodes-in-relay-758d358aa4c7/index.mdx
  • apps/blog/content/blog/announcing-upcoming-course-8s41wdqrlgc7/index.mdx
  • apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/index.mdx
  • apps/blog/content/blog/announcing-prisma-2-zq1s745db8i5/index.mdx
  • apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx
  • apps/blog/content/blog/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/index.mdx
  • apps/blog/content/blog/datadx-event-recap-z5pcp6hzbz5m/index.mdx
  • apps/blog/content/blog/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/index.mdx
  • apps/blog/content/blog/datamodel-v11-lrzqy1f56c90/index.mdx
  • apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx
  • apps/blog/content/blog/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/index.mdx
  • apps/blog/content/blog/documenting-apis-mjjpZ7E7NkVP/index.mdx
  • apps/blog/content/blog/datadx-manifesto-ikgyqj170k8h/index.mdx
  • apps/blog/content/blog/database-access-in-react-server-components-r2xgk9aztgdf/index.mdx
  • apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx
  • apps/blog/content/blog/announcing-prisma-2-n0v98rzc8br1/index.mdx
  • apps/blog/content/blog/announcing-discord-1LiAOpS7lxV9/index.mdx
  • apps/blog/content/blog/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/index.mdx
  • apps/blog/content/blog/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/index.mdx
  • apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/index.mdx
  • apps/blog/content/blog/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/index.mdx
  • apps/blog/content/blog/announcing-prisma-playground-xeywknkj0e1p/index.mdx
  • apps/blog/content/blog/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/index.mdx
  • apps/blog/content/blog/e2e-type-safety-graphql-react-4-JaHA8GbkER/index.mdx
  • apps/blog/content/blog/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/index.mdx
  • apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx
  • apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/index.mdx
  • apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/index.mdx
  • apps/blog/content/blog/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/index.mdx
  • apps/blog/content/blog/announcing-prisma-day-50cg22nn40qk/index.mdx
  • apps/blog/content/blog/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/index.mdx
  • apps/blog/content/blog/fullstack-nextjs-graphql-prisma-oklidw1rhw/index.mdx
  • apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/index.mdx
  • apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx
  • apps/blog/content/blog/ambassador-program-nxkWGcGNuvFx/index.mdx
  • apps/blog/content/blog/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/index.mdx
✅ Files skipped from review due to trivial changes (1)
  • .gitignore

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant